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:
- 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į:
- DNF neatpažįsta
--skip-broken
ir nėra kitos alternatyvos. - Nėra nieko panašaus į komandą „resolvedep“, tačiau galite paleisti dnf.
- Nėra komandos „deplist“, kad būtų galima rasti paketo priklausomybę.
- 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.