27 'DNF' (Fork of Yum) naredbe za upravljanje RPM paketima u Linuxu


DNF ili Dandified YUM je upravitelj paketa nove generacije za distribuciju temeljenu na RPM. Prvi put je predstavljen u Fedori 18 i zamijenio je uslužni program YUM u nedavnom izdanju Fedore 22.

DNF ima za cilj poboljšati uska grla YUM-a tj. izvedbu, upotrebu memorije, rješavanje ovisnosti, brzinu i puno drugih čimbenika. DNF upravlja paketima koristeći RPM, libsolv i hawkey biblioteku. Iako ne dolazi po instaliranju u CentOS i RHEL 7, možete ga yum, dnf i koristiti uz yum.

Možda biste željeli pročitati više o DNF-u ovdje:

  1. Razlozi za zamjenu Yuma s DNF

Najnovije stabilno izdanje DNF-a je 1.0 (u vrijeme pisanja posta) koje je objavljeno 11. svibnja 2015.. On (i sve prethodne verzije DNF-a) uglavnom je napisan u Pythonu i objavljen je pod GPL v2 licencom.

Ugradnja DNF-a

DNF nije dostupan u zadanom repozitoriju RHEL/CentOS 7. Međutim, Fedora 22 se isporučuje sa službeno implementiranim DNF-om.

Da biste instalirali DNF na RHEL/CentOS sustave, morate prvo instalirati i omogućiti epel-release repozitorij.

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

Iako nije etično koristiti '-y' s yum jer se preporučuje da vidite što je instalirano u vašem sustavu. Međutim, ako vam to nije bitno, možete koristiti '-y' s yumom da biste sve instalirali automatski bez intervencije korisnika.

Zatim instalirajte DNF paket pomoću naredbe yum iz repozitorija epel-release.

yum install dnf

Nakon uspješne instalacije dnf, vrijeme je da vam pokažemo 27 praktičnu upotrebu dnf naredbi s primjerima koji će vam pomoći u upravljanju paketima u distribuciji temeljenoj na RPM-u jednostavno i učinkovito.

1. Provjerite DNF verziju

Provjerite verziju DNF-a instaliranu na vašem sustavu.

dnf --version

2. Popis omogućenih DNF repozitorija

Opcija ‘repolist’ s naredbom dnf prikazat će sva omogućena spremišta u vašem sustavu.

dnf repolist

3. Popis svih omogućenih i onemogućenih DNF repozitorija

Opcija 'repolist all' će ispisati sva omogućena/onemogućena spremišta u vašem sustavu.

dnf repolist all

4. Navedite sve dostupne i instalirane pakete koristeći DNF

Naredba “dnf list” izlistat će sve dostupne pakete iz svih repozitorija i instalirane pakete na vašem Linux sustavu.

dnf list

5. Navedite sve instalirane pakete koristeći DNF

Dok naredba “dnf list” prikazuje sve dostupne/instalirane pakete iz svih repozitorija. Međutim, imate mogućnost ispisati samo instalirane pakete pomoću opcije “popis instaliranih” kao što je prikazano u nastavku.

dnf list installed

6. Navedite sve dostupne pakete koristeći DNF

Slično tome, opcija “dostupan popis” navest će sve pakete dostupne za instalaciju iz svih omogućenih repozitorija.

dnf list available

7. Potražite paket koristeći DNF

Ako u slučaju da nemate pojma o paketu koji želite instalirati, u takvoj situaciji možete upotrijebiti opciju 'search' s dnf naredbom za traženje paketa koji odgovara riječi ili nizu (recimo nano ).

dnf search nano

8. Pogledajte što pruža datoteku/podpaket?

Opcija dnf “provides” pronalazi naziv paketa koji pruža određenu datoteku/podpaket. Na primjer, ako želite pronaći ono što nudi '/bin/bash' na vašem sustavu?

dnf provides /bin/bash

9. Dohvatite pojedinosti o paketu koristeći DNF

Pretpostavimo da želite znati informacije o paketu prije nego što ga instalirate na sustav, možete upotrijebiti prekidač “info” da biste dobili detaljne informacije o paketu (recimo nano) kao u nastavku.

dnf info nano

10. Instalirajte paket s DNF-om

Da biste instalirali paket pod nazivom nano, samo pokrenite naredbu u nastavku, ona će automatski riješiti i instalirati sve potrebne ovisnosti za paket nano.

dnf install nano

11. Ažuriranje paketa pomoću DNF-a

Možete ažurirati samo određeni paket (recimo systemd) i ostaviti sve na sustavu nedirnuto.

dnf update systemd

12. Provjerite ažuriranja sustava koristeći DNF

Provjerite ažuriranja za sve sistemske pakete instalirane u sustav jednostavno kao.

dnf check-update

13. Ažurirajte sve sistemske pakete koristeći DNF

Možete ažurirati cijeli sustav uključujući sve instalirane pakete sa sljedećim naredbama.

dnf update
OR
dnf upgrade

14. Uklonite/izbrišite paket pomoću DNF-a

Za uklanjanje ili brisanje neželjenog paketa (recimo nano), možete upotrijebiti prekidač “ukloni” ili “brisati” s naredbom dnf da biste ga uklonili .

dnf remove nano
OR
dnf erase nano

15. Uklonite Orphan pakete koristeći DNF

Oni paketi koji su instalirani da bi se zadovoljila ovisnost mogu biti beskorisni ako ih ne koriste druge aplikacije. Za uklanjanje tih paketa siročadi izvršite donju naredbu.

dnf autoremove

16. Uklonite predmemorirane pakete pomoću DNF-a

Često se susrećemo sa zastarjelim zaglavljima i nedovršenim transakcijama što dovodi do pogreške prilikom izvršavanja dnf-a. Možemo čistiti sve predmemorirane pakete i zaglavlja koja sadrže podatke o udaljenom paketu jednostavnim izvršavanjem.

dnf clean all

17. Dobijte pomoć za određenu DNF naredbu

Možete dobiti pomoć za bilo koju specifičnu dnf naredbu (recimo clean) jednostavnim izvršavanjem donje naredbe.

dnf help clean

18. Navedite sve DNF naredbe i opcije

Za popis pomoći za sve dostupne dnf naredbe i opcije jednostavno upišite.

dnf help

19. Pregledajte povijest DNF-a

Možete pozvati dnf povijest da pogledate popis već izvršenih dnf naredbi. Na ovaj način možete biti svjesni što je instalirano/uklonjeno s vremenskom oznakom.

dnf history

20. Navedite sve grupne pakete

Naredba “dnf grouplist” ispisat će sve dostupne ili instalirane pakete, ako ništa nije navedeno, ispisat će sve poznate grupe.

dnf grouplist

21. Instalirajte grupni paket koristeći DNF

Da biste instalirali grupu paketa zajedno kao grupni paket (recimo Obrazovni softver) jednostavno kao.

dnf groupinstall 'Educational Software'

22. Ažurirajte grupni paket

Ažurirajmo grupni paket (recimo Obrazovni softver) izvršavanjem donje naredbe.

dnf groupupdate 'Educational Software'

23. Uklonite grupni paket

Možemo ukloniti grupni paket (recimo Obrazovni softver) kao.

dnf groupremove 'Educational Software'

24. Instalirajte paket iz određenog repozitorija

DNF omogućuje instaliranje bilo kojeg specifičnog paketa (recimo phpmyadmin) iz skladišta (epel) jednostavno kao,

dnf --enablerepo=epel install phpmyadmin

25. Sinkronizirajte instalirane pakete u stabilno izdanje

Naredba “dnf distro-sync” pružit će potrebne opcije za sinkronizaciju svih instaliranih paketa na najnoviju stabilnu verziju dostupnu iz bilo kojeg omogućenog repozitorija. Ako nijedan paket nije odabran, sinkroniziraju se svi instalirani paketi.

dnf distro-sync

26. Ponovno instalirajte paket

Naredba “dnf reinstall nano” ponovno će instalirati već instalirani paket (recimo nano).

dnf reinstall nano

27. Vratite paket na stariju verziju

Opcija “downgrade” će vratiti imenovani paket (recimo acpid) na nižu verziju ako je moguće.

dnf downgrade acpid
Uzorak izlaza
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.

Moje opažanje: DNF nije smanjio paket kao što bi trebao. Također je prijavljen kao bug.

Zaključak

DNF je gornje stanje na kraju umjetnosti Package Manager YUM. Ima tendenciju automatske obrade što neće pohvaliti mnogi iskusni Linux sistemski administratori, vjerujem. Kao primjer:

  1. --skip-broken DNF ne prepoznaje i nema alternative.
  2. Ne postoji ništa poput naredbe "resolvedep", ali možete pokrenuti dnf provides.
  3. Ne postoji naredba ‘deplist’ za pronalaženje ovisnosti paketa.
  4. Ako isključite repo, znači da se isključenje primjenjuje na sve operacije, za razliku od yum-a koji isključuje ta repo samo u vrijeme instalacije i ažuriranja itd.

Nekoliko korisnika Linuxa nije zadovoljno načinom na koji se Linux ekosustav kreće. Prvo je Systemd uklonio init system v, a sada će DNF zamijeniti YUM ranije u Fedori 22, a kasnije u RHEL-u i CentOS-u.

Što misliš? su distribucije i cijeli Linux ekosustav ne cijeni svoje korisnike i kreće se protiv njihove volje. Također se često kaže u IT industriji – “Zašto popravljati, ako nije pokvaren? “, a niti init System V nije pokvaren niti YUM.

To je sve za sada. Recite mi svoje vrijedne misli u komentarima ispod. Lajkajte nas, podijelite nas i pomozite nam da se širimo.