table of contents
| DNF5.CONF-VENDORPOLICY-V1_1(5) | dnf5 | DNF5.CONF-VENDORPOLICY-V1_1(5) |
BEZEICHNUNG¶
dnf5.conf-vendorpolicy-v1_1 – Referenz zur DNF5-Richtliniendatei zu Anbieteränderungen – Version 1.1
BESCHREIBUNG¶
Dieses Dokument beschreibt die Struktur und Syntax der DNF5-Anbieteränderungsrichtlinien-Konfigurationsdateien im Version 1.1-Format.
Allgemeine Informationen zu Richtliniendateien für Anbieteränderungen finden Sie in der Referenz zur DNF5-Richtliniendatei zu Anbieteränderungen <#dnf5-vendor-change-policy-label>.
DATEISTRUKTUR¶
Erforderliche Felder¶
- version
- Zeichenkette
Version des Formats der Konfigurationsdatei.
Die Version muss für dieses Format auf "1.1" gesetzt sein.
Dieses Feld ist obligatorisch und muss auf oberster Ebene der TOML-Datei angegeben werden.
Beispiel:
version = '1.1'
Hinweis:
Falls die Datei keine Listen enthält, wird sie geladen und die Version geprüft, aber da sie keine Regeln definiert, wird sie das Verhalten von Anbieteränderungen nicht beeinflussen.
Definition der Anbieterzuordnung¶
Die folgenden Anbieterlisten können zum Definieren von Anbieterzuordnungen verwendet werden. Alle Listen sind optional und können frei miteinander kombiniert werden. Alle Bedingungen werden gemeinsam ausgewertet.
- [[outgoing_vendors]]
- Tabellenfeld
Liste der Anbieter, für die Änderungen erlaubt sind (ausgehende Paketanbieter).
- [[incoming_vendors]]
- Tabellenfeld
Liste der Anbieter, die für Änderungen herangezogen werden können (eingehende Paketanbieter).
- [[equivalent_vendors]]
- Tabellenfeld
Liste gleichwertiger Anbieter. Änderungen sind in beide Richtungen zwischen allen Anbietern in dieser Liste möglich.
Hinweis:
Wichtig:
- Der Anbieter des ausgehenden (installierten) Pakets ist in outgoing_vendors oder equivalent_vendors aufgeführt (oder fehlt sowohl in outgoing_vendors als auch in equivalent_vendors, wodurch jeder Anbieter erlaubt ist)
- Der Anbieter des eingehenden (neuen) Pakets ist in incoming_vendors oder equivalent_vendors aufgeführt (oder fehlt sowohl in incoming_vendors als auch in equivalent_vendors, wodurch jeder Anbieter erlaubt ist)
Felder für Anbietereinträge¶
Jeder Eintrag in [[outgoing_vendors]], [[incoming_vendors]] oder [[equivalent_vendors]] kann die folgenden Felder enthalten:
- vendor
- Zeichenkette
Erforderliches Feld.
Anbietername oder Muster für den Abgleich.
- comparator
- Zeichenkette
Optionales Feld.
Die beim Vergleich von Anbieterzeichenketten anzuwendende Vergleichsmethode.
Vorgabe: 'EXACT'
Unterstützte Werte:
- 'EXACT' – exakte Übereinstimmung (Groß-/Kleinschreibung wird berücksichtigt)
- 'IEXACT' – exakte Übereinstimmung (Groß-/Kleinschreibung wird nicht berücksichtigt)
- 'GLOB' – Glob-Muster (Groß-/Kleinschreibung wird berücksichtigt)
- 'IGLOB' – Glob-Muster (Groß-/Kleinschreibung wird nicht berücksichtigt)
- 'REGEX' – regulärer Ausdruck (Groß-/Kleinschreibung wird berücksichtigt)
- 'IREGEX' – regulärer Ausdruck (Groß-/Kleinschreibung wird nicht berücksichtigt)
- 'CONTAINS' – enthält die Zeichenkette (Groß-/Kleinschreibung wird berücksichtigt)
- 'ICONTAINS' – enthält die Zeichenkette (Groß-/Kleinschreibung wird nicht berücksichtigt)
- 'STARTSWITH' – beginnt mit (Groß-/Kleinschreibung wird berücksichtigt)
- 'ISTARTSWITH' – beginnt mit (Groß-/Kleinschreibung wird nicht berücksichtigt)
- 'ENDSWITH' – endet mit (Groß-/Kleinschreibung wird berücksichtigt)
- 'IENDSWITH' – endet mit (Groß-/Kleinschreibung wird nicht berücksichtigt)
- 'NOT_EXACT', 'NOT_IEXACT', 'NOT_GLOB', 'NOT_IGLOB', 'NOT_CONTAINS', 'NOT_ICONTAINS' – negierte Varianten
- exclude
- Boolesch
Optionales Feld.
Falls true, wird der Anbieter von der Regel ausgenommen. Dies ist nützlich, um Ausnahmen von allgemeineren Regeln zu definieren. Regeln (Anbietereinträge) werden in der Reihenfolge ihrer Definition verarbeitet. Das bedeutet, dass eine Ausschlussregel vor den Regeln stehen muss, von denen der Anbieter ausgenommen werden soll.
Vorgabe: false
Paketfilterung¶
Die Richtlinien für Anbieteränderungen können mithilfe von Paketfiltern weiter eingeschränkt werden, so dass sie nur für bestimmte Pakete gelten. Diese Filter sind optional und ermöglichen eine detaillierte Kontrolle darüber, für welche Pakete eine Anbieteränderung zulässig ist.
- [[outgoing_packages]]
- Tabellenfeld
Liste der Paketfilter, die bestimmen, für welche ausgehenden (installierten) Pakete Anbieterwechsel erlaubt sind. Falls weggelassen, ist ein Wechsel des derzeitigen Anbieters für alle Pakete erlaubt.
- [[incoming_packages]]
- Tabellenfeld
Liste der Paketfilter, die einschränken, welche neuen Pakete bei einer Anbieteränderung installiert werden dürfen. Wird dieser Filter weggelassen, dürfen alle Pakete unabhängig vom Anbieter installiert werden.
Felder für Paketfiltereinträge¶
Jeder Eintrag in [[outgoing_packages]] oder [[incoming_packages]] darf Folgendes enthalten:
- filters
- Tabellenfeld
Erforderliches Feld.
Liste der Filterbedingungen, die alle erfüllt sein müssen, damit das Paket von dieser Regel betroffen ist. Jeder Filter ist eine Tabelle mit den folgenden Feldern:
- filter
- Zeichenkette
Erforderliches Feld.
Das Paketattribut, anhand dessen gefiltert werden soll.
Unterstützte Werte:
- name – Paketname
- source_name – Quellpaketname
- evr – Epoche-Version-Release-Zeichenkette
- epoch – Epochennummer
- version – Versionszeichenkette
- release – Release-Zeichenkette
- arch – Paketarchitektur
- repoid – Paketquellen-ID
- cmdline_repo – gibt an, ob das Paket über die Befehlszeile installiert wurde (boolesch)
- value
- Zeichenkette
Erforderliches Feld.
Der Wert, mit dem verglichen werden soll.
- Für den Filter cmdline_repo verwenden Sie 'true'/'1' oder 'false'/'0'
- Für den Filter epoch verwenden Sie eine numerische Zeichenkette (zum Beispiel '0' oder '1')
- Für andere Filter verwenden Sie die entsprechenden Zeichenkettenwerte
- comparator
- Zeichenkette
Optionales Feld.
Die anzuwendende Vergleichsmethode.
Vorgabe: 'EXACT'
Für zeichenkettenbasierte Filter (name, source_name, arch, repoid):
Gleiche Werte wie für den Anbietervergleich: EXACT, NOT_EXACT, IEXACT, NOT_IEXACT, CONTAINS, NOT_CONTAINS, ICONTAINS, NOT_ICONTAINS, STARTSWITH, ISTARTSWITH, ENDSWITH, IENDSWITH, REGEX, IREGEX, GLOB, NOT_GLOB, IGLOB, NOT_IGLOB
Für versionsbasierte Filter (evr, epoch, version, release):
- 'EXACT' – gleich
- 'NOT_EXACT' – ungleich
- 'GT' – größer als
- 'GTE' – größer als oder gleich
- 'LT' – kleiner als
- 'LTE' – kleiner als oder gleich
Hinweis:
Hinweis:
- exclude
- Boolesch
Optionales Feld.
Wenn true, werden Pakete, die den Filtern entsprechen, von der Regel ausgeschlossen. Dies ist nützlich, um Ausnahmen zu definieren. Ausschlussregeln müssen vor den Regeln stehen, von denen Pakete ausgeschlossen werden sollen.
Vorgabe: false
BEISPIELE¶
Beispiel 1: Änderung von »AnbieterA« zu »AnbieterB« erlauben¶
Dieses Beispiel zeigt die minimal erforderliche Konfiguration, die eine Änderung von »AnbieterA« zu »AnbieterB« erlaubt, jedoch nicht umgekehrt.
version = '1.1' [[outgoing_vendors]] vendor = 'AnbieterA' [[incoming_vendors]] vendor = 'AnbieterB'
Beispiel 2: Änderung von einem beliebigen Anbieter zu »Mein vertrauenswürdiger Anbieter« erlauben¶
Dieses Beispiel zeigt, wie eine Änderung von einem beliebigen Anbieter zu »Mein vertrauenswürdiger Anbieter« erlaubt wird, jedoch nicht umgekehrt. Wenn outgoing_vendors fehlt, bedeutet dies, dass alle Anbieter erlaubt sind.
version = '1.1' [[incoming_vendors]] vendor = 'Mein vertrauenswürdiger Anbieter'
Beispiel 3: Gleichwertige Anbieter¶
Dieses Beispiel zeigt Anbieter, die einander gleichwertig sind und Änderungen in beide Richtungen ermöglichen.
version = '1.1' # Alle folgenden Anbieter sind einander gleichwertig [[equivalent_vendors]] vendor = 'Fedora Project' [[equivalent_vendors]] vendor = 'Red Hat' comparator = 'ISTARTSWITH' [[equivalent_vendors]] vendor = 'CentOS' comparator = 'ISTARTSWITH'
Beispiel 4: Gleichwertige Anbieter mit einem Ausschluss¶
Dieses Beispiel zeigt eine Anbieterrichtlinie für SUSE-bezogene Anbieter mit einer Ausnahme für den »openSUSE Build Service«.
version = '1.1' # Alle folgenden Anbieter sind gleichwertig, # außer jene, die ausgeschlossen sind [[equivalent_vendors]] vendor = 'openSUSE Build Service' comparator = 'ISTARTSWITH' exclude = true [[equivalent_vendors]] vendor = 'SUSE' comparator = 'ISTARTSWITH' [[equivalent_vendors]] vendor = 'openSUSE' comparator = 'ISTARTSWITH'
Beispiel 5: Kombination von gleichwertigen Anbietern mit eingehenden Anbietern¶
Dieses Beispiel demonstriert die Kombination von equivalent_vendors mit incoming_vendors, einer Funktion, die in Version "1.1" eingeführt wurde. »Erster Anbieter« und »Zweiter Anbieter" sind gegenseitig gleichwertig und können beide zu »Dritter Anbieter« geändert werden.
version = '1.1' [[equivalent_vendors]] vendor = 'Erster Anbieter' [[equivalent_vendors]] vendor = 'Zweiter Anbieter' [[incoming_vendors]] vendor = 'Dritter Anbieter'
Beispiel 6: Wechsel zu beliebigen Anbietern bei über die Befehlszeile installierten Paketen¶
Dieses Beispiel erlaubt die bei über die Befehlszeile installierten Paketen den Wechsel zu jedem Anbieter, wobei Anbietereinschränkungen umgangen werden.
version = '1.1' [[incoming_packages]] filters = [
{ filter = 'cmdline_repo', value = 'true' } ]
Beispiel 7: Über die Befehlszeile installierte Pakete mit Ausschluss¶
Dieses Beispiel ermöglicht bei über die Befehlszeile installierten Paketen den Wechsel zu beliebigen Anbietern, außer Paketen, deren Namen mit »meinpaket« beginnen.
version = '1.1' [[incoming_packages]] filters = [
{ filter = 'name', value = 'meinpaket', comparator = 'STARTSWITH' } ] exclude = true [[incoming_packages]] filters = [
{ filter = 'cmdline_repo', value = 'true' } ]
Beispiel 8: Änderung von einem beliebigen Anbieter zu einem bestimmten Anbieter mit Paketfilterung erlauben¶
Dieses Beispiel ermöglicht einen Wechsel von einem beliebigen Anbieter zu »Mein Anbieter«, jedoch nur für eingehende Pakete, deren Quellpaketname »meinpaket« lautet und deren Version größer oder gleich »2.0« ist.
version = '1.1' [[incoming_packages]] filters = [
{ filter = 'source_name', value = 'meinpaket' },
{ filter = 'version', value = '2.0', comparator = 'GTE' } ] [[incoming_vendors]] vendor = 'Mein Anbieter'
SIEHE AUCH¶
- Referenz zur DNF5-Richtliniendatei zu Anbieteränderungen – <#dnf5-vendor-change-policy-v--label>
- Referenz zur DNF5-Richtliniendatei zu Anbieteränderungen – Version 1.0 <#dnf5-vendor-change-policy-v1-0-label>
- dnf5.conf(5), DNF5-Konfigurationsreferenz <#dnf5-conf-label>
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.
| 19. Februar 2026 |