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

