27 DNF (Fork of Yum) Kommandoen fir RPM Package Management am Linux


DNF aka Dandified YUM ass eng nächst Generatioun Package Manager fir RPM baséiert Verdeelung. Et gouf fir d'éischt a Fedora 18 agefouert an et huet Fedora 22 ersat.

DNF zielt fir d'Flaschenhals vum YUM ze verbesseren, nämlech Performance, Memory Usages, Ofhängegkeet Resolutioun, Geschwindegkeet a vill aner Faktoren. DNF mécht Package Management mat RPM, libsolv an hawkey Bibliothéik. Och wann et net per-installéiert an CentOS an RHEL 7 kënnt, kënnt Dir Yum, dnf a benotzen et niewent dem Yum.

Dir kënnt gär méi iwwer DNF liesen hei:

  1. Grënn hannert Yum duerch DNF ersetzen

Déi lescht stabil Verëffentlechung vun DNF ass 1.0 (zu der Zäit vum Schreiwen vum Post) deen am Mee 11, 2015 verëffentlecht gouf.

DNF ass net verfügbar am Standard Repository vu RHEL/CentOS 7. Wéi och ëmmer Fedora 22 Schëffer mat DNF offiziell implementéiert.

Fir DNF op RHEL/CentOS Systemer z'installéieren, musst Dir als éischt Epel-Release Repository installéieren an aktivéieren.

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

Och wann et net ethesch ass '-y' mat Yum ze benotzen well et recommandéiert ass ze kucken wat an Ärem System installéiert gëtt. Awer wann dëst Iech net vill wichteg ass, kënnt Dir '-y' mat yum benotzen fir alles automatesch z'installéieren ouni d'Interventioun vum Benotzer.

Als nächst, installéiert DNF Package mam Yum Kommando vum Epel-Release Repository.

# yum install dnf

Nodeems dnf erfollegräich installéiert ass, ass et Zäit Iech 27 praktesch Notzung vun dnf Kommandoen mat Beispiller ze weisen, déi Iech hëllefen, Packagen an der RPM baséiert Verdeelung einfach an effektiv ze managen.

Kuckt d'Versioun vun DNF op Ärem System installéiert.

# dnf --version

D'Optioun 'repolist' mam dnf Kommando, weist all aktivéiert Repositories ënner Ärem System.

# dnf repolist

D'Optioun 'Repolist all' dréckt all aktivéiert/behënnert Repositories ënner Ärem System.

# dnf repolist all

De Kommando dnf list wäert all verfügbare Pakete vun all de Repositories an installéierten Packagen op Ärem Linux System oplëschten.

# dnf list

Wärend de Kommando dnf list weist all verfügbar/installéiert Packagen aus all de Repositories. Wéi och ëmmer, Dir hutt d'Optioun fir nëmmen déi installéiert Packagen opzemaachen andeems Dir d'Optioun Lëscht installéiert benotzt wéi hei ënnendrënner.

# dnf list installed

Ähnlech wäert d'Optioun Lëscht verfügbar all déi verfügbare Packagen oplëschten fir aus all aktivéierten Repositories z'installéieren.

# dnf list available

Wann incase, hutt Dir keng Ahnung iwwer de Package deen Dir installéiere wëllt, an esou enger Situatioun kënnt Dir d'Optioun 'Sich' mam dnf Kommando benotzen fir no de Package ze sichen deen dem Wuert oder dem String entsprécht (soen Nano).

# dnf search nano

D'dnf Optioun stellt fannt den Numm vum Package deen spezifesche Datei/Ënner-Package ubitt. Zum Beispill, wann Dir wëllt fannen wat '/bin/bash'op Ärem System ubitt?

# dnf provides /bin/bash

Loosst eis unhuelen datt Dir d'Informatioun vun engem Package wësse wëllt ier Dir se um System installéiert, kënnt Dir Info Schalter benotze fir eng detailléiert Informatioun iwwer e Package ze kréien (soen Nano) wéi hei ënnen.

# dnf info nano

Fir e Package mam Numm Nano z'installéieren, fuert just de Kommando hei ënnen, et wäert automatesch all erfuerderlech Ofhängegkeete fir Package Nano léisen an installéieren.

# dnf install nano

Dir kënnt nëmmen e spezifesche Package aktualiséieren (soen systemd) an alles um System onberéiert loossen.

# dnf update systemd

Kontrolléiert d'Aktualiséierunge fir all System Packagen déi am System installéiert sinn einfach wéi.

# dnf check-update

Dir kënnt de ganze System aktualiséieren inklusiv all installéiert Packagen mat de folgende Kommandoen.

# dnf update
OR
# dnf upgrade

Fir all ongewollt Paket (soen Nano) ze läschen oder ze läschen, kënnt Dir läschen oder läschen Schalter mam dnf Kommando benotzen fir se ze läschen.

# dnf remove nano
OR
# dnf erase nano

Déi Packagen déi installéiert goufen fir d'Ofhängegkeet zefridden ze stellen, kënnen nëtzlos sinn wann se net vun aneren Uwendungen benotzt ginn. Fir dës orphan Packagen ze läschen, fuert de Kommando ënnen aus.

# dnf autoremove

Vill Zäit begéine mir onaktuell Header an onfäerdeg Transaktiounen, déi zu Feeler resultéieren beim Ausféierung vun dnf. Mir kënnen all déi cache Packagen an Header botzen, déi Remote Package Informatioun enthalen einfach duerch Ausféierung.

# dnf clean all

Dir kënnt Hëllef vun engem spezifesche dnf Kommando kréien (soen propper) just andeems Dir de Kommando hei ënnen ausféiert.

# dnf help clean

Fir Hëllef op all verfügbare dnf Kommandoen an Optioun ze lëschten einfach Typ.

# dnf help

Dir kënnt dnf Geschicht ruffen fir d'Lëscht vun de schonn ausgefouerten dnf Kommandoen ze kucken. Op dës Manéier kënnt Dir bewosst sinn wat mat Zäitstempel installéiert/geläscht gouf.

# dnf history

De Kommando dnf grouplist dréckt all verfügbaren oder installéiert Packagen aus, wann näischt erwähnt gëtt, gëtt et all bekannte Gruppen.

# dnf grouplist

Fir e Grupp vu Packagen z'installéieren, déi als Gruppepaket gebündelt sinn (soen Educational Software) einfach als.

# dnf groupinstall 'Educational Software'

Loosst eis e Group Package update (soen Educational Software) andeems Dir de Kommando hei ënnen ausféiert.

# dnf groupupdate 'Educational Software'

Mir kënnen de Grupp Package ewechhuelen (soen Educational Software) als.

# dnf groupremove 'Educational Software'

DNF mécht et méiglech all spezifescht Package z'installéieren (soen phpmyadmin) vun engem Repo (Epel) sou einfach wéi,

# dnf --enablerepo=epel install phpmyadmin

De Kommando dnf distro-sync bitt néideg Optiounen fir all installéiert Packagen op déi lescht stabil Versioun ze synchroniséieren, déi vun all aktivéierten Repository verfügbar ass. Wa kee Package ausgewielt gëtt, ginn all installéiert Packagen synchroniséiert.

# dnf distro-sync

De Kommando dnf reinstall nano wäert e scho installéierte Package nei installéieren (soen Nano).

# dnf reinstall nano

D'Optioun Downgrade wäert de genannte Package erofgraden (soen acpid) op eng méi niddereg Versioun wa méiglech.

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

Meng Observatioun: DNF downgradéiert de Package net wéi et soll. Et gouf och als Bug gemellt.

Conclusioun

DNF ass den ieweschten Zoustand vum Enn vun der Konscht Package Manager YUM. Et tendéiert vill Veraarbechtung automatesch ze maachen, wat net vu villen erfuerene Linux System Administrator gelueft gëtt, wéi ech gleewen. Als Beispill:

  1. --skip-broken gëtt net vun DNF unerkannt an et gëtt keng Alternativ.
  2. Et gëtt näischt wéi 'resolvedep' Kommando awer Dir kënnt dnf lafen.
  3. Et gëtt kee 'deplist' Kommando fir d'Packageabhängegkeet ze fannen.
  4. Dir schléisst e Repo aus, heescht datt d'Ausgrenzung op all Operatiounen gëlt, am Géigesaz zu Yum, deen dës Repos nëmmen zum Zäitpunkt vun der Installatioun an Updates ausschléisst, etc.

Verschidde Linux Benotzer sinn net frou wéi de Linux Ecosystem sech beweegt. Éischt Systemd geläscht init System v an elo DNF wäert YUM éischter an Fedora 22 a spéider an RHEL an CentOS ersetzen.

Wat mengs du? sinn Verdeelungen an de ganze Linux-Ökosystem schätzt seng Benotzer net a beweegt sech géint hire Wëllen. Och et gëtt oft an IT Industrie gesot - Firwat fix, Wann net gebrach?, A weder init System V gebrach nach YUM.

Dat ass alles fir elo. Loosst mech w.e.g. Är wäertvoll Gedanken an de Kommentaren hei drënner wëssen. Like an deelt eis an hëlleft eis ze verbreeden.