Als eines der Highlights von Linux gelten die Systeme zum Verwalten von Software: Sie erleichtern die Installation neuer Programme oder das Löschen nicht mehr benötigter Software signifikant. Durch Zusatzprogramme ergänzt, welche die Integrität des Betriebssystems gewährleisten und damit ein regelmäßiges Neuinstallieren überflüssig machen, bilden sie eine konsistente Grundlage für die Arbeit mit dem Rechner. Zu den meistgenutzten Vertretern der Gattung zählt Rpm, das ursprünglich aus den Fundus von Red Hat stammt ("Red Hat Package Management"), sich inzwischen aber in vielen Distributionen findet.

Saubermacher

Paketmanager wie Rpm oder Dpkg dienen dazu, Konflikte zwischen einzelnen Software-Paketen aufzulösen, und installieren automatisch benötigte Abhängigkeiten nach. Zusätzlich erlauben sie es, neue Software-Quellen ("Repositories") einzubinden. Die Installation aus diesen geht dann ebenso leicht von der Hand wie aus den Standardquellen.

Doch das Paketmanagement hat auch Schattenseiten: Nicht immer passen die Entwickler von Drittquellen ihre Skripte exakt an. So verbleiben beispielsweise einmal installierte Bibliotheken bei der Deinstallation des von ihnen abhängigen Programms unter Umständen auf der Festplatte.

So sammeln sich im Lauf der Zeit insbesondere bei Power-Usern, die gern und häufig neue Software ausprobieren, erkleckliche Mengen an Datenmüll an. Diese überflüssigen Dateien manuell zu entfernen grenzt an die Quadratur des Kreises: Bereits ein frisch installiertes System besteht je nach Distributionsumfang aus rund 100 000 Dateien.

Um die nicht mehr benötigten Komponenten zu löschen, bieten die gängigen Paketmanager zwar diverse Optionen zum Entfernen an. Jedoch setzen die Tools, die primär auf der Kommandozeile zum Einsatz kommen, detaillierte Kenntnisse über die Mechanismen der Systeme voraus.

Wesentlich einfacher und schneller arbeiten dagegen kleine Helfer wie Deborphan [1] und Rpmorphan [2], die auf zugemüllten Systemen oft mehrere hundert Megabyte Speicherplatz freischaufeln. Rpmorphan bietet darüber hinaus zusätzliche Funktionen, die ebenfalls der Integrität des Computersystems dienen und wichtige Infos schnell und zuverlässig bereitstellen.

Plattenputz

Rpmorphan liegt bereits seit längerer Zeit in den Repositories aller gängigen RPM-basierten Distributionen, sodass Sie es bequem über die Paketverwaltung ins System integrieren. Die jeweils aktuellste Version finden Sie als fertiges RPM-Paket auf der Projektseite. Sollte wider Erwarten die Installation auf dem System scheitern, laden Sie den Quellcode [3] herunter und übersetzen das Tool selbst.

Nach erfolgreicher Installation bietet die Software ihre Dienste gleich auf dreifache Weise an: Im Terminal als reines Kommandozeilen-Programm oder mithilfe zweier grafischer Oberflächen. Möchten Sie auf Letztere zurückgreifen, gilt es zusätzlich die beiden Pakete perl-Curses-UI (für einfache Grafik im Terminal) oder perl-Tk (für eine etwas komfortablere, allerdings optisch altbackene Darstellung) zu installieren. Beide finden sich in den Repositories der meisten RPM-basierten Distributionen.

Da Rpmorphan Modifikationen am bestehenden Datenbestand des Betriebssystems vornimmt, läuft die Software nur mit Root-Rechten korrekt. Sofern Sie eine Distribution nutzen, die das Programm gut integriert und daher bei der Installation einen entsprechenden Eintrag im Startmenü anlegt, genügt ein Mausklick zum Entsorgen überflüssiger Dateibestände.

Bei vielen Distributionen legt das Setup jedoch keinen Starter an, sodass Sie zunächst selbst einen entsprechenden Eintrag im Menü erstellen müssen. Unter allen GTK+-basierten Oberflächen integrieren Sie das Programm mit automatischer Abfrage des Passworts über die Befehlsfolge gksu rpmorphan -gui oder gksu rpmorphan sehr einfach in ein Anwendungsmenü. Die Befehle tragen Sie jeweils in die Starter-Eigenschaften ein. Anschließend aktivieren Sie per Mausklick auf den Menü-Eintrag die Tcl/Tk-basierte Oberfläche (Abbildung 1).

Abbildung 1: Etwas altbacken, aber intuitiv zu bedienen: Die grafische Oberfläche von Rpmorphan auf Basis von Tcl/Tk.

Möchten Sie anstelle der Tcl/Tk-basierten Variante lieber die grafisch sehr einfach gehaltene Curses-Oberfläche nutzen, dann aktivieren Sie die Software mit Administrator-Rechten im Terminal mit der Eingabe des Befehls rpmorphan -curses. Es erscheint ein Textbildschirm mit grafischen Elementen in Gestalt von Linien (Abbildung 2).

Abbildung 2: Die mit Liniengrafik im Terminal aufgepeppte Oberfläche von Rpmorphan erinnert an alte DOS-Zeiten.

Beide Oberflächen bieten identische Inhalte: Während der größte Teil des Fensters eine Liste der gefundenen verwaisten Dateien zeigt, befindet sich oben horizontal eine Leiste mit Schaltflächen, über die Sie die wichtigsten Funktionen per Mausklick aktivieren.

Beim ersten Start von Rpmorphan dauert es zuweilen etwas, bis die Liste der gefundenen "Waisen" erscheint. Die Software nutzt zum Ermitteln der Abhängigkeiten und zum Sammeln spezifischer Informationen die im System vorhandene Datenbank, die bei häufig aktualisierten Linux-Systemen und bei vielen nachträglich auf die Platte gepackten Programmen einen entsprechenden Umfang aufweist.

Durch Auswahl eines Eintrags und einem anschließenden Klick auf die Schaltfläche Info erhalten Sie detaillierte Informationen zum betreffenden Paket (Abbildung 3). Dies ist insbesondere dann sinnvoll, wenn Sie nicht genau wissen, ob Sie das Paket wirklich löschen dürfen. Im Zweifelsfall belassen Sie solche Pakete lieber auf der Festplatte: Fälschlich gelöschte Dateien verursachen nicht nur Probleme beim Start von Programmen, sondern ziehen im schlimmsten Fall das komplette Betriebssystem empfindlich in Mitleidenschaft.

Abbildung 3: Die Anzeige der Informationen zu einem Paket gibt einen umfassenden Überblick über dessen Zweck, Herkunft und die Abhängigkeiten.

Einzelne Einträge markieren Sie mit einem einfachen Mausklick, wobei diese Markierung beim Anklicken eines weiteren Pakets erhalten bleibt. Je nach Anzahl der im System lokalisierten verwaisten Pakete kann es sinnvoll sein, zunächst alle zu markieren und dann nur einzelne Dateien wieder auszunehmen. Dazu klicken Sie auf die Schaltfläche Select all und wählen dann bei Bedarf einzelne Einträge ab.

Nach dem Markieren löscht ein Klick auf Remove nur die gekennzeichneten Pakete.

Protokollarisches

Rpmorphan führt eine Protokolldatei, in der es alle Löschvorgänge aufzeichnet. Das ermöglicht es, bei Inkonsistenzen im System nachzuvollziehen, nach dem Entfernen welcher Bibliothek die Probleme auftraten. Dazu sehen Sie das Log durch einen Klick auf die gleichnamige Schaltfläche ein.

Eine kurze Hilfe zu allen Funktionen und Tastaturkürzeln steht nach einem Klick auf Help bereit. Auf der Kommandozeile lautet der entsprechende Aufruf rpmorphan -help.

Duplikate

Neben Rpmorphan selbst stellt das Paket rpmorphan einige weitere Programme bereit, die beim Umgang mit RPM-Paketen helfen. Das mit Abstand wichtigste davon heißt Rpmduplicates und spürt im System doppelt vorhandene Bibliotheken und Programme auf. Es erweist sich insbesondere dann als nützlich, wenn Sie das System regelmäßig automatisch auf den neuesten Stand bringen oder verschiedene Versionen einer Applikation benutzen. Sie rufen das Perl-Skript auf der Kommandozeile mit dem Befehl rpmduplicates.pl auf. Das Programm listet dann alle vorhandenen Duplikate auf (Abbildung 4).

Abbildung 4: So sieht ein sauberes System aus: Keine doppelten Programme oder Bibliotheken gefunden!

Praktikabel

Wir testeten Rpmorphan unter anderem mit Mageia, da das von Mandriva stammende und in Mageia ebenfalls implementierte URPM-Verwaltungssystem bereits selbst eine einfach zu handhabende Funktion zum Auffinden und Löschen von Dateiwaisen bietet, was einen direkten Vergleich der Tools ermöglicht.

Dabei zeigte sich, dass Rpmorphan deutlich mehr kann als sein Mageia-Pendant: Während der entsprechende Terminalbefehl urpme --auto-orphans keine verwaisten Dateien fand und demzufolge auch nichts entsorgte, bemerkte Rpmorphan insgesamt fünf Bibliotheken ohne aktuelle Abhängigkeiten, die gelöscht wurden. Anhand der im Tool angezeigten Informationen ließ sich erkennen, dass es sich bei den Bibliotheken um Relikte alter Software-Installationen handelte, wobei die entsprechenden Programme längst wieder aus dem System entfernt worden waren.

Restaurationsarbeiten

Eine Schwäche des RPM-Verwaltungssystems stellen die sehr begrenzten Möglichkeiten dar, die Datei-Attribute einzelner Paketen zu beeinflussen. So zeigt Rpm Unterschiede zwischen dem Paketstatus bei der Installation und jenem der aktuellen Konfiguration mangels geeigneter Parameter nicht vollständig an. Auch ein Zurücksetzen nachträglich veränderter Rechte und Attribute auf den Status bei der Installation erlaubt die Software nicht.

Das kann insbesondere dann zu Problemen führen, wenn sich Schadsoftware auf dem System eingeschlichen hat oder die Systemkonfiguration durch fehlerhaft installierte Updates Inkonsistenzen aufweist. Auch defekte Hardware, wie etwa eine leere BIOS-Batterie, sorgt durch Anzeige falscher Datums- und Zeitangaben im Kontext von Lese- und Schreibvorgängen unter Umständen bei bestimmten Programmen für Irritationen.

Der französische Programmierer Eric Gerbier, der bereits für die Wartung von Rpmorphan verantwortlich zeichnet, hat aus diesem Grund mit Rpmrestore [4] ein weiteres wichtiges Werkzeug im Portfolio, das dieses Manko behebt. Rpmrestore findet sich zwar wie Rpmorphan in den Repositories der meisten Mainstream-Distributionen, allerdings meist in älteren Varianten. Es empfiehlt sich daher auch hier der Download von der Projektseite. Das Perl-Skript rufen Sie anschließend auf der Kommandozeile mit den entsprechenden Parametern auf. Die einzelnen Befehlsfolgen erläutert die Projektseite [5] eingehend.

Das Skript arbeitet interaktiv und nimmt somit ohne entsprechende Anweisungen des Anwenders keine eigenmächtigen Änderungen am Dateistatus vor. Der Batch-Modus erlaubt es aber, einen vollautomatischen Rollback zu veranlassen, bei dem Rpmrestore die anzugebenden Pakete komplett ohne Abfrage auf den Status nach einer frischen Installation zurücksetzt. Den entsprechenden Parameter -batch sollten Sie jedoch nur dann nutzen, wenn Sie sich absolut sicher sind, dass das Zurücksetzen nicht andernorts Inkonsistenzen hervorruft.

Um einen Überblick zu erhalten, ob bestimmte Programme veränderte Attribute aufweisen, rufen Sie Rpmrestore auf der Kommandozeile mit folgendem Befehl auf:

# rpmrestore.pl --dry-run Paketname

Die Software überprüft dann Änderungen zur Installationsvariante bei allen verfügbaren Attributen und zeigt sie an (Abbildung 5).

Abbildung 5: Rpmrestore zeigt an, dass es in Wine keine Modifikationen an den Dateiattributen fand.

Im Falle eines konkreten Verdachts auf eine unerwünschte Attributänderung empfiehlt es sich, das jeweilige Attribut einzeln zu überprüfen. Rpmrestore unterstützt dabei alle gängigen Attribute. So gleicht es beispielsweise die Dateigröße mithilfe des Parameters -size ab. Mithilfe des Parameters -log legt es zudem eine Logdatei an und pflegt sie. Diese Datei dient als Grundlage für die Verwendung des Parameters -rollback: Er gestattet das Zurücksetzen der spezifizierten Datei auf den Installationsstatus, womit Sie eventuelle Inkonsistenzen im System einfach beheben.

Fazit

Mit den beiden Tools Rpmorphan und Rpmrestore stehen für RPM-basierte Distributionen nützliche Helferlein bereit, welche die Integrität der gesamten Installation wahren. Daneben empfiehlt sich der regelmäßige Einsatz von Rpmorphan, um das System von unerwünschten und überflüssigen Installationsfragmenten zu befreien. Das Werkzeug eignet sich dabei dank einer einfach bedienbaren grafischen Oberfläche auch für Einsteiger, bedient über die Kommandozeilenschnittstelle aber gleichzeitig auch Power-User.

Rpmrestore dagegen trägt durch die Restauration des Ursprungszustands von Dateiattributen dazu bei, die Systemintegrität zu bewahren. Das ausschließlich für die Kommandozeile geeignete Tool erweitert den Funktionsumfang des Paketverwaltungssystems und bietet insbesondere bei Unstimmigkeiten einzelner Attribute eine sichere Möglichkeit, das System auf einen definierten Zustand zurückzusetzen. 

Infos

[1] Deborphan: Erik Bärwaldt "Ordentlich durchgeputzt", LU 11/2007, S. 92, http://www.linux-community.de/14308

[2] Rpmorphan: http://rpmorphan.sourceforge.net

[3] Rpmorphan herunterladen: http://sourceforge.net/projects/rpmorphan/files/rpmorphan/1.11/

[4] Rpmrestore: http://rpmrestore.sourceforge.net

[5] Dokumentation zu Rpmrestore: http://rpmrestore.sourceforge.net/rpmrestore.1.html

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare