Products
and Services Support
and Docs Training Partner Programs About Red
Hat
  download storecart
red hat logo
redhat.comredhat network

Red Hat Documentation

Verwenden von RPM

Verwenden von RPM

RPM verfügt über fünf Grundbetriebsmodi (das Erstellen von Paketen nicht mitgerechnet): Installieren, Deinstallieren, Aktualisieren, Anfragen und Überprüfen. Dieser Abschnitt enthält einen Überblick über jeden dieser Modi. Vollständige Angaben zu den Details und Optionen können Sie mit rpm --help aufrufen. Weitere Informationen über RPM finden Sie in Abschnitt namens Andere RPM-Ressourcen.

Installieren

RPM-Pakete besitzen normalerweise Dateinamen wie foo-1.0-1.i386.rpm, die den Paketnamen (foo), die Version (1.0 ), die Release-Nummer (1) und die unterstützte Systemarchitektur (i386) enthalten. So einfach ist das Installieren von Paketen:

# rpm -ivh foo-1.0-1.i386.rpm
foo                       ####################################
#
	    

Wie Sie sehen, gibt RPM den Paketnamen (der nicht unbedingt dem Dateinamen entsprechen muß, letzterer könnte beispielsweise auch 1.rpm lauten) und anschließend bei der Installation des Pakets eine Reihe von Rautenzeichen aus, sozusagen als Fortschrittsanzeige.

Das Installieren von Paketen ist ein einfacher Vorgang. Dennoch können einige Fehler auftreten:

Paket bereits installiert

Falls das Paket bereits installiert wurde, sehen Sie folgende Anzeige:

# rpm -ivh foo-1.0-1.i386.rpm
foo                     package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
          

Wenn Sie das Paket dennoch installieren möchten, können Sie in der Befehlszeile --replacepkgs verwenden. RPM ignoriert daraufhin den Fehler.

# rpm -ivh --replacepkgs foo-1.0-1.i386.rpm
foo                       ####################################
#
            

Dateikonflikte

Wenn Sie versuchen, ein Paket zu installieren, das eine bereits durch ein anderes Paket installierte Datei enthält, wird folgende Meldung ausgegeben:

# rpm -ivh foo-1.0-1.i386.rpm
foo           /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed
#
	      

Wenn Sie die Option --replacefiles an den Befehl anhängen, ignoriert RPM diesen Fehler:

# rpm -ivh --replacefiles
foo-1.0-1.i386.rpm
foo                       ####################################
#
	      

Ungelöste Abhängigkeiten

RPM-Pakete können von anderen Paketen "abhängig" sein, d.h. sie benötigen andere Pakete, um ordnungsgemäß installiert werden zu können. Falls Sie versuchen, ein Paket zu installieren, für das eine solche ungelöste Abhängigkeit besteht, erscheint folgende Anzeige:

# rpm -ivh bar-1.0-1.i386.rpm
failed dependencies:
        foo is needed by bar-1.0-1
#
          

Um diesen Fehler zu beheben, müssen Sie die angeforderten Pakete installieren. Falls Sie dennoch mit der Installation fortfahren möchten (was nicht zu empfehlen ist, da das Paket vermutlich nicht korrekt ausgeführt werden kann), geben Sie an der Befehlszeile --nodeps ein.

Deinstallieren

Das Deinstallieren eines Pakets ist ebenso einfach wie das Installieren:

# rpm -e foo
#
	    

Beachten Sie, daß wir hier den Paketnamen "foo" und nicht den Namen der ursprünglichen Paket datei "foo-1.0-1.i386.rpm" verwendet haben.

Beim Deinstallieren eines Pakets kann ein Abhängigkeitsfehler auftreten, wenn ein anderes installiertes Paket von diesem Paket abhängt. Beispiel:

# rpm -e foo
removing these packages would break dependencies:
        foo is needed by bar-1.0-1
#
	    

Wenn RPM den Fehler ignorieren soll und Sie weiterhin das Paket deinstallieren möchten (nicht zu empfehlen, da das abhängige Paket dann wahrscheinlich nicht mehr korrekt ausgeführt werden kann), müssen Sie --nodeps in der Befehlszeile eingeben.

Aktualisieren

Das Aktualisieren von Paketen erfolgt ähnlich wie das Installieren.

# rpm -Uvh foo-2.0-1.i386.rpm
foo                       ####################################
#
	    

Was Sie oben nicht erkennen können, ist die Tatsache, daß RPM vorhandene alte Versionen des Pakets foo automatisch deinstalliert hat. Möglicherweise möchten Sie nun -U regelmäßig zum Installieren von Paketen verwenden, da es hervorragend funktioniert, selbst wenn keine vorherigen Versionen des Pakets installiert wurden.

Da RPM ein intelligentes Aktualisieren von Paketen mit Konfigurationsdateien durchführen kann, wird möglicherweise folgende Meldung angezeigt:

saving /etc/foo.conf as /etc/foo.conf.rpmsave
          

Dies bedeutet, daß die Änderungen, die Sie an der alten Konfigurationsdatei vorgenommen haben, möglicherweise nicht "aufwärtskompatibel" zur neuen Konfigurationsdatei des Pakets sind. RPM hat deshalb die ursprüngliche Datei gespeichert und eine neue Datei installiert. Sie sollten nun baldmöglichst die beiden Dateien überprüfen und die Abweichungen ausgleichen, damit Ihr System auch weiterhin korrekt funktioniert.

Da eine Aktualisierung eigentlich aus Deinstallations- und Installationsvorgängen besteht, können sämtliche Fehler aus diesen Modi auftreten. Außerdem kann es zu einem weiteren Fehler kommen: Falls RPM annimmt, daß Sie versuchen, auf ein Paket mit einer älteren Versionsnummer zu aktualisieren, erscheint folgende Anzeige:

# rpm -Uvh foo-1.0-1.i386.rpm
foo    package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
	    

Um die "Aktualisierung" dennoch fortzusetzen, müssen Sie in der Befehlszeile --oldpackage eingeben:

# rpm -Uvh --oldpackage foo-1.0-1.i386.rpm
foo                       ####################################
#
	    

Auffrischen

Das Auffrischen eines Pakets ist ein ähnlicher Vorgang wie das Aktualisieren.

# rpm -Fvh foo-1.2-1.i386.rpm
foo                       ####################################
#
	    

Die Option Auffrischen von RPM überprüft die Versionen der in der Befehlszeile angegebenen Pakete und vergleicht sie mit den Versionen der bereits in Ihrem System installierten Pakete. Wenn eine neuere Version eines bereits installierten Pakets von der Option Auffrischen verarbeitet wird, aktualisiert RPM die ältere Version. Mit der Option Auffrischen kann jedoch kein Paket installiert werden, wenn nicht ein bereits zuvor installiertes Paket des gleichen Namens vorhanden ist. Dies ist der Hauptunterschied zur RPM-Option Aktualisieren, da mit Aktualisieren Pakete installiert werden, ganz gleich, ob eine ältere Version des Pakets bereits installiert wurde.

Die RPM-Option Auffrischen funktioniert bei Einzelpaketen oder bei einer Gruppe von Paketen einwandfrei. Besonders nützlich ist sie, wenn Sie gerade eine größere Menge unterschiedlicher Pakete heruntergeladen haben, jedoch nur die Pakete aktualisieren möchten, die bereits in Ihrem System installiert sind. Mit der Option Auffrischen brauchen Sie die heruntergeladenen Pakete nicht mehr zu durchsuchen oder unerwünschte Einträge zu löschen, bevor Sie RPM verwenden.

In diesem Fall können Sie einfach den folgenden Befehl eingeben:

# rpm -Fvh *.rpm
	    

RPM aktualisiert automatisch die Pakete, die bereits installiert wurden.

Anfragen

Anfragen zu installierten Paketen an die Datenbank werden mit rpm -q durchgeführt. Ein einfaches Anwendungsbeispiel ist rpm -q foo. Dieser Befehl gibt den Namen, die Versions- und die Release-Nummer des installierten Pakets foo aus:

# rpm -q foo
foo-2.0-1
#
	    

Statt den Paketnamen anzugeben, können Sie auch die folgenden Optionen mit -q verwenden, um anzugeben, welche Pakete Sie abfragen möchten. Diese Optionen heißen Paketspezifizierungsoptionen.

  • -a Anfrage zu sämtlichen aktuell installierten Paketen.

  • -f <Datei> Anfrage zum Paket, zu dem <Datei> gehört.

  • -p <Paketdatei> Anfrage zum Paket <Paketdatei>.

Es gibt eine Reihe von Möglichkeiten, um festzulegen, welche Informationen über angefragte Pakete angezeigt werden. Mit den folgenden Optionen können Sie die gewünschten Informationen auswählen. Diese Optionen heißen Informationsauswahloptionen.

  • -i zeigt Paketinformationen an, z.B. Name, Beschreibung, Release-Nummer, Größe, Erstellungsdatum, Installationsdatum, Händler und verschiedene andere Informationen.

  • -l zeigt eine Liste der Dateien an, die im Paket enthalten sind.

  • -s zeigt den Status sämtlicher Dateien des Pakets an.

  • -d zeigt eine Liste der als Dokumentationen gekennzeichneten Dateien an (man-Seiten, Info-Seiten, README-Dateien usw.).

  • -c zeigt eine Liste der als Konfigurationsdateien gekennzeichneten Dateien an. Dies sind die Dateien, die Sie nach der Installation bearbeiten, um das Paket an Ihr System anzupassen (sendmail.cf, passwd, inittab usw.).

Zu den Optionen für die Anzeige von Dateilisten können Sie an der Befehlszeile -v hinzufügen, um die Listen im gleichen Format wie bei der Option ls -l anzuzeigen.

Prüfen

Beim Überprüfen eines Pakets werden die Angaben zu Dateien, die aus einem Paket installiert wurden, mit den Angaben aus dem ursprünglichen Paket verglichen. Bei einer Überprüfung werden u.a. folgende Parameter verglichen: Größe, MD5-Summe, Berechtigungen, Typ, Eigentümer und Gruppe jeder Datei.

Mit dem Befehl rpm -V werden Pakete überprüft. Zum Angeben der zu verifizierenden Pakete können Sie alle Paketauswahloptionen verwenden, die für Anfragen zur Verfügung stehen. Ein einfaches Anwendungsbeispiel ist rpm -V foo. Dieser Befehl überprüft, ob sich alle Dateien im Paket foo noch in dem Zustand befinden, den sie ursprünglich zum Zeitpunkt der Installation hatten. Beispiel:

  • So verifizieren Sie ein Paket, das eine bestimmte Datei enthält:
    rpm -Vf /bin/vi
                  

  • So verifizieren Sie ALLE installierten Pakete:
    rpm -Va
                  

  • So verifizieren Sie ein installiertes Paket mit Hilfe einer RPM-Paketdatei:
    rpm -Vp foo-1.0-1.i386.rpm
                  
    Dies kann nützlich sein, wenn Sie vermuten, daß Ihre RPM-Datenbank beschädigt ist.

Wenn alles überprüft und für korrekt befunden wurde, erfolgt keine weitere Ausgabe. Falls Abweichungen festgestellt wurden, werden diese angezeigt. Das Ausgabeformat besteht aus einer Zeichenkette mit acht Zeichen. Konfigurationsdateien werden durch ein "c" gekennzeichnet, anschließend folgt der Dateiname. Jedes der acht Zeichen steht für das Vergleichsergebnis eines Attributs der Datei mit dem aufgezeichneten Wert für dieses Attribut aus der RPM-Datenbank. Ein einzelner Punkt (".") bedeutet, daß der Test bestanden wurde. Die folgenden Zeichen kennzeichnen Fehler bei bestimmten Tests:

  • 5 - MD5-Prüfsumme

  • S - Dateigröße

  • L - Symbolische Verknüpfung

  • T - Dateibearbeitungszeit

  • D - Gerät

  • U - Benutzer

  • G - Gruppe

  • M - Modus (einschließlich Berechtigungen und Dateityp)

Wenn eine Ausgabe angezeigt wird, entscheiden Sie, ob Sie das Paket entfernen oder neu installieren oder das Problem auf andere Weise lösen sollten.

 

 


 
© 2001 Red Hat, Inc. All rights reserved.
About Red Hat  :  Legal statement  :  Privacy statement  :  Y2K statement  :  Contact Red Hat