27 „DNF“ (Fork of Yum) komandos, skirtos RPM paketų valdymui Linux sistemoje


DNF dar žinomas kaip Dandified YUM yra naujos kartos paketų tvarkyklė, skirta RPM pagrįstam platinimui. Pirmą kartą jis buvo pristatytas „Fedora 18“ ir pakeitė YUM įrankį neseniai išleistame „Fedora 22“.

DNF tikslas – pagerinti YUM kliūtis, ty našumą, atminties naudojimą, priklausomybės skiriamąją gebą, greitį ir daugybę kitų veiksnių. DNF atlieka paketų valdymą naudodamas RPM, libsolv ir hawkey biblioteką. Nors CentOS ir RHEL 7 jis neįdiegtas, galite naudoti „yum“, „dnf“ ir naudoti jį kartu su „yum“.

Galbūt norėsite daugiau sužinoti apie DNF čia:

  1. Priežastys, kodėl Yum pakeistas DNF

Naujausias stabilus DNF leidimas yra 1.0 (įrašo rašymo metu), kuris buvo išleistas 2015 m. gegužės 11 d.. Jis (ir visa ankstesnė DNF versija) dažniausiai parašyta Python ir išleista pagal GPL v2 licenciją.

DNF montavimas

DNF nepasiekiamas numatytojoje RHEL/CentOS 7 saugykloje. Tačiau Fedora 22 pristatomas su oficialiai įdiegtu DNF.

Norėdami įdiegti DNF RHEL/CentOS sistemose, pirmiausia turite įdiegti ir įgalinti epel-release saugyklą.

yum install epel-release
OR
yum install epel-release -y

Nors nėra etiška naudoti „-y“ su „yum“, nes rekomenduojama pamatyti, kas yra įdiegta jūsų sistemoje. Tačiau jei tai jums nelabai svarbu, galite naudoti „-y“ su „yum“, kad viską įdiegtumėte automatiškai be vartotojo įsikišimo.

Tada įdiekite DNF paketą naudodami komandą yum iš epel-release saugyklos.

yum install dnf

Sėkmingai įdiegus dnf, laikas parodyti 27 praktinį dnf komandų naudojimą su pavyzdžiais, kurie padės valdyti paketus naudojant RPM pagrįstą platinimą. lengvai ir efektyviai.

1. Patikrinkite DNF versiją

Patikrinkite sistemoje įdiegtą DNF versiją.

dnf --version

2. Išvardykite įgalintas DNF saugyklas

Parinktis „repolist“ su komanda dnf parodys visas įgalintas jūsų sistemos saugyklas.

dnf repolist

3. Išvardykite visas įjungtas ir išjungtas DNF saugyklas

Parinktis repolist all išspausdins visas įgalintas/išjungtas saugyklas jūsų sistemoje.

dnf repolist all

4. Išvardykite visus galimus ir įdiegtus paketus naudodami DNF

Komandoje „dnf list“ bus pateikti visi galimi paketai iš visų saugyklų ir įdiegti paketai jūsų „Linux“ sistemoje.

dnf list

5. Išvardykite visus įdiegtus paketus naudodami DNF

Nors komanda „dnf list“ rodo visus galimus/įdiegtus paketus iš visų saugyklų. Tačiau galite pasirinkti tik įdiegtų paketų sąrašą naudodami parinktį „Įdiegtų sąrašas“, kaip parodyta toliau.

dnf list installed

6. Išvardykite visus galimus paketus naudodami DNF

Panašiai, parinktyje „Galimų sąrašas“ bus pateikti visi paketai, kuriuos galima įdiegti iš visų įgalintų saugyklų.

dnf list available

7. Ieškokite paketo naudodami DNF

Jei taip, nežinote, kokį paketą norite įdiegti, tokiu atveju galite naudoti parinktį paieška su komanda dnf, kad ieškotumėte paketo, atitinkančio žodį arba eilutę (tarkim nano ).

dnf search nano

8. Pažiūrėkite, kas suteikia failą/paketą?

Dnf parinktis „pateikia“ suranda paketo, kuriame pateikiamas konkretus failas/antrinis paketas, pavadinimą. Pavyzdžiui, jei norite sužinoti, kas jūsų sistemoje pateikia „/bin/bash“?

dnf provides /bin/bash

9. Gaukite išsamią informaciją apie paketą naudodami DNF

Tarkime, kad norite sužinoti informaciją apie paketą prieš jį įdiegdami sistemoje, galite naudoti jungiklį „informacija“, kad gautumėte išsamią informaciją apie paketą (tarkime, nano), kaip nurodyta toliau.

dnf info nano

10. Įdiekite paketą su DNF

Norėdami įdiegti paketą pavadinimu nano, tiesiog paleiskite toliau pateiktą komandą, ji automatiškai išspręs ir įdiegs visas reikiamas paketo nano priklausomybes.

dnf install nano

11. Paketo atnaujinimas naudojant DNF

Galite atnaujinti tik konkretų paketą (tarkime, systemd) ir nepaliesti visko, kas yra sistemoje.

dnf update systemd

12. Patikrinkite sistemos naujinimus naudodami DNF

Patikrinkite visų sistemoje įdiegtų sistemos paketų naujinimus tiesiog kaip.

dnf check-update

13. Atnaujinkite visus sistemos paketus naudodami DNF

Galite atnaujinti visą sistemą, įskaitant visus įdiegtus paketus, naudodami šias komandas.

dnf update
OR
dnf upgrade

14. Pašalinkite/ištrinkite paketą naudodami DNF

Norėdami pašalinti arba ištrinti bet kokį nepageidaujamą paketą (tarkim nano), galite naudoti jungiklį pašalinti arba trinti su komanda dnf, kad jį pašalintumėte .

dnf remove nano
OR
dnf erase nano

15. Pašalinkite našlaičių paketus naudodami DNF

Tie paketai, kurie buvo įdiegti siekiant patenkinti priklausomybę, gali būti nenaudingi, jei jų nenaudoja kitos programos. Norėdami pašalinti šiuos našlaičių paketus, vykdykite toliau pateiktą komandą.

dnf autoremove

16. Pašalinkite talpykloje saugomus paketus naudodami DNF

Daug laiko susiduriame su pasenusiomis antraštėmis ir nebaigtomis operacijomis, dėl kurių vyksta klaida vykdant dnf. Galime išvalyti visus talpykloje esančius paketus ir antraštes, kuriose yra nuotolinio paketo informacija, tiesiog vykdydami.

dnf clean all

17. Gaukite pagalbos dėl konkrečios DNF komandos

Galite gauti pagalbos dėl bet kurios konkrečios dnf komandos (tarkime, clean) tiesiog vykdydami toliau pateiktą komandą.

dnf help clean

18. Išvardykite visas DNF komandas ir parinktis

Norėdami pateikti visų galimų dnf komandų ir parinkties pagalbos sąrašą, tiesiog įveskite.

dnf help

19. Peržiūrėkite DNF istoriją

Galite iškviesti dnf istoriją ir peržiūrėti jau įvykdytų dnf komandų sąrašą. Tokiu būdu galite žinoti, kas buvo įdiegta/pašalinta su laiko žyma.

dnf history

20. Išvardykite visus grupės paketus

Komanda „dnf grouplist“ išspausdins visus turimus arba įdiegtus paketus, jei nieko nepaminėta, bus išvardytos visos žinomos grupės.

dnf grouplist

21. Įdiekite grupės paketą naudodami DNF

Norėdami įdiegti paketų grupę, susietą kaip grupės paketą (tarkim Mokomoji programinė įranga), tiesiog kaip.

dnf groupinstall 'Educational Software'

22. Atnaujinkite grupės paketą

Atnaujinkime grupės paketą (tarkime Mokomoji programinė įranga) vykdydami toliau pateiktą komandą.

dnf groupupdate 'Educational Software'

23. Pašalinkite grupės paketą

Galime pašalinti grupės paketą (tarkim Mokomoji programinė įranga) kaip.

dnf groupremove 'Educational Software'

24. Įdiekite paketą iš konkrečios saugyklos

DNF leidžia įdiegti bet kokį konkretų paketą (tarkim phpmyadmin) iš atpirkimo (epel) taip paprastai, kaip

dnf --enablerepo=epel install phpmyadmin

25. Sinchronizuokite įdiegtus paketus su stabiliu leidimu

Komanda „dnf distro-sync“ suteiks reikiamų parinkčių sinchronizuoti visus įdiegtus paketus su naujausia stabilia versija, pasiekiama iš bet kurios įgalintos saugyklos. Jei nepasirinktas joks paketas, visi įdiegti paketai sinchronizuojami.

dnf distro-sync

26. Iš naujo įdiekite paketą

Komanda „dnf reinstall nano“ iš naujo įdiegs jau įdiegtą paketą (tarkim nano).

dnf reinstall nano

27. Sumažinti paketo versiją

Parinktis „pažeminti“, jei įmanoma, pakeis pavadinto paketo versiją (tarkime „acpid“) į žemesnę versiją.

dnf downgrade acpid
Pavyzdžio išvestis
Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.

Mano pastebėjimas: DNF nesumažino paketo, kaip turėtų. Apie tai taip pat pranešta kaip apie klaidą.

Išvada

DNF yra aukščiausios klasės paketų tvarkytuvės YUM būsena. Jis linkęs atlikti daug apdorojimo automatiškai, o daugelis patyrusių Linux sistemos administratorių, kaip aš tikiu, nepagirs. Kaip pavyzdį:

  1. DNF neatpažįsta --skip-broken ir nėra kitos alternatyvos.
  2. Nėra nieko panašaus į komandą „resolvedep“, tačiau galite paleisti dnf.
  3. Nėra komandos „deplist“, kad būtų galima rasti paketo priklausomybę.
  4. Jūs neįtraukiate atpirkimo, tai reiškia, kad išskyrimas taikomas visoms operacijoms, kitaip nei „yum“, kuri neįtraukia šių atpirkimo sandorių tik diegiant ir atnaujinant ir pan.

Kai kurie „Linux“ vartotojai nėra patenkinti „Linux Ecosystem“ judėjimu. Pirmiausia Systemd pašalino init system v, o dabar DNF pakeis YUM anksčiau Fedora 22 ir vėliau RHEL ir CentOS.

Ką tu manai? yra platinimai, o visa Linux ekosistema nevertina savo vartotojų ir juda prieš jų valią. Taip pat IT pramonėje dažnai sakoma: „Kodėl taisyti, jei nesugadinta?“, ir nei init System V nesugedo, nei YUM.

Tai kol kas viskas. Praneškite man apie savo vertingas mintis toliau pateiktuose komentaruose. Pamėgti ir dalintis mumis ir padėk mums skleistis.