Home · Kontakt · Impressum
contents index previous up next
Next: 14.3.1 Installation und Upgrade Up: 14. Programminstallation und Kernelmanagement Previous: 14.2.3 ldconfig


14.3 Softwareverwaltung mit RPM-Paketen

Der Vertrieb von Programmen in sogenannten Paketen erleichtert die Installation und Verwaltung der Programme erheblich. Dieser Abschnitt beschäftigt sich mit dem RPM Package Manager (RPM).

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:

14.3.0.1 Die Datenbank: /var/lib/rpm

Um die Daten verwalten zu können, benutzt der Manager für die RPM-Pakete eine Datenbank für alle installierten Binärpakete. Diese Datenbank besteht aus mehreren Dateien im Verzeichnis /var/lib/rpm. Hier eine alte Version der Datenbank für SuSE 7.3:

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


14.3.0.2 Der Manager: rpm

Das Programm rpm ist der sehr mächtige und umfangreiche Paket-Manager für RPM-Pakete. Ob Installation, Upgrade, Informationen oder Tests, alles läuft über dieses Tool.
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.



Unterabschnitte
contents index previous up next
Next: 14.3.1 Installation und Upgrade Up: 14. Programminstallation und Kernelmanagement Previous: 14.2.3 ldconfig
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang