Die Installation von Programmen aus dem Quellcode hat einige deutliche Nachteile.
RPM-Paket gibt es meistens im Doppelpack. In der einen Datei (Binärpaket) befinden sich die Binärdateien sowie die für die Installation erforderlichen Informationen und Konfigurationsdateien. Die zweite Datei (Quellpaket) enthält die für die Erstellung des Binärpakets benötigten Dateien mit dem Quellcode. Ein gute Anlaufstelle auf der Suche nach RPM-Paketen ist die Seite http://www.rpmseek.de, die eine Suchmaschine für RPM-Pakete zur Verfügung stellt.
Der Dateiname eines solchen Pakets enthält wichtige Informationen: jdk-1.3.1-1.i386.rpm bezeichnet das Paket jdk mit der Versionsnummer 1.3.1, rpm-Release 1. Die Release-Nummer ist meistens 1 oder wird ganz weggelassen. Nur wenn Fehler im RPM-Paket selber behoben, Änderungen durchgeführt oder Dokumentationsdateien hinzugefügt wurden, wird diese Nummer hochgezählt. Die Release-Nummer bezieht sich also auf das RPM-Paket selber, während sich die Versionsnummer auf das eigentliche Programm bezieht.
Die Kennung i386 weißt darauf hin, daß dieses Paket Binärdateien für PC-Prozessoren enthält. Steht dagegen ein src dort, dann handelt es sich hier um das Paket mit den Quellcodedateien. Die Informationen aus dem Dateinamen sind nur für den Benutzer bestimmt. Das RPM-Installationsprogramm bezieht alle seine Informationen aus dem RPM selbst. Es ist also für das Installationsprogramm egal, ob die Datei jdk-1.3.1-1.i386.rpm oder hugo.txt heißt.
Neben den Binärdateien enthält das Paket auch wichtige Informationen:
tapico@defiant:~> ls -l /var/lib/rpm insgesamt 32908 -rw-r--r-- 1 root root 16384 Nov 22 16:27 conflictsindex.rpm -rw-r--r-- 1 root root 5230592 Nov 22 16:27 fileindex.rpm -rw-r--r-- 1 root root 16384 Nov 22 16:27 groupindex.rpm -rw-r--r-- 1 root root 28672 Nov 22 16:27 nameindex.rpm -rw-r--r-- 1 root root 28339656 Nov 22 16:27 packages.rpm -rw-r--r-- 1 root root 159744 Nov 22 16:27 providesindex.rpm -rw-r--r-- 1 root root 172032 Nov 22 16:27 requiredby.rpm -rw-r--r-- 1 root root 16384 Nov 22 16:27 triggerindex.rpm
Bei den *.rpm-Dateien handelt es sich nicht um RPM-Pakete, sondern um Binärdateien in einem rpm-spezifischen Format. Sie dürfen auch keinen Fall per Hand verändert werden. Auch die Deinstallaton von Paketen darf nicht durch einfaches Löschen erfolgen, sondern muß immer durch einen RPM-Manager erledigt werden.
Inzwischen besitzen die RPM-Datenbankdateien keine Endung .rpm mehr. Das Verzeichnis sieht bei SuSE 9.0 wie folgt aus:
dozent@linux37:~> ls -l /var/lib/rpm/ insgesamt 36472 -rw-r--r-- 1 root root 5308416 2004-06-25 12:28 Basenames -rw-r--r-- 1 root root 12288 2004-06-25 12:28 Conflictname -rw-r--r-- 1 root root 974848 2004-06-25 12:28 Dirnames -rw-r--r-- 1 root root 5320704 2004-06-25 12:28 Filemd5s -rw-r--r-- 1 root root 24576 2004-06-25 12:28 Group -rw-r--r-- 1 root root 24576 2004-06-25 12:28 Installtid -rw-r--r-- 1 root root 24576 2004-06-25 12:28 Name -rw-r--r-- 1 root root 26316800 2004-06-25 12:28 Packages -rw-r--r-- 1 root root 327680 2004-06-25 12:28 Providename -rw-r--r-- 1 root root 65536 2004-06-25 12:28 Provideversion -rw-r--r-- 1 root root 12288 2004-06-25 12:28 Pubkeys -rw-r--r-- 1 root root 217088 2004-06-25 12:28 Requirename -rw-r--r-- 1 root root 122880 2004-06-25 12:28 Requireversion -rw-r--r-- 1 root root 49152 2004-06-25 12:28 Sha1header -rw-r--r-- 1 root root 49152 2004-06-25 12:28 Sigmd5 -rw-r--r-- 1 root root 12288 2004-06-25 12:28 Triggername
rpm [OPTIONEN]
Eine Vielzahl von Funktionen stehen Ihnen beim RPM-Manager zur Verfügung. Es ist etwas irritierend, daß manche Optionen mehrere Bedeutungen haben, je nachdem mit welchen anderen Optionen sie verwendet werden. Daher hier nur eine Übersicht der der Hauptfunktionen.
Optionen | |
-i | --install |
Installation von Paketen |
-U | --upgrade |
Aktualisierung des Pakets auf eine aktuellere Version |
-F | --freshen |
Aktualisierung des Pakets nur wenn eine alte Version existiert. |
-e | --erase |
Entfernt installierte Pakete |
-q |
Liefert Informationen über Pakete |
--checksig |
Überprüft MD5 Checksumme und PGP-Signatur des Pakets |
--import |
Importiert einen öffentlichen Schlüssel in die Datenbank |
--rebuilddb |
Reorganisiert die RPM-Datenbank |
Für die LPI-Prüfung 101 sollten Sie sich genau mit dem RPM Package Manager auskennen, da ca 10 bis 15 Prozent der Fragen in der Prüfung sich mit diesem Thema beschäftigen.