Ricerca nel sito web

27 Comandi 'DNF' (Fork of Yum) per la gestione dei pacchetti RPM in Linux


DNF alias Dandified YUM è un gestore di pacchetti di prossima generazione per la distribuzione basata su RPM. È stata introdotta per la prima volta in Fedora 18 e ha sostituito l'utilità YUM nella recente versione di Fedora 22.

DNF mira a migliorare i colli di bottiglia di YUM, vale a dire prestazioni, utilizzo della memoria, risoluzione delle dipendenze, velocità e molti altri fattori. DNF esegue la gestione dei pacchetti utilizzando RPM, libsolv e la libreria hawkey. Sebbene non venga preinstallato in CentOS e RHEL 7, puoi yum, dnf e utilizzarlo insieme a yum.

Potresti leggere di più sul DNF qui:

  1. Ragioni dietro la sostituzione di Yum con DNF

L'ultima versione stabile di DNF è 1.0 (al momento della stesura del post), rilasciata l'11 maggio 2015. Esso (e tutte le versioni precedenti di DNF) è scritto principalmente in Python ed è rilasciato sotto licenza GPL v2.

Installazione del DNF

DNF non è disponibile nel repository predefinito di RHEL/CentOS 7. Tuttavia Fedora 22 viene fornito con DNF implementato ufficialmente.

Per installare DNF sui sistemi RHEL/CentOS, devi prima installare e abilitare il repository epel-release.

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

Sebbene non sia etico usare "-y" con yum poiché è consigliabile vedere cosa viene installato nel tuo sistema. Tuttavia, se questo non ti importa molto, puoi usare "-y" con yum per installare tutto automaticamente senza l'intervento dell'utente.

Successivamente, installa il pacchetto DNF utilizzando il comando yum dal repository epel-release.

yum install dnf

Dopo che dnf è stato installato con successo, è il momento di mostrarti 27 utilizzo pratico dei comandi dnf con esempi che ti aiuteranno a gestire i pacchetti nella distribuzione basata su RPM facilmente ed efficacemente.

1. Controlla la versione DNF

Controlla la versione di DNF installata sul tuo sistema.

dnf --version

2. Elenca i repository DNF abilitati

L'opzione "repolist" con il comando dnf mostrerà tutti i repository abilitati nel tuo sistema.

dnf repolist

3. Elenca tutti i repository DNF abilitati e disabilitati

L'opzione "repolist all" stamperà tutti i repository abilitati/disabilitati nel tuo sistema.

dnf repolist all

4. Elenca tutti i pacchetti disponibili e installati utilizzando DNF

Il comando "dnf list" elencherà tutti i pacchetti disponibili da tutti i repository e i pacchetti installati sul tuo sistema Linux.

dnf list

5. Elenca tutti i pacchetti installati utilizzando DNF

Mentre il comando “dnf list” mostra tutti i pacchetti disponibili/installati da tutti i repository. Tuttavia, hai la possibilità di elencare solo i pacchetti installati utilizzando l'opzione "elenco installati" come mostrato di seguito.

dnf list installed

6. Elenca tutti i pacchetti disponibili utilizzando DNF

Allo stesso modo, l'opzione "elenco disponibile" elencherà tutti i pacchetti disponibili per l'installazione da tutti i repository abilitati.

dnf list available

7. Cerca un pacchetto utilizzando DNF

Se non hai idea del pacchetto che desideri installare, in tale situazione puoi utilizzare l'opzione 'cerca' con il comando dnf per cercare il pacchetto che corrisponde alla parola o alla stringa (ad esempio nano ).

dnf search nano

8. Vedi cosa fornisce un file/sottopacchetto?

L'opzione dnf “fornisce” trova il nome del pacchetto che fornisce file/sottopacchetto specifico. Ad esempio, se desideri trovare cosa fornisce "/bin/bash" sul tuo sistema?

dnf provides /bin/bash

9. Ottieni i dettagli di un pacchetto utilizzando DNF

Supponiamo che tu voglia conoscere le informazioni di un pacchetto prima di installarlo sul sistema, puoi utilizzare l'interruttore "info" per ottenere informazioni dettagliate su un pacchetto (ad esempio nano) come di seguito.

dnf info nano

10. Installa un pacchetto con DNF

Per installare un pacchetto chiamato nano, esegui semplicemente il comando seguente che risolverà e installerà automaticamente tutte le dipendenze richieste per il pacchetto nano.

dnf install nano

11. Aggiornamento di un pacchetto utilizzando DNF

Puoi aggiornare solo un pacchetto specifico (ad esempio systemd) e lasciare intatto tutto il sistema.

dnf update systemd

12. Controlla gli aggiornamenti di sistema utilizzando DNF

Controlla gli aggiornamenti per tutti i pacchetti di sistema installati nel sistema semplicemente come.

dnf check-update

13. Aggiorna tutti i pacchetti di sistema utilizzando DNF

Puoi aggiornare l'intero sistema inclusi tutti i pacchetti installati con i seguenti comandi.

dnf update
OR
dnf upgrade

14. Rimuovere/cancellare un pacchetto utilizzando DNF

Per rimuovere o cancellare qualsiasi pacchetto indesiderato (ad esempio nano), puoi utilizzare l'interruttore "rimuovi" o "erase" con il comando dnf per rimuoverlo .

dnf remove nano
OR
dnf erase nano

15. Rimuovere i pacchetti orfani utilizzando DNF

I pacchetti installati per soddisfare la dipendenza potrebbero essere inutili se non utilizzati da altre applicazioni. Per rimuovere questi pacchetti orfani eseguire il comando seguente.

dnf autoremove

16. Rimuovere i pacchetti memorizzati nella cache utilizzando DNF

Spesso incontriamo intestazioni non aggiornate e transazioni non completate che si traducono in errori durante l'esecuzione di dnf. Possiamo pulire tutti i pacchetti memorizzati nella cache e le intestazioni contenenti informazioni sui pacchetti remoti semplicemente eseguendo.

dnf clean all

17. Ottieni aiuto su comandi DNF specifici

Puoi ottenere aiuto per qualsiasi comando dnf specifico (ad esempio clean) semplicemente eseguendo il comando seguente.

dnf help clean

18. Elenca tutti i comandi e le opzioni DNF

Per elencare la guida su tutti i comandi e le opzioni dnf disponibili è sufficiente digitare.

dnf help

19. Visualizza la cronologia dei DNF

Puoi chiamare la cronologia dnf per visualizzare l'elenco dei comandi dnf già eseguiti. In questo modo puoi essere consapevole di ciò che è stato installato/rimosso con timestamp.

dnf history

20. Elenca tutti i pacchetti di gruppo

Il comando “dnf grouplist” stamperà tutti i pacchetti disponibili o installati, se non viene menzionato nulla, elencherà tutti i gruppi conosciuti.

dnf grouplist

21. Installa un pacchetto di gruppo utilizzando DNF

Per installare un gruppo di pacchetti raggruppati insieme come pacchetto di gruppo (ad esempio Software didattico) semplicemente come.

dnf groupinstall 'Educational Software'

22. Aggiorna un pacchetto di gruppo

Aggiorniamo un pacchetto di gruppo (ad esempio software didattico) eseguendo il comando seguente.

dnf groupupdate 'Educational Software'

23. Rimuovere un pacchetto di gruppo

Possiamo rimuovere il pacchetto di gruppo (ad esempio Software didattico) come.

dnf groupremove 'Educational Software'

24. Installa un pacchetto da un repository specifico

DNF rende possibile installare qualsiasi pacchetto specifico (ad esempio phpmyadmin) da un repository (epel) semplicemente come,

dnf --enablerepo=epel install phpmyadmin

25. Sincronizza i pacchetti installati con la versione stabile

Il comando "dnf distro-sync" fornirà le opzioni necessarie per sincronizzare tutti i pacchetti installati con la versione stabile più recente disponibile da qualsiasi repository abilitato. Se non viene selezionato alcun pacchetto, tutti i pacchetti installati verranno sincronizzati.

dnf distro-sync

26. Reinstallare un pacchetto

Il comando "dnf reinstall nano" reinstallerà un pacchetto già installato (ad esempio nano).

dnf reinstall nano

27. Downgrade di un pacchetto

L'opzione "downgrade" eseguirà il downgrade del pacchetto denominato (ad esempio acpid) a una versione inferiore, se possibile.

dnf downgrade acpid
Uscita del campione
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 mia osservazione: DNF non ha eseguito il downgrade del pacchetto come dovrebbe. È stato segnalato anche come bug.

Conclusione

DNF è lo stato più avanzato dell'arte del Package Manager YUM. Tende a eseguire molte elaborazioni automaticamente, cosa che non verrà elogiata da molti amministratori di sistema Linux esperti, come credo. A titolo di esempio:

  1. --skip-broken non è riconosciuto da DNF e non esistono alternative.
  2. Non c'è niente come il comando "resolvedep", tuttavia puoi eseguire i servizi dnf.
  3. Non esiste un comando "deplist" per trovare la dipendenza del pacchetto.
  4. Escludi un repository, significa che l'esclusione si applica a tutte le operazioni, a differenza di yum che esclude tali repository solo al momento dell'installazione e degli aggiornamenti, ecc.

Molti utenti Linux non sono contenti del modo in cui si sta muovendo l'ecosistema Linux. Prima Systemd ha rimosso il sistema di init v e ora DNF sostituirà YUM prima in Fedora 22 e successivamente in RHEL e CentOS.

Cosa ne pensi? sono distribuzioni e l'intero ecosistema Linux non valorizza i propri utenti e si muove contro la loro volontà. Inoltre nel settore IT si dice spesso: "Perché riparare, se non rotto?", e né init System V è rotto né YUM.

È tutto per ora. Per favore fatemi sapere i vostri preziosi pensieri nei commenti qui sotto. Metti mi piace, condividici e aiutaci a diffonderci.