Suchen

4.4.6. Aktualisierungen am RPM Package Manager (RPM)

download PDF
Red Hat Enterprise Linux 7 enthält eine aktualisierte Version des RPM Package Managers. Diese Aktualisierung bringt eine Reihe von Änderungen mit sich, die sich auf die Migration auswirken können.
  • Die Konflikterkennung ist nun strenger und korrekter. Einige Pakete, die unter Red Hat Enterprise Linux 6 installiert werden konnten, können aufgrund dieser erhöhten Konflikterkennung möglicherweise nicht unter Red Hat Enterprise Linux 7 installiert werden.
  • Pakete, dessen verschiedene Versionen miteinander im Konflikt stehen, können nun installiert werden. Dies ermöglicht es Benutzern, ein Singleton-Verhalten zwischen diesen Alternativen zu konfigurieren.
  • Falls ein installiertes Paket ein anderes Paket als obsolet auflistet, dann wird dieses andere Paket nicht installiert.
  • Die Regeln zur Erkennung von veralteten Paketen ziehen nun alle passenden Pakete in Betracht, unabhängig von anderen Attributen wie z.B. der Architektur.
  • Die Berechnung von Abhängigkeiten betrachtet solche Dateien nicht länger als vorhanden, die ersetzt oder nicht installiert wurden, weil zum Beispiel die Optionen --nodocs, --noconfig oder --force verwendet wurden.
  • Es ist nicht mehr nötig, manuell rm -f /var/lib/rpm/__db. auszuführen, wenn eine RPM Package Manager Datenbank neu erstellt wird, auf der eine Panik auftrat (DB_RUNRECOVER).
  • Öffentliche Schlüssel, die mit OpenPGP 3 erstellt wurden, werden nicht mehr unterstützt.
  • Die --info Option gibt nun einzelne Schlüssel-Wert-Paare pro Zeile aus, um die Lesbarkeit zu verbessern. Skripte, die auf dem früheren --info Format basieren, müssen umgeschrieben werden.
  • Der Spec-Parser ist nun strenger und korrekter, weshalb einige bislang akzeptierte Spec-Dateien unter Umständen nicht mehr analysiert werden können oder Warnungen generieren.
  • %license kann nun dazu verwendet werden, um Dateien im %files Abschnitt einer Spec-Datei zu kennzeichnen, die installiert werden müssen, selbst wenn --nodocs angegeben ist.
  • Der Versionsvergleich unterstützt nun wie dpkg den Tilde-Operator (~), um Pre-Release-Software besser zu handhaben. Beispielsweise gilt foo-2.0~beta1 als älter als foo-2.0. Auf diese Weise sind keine Tricks mehr mit dem Release-Feld erforderlich, um diese üblichen Upstream-Versionierungspraktiken zu handhaben.
  • Der automatische Abhängigkeitsgenerator wurde neu geschrieben als erweiterbares, anpassbares und regelbasiertes System mit integrierter Filterung.
Diese Aktualisierung umfasst zudem die folgenden Verbesserungen:
  • Es ist nun möglich abzufragen, welche Dateien von einem Paket installiert wurden (INSTFILENAMES), wie viele Hard-Links auf eine Datei verweisen (FILENLINKS), sowie Details des Paket-Versionskontrollsystems (VCS) und formatierte Shortcuts von Abhängigkeitsstrings (PROVIDENEVRS, REQUIRENEVRS, CONFLICTNEVRS, OBSOLETENEVRS).
  • Eine Reihe neuer Befehle sind enthalten, unter anderem:
    • rpmkeys
    • rpmdb
    • rpmspec
    • rpmsign
  • RPM Package Manager enthält nun neue Switches für Skriptlets, die Makroerweiterung zur Laufzeit und Queryformat-Erweiterung zur Laufzeit ermöglichen.
  • Prä- und Posttransaktions-Skriptlet-Abhängigkeiten können nun korrekt mit Requires(pretrans) und Requires(posttrans) ausgedrückt werden.
  • RPM Package Manager enthält nun den OrderWithRequires Tag, der Benutzern die Angabe zusätzlicher Informationen zur Reihenfolge ermöglicht. Dieser neue Tag verwendet dieselbe Syntax wie der Requires-Tag, generiert jedoch keine Abhängigkeiten. Falls genannte Pakete in derselben Transaktion vorhanden sind, werden die Hinweise zur Reihenfolge bei der Berechnung der Transaktionsreihenfolge wie Requires gehandhabt.
  • Zeilenfortsetzungen und Makroerweiterungen in Spec-Dateien sind nicht mehr auf eine bestimmte Länge beschränkt.
  • RPM Package Manager ermöglicht es Benutzern nun, Informationen zum Upstream-Versionskontroll-Repository anzugeben.
  • RPM Package Manager enthält nun ein %autosetup Makro, das dabei hilft, das Anwenden von Patches zu automatisieren.
Red Hat logoGithubRedditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

© 2024 Red Hat, Inc.