Definition „RPM Package Manager“ Was ist RPM?

Autor / Redakteur: HJL / Stephan Augsten

RPM steht ursprünglich für Red Hat Package Manager, heutzutage als rekursives Akronym für RPM Package Manager. Das Paketverwaltungssystem beinhaltet zum einen das Paketformat, zum anderen alle Programmhilfen für die Erstellung und Verwaltung der RPM-Pakete

Anbieter zum Thema

RPM hat die Installation und Deinstallation von Software-Paketen drastisch vereinfacht und beschleunigt.
RPM hat die Installation und Deinstallation von Software-Paketen drastisch vereinfacht und beschleunigt.
(Bild: Red Hat)

.Die Entwicklung von RPM-Paketen geht zurück auf das Jahr 1997, als das Unternehmen Red Hat seine Lösung für die Paketverwaltung vorstellte. Im Fokus dieser Entwicklung waren UNIX-artige Betriebssysteme wie Linux und OS/2 eComStation.

Zum Zeitpunkt der Vorstellung von Linux war eine vollautomatisierte Paketverwaltung nicht möglich. In der Praxis ergaben sich aus diesem Grunde Schwierigkeiten bei der gezielten Deinstallation von Paketen. Auch bei der Auflösung von Abhängigkeiten tappten die Administratoren im Dunkeln.

Diese und weitere Unzulänglichkeiten erschwerten den Betriebssystem-Distributoren die Software-Pflege und den Support. Abhilfe schufen zwei zueinander in Konkurrenz stehende Entwicklungen:

  • DPKG – der Debian Package Manager
  • RPM aus dem Hause Red Hat

Ungeachtet des Namens ist RPM nicht länger Red-Hat-spezifisch. Es ist inzwischen als selbständiges Open-Source-Produkt unter der GNU General Public License (GPL) als freie Software lizensiert.

Funktionale Grundelemente von RPM

Funktionales „Herzstück“ des Paketverwaltungssystems ist die Datenbank. Sie dient als strukturierte Residenz für Pakete und Dateien mit aktivem Bezug zu Paketen. In der Praxis der Anwendungsentwicklung und Applikationsbereitstellung bedeutet dies:

  • Informationen über jedes neu zu installierende Paket: Jedes neu zu installierende Paket wird unter Nutzung der Datenbank-Strukturen gespeichert.
  • Sichere Verwaltung von Konfigurationsdateien.
  • Prüfroutinen für die Deinstallation von Paketen: Der Package Manager prüft für jede einzelne Datei eines Pakets, ob Verknüpfungen zu anderen Paketen existieren. Wirs die Datei auch an anderer Stelle benötigt, so wird sie nicht gelöscht.
  • Verwaltung von Abhängigkeiten: RPM prüft, inwieweit ein Paket von einem oder mehreren anderen Paketen in einem Abhängigkeitsverhältnis steht. Diese Funktionalität greift sowohl bei der Installation als auch der Deinstallation von Paketen. Bei entsprechenden Abhängigkeiten wird die Deinstallation verweigert.
  • Redundanzen in Form doppelter Verzeichnisse oder Dateien werden vermieden.
  • Einfach gestaltete Software-Aktualisierung.
  • „Rollback“-Funktion zur Rückabwicklung entstandener Fehler.

RPM Fortentwicklung in zwei Versionen

Im Zuge der vielfältigen Nutzung durch zahlreiche Distributoren wurde die Aufnahme des Paketverwaltungssystems in die „Linux Standard Base“ angestrebt und unter Nutzung der Programmiersprache C neu programmiert. Unter der Ägide des bei Red Hat verantwortlichen RPM-Entwicklers Jeff Johnson wurden Weiterentwicklungen und Fehlerkorrekturen vorgenommen.

Die Ergebnisse dieses Entwicklungsstrangs wurden dem Markt unter dem Kürzel „RPM5“ zur Verfügung gestellt. Parallel forcierten diverse Distributoren im Rahmen der Fehlerbeseitigung eigene, von Johnson unabhängig durchgeführte Weiterentwicklungen in Form von Patches für RPM. Diese Fortentwicklung mündete im Jahr 2006 in einem Zusammenschluss mehrerer Distributoren mit den Entwicklungsfirmen Red Hat und Novell.

Das Resultat aus den parallelen Weiterentwicklungen sind zwei Produktversionen, die aus der Urversion von RPM entstanden sind:

  • RPM5 mit den von Jeff Johnson vorgenommenen Weiterentwicklungen
  • RPM in einer durch Patches der Distributoren angereicherten Version

Die Popularität des Paketmanagers wird bei Betrachtung der Betriebssysteme deutlich, die RPM heute nutzen.

Linux-basierte Distributionen:

  • CentOS
  • Fedora Project
  • Mageia
  • Mandriva Linux
  • MeeGo
  • openSUSE
  • Oracle Linux
  • PCLinus OS
  • Scientific Linux
  • SUSE Linux Enterprise
  • UNIX-basierte Systeme
  • AIX
  • Solaris

Weitere Systeme:

  • OS/2
  • eComStation
  • ArcaOS
  • Netware

Fazit zum RPM Paketverwaltungssystem

Als Zusammenfassung lässt sich feststellen, dass die Verwendung von RPM die Installation und Deinstallation von Software-Paketen drastisch vereinfacht. Dank RPM ist der Umgang mit Software-Paketen im Umfeld UNIX-artiger Betriebssysteme für Entwickler wie auch Anwender erheblich komfortabler handhabbar. Der Platzbedarf der RPM Datenbank im Verzeichnis /var/lib/rpm wird von Fachleuten als „verhältnismäßig groß“ bezeichnet.

(ID:46032052)