Paketmanager und Paketverwaltung


* Einführung * Installation * Paketmanager * Grundlagen * Shells * Entwicklung * KDE * Skriptsprachen * AWK * PHP * Perl * Apache * Veranstaltungen * Schulungen * Bücher * Netzwerk * OpenOffice * OpenSource * Samba

Paketmanager


© <a href="http://www.fotolia.de/p/29003">Ljupco Smokovski</a> - FOTOLIA
Home
Einführung Paketmanager
RPM Package Manager
Debian-Paketverwaltung
Portage
Slackware
Tar-File
Mit freundlicher Unterstützung von:

Linux-Kurse und Seminare Linux Kurse
Veranstalter des
Linux-Tag
am Bodensee
2007 und 2008

Kontakt
Haftung
Impressum
Problem Hilfe Startseite


Pakete, copyright Irina Fischer, FotoliaSlackware


RPM Package Manager

RPM kann man sich als eine Art Datenbank für Software-Informationen vorstellen.

Wie bei einer relationalen Datenbank ist folgendes möglich:
  • Anfragen über und zu installierten Pakete
  • Neue Software installieren
  • Software entfernen
  • Operationen werden atomar ausgeführt, d.h. sie können von keinem anderen Nutzer unterbrochen werden.
  • Konsistenz bleibt gewahrt.
Namenskonvention für Paketnamen unter RPM:
Namenskonvention

Architektur-Bezeichnungen unter RPM:

RPM-Name Architektur Firma
Kommentar
i386
Intel 386-Familie Intel
häufigstes RPM-Format
i586
Intel Pentium
Intel
Pentium spezifische Optimierungen
i686
Intel Pentium Pro    Intel Intel
Optimierungen für Pentium Pro
x86_64
AMD64
AMD
64Bit-Architektur
alpha
Alpha
Compaq
RISC-Prozessor
vom Namen darf man sich nicht beirren lassen: Alpha bezeichnet keine Testversion
ppc
PowerPC
IBM, Motorola, Apple
IBM's PowerPC-Architektur
sparc
SPARC
Sun Microsystems
Prozessoren in Sun-Workstations
noarch
Generic

keine Prozessor-spezifischen Binärdaten, z.B. nur Shell-Skripte
src Source Code

Quellen

Arbeiten mit RPM


Pakete können
  • installiert
  • deinstalliert
  • gesucht / angezeigt
  • aktualisiert (update)
werden.

Nur der Superuser „root“ darf Software mit RPM installieren, aber alle Benutzer dürfen Anfragen bzgl. Installierter Software stellen. Auf die RPM-Datenbank haben alle Nutzer des Linux-Systems Leserechte aber nur Root hat Schreibrechte!

Installation eines Paketes "foobar":

rpm -i foobar-1.0-1.i386.rpm

Paket foobar wird installiert, aber gleichzeitig werden verschiedene Aktivitäten gestartet:

  • Prüfen auf Abhängigkeiten
  • Prüfen auf Konflikte, d.h bereits installiert oder      neuere Version bereits installiert
  • geg. Ausführen von Skripten  (vorher und nachher)
  • Konfigurationsdatei
  • Entpacken der Dateien
  • Aktualisierung der RPM-Datenbank

"Wer A sagt, der muss auch B sagen" oder die wechselseitige Abhängigkeiten von RPM-Paketen

Wer A sagt muss auch B sagen ...
Jedes RPM-Paket kann von einem oder mehreren anderen abhängig sein.
saturn # rpm -i ASager-4.i386.rpm
failed dependencies:
            BSager-3 is needed by ASager-4


Nehmen wir an Foo1.rpm hängt von Foo2.rpm und Foo2.rpm von Foo3.rpm ab, dann haben wir folgendes scheinbar unlösbares Problem:
saturn # rpm -i Foo1.rpm
failed dependencies:
                     Foo2 is needed by Foo1

Versucht man Foo2 zuerst zu installieren, erhält man die Meldung:

saturn # rpm -i Foo2.rpm
failed dependencies:
Foo3 is needed by Foo2
Bei Foo3 erhält man Foo1 als Abhängigkeit
saturn # rpm -i Foo3.rpm
failed dependencies:
Foo1 is needed by Foo3

Ja, und dann ist der Kreis geschlossen!

Lösung des Problems:
saturn # rpm -i Foo1.rpm Foo2.rpm Foo3.rpm

Mit obigem Befehl werden alle Abhängigkeiten gleichzeitig gelöst und die drei Pakete installiert.

Beschädigte RPM-Datenbank reparieren

Mit rpm --rebuilddb kann man eine beschädigte RPM-Datenbank neu erzeugen.
© Copyright 2007 - 2010, Bernd Klein mit freundlicher Unterstützung von Bodenseo, Linux-Kurse und Schulungen,
Foto linke Seite (Mann mit Strick und Colt): Foto: © Ljupco Smokovski, fotolia 984022