Skip navigation

Linux User Group Oldenburg [Tux]

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

  1. Welche Pakete sind installiert?
  2. In welchem Paket ist xterm enthalten?
  3. Zeige den Paketheader an
  4. Welche Dateien gehören sonst noch zu xf86-3.3.6-20?
  5. Welche Abhängigkeiten bestehen zu anderen Paketen?
  6. 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