Ubuntu von alter und unbenutzter Software befreien

Aus EasyLinux 04/2011

Ubuntu von alter und unbenutzter Software befreien

© Arthur Fatykhov, 123RF

Frühjahrsputz

Ubuntu-Systeme werden sehr regelmäßig aktualisiert. Bei Upgrades von einer Version auf die nächste bleiben viele Pakete auf dem System, die Sie nicht mehr benötigen. Wir helfen Ihnen dabei, den Ballast loszuwerden.

Die Debian-Distribution genießt nicht zuletzt deshalb einen sehr guten Ruf, weil ihre Entwickler penibel darauf achten, dass Upgrades von einer Version auf die nächste Problemlos möglich sind, ohne das System neu zu installieren. Die verschiedenen Debian-Derivate, darunter Ubuntu, erben diesen Vorteil: Auch ein Ubuntu-System lässt sich ohne großes Aufsehen mehrere Male auf die jeweils nächste Version bringen.

Bei solchen Updates entsteht allerdings ein Problem: Pakete, die für ein Programm in der alten Version der Distribution notwendig waren, werden häufig in der neuen Version nicht mehr gebraucht. Besonders betroffen sind davon naturgemäß Bibliothekspakete, aber auch “normale” Programmpakete kann dieses Schicksal ereilen. Wenn der Effekt nach ein paar System-Upgrades mehrere Male stattgefunden hat, haben Sie als Nutzer einen ganzen Friedhof von nicht länger benötigten Paketen auf dem System. Der Haken: All diese Pakete sind in der Paketverwaltung Ihres Systems nach wie vor vorhanden. Sie sorgen dafür, dass die lokale Paketdatenbank immer größer wird und der Paketmanager immer länger damit beschäftigt ist, die Datenbank zu verwalten. Möglicherweise ist auch Ihnen schon aufgefallen, dass es auf Ihrem Ubuntu-System mit der Zeit immer länger dauert, neue Pakete zu installieren.

Den Debian- und Ubuntu-Entwicklern ist dieses Problem bekannt, und es gibt Lösungen. Dabei stehen drei Werkzeuge im Mittelpunkt:

  • Mittels deborphan machen Sie Pakete ausfindig, von denen kein anderes installiertes Paket im System mehr abhängt und die nicht händisch und ausdrücklich von Ihnen mit der System-Paketverwaltung installiert worden sind.
  • Mit dem Paketmanager dpkg entfernen Sie Konfigurationsdateien von Paketen, die deinistalliert wurden.
  • Und apt-get hat einen eingebauten Automatismus, um mit anderen Paketen installierte Abhängigkeiten zu entfernen, wenn diese nicht mehr zutreffen.

Kombiniert helfen Ihnen die drei Programme dabei, die Datenbank der Pakete auf dem aktuellen Stand und sauber zu halten.

Alte Abhängigkeiten entfernen

Vermutlich benutzen Sie KPackageKit oder Synaptic, um Pakete unter Ubuntu zu (de-)installieren. Damit entgeht Ihnen ein Feature des Kommandozeilentools apt-get, das sehr nützlich ist. apt-get ist auf Debian-Systemen ein Frontend für den Paketmanager dpkg, das schon über zehn Jahre existiert und in früheren Zeiten einer der Gründe dafür war, dass Debian bei Administratoren besonders beliebt war. In aktuellen Versionen hat apt-get ein praktisches Feature: Pakete, die als Abhängigkeit von anderen Programm in der Vergangenheit den Weg auf das System fanden, werden als unnütz hervorgehoben, wenn die vormals vorhandene Abhängigkeit wegfällt. Sie können die Funktion folgendermaßen testen:

  1. Öffnen Sie ein Terminalfenster über das K-Menü oder indem Sie [Alt]+[F2] drücken und konsole eingeben.
  2. Führen Sie den Befehl sudo apt-get install aus. Geben Sie, falls nötig, Ihr Benutzerpasswort ein. Danach sehen Sie eine Ausgabe wie in Abbildung 1.

    Abbildung 1: "apt-get" gibt bereitwillig Auskunft darüber, welche Pakete in seinen Augen unnötig sind.

    Abbildung 1: “apt-get” gibt bereitwillig Auskunft darüber, welche Pakete in seinen Augen unnötig sind.

Unterhalb der Zeile Die folgenden Pakete … sehen Sie die Liste der Pakete, die apt-get für unnötig hält. Überprüfen Sie den Inhalt der Liste auf Plausibilität – gelegentlich zeigt das Tools fälschlicherweise auch Programme an, die auf ausdrücklichen Benutzerwunsch hin installiert worden sind – und entfernen Sie die Pakete danach wie gewohnt mit Synaptic oder KPackageKit.

Pakete mit “deborphan” entfernen

So weit, so gut – aber was passiert mit den Paketen, die eventuell schon vor der Einführung des gerade vorgestellten APT-Features eingespielt worden sind? Außerdem übersieht apt-get gelegentlich Pakete – mit deborphan werden Sie auch diese los. Generell sucht deborphan nach Paketen, die nicht von Hand installiert worden sind, von denen aber kein aktuelles Paket mehr abhängt und die auf den Paketlisten der Ubuntu-Server ebenfalls nicht mehr vorkommen.

Ironischerweise beginnt der Prozess damit, dass Sie deborphan installieren, denn es gehört nicht zur Standardinstallation in Ubuntu. Das Paket heißt auch deborphan. So nutzen Sie das Tool:

  1. Öffnen Sie, wie oben beschrieben, ein Terminalfenster (wenn Sie es wieder geschlossen haben).
  2. Geben Sie den Befehl sudo deborphan und eventuell anschließend Ihr Benutzerpasswort ein, falls das System Sie danach fragt.

deborphan gibt Ihnen dann eine Liste der Pakete aus, die es für unnötig hält:

$ deborphan
gstreamer0.10-plugins-bad
gstreamer0.10-ffmpeg

Auch hier gilt: Vergewissern Sie sich, dass auf der Liste wirklich nur Abschusskandidaten stehen.

Anschließend deinstallieren Sie die aufgelisteten Pakete wie gewohnt mit der entsprechenden Funktion von Synaptic oder KPackageKit. Es lohnt sich, nach jeder Paketdeinstallation deborphan erneut aufzurufen – die entfernten Pakete hängen nämlich oft von anderen ab, so dass durch das Entfernen eines Pakets andere ebenfalls überflüssig werden. Sie können den Prozess solange wiederholen, bis die Ausgabe von deborphan leer ist oder nur noch Pakete enthält, die Sie definitiv behalten möchten.

Konfigurationsdateien löschen

Ubuntu verwendet ein ausgefeiltes System, um zu verhindern, dass Dateien mit benutuzerspezifischen Einstellungen zu leichtfertig gelöscht werden. Wenn Sie zum Beispiel ein Paket entfernen, das Dateien im Ordner /etc enthält, werden beim “normalen Löschen” die Dateien in /etc ausdrücklich nicht gelöscht. Solange die Konfigurationsdateien noch da sind, verschwindet das Paket aber auch nicht aus der Paketdatenbank. Der Paketmanager dpkg kennt für diese Zwecke die Purge-Funktion. (Das englische Wort “purge” hat im Deutschen viele Übersetzungen, darunter reinigen und eliminieren.)

Verschaffen Sie sich einen Überblick über die Pakete, von denen nur noch die Konfigurationsdateien übrig sind. Das tun Sie so:

  1. Geben Sie im Terminalfenster den Befehl dpkg --list ein. Die gesuchten Pakete erkennen Sie daran, dass am Anfang der Zeilen dieser Pakete die Buchstaben “rc” stehen. Sie können sich auch nur eine Liste all dieser Pakete ausgeben lassen, indem Sie nur Zeilen anzeigen, die mit rc anfangen (Abbildung 2):

    dpkg --list | grep ^rc
  2. Sichern Sie die Konfigurationsdateien der angegebenen Pakete aus /etc, falls Sie diese aufbewahren möchten, und führen Sie danach den Befehl sudo dpkg -P Paketname aus, woben Sie Paketname durch den in der zweiten Spalte angezeigten Paketnamen ersetzen:

    $ sudo dpkg -P liblcmsl-dev
    (Lese Datenbank ... 19561 Dateien und Verzeichnisse sind derzeit installiert.)
    Entfernen von liblcmsl-dev ...

    Abbildung 2: Finden Sie in der Paketliste Einträge, die mit "rc" anfangen, sind von diesen Paketen nur noch Konfigurationsdateien auf der Platte gespeichert.

    Abbildung 2: Finden Sie in der Paketliste Einträge, die mit “rc” anfangen, sind von diesen Paketen nur noch Konfigurationsdateien auf der Platte gespeichert.

Fazit

Auf Ubuntu- (und allgemeiner: auf allen Debian-basierten) Systemen stehen Ihnen mächtige Werkzeuge zur Seite, um Ihre Paketdatenbank frei von unnützen Programmen zu halten. Es ist hilfreich, die beschriebenen Befehle nach jedem Distributions-Upgrade durchzuführen – so stellen Sie sicher, dass die Paketdatenbank stets nur so umfangreich wie nötig ist.

EasyLinux 04/2011 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben