DNF5-CHANGES-FROM-DNF4(7) | dnf5 | DNF5-CHANGES-FROM-DNF4(7) |
NUME
dnf5-changes-from-dnf4 - schimbări față de DNF4
SCHIMBĂRI LA NIVELUL CLI
Opțiuni
Stabilirea domeniului de aplicare a opțiunilor globale
Opțiunile care nu pot fi aplicate tuturor comenzilor sau care pot fi aplicabile, dar nu au niciun efect sunt eliminate din opțiunile generale și implementate numai pentru comenzile aferente.
Exemple: --best, --no-best sunt relevante doar pentru câteva comenzi de tranzacționare.
Redenumirea opțiunilor
Redenumirea opțiunilor booleene în următoarele formate:
- --<option> și --no-<option>
- --enable-<option> și --disable-<option>
Opțiunile cu numele originale sunt păstrate pentru moment ca opțiuni-alias pentru compatibilitate.
Exemple: --best și --no-best.
Comportament strict
- Opțiunile --disable-repo=ID_DEPOZIT și --setopt=[ID_DEPOZIT.]OPTION=VALOARE produc acum în mod constant o eroare atunci când sunt furnizate cu un ID_DEPOZIT nevalid..
- Comportamentul este acum aliniat cu --repo=ID_DEPOZIT și --enable-repo=ID_DEPOZIT.
- Opțiunea de configurare strict nu mai este luată în considerare; pentru mai multe informații, consultați deprecierea opțiunii strict.
Fără separator de valori după opțiunile scurte
Opțiunile scurte nu au un separator între numele opțiunii și valoarea opțiunii. De exemplu, dnf -x pachet este echivalent cu formele lungi dnf --exclude pachet și dnf --exclude=pachet. Dar dnf -x=pachet înseamnă dnf --exclude =pachet.
Modificări ale opțiunilor individuale
- -4/-6
- •
- A fost eliminată. Acum este disponibilă doar opțiunea de configurare ip_resolve.
- •
- A fost eliminată. Acum este disponibilă doar opțiunea de configurare disable_excludes.
- Au fost eliminate împreună cu alternativele existente anterior --set-disabled și --set-enabled.
- În prezent, acest lucru poate fi realizat numai prin intermediul modulului config-manager.
- •
- De exemplu, pentru a dezactiva depozitul fedora: dnf config-manager setopt fedora.enabled=0.
- A fost eliminată. Acum numai --destdir este utilizată pentru comanda download.
- Atunci când descărcați pachete utilizând comanda system-upgrade sau offline, construcția rutei țintă utilizează acum opțiunile configurate installroot și cachedir.
- •
- Atât opțiunea --errorlevel, cât și opțiunea de configurare errorlevel sunt eliminate.
- •
- A fost eliminată. Acum sunt disponibile doar opțiunile -h sau --help.
- A fost introdus un nou comportament pentru a defini din ce loc sunt încărcate configurația și variabilele.
- Consultați Documentația installroot pentru mai multe informații.
- •
- Se aplică acum numai pentru comanda remove. Ca soluție alternativă pentru alte comenzi, puteți utiliza --setopt=clean_requirements_on_remove=False.
- •
- A fost eliminată. Acum este disponibilă doar opțiunea de configurare obsoletes.
- •
- A fost eliminată.
- •
- A fost eliminată. Acum este disponibilă doar opțiunea de configurare rpmverbosity.
- •
- Redenumită în --advisory-severities.
- •
- Nu este implementată în prezent. Poate fi adăugată pentru comenzi specifice în viitor.
- •
- Comportamentul este diferit acum. Consultați pagina de manual main pentru mai multe detalii.
Noi opțiuni introduse
- Împreună cu --no-allow-downgrade, aceste opțiuni activează/dezactivează retrogradarea dependențelor la rezolvarea tranzacțiilor.
- De asemenea, au fost create noi opțiuni de configurare.
- Se aplică comenzilor install, upgrade și comenzilor conexe.
- •
- Împreună cu --dump-repo-config=ID_DEPOZIT, acestea sunt noi opțiuni pentru imprimarea valorilor de configurare la ieșirea standard.
- Stochează tranzacția care urmează să fie efectuată fără conexiune la rețea (offline).
- Se aplică tuturor comenzilor tranzacționale relevante.
- Consultați Comanda offline pentru mai multe informații.
- •
- Afișează pachetele fără dependențe „leaves” (frunze) nou instalate și pachetele care au devenit frunze (fără dependențe) după o tranzacție.
- Permite omiterea pachetelor care nu sunt disponibile în depozite.
- A nu se confunda cu opțiunea de configurare skip_if_unavailable.
- Se aplică comenzilor install, upgrade și comenzilor conexe.
- Consultați deasemenea Deprecierea opțiunii strict pentru mai multe informații.
- •
- Consultați pagina de manual main pentru mai multe detalii.
Comenzi
Subcomenzi opționale
Comenzile nu pot avea subcomenzi opționale. Subcomenzile opționale erau ambigue, nefiind clar dacă intrarea era destinată ca argument de comandă sau ca subcomandă. Subcomenzile sunt acum obligatorii dacă sunt prezente.
- Înainte: dnf history <transaction ID> Acum: dnf history info <transaction ID>
- Înainte: dnf updateinfo Acum: dnf updateinfo summary
Modificări ale comenzilor individuale
- A fost eliminată. Comanda a fost înlocuită cu o altă funcționalitate.
- Consultați Pseudonime pentru argumentele din linia de comandă pentru mai multe informații.
- Acum este un modul DNF5.
- Unitățile specifice systemd, dnf-automatic-download, dnf-automatic-install și dnf-automatic-notifyonly, au fost eliminate. Se livrează un singur temporizator dnf5-automatic.
- Opțiunea de configurare emitters.send_error_messages a fost eliminată. DNF5 informează automat întotdeauna utilizatorul cu privire la operațiile eșuate care utilizează emitenții configurați.
- Consultați Comanda automatic pentru mai multe informații.
- A fost eliminat argumentul pozițional <spec>, deoarece cazul de utilizare este suficient acoperit de comanda remove.
- Variantele specifice ale comenzii, autoremove-n, autoremove-na și autoremove-nevra, nu mai sunt acceptate.
- •
- Opțiunile --spec și --srpm se aplică numai argumentelor care le urmează. Acest lucru permite cazuri de utilizare care combină fișiere spec și RPM-uri sursă (de exemplu, dnf5 builddep --spec pkg1.spec.in --srpm pkg2.src.rpm). Cu toate acestea, sintaxa acceptată anterior dnf builddep pkg1.spec.in --spec nu mai are niciun efect.
- A fost introdus un comportament nou.
- Parametrii sunt înlocuiți cu subcomenzi.
- •
- Examples:
- Înainte: --add-repo Acum: addrepo
- Înainte: --save --setopt Acum: setopt
- Fișierele de depozit existente nu sunt modificate; în schimb, sunt create fișiere de înlocuire „drop-in”.
- Opțiunea --dump a fost eliminată:
- Pentru a vizualiza opțiunile configurației principale, utilizați comanda dnf5 --dump-main-config.
- Pentru a vizualiza configurația unui depozit, utilizați comanda dnf5 --dump-repo-config=ID_DEPOZIT.
- S-a renunțat la opțiunea --dump-variables, utilizați în schimb comanda dnf5 --dump-variables.
- Consultați Documentația config-manager pentru mai multe informații.
- •
- Acum nu mai asigură funcționalitatea autoupdate. Activarea permanentă a depozitelor de depanare poate fi realizată utilizând comanda config-manager.
- Acum, când orice argument nu se potrivește cu un pachet instalat, DNF5 eșuează. Comportamentul poate fi modificat prin opțiunea --skip-unavailable.
- S-au eliminat comenzile-alias distrosync și distribution-synchronization.
- •
- Acum, când orice argument nu se potrivește cu un pachet instalat, DNF5 eșuează. Comportamentul poate fi modificat prin opțiunea --skip-unavailable.
- Opțiunea --source a fost redenumită în --srpm.
- A fost eliminat argumentul --downloaddir, acum este acceptat doar --destdir.
- Noua opțiune --contains-pkgs pentru a filtra doar grupurile care conțin anumite pachete.
- Am renunțat la argumentul --ids deoarece id-urile de grup sunt întotdeauna în ieșire acum.
- S-a renunțat la subcomenzile group mark install și group mark remove în favoarea noii opțiuni --no-packages pentru comenzile install și remove.
- •
- De exemplu, pentru a marca un grup ca fiind instalat fără a atinge niciun pachet, poate fi utilizată comanda dnf5 group install --no-packages <id-grup>.
- A fost eliminată comanda-alias groupinstall. Aceasta este înlocuită de dnf group install.
- A fost eliminată comanda-alias groupinfo. Aceasta este înlocuită de dnf group infol.
- A fost eliminată comanda-alias grouplist. Aceasta este înlocuită de dnf group list.
- A fost eliminată comanda-alias grouperase. Aceasta este înlocuită de dnf group remove.
- A fost eliminată comanda-alias groupremove. Aceasta este înlocuită de dnf group remove.
- A fost eliminată comanda-alias groupupdate. Aceasta este înlocuită de dnf group upgrade.
- A fost eliminată comanda-alias groups. Aceasta este înlocuită de dnf group.
- •
- A fost eliminată. Funcționalitatea este înlocuită de opțiunea --help.
- Subcomenzile sunt acum obligatorii: dnf history trebuie să fie acum dnf5 history list.
- Comenzile history acceptă acum doar argumentele ID-ului tranzacției; pentru a filtra după pachete, utilizați opțiunea --contains-pkgs=NUME_PACHET,..., disponibilă pentru list și info.
- Subcomanda undo acceptă acum --ignore-extras și --ignore-installed ca și comanda originală history replay.
- Subcomanda userinstalled a fost eliminată. Aceasta este înlocuită de dnf repoquery --userinstalled.
- Subcomanda store creează acum un director cu un fișier JSON de tranzacții în loc să creeze direct un singur fișier JSON de tranzacții.
- Opțiunea --output a subcomenzii store acceptă acum o rută de director în loc de un fișier. Valoarea implicită este ./transaction.
- Subcomanda replay a fost mutată într-o comandă autonomă replay, care acceptă acum o rută către un director în loc de o rută către un fișier. Directorul poate fi creat cu opțiunea --store și, în plus față de tranzacția JSON, poate conține pachete, grupuri și medii utilizate în tranzacție.
- Subcomanda info afișează acum o secțiune separată pentru fiecare tranzacție selectată. Aceasta nu mai fuzionează toate tranzacțiile selectate într-o singură secțiune de tranzacție.
- Am renunțat la opțiunea --all deoarece acest comportament este cel implicit.
- Am renunțat la opțiunea --updates, doar --upgrades este disponibilă acum.
- •
- S-au eliminat variantele de comandă install-n, install-na și install-nevra.
- Am renunțat la opțiunea --all deoarece acest comportament este cel implicit.
- S-a modificat comportamentul opțiunii --available.
- În DNF4, erau enumerate numai pachetele care nu erau instalate sau care aveau versiuni superioare. Acest comportament rămâne neschimbat atunci când opțiunea nu este utilizată, reducând duplicările în secțiunea „Pachete instalate”.
- Atunci când se utilizează opțiunea --available, DNF5 ia în considerare toate versiunile disponibile în depozitele activate, indiferent de versiunea instalată.
- •
- Pentru pachetele instalate, se afișează din ce depozit a fost instalat pachetul, iar dacă informația nu este disponibilă, se afișează <necunoscut>. Acest lucru diferă de DNF4 care, dacă informația nu era disponibilă, afișa @System.
- Metadatele sunt acum stocate în directoare diferite, consultați opțiunea de configurare cachedir changes pentru mai multe detalii.
- Opțiunea --timer a fost eliminată în favoarea opțiunii systemd OnUnitInactiveSec în dnf5-makecache.timer și a opțiunii ConditionACPower în dnf5-makecache.service.
- Acum încearcă să evite descărcarea ori de câte ori este posibil (de exemplu, atunci când metadatele locale nu au expirat încă sau când data și ora metadatelor nu s-au schimbat). Treceți --refresh pentru a forța actualizarea metadatelor. Acesta a fost comportamentul dorit și în DNF4, dar dnf4 makecache împrospăta întotdeauna depozitele din cauza unei erori bug.
- Redenumirea subcomenzilor pentru a fi mai intuitive: install -> user, remove -> dependency.
- Noua subcomandă weak pentru a marca un pachet ca o dependență slabă.
- Acum, când orice argument nu se potrivește cu un pachet instalat, DNF5 eșuează. Comportamentul poate fi modificat prin opțiunea --skip-unavailable.
- •
- Am renunțat la opțiunea --all deoarece acest comportament este cel implicit.
- Comanda nu mai scanează fișierele deschise pentru a determina fișierele învechite încă în uz. Comportamentul implicit se aliniază acum cu --reboothint din DNF 4, sugerând o repornire a sistemului în funcție de pachetele actualizate de la ultima pornire.
- Recomandările de repornire sunt acum declanșate dacă a fost instalat sau actualizat orice pachet cu un aviz reboot_suggested.
- Opțiunea -s, --services nu mai caută fișiere deschise. În schimb, se recomandă repornirea unui serviciu dacă orice dependență a pachetului care furnizează serviciul sau pachetul în sine a fost actualizată de la pornirea serviciului.
- A fost eliminată opțiunea -r, --reboothint, deoarece acest comportament este acum cel implicit.
- A fost eliminată opțiunea -u, --useronly.
- •
- Acum este un alias al dnf5 distro-sync --offline.
- •
- Acum este un alias al dnf5 upgrade --offline.
- Comanda nu mai elimină pachetele în funcție de furnizare, ci doar în funcție de NEVRA sau de potrivirea furnizării fișierului.
- Am renunțat la comenzile remove-n, remove-na, remove-nevra.
- Variantele specifice ale comenzii, remove-n, remove-na și remove-nevra, nu mai sunt acceptate.
- •
- Au fost eliminate și comenzile-alias aferente, erase, erase-n, erase-na și erase-nevra.
- •
- A fost eliminată opțiunea --pkg. Argumentele poziționale pot fi utilizate acum pentru a specifica pachetele pentru care se verifică încheierea.
- •
- A fost eliminată opțiunea --downloadcomps. Luați în considerare utilizarea opțiunii --download-metadata care descarcă toate metadatele de depozit disponibile, nu numai grupurile de comps.
- •
- Comenzile repolist și repoinfo sunt acum subcomenzi ale comenzii repo: repo list și repo info.
- •
- Comenzile originale există încă ca alias pentru compatibilitate.
- Opțiunile -v și --verbose au fost eliminate. Funcționalitatea este înlocuită de comanda repo info (deja în DNF4 ca repoinfo).
- Atunci când nu sunt configurate depozite, în loc să se afișeze „Nu există depozite disponibile”, acum este furnizată o ieșire goală.
- Au fost eliminate: opțiunile -a/--all, --alldeps, --nevra. Comportamentul lor este și a fost implicit atât pentru DNF4, cât și pentru DNF5, astfel încât opțiunile nu mai sunt necesare.
- Eliminate: opțiunile --envra, --nvr, --unsatisfied. Acestea nu mai sunt acceptate.
- Eliminate: variantele de comandă repoquery-n, repoquery-na și repoquery-nevra.
- A fost eliminată: opțiunea --archlist, alias pentru --arch.
- A fost eliminată: opțiunea -f alias pentru --file. De asemenea, argumentele pentru --file sunt separate prin virgule în loc de spații.
- Opțiunea --groupmember a fost mutată la subcomenzile info și list ale comenzilor group și advisory, redenumind-o în --contains-pkgs.
- --queryformat, --qf nu mai imprimă o linie nouă suplimentară la sfârșitul fiecărui șir formatat, aducându-l mai aproape de comportamentul lui rpm --query. Pentru a obține linia nouă, utilizați o secvență explicită \n în șirul de formatare.
- --queryformat nu mai acceptă eticheta size deoarece imprima dimensiunea instalării pentru pachetele instalate și dimensiunea descărcării pentru pachetele neinstalate, ceea ce putea fi confuz.
- Opțiunea --source a fost redenumită în --sourcerpm, iar acum se potrivește cu eticheta sourcerpm din queryformat.
- Opțiunea --resolve a fost schimbată în --providers-of=ATRIBUT_PACHET. Aceasta nu mai interacționează cu opțiunile de formatare precum --requires, --provides, --suggests, etc. În schimb, ia direct valoarea ATRIBUT_PACHET.
- •
- De exemplu, dnf rq --resolve --requires glibc este acum dnf rq --providers-of=requires glibc.
- •
- Consultați Comanda repoquery pentru mai multe informații.
- •
- A fost mutată de la un modul plugin la o comandă internă.
- •
- Noua opțiune --minimal.
- •
- upgrade-minimal există încă ca un alias de compatibilitate pentru upgrade --minimal.
- Acum, când orice argument nu se potrivește cu un pachet instalat, DNF5 eșuează. Comportamentul poate fi modificat prin opțiunea --skip-unavailable.
- Am renunțat la aliasurile upgrade-to și localupdate.
- A fost eliminată opțiunea --skip-broken, deoarece era deja disponibilă în DNF4 doar din motive de compatibilitate cu YUM, dar nu avea niciun efect.
- •
- În schimb, deciziile privind selectarea pachetelor și gestionarea problemelor de dependență se bazează pe opțiunile best sau no-best.
- •
- Am redenumit comanda în advisory
- •
- updateinfo există încă ca un alias pentru compatibilitate.
- Subcomenzile sunt acum obligatorii: dnf updateinfo este acum dnf5 advisory summary.
- Opțiunile --summary, --list și --info au fost transformate în subcomenzi. Consultați dnf5 advisory --help.
- Opțiunea --sec-severity a fost redenumită în --advisory-severities=GRAVITATE_AVIZ,....
- Comenzile advisory acceptă acum doar ID-uri consultative; pentru a filtra după pachete, utilizați opțiunea --contains-pkgs=NUME_PACHET,....
- S-a renunțat la comenzile-alias depreciate: list-updateinfo, list-security, list-sec, info-updateinfo, info-security, info-sec, summary-updateinfo.
- A fost eliminată comanda-alias upif.
- Noul format al fișierului de configurare.
- Consultați Comanda versionlock pentru mai multe informații.
SCHIMBĂRI LA NIVELUL API
PackageSet::operator[]
Aceasta a fost eliminată din cauza performanței insuficiente O(n^2). Utilizați în schimb iteratorul PackageSet pentru a accesa datele.
Package::get_epoch()
Tipul de returnare a fost schimbat de la unsigned long la std::string.
DNF: Package.size, libdnf: dnf_package_get_size()
Valoarea returnată era ambiguă, returnând fie dimensiunea pachetului, fie dimensiunea instalării. Utilizați în schimb Package::get_download_size() și Package::get_install_size().
dnf_sack_set_installonly, dnf_sack_get_installonly, dnf_sack_set_installonly_limit, dnf_sack_get_installonly_limit
Funcțiile au fost eliminate deoarece nu erau necesare. Pachetele „installonly” (doar-instalare) sunt preluate direct din „main Conf în Base” (configurația principală în baza de date).
Query::filter() - HY_PKG_UPGRADES_BY_PRIORITY, HY_PKG_OBSOLETES_BY_PRIORITY, HY_PKG_LATEST_PER_ARCH_BY_PRIORITY
Filtrul de prioritate a fost separat într-o metodă de sine stătătoare. Combinați query.filter_priority() cu query.filter_latest_evr() sau un alt filtru pentru a obține funcționalitatea inițială.
Query::filter() - HY_PKG_LATEST
Filtrul a fost înlocuit cu filter_latest_evr() care are același comportament ca HY_PKG_LATEST_PER_ARCH
ConfigMain::proxy_auth_method() and ConfigRepo::proxy_auth_method()
Tipurile de returnare au fost modificate. OptionEnum<std::string> a fost înlocuit cu OptionStringSet. Acum se poate utiliza o combinație de mai multe metode de autentificare (de exemplu „basic” și „digest”). Acest lucru permite utilizarea unei liste de metode de autentificare în fișierele de configurare și în linia de comandă DNF5 „--setopt=proxy_auth_method=”.
MODIFICĂRI ALE CONFIGURĂRII
Deprecierea opțiunii „strict”
Opțiunea de configurare strict este acum depreciată din cauza funcționalității sale duble:
- 1.
- Aceasta permite soluționatorului să sară peste pachetele ce pot fi dezinstalate pentru a rezolva problemele de dependență.
- 2.
- Aceasta permite DNF să sară peste pachetele indisponibile (mai ales pentru comanda install).
Pentru a rezolva această problemă, funcționalitatea a fost împărțită în două opțiuni de configurare:
- skip_broken pentru pachetele ce pot fi dezinstalate.
- skip_unavailable pentru pachetele care nu sunt prezente în depozite.
În plus, au fost introduse opțiunile corespondente din linia de comandă --skip-broken și --skip-unavailable pentru comenzi, acolo unde este cazul.
Deprecierea opțiunii metadata_timer_sync
Opțiunea de configurare metadata_timer_sync este acum înlocuită de opțiunile temporizatorului systemd dnf5-makecache.timer.
Deprecierea opțiunii „retries”
Opțiunea de configurare retries este acum depreciată. În DNF4, în ciuda faptului că este documentată ca număr de încercări pentru descărcarea pachetelor, aceasta a fost utilizată doar pentru a limita numărul de reîncărcări ale pachetelor din cauza erorilor deltarpm. Suportul Deltarpm nu este planificat în prezent pentru DNF5.
Deprecierea opțiunilor „deltarpm” și „deltarpm_percentage”
Suportul pentru RPM-uri delta nu este planificat pentru DNF5.
Modificări ale opțiunilor individuale
- Valoarea implicită este modificată la true.
- Noua valoare implicită asigură faptul că actualizările importante nu vor fi ignorate, iar problemele din distribuție vor fi raportate mai devreme.
- Directorul de memorie cache implicit al utilizatorului este acum în ~/.cache/libdnf5.
- Directorul cache rădăcină implicit, configurat prin opțiunea system_cachedir, este acum /var/cache/libdnf5.
- Utilizatorii nu mai accesează direct memoria cache a rădăcinii; în schimb, metadatele sunt copiate în locația utilizatorului dacă aceasta este goală sau nevalidă.
- Pentru informații suplimentare, consultați pagina de manual STOCAREA ÎN CACHE (caching).
- •
- Opțiunea a fost modificată de la bool la enum cu opțiunile all, metadata și none.
- •
- Acest lucru permite utilizatorilor să specifice dacă să utilizeze memoria cache exclusiv pentru metadate sau atât pentru metadate, cât și pentru pachete.
- •
- Pentru a dezactiva toate excluderile din fișierele de configurare, acum se utilizează caracterul globa (joker)l * în loc de all pentru a unifica comportamentul cu obiectele de interogare de pe API.
- •
- Comportamentul a fost ușor modificat, consultați pagina de manual STOCAREA ÎN CACHE (caching) pentru mai multe informații.
- Valoarea implicită este acum: comps,updateinfo.
- Valorile acceptate sunt acum extinse la următoarea listă: comps, filelists, other, presto, updateinfo.
Opțiuni de configurare nou introduse
- •
- Opțiune nouă utilizată pentru a activa sau dezactiva retrogradarea dependențelor la rezolvarea tranzacției.
- Noile opțiuni skip_broken, skip_unavailable au fost adăugate din cauza deprecierii opțiunii strict.
- A se vedea Deprecierea opțiunii „strict” de mai sus.
Opțiuni de configurare eliminate
- Nu mai este posibilă modificarea arhitecturii detectate în fișierele de configurare.
- Consultați pagina de manual dnf5-forcearch(7), Parametrul forcearch pentru înlocuirea arhitecturii.
- •
- Opțiunea a fost depreciată în dnf < 5 și este eliminată acum.
AUTOR
A se vedea AUTHORS.md în distribuția sursei dnf5.
DREPTURI DE AUTOR
Contribuitori la proiectul dnf5.
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
25 august 2025 |