|
|
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| {{DISPLAYTITLE:rpm}}
| | [[Kategorie:Linux/Software/Verwaltung]] |
| '''rpm''' ist ein [[Paketverwaltung]]s-System für [[Linux]]
| |
| | |
| == Beschreibung ==
| |
| [[Datei:RPM Logo.svg|180px|thumb| Logo von RPM Package Manager]]
| |
| | |
| '''RPM Package Manager''' ist ein [[Freie Software|freies]] ([[GNU General Public License|GPL]]) [[Paketverwaltung]]s-System, ursprünglich entwickelt von dem Unternehmen [[Red Hat]].
| |
| * Es umfasst das Paketformat und alle nötigen Programme, um RPM-Pakete zu erstellen und zu [[Paketverwaltung|verwalten]].
| |
| | |
| Das RPM-Format ist Teil der [[Linux Standard Base]]
| |
| | |
| ; Bezeichnung
| |
| Ursprünglich
| |
| :'''R'''ed Hat '''P'''ackage '''M'''anager
| |
| | |
| Aktuell
| |
| :'''R'''PM '''P'''ackage '''M'''anager
| |
| | |
| == Installation ==
| |
| == Anwendungen ==
| |
| === Fehlerbehebung ===
| |
| == Syntax ==
| |
| === Optionen ===
| |
| === Parameter ===
| |
| === Umgebungsvariablen ===
| |
| === Exit-Status ===
| |
| == Konfiguration ==
| |
| === Dateien ===
| |
| == Sicherheit ==
| |
| == Dokumentation ==
| |
| === RFC ===
| |
| === Man-Pages ===
| |
| === Info-Pages ===
| |
| == Siehe auch ==
| |
| # [[Paketverwaltung]]
| |
| | |
| == Links ==
| |
| === Projekt-Homepage ===
| |
| === Weblinks ===
| |
| # [http://rpm.org/ Projektseite von rpm.org] (englisch)
| |
| # [http://rpm5.org/ Projektseite von rpm5.org] (englisch)
| |
| # [http://apt-rpm.org/ APT-RPM] (englisch)
| |
| # {{dmoz|Computers/Data_Formats/Archive/RPM/|RPM}}
| |
| # {{Webarchiv | url=http://www.xinux.de/docs/linux/rpm/ | wayback=20080225214130 | text=RPM E-Book}} von Thomas Schletter
| |
| | |
| === Einzelnachweise ===
| |
| <references />
| |
| == Testfragen ==
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 1''
| |
| <div class="mw-collapsible-content">'''Antwort1'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 2''
| |
| <div class="mw-collapsible-content">'''Antwort2'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 3''
| |
| <div class="mw-collapsible-content">'''Antwort3'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 4''
| |
| <div class="mw-collapsible-content">'''Antwort4'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 5''
| |
| <div class="mw-collapsible-content">'''Antwort5'''</div>
| |
| </div>
| |
| | |
| [[Kategorie:Entwurf]] | |
| | |
| | |
| = Wikipedia =
| |
| == Geschichte ==
| |
| Ursprünglich bedeutete RPM ''R''ed Hat ''P''ackage ''M''anagement.
| |
| * Ende der Neunziger wurde der Name jedoch in ''R''PM ''P''ackage ''M''anagement geändert.
| |
| ** Der Hintergrund waren rechtliche Aspekte.
| |
| * RPM wurde inzwischen von vielen Distributoren verwendet, und man strebte die Aufnahme von RPM in die [[Linux Standard Base]] an.
| |
| * Der Unternehmensname (Firma) im Namen der Software hätte dies zumindest erschwert.
| |
| | |
| [[Linux-Distribution]]en
| |
| * [[OpenSUSE|SUSE]]
| |
| * [[Mageia]]
| |
| * [[Mandriva Linux]]
| |
| | |
| [[Unix]]-Systeme
| |
| * [[IBM]] [[AIX]]
| |
| * [[Solaris (Betriebssystem)|Solaris]]
| |
| | |
| Da die meisten Linux-Distributionen freie Software sind, besteht der Vorteil einer bestimmten Distribution gegenüber anderen zu einem großen Teil aus den Annehmlichkeiten des jeweiligen Paket-Managers (und aus den zusammengestellten, getesteten und regelmäßig aktualisierten (RPM-)Paketsammlungen des jeweiligen Distributors im Internet).
| |
| Pakete zwischen Distributoren auszutauschen, war früher nahezu unmöglich.
| |
| * Dies wurde mit RPM einfacher, ist aber immer noch mit Problemen behaftet, da die verschiedenen Distributionen, die RPM benutzen, oft verschiedene Versionen und/oder Konfigurationen von Systemsoftware wie etwa Grafik-Bibliotheken verwenden.
| |
| | |
| Für den Entwickler vereinfacht ein Paketverwaltungssystem wie RPM das Einbauen von Software in die durch die Distribution vorgegebene Struktur (Pfade, Abhängigkeiten, Dateinamen, Paketnamen).
| |
| * Das Paketformat selbst überprüft allerdings den jeweiligen Inhalt eines Pakets nicht automatisch.
| |
| * Der Entwickler bestimmt den Aufbau des Paketes selbständig und muss sich damit für jede Distribution in die jeweiligen Besonderheiten einarbeiten.
| |
| | |
| Mit Einführung der Linux Standard Base wurden viele Unstimmigkeiten zwischen den Distributoren ausgeräumt.
| |
| * LSB erleichtert die Arbeit der Paketbauer erheblich, weil zumindest Dateinamen und Pfade vereinheitlicht sind.
| |
| * Entsprechende Sorgfalt des Paketmaintainers vorausgesetzt, lässt sich relativ sicher ein RPM von einem anderen LSB-Distributor in ein beliebiges anderes LSB-System einspielen.
| |
| | |
| == Portierungen ==
| |
| Eine Paketverwaltung ist systemabhängig.
| |
| * So besitzen außer verschiedenen Distributoren nicht mal alle Linuxanbieter das gleiche Paketformat.
| |
| * Andere Systeme bringen natürlich ihre eigene Software mit.
| |
| | |
| Da aber auf vielen anderen Unix-Systemen mittlerweile die GNU-Software zur Grundausstattung gehört (zumindest installiert der Systemverwalter sie in der Regel ganz schnell nach) wurde auch RPM – vor allem im Rahmen des Projektes [[OpenPKG]] – auf andere Systeme portiert, wodurch man einfach zusätzliche Software einspielen kann.
| |
| | |
| In gewissem Sinn ist dies gleichermaßen ein Fortschritt und ein Rückschritt.
| |
| * Bisher haben Systemverwalter aus den Quellen die Software selber kompiliert und dann in das System eingepflegt.
| |
| * Dieser Schritt und die damit angefallene Arbeit entfallen natürlich.
| |
| | |
| Allerdings gibt es zwischen der Paketdatenbank von RPM und der systemeigenen Paketdatenbank keine Kommunikation, und somit werden doppelte Installationen genauso wenig aufgelöst wie fehlende Systemabhängigkeiten über die Paketsysteme hinweg.
| |
| | |
| Für [[OS/2]] bzw. [[EComStation|ecomstation]] wurde das System auch portiert,<ref>http://trac.netlabs.org/rpm</ref> so dass es sich inzwischen nicht mehr nur auf unixartige Betriebssysteme beschränkt.
| |
| | |
| == Aufbau ==
| |
| Die RPM-Dateien sind in der Regel mit [[gzip]] oder [[LZMA]]<ref name="XZ">{{Internetquelle | url=http://fedoraproject.org/wiki/Features/XZRpmPayloads | titel=XZ (LZMA) Payloads in RPM | autor=Poelstra | hrsg=[[Fedora-Projekt]] | datum=2009-08-19 | zugriff=2014-05-02 | sprache=englisch}}</ref> ([[xz]]) komprimierte [[cpio]]-Archive, die einzelnen Teile können jedoch einfach nach bestimmten Informationen durchsucht werden, denn ein [[Kopfdaten]]bereich im Binärformat ist an jedes Paket angefügt.
| |
| * Diese Kopfdaten sind nicht komprimiert und enthalten alle wichtigen Informationen.
| |
| * Das erleichtert das schnelle Durchsuchen von RPM-Paketen.
| |
| | |
| Entpacken ohne Installation ist möglich: <code>rpm2cpio foo.rpm | cpio -idmv</code>
| |
| | |
| == XML Package Metadata ==
| |
| In den RPM-Spezifikationen finden sich ebenfalls die Spezifikationen für Verzeichnisse mehrerer RPM-Pakete.
| |
| * Die Pakete werden dabei in einem Verzeichnis gespeichert, das neben den Paketen noch Informationen über die Pakete selbst in Form von Metadaten-Dateien enthält.
| |
| * Wenn ein geeignetes Programm dann Informationen über die im Verzeichnis enthaltene Software benötigt, reicht es, die Metadaten herunterzuladen.
| |
| * In diesen Daten sind die vorhandenen Pakete, deren Versionen, Abhängigkeiten, Architektur etc.
| |
| * enthalten.
| |
| | |
| Programme, die XML-Package-Metadaten verwalten können, sind yum, Yast, Red Carpet, smartpm und apt-rpm.
| |
| <!-- Gehört wohl er in Wikibook
| |
| | |
| == Nutzung von RPM ==
| |
| === Beispiele zur RPM-Benutzung ===
| |
| Die einfachste Möglichkeit der Anwendung ist die Installation eines Paketes.
| |
| * Beispiel:
| |
| rpm -i BEISPIEL-1.0-1.i386.rpm
| |
| Empfehlenswerter ist allerdings, die Option -U sowohl zum Aktualisieren ("update") sowie zur erstmaligen Installation zu verwenden:
| |
| rpm -U BEISPIEL
| |
| Allerdings sollte man die Option -i (statt -U) bei Kernel-Paketen verwenden! (http://docs.fedoraproject.org/deployment-guide/f12/en-US/html-single/#s2-rpm-installing)
| |
| | |
| Zur Deinstallation eines Paketes gibt man in der Konsole ein:
| |
| rpm -e BEISPIEL
| |
| Anzeigen aller im (bereits installierten) Paket enthaltenen Dateien:
| |
| rpm -ql BEISPIEL
| |
| Weiteres auf den [[Manpage]]s von rpm oder unter
| |
| rpm --help
| |
| Alle installierten Pakete (Liste mit Paketnamen) anzeigen
| |
| rpm -qa
| |
| Zuletzt installierte Pakete anzeigen
| |
| rpm -qa -last
| |
| Ermitteln, zu welchem Paket eine Datei gehört
| |
| rpm -qf <DATEINAME>
| |
| | |
| -->
| |
| | |
| == Programme, die RPM-Pakete verarbeiten ==
| |
| rpm – ein [[Linux]]-Programm, das direkt über die Konsole aufrufbar ist
| |
| | |
| === Konsolen-Frontends ===
| |
| * [[urpm]] von [[Mandriva]] – damit werden bei der Installation automatisch die Abhängigkeiten aufgelöst.
| |
| * up2date von Red Hat
| |
| * [[Yellowdog Updater, Modified]] (Yum)
| |
| * [[YaST]] von [[SuSE]] – enthält ein Modul zur Verwaltung von RPMs
| |
| * [[Smart Package Manager]] – dieses Werkzeug greift auf bestehende Werkzeuge (rpm, dpkg, … ) zurück und kann so auf vielen Distributionen eine einheitliche Oberfläche bieten
| |
| * [[DNF (Dandified Yum)|DNF]]
| |
| * rpm-ostree – Tool aus Red Hats Container-Betriebssystem Atomic Host
| |
| === GUI-Frontends ===
| |
| * KPackage ([[K Desktop Environment|KDE]])
| |
| * gnorpm ([[Gnome]])
| |
| * Yumex und KYum – zwei grafische Oberflächen für Yum (Gnome; KDE)
| |
| * [[PackageKit]] – ein grafisches Programm, das sowohl auf der Basis von APT als auch auf Yum läuft.
| |
| * anpm (ArcaNoaePackageManager) – Frontend für OS2 bzw.
| |
| * eComStation.<ref>https://www.arcanoae.com/resources/downloadables/</ref>
| |
| === Maintaining Tools ===
| |
| * apt4rpm – eine Portierung von [[Advanced Packaging Tool|APT]] für das RPM-Format.
| |
| * rpmlint
| |
| * [[Alien (Programm)|alien]] – ein Programm, welches RPM-Pakete in [[Debian-Paket]]e für [[Debian]] (und auf dessen Paketverwaltung aufbauende Distributionen wie [[Ubuntu]]), und umgekehrt, konvertiert.
| |
| === Server / Repositories ===
| |
| * [[RHN]]
| |
| * [[Spacewalk (Software)|Spacewalk]] – rpm repository channel tool
| |
| * [[openSUSE Build Service]]
| |
| * [[Pulp (Software)|Pulp]] – rpm repository channel tool wie Spacewalk
| |
| | |
| == Betriebssysteme, die RPM nutzen ==
| |
| === Linux-Distributionen ===
| |
| * [[AlmaLinux]]
| |
| * [[CentOS]]
| |
| * [[Fedora (Linux-Distribution)|Fedora Project]]
| |
| * [[Mageia]]
| |
| * [[Mandriva Linux]] (nutzt einen Fork)
| |
| * [[MeeGo]]
| |
| * [[openSUSE]]
| |
| * [[Oracle Linux]]
| |
| * [[PCLinuxOS]]
| |
| * [[Red Hat Enterprise Linux]]
| |
| * [[Jolla#Sailfish OS|Sailfish OS]]
| |
| * [[Scientific Linux]]
| |
| * [[SUSE Linux Enterprise]] ([[SUSE Linux Enterprise Server]])
| |
| | |
| === UNIX-Systeme ===
| |
| * [[AIX]]
| |
| * [[Solaris (Betriebssystem)|Solaris]]
| |
| | |
| === Andere ===
| |
| * [[OS/2]] / [[eComStation]] / [[ArcaOS]]
| |
| * [[Netware]]
| |
| | |
| {{SORTIERUNG:rpm}}
| |
| | |
| [[Kategorie:Linux:Software]]
| |