Scroll to navigation

DNF5-SPECS(7) dnf5 DNF5-SPECS(7)

NAMN

dnf5-specs — Mönsterspecifikation

BESKRIVNING

Olika mönstermatchningsregler för argument i *-spec-form är definierade för åtgärder med varje enhetstyp i DNF5. I detta avsnitt beskrivs och förklaras alla regler i detalj, med exempel.

GLOB:AR

Mönsterspecifikationen stöder samma glob-mönstermatchning som skalet gör. Följande mönster stödjs:

*
Matchar godtyckligt antal tecken.
?
Matchar ett godtyckligt tecken.
[]
Matchar vilken som helst av de ingående tecknen. Ett par av tecken separerade med ett bindestreck anger ett intervalluttryck; alla tecken som kommer mellan dessa två tecken inklusive tecknen själva, matchas. Om det första tecknet efter [ är ett ! eller ett ^ så matchas alla tecken som inte ingår.

Obs: krullparenteser ({}) stödjs inte. Man kan ändå använda dem i skal som stödjer dem och låta skalet göra expansionen, men om de citeras eller skyddas kommer DNF5 inte att expandera dem.

PAKET

Många kommandon tar en <paketspecifikations*>-parameter som väljer ett paket för åtgärden. Beroende på kommandot matchas <paketspecifikations*>-argumentet mot:

  • NEVRA [N] eller skiftlägesokänslig NEVRA [NI]
  • Tillhandahåller [P]
  • Tillhandahåller fil [F]
  • Binärer [B]

sekventiellt tills en matchning hittas.

Till exempel matchas <paketspecifikation-NP> först mot NEVRA:n och om inget matchande NEVRA hittas matchas den mot tillhandahållanden.

När <paketspecifikation> är ett paketnamn eller ett tillhandahållande kan användaren ge ytterligare begränsningsregler för matchningen av argumenten. Grundläggande versionsjämförelser kan användas för detta ändamål (=, >, <, >=, <=), som detta <paketspecifikation> >= <version>, där argumentet <version> är i ett format [EPOK:]VERSION[-UTGÅVA] så som det specificerats i avsnittet NEVRA-matchning.

För att bygga mer komplexa uttryck stödjs även en funktion med rika beroenden, vilken alltid är omgiven av parenteser. Booleska operatorer och nästning kan användas, t.ex. (<spec1> or (<spec2> and <spec3>)). För mer information, se RPM booleska beroenden.

NEVRA-matchning

Varje paket kan identifieras unikt av NEVRA-strängen. Den består av 5 delar information:

Paketnamn.

Epoknummer.
Det är inte alltid med.

Epoknumret åsidosätter annan versionskontroll, så det kan användas för att tvinga en paketuppgradering framför någon annan.

Versionssträng.
Den är inte strikt numerisk.
Den är avsedd att matcha mjukvaruversionen uppströms.

Utgåvesträng.

Den är en information om det specifika paketbygget, vanligtvis ett nummer som öka för nyare byggen. Den är inte kopplat till mjukvaran uppströms.

Målarkitektursträng.
Definierar processortypen paketet är avsett att installeras på.

Det kan också vara ett paket som innehåller källfiler (src) eller ett arkitekturoberoende paket (noarch).


Vid matchning mot NEVRA stödjs partiell matchning. DNF5 försöker matcha specifikationen mot följande lista med NEVRA-former (i fallande prioritetsordning):

NAMN-[EPOK:]VERSION-UTGÅVA.ARK
NAME.ARK
NAMN
NAME-[EPOK:]VERSION-UTGÅVA
NAMN-[EPOK:]VERSION



Observera att namn i allmänhet kan innehålla bindestreck (t.ex. paket-med-streck).

Den första formen som matchar några paket används och de återstående formerna prövas inte. Om ingen av formerna matchar något paket, görs ett försök att matcha <paketspecifikation> mot fullständiga paket NEVRA:n. Detta är endast relevant om glob:ar finns i <paketspecifikation>.

Man kan ange glob:ar som en del av någon av de fem NEVRA-komponenterna. Man kan även ange ett glob-mönster som skall matchas över flera NEVRA-komponenter (med andra ord, matcha över NEVRA-separatorerna). I så fall måste man dock skriva specifikationen så att den matchar paketets fullständiga NEVRA, eftersom det inte är möjligt att dela upp en sådan specifikation i NEVRA-former.

Matchning av filtillhandahållanden

Om en spec börjar med antingen / eller */ anses den som ett potentiellt filtillhandahållande.

Binärer som matchar

Huruvida paketbinärer skall betraktas under matchning. Kontrollerar om en given spec är en binär i /usr/bin/ eller /usr/sbin/.

COMPS

<gruppspecifikation>``|``<miljöspecifikation> låter en välja grupper|miljöer som en viss operation ska arbeta på. Det är en skiftlägesokänslig sträng (som stöder glob:ningstecken) som matchas mot en grupps|miljös kanoniska namn och namn översatt till den aktuella LC_MESSAGES-lokalen (om möjligt).

Comps-specifikationer har prefixet @ för kommandon som också accepterar paket-specifikationer. Se till exempel dnf5-install(8), Installationskommando <#install-command-ref-label>.

Kommandona group och environment accepterar båda <gruppspecifikation> och <miljöspecifikation>, men föredrar respektive motsvarande typ om både grupper och miljöer matchar det givna argumentet. Andra kommandon som accepterar båda typerna påverkar både grupper och miljöer.

MODULER

<modulspecifikation> låter en välja moduler eller profiler som en viss åtgärd skall arbeta på.

Eftersom en NEVRA-matchningsform inte är tillräcklig för moduler identifieras de unikt av formatet NSVCA (NAMN:STRÖM:VERSION:KONTEXT:ARK/PROFIL). Följande partiella former stödjs:

NAMN
NAMN:STRÖM
NAMN:STRÖM:VERSION
NAMN:STRÖM:VERSION:KONTEXT
Alla ovanstående kombinationer med ::ARK (t.ex. NAMN::ARK)
NAMN:STRÖM:VERSION:KONTEXT:ARK
All above combinations with /PROFILE (e.g. NAMN/PROFILE)



Om strömmen inte anges används den aktiverade eller standardströmmen, i den ordningen. Om profilen inte anges används systemets standardprofil eller profilen ”default”.

TRANSAKTIONER

<transaktionsspecifikation> kan vara på en av flera former. Om det är ett heltal anger den ett transaktions-ID. Att ange last är detsamma som att ange ID för den senaste transaktionen. Den sista formen är last-<avstånd>, där <avstånd> är ett positivt heltal. Den anger den avstånd:e transaktionen som föregår den senaste transaktionen.

SE ÄVEN


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