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:
- 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:
--skip-broken
non è riconosciuto da DNF e non esistono alternative.- Non c'è niente come il comando "resolvedep", tuttavia puoi eseguire i servizi dnf.
- Non esiste un comando "deplist" per trovare la dipendenza del pacchetto.
- 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.