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:

  1. 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:

  1. - skip-broken DNF neatpazīst, un tam nav alternatīvas.
  2. Neviena komanda “resolvedep” nav līdzīga, tomēr jūs varat palaist dnf nodrošina.
  3. Lai atrastu atkarību no pakotnes, nav komandas ‘deplist’.
  4. 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.