Red Hat Linux 7.0: Das Offizielle Red Hat Linux Handbuch Erste Schritte | ||
---|---|---|
Zur�ck | Kapitel 12 Verwenden von Gnome-RPM und RPM | Vor |
Sie k�nnen die RPM-Technologie auch mit einer Reihe von Befehlen vom Shell Prompt aus nutzen. Dabei stehen Ihnen nat�rlich einerseits alle Funktionen zur Verf�gung, die Sie mit Gnome-RPM nutzen k�nnen, andererseits bietet Ihnen das Arbeiten vom Shell Prompt aus noch weitere M�glichkeiten wie das Auffrischen von Paketen (eine Funktion, die dem Aktualisieren �hnelt, siehe Abschnitt namens Auffrischen f�r weitere Informationen).
Noch detailliertere Informationen �ber RPM finden Sie in den entsprechenden Kapiteln im Offiziellen Red Hat Linux Referenzhandbuch auf der Dokumentations-CD. Sie k�nnen auch die zugeh�rige man-Seite durch Eingabe von man rpm anzeigen oder die Hilfedatei mit dem Befehl rpm --help aufrufen.
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. F�r das Installieren eines Pakets m�ssen Sie lediglich folgenden Befehl eingeben:
# rpm -ivh foo-1.0-1.i386.rpm foo #################################### # |
RPM gibt den Paketnamen (der nicht unbedingt mit dem Dateinamen �bereinstimmen muss) und eine Reihe von Gatterzeichen auf dem Bildschirm aus, um den Installationsfortschritt anzuzeigen.
Pakete k�nnen prinzipiell auch mit der Funktion zum Aktualisieren installiert werden. Weitere Informationen finden Sie unter Abschnitt namens Aktualisieren.
Wenn beim Installieren Fehler auftreten, wird die entsprechende Fehlermeldung auf dem Bildschirm angezeigt. Beispielsweise kann es zu Fehlern kommen, weil ein bestimmtes Paket bereits installiert wurde oder Probleme mit Paketabh�ngigkeiten die Installation eines Pakets unm�glich machen.
Im Folgenden erhalten Sie Informationen �ber die m�glicherweise auftretenden Fehlertypen:
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 die Option --replacepkgs an der Befehlszeile verwenden, mit der RPM angewiesen wird, den Fehler zu ignorieren.
# rpm -ivh --replacepkgs foo-1.0-1.i386.rpm foo #################################### # |
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 RPM diesen Fehler ignorieren soll, h�ngen Sie die Option --replacefiles an den Befehl an:
# rpm -ivh --replacefiles foo-1.0-1.i386.rpm foo #################################### # |
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, sehen Sie 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.
Das Deinstallieren von Paketen ist ebenso einfach wie das Installieren:
# rpm -e foo # |
Beachten Sie, dass wir hier den Paketnamen foo und nicht den Namen der urspr�nglichen Paketdatei " 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 Sie m�chten, dass RPM diesen Fehler ignoriert und das Paket dennoch installiert (was ebenfalls keine gute Idee ist, da das hiervon abh�ngige Paket vermutlich nicht richtig funktionieren wird), h�ngen Sie die Option --nodeps an den Befehl an.
Das Aktualisieren von Paketen erfolgt �hnlich wie das Installieren.
# rpm -Uvh foo-2.0-1.i386.rpm foo #################################### # |
Beim Aktualisieren deinstalliert RPM automatisch alte Versionen des Pakets foo.
Sie k�nnen die Funktion zum Aktualisieren auch zum Installieren von Paketen verwenden, da das Aktualisieren auch dann problemlos funktioniert, wenn keine �lteren Versionen des zu installierenden Pakets vorhanden sind.
Da RPM ein intelligentes Aktualisieren von Paketen mit Konfigurationsdateien durchf�hren kann, wird m�glicherweise folgende Meldung angezeigt:
# 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 mit RPM dennoch eine "Aktualisierung" durchzuf�hren, h�ngen Sie die Option --oldpackage an den Befehl an:
# rpm -Uvh --oldpackage foo-1.0-1.i386.rpm foo #################################### # |
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 dieses auf die neuere Version. Mit der Option Auffrischen von RPM kann jedoch kein Paket installiert werden, wenn nicht ein bereits zuvor installiertes Paket des gleichen Namens vorhanden ist. Dies ist ein wesentlicher Unterschied zur Funktion zum Aktualisieren von RPM, da bei einer Aktualisierung in jedem Fall Pakete installiert werden, gleichg�ltig, ob eine �ltere Version des Pakets bereits installiert wurde.
Anfragen an die Datenbank zu installierten Paketen 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 einen Paketnamen festzulegen, 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, Infoseiten, 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.
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.
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 |
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 in der RPM -Datenbank. Ein einzelner Punkt (".") bedeutet, dass 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 Paketu entfernen oder neu installieren oder das Problem auf andere Weise l�sen sollten.