| DNF5-ÄNDRINGAR-FRÅN-DNF4(7) | dnf5 | DNF5-ÄNDRINGAR-FRÅN-DNF4(7) |
NAMN¶
dnf5-ändringar-från-dnf4 — Ändringar från DNF4
Detta kapitel beskriver skillnaderna mellan DNF5 <https://github.com/rpm-software-management/dnf5> och DNF <https://github.com/rpm-software-management/dnf>.
ÄNDRINGAR PÅ KOMMANDORADEN¶
Flaggor¶
Räckvidd för globala flaggor¶
Flaggor som inte kan användas på alla kommandon eller som kan användas men inte har någon effekt är borttagna från de allmäna flaggorna och implementerade endast för de relevanta kommandona.
Exempel: --best, --no-best är endast relevanta för ett antal transaktionskommandon.
Ändring av flaggnamn¶
Namnen är bytta på booleska flaggor till följande format:
- --<flagga> och --no-<flagga>
- --enable-<flagga> and --disable-<flagga>
Flaggorna med originalnamn har behållits tills vidare som kompatibilitetsalias.
Exempel: --best och --no-best.
Strikt beteende¶
- Flaggorna --disable-repo=FÖRRÅDS-ID och --setopt=[FÖRRÅDS-ID.]ALTERNATIV=VÄRDE resulterar nu konsekvent i ett fel när de ges med ett felaktigt FÖRRÅDS-ID.
- Beteendet är nu anpasat till det hos --repo=FÖRRÅDS-ID och --enable-repo=FÖRRÅDS-ID.
- Konfigurationsalternativet strict används inte längre, se utfasning av alternativet strict för mer information.
Ingen värdeseparator efter korta flaggor¶
Korta flaggor har ingen separator mellan flaggans namn och flaggans värde. T.ex. dnf -x paket är ekvivalent med de långa formerna dnf --exclude paket och dnf --exclude=paket. Men dnf -x=paket betyder dnf --exclude =paket.
Ändringar av enskilda flaggor¶
- -4/-6
- •
- Borttagna. Nu är endast konfigurationsalternativet ip_resolve tillgängligt.
- •
- Borttagna. Nu är endast konfigurationsalternativet disable_excludes tillgängligt.
- Borttagna tillsammans med alternativen som fanns tidigare --set-disabled och --set-enabled.
- För närvarande kan detta bara åstadkommas via insticksmodulen config-manager <#config-manager-plugin-ref-label>.
- •
- Till exempel, för att avaktivera förrådet fedora: dnf config-manager setopt fedora.enabled=0.
- Borttaget. Nu används bara --destdir till kommandot download.
- När paket hämtas med kommandot system-upgrade eller offline konstrueras nu målsökvägen med konfigurationsalternativen installroot och cachedir.
- •
- Både flaggan --errorlevel och konfigurationsalternativet errorlevel har tagits bort.
- •
- Borttaget. Nu är endast flaggorna -h eller --help tillgängliga.
- Nytt beteende har introducerats för att definiera från vilken plats konfigurationen och variabler läses in.
- Se dokumentationen av installroot <#installroot-misc-ref-label> för mer information.
- •
- Endast tillämpligt för kommandot remove nu. Som ett sätt att gå runt det för andra kommandon kan man använda --setopt=clean_requirements_on_remove=False.
- •
- Borttaget. Nu är endast konfigurationsalternativet obsoletes tillgängligt.
- •
- Borttaget.
- •
- Borttaget. Nu är endast konfigurationsalternativet rpmverbosity tillgängligt.
- •
- Namnet ändrat till --advisory-severities.
- •
- För närvarande inte implementerat. Kan komma att läggas till för specifika kommandon i framtiden.
- •
- Beteendet är annorlunda nu. Se huvudmanualsidan <#version-option-ref-label> för fler detaljer.
Nyintroducerade flaggor¶
- Tillsammans med --no-allow-downgrade aktiverar/avaktiverar dessa flaggor nedgraderingen av beroenden när transaktioner löses upp.
- Nya motsvarande konfigurationsalternativ har också skapats.
- Tillämpligt på install, upgrade och relaterade kommandon.
- •
- Tillsammans med det närbesläktade --dump-repo-config=FÖRRÅDS-ID är detta nya flaggor för att skriva ut konfigurationsvärden på standard ut.
- Lagra transaktionen att utföras i frånkopplat läge.
- Tillämpligt på alla relevanta transaktionskommandon.
- Se kommandot Offline <#offline-command-ref-label> för mer information.
- •
- Visa nyinstallerade lövpaket och paket som blev löv efter en transaktion.
- Tillåt att paket som inte är tillgängliga i förråden hoppas över.
- Inte att förväxlas med konfigurationsalternativet skip_if_unavailable <#skip-if-unavailable-options-label>.
- Tillämpligt på install, upgrade och relaterade kommandon.
- Se även utfasning av alternativet strict för mer information.
- •
- Se huvudmanualsidan <#use-host-config-option-ref-label> för fler detaljer.
Kommandon¶
Valfria underkommandon¶
Kommandon kan inte ha valfria underkommandon. Valfria underkommandon var tvetydiga och gjorde det oklart huruvida indatan var avsedd som ett kommandoargument eller ett underkommando. Underkommandon är nu obligatoriska om de finns.
- Förut: dnf history <transaktions-ID> Nu: dnf history info <transaktions-ID>
- Förut: dnf updateinfo Nu: dnf updateinfo summary
Ändringar av individuella kommandon¶
- Borttaget. Kommandot har ersatts av annan funktionalitet.
- Se Alias för kommandoradsargument <#aliases-misc-ref-label> för mer information.
- Är nu en insticksmodul till DNF5.
- De specifika systemd-enheterna, dnf-automatic-download, dnf-automatic-install och dnf-automatic-notifyonly, har tagits bort. Endast en dnf5-automatic timer skeppas.
- Konfigurationsalternativet emitters.send_error_messages har tagits bort. DNF5 automatic informerar alltid användaren om misslyckade åtgärder genom de konfigurerade sändarna.
- Se kommandot Automatic <#automatic-plugin-ref-label> för mer information.
- Positionsargumentet <spec> är borttaget eftersom användningsfallet täcks i tillräcklig utsträckning av kommandot remove.
- Specifika varianter av kommandot, autoremove-n, autoremove-na och autoremove-nevra stödjs inte längre.
- •
- Flaggorna --spec och --srpm gäller endast argument som följer efter dem. Detta möjliggör användningsfall som kombinerar spec-filer och käll-RPM:er (t.ex. dnf5 builddep --spec pkt1.spec.in --srpm pkt2.src.rpm). Däremot har den tidigare stödda syntaxen dnf builddep pkt1.spec.in --spec inte längre någon effekt.
- Nytt beteende introducerat.
- Parametrar är ersatta av underkommandon.
- •
- Exempel:
- Förut: --add-repo Nu: addrepo
- Förut: --save --setopt Nu: setopt
- Befintliga förrådsfiler modifieras inte; åsidosättande insticksfiler skapas istället.
- Flaggan --dump borttagen:
- För att dumpa alternativen för huvudkonfigurationen, använd kommandot dnf5 --dump-main-config.
- För att dumpa en förrådskonfiguration, använd kommandot dnf5 --dump-repo-config=FÖRRÅDS-ID.
- Flaggan --dump-variables är borttagen, använd kommandot dnf5 --dump-variables istället.
- Se dokumentationen av config-manager <#config-manager-plugin-ref-label> för mer information.
- •
- Stödjer inte numera funktionaliteten autoupdate. Den permanenta aktiveringen av felsökningsförråd kan åstadkommans genom att använda kommandot config-manager.
- När nu något argument inte matchar ett installerat paket misslyckas DNF5. Beteendet kan ändras med flaggan --skip-unavailable.
- Aliasen distrosync och distribution-synchronization är borttagna.
- •
- När nu något argument inte matchar ett installerat paket misslyckas DNF5. Beteendet kan ändras med flaggan --skip-unavailable.
- Flaggan --source har bytt namn till --srpm.
- Argumentet --downloaddir är borttaget, endast --destdir stödjs nu.
- Ny flagga --contains-pkgs för att filtrera endast grupper som innehåller specifika paket.
- Borttaget argument --ids eftersom grupp-id:n alltid är med i utskriften nu.
- Borttagna underkommandon group mark install och group mark remove till förmån för den nya flaggan --no-packages till kommandona install och remove.
- •
- T.ex. för att markera en grupp som installerad utan att röra några paket kan kommandot dnf5 group install --no-packages <grupp-id> användas.
- Borttaget alias groupinstall. Det ersätts av dnf group install.
- Borttaget alias groupinfo. Det ersätts av dnf group info.
- Borttaget alias grouplist. Det ersätts av dnf group list.
- Borttaget alias grouperase. Det ersätts av dnf group remove.
- Borttaget alias groupremove. Det ersätts av dnf group remove.
- Borttaget alias groupupdate. Det ersätts av dnf group upgrade.
- Borttaget alias groups. Det ersätts av dnf group.
- •
- Borttaget. Funktionaliteten ersätts av flaggan --help.
- Underkommandon är nu obligatoriska: dnf history måste nu vara dnf5 history list.
- Kommandot history godtar nu bara transaktions-ID-argument; för att filtrera efter paket, använd flaggan --contains-pkgs=PAKETNAMN,…, tillgänglig till list och info.
- Underkommandot undo tar nu --ignore-extras och --ignore-installed i likhet med originalkommandot history replay.
- Underkommandot userinstalled togs bort. Det ersätts av dnf repoquery --userinstalled.
- Underkommandot store skapar nu en katalog med en transaktions-JSON-fil istället för en enda transaktions-JSON-fil direkt.
- Underkommandot stores flagga --output tar nu en katalogsökväg istället för en fil. Standardvärdet är ./transaction.
- Underkommandot replay flyttades till ett självständigt kommando replay, som nu tar en sökväg till en katalog istället för en filsökväg. Katalogen kan skapas med flaggan --store och utöver JSON-transaktionen kan den innehålla paket, grupper och miljöer som används i transaktionen.
- Underkommandot info skriver nu ett separat avsnitt för varje vald transaktion. Det slår inte längre samman alla valda transaktion till ett enda transaktionsavsnitt.
- Tog bort flaggan --all eftersom det beteendet är standardfallet.
- Tog bort flaggan --updates, bara --upgrades är tillgänglig nu.
- •
- Tog bort kommandovarianterna install-n, install-na och install-nevra.
- Tog bort flaggan --all eftersom det beteendet är standardfallet.
- Ändrade beteendet hos flaggan --available.
- I DNF4 listades endast paket som inte var installerade eller hade högre versioner. Detta beteende är oförändrat när flaggan inte används, vilket reducerar dubbletter i avsnittet ”Installerade paket”.
- När flaggan --available används betraktar DNF5 alla tillgängliga versioner i aktiverade förråd, oavsett den installerade versionen.
- •
- För installerade paket skrivs från vilket förråd paketet installerades och om informationen inte är tillgänglig skrivs <okänd>. Detta skiljer sig från DNF4 vilken när informationen inte var tillgänglig skrev @System.
- Metadata lagras nu i andra kataloger, se ändringarna av konfigurationsalternativet cachedir för fler detaljer.
- Flaggan --timer har tagits bort till förmån för inställningen OnUnitInactiveSec i systemd i dnf5-makecache.timer och inställningen ConditionACPower i dnf5-makecache.service.
- Försöker nu att undvika att hämta när det alls är möjligt (t.ex. när den lokala metadatan inte har gått ut ännu eller när tidsstämpeln på metadatan inte har ändrats). Skicka med --refresh för att framtvinga en uppdatering av metadata. Detta var det avsedda beteendet även i DNF4, men dnf4 makecache uppdaterade alltid förråden på grund av ett fel <https://github.com/rpm-software-management/dnf/issues/2242>.
- Underkommandon har bytt namn för att vara mer intuitiva: install → user, remove → dependency.
- Nytt underkommando weak för att markera ett paket som ett svagt beroende.
- När nu något argument inte matchar ett installerat paket misslyckas DNF5. Beteendet kan ändras med flaggan --skip-unavailable.
- •
- Tog bort flaggan --all eftersom det beteendet är standardfallet.
- Kommandot letar inte längre efter öppna filer för att avgöra om utgångna filer fortfarande används. Standardbeteendet stämmer nu med --reboothint i DNF 4, och föreslår en systemomstart beroende på uppdaterade paket sedan senaste starten.
- Omstartsrekommendationer utlöses nu om något paket med en rekommendation reboot_suggested har installerats eller uppdaterats.
- Flaggan -s, --services letar inte längre efter öppna filer. Istället rekommenderas omstart av en tjänst om något beroende till paketet som tillhandahåller tjänsten eller paketet självt har uppdaterats sedan tjänsten startade.
- Flaggan -r, --reboothint är borttagen eftersom detta beteende nu är standard.
- Flaggan -u, --useronly togs bort.
- •
- Nu är det ett alias för dnf5 distro-sync --offline.
- •
- Nu är det ett alias för dnf5 upgrade --offline.
- Kommandot tar inte längre bort paket enligt tillhandahållanden, utan endast baserat på NEVRA eller en fil som matchar.
- Tog bort kommandona remove-n, remove-na, remove-nevra.
- Specifika varianter av kommandot, remove-n, remove-na och remove-nevra, stödjs inte längre.
- •
- Tog även bort de tillhörande aliasen, erase, erase-n, erase-na och erase-nevra.
- •
- Flaggan --pkg borttagen. Positionsargument kan nu användas för att ange paket att kontrollera höljet för.
- •
- Flaggan --downloadcomps borttagen. Överväg att använda flaggan --download-metadata vilken hämtar all tillgänglig förrådsmetadata, inte bara comps-grupper.
- •
- Kommandona repolist och repoinfo är nu underkommandot till kommandot repo: repo list och repo info.
- •
- Originalkommandona finns fortfarande som kompatibilitetsalias.
- Flaggorna -v och --verbose har tagits bort. Funktionaliteten är ersatt av kommandot repo info (redan i DNF4 som repoinfo).
- När inga förråd är konfigurerade kommer nu tom utdata ges istället för att ”Inga förråd tillgängliga” visas.
- Tog bort: flaggorna -a/--all, --alldeps, --nevra. Deras beteende är och har varit standard för både DNF4 och DNF5, så flaggorna behövs inte längre.
- Tog bort: flaggorna --envra, --nvr, --unsatisfied. De stödjs inte längre.
- Tog bort: kommandovarianterna repoquery-n, repoquery-na och repoquery-nevra.
- Tog bort: aliaset --archlist för --arch.
- Tog bort: aliaset -f för --file. Vidare är argumenten till --file separerade av komman istället för blanktecken.
- Flyttade flaggan --groupmember till underkommandona info och list till kommandona group advisory, och bytte namn på den till --contains-pkgs.
- --queryformat, --qf skriver inte längre en extra nyrad vid slutet av varje formaterad sträng, vilket tar den närmare beteendet hos rpm --query. Använd för att få en nyrad en explicit sekvens \n i formateringssträngen.
- --queryformat stödjer inte längre taggen size eftersom den skrev ut installerad storlek för installerade paket och storleken att hämta för paket som inte var installerade, vilket kunde vara förvirrande.
- Flaggan --source bytte namn till --sourcerpm, och den matchar nu taggen sourcerpm till queryformat.
- Flaggan --resolve ändrades till --providers-of=PAKETATTRIBUT. Den interagerar inte längre med formateringsflaggor såsom --requires, --provides, --suggests, etc. Istället tar den värdet PAKETATTRIBUT direkt.
- •
- Till exempel är dnf rq --resolve --requires glibc numera dnf rq --providers-of=requires glibc.
- •
- Se kommandot Repoquery <#repoquery-command-ref-label> för mer information.
- •
- Kommandot shell har ersatts av det nya kommandot do.
- •
- Den huvudsakliga fördelen med det gamla kommandot var dess möjlighet att utföra flera åtgärder inom en enda transaktion. Det nya kommandot do behåller denna grundfunktionalitet, men med en annan användningsmodell.
- •
- Användning: kommandot shell tillät åtgärder att skrivas in via ett interaktivt skal eller en omdirigerad fil. Det nya kommandot do kräver däremot att åtgärder ges som kommandoradsargument. Direkt stöd för att läsa en kommandofil är inte tillgängligt för närvarande. Filens innehåll kan dock skickas som argument på kommandoraden (t.ex., dnf do $(cat fil)).
- •
- Flyttat från en insticksmodul till ett inbyggt kommando.
- •
- Ny flagga --minimal.
- •
- upgrade-minimal finns fortfarande som ett kompatibilitetsalias för upgrade --minimal.
- När nu något argument inte matchar ett installerat paket misslyckas DNF5. Beteendet kan ändras med flaggan --skip-unavailable.
- Tog bort aliasen upgrade-to och localupdate.
- Tog bort flaggan --skip-broken, eftersom den redan i DNF4 bara var tillgänglig av kompatibilitetsskäl med YUM, men inte hade någon funktion.
- •
- Istället baseras beslut om paketval och hantering av beroendeproblem på flaggorna best <#best-option-ref-label> eller no-best <#no-best-option-ref-label>.
- •
- Namnet på kommandot ändrat till advisory
- •
- updateinfo finns fortfarande som ett kompatibilitetsalias.
- Underkommandon är nu obligatoriska: dnf updateinfo är nu dnf5 advisory summary.
- Flaggorna --summary, --list och --info har gjorts om till underkommandon. Se dnf5 advisory --help.
- Flaggan --sec-severity har bytt namn till --advisory-severities=REKOMMENDATIONSALLVARLIGHETGRAD,….
- Kommandot advisory tar nu endast rekommendations-ID:n; för att filtrera på paket, använd flaggan --contains-pkgs=PAKETNAMN,….
- Tog bort utfasade alias: list-updateinfo, list-security, list-sec, info-updateinfo, info-security, info-sec, summary-updateinfo.
- Tog bort aliaset upif.
- Nytt format på konfigurationsfilen.
- Se kommandot Versionlock <#versionlock-command-ref-label> för mer information.
ÄNDRINGAR AV API:et¶
Skillnaderna mellan API:et till DNF4 och DNF5 är inte bara mindre justeringar, utan det finns större arkitekturändringar, varför det inte är möjligt att täcka in alla ändringarna. Tutorial: API changes between DNF and DNF5 <#tutorial-api-changes-ref-label> beskriver de vanligaste användningsfallen och pekar ut de huvudsakliga skillnaderna.
Andra viktiga ändringar av API:et¶
- •
- Den togs bort på grund av otillräcklig O(n²) prestanda. Använd iteratorn PackageSet för att komma åt data istället.
- •
- Returtypen ändrades från unsigned long till std::string.
- •
- Returvärdet var tvetydigt, det returnerade antingen paketets eller den installerade storleken. Använd Package::get_download_size() och Package::get_install_size() istället.
- •
- Funktionerna togs bort då de inte behövdes. Installonly-paketen tas direkt från huvud-Conf i Base.
- •
- Prioritetsfiltret separerades ut till en egen metod. Kombinera query.filter_priority() med query.filter_latest_evr() eller ett annat filter för att åstadkomma den ursprungliga funktionaliteten.
- •
- Filtret ersattes med filter_latest_evr() vilket har samma beteende som HY_PKG_LATEST_PER_ARCH
- •
- Returtypen ändrades. OptionEnum<std::string> ersattes av OptionStringSet. En kombination av flera autentiseringsmetoder (till exempel ”basic” och ”digest”) kan användas nu. Detta gör det möjligt att använda en lista med autentiseringsmetoder i konfigurationsfiler och ”--setopt=proxy_auth_method=” på kommandoraden till DNF5.
ÄNDRINGAR AV KONFIGURATIONEN¶
Utfasning av alternativet strict¶
Konfigurationsalternativet strict fasas nu ut på grund av dess dubbla funktionalitet:
- 1.
- Det låter upplösaren att hoppa över oinstallerbara paket för att lösa beroendeproblem.
- 2.
- Det låter DNF hoppa över otillgängliga paket (huvudsakligen för kommandot install).
För att åtgärda detta har funktionaliteten delats upp i två konfigurationsalternativ:
- skip_broken för oinstallerbara paket.
- skip_unavailable för paket som inte finns i förråden.
Dessutom har motsvarande kommandoradsflaggor --skip-broken och --skip-unavailable introducerats för kommandon där det är tillämpbart.
Utfasning av alternativet metadata_timer_sync¶
Konfigurationsalternativet metadata_timer_sync är nu föråldrat av timer-inställningen dnf5-makecache.timer till systemd.
Utfasning av alternativet retries¶
Konfigurationsalternativet retries fasas nu ut. I dnf4 användes det endast, trots att det dokumenterades som antalet upprepade försök att hämta paket, för att begränsa antalet omhämtningar av paket på grund av deltarpm-fel. Deltarpm-stöd planeras för närvarande inte för DNF5.
Utfasning av alternativen deltarpm och deltarpm_percentage¶
Stöd för delta-RPM:er planeras inte för DNF5.
Ändringar av enskilda flaggor¶
- Standardvärdet är ändrat till true.
- Det nya standardvärdet säkerställer att viktiga uppdateringar inte hoppas över och att problem i distributionen kommer rapporteras tidigare.
- Standardplatsen för cachekatalogen för användare är nu ~/.cache/libdnf5.
- Standardplatsen för cachekatalogen för root, konfigurerad med alternativet system_cachedir, är nu /var/cache/libdnf5.
- Användare har inte längre direkt tillgång till roots cache; istället kopieras metadata till användarens plats om den är tom eller ogiltig.
- För ytterligare information, se manualsidan om cachning <#caching-misc-ref-label>.
- •
- Detta alternativ ändrades från bool till enum med alternativen all, metadata och none.
- •
- Detta gör det möjligt för användare att ange huruvida cachen skall användas endast för metadata eller för både metadata och paket.
- •
- För att avaktivera alla uteslutanden i konfigurationsfiler används nu glob-tecknet * istället för all för att göra beteendet enhetligt med frågeobjekt i API:et.
- •
- Beteendet har ändrats något, se manualsidan om cachning <#caching-packages-ref-label> för mer information.
- Standardvärdet är nu: comps,updateinfo.
- Värden som stödjs är nu utvidgat till följande lista: comps, filelists, other, presto, updateinfo.
Nyligen introducerade konfigurationsalternativ¶
- •
- Nytt alternativ som används för att aktivera eller avaktivera nedgradering av beroenden när en transaktion löses upp.
- Nya alternativ skip_broken, skip_unavailable lades till på grund av utfasningen av alternativet strict.
- Se utfasning av alternativet strict ovan.
Borttagna konfigurationsalternativ¶
- Det är inte längre möjligt att ändra den detekterade arkitekturen i konfigurationsfiler.
- Se dnf5-forcearch(7), parametern forcearch <#forcearch-misc-ref-label> för att åsidosätta arkitekturen.
- •
- Alternativet fasades ut i dnf < 5 och är nu borttaget.
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 |