| 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.
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.
Die Paketangabe gleicht NEVRAs auf die gleiche Weise ab wie Paketname-Angabe. Falls der Abgleich der NEVRAs jedoch fehlschlägt, wird auch ein Abgleich mit Bereitstellungen (»Provides«) und Dateibereitstellungen (»File Provides«) von Paketen versucht.
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.
PAKETE¶
Viele Befehle verwenden den Parameter Paketangabe, der ein Paket für die Aktion auswählt. Das Argument Paketangabe wird mit Paket-NEVRAs, Bereitstellungen und Dateibereitstellungen 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 oben 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.
Eine Paketdateiangabe ähnelt einer Paketangabe, außer dass hier kein Abgleich der Bereitstellungen durchgeführt wird. Daher wird die Paketdateiangabe nur mit NEVRAs und Dateibereitstellungen abgeglichen.
Die Paketnameangabe wird nur mit NEVRAs abgeglichen.
BEREITSTELLUNGEN (PROVIDES)¶
Bereitstellungsangabe in Befehlsbeschreibungen bedeutet, dass der Befehl Pakete bearbeitet, die die genannte Angabe bereitstellen. Dies kann entweder eine explizite, eine implizite (d.h. der Name des Pakets) oder eine Dateibereitstellung sein. Die Auswahl berücksichtigt die Groß- und Kleinschreibung und unterstützt Globbing.
Angabe von Dateibereitstellungen¶
Beginnt eine Angabe mit / oder */, wird sie als potenzielle Dateibereitstellung betrachtet.
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.
| 18. Juli 2025 |