DNF5-SPECS(7) | dnf5 | DNF5-SPECS(7) |
BEZEICHNUNG
dnf5-specs - Muster-Spezifikation
BESCHREIBUNG
Für Argumente im *-Angabe-Format sind unterschiedliche Mustervergleichsregeln für die Aktion mit jedem Entitätstyp in DNF5 definiert. In diesem Abschnitt werden alle Regeln ausführlich beschrieben und anhand von Beispielen erläutert.
GLOBS
Die Musterspezifikation unterstützt denselben Glob-Musterabgleich wie die Shell. Folgende Muster werden unterstützt:
- *
- Stimmt mit einer beliebigen Anzahl von Zeichen überein.
- ?
- Stimmt mit jedem einzelnen Zeichen überein.
- []
- Stimmt mit irgendeinem der eingeschlossenen Zeichen überein. Ein durch einen Bindestrich getrenntes Zeichenpaar kennzeichnet einen Bereichsausdruck; jedes Zeichen zwischen diesen beiden Zeichen und die angegebenen Zeichen selbst werden als Übereinstimmung erkannt. Ist das erste Zeichen nach dem [ ein ! oder ein ^, wird jedes nicht eingeschlossene Zeichen als Übereinstimmung erkannt.
Hinweis: Geschweifte Klammern ({}) werden nicht unterstützt. Sie können sie weiterhin in Shells verwenden, die sie unterstützen, und die Expansion der Shell überlassen. Wenn sie jedoch in Anführungszeichen gesetzt oder maskiert sind, werden sie von DNF5 nicht expandiert.
PAKETE
Viele Befehle verwenden den Parameter Paketangabe*, der ein Paket für die Aktion auswählt. Das Argument Paketangabe* wird mit Folgendem abgeglichen:
- NEVRA [N] oder NEVRA ohne Berücksichtigung der Groß-/Kleinschreibung [NI]
- Provides [P] (Bereitstellungen)
- Dateibereitstellungen [F]
- Binärdateien [B]
Der Abgleich erfolgt sequenziell, bis ein Treffer gefunden wird.
Beispielsweise wird Paketangabe-NP zuerst mit NEVRAs abgeglichen.Wenn kein passendes NEVRA gefunden wird, wird es mit Bereitstellungen abgeglichen.
Wenn die Paketangabe ein Paketname oder eine Bereitstellung ist, kann der Benutzer zusätzliche Einschränkungsregeln für den Abgleich der Argumente festlegen. Hierzu können einfache Versionsvergleiche verwendet werden (=, >, <, >=, <=), wie z.B. Paketangabe >= version, wobei das Argument Version im Format [EPOCHE:]VERSION[-VERÖFFENTLICHUNG] vorliegt, wie im Abschnitt NEVRA-Musterübereinstimmung angegeben.
Für komplexere Ausdrücke wird außerdem eine umfangreiche Abhängigkeitsfunktionalität unterstützt, die stets in Klammern steht. Boolesche Operatoren und Verschachtelungen können verwendet werden, z.B. (<Angabe1> oder (<Angabe2> und<Angabe3>)). Weitere Informationen finden Sie unter Boolesche RPM-Abhängigkeiten.
NEVRA-Musterübereinstimmung
Jedes Paket kann durch die NEVRA-Zeichenkette eindeutig identifiziert werden. Sie besteht aus fünf Informationsteilen:
- Name
-
Paketname.
- Epoche
-
»Epoch«-Zahl (des RPM-Pakets, nicht der Beginn der Unix-Zeitrechnung). Sie ist nicht immer vorhanden.
Die Epochennummer setzt andere Versionsprüfungen außer Kraft und kann daher verwendet werden, um die Aktualisierung eines Pakets gegenüber einem anderen zu erzwingen.
- Version
-
Versionszeichenkette. Sie ist nicht strikt numerisch, was beabsichtigt ist, um die Softwareversion der Entwickler widerzuspiegeln.
- Veröffentlichung
-
Veröffentlichungs-Zeichenkette.
Es handelt sich um eine Information über den jeweiligen Paket-Build, üblicherweise eine Nummer, die mit dem neueren Build erhöht wird. Sie hat keinen Bezug zur Versionierung der Software der Originalautoren.
- Architektur
-
Zielarchitektur-Zeichenkette. Definiert den Typ des Prozessors, auf dem das Paket installiert werden soll.
Es kann sich auch um ein Paket mit Quelldateien (src) oder ein architekturunabhängiges Paket (noarch) handeln.
Beim Abgleich mit NEVRAs wird ein teilweiser Abgleich unterstützt. DNF5 versucht, die Spezifikation mit der folgenden Liste von NEVRA-Formen abzugleichen (in absteigender Prioritätsreihenfolge):
NAME-[EPOCHE:]VERSION-VERÖFFENTLICHUNG.ARCHITEKTUR NAME.ARCHITEKTUR NAME NAME-[EPOCHE:]VERSION-VERÖFFENTLICHUNG NAME-[EPOCHE:]VERSION
Beachten Sie, dass der Name im Allgemeinen Bindestriche enthalten kann (z.B. package-with-dashes).
Es wird die erste Form verwendet, die mit Paketen übereinstimmt. Die übrigen Formen werden nicht versucht. Wenn keine der Formen mit Paketen übereinstimmt, wird versucht, die Paketangabe mit vollständigen Paket-NEVRAs abzugleichen. Dies ist nur relevant, wenn in der Paketangabe Globs vorhanden sind.
Sie können Globs als Teil jeder der fünf NEVRA-Komponenten angeben. Sie können auch ein Glob-Muster angeben, das über mehrere NEVRA-Komponenten hinweg (also über die NEVRA-Trennzeichen hinweg) übereinstimmt. In diesem Fall müssen Sie jedoch die Spezifikation so schreiben, dass sie mit vollständigen NEVRA-Paketen übereinstimmt, da eine Aufteilung dieser Spezifikation in NEVRA-Formen nicht möglich ist.
Bereitstellungen-Musterübereinstimmung
Beginnt eine Angabe mit / oder */, wird sie als potenzielle Dateibereitstellung betrachtet.
Binärdatei-Musterübereinstimmung
Legt fest, ob Paketbinärdateien beim Abgleich berücksichtigt werden sollen. Überprüft, ob dieAngabe eine Binärdatei in /usr/bin/ oder /usr/sbin/ ist.
COMPS
Gruppenangabe“|“Umgebungsangabe ermöglicht die Auswahl von Gruppen/Umgebungen, auf denen eine bestimmte Aktion ausgeführt werden soll. Es handelt sich um eine Zeichenfolge ohne Berücksichtigung der Groß-/Kleinschreibung (mit Unterstützung von Globbing-Zeichen), die mit einer Gruppen-|Umgebungs-ID, einem kanonischen Namen und einem in das aktuelle LC_MESSAGES-Gebietsschema (Locale) übersetzten Namen (falls möglich) abgeglichen wird.
Comps-Angaben wird ein @ vorangestellt, wenn es sich um Befehle handelt, die auch die Angabe des Pakets akzeptieren. Siehe beispielsweise dnf5-install(8), Install-Befehl.
MODULE
Die Modulangabe ermöglicht die Auswahl von Modulen oder Profilen, mit denen eine bestimmte Aktion arbeiten soll.
Da die Übereinstimmungsform NEVRA für Module nicht ausreicht, werden sie eindeutig durch das Format NSVCA (NAME:STREAM:VERSION:KONTEXT:ARCHITEKTUR/PROFIL) identifiziert. Folgende Teilformen werden unterstützt:
NAME NAME:STREAM NAME:STREAM:VERSION NAME:STREAM:VERSION:KONTEXT Alle obigen Kombinationen mit ::ARCH (z.B. NAME::ARCH) NAME:STREAM:VERSION:KONTEXT:ARCHITEKTUR Alle obigen Kombinationen mit /PROFIL (z.B. NAME/PROFIL)
Falls kein Stream angegeben ist, wird der aktivierte oder der Standardstream verwendet (in dieser Reihenfolge). Falls kein Profil angegeben ist, wird das Systemstandardprofil oder das Profil »default« verwendet.
TRANSAKTIONEN
Die Transaktionsangabe kann verschiedene Formen annehmen. Handelt es sich um eine Ganzzahl, gibt sie eine Transaktions-ID an. Die Angabe von last entspricht der Angabe der ID der letzten Transaktion. Die letzte Form ist last-Zahl, wobei die Zahl eine positive Ganzzahl ist. Sie gibt die der Zahl entsprechende Transaktion vor der letzten Transaktion an.
SIEHE AUCH
AUTOR
Siehe AUTHORS.md in der dnf5-Quelldistribution.
COPYRIGHT
Mitwirkende am DNF5-Projekt.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.
25. August 2025 |