RPM for Beginners
Von Ralf Springwald/mgs
Der Paketmanager RPM hilft, das Linux-System zu warten, neue Pakete
einfach zu installieren oder Informationen über installierte Pakete
anzuzeigen. Dieser Artikel zeigt ein paar einfache Abfragen mit Hilfe
des Paketmangers rpm
am Beispiel von xterm
Als Quelle habe ich rpm --help
verwendet. Im Handbuch
von RedHat ist es ebenfalls so wie nachfolgend beschrieben.
Inhalt
- Welche Pakete sind installiert?
- In welchem Paket ist xterm enthalten?
- Zeige den Paketheader an
- Welche Dateien gehören sonst noch zu xf86-3.3.6-20?
- Welche Abhängigkeiten bestehen zu anderen Paketen?
- Welche anderen Pakete benutzen xf86-3.3.6-20?
Welche Pakete sind installiert?
Mit dem Befehl rpm -qa
durchsucht rpm die gesamte
Liste der installierten Pakete und gibt die Namen aus. Diese
enthalten meistens auch die jeweilige Versionsnummer.
In welchem Paket ist xterm enthalten?
Mit dem Befehl rpm -qf
sucht rpm in der internen
Datenbank nach der angegebenen Datei und zeigt das Paket an, das diese
Datei enthält. Da ich nicht weiß, wo nun genau xterm
im
Dateisystem liegt, verwende ich die Ausgabe von "type" für
rpm
als Parameter:
# rpm -qf `type -p xterm` xf86-3.3.6-20
So kenne ich jetzt den Paketnamen der xterm
enthält.
Zeige den Paketheader an
Wenn der Paketname bekannt ist, können die Informationen zu diesem Paket direkt abgefragt werden:
# rpm -qi xf86-3.3.6-20 Name : xf86 Relocations: (not relocateable) Version : 3.3.6 Vendor: SuSE GmbH, Nuernberg, Germany Release : 20 Build Date: Sat Mar 11 10:34:52 2000 Install date: Tue Jul 4 11:50:56 2000 Build Host: minkowski.suse.de Group : X11/XFree86 Source RPM: xf86-3.3.6-20.src.rpm Size : 19070703 License: 1994-2000 The XFree86 Project, Inc. Packager : feedback@suse.de Summary : Basic X11 package Description : Contains XFree86tm and some other programs from the contrib-directory. Authors: -------- Alan Hourihane.... usw SuSE series: x
Welche Dateien gehören sonst noch zu xf86-3.3.6-20?
Oft ist es von Bedeutung, welche Dateien in einem Paket enthalten sind. Wenn Modifikationen vorgenommen werden müssen, dann findet man so vielleicht die Datei, die man bearbeiten muß.
# rpm -ql xf86-3.3.6-20|more /etc/pam.d/xdm /usr/X11 /usr/X11R6/bin/Backarrow2BackSpace /usr/X11R6/bin/Backarrow2Delete /usr/X11R6/bin/SuperProbe /usr/X11R6/bin/X /usr/X11R6/bin/Xmark ..... usw
Welche Abhängigkeiten bestehen zu anderen Paketen?
Auch zusätzliche Abhängigkeiten sind wichtig. So findet man heraus, von welchen anderen Paketen ein Paket abhängt, von welchen anderen Paketen Dateien oder Funktionen verwendet werden. Wenn ein Programm nicht funktioniert, kann es daran liegen, daß nicht alle Abhängigkeiten aufgelöst wurden und das eine oder andere Paket nicht installiert ist.
Die Abhängigkeiten erhält man mit dem folgenden Befehl:
# rpm --requires -q xf86-3.3.6-20 xshared windowmanager sax xfsetup xdmbgrd x_server xterm_program /bin/sh /bin/bash /bin/sh ld-linux.so.2 libICE.so.6 libSM.so.6 libX11.so.6 libXIE.so.6 libXaw.so.6 libXext.so.6 libXi.so.6 libXmu.so.6 libXt.so.6 libXtst.so.6 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libcrypt.so.1 libcrypt.so.1(GLIBC_2.0) libdl.so.2 libm.so.6 libm.so.6(GLIBC_2.0) libpam.so.0 libpam_misc.so.0 libpthread.so.0 libpthread.so.0(GLIBC_2.1)
Welche anderen Pakete benutzen xf86-3.3.6-20?
Wer auf seinem Rechner aufräumen möchte und Pakete löschen möchte, sollte vorher sicherstellen, daß keine anderen Pakete diese verwenden. Das findet man mit dem folgenden Befehl heraus:
rpm --whatrequires -q xf86-3.3.6-20