RPM Package Manager ist ein Paketverwaltungstool zum Installieren, Aktualisieren, Deinstallieren, Überprüfen und Anfordern von Programmen
Die Veröffentlichung der neuen Version des Paketmanagers „RPM 4.19“ wurde angekündigt und die vorgenommenen Verbesserungen und Korrekturen sowie Verbesserungen bei APIS, Support, einem neuen CMake-Kompilierungssystem und anderen weiteren Dingen hervorgehoben.
Derzeit wird das RPM4-Projekt von Red Hat entwickelt und in Distributionen wie RHEL verwendet (einschließlich von CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux abgeleitete Projekte), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen und viele andere.
Zuvor hat ein unabhängiges Entwicklungsteam das RPM5-Projekt entwickelt, das nicht direkt mit RPM4 zusammenhängt und derzeit aufgegeben wird (es wurde seit 2010 nicht aktualisiert).
Ein RPM-Paket kann einen beliebigen Satz von Dateien enthalten. Am meisten RPM-Dateien sind "binäre RPM" (oder BRPM), die die kompilierte Version einer Software enthalten. Es gibt auch Quell-RPMs (oder SRPMs), die den Quellcode enthalten, der zum Erstellen eines Binärpakets verwendet wird. SRPMs haben normalerweise die Dateierweiterung „.src.rpm“ (.spm ist auf Dateisystemen auf 3 Zeichen in der Erweiterung beschränkt, z. B. altes DOS FAT).
Wichtige neue Funktionen von RPM 4.19
In dieser neuen Version von RPM 4.19, die vorgestellt wird, ist eine der neuen Funktionen, die auffällt, dass sie hinzugefügt wurde Unterstützung für „.specpart“-Dateien zur dynamischen Generierung von Spezifikationsdateien sowie «–Unterpakete generieren» zu find_lang.sh hinzugefügt, das .specpart verwendet.
Eine weitere herausragende Änderung in dieser neuen Version von RPM 4.19 ist, dass ese ermöglicht die Integration mit dem Systembenutzerkontoverzeichnis sysusers.d zur automatischen Verarbeitung von Benutzern und Gruppen sowie zum Hinzufügen Unterstützung für die Generierung von Benutzern und Gruppen aus den Dateien /etc/passwd, /etc/group und sysusers.d im Paket enthalten.
Bezüglich der Support-Verbesserungen fällt auf, dass zusätzlich die x86-64-Architekturstufen () als Architekturen hinzugefügt wurden behoben, wie x86-Modelle in rpmrc abgeleitet werden, Außerdem wurde eine Änderung am CMake-Kompilierungssystem vorgenommen, das Autotools ersetzt fakechroot wurde durch Container-Technologie ersetzt.
Wir können auch feststellen, dass in den Spezifikationsdateien Unterstützung für %preuntrans- und %postuntrans-Skriptlets hinzugefügt wurde, und dass das Dienstprogramm rpmsort hinzugefügt wurde, um RPM-Paketversionen zu sortieren.
Darüber hinaus wurden die Optionen „–nopreuntrans“, „–nopostuntrans“ und „–nosysusers“ hinzugefügt, um Skripte zu deaktivieren und Benutzer und Gruppen automatisch während der Paketinstallation zu erstellen.
Von den anderen Änderungen das hebt sich von dieser neuen Version ab:
- Sorgen Sie dafür, dass Benutzer-/Gruppeninformationen in Chroot zuverlässig funktionieren
- Machen Sie rpmscript-Maschinen chroot-freundlich
- Die in 4.18 eingeführte Plugin-Hook-Regression pro Datei wurde behoben
- Unterdrücken Sie die Warnmeldung zur Sperrsperre, wenn der DBus-Dienst nicht verfügbar ist
- Fehlende Includes in macOS beheben
- Die Funktion zur Datei classifierrpmfcNew() wurde für veraltet erklärt
- Das Ignorieren des Exit-Codes von untergeordneten Skripten im Falle von EINTR wurde behoben
- Der rpmioe-Thread-Aktivierungscode wurde vereinfacht und bereinigt.
- Der %files-Block und das Befehlszeilendienstprogramm unterstützen jetzt Globbing im Shell-Stil und Sonderzeichen-Escapezeichen.
- Entfernen Sie einige andere alte und überflüssige Konfigurationszeitprüfungen
- Teilen Sie Übersetzungen in ein separates Projekt auf
- Standardmäßig ist das Gebietsschema C.UTF-8 eingestellt, ein Fallback auf C ist möglich
- Bibliotheken wurden als cmake „find_package()“-Konfiguration exportiert
- Die Funktionen rpmGlobPath(), rpmEscape() und rpmUnescape() wurden der API hinzugefügt.
- Die Assembly-Parallelisierung erfolgt nun unter Berücksichtigung von Speicher und Adressraum.
- Entwicklungsdokumentation beim Erstellen der Dokumentation hinzugefügt.
- Verschiedene weitere Ergänzungen und Korrekturen
- Für Projekte, die CMake verwenden, wird die Funktion find_package(rpm) bereitgestellt.
- Ein Segmentierungsfehler in einem nicht verkettbaren Argument für einen Makroaufruf von Lua wurde behoben
Schließlich wenn Sie mehr darüber wissen möchten Von dieser neuen Version können Sie die Details überprüfen im folgenden Link.