claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 11/2005

Paketverwaltung auf der Kommandozeile

Packstation

von Heike Jurzik


Software installieren und wieder entfernen, Abhängigkeiten zwischen den Paketen auflösen und das System auf den neuesten Stand bringen -- der Paket-Manager und seine Frontends stehen hilfreich zur Seite. Wir zeigen ein paar Kommandozeilen-Tricks für Ubuntu Linux.

Den Quellcode von Programmen herunterzuladen, selbst zu kompilieren und zu installieren ist für Linux-Neulinge meistens ein frustreiches Unterfangen. Zur einfacheren Installation bieten daher die meisten Distributionen -- so auch Ubuntu Linux -- fertige Software-Pakete an. Diese enthalten vorkompilierte Programmversionen. Bei der zentralen Verwaltung dieser Pakete hilft der Paket-Manager, der sämtliche Informationen zu diesen Pakten in einer zentralen Datenbank speichert (siehe dazu auch den Artikel "Paket-Management mit YaST und Drakconf" ab Seite 30 dieser Ausgabe).

Auf eventuelle Abhängigkeiten zwischen den einzelnen Paketen weist das Programm zwar hin, es ist allerdings nicht seine Aufgabe, diese auch selbständig aufzulösen. Das erledigt ein spezielles Frontend, welches unter anderem automatisch fehlende Komponenten installiert.

Ubuntu Linux basiert auf der Debian-Distribution und bringt daher auch deren Werkzeuge mit: Der Paket-Manager heißt dpkg; Kommandozeilen-Frontends, die darauf aufsetzen, sind zu Beispiel APT (Advanced Package Tool) und Aptitude. Dieser Artikel zeigt ein paar Tricks und Kniffe für die Arbeit mit diesen beiden Programmen und die Systemadministration auf der Shell.

Aktualität ist alles

Wie schon im Synaptic-Artikel ab Seite 34 beschrieben, können Sie Pakete aus verschiedenen Quellen installieren, wie beispielsweise von CDs, DVDs, FTP- oder HTTP-Servern. Auf welche "Repositories" das jeweilige Frontend zugreift, definieren Sie in der Datei /etc/apt/sources.list. Wenn Sie Quellen aus dem Internet benutzen, ist es sinnvoll, die Paketdatenbank regelmäßig auf den neuesten Stand zu bringen. Verwenden Sie APT, erledigt das der folgende Befehl für Sie:

sudo apt-get update

Um anschließend das gesamte System in einem Rutsch auf den aktuellen Stand zu bringen (Sicherheits-Updates, Bugfixes), führen Sie direkt danach ein Upgrade durch:

sudo apt-get upgrade

Setzen Sie statt APT lieber aptitude ein, lauten die beiden Kommandozeilen:

sudo aptitude update
sudo aptitude upgrade

Jedesmal, wenn Sie mittels Paket-Manager eine Software installieren , speichert das system das eigentliche Programmpaket in einem Cache unterhalb von /var. Sollten Sie zwischendrin das Paketdepot auf der eigenen Platte aufräumen wollen, weil es mittlerweile zuviel speicher belegt, bringen APT und Aptitude auch dafür die passenden Kommandos mit:

apt-get clean

beziehungsweise

aptitude clean

entleeren den Cache vollständig; ersetzen Sie clean durch autoclean, löschen Sie hingegen nur die Pakete, die Sie von den Servern nicht mehr herunterladen können. So halten Sie den Wachstum des lokalen Paket-Caches in Grenzen, ohne ihn vollständig zu leeren.

Spürnasen

Paket- und Programmnamen unterscheiden sich oft. Sollten Sie daher nur den Namen oder eine vage Beschreibung des Programmes kennen, ist guter Rat teuer. Angenommen, Sie suchen nach einem Programm, von dem Sie nur wissen, dass der Wortteil "word" im Namen vorkommt und dass es MS-Word-Dateien in Text umwandelt, fischen Sie mit apt-cache search nach einem oder mehreren Suchbegriffen in der Paketdatenbank:

apt-cache search word | less

Um zu verhindern, dass die recht lange Trefferliste aus dem Fenster herausscrollt, leiten Sie sie über das Pipe-Zeichen | ([AltGr-<]) an den Pager less weiter und betrachten die Ausgabe seitenweise. Ersetzen Sie im Aufruf apt-cache durch aptitude, gibt's zusätzlich Informationen auf den Schirm: Ob die jeweiligen Pakete beispielsweise installiert sind (i am Zeilenanfang), nie installiert beziehungsweise das Paket und alle Konfigurationsdateien entfernt wurden (p), es sich um ein virtuelles Paket handelt (v) und vieles mehr.

Beide Programme beherrschen auch die Kombination mehrerer Suchbegriffe und präsentieren anschließend alle Pakete, die den oder die Begriffe im Namen oder in der Paketbeschreibung enthalten. Besonders praktisch am Arbeiten auf der Shell: Zusammen mit dem Programm grep [1] durchsuchen Sie die Ausgabe nach weiteren Begriffen. Für die Suche nach dem Konvertierungs-Tool von Word-Dokumenten bietet sich beispielsweise der folgende Befehl an:

$ sudo aptitude search word\
 convert | grep -i ms
p   antiword         - Converts \
MS Word files to text and ps
...

Zunächst durchsucht Aptitude die Datenbank nach word und convert, und anschließend präsentiert grep alle Treffer, welche die Zeichenkette ms oder MS (Parameter -i) enthalten.

Informativ

Weitere Informationen zu den jeweiligen Paketen gibt es beispielsweise über das Kommando:

apt-cache show antiword

oder

aptitude show antiword

Wenn Ihnen sämtliche verfügbaren Informationen zuviel des Guten sind, überprüfen Sie mit apt-cache showpkg <paket> einfach nur die Abhängigkeiten.

Installateure

Um Software zu installieren, tippen Sie entweder apt-get install oder aptitude install und übergeben dem Kommando einen oder mehrere Paketnamen. Benötigt ein solches Paket weitere Komponenten, informieren APT und Aptitude darüber:

$ sudo aptitude install aud\
acity
...
Die folgenden Pakete werden zusä\
tzlich automatisch installiert:
  libpng10-0 libwxgtk2.4
...
Wollen Sie fortsetzen? [Y/n/?]

Bestätigen Sie mit [Eingabe], um mit dem Einspielen zu beginnen, oder tippen Sie [N], um den Vorgang abzubrechen. Darüber hinaus passiert es mitunter, dass die Frontends weitere Pakete vorschlagen oder empfehlen -- wobei die Empfehlungen dringender sind als die Vorschläge. Läuft etwas nicht wie erwartet, installieren Sie die empfohlenen Pakete nach. Übrigens: Wählen Sie ein Paket zur Installation aus, das bereits auf dem System vorhanden ist und von dem es eine neuere Version gibt, aktualisieren APT und Aptitude dieses.

Und weg damit

Mit apt-get remove und aptitude remove entfernen Sie eines oder mehrere Pakete wieder von Ihrem System. Während APT standardmäßig nachfragt, ob Sie die entsprechenden Pakete wirklich loswerden wollen, müssen Sie dieses Verhalten für Aptitude erst mit der Option -P einschalten:

$ sudo aptitude -P remove a\
ntiword
...
Die folgenden Pakete werden ENTF\
ERNT:
  antiword
...
Wollen Sie fortsetzen? [Y/n/?]

Da Sie mit diesen beiden Kommandos zwar das Paket, nicht aber die systemweiten Konfigurationsdateien in /etc erwischen, verwenden Sie bei apt-get den Parameter --purge:

sudo apt-get --purge remove anti\
word

Für Aptitude gibt's keine extra Option; ersetzen Sie im Aufruf einfach remove durch purge:

sudo aptitude purge antiword

Ja, ist denn schon wieder Ostern?

Sowohl APT als auch Aptitude bringen ein so genanntes Easter Egg (eine versteckte und undokumentierte Funktion) mit, die den Administrator zum Schmunzeln bringt. Während APT im wahrsten Sinne des Wortes auf die Kuh gekommen ist (Abbildung 1), scheitert der Versuch, Aptitude zum Muhen zu bringen zunächst einmal:

$ sudo aptitude moo
In diesem Programm gibt es keine\
 Easter Eggs.

Wer etwas hartnäckiger ist und die Option -v (wie englisch "verbose" = "wortreich") einsetzt, erlebt eine Überraschung:

$ sudo aptitude -v moo
In diesem Programm gibt es wirkl\
ich keine Easter Eggs.

Da der Parameter auch mehr als einmal eingesetzt werden darf, dürfen Sie das Spiel auf die Spitze treiben -- viel Spaß beim Ostereier finden. (agr)

Abb. 1: Eingebautes Easter Egg: "apt-get moo" zaubert eine ASCII-Kuh auf den Bildschirm.
Infos
[1] Artikel zu grep: Elisabeth Bauer, "Textfischer", EasyLinux 10/2003, S. 74 ff., http://www.easylinux.de/Artikel/ausgabe/2003/10/074-grep/

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2016 COMPUTEC MEDIA GmbH | Last modified: 2007-04-05 11:10

Nutzungsbasierte Onlinewerbung

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]