27 DNF (Fork of Yum) komandas RPM pakotņu pārvaldībai Linux
DNF jeb Dandified YUM ir nākamās paaudzes pakešu pārvaldnieks izplatīšanai ar RPM. Tas pirmo reizi tika ieviests Fedora 18, un tas ir aizstājis Fedora 22.
DNF mērķis ir uzlabot YUM vājās vietas, proti, veiktspēju, atmiņas lietojumu, atkarības izšķirtspēju, ātrumu un daudzus citus faktorus. DNF veic pakešu pārvaldību, izmantojot RPM, libsolv un hawkey bibliotēku. Lai gan tas nav atsevišķi instalēts CentOS un RHEL 7, jūs varat yn, dnf un izmantot to kopā ar yum.
Jūs varētu vēlēties lasīt vairāk par DNF šeit:
- Iemesli, kāpēc Yum aizstāt ar DNF
Jaunākais stabilais DNF izlaidums ir 1.0 (ziņojuma rakstīšanas laikā), kas tika izlaists 2015. gada 11. maijā. Tas (un visa iepriekšējā DNF versija) galvenokārt ir rakstīta Python un tiek izlaista ar GPL v2 licenci.
DNF nav pieejams RHEL/CentOS 7 noklusējuma krātuvē. Tomēr Fedora 22 kuģi ar DNF tiek ieviesti oficiāli.
Lai instalētu DNF RHEL/CentOS sistēmās, vispirms jāinstalē un jāiespējo epel-release repozitorijs.
# yum install epel-release OR # yum install epel-release -y
Lai gan nav ētiski lietot ‘-y’ kopā ar yum, ir ieteicams redzēt, kas tiek instalēts jūsu sistēmā. Tomēr, ja tas jums nav svarīgi, varat izmantot “-y” ar yum, lai visu instalētu automātiski bez lietotāja iejaukšanās.
Pēc tam instalējiet DNF pakotni, izmantojot komandu yum no epel-release repository.
# yum install dnf
Pēc veiksmīgas dnf instalēšanas ir pienācis laiks parādīt 27 praktiskus dnf komandu lietojumus ar piemēriem, kas palīdzēs jums viegli un efektīvi pārvaldīt paketes RPM balstītā izplatīšanā.
Pārbaudiet savā sistēmā instalēto DNF versiju.
# dnf --version
Opcija ‘repolist’ ar komandu dnf parādīs visus jūsu sistēmā iespējotos krātuves.
# dnf repolist
Opcija ‘repolist all’ izdrukās visus jūsu sistēmā iespējotos/atspējotos krātuves.
# dnf repolist all
Komandā “dnf list” tiks uzskaitīti visi pieejamie pakotnes no visiem jūsu Linux sistēmas krātuvēm un instalētajām pakotnēm.
# dnf list
Kamēr komanda “dnf list” parāda visas pieejamās/instalētās paketes no visām krātuvēm. Tomēr jums ir iespēja uzskaitīt tikai instalētās paketes, izmantojot opciju “instalēt sarakstu”, kā parādīts zemāk.
# dnf list installed
Līdzīgi opcijā “pieejamais saraksts” tiks uzskaitīti visi pakotnes, kas jāinstalē no visām iespējotajām krātuvēm.
# dnf list available
Ja jums ir incase, jums nav ne jausmas par pakotni, kuru vēlaties instalēt, tādā gadījumā varat izmantot opciju ‘meklēt’ ar komandu dnf, lai meklētu pakotni, kas atbilst vārdam vai virknei (teiksim nano).
# dnf search nano
Opcija dnf “nodrošina” atrod paketes nosaukumu, kas nodrošina konkrētu failu/pakotni. Piemēram, ja vēlaties atrast to, kas jūsu sistēmā nodrošina ‘/ bin/bash’?
# dnf provides /bin/bash
Pieņemsim, ka pirms instalēšanas sistēmā vēlaties uzzināt informāciju par pakotni, varat izmantot slēdzi “info”, lai iegūtu detalizētu informāciju par paketi (teiksim, nano), kā norādīts zemāk.
# dnf info nano
Lai instalētu pakotni, ko sauc par nano, vienkārši palaidiet zemāk esošo komandu, tā automātiski atrisinās un instalēs visas nepieciešamās pakotnes nano atkarības.
# dnf install nano
Jūs varat atjaunināt tikai noteiktu paketi (teiksim systemd) un atstāt visu sistēmā esošo neskartu.
# dnf update systemd
Pārbaudiet visu sistēmā instalēto sistēmas pakotņu atjauninājumus vienkārši kā.
# dnf check-update
Jūs varat atjaunināt visu sistēmu, ieskaitot visas instalētās paketes, ar šādām komandām.
# dnf update OR # dnf upgrade
Lai noņemtu vai izdzēstu jebkuru nevēlamu pakotni (teiksim nano), varat to izmantot, izmantojot slēdzi “noņemt” vai “izdzēst” ar komandu dnf.
# dnf remove nano OR # dnf erase nano
Paketes, kas tika instalētas, lai apmierinātu atkarību, var būt bezjēdzīgas, ja tās nelieto citas lietojumprogrammas. Lai noņemtu šīs bāreņu paketes, izpildiet tālāk norādīto komandu.
# dnf autoremove
Daudz laika mēs sastopamies ar novecojušām galvenēm un nepabeigtiem darījumiem, kuru rezultātā, izpildot dnf, rodas kļūda. Mēs varam iztīrīt visas kešatmiņā saglabātās pakotnes un galvenes, kas satur attālās pakotnes informāciju, vienkārši izpildot.
# dnf clean all
Jūs varat saņemt palīdzību no jebkuras konkrētas komandas dnf (teiksim tīru), vienkārši izpildot zemāk esošo komandu.
# dnf help clean
Lai uzskaitītu palīdzību par visām pieejamajām dnf komandām un opciju, vienkārši ierakstiet.
# dnf help
Jūs varat izsaukt dnf vēsturi, lai apskatītu jau izpildīto dnf komandu sarakstu. Tādā veidā jūs varat uzzināt, kas tika instalēts/noņemts ar laika zīmogu.
# dnf history
Komanda “dnf grouplist” izdrukās visas pieejamās vai instalētās paketes, ja nekas nav minēts, tajā tiks uzskaitītas visas zināmās grupas.
# dnf grouplist
Lai instalētu grupu paketes, kas apvienotas kā grupas paketes (teiksim, Izglītības programmatūra), vienkārši kā.
# dnf groupinstall 'Educational Software'
Atjaunināsim grupas paketi (teiksim, Izglītības programmatūru), izpildot tālāk norādīto komandu.
# dnf groupupdate 'Educational Software'
Mēs varam noņemt grupas pakotni (teiksim, izglītības programmatūru) kā.
# dnf groupremove 'Educational Software'
DNF ļauj no repo (epel) instalēt jebkuru konkrētu paketi (teiksim phpmyadmin) tikpat vienkārši,
# dnf --enablerepo=epel install phpmyadmin
Komanda “dnf distro-sync” nodrošinās nepieciešamās opcijas visu instalēto pakotņu sinhronizēšanai ar visjaunāko stabilo versiju, kas pieejama no jebkura iespējotā krātuves. Ja nav izvēlēta neviena pakete, visas instalētās pakotnes tiek sinhronizētas.
# dnf distro-sync
Komanda “dnf reinstall nano” pārinstalēs jau instalētu pakotni (teiksim nano).
# dnf reinstall nano
Opcija “pazemināt” pazeminās nosaukto pakotni (teiksim acpid), ja iespējams, uz zemāku versiju.
# 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.
Mans novērojums: DNF paketi nav pazeminājis, kā paredzēts. Tiek ziņots arī par kļūdu.
Secinājums
DNF ir augstākais pakotņu pārvaldnieka YUM beigām. Tā mēdz daudz apstrādāt automātiski, ko, kā es uzskatu, negribēs uzslavēt daudzi pieredzējuši Linux sistēmas administratori. Piemēram:
-
- skip-broken
DNF neatpazīst, un tam nav alternatīvas. - Neviena komanda “resolvedep” nav līdzīga, tomēr jūs varat palaist dnf nodrošina.
- Lai atrastu atkarību no pakotnes, nav komandas ‘deplist’.
- Jūs izslēdzat repo, tas nozīmē, ka izslēgšana tiek piemērota visām operācijām, atšķirībā no yum, kas šīs repo izslēdz tikai instalēšanas un atjaunināšanas laikā utt.
Vairāki Linux lietotāji nav apmierināti ar to, kā pārvietojas Linux ekosistēma. Vispirms Systemd noņēma init system v, un tagad DNF ātrāk aizstās YUM Fedora 22 un vēlāk RHEL un CentOS.
Ko tu domā? ir izplatījumi, un visa Linux ekosistēma nenovērtē savus lietotājus un pārvietojas pret viņu gribu. Arī IT nozarē bieži saka: "Kāpēc labot, ja nav salauzts?", Un ne init System V nav bojāts, ne YUM.
Tas pagaidām ir viss. Lūdzu, paziņojiet man savas vērtīgās domas zemāk esošajos komentāros. Patīk un dalieties ar mums, kā arī palīdziet mums izplatīties.