Ho aggiornato il kernel dei nostri server Ubuntu da quando hanno rilasciato una patch per la vulnerabilità Meltdown. Ho notato che praticamente su tutti i server, dopo il riavvio devo eseguire apt autoremove
due volte per ripulire tutti i vecchi kernel che sono ancora sul sistema.
Se lo eseguo la prima volta, all'inizio rimuove due vecchie versioni del kernel:
% sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-headers-4.4.0-103 linux-headers-4.4.0-103-generic linux-headers-4.4.0-104 linux-headers-4.4.0-104-generic linux-image-4.4.0-103-generic linux-image-4.4.0-104-generic
linux-image-extra-4.4.0-103-generic linux-image-extra-4.4.0-104-generic
0 upgraded, 0 newly installed, 8 to remove and 2 not upgraded.
After this operation, 596 MB disk space will be freed.
Ma poi, dopo averlo fatto, eseguo apt autoremove
di nuovo, rimuove ancora una versione precedente:
% sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-headers-4.4.0-96 linux-headers-4.4.0-96-generic linux-image-4.4.0-96-generic linux-image-extra-4.4.0-96-generic
0 upgraded, 0 newly installed, 4 to remove and 2 not upgraded.
After this operation, 298 MB disk space will be freed.
Mi chiedo, perché non può farlo in una corsa?
Risposta accettata:
Gli script di manutenzione del kernel, in particolare /etc/kernel/postinst.d/apt-auto-removal
, crea un elenco di kernel da conservare, archiviato come configurazione APT in /etc/apt/apt.conf.d/01autoremove-kernels
. Questo processo mantiene il kernel attualmente in esecuzione, il kernel in fase di configurazione e gli ultimi due kernel installati.
Presumibilmente l'ultima volta che lo script è stato eseguito prima della prima pulizia, -96
è finito protetto perché rientrava in una di quelle categorie. Dopo la tua prima pulizia non ha più funzionato ed è diventato un candidato per la rimozione. Se vuoi capire perché , i 01autoremove-kernels
il file contiene informazioni di debug; esaminarlo prima della prima pulizia, e di nuovo dopo, dovrebbe rivelare il motivo per cui varie versioni del kernel sono protette.
La rimozione automatica del kernel è volutamente conservativa ed è un errore sul lato della cautela. Puoi gestirlo automaticamente (eventualmente) usando unattended-upgrades
; vedere la wiki di Ubuntu per i dettagli.