자동으로 제거되기 전에 기본적으로 4 개의 Linux 커널을 / boot에 유지하는 방법


12

나는 파고 들었고 커널을 자동으로 정리 /etc/kernel/postinst.d/apt-auto-removal하고 파일 상태를 알았습니다 .

# In the common case this results in two kernels saved (booted into the
# second-latest kernel, we install the latest kernel in an upgrade), but
# can save up to four. Kernel refers here to a distinct release, which can
# potentially be installed in multiple flavours counting as one kernel.

그러나 그 스크립트는 내 머리 위에 있으며 마지막 4 커널 이외의 것을 자동 청소하는 방법을 쉽게 찾을 수 없습니다.


여러 곳에서 스크립트를 수정해야하며 다른 방법은 없습니다. 원하는 경우 apt패키지 에 "wishlist"버그 보고서를 제출하여 커널 수를 사용자 정의 할 수 있습니다.
fkraiem

2
인용 한 부분에서 "4"는 "현재 부팅 된 버전", "우리가 호출 한 커널 버전", "최신 커널 버전"및 "두 번째 최신 커널 버전"과 같은 비정상적인 경우를 나타냅니다. 모든 버전이 유지되므로 모두 고유합니다. 그러나 일반적인 경우에는 "현재 부팅 된 버전"과 "두 번째 최신 커널 버전"이 동일하고 다른 두 버전도 동일하기 때문에 2 개로 줄어 듭니다.
fkraiem

답변:


12

"최대 4 개"라는 말의 의미는 현재 실행중인 현재 설치된 최신 버전과 이전 버전이 모두 다를 수 있으므로 4 개의 버전이 자동으로 유지되는 것입니다 (최소 2 개 이상). 코드의이 부분을보십시오 :

debkernels="$(echo "$latest_version
$installed_version
$running_version
$previous_version" | sort -u | sed -e '/^$/ d')"

오래된 커널을 저장하는 가장 간단한 방법 $previous_version은 목록 으로 확장하는 것 입니다. 대신에:

previous_version="$(echo "$debverlist" | sed -n 2p)"

하다:

previous_version="$(echo "$debverlist" | sed -n 2,4p)"

예, 작동하는 것처럼 보입니다. 파일은 apt패키지의 일부 apt이므로 업그레이드 시 기본 파일 로 되돌릴 수 있습니다 .
fkraiem

파일에 @fkraiem /etc(적어도, 사용자가 그들에 대해 묻는 메시지가 표시됩니다, 또는)는 아마도 설정 화일의 변경이 보존되어야하므로,
muru

1
예, 아래의 모든 파일 /etc은 conffile이지만 "keep or replace?"상태에서 사용자가 종종 혼란스러워하는 것 같습니다. 질문 팝업 ...
fkraiem

1
나는 혼동하지 않을 것이다 ... @fkraiem
Fabby

apt는 여전히 불평 The following packages were automatically installed and are no longer required: linux-headers-4.10.0-38 linux-headers-4.10.0-38-generic linux-image-4.10.0-38-generic linux-image-extra-4.10.0-38-generic linux-signed-image-4.10.0-38-generic Use 'sudo apt autoremove' to remove them. 하지만 실행 파일이므로 걱정하지 말고 대답에 맞게 질문을 수정했습니다. :-)
Fabby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.