27 ordres DNF (Fork of Yum) per a la gestió de paquets RPM a Linux


DNF aka Dandified YUM és un gestor de paquets de nova generació per a la distribució basada en RPM. Es va introduir per primera vegada a Fedora 18 i ha substituït Fedora 22.

DNF té com a objectiu millorar els colls d'ampolla de YUM, és a dir, el rendiment, els usos de memòria, la resolució de dependències, la velocitat i molts altres factors. DNF fa la gestió de paquets mitjançant RPM, libsolv i la biblioteca hawkey. Tot i que no ve instal·lat per cent a CentOS i RHEL 7, podeu yum, dnf i utilitzar-lo juntament amb el yum.

Potser us agradaria llegir més sobre DNF aquí:

  1. Raons per substituir Yum per DNF

L'última versió estable de DNF és la 1.0 (en el moment d'escriure la publicació) que es va publicar l'11 de maig de 2015. Aquesta (i tota la versió anterior de DNF) està escrita principalment en Python i es publica sota la llicència GPL v2.

DNF no està disponible al dipòsit predeterminat de RHEL/CentOS 7. Tanmateix, Fedora 22 s'envia amb DNF implementat oficialment.

Per instal·lar DNF als sistemes RHEL/CentOS, primer heu d'instal·lar i habilitar el repositori epel-release.

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

Tot i que no és ètic utilitzar -y amb yum, ja que es recomana veure què s'està instal·lant al vostre sistema. Tanmateix, si això no us importa gaire, podeu utilitzar -y amb yum per instal·lar-ho tot automàticament sense la intervenció de l'usuari.

A continuació, instal·leu el paquet DNF mitjançant l'ordre yum del repositori epel-release.

# yum install dnf

Després d'instal·lar dnf amb èxit, és hora de mostrar-vos 27 ús pràctic de les ordres dnf amb exemples que us ajudaran a gestionar paquets en una distribució basada en RPM de manera fàcil i eficaç.

Comproveu la versió de DNF instal·lada al vostre sistema.

# dnf --version

L'opció repolist amb l'ordre dnf mostrarà tots els dipòsits habilitats al vostre sistema.

# dnf repolist

L'opció repollista tot imprimirà tots els dipòsits activats/desactivats del vostre sistema.

# dnf repolist all

L'ordre dnf list enumerarà tots els paquets disponibles de tots els dipòsits i paquets instal·lats al vostre sistema Linux.

# dnf list

Mentre que l'ordre dnf list mostra tots els paquets disponibles/instal·lats de tots els repositoris. Tanmateix, teniu l'opció d'enumerar només els paquets instal·lats mitjançant l'opció llista instal·lat com es mostra a continuació.

# dnf list installed

De la mateixa manera, l'opció llista de disponibles, enumerarà tots els paquets disponibles per instal·lar-se des de tots els repositoris habilitats.

# dnf list available

Si per si no teniu idea del paquet que voleu instal·lar, en aquesta situació podeu utilitzar l'opció cerca amb l'ordre dnf per cercar el paquet que coincideixi amb la paraula o cadena (per exemple, nano).

# dnf search nano

L'opció dnf proporciona cerca el nom del paquet que proporciona un fitxer/subpaquet específic. Per exemple, si voleu trobar què proporciona /bin/bash al vostre sistema?

# dnf provides /bin/bash

Suposem que voleu conèixer la informació d'un paquet abans d'instal·lar-lo al sistema, podeu utilitzar l'interruptor informació per obtenir informació detallada sobre un paquet (per exemple, nano) com a continuació.

# dnf info nano

Per instal·lar un paquet anomenat nano, només cal que executeu l'ordre següent, resoldrà i instal·larà automàticament totes les dependències necessàries per al paquet nano.

# dnf install nano

Només podeu actualitzar un paquet específic (per exemple, systemd) i deixar-ho tot al sistema sense tocar.

# dnf update systemd

Comproveu les actualitzacions de tots els paquets del sistema instal·lats al sistema simplement com.

# dnf check-update

Podeu actualitzar tot el sistema, inclosos tots els paquets instal·lats amb les ordres següents.

# dnf update
OR
# dnf upgrade

Per eliminar o esborrar qualsevol paquet no desitjat (per exemple, nano), podeu utilitzar l'interruptor eliminar o esborrar amb l'ordre dnf per eliminar-lo.

# dnf remove nano
OR
# dnf erase nano

Els paquets que es van instal·lar per satisfer la dependència poden ser inútils si no són utilitzats per altres aplicacions. Per eliminar aquests paquets orfes, executeu l'ordre següent.

# dnf autoremove

Molt de temps ens trobem amb capçaleres obsoletes i transaccions inacabades que donen lloc a un error durant l'execució de dnf. Podem netejar tots els paquets a la memòria cau i les capçaleres que contenen informació de paquets remots simplement executant.

# dnf clean all

Podeu obtenir ajuda de qualsevol comanda dnf específica (per exemple, netejar) només executant l'ordre següent.

# dnf help clean

Per llistar l'ajuda sobre totes les ordres i opcions dnf disponibles, simplement escriviu.

# dnf help

Podeu trucar a l'historial dnf per veure la llista d'ordres dnf ja executades. D'aquesta manera, podeu saber què s'ha instal·lat/eliminat amb marca de temps.

# dnf history

L'ordre dnf grouplist imprimirà tots els paquets disponibles o instal·lats, si no s'esmenta res, enumerarà tots els grups coneguts.

# dnf grouplist

Per instal·lar un grup de paquets agrupats com a paquet de grup (per exemple, programari educatiu) simplement com.

# dnf groupinstall 'Educational Software'

Actualitzem un paquet de grup (per exemple, programari educatiu) executant l'ordre següent.

# dnf groupupdate 'Educational Software'

Podem eliminar el grup Package (per exemple, Programari Educatiu) com.

# dnf groupremove 'Educational Software'

DNF permet instal·lar qualsevol paquet específic (per exemple, phpmyadmin) des d'un repo (epel) tan senzillament com,

# dnf --enablerepo=epel install phpmyadmin

L'ordre dnf distro-sync proporcionarà les opcions necessàries per sincronitzar tots els paquets instal·lats amb la versió estable més recent disponible des de qualsevol repositori habilitat. Si no se selecciona cap paquet, es sincronitzen tots els paquets instal·lats.

# dnf distro-sync

L'ordre dnf reinstall nano reinstal·larà un paquet ja instal·lat (per exemple, nano).

# dnf reinstall nano

L'opció downgrade baixarà el paquet anomenat (per exemple, acpid) a una versió inferior si és possible.

# 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.

La meva observació: DNF no rebaixa el paquet com se suposa. També s'ha informat com a error.

Conclusió

DNF és l'estat superior del gestor de paquets YUM de l'art. Acostuma a processar molt de manera automàtica, cosa que no serà elogiada per molts administradors de sistemes Linux experimentats, com crec. A tall d'exemple:

  1. --skip-broken no és reconegut per DNF i no hi ha alternativa.
  2. No hi ha res com l'ordre resolvedep, però podeu executar dnf proporciona.
  3. No hi ha cap ordre 'deplist' per trobar la dependència del paquet.
  4. Exclou un repositori, vol dir que l'exclusió s'aplica a totes les operacions, a diferència de yum que exclou aquests repositoris només en el moment de la instal·lació i les actualitzacions, etc.

Diversos usuaris de Linux no estan contents de la manera com es mou l'ecosistema Linux. Primer Systemd va eliminar el sistema d'inici v i ara DNF substituirà YUM més aviat a Fedora 22 i més tard a RHEL i CentOS.

Què penses? són distribucions i tot l'ecosistema Linux no valora els seus usuaris i es mou en contra de la seva voluntat. També es diu sovint a la indústria informàtica: Per què arreglar, si no està trencat?, i ni init System V està trencat ni YUM.

Això és tot per ara. Si us plau, fes-me saber els teus valuosos pensaments als comentaris a continuació. Fes m'agrada i comparteix-nos i ajuda'ns a difondre'ns.