현재 사용 중인 커널 패키지를 제외한 모든 커널 패키지 제거

현재 사용 중인 커널 패키지를 제외한 모든 커널 패키지 제거

사용하지 않는 다른 커널을 모두 자동으로 제거하려면 어떻게 해야 합니까?

그래서 이것이 내 상황입니다.

  • 다양한 버전의 Ubuntu/CentOS 사용
  • 자동 업데이트가 켜져 있습니다. -> Linux는 많은 새로운 커널 버전을 다운로드합니다.
  • 이제 현재 사용 중인 버전을 제외한 다른 모든 커널 버전을 제거하고 싶습니다.

암호:

#find out current kernel version:
uname -r

#check which versions are downloaded to computer
dpkg --get-selections | grep linux-image

#delete desired kernel
sudo apt-get purge [KERNEL]

#autoremove
sudo apt-get autoremove

Linux에는 쉽게 15개가 넘는 코어가 있으며, 저는 50개가 넘는 Linux를 살펴보아야 했습니다.

답변1

Ubuntu에서는 purge-old-kernels이전 커널 제거를 사용하여 설치할 수 있습니다.

우분투 16.04의 경우

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F430BBA5
sudo add-apt-repository ppa:byobu/ppa
sudo apt-get update
sudo apt-get install byobu

다음을 추가하지 않고도 설치할 수 있습니다 ppa.sudo apt-get install byobu

16.04보다 낮은 Ubuntu 버전의 경우

sudo add-apt-repository ppa:bikeshed/ppa
sudo apt-get update
sudo apt-get install bikeshed

최신 2개의 코어를 유지하려면 다음 명령을 실행하십시오.

sudo purge-old-kernels

n예약할 코어 수를 지정할 수 있습니다 .

sudo purge-old-kernels --keep n

n=1:

sudo purge-old-kernels --keep 1

centOS에 패키지를 설치합니다 yum-utils.

yum install yum-utils

최신 n커널을 유지하려면 다음을 실행하세요.

package-cleanup --oldkernels --count=n

n=1:

package-cleanup --oldkernels --count=1

답변2

Centos 8 이상의 경우 다음 명령을 사용할 수 있습니다.

dnf remove --oldinstallonly

그러면 이전 버전의 커널이 모두 제거됩니다. 갖고 싶을때 사용하세요최신만설치된 커널의 배포 버전입니다.

내 원래 대답은 다음과 같습니다.https://unix.stackexchange.com/a/628434/145515

답변3

이 명령은 모든 주요 버전 4 커널 이미지와 헤더를 제거하지만 실행 중인 커널 이미지와 헤더는 제거하지 않습니다.

apt purge $(dpkg-query -W -f='${binary:Package}\n' 'linux-image-4*' 'linux-headers-4*' | grep -v $(uname -r))

답변4

다음 명령을 시도해 볼 수 있습니다. apt-get purge를 실행하기 전에 grep의 출력에 현재 커널 버전이 포함되어 있지 않은지 다시 확인하십시오.

dpkg --list | grep linux-image | awk '{print $2}' | grep -v linux-image-`uname -r` | xargs apt-get purge

관련 정보