Ich habe den Kernel unserer Ubuntu-Server aktualisiert, seit sie einen Patch für die Meltdown-Schwachstelle veröffentlicht haben. Ich habe das so ziemlich auf allen Servern bemerkt, nach dem Neustart muss ich apt autoremove
ausführen zweimal, um alle alten Kernel zu bereinigen, die sich noch auf dem System befinden.
Wenn ich es das erste Mal starte, entfernt es zunächst zwei alte Versionen des Kernels:
% 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.
Aber dann, nachdem es fertig ist, führe ich apt autoremove
aus wieder entfernt es noch eine ältere Version:
% 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.
Ich frage mich, warum kann es das nicht in einem Lauf tun?
Akzeptierte Antwort:
Die Betreuerskripte des Kernels, insbesondere /etc/kernel/postinst.d/apt-auto-removal
, erstellen Sie eine Liste der zu behaltenden Kernel, gespeichert als APT-Konfiguration in /etc/apt/apt.conf.d/01autoremove-kernels
. Dieser Prozess behält den aktuell laufenden Kernel, den konfigurierten Kernel und die zwei zuletzt installierten Kernel bei.
Vermutlich das letzte Mal, als das Skript vor Ihrer ersten Bereinigung ausgeführt wurde, -96
wurde geschützt, weil es in eine dieser Kategorien fiel. Nach Ihrer ersten Reinigung tat es das nicht mehr und wurde ein Kandidat für die Entfernung. Wenn Sie herausfinden möchten, warum , die 01autoremove-kernels
Datei enthält Debug-Informationen; Ein Blick vor und nach der ersten Bereinigung sollte zeigen, warum verschiedene Kernel-Versionen geschützt sind.
Die automatische Kernel-Entfernung ist absichtlich konservativ und geht auf Nummer sicher. Sie können dies automatisch (eventuell) mit unattended-upgrades
erledigen; Einzelheiten finden Sie im Ubuntu-Wiki.