claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 07/2003   »   Ausgabe bestellen

Nützliche Abfragen mit dem RPM-Befehl

Mit der RPM-Datenbank sprechen

von Hans-Georg Eßer

SuSE und Red Hat Linux benutzen eine Paketdatenbank, in der Informationen zu allen installierten Software-Paketen gespeichert sind. Diese lassen sich mit dem Kommandozeilenprogramm rpm auch anzeigen.

Wenn Sie damit beginnen, die zahlreichen unbekannten Verzeichnisse Ihres Linux-Systems jenseits des Home-Verzeichnisses in /home zu erforschen, stellt sich früher oder später die Frage: Wo bringt eigentlich Linux all die Dateien unter, die zu den verschiedenen Software-Paketen gehören, und wie kann man einzelne Programme wieder entfernen?

Während sich die erste Frage noch übersichtlich beantworten lässt (ausführbare Programme liegen meist in /usr/bin/, /bin/ oder /usr/X11R6/bin/ und ihre Konfigurationsdateien im zentralen Verzeichnis /etc/), ist für das Entfernen eines Programmpakets manchmal ein wenig Recherche notwendig. In vielen Fällen führt der kürzeste Weg über die Software-Verwaltung Ihrer Linux-Distribution; unter SuSE Linux ist das beispielsweise der Eintrag Software/Software installieren oder löschen im Kontrollzentrum YaST; bei Red Hat Linux rufen Sie ein entsprechendes Tool über Systemeinstellungen/Pakete im Startmenü auf. In der jeweiligen Detailansicht sehen Sie alle installierten Pakete und können diese abwählen.

Unbekannte Pakete

Schwieriger wird es aber, wenn Sie den Paketnamen gar nicht kennen, weil dieser nicht mit dem Programmnamen identisch ist. Haben Sie etwa ein Programm über das Startmenü aufgerufen, kennen Sie damit noch nicht unbedingt dessen Namen.

Mit dem Kommandozeilenprogramm rpm, das zur Verwaltung der gleichnamigen RPM-Software-Pakete verwendet wird, sowie mit einigen zusätzlichen Shell-Tools können Sie die gesuchten Informationen schnell herausfinden.

Haben Sie nun zum Beispiel unter SuSE Linux über Multimedia/CD/CD-Roast ein CD-Brennprogramm gestartet und dieses gefällt Ihnen nicht, können Sie folgendermaßen vorgehen:

Abb. 1: Programmpaket finden und löschen in fünf Schritten.

Die Befehle which und rpm lassen sich übrigens bequem zu einer einzigen Befehlszeile zusammenfassen, wie das Beispiel im Listing-Kasten zeigt.

Mehr Informationen

Das rpm-Kommando bietet aber noch mehr Abfragemöglichkeiten: Es ist so komplex, dass es ein eigenes Buch (Maximum RPM, http://www.redhat.com/docs/books/max-rpm/, leider nur englischsprachig) darueber gibt.

Es ist aber nicht notwendig, dieses dicke Referenzwerk zu lesen. Ein Blick in die Manpage liefert schon viele Hinweise, was sich noch alles mit dem Drei-Buchstaben-Tool anfangen lässt. Mit den Optionen "-ql" können Sie etwa nachfragen, welche Dateien zu einem Paket gehören. So liefert der Aufruf rpm -ql xcdroast eine vollständige Dateiliste. Auch über RPM-Pakete, die noch nicht installiert wurden, können Sie Informationen erhalten -- dann muss die Zusatzoption "-p" (für Paket) verwendet werden, und Sie müssen den kompletten Dateinamen der Paketdatei angeben, beispielsweise:

rpm -qlp neuespaket-0.0.1.i386.rpm
Mit "-i" (Information) erhalten Sie eine Übersicht, wie ein Paket heisst, welche Software enthalten ist und wer es erstellt hat. Das kann bei RPM-Paketen, die Sie aus dem Internet gezogen haben, oft hilfreich sein, weil es einen Hinweis darauf gibt, ob es für Ihre Linux-Distribution erstellt wurde. Besonders interessant sind dort die Felder "Vendor" (wer hat das Paket gebaut?) und "License" (unter welcher Lizenz das Paket vertrieben wird). Aus der "Description" lässt sich meist erkennen, zu welcher Art Software das Paket gehört.

Einfach bis schwierig

Einige der rpm-Features sind auf Anhieb verständlich und können sofort genutzt werden. Das RPM-System bietet aber auch komplexere Funktionen, zum Beispiel die Möglichkeit, so genannte Quelltext-RPM-Pakete (erkennbar an der Endung .src.rpm) vollautomatisch übersetzen zu lassen. Wenn Sie mit der Zeit größere Sicherheit im Umgang mit Linux und auch mit den Shell-Tools erwerben, werden Ihnen diese Features wieder begegnen -- für den Anfang nutzen Sie einfach die elementaren Funktionen. (hge)

Kasten 1: RPM-Aufrufe

esser@linux:~> rpm -qf `which xcdroast`
xcdroast-0.98-1

esser@linux:~> rpm -qi xcdroast
Name        : xcdroast                     Relocations: (not relocateable)
Version     : 0.98                              Vendor: Red Hat, Inc.
Release     : 1                             Build Date: Don 24 Aug 2000 10:42:54 CEST
Install date: Die 17 Okt 2000 14:46:46 CEST      Build Host: porky.devel.redhat.com
Group       : Applications/Multimedia       Source RPM: xcdroast-0.98-1.src.rpm
Size        : 1215139                          License: GPL
Packager    : Red Hat, Inc. 
URL         : http://www.xcdroast.org/
Summary     : An X Window System based tool for creating CDs.
Description :
X-CD-Roast provides a GUI interface for commands like cdrecord and
mkisofs. X-CD-Roast includes a self-explanatory X11 user interface,
automatic SCSI and IDE hardware setup, support for mastering of new
ISO9660 data CDs, support for production of new audio CDs, fast
copying of CDs without hard disk buffering, and a logfile option.

esser@linux:~> rpm -ql xcdroast
/usr/bin/xcdrgtk
/usr/bin/xcdroast
/usr/lib/xcdroast-0.98
/usr/lib/xcdroast-0.98/bin
/usr/lib/xcdroast-0.98/bin/cddbtool
/usr/lib/xcdroast-0.98/bin/rmtool
/usr/lib/xcdroast-0.98/bin/vrfytool
/usr/lib/xcdroast-0.98/bin/wavplay
/usr/lib/xcdroast-0.98/icons
/usr/lib/xcdroast-0.98/icons/burnproof.gif
/usr/lib/xcdroast-0.98/icons/cddblogo.gif
...
/usr/share/doc/xcdroast-0.98/DOCUMENTATION
/usr/share/doc/xcdroast-0.98/FAQ
/usr/share/doc/xcdroast-0.98/README
/usr/share/doc/xcdroast-0.98/TRANSLATION.HOWTO

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 | © 2017 COMPUTEC MEDIA GmbH | Last modified: 2007-01-25 16:20

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]