Ricerca nel sito web

Come eliminare i vecchi kernel inutilizzati in Debian e Ubuntu


Nel nostro ultimo articolo, abbiamo spiegato come eliminare i vecchi kernel inutilizzati in CentOS/RHEL/Fedora. In questo articolo spiegheremo come eliminare i vecchi kernel inutilizzati nei sistemi Debian e Ubuntu, ma prima di procedere oltre, potresti voler installare l'ultima versione per sfruttare: correzioni di sicurezza, nuove funzioni del kernel, driver aggiornati e così via. molto di piu.

Per aggiornare il tuo kernel all'ultima versione in Ubuntu e Debian, segui questa guida:

  1. Come aggiornare il kernel all'ultima versione in Ubuntu

Importante: è consigliabile conservare almeno uno o due vecchi kernel a cui ricorrere nel caso in cui si verifichi un problema con un aggiornamento.

Per scoprire la versione corrente del kernel Linux in esecuzione sul tuo sistema, utilizza il seguente comando.

uname -sr

Linux 4.12.0-041200-generic

Per elencare tutti i kernel installati sul tuo sistema, emetti questo comando.

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

Rimuovi i vecchi kernel inutilizzati su Debian e Ubuntu

Esegui i comandi seguenti per rimuovere una particolare immagine-linux insieme ai suoi file di configurazione, quindi aggiorna la configurazione di grub2 e infine riavvia il sistema.

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
...

Sebbene questo metodo funzioni bene, è più affidabile ed efficiente utilizzare un pratico script chiamato “byobu” che combina tutti i comandi sopra elencati in un unico programma con opzioni utili come specificare il numero di kernel da conservare sul sistema.

Installa il pacchetto di script byobu che fornisce un programma chiamato purge-old-kernels utilizzato per rimuovere i vecchi kernel e i pacchetti header dal sistema.

sudo apt install byobu

Quindi rimuovi i vecchi kernel in questo modo (il comando seguente consente di mantenere 2 kernel sul sistema).

sudo purge-old-kernels --keep 2

Potrebbe interessarti anche leggere questi seguenti articoli correlati sul kernel Linux.

  1. Come caricare e scaricare i moduli del kernel in Linux
  2. Come modificare i parametri di runtime del kernel in modo persistente e non persistente

In questo articolo abbiamo descritto come rimuovere le vecchie immagini del kernel inutilizzate sui sistemi Ubuntu e Debian. Puoi condividere qualsiasi pensiero tramite il feedback dal basso.