{{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor:Einen Editor verwenden] optional }}} [[Inhaltsverzeichnis(1)]] Betreibt man ein Ubuntu-System über einen längeren Zeitraum, so häufen sich die verschiedenen Kernel-Versionen an. Da ein [:Kernel:] zusammen mit Header-Dateien und Kernel-Modulen einiges an Platz auf der Festplatte belegen kann (ca. 200 MiB), sollte man im Rahmen der [:Systempflege:] bei Gelegenheit ältere Kernelversionen, die man nicht mehr nutzt, von Hand deinstallieren. Besonders wichtig ist das bei verschlüsselten Systemen, die für '''/boot''' eine eigene Partition nutzen: ist diese voll belegt, können Kernel-Aktualisierungen nicht mehr automatisch installiert werden. Zum Entfernen nicht mehr benötigter Kernel gibt es mehrere Möglichkeiten. Wenn die [:Kernel#Kernel-deinstallieren:Standard-Methoden] nicht zum gewünschten Ergebnis führen und sehr viele alte Kernel vorhanden sind, dann ist es relativ zeitaufwendig, diese einzeln zu entfernen. Hier kann die folgende Anleitung weiterhelfen. = Voraussetzungen = Zuerst ermittelt man den aktiven Kernel, damit dieser nicht versehentlich entfernt wird: {{{#!vorlage Befehl uname -a }}} = Zu entfernende Kernel ermitteln = Mit dem Befehl [1]: {{{#!vorlage Befehl dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | tee zu_entfernende_Kernel }}} werden alle alten Kernel einschließlich der Header-Dateien bis auf den aktuellen aufgelistet sowie eine Kopie dieser Liste in der Datei '''zu_entfernende_Kernel''' gespeichert. = Deinstallation alter Kernel == Die Deinstallation der veralteten Kernel-Versionen leitet man nun mittels {{{#!vorlage Befehl cat zu_entfernende_Kernel | xargs sudo apt-get -y purge }}} ein, um das System von nicht mehr benötigten Kernel-Versionen zu bereinigen. Nach erfolgter Deinstallation wird die temporär angelegte Liste gelöscht: {{{#!vorlage Befehl rm zu_entfernende_Kernel }}} = Bestimmte Kernel behalten = Möchte man mehrere der aufgelisteten Kernel behalten, um z.B. im Notfall auf bestimmte stabil laufende Kernel zurückgreifen zu können, öffnet man die erzeugte Liste '''zu_entfernende_Kernel''' mit einem Editor [2] und entfernt dort die Einträge derjenigen Kernel-Versionen, welche man behalten möchte. Hierbei ist zu beachten, dass zu einer Kernel-Version in der Regel mehrere Einträge gehören. Enthält die Liste schließlich nur noch Kernel-Versionen, welche man entfernen möchte, speichert man sie und verlässt den Editor. = Kein Speicherplatz mehr frei = In der Praxis kann es auch zu folgendem Sonderfall kommen: Es sollen Aktualisierungen installiert werden, aber auf der separaten [:Manuelle_Partitionierung#Vorueberlegungen:/boot-Partition] ist kein Speicherplatz mehr frei oder es sind keine freien Inodes mehr vorhanden. Die Paketverwaltung [:APT:] meldet beim Versuch, einen älteren Kernel zu deinstallieren, folgenden Fehler: {{{ gzip: stdout: No space left on device }}} Nicht mehr benötigte Kernel sollten dann mittels [:dpkg:] entfernt werden. Dazu ermittelt man zunächst die nicht mehr benötigten Kernelversionen: {{{#!vorlage Befehl dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' }}} Nach Prüfung können die Kernelversionen dann entfernt werden: {{{#!vorlage Befehl dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo dpkg -P }}} Anschließend sollte noch kontrolliert werden, ob ggf. fehlerhafte oder unvollständig installierte Pakete vorhanden sind: {{{#!vorlage Befehl dpkg -l linux-[ihs]* | sed '1,6d'| grep -vE '^ii|^un|^rc' }}} Falls die Ausgabe nicht leer ist, sollten die fehlenden/unkonfigurierten Pakete mittels: {{{#!vorlage Befehl sudo apt-get -f install }}} nachinstalliert werden. Je nachdem, wie lange bereits keine Aktualisierungen mehr eingespielt werden können, kann es vorkommen, dass nach der getätigten Aktualisierung erneut kein Speicherplatz mehr zur Verfügung steht. Dann sollten die aufgeführten Schritte wiederholt werden. {{{#!vorlage Hinweis In manchen Situationen (keine Inodes frei) können mit `dpkg` keine Pakete entfernt werden. Wie man dann Abhilfe schafft, steht im Artikel [:Festplatten_Problembehebung#Dateisystem-voll:]. }}} = Links = * [:Kernel:] - Hauptartikel # tag: System, Desktop, Server, Kernel