구성 파일을 genkernel로 파이프

구성 파일을 genkernel로 파이프

저는 젠투 사용자이고 새 커널이 나올 때 커널 구성 파일을 복사하는 데 약간 지쳤습니다. 구성 파일을 genkernel에 직접 파이프하는 것이 가능한지 궁금합니다. 이 같은:

sudo genkernel --install --clean --kernel-config=$(gunzip/proc/config.gz) --menuconfig all

아니면 이거:

zcat /proc/config.gz | sudo genkernel --install --clean --kernel-config=- --menuconfig all

하지만 파이프/쉘 스크립팅에 능숙하지 않기 때문에 작동시킬 수 없습니다. 어떤 아이디어가 있나요?

편집 : $(gunzip /proc/config.gz)그것을 사용하여 말하십시오 gzip: /proc/config: No such file or directory. 하지만 zcat /proc/config.gz내 설정이 모두 인쇄되기 때문에 이것은 잘못된 것입니다.

답변1

쉘 호출이 잘못되었습니다.

$(gunzip /proc/config.gz)-> /proc/config.gz를 /proc/config로 변경하려고 시도합니다. stdout으로 아무 것도 전송되지 않지만 이 경우 새 파일이 생성될 수 없기 때문에 stderr가 실행됩니다 /proc(예 no such file or directory error: ).

genkernel파일 설명자를 읽도록 구성에 지시해야 합니다 (바로 가기를 표준 입력으로 지원하지 않음). 따라서 두 가지 옵션이 있습니다.-

  1. 관로:
zcat /proc/config.gz | zcat /proc/config.gz | sudo genkernel --install \
--clean --kernel-config=/dev/stdin --menuconfig 모두
  1. 프로세스 대안:
sudo genkernel --install --clean \
--kernel-config=<(zcat /proc/config.gz) --menuconfig 모두

/etc/kernels/나는 후자를 추천하지만, 기본적으로 genkernel은 모든 커널 구성을 다음 위치에 저장 하고 거기에서 가져올 수 있다는 점도 지적하고 싶습니다 :

sudo genkernel --install --clean \
--kernel-config=/etc/kernels/kernel-config-$(uname -m)-$(uname -r) \
--메뉴 구성 전체

(구성 옵션을 변경하고 동일한 커널을 다시 빌드하면 의도적으로 해당 디렉터리의 이전 파일을 덮어쓰게 됩니다.)

관련 정보