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
deborphanmachen 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
dpkgentfernen Sie Konfigurationsdateien von Paketen, die deinistalliert wurden. - Und
apt-gethat 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:
- Öffnen Sie ein Terminalfenster über das K-Menü oder indem Sie [Alt]+[F2] drücken und
konsoleeingeben. -
Führen Sie den Befehl
sudo apt-get installaus. Geben Sie, falls nötig, Ihr Benutzerpasswort ein. Danach sehen Sie eine Ausgabe wie in Abbildung 1.
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:
- Öffnen Sie, wie oben beschrieben, ein Terminalfenster (wenn Sie es wieder geschlossen haben).
- Geben Sie den Befehl
sudo deborphanund 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:
-
Geben Sie im Terminalfenster den Befehl
dpkg --listein. 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
-
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 Paketnameaus, 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 ...
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.



