Eliminare i vecchi kernel in Ubuntu e Linux Mint: purge-old-kernels

La procedura di aggiornamento del kernel di un sistema Ubuntu o distribuzione derivata, come Linux Mint, mantiene su disco le precedenti versioni con la conseguente occupazione di notevole spazio. Eliminare le vecchie versioni kernel non più utili è il primo passo per liberare spazio dal disco. Metodi alternativi e l'utility purge-old-kernels.

Qualunque sia il metodo utilizzato per rimuovere i vecchi kernel presenti nel sistema è, anzitutto, opportuno conoscere la versione attualmente utilizzata per evitare la sua accidentale rimozione!. A tal fne si potrà leggere la versione kernel dallo strumento di Informazioni di Sistema oppure semplicemente eseguendo il comando da Terminale:

uname -mrs

si otterrà, ad esempio, in risposta:

Linux 4.10.0-42-generic x86_64

Prima di procedere alla pulizia del sistema dai vecchi kernel, oltre a prendere nota del kernel utilizzato, non dimentichiamo che è sempre buona norma mantenere almeno una versione precedente che potrà essere utilizzata all'avvio del sistema se la nuova verisone dovesse causare problemi. Fatte le dovute raccomandazioni, per la rimozione dei vecchi kermel si potrà seguire uno dei seguenti metodi alternativi.

a) Rimozione dal Gestore Aggiornamenti di Linux Mint

Utilizzando il Gestore Aggiornamenti di Linux Mint è possibile conoscere tutti i kernel presenti nel sistema: menù Visualizza > Kernel Linux. Selezionando uno dei kernel installati comparirà il pulsante per la sua rimozione (il pulsante Rimuovi è giustamente disabilitato per il kernel attivo!). Dato che i kernel potranno essere rimossi singolarmente, la procedura può risultare poco pratica in quelle situazioni in cui sono presenti nel sistema più versioni obsolate da eliminare.

PCpercaso.com :: Linux Mint - Gestore aggiornamenti. Linux Mint - Gestore aggiornamenti.

b) Rimozione da comandi nel Terminale

Lo strumento a linea di comando apt-get per la gestione dei pacchetti, dispone dei comandi per la rimozione automatica dei pacchetti non utilizzati (autoremove) e degli archvi temporanei dei pacchetti scaricati (autoclean). I comandi, quindi, possono essere utilizzati per la rimozione dei vecchi kernel:

sudo apt-get autoremove
sudo apt-get autoclean

Ma con l'impiego di questi comandi non sempre si riesce a fare una pulizia completa dei vecchi kernel. Inoltre sarà eliminata anche la versione precedente a quella del kernel attivo che, come dicevamo, è sempre bene mantenere.

c) Rimozione da Gestore pacchetti

Dal Gestore pacchetti Synaptic di Ubuntu e derivate, selezionare il tipo di pacchetto “Installato”, quindi, ricercare tramite la casella di ricerca tutte le “linux-image” installate, selezionare le versioni che si intende rimuovere, cliccare col pulsante destro del muose e selezionare “Rimuovi completamente”. Ripetere l’operazione effettuando la ricerca sui “linux-header” per eliminare anche gli header associati alle immagini kernel precedentemente scelti.

PCpercaso.com :: Gestore pacchetti. Gestore pacchetti Synaptic.

d) Rimozione da Stacer > Uninstaller

Stacer è l'utility Linux per il monitoraggio delle risorse, pulizia ed ottimizzazione del sistema Linux che abbiamo già presentato nelle nostre pagine. Per rimuovere i vecchi kernel si utilizzerà l’Uninstaller dei Pacchetti di Stacer. Come per il Gestore pacchetto synaptic, effettuare la ricerca per “linux-image” installati, quindi selezionare le versioni che si intende rimuovere e cliccare su “Uninstall Selected”; ripetere l’operazione effettuando la ricerca sui “linux-header”.
Il problema della rimozione tramite Synaptic o Stacer è che si corre il rischio di eliminare il kernel in uso e di non mantenere almeno un kernel di versione precedente.

PCèercaso.com :: Stacer - Uninstaller Stacer - Uninstaller.

e) Rimozione tramite purge-olf-kernels (consigliato)

La soluzione definitiva al problema della rimozione dei vecchi kernel, che supera gli inconvenenti riscontrati nei precedenti metodi descritti, ci è offerta dall'utility purge-old-kernels sviluppata da Dustin Kirkland, responsabile del Product Development Team di Ubuntu.
Il pregio di questa utility è che, con un solo comando, saranno eliminati tutti i kernel ed i relativi headers non utilizzati dal sistema ad eccezione della versione immediatamente precedente a quella attualmente in uso.
L’utility purge-old-kernel fa parte del pacchetto byobu, l'applicazione che consente l'esecuzione di shell multiple in un unico terminale. Per utilizzare l'utility, allora, occorre installare i pacchetti:

sudo apt-get install -y bikeshed byobu

Per rimuovere i kernel non utilizzati basta eseguire il comando:

sudo purge-old-kernels
PCpercaso.com :: purge-old-kernels purge-old-kernels.

Come già detto, al termine della procedura saranno mantenuti nel sistema le ultime due versioni kernel: quella utilizzata e quella precedente. Per mantenere più di una versione precedente basta utilizzare l'opzione --keep. Ad esempio, con il comando:

sudo purge-old-kernels --keep 3 -qy

saranno mantenute le ultime tre versioni kernel: quella in uso e le due precedenti.

Alla fine noterete come grazie alla rimozione dei kernel non più utili avrete liberato un bel po di spazio (centinaia di MB o qualche GB!) su disco!

Ulteriori informazioni e fonti: