table of contents
| DNF5.CONF-VENDORPOLICY-V1_1(5) | dnf5 | DNF5.CONF-VENDORPOLICY-V1_1(5) |
NAMN¶
dnf5.conf-vendorpolicy-v1_1 — DNF5:s policyfilreferens för leverantörsändring — v1.1
BESKRIVNING¶
Detta dokument beskriver strukturen och syntaxen i DNF5:s policykonfigurationsfiler för leverantörsändring med formatet version 1.1.
För allmän information om policyfiler för leverantörsändring, se DNF5:s policyfilreferens för leverantörsändring <#dnf5-vendor-change-policy-label>.
FILSTRUKTUR¶
Nödvändiga fält¶
- version
- Sträng
Konfigurationsfilens formatversion.
För detta format måste detta vara satt till "1.1".
Detta fält är obligatoriskt och måste anges på toppnivån i TOML-filen.
Exempel:
version = '1.1'
OBS:
Om filen inte innehåller några listor kommer den att laddas och dess version kommer valideras, men den kommer inte definiera några regler och kommer inte påverka beteendet hos leverantörshanteraren.
Leverantörsavbildningsdefinition¶
Följande leverantörslistor kan användas för att definiera leverantörsavbildningar. Alla listor är frivilliga och kan kombineras fritt. Alla villkor beräknas tillsammans.
- [[outgoing_vendors]]
- Vektor av tabeller
Lista över leverantörer från vilka ändringar tillåts (utgående paketleverantörer).
- [[incoming_vendors]]
- Vektor av tabeller
Lista över leverantörer till vilka ändringar tillåts (inkommande paketleverantörer).
- [[equivalent_vendors]]
- Vektor av tabeller
Lista över leverantörer som är ömsesidigt ekvivalenta. Ändringar tillåts i båda riktningar mellan alla leverantörer i denna lista.
OBS:
Viktigt:
- Leverantören i det utgående (installerade) paketet är listad i outgoing_vendors eller equivalent_vendors (eller både outgoing_vendors och equivalent_vendors saknas, vilket tillåter alla leverantörer)
- Leverantören i det inkommande (nya) paketet är listad i incoming_vendors eller equivalent_vendors (eller både outgoing_vendors och equivalent_vendors saknas, vilket tillåter alla leverantörer)
Leverantörspostfält¶
Varje post i [[outgoing_vendors]], [[incoming_vendors]] eller [[equivalent_vendors]] kan innehålla följande fält:
- vendor
- Sträng
Nödvändigt fält.
Leverantörsnamn eller -mönster för matchning.
- comparator
- Sträng
Valfritt fält.
Matchningsmetoden som skall användas när leverantörssträngar jämförs.
Standard: "EXACT"
Värden som stödjs:
- "EXACT" — exakt matchning (skiftlägeskänsligt)
- "IEXACT" — exakt matchning (skiftlägesokänsligt)
- "GLOB" - glob-mönster (skiftlägeskänsligt)
- "IGLOB" - glob-mönster (skiftlägesokänsligt)
- "REGEX" — reguljärt uttryck (skiftlägeskänsligt)
- "IREGEX" — reguljärt uttryck (skiftlägesokänsligt)
- "CONTAINS" — innehåller strängen (skiftlägeskänsligt)
- "ICONTAINS" — innehåller strängen (skiftlägesokänsligt)
- "STARTSWITH" — börjar med (skiftlägeskänsligt)
- "ISTARTSWITH" — börjar med (skiftlägesokänsligt)
- "ENDSWITH" — slutar med (skiftlägeskänsligt)
- "IENDSWITH" — slutar med (skiftlägesokänsligt)
- "NOT_EXACT", "NOT_IEXACT", "NOT_GLOB", "NOT_IGLOB", "NOT_CONTAINS", "NOT_ICONTAINS" — negerade varianter
- exclude
- Boolean
Valfritt fält.
Om true utesluts leverantören från regeln. Detta är användbart för att definiera undantag till mer generella regler. Regler (leverantörsposter) bearbetas i den ordning de är definierade. Detta betyder att en exclude-regel måste förekomma före regeln från vilken leverantören skall uteslutas.
Standard: false
Paketfiltrering¶
Leverantörsändringspolicyer kan ytterligare begränsas till att endast gälla specifika paket med paketfilter. Dessa är frivilliga och tillåter finkornig styrning av vilka paket som tillåts ändra leverantörer.
- [[outgoing_packages]]
- Vektor av tabeller
Lista över paketfilter som begränsar vilka utgående (installerade) paket som tillåts ändra leverantörer. Om utelämnat tillåts alla paket att ändra från sin nuvarande leverantör.
- [[incoming_packages]]
- Vektor av tabeller
Lista över paketfilter som begränsar vilka inkommande (nya) paket som tillåts ändra leverantörer. Om utelämnat tillåts alla paket installeras oavsett leverantör.
Paketfilters postfält¶
Varje post i [[outgoing_packages]] eller [[incoming_packages]] kan innehålla:
- filters
- Vektor av tabeller
Nödvändigt fält.
Lista över filtervillkor som alla måste matcha för att paketet skall påverkas av denna regel. Varje filter är en tabell med följande fält:
- filter
- Sträng
Nödvändigt fält.
Paketattributet att filtrera på.
Värden som stödjs:
- "name" — paketnamn
- "source_name" — källpaketets namn
- "evr" — Epok-Version-Utgåva-sträng
- "epoch" — epoknummer
- "version" — versionssträng
- "release" — utgåvesträng
- "arch" — paketarkitektur
- "repoid" — förråds-ID
- "cmdline_repo" — huruvida paketet kommer från kommandoradsförrådet (boolean)
- value
- Sträng
Nödvändigt fält.
Värdet att matcha mot.
- För filtret cmdline_repo, använd "true"/"1" eller "false"/"0"
- För filtret epoch använd en numerisk sträng (t.ex., "0", "1")
- För övriga filter, använd lämpliga strängvärden
- comparator
- Sträng
Valfritt fält.
Matchningsmetod att använda.
Standard: "EXACT"
För sträng baserade filter (name, source_name, arch, repoid):
Samma värden som för jämförelse av leverantör: 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 versionsbaserade filter (evr, epoch, version, release):
- "EXACT" — lika med
- "NOT_EXACT" — inte lika med
- "GT" — större än
- "GTE" — större än eller lika med
- "LT" — mindre än
- "LTE" — mindre än eller lika med
OBS:
OBS:
- exclude
- Boolean
Valfritt fält.
Om true exkluderas paket som matchar filtren från regeln. Detta är användbart för att definiera undantag. Uteslutningsregler måste komma före reglerna från vilka paketet skall uteslutas.
Standard: false
EXEMPEL¶
Exempel 1: Tillåt ändring från ”LeverantörA” till ”LeverantörB”¶
Detta exempel visar den minsta nödvändiga konfigurationen som tillåter en ändring från ”LeverantörA” till ”LeverantörB”, men inte omvänt.
version = '1.1' [[outgoing_vendors]] vendor = 'LeverantörA' [[incoming_vendors]] vendor = 'LeverantörB'
Exempel 2: Tillåt ändring från godtycklig leverantör till ”Min betrodda leverantör”¶
Detta exempel visar hur man tillåter en ändring från alla leverantörer till ”Min betrodda leverantör”, men inte tvärt om. Saknas outgoing_vendors betyder det att godtycklig leverantör är tillåten.
version = '1.1' [[incoming_vendors]] vendor = 'Min betrodda leverantör'
Exempel 3: Ekvivalenta leverantörer¶
Detta exempel visar leverantörer som är ömsesidigt ekvivalenta, och tillåter ändringar i båda riktningarna.
version = '1.1' # Alla följande leverantörer är ömsesidigt ekvivalenta [[equivalent_vendors]] vendor = 'Fedora Project' [[equivalent_vendors]] vendor = 'Red Hat' comparator = 'ISTARTSWITH' [[equivalent_vendors]] vendor = 'CentOS' comparator = 'ISTARTSWITH'
Exempel 4: Ekvivavlenta leverantörer med ett undantag¶
Detta exempel visar en leverantörspolicy för SUSE-relaterade leverantörer med ett undantag för openSUSE Build Service.
version = '1.1' # Alla följande leverantörer är ömsesidigt ekvivalenta bortsett från de uteslutna [[equivalent_vendors]] vendor = 'openSUSE Build Service' comparator = 'ISTARTSWITH' exclude = true [[equivalent_vendors]] vendor = 'SUSE' comparator = 'ISTARTSWITH' [[equivalent_vendors]] vendor = 'openSUSE' comparator = 'ISTARTSWITH'
Exempel 5: Kombination av ekvivalenta leverantörer med inkommande leverantörer¶
Detta exempel demonstrerar kombinationen av equivalent_vendors med incoming_vendors, en finess introducerad i version "1.1". ”Första leverantör” och ”Andra leverantör” är ömsesidigt ekvivalenta, och båda kan ändras till ”Tredje leverantör”.
version = '1.1' [[equivalent_vendors]] vendor = 'Första leverantör' [[equivalent_vendors]] vendor = 'Andra leverantör' [[incoming_vendors]] vendor = 'Tredje leverantör'
Exempel 6: Tillåt kommandoradspaket från godtycklig leverantör¶
Detta exempel tillåter installation av paket från kommandoradsförrådet från alla leverantörer, och undviker begränsningar på leverantör.
version = '1.1' [[incoming_packages]] filters = [
{ filter = 'cmdline_repo', value = 'true' } ]
Exempel 7: Kommandoradspaket med undantag¶
Detta exempel tillåter installation av paket från kommandoradsförrådet från alla leverantörer, utom för paket vars namn börjar med ”mittpaket”.
version = '1.1' [[incoming_packages]] filters = [
{ filter = 'name', value = 'mittpaket', comparator = 'STARTSWITH' } ] exclude = true [[incoming_packages]] filters = [
{ filter = 'cmdline_repo', value = 'true' } ]
Exempel 8: Tillåt ändring från alla leverantörer till en specifik med paketfiltrering¶
Detta exempel tillåter en ändring från godtycklig leverantör till ”Min leverantör”, men bara för inkommande paket vars källpaketsnamn är ”mittpaket” och version är större eller lika med ”2.0”.
version = '1.1' [[incoming_packages]] filters = [
{ filter = 'source_name', value = 'mittpaket' },
{ filter = 'version', value = '2.0', comparator = 'GTE' } ] [[incoming_vendors]] vendor = 'Min leverantör'
SE ÄVEN¶
- DNF5:s policyfilreferens för leverantörsändring <#dnf5-vendor-change-policy-label>
- DNF5:s policyfilreferens för leverantörsändring — v1.0 <#dnf5-vendor-change-policy-v1-0-label>
- dnf5.conf(5), DNF5:s konfigurationsreferens <#dnf5-conf-label>
Upphovsman¶
Se AUTHORS.md i dnf5 källkodsdistribution.
Copyright¶
Medarbetare i dnf5-projektet.
ÖVERSÄTTNING¶
Den svenska översättningen av denna manualsida skapades av Göran Uddeborg <goeran@uddeborg.se>
Denna översättning är fri dokumentation; läs GNU General Public License Version 3 eller senare för upphovsrättsvillkor. Vi tar INGET ANSVAR.
Om du hittar fel i översättningen av denna manualsida, skicka ett mail till Tp-sv@listor.tp-sv.se.
| 19 feb 2026 |