저는 젠투 사용자이고 새 커널이 나올 때 커널 구성 파일을 복사하는 데 약간 지쳤습니다. 구성 파일을 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
파일 설명자를 읽도록 구성에 지시해야 합니다 (바로 가기를 표준 입력으로 지원하지 않음). 따라서 두 가지 옵션이 있습니다.-
- 관로:
zcat /proc/config.gz | zcat /proc/config.gz | sudo genkernel --install \ --clean --kernel-config=/dev/stdin --menuconfig 모두
- 프로세스 대안:
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) \ --메뉴 구성 전체
(구성 옵션을 변경하고 동일한 커널을 다시 빌드하면 의도적으로 해당 디렉터리의 이전 파일을 덮어쓰게 됩니다.)