WikiDer > RPM-Paketmanager

RPM Package Manager

RPM-Paketmanager (oder Drehzahl, ursprünglich Red Hat Paketmanager genannt) ist a Paket-Manager die in erster Linie für die BetriebssystemLinux. RPM installiert, aktualisiert, deinstalliert, überprüft und fragt ab Softwarepakete. RPM ist das Standard-Softwarepaketformat der Linux-Standardbasis.RPM wurde ursprünglich entwickelt von roter Hut vor dem Red Hat Linux, wird aber jetzt von vielen verwendet Linux-Distributionen benutzt. Es ist auch auf einige andere Betriebssysteme portiert, wie z Novell Netware (seit Version 6.5 SP3) und IBM AIX. Die Form, in der es Akronym "RPM" wird heute verwendet, d.h. bedeutet "RUhr pPaket ichanager", ist ein gutes Beispiel für a rekursives Akronym.

Die RPM-Datenbank

Hinter den Kulissen von RPM ist die Op Berkeley DBA basierende DrehzahlDatenbank. Es enthält alle Informationen für jedes installierte Paket. Die Datenbank führt Aufzeichnungen über jeden Stau über RPM installiert. Dadurch können dieselben installierten Dateien problemlos wieder entfernt werden. Was kann passieren, wenn die Datenbank beschädigt wird? Drehzahlprogramm abrupt beendet wird, kann die Datenbank dank der eingebauten doppelt verkettete Liste. Auf Red Hat-Systemen ist die Datenbank in /var/lib/rpm. Eine Liste der Dateien in der Datenbank kann mit dem Befehl gedruckt werden:

user@laptop~ $ U/min -qc U/min

Frontend

Von Linux-Benutzern und Systemadministratoren einbiegen in U/minDateien, die verwendet werden, um Software einfach zu machen aktualisieren, Aktualisierung oder installieren. Das Programm U/min bildet die Grundlage der Paketverwaltungssystem. Darüber ist in der Regel a benutzerfreundlichFrontend, wie lecker oder PaketKit, mit dem ein Benutzer eine Anwendung mit einem einfachen Befehl oder wenigen Mausklicks installieren oder aktualisieren kann.

Die folgenden Tools werden häufig auf RPM-basierten Systemen verwendet:

Paketnamen

Jedes RPM-Softwarepaket in einem Repository hat einen Namen bestehend aus a Etikette oder beschriften und a Erweiterung.rpm.

Etikette

Das Etikett enthält folgende Informationen:

  • das Paketnamen
  • das Ausführung des Pakets (ein Code, der aus dem Versionskontrollsystem von der ursprünglichen Softwarequelle)
  • das Veröffentlichung (die Häufigkeit, mit der eine ähnliche Version des Pakets kompiliert wurde); Darüber hinaus identifiziert dieses Feld oft die geeignete Verteilung, für die es bestimmt ist, z.B. durch Zeichenfolgen wie mdk (Mandriva Linux), fc4 (Fedora-Kern 4), rhl9 (Red Hat Linux 9), suse93 (SuSE-Linux 9.3) usw.
  • das die Architektur an oder für die das Paket gesendet wurde gebaut (i386, i686, Athlon, ppc, usw.)

Der Name jedes RPM-Softwarepakets hat normalerweise das folgende Format:

--..rpm

Ein Beispiel:

nano-0.98-2.i386.rpm

Das Paketetikett ist in der RPM-Softwarepaketdatei enthalten, stimmt jedoch nicht unbedingt mit dem Namen der Datei überein.

src

Quellcode wird in SRPM-Dateien verpackt und verteilt. Solche Pakete sind zum Erstellen von RPM-Dateien gedacht und gehören keiner bestimmten Architektur an. Sie erhalten daher die architektonische Bezeichnung src (aus dem Englischen "source" = source) Zum Beispiel:

libgnomeuimm2.0-2.0.0-3.src.rpm

noarch

Skripte
Neben Software in Form von kompiliertem Code wird viel Software in Form von a . installiert Skriptsprache Für ein Dolmetscher. Skripte hängen nicht von der Architektur der Hardware ab. Auf Unix-Plattformen wird oft Shell-Skripte oder Skripte für perl und Python benutzt. Ein Beispiel ist lecker:
yum-3.4.3-10.fc14.noarch.rpm
Das Programm besteht aus einem Skript für Python.
Bibliotheken
Softwarebibliotheken (Bibliotheken) werden für jede Version in zwei separaten Paketen verteilt. Ein Paket enthält die vorkompilierter Code (das binär), die direkt verwendet werden kann und die andere (die Bibliothek) enthält die Entwicklungsdateien des jeweiligen Pakets, wie z Header-Dateien und der Quellcode der Implementierung. Der Name dieser Bibliothekspakete hat die Zeichenfolge -entwickeln hinzugefügt, weil diese Pakete nur für Softwareentwickler. Damit die Bibliothek mit anderen Programmen funktioniert, muss die Version des vorkompilierten Codes mit der der Bibliothek übereinstimmen.
Dokumentation und Multimedia
Bis zum noarch.rpmDie Kategorie umfasst auch Bild- und Tondateien sowie Textinformationsdateien, die von anderen Programmen verwendet werden sollen, z.
java-1.7.0-openjdk-javadoc-1.7.0.6-2.3.2.fc12.1.noarch.rpm
in dem die Name des Pakets java-1.7.0-openjdk-javadoc, das Ausführung des Pakets 1.7.0.6 und der Veröffentlichung des Pakets 2.3.2.fc12.1 ist.

Vor- und Nachteile des RPM-Systems

Zu den häufig genannten Vorteilen bei der Verwendung von RPM-Paketen gegenüber anderen Methoden zum Sammeln und Installieren von Software gehören:

  • Programme werden immer auf die gleiche Weise installiert.
  • Das Deinstallieren von Programmen ist einfach.
  • Popularität: Verfügbarkeit vieler Pakete, auch wenn eine Neukompilierung für eine andere Distribution erforderlich ist.
  • Nicht interaktive Installation: Dies erleichtert die Automatisierung der Installation.
  • Original-Quelldateien bereitgestellt: Dies ermöglicht die Überprüfung.
  • Kryptografische Verifizierung mit GPG oder md5.
  • DeltaRPMs, die das RPM-Äquivalent von . sind Patch-Dateien, kann mit bereits von RPM installierten Paketen kombiniert werden, sodass Updates durchgeführt werden können. Dies ist eine viel bequemere Möglichkeit, von RPM installierte Software zu aktualisieren, da DeltaRPM nicht das ursprüngliche RPM-Paket benötigt, um das Update durchzuführen.

Häufig genannte Nachteile sind:

  • Es gibt manchmal (rückwärts) inkompatible Änderungen im Paketformat.
  • Die Dokumentation ist unvollständig und/oder veraltet.
  • Das Erstellen von RPM-Paketen hat eine steile Lernkurve.
  • Abhängigkeiten von Paketversionen widersprechen sich manchmal, je nach verwendeter Linux-Distribution.
  • "Normale" Programme sind nicht in der Lage, RPM-Pakete zu extrahieren, wie dies bei possible möglich ist tgz-Staus. Es ist jedoch zu beachten, dass die Tarball aus dem Quellcode des Programms "rpm" a Shell-Skript enthält - rpm2cpio.sh - die in der Lage ist, die "cpio"Archivieren Sie einen Teil einer RPM-Datei (nur mit "od", "ausdrücken", "dd" und "gunzip").

RPM wurde auch wegen mangelnder Konsistenz von Paketnamen und Inhalten kritisiert, was die automatische Abhängigkeitsbehandlung erschweren kann. Dies ist jedoch kein spezifisches Problem des RPM-Systems, da es sich um ein Koordinationsproblem zwischen den großen Linux-Distributionen handelt, die RPM als Paketverwaltungssystem verwenden, wie Red Hat Linux, SuSE und Mandriva Linux. Bei Verwendung von RPM-Paketen aus einer bestimmten Distribution (sagen wir Red Hat Linux) oder RPM-Paketen, die für eine bestimmte Distribution gebaut wurden (beispielsweise Freshrpms für Red Hat Linux) kann ein automatischer Abhängigkeitstest dank der Verwendung von Tools wieYellow Dog Updater modifiziert) oder "passen" (Erweitertes Verpackungstool) (siehe unten). Exklusives Tool für Mandriva Linux ist "urpmi", das bei der sogenannten Hölle von Abhängigkeiten.

Drittanbietersoftware

Wie ein U/minDatei einiger Software fehlt in der Repositorys von a Linux-Distribution, so bei proprietäre Software oft der Fall ist, dann kann diese Software oft als Drittanbietersoftware von der Anbieterseite heruntergeladen einbiegen in. Stellt ein Lieferant eine geeignete U/minDatei, dann kann die Software mit dieser Datei installiert werden. Wenn ein Lieferant nicht geeignet ist U/minDatei kann die Software möglicherweise von einem Tarball aufgebaut werden.

Ausschüttungen

Fast alle Linux-Distributionen mit einem RPM Package Manager sind Gabeln von Fedora, Mandrivac oder SUSE. Es gibt Unterschiede zwischen den Paketmanagern verschiedener Versionen dieser Distributionen. Software von Drittanbietern ist oft anders U/minDateien, die für verschiedene Linux-Distributionen wie Red Hat, Fedora, SUSE oder Mandriva angeboten werden.

Paketinformationen

Die Suchfunktionen des RPM-Programms können Auskunft über ein Paket geben online angefordert werden. Mit dem Befehl:

user@laptop~ $ U/min -qpi <Name oder URL von U/min-Datei>

Informationen über Inhalt und Herkunft der RPM-Datei können abgerufen werden.

Die Zuordnung:

user@laptop~ $ rpm -qp --erfordert Datei.rpm

druckt eine Liste der Versionen der Pakete, die auf dem System installiert werden sollen. Diese Informationen können für die Installation der Software wichtig sein.

RPMs erstellen

Das "Rezept" zum Erstellen eines RPM-Pakets ist a Spezifikationsdatei. Spezifikationsdateinamen enden auf ".spec" und diese Dateien enthalten den Paketnamen, die Version, die RPM-Revisionsnummer, Schritte zum Erstellen, Installieren und Bereinigen von Paketen sowie a Änderungsprotokoll (= Liste der Änderungen). Auf Wunsch können mehrere Pakete aus einer einzigen RPM-Spezifikationsdatei zusammengestellt werden. RPM-Pakete werden mit "rpmbuild" erstellt.

Externe Links

Weiterlesen

  • Eric Foster Johnson, 2003: Red Hat RPM-Leitfaden (ISBN 0764549650 ), eine vollständige, aktuelle Anleitung zum Erstellen von RPM-Paketen. (auf Englisch)