웹사이트 검색

데비안과 우분투에서 사용하지 않는 오래된 커널을 삭제하는 방법


지난 기사에서는 CentOS/RHEL/Fedora에서 사용하지 않는 오래된 커널을 삭제하는 방법을 설명했습니다. 이 기사에서는 Debian 및 Ubuntu 시스템에서 사용하지 않는 오래된 커널을 삭제하는 방법을 설명합니다. 하지만 더 진행하기 전에 보안 수정, 새로운 커널 기능, 업데이트된 드라이버 등을 활용하려면 최신 버전을 설치하는 것이 좋습니다. 훨씬 더.

Ubuntu 및 Debian에서 커널을 최신 버전으로 업그레이드하려면 다음 가이드를 따르세요.

  1. Ubuntu에서 커널을 최신 버전으로 업그레이드하는 방법

중요: 업데이트에 문제가 있을 경우를 대비해 최소한 하나 또는 두 개의 이전 커널을 유지하는 것이 좋습니다.

시스템에서 실행 중인 Linux 커널의 현재 버전을 확인하려면 다음 명령을 사용하십시오.

uname -sr

Linux 4.12.0-041200-generic

시스템에 설치된 모든 커널을 나열하려면 다음 명령을 실행하십시오.

dpkg -l | grep linux-image | awk '{print$2}'

linux-image-4.12.0-041200-generic
linux-image-4.8.0-22-generic
linux-image-extra-4.8.0-22-generic
linux-image-generic

Debian 및 Ubuntu에서 사용하지 않는 오래된 커널 제거

아래 명령을 실행하여 구성 파일과 함께 특정 linux-image를 제거한 다음 grub2 구성을 업데이트하고 마지막으로 시스템을 재부팅하십시오.

sudo apt remove --purge linux-image-4.4.0-21-generic
sudo update-grub2
sudo reboot
[sudo] password for tecmint: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  linux-generic linux-headers-4.8.0-59 linux-headers-4.8.0-59-generic linux-headers-generic linux-image-4.8.0-59-generic linux-image-extra-4.8.0-59-generic linux-image-generic
Suggested packages:
  fdutils linux-doc-4.8.0 | linux-source-4.8.0 linux-tools
Recommended packages:
  thermald
The following packages will be REMOVED:
  linux-image-4.8.0-22-generic* linux-image-extra-4.8.0-22-generic*
The following NEW packages will be installed:
  linux-headers-4.8.0-59 linux-headers-4.8.0-59-generic linux-image-4.8.0-59-generic linux-image-extra-4.8.0-59-generic
The following packages will be upgraded:
  linux-generic linux-headers-generic linux-image-generic
3 upgraded, 4 newly installed, 2 to remove and 182 not upgraded.
Need to get 72.0 MB of archives.
After this operation, 81.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-headers-4.8.0-59 all 4.8.0-59.64 [10.2 MB]
Get:2 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-headers-4.8.0-59-generic amd64 4.8.0-59.64 [811 kB]                                                               
Get:3 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-generic amd64 4.8.0.59.72 [1,782 B]                                                                               
Get:4 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-headers-generic amd64 4.8.0.59.72 [2,320 B]                                                                       
Get:5 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-image-4.8.0-59-generic amd64 4.8.0-59.64 [23.6 MB]                                                                
Get:6 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-image-extra-4.8.0-59-generic amd64 4.8.0-59.64 [37.4 MB]                                                          
Get:7 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-image-generic amd64 4.8.0.59.72 [2,348 B]                                                                         
Fetched 72.0 MB in 7min 12s (167 kB/s)                                                                                                                                                       
Selecting previously unselected package linux-headers-4.8.0-59.
(Reading database ... 104895 files and directories currently installed.)
Preparing to unpack .../0-linux-headers-4.8.0-59_4.8.0-59.64_all.deb ...
Unpacking linux-headers-4.8.0-59 (4.8.0-59.64) ...
Selecting previously unselected package linux-headers-4.8.0-59-generic.
Preparing to unpack .../1-linux-headers-4.8.0-59-generic_4.8.0-59.64_amd64.deb ...
Unpacking linux-headers-4.8.0-59-generic (4.8.0-59.64) ...
Preparing to unpack .../2-linux-generic_4.8.0.59.72_amd64.deb ...
Unpacking linux-generic (4.8.0.59.72) over (4.8.0.22.31) ...
Preparing to unpack .../3-linux-headers-generic_4.8.0.59.72_amd64.deb ...
Unpacking linux-headers-generic (4.8.0.59.72) over (4.8.0.22.31) ...
Selecting previously unselected package linux-image-4.8.0-59-generic.
Preparing to unpack .../4-linux-image-4.8.0-59-generic_4.8.0-59.64_amd64.deb ...
Done.
Removing linux-image-4.8.0-22-generic (4.8.0-22.24) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.8.0-22-generic /boot/vmlinuz-4.8.0-22-generic
update-initramfs: Deleting /boot/initrd.img-4.8.0-22-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.8.0-22-generic /boot/vmlinuz-4.8.0-22-generic
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.12.0-041200-generic
Found initrd image: /boot/initrd.img-4.12.0-041200-generic
Found linux image: /boot/vmlinuz-4.8.0-59-generic
done
...

이 방법은 잘 작동하지만 유지할 커널 수 지정과 같은 유용한 옵션과 함께 위의 모든 명령을 단일 프로그램으로 결합하는 "byobu"라는 편리한 스크립트를 사용하는 것이 더 안정적이고 효율적입니다. 시스템에서.

시스템에서 오래된 커널과 헤더 패키지를 제거하는 데 사용되는 purge-old-kernels라는 프로그램을 제공하는 byobu 스크립트 패키지를 설치합니다.

sudo apt install byobu

그런 다음 이전 커널을 다음과 같이 제거합니다(아래 명령을 사용하면 시스템에 2개의 커널을 유지할 수 있습니다).

sudo purge-old-kernels --keep 2

Linux 커널에 관한 다음 관련 기사를 읽어볼 수도 있습니다.

  1. Linux에서 커널 모듈을 로드 및 언로드하는 방법
  2. 지속적 및 비영구적 방식으로 커널 런타임 매개변수를 변경하는 방법

이 기사에서는 Ubuntu 및 Debian 시스템에서 사용하지 않는 오래된 커널 이미지를 제거하는 방법을 설명했습니다. 아래의 피드백을 통해 어떤 생각이라도 공유할 수 있습니다.