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.

Beim Filtern nach »Provides« (Bereitstellungen, [P]) kann der Benutzer zusätzliche Einschränkungsregeln für den Abgleich der Argumente festlegen. Hierzu können einfache Versionsvergleiche verwendet werden (=, >, <, >=, <=), wie z.B. Bereitstellung >= version, wobei das Argument Version im Format [EPOCHE:]VERSION[-VERÖFFENTLICHUNG] vorliegt, wie im Abschnitt NEVRA-Musterübereinstimmung angegeben.

Für komplexere Bereitstellungs-Ausdrücke wird außerdem eine umfangreiche Abhängigkeitsfunktionalität unterstützt, die stets in Klammern steht und für die boolesche Operatoren und Verschachtelungen verwendet werden können, z.B. (<Bereitstellung1> or (<Bereitstellung2> and <Bereitstellung3>)). 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 <#install-command-ref-label>.

Die group- und environment-Befehle akzeptieren sowohl eine <Gruppenangabe> als auch eine <Umgebungsangabe>, aber bevorzugen nur den entsprechenden Typ in dem Fall, dass beide dem angegebenen Argument entsprechen. Andere Befehle, die beide Typen akzeptieren, wirken sich sowohl auf Gruppen als auch auf Umgebungen aus.

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

    Boolesche RPM-Abhängigkeiten:
        <https://rpm-software-management.github.io/rpm/manual/boolean_dependencies.html>

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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).