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:
- 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:
--skip-broken
DNF ne prepoznaje i nema alternative.- Ne postoji ništa poput naredbe "resolvedep", ali možete pokrenuti dnf provides.
- Ne postoji naredba ‘deplist’ za pronalaženje ovisnosti paketa.
- 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.