RPM -Paketmanager
Originalautor (en) | Erik Troan, Marc Ewing,[1] roter Hut |
---|---|
Entwickler (en) | Gemeinschaft & roter Hut[2][3] |
Erstveröffentlichung | 1997[1] |
Stabile Version | 4.17.0 / 3 September 2021 |
Vorschau -Version | 4.18.0 Alpha 2/5 Mai 2022 |
Repository | |
Geschrieben in | C, Perl[4] |
Betriebssystem | Linux, Unix-artig |
Verfügbar in | 40 Sprachen[5] |
Typ | Paketverwaltungssystem |
Lizenz | Gpl |
Webseite | Drehzahl |
RPM -Paketmanager (Drehzahl) (ursprünglich Red Hat Package Manager, jetzt a Rekursives Akronym) ist ein frei und offen Paketverwaltungssystem.[6] Der Name RPM bezieht sich auf die .rpm
Datei Format und das Paket -Manager -Programm selbst. Drehzahl war in erster Linie für Linux -Verteilungen; Das Dateiformat ist das Basispaketformat der Linux Standard Base.
Obwohl es für den Einsatz in erstellt wurde in Red Hat Linux, RPM wird jetzt in vielen verwendet Linux -Verteilungen wie zum Beispiel Pclinuxos, Fedora, Almalinux, Centos, OpenSuse, OpenMandriva und Oracle Linux. Es wurde auch auf andere portiert Betriebssysteme, wie zum Beispiel Novell Netware (Ab Version 6.5 SP3), IBM ist AIX (Ab Version 4),,[7] Ibm i,[8] und Arcaos.[9]
Ein RPM -Paket kann einen beliebigen Satz von Dateien enthalten. Die meisten RPM -Dateien sind „binäre RPMs“ (oder BRPMs), die die kompilierte Version einer Software enthalten. Es gibt auch „Quell -RPMs“ (oder SRPMs), die die enthalten Quellcode Wird verwendet, um ein Binärpaket zu erstellen. Diese haben ein geeignetes Tag im Dateiheader, der sie von normalen (b) -RPMs unterscheidet, wodurch sie bei der Installation an /usr /src extrahiert werden. Srpm FETT).
Geschichte
RPM wurde ursprünglich 1997 von Erik Troan und Marc Ewing geschrieben.[1] bezogen auf pms
, rpp
, und pm
Erfahrungen.
pm
wurde von Rik Faith und Doug Hoffman im Mai 1995 für Red Hat -Software geschrieben, seine Design und Implementierungen beeinflusst stark von pms
, ein Paketmanagementsystem von Faith und Kevin Martin im Herbst 1993 für die falsche Linux -Verteilung. pm
Bewahrt das "Pristinische Quellen + Patches "Paradigma von pms
, fügte Features hinzu und eliminieren willkürliche Einschränkungen, die in der Implementierung vorhanden sind. pm
Bietet eine stark verbesserte Datenbankunterstützung für die Verfolgung und Überprüfung installierter Pakete[4][10][11]
Merkmale
Für ein Systemadministrator Durch die Durchführung von Software-Installation und -wartung bietet die Verwendung von Paketverwaltung anstelle von manuellem Gebäude Vorteile wie Einfachheit, Konsistenz und die Fähigkeit, dass diese Prozesse automatisiert und nicht interaktiv sind. Drehzahl verwendet Berkeley DB Als Backend -Datenbank unterstützt sie jedoch seit 4.15 im Jahr 2019, RPM -Pakete ohne Berkeley DB (–Disable-BDB
).
Zu den Funktionen von Drehzahlen gehören:
- RPM -Pakete können kryptografisch verifiziert werden Gpg und MD5
- Originalquellarchiv (n) (z.
.tar.gz
,.tar.bz2
) sind in SRPMs enthalten, was die Überprüfung erleichtert - Delta -Update: Patchrpms und deltarpms, das RPM -Äquivalent von a Patch Datei kann die RPM-installierte Software schrittweise aktualisieren
- Automatische Bewertung der Abhängigkeit von Bauzeit.
Lokale Operationen
Pakete können innerhalb einer bestimmten Verteilung (zum Beispiel von einer bestimmten Verteilung kommen Red Hat Enterprise Linux) oder von anderen Parteien dafür gebaut werden (zum Beispiel Drehzahlfusion für Fedora Linux).[12] Kreisabhängigkeiten zwischen gegenseitig abhängigen RPMs (sogenannte "Abhängigkeit Hölle") kann problematisch sein;[13] In solchen Fällen muss ein einzelner Installationsbefehl alle relevanten Pakete angeben.
Repositorys
RPMs werden oft zentral in einem oder mehreren gesammelt Repositorys im Internet. Eine Website verfügt häufig über eigene RPM -Repositories, die entweder als lokale Spiegel solcher Internet -Repositorys oder lokal gepflegte Sammlungen nützlicher RPMs fungieren können.
Frontenden
Mehrere Frontends Um die RPM zu erleichtern, um RPMs aus Repositorys zu erhalten und zu installieren und bei der Lösung ihrer Abhängigkeiten zu helfen. Diese beinhalten:
- yum benutzt in Fedora Linux, Centos 5 und höher, Red Hat Enterprise Linux 5 und höher, Wissenschaftliche Linux, Gelbhund Linux und Oracle Linux
- DNF, eingeführt in Fedora Linux 18 (Standard seitdem 22), Red Hat Enterprise Linux 8,, Almalinux 8 und Centos Linux 8.
- up2date benutzt in Red Hat Enterprise Linux, Centos 3 und 4 und Oracle Linux
- Zypper benutzt in Mer (und so Segelfisch OS), Meego,[14] OpenSuse und SUSE Linux Enterprise
- URPMI benutzt in Mandriva Linux, Rosa Linux und Mageia
- APT-RPM, ein Hafen von Debian's Erweitertes Verpackungstool (APT) verwendet in Ark Linux,[15] Pclinuxos und Alt Linux
- Smart Package Manager, verwendet in Unity Linux, verfügbar für viele Verteilungen, einschließlich Fedora Linux.
-
rpmquery
, ein Befehlszeilendienstprogramm, das in (z. B.) Red Hat Enterprise Linux verfügbar ist -
libzypp
, zum Segelfisch os
Lokale RPM -Installationsdatenbank
Das Arbeiten hinter den Kulissen des Paketmanagers ist die RPM -Datenbank, die in gespeicherter RPM -Datenbank gespeichert ist /var/lib/rpm
. Es verwendet Berkeley DB als Back-End. Es besteht aus einer einzelnen Datenbank (Packages
) enthält alle Meta -Informationen der installierten Drehzahl. Mehrere Datenbanken werden zu Indexierungszwecken erstellt, in denen Daten repliziert werden, um Abfragen zu beschleunigen. Die Datenbank wird verwendet, um alle Dateien zu verfolgen, die geändert und erstellt werden, wenn ein Benutzer (RPM) ein Paket installiert, wodurch der Benutzer (über RPM) die Änderungen umkehren und das Paket später entfernen kann. Wenn die Datenbank beschädigt wird (was möglich ist, wenn der RPM -Client ist getötet) Die Indexdatenbanken können mit dem nachgebildet werden rpm --rebuilddb
Befehl.[16]
Beschreibung
Während das Drehzahlformat über verschiedene gleich ist Linux -VerteilungenDie detaillierten Konventionen und Richtlinien können sich auf sie variieren.
Paketfilename und Etikett
Ein Drehzahl wird in einer einzigen Datei geliefert, normalerweise mit einem Dateinamen im Format:
-
für Quellpakete oder- - .src.rpm -
für Binärdateien.- - . .RPM
Zum Beispiel im Paket Dateinamen libgnomeuimm-2.0-2.0.0_3.i386.rpm
, das
ist libgnomeuimm
, das
ist 2.0
, das
ist 2.0.0_3
, und die
ist i386
. Das zugehörige Quellpaket würde benannt libgnomeuimm-2.0-2.0.0_3.src.rpm
Drehzahl mit dem noarch.rpm
Die Erweiterung hängt nicht von einer bestimmten CPU -Architektur ab. Beispielsweise können diese RPMs Grafiken und Text für andere Programme enthalten. Sie können auch enthalten Shell -Skripte oder Programme, die in anderen interpretierten Programmiersprachen wie geschrieben wurden, z. Python.
Der Drehzahlinhalt beinhaltet auch a Paketetikett, was die folgenden Informationen enthält:
- Softwarename
- Softwareversion (die Version von Original entnommen stromaufwärts Quelle der Software)
- Paketveröffentlichung (die Häufigkeit, mit der das Paket mit derselben Version der Software umgebaut wurde). Dieses Feld wird auch häufig verwendet, um die spezifische Verteilung anzuzeigen, für die das Paket vorgesehen ist, indem Zeichenfolgen wie "MDV" (früher "MDK") (früher ") (angehängt werden) (vorhanden sind) (ehemalig" MDK ") (Mandriva Linux), "mga" (Mageia), "fc4" (Fedora -Kern 4), "RHL9" (Red Hat Linux 9), "SUSE100" (SUSE Linux 10.0) etc. etc.
- Architektur, für die das Paket erstellt wurde (i386, i686, x86_64, ppc usw.)
Die Paketetikettenfelder müssen nicht mit dem Dateinamen übereinstimmen.
Bibliotheksverpackung
Bibliotheken werden für jede Version in zwei separaten Paketen verteilt. Einer enthält den vorkompilierten Code für die Verwendung zur Laufzeit, während der zweite die zugehörigen Entwicklungsdateien wie Header usw. enthält. Diese Pakete haben "-sevel" an ihrem Namen des Namens angehängt. Der Systemadministrator sollte sicherstellen, dass die Versionen der Binär- und Entwicklungspakete übereinstimmen.
Binärformat
Das Format ist binär und besteht aus vier Abschnitten:[6]
- Das Lead, das die Datei als RPM -Datei identifiziert und einige veraltete Header enthält.
- Die Signatur, die verwendet werden kann, um Integrität und/oder Authentizität zu gewährleisten.
- Der Kopfball, der enthält Metadaten Inklusive Paketname, Version, Architektur, Dateiliste usw.
- Ein Dateiarchiv (das Nutzlast), was normalerweise in ist CPIO Format, komprimiert mit gzip. Das
rpm2cpio
Das Tool ermöglicht das Abrufen der CPIO -Datei, ohne das RPM -Paket zu installieren.[17]- Die Linux -Standardbasis erfordert die Verwendung von GZIP, aber Fedora 30 Pakete sind xz-komprimiert und Fedora 31 Pakete könnten sein ZSTD-komprimiert.[18] Neuere Versionen von RPM können ebenfalls verwendet werden BZIP2, Lzip,[19] oder Lzma Kompression.
- RPM 5.0 -Format unterstützt die Verwendung Xar zum Archivieren.
Spezifikationsdatei
Das "Rezept" zum Erstellen eines RPM -Pakets ist eine technische Datei. Die Spezifikationsdateien enden im Suffix ".spec" und enthalten den Paketnamen, die Version, die RPM -Revisionsnummer, die Schritte zum Erstellen, Installieren und Reinigen eines Pakets und einen ChangeLog. Auf Wunsch können mehrere Pakete aus einer einzelnen Drehzahlspezifikationsdatei erstellt werden. RPM -Pakete werden mit RPMBuild -Tool aus RPM -Spezifikationsdateien erstellt.
Spezifikatoren werden normalerweise in SRPM -Dateien verteilt, die zusammen mit dem Quellcode die Spezifikationsdatei enthalten.
SRPM
Eine typische Drehzahl ist eine vorkompilierte Software, die für die direkte Installation bereit ist. Der entsprechende Quellcode kann auch verteilt werden. Dies geschieht in einem SRPM, der auch die "Spec" -Datei enthält, in der die Software beschrieben wird und wie sie erstellt wird. Das SRPM ermöglicht dem Benutzer auch den Code selbst, den Code selbst zu kompilieren und zu ändern.
Ein Softwarepaket könnte nur plattformunabhängige Skripte enthalten. In einem solchen Fall konnte der Entwickler nur eine SRPM liefern, was immer noch eine installierbare Drehzahl ist.
NOSRC
Dies ist eine spezielle Version von SRPM. Es enthält "Spec" -Datei und optional Patches, enthält jedoch keine Quellen (normalerweise wegen Lizenz).[20]
Gabeln
Ab Juni 2010[aktualisieren]Es gibt zwei Versionen von Drehzahlen in der Entwicklung: eine vom Fedora -Projekt und Red Hat und die andere von einer separaten Gruppe unter der Leitung einer früheren Gruppe Betreuer von Drehzahl, ein ehemaliger Mitarbeiter von Red Hat.
Rpm.org
Das rpm.org Die erste große Code -Revision der Community war im Juli 2007; Version 4.8 wurde im Januar 2010 veröffentlicht, Version 4.9 im März 2011, 4.10 im Mai 2012, 4.11 im Januar 2013, 4.12 im September 2014 und 4.13 im Juli 2015.
Diese Version wird von Verteilungen verwendet, wie z. Fedora Linux, Red Hat Enterprise Linux und Derivate, OpenSuse, SUSE Linux Enterprise, Unity Linux, Mageia,[21] Eröffnet, Tizen und OpenMandriva LX (früher Mandriva).
Drehzahl v5
Jeff Johnson, der RPM -Betreuer seit 1999, setzte die Entwicklungsbemühungen zusammen mit den Teilnehmern mehrerer anderer Verteilungen fort. RPM Version 5 wurde im Mai 2007 veröffentlicht.
Diese Version wird von Verteilungen verwendet, wie z. Wind River Linux (bis Wind River Linux 10), Rosa Linux und OpenMandriva LX (ehemalige Mandriva Linux die 2011 auf RPM5 umgestellt wurde[22]) und auch durch die OpenPKG Projekt, das Pakete für andere gemeinsame Unix-Plattformen bereitstellt.
OpenMandriva LX wird zurück zu RP.Org wechseln[23] Für 4.0 Veröffentlichung.[Benötigt Update]
EröffnetDer letzte große Benutzer von RPM5 wechselte aufgrund von Problemen in RPM5 auf RPM.org zurück.[24][25]
Siehe auch
- Autopackage - Ein "komplementäres" Paketverwaltungssystem
- Delta ISO - Ein ISO -Bild, das RPM -Paket -Paket -Manager -Dateien enthält
- dpkg - Paketmanagementsystem, das von Debian und seinen Derivaten verwendet wird
- Liste der RPM-basierten Linux-Verteilungen
- PKG-Konfiguration - Fragen Sie Bibliotheken ab, um Software aus seinem Quellcode zu kompilieren
Verweise
- ^ "RPM - Pläne, Ziele usw.". Max Spevack. Abgerufen 2011-01-20.
- ^ "RPM.org FAQ". Archiviert von das Original Am 2016-11-05. Abgerufen 2013-08-25.
- ^ a b Bailey, Edward C. (2000). "Kapitel 1: Eine Einführung in das Paketmanagement". Maximale Drehzahl: Den Red Hat Paket Manager an die Grenze bringen. Red Hat, Inc. S. 22–25. ISBN 978-1888172782. Archiviert von das Original Am 2016-09-10. Abgerufen 2013-08-13.
- ^ "po/linguas". Github. 2022-04-23.
- ^ a b Bailey, Edward C. (2000). "Anhang A: Format der RPM -Datei". Maximale Drehzahl: Den Red Hat Paket Manager an die Grenze bringen. Red Hat, Inc. S. 325–336. ISBN 978-1888172782. Archiviert von das Original am 2016-04-21. Abgerufen 2010-11-22.
- ^ "Konfigurieren von Yum und Erstellen lokaler Repositories auf IBM AIX". 2018-10-24.
- ^ "RPM und Yum sind eine große Sache für IBM i. Hier ist warum". 2018-07-18.
- ^ "Paket-Manager". Abgerufen 2020-09-04.
- ^ "RPM Guide -RPM - Designziele". Abgerufen 2014-04-14.
- ^ "Schein bekannt". Abgerufen 2014-04-14.
- ^ "RPM Fusion". rpmfusion.org. Abgerufen 2010-11-22.
- ^ "Eine Analyse der RPM -Validierungsdrift" (PDF). Usenix Association. Abgerufen 2011-03-15.
- ^ "Zypper - Meego Wiki". Archiviert von das Original Am 2013-09-25. Abgerufen 2014-04-14.
- ^ "FAQs: über die Projekte". Offizielle Site von Ark Linux. Archiviert von das Original Am 2012-02-11. Abgerufen 2014-04-14.
- ^ "Reparieren Sie eine RPM -Datenbank sicher". Abgerufen 2011-11-11.
- ^ "Ergänzende Verpackungssoftware". Fedora -Projekt. Abgerufen 2011-11-11.
- ^ "RPMS auf ZSTD -Komprimierung wechseln". Fedora -Projekt (Wiki). Abgerufen 2019-06-02.
- ^ "[Patch] Fügen Sie LZIP -Unterstützung hinzu". Archiviert von das Original am 2016-03-04. Abgerufen 2013-10-24.
- ^ "Wie man proprietäre Software verpackt". 10. Dezember 2014. Abgerufen 2018-07-02.
- ^ "Magea 3 Versionshinweise: Paketverwaltung". Mageia.org. 2013-05-19. Abgerufen 2014-04-14.
- ^ Bodnar, Ladislav & Smith, Jesse (2010-11-22). "Weekly Distrowatch". Distrowatch. Abgerufen 2010-11-22.
- ^ "Forum: Wechsel zu RPMV4". Abgerufen 2018-03-03.
- ^ "YP Core - Pyro 2.3". Yocto -Projekt. 2017-05-12. Archiviert vom Original am 2017-12-05. Abgerufen 2017-12-04.
{{}}
: CS1 Wartung: Bot: Original -URL -Status unbekannt (Link)() - ^ "[Eröffnete Architektur] ändert sich, wenn der Wechsel von Smart zu DNF verursacht wird". Yocto -Projekt. 2017-02-14. Abgerufen 2018-11-04.
- Schroeder, Jeff (2008-01-30). "Advanced Drehzahl von Abfragen". www.digitalprognose.com. Archiviert von das Original Am 2011-08-09. Abgerufen 2018-03-28.
Externe Links
- RPM.ORG -Projekt Homepage
- RPM- und DPKG -Befehlsreferenz
- Die Geschichte der Drehzahl von Matt Frye in Red Hat Magazine Archiviert 2007-09-29 bei der Wayback -Maschine
- So erstellen Sie ein Drehzahlpaket
- Video -Tutorials zum Erstellen und Patchen der Drehzahl
- Drehzahlnotizen - RPMs auf einfache Weise erstellen
- Verpackungssoftware mit Drehzahl, Teil 1: Erstellen und Vertriebspakete
- Lernen Sie Linux, 101: U / min und YUM -Paketverwaltung