GNU/Linux >> Linux Esercitazione >  >> Linux

Esempi di comandi DNF per principianti

Questo tutorial spiega tutti i comandi di base per chi vuole sapere come usare il gestore di pacchetti DNF. Come forse già saprai, DNF è la versione di nuova generazione di YUM ed è stato il gestore di pacchetti predefinito da Fedora 22. È destinato a sostituire YUM nei sistemi basati su RPM come RHEL, CentOS. Rispetto a YUM, DNF presenta alcuni vantaggi significativi, come il supporto per più repository, il supporto di gruppi di pacchetti, una maggiore velocità di risoluzione delle dipendenze e consuma meno memoria, funziona sia in Python 2 che in Python 3, solida documentazione API, compatibilità con YUM e molti altri.

Lettura consigliata:

  • Iniziare con Pacman

Esempi di comandi DNF per principianti

A partire da Fedora 22, yum è stato sostituito con DNF, quindi non è necessario installarlo se sei su Fedora. Su CentOS 7 e RHEL 7, puoi installarlo come descritto nel tutorial riportato di seguito.

  • Come installare DNF su CentOS 7

L'utilizzo di DNF è molto simile a YUM. Tutti i comandi forniti qui sono stati testati su CentOS 7 edizione minima del server con root utente.

1. Ottenere aiuto

Per elencare tutti i comandi principali, i comandi del plug-in e le opzioni, esegui:

# dnf help

Per ottenere assistenza su un comando specifico, ad esempio 'installa', eseguire:

# dnf help install

Per conoscere la versione DNF attualmente installata, eseguire:

# dnf --version

2. Gestione dei pacchetti

Questa sezione spiega l'installazione, l'aggiornamento, l'elenco, la ricerca, il download, la reinstallazione e la rimozione dei pacchetti.

Ottenere informazioni sul pacchetto

Per ottenere i dettagli di qualsiasi pacchetto installato o non installato, eseguire:

# dnf info vim

Installazione dei pacchetti

Per installare un nuovo pacchetto, ad esempio vim , esegui:

# dnf install vim

Possiamo anche installare più pacchetti come di seguito.

# dnf install vim nano emacs

È necessario digitare "y" per continuare l'installazione. Se non vuoi farlo ogni volta, puoi includere l'opzione "y" nei comandi per l'auto-conferma.

# dnf install vim nano emacs -y

Questo non aspetterà la conferma dell'utente. Invece, installerà semplicemente tutti i pacchetti automaticamente.

Pacchetti di annunci

Per elencare tutti i pacchetti disponibili e installati:

# dnf list

Per elencare solo tutti i pacchetti installati, utilizziamo:

# dnf list installed

Per elencare solo i pacchetti disponibili:

# dnf list available

Aggiornamento dei pacchetti

Per verificare la presenza di tutti gli aggiornamenti disponibili, procedere come segue:

# dnf check-update

Oppure,

# dnf list updates

Per aggiornare un singolo pacchetto (es. bash), esegui:

# dnf update bash

Per visualizzare se sono presenti aggiornamenti per un pacchetto installato, eseguire:

# dnf list yum.noarch 
Using metadata from Sat Feb 10 14:47:22 2018
Installed Packages
yum.noarch 3.4.3-150.el7.centos @System
Available Packages
yum.noarch 3.4.3-154.el7.centos.1 update

Questo comando visualizzerà la versione attualmente installata e l'aggiornamento disponibile dal repository. Nell'output sopra, @system specifica la versione installata e l'aggiornamento specifica l'aggiornamento disponibile dal repository.

Per aggiornare più pacchetti:

# dnf update package1 package2

Passa l'opzione "y" per la conferma automatica.

# dnf update package1 package2 -y

Per aggiornare/aggiornare tutti i pacchetti, esegui:

# dnf update
# dnf upgrade

Per sincronizzare i pacchetti installati con le ultime versioni disponibili:

# dnf distro-sync

Ricerca di pacchetti

Per cercare un pacchetto dal repository, esegui:

# dnf search vim

Questo comando elencherà tutti i pacchetti che corrispondono alla parola "vim".

Download dei pacchetti

A volte potresti voler scaricare un pacchetto, ma non vuoi installarlo in questo momento. In tal caso, esegui:

# dnf download vim

Questo comando scaricherà il pacchetto vim-enhanced-xx.xx.x.rpm, ma non lo installerà.

Per installare il pacchetto scaricato, esegui:

# dnf install vim-enhanced-7.4.160-2.el7.x86_64.rpm

Tutte le altre dipendenze richieste verranno scaricate e installate dal repository.

Pacchetti di downgrade

Per eseguire il downgrade di un pacchetto che hai aggiornato in precedenza, esegui:

# dnf downgrade bash

Reinstallazione dei pacchetti

Hai problemi con un pacchetto già installato? Nessun problema! Puoi reinstallarlo in qualsiasi momento.

Per reinstallare un pacchetto, usa:

# dnf reinstall vim

Rimozione dei pacchetti

Per rimuovere un pacchetto (es. vim) dal sistema, eseguire:

# dnf remove vim

Puoi anche utilizzare l'opzione "cancella" come di seguito.

# dnf erase vim

3. Gruppi di pacchetti

Un gruppo di pacchetti è una raccolta di pacchetti che hanno uno scopo comune, ad esempio "Strumenti di sviluppo" o "Server Web". Quando si installa un gruppo di pacchetti, tutti i pacchetti dipendenti verranno scaricati e installati. L'installazione di gruppi ti farà risparmiare una notevole quantità di tempo.

Installazione dei gruppi di pacchetti

Per elencare tutti i gruppi di pacchetti disponibili, esegui:

# dnf grouplist

Per installare un gruppo di pacchetti, ad esempio "Strumenti di sviluppo", esegui:

# dnf groupinstall 'Development Tools'

Questo comando installerà tutti i pacchetti necessari per configurare un ambiente di sviluppo.

Aggiornamento dei gruppi di pacchetti

Per aggiornare un gruppo di pacchetti, esegui:

# dnf groupupdate 'Development Tools'

Rimozione dei gruppi di pacchi

Per rimuovere un gruppo di pacchetti, esegui:

# dnf groupremove 'Development Tools'

4. Lavorare con i repository

Elenco dei repository installati

Per impostazione predefinita, tutti i repository verranno aggiunti nella directory /etc/yum.repos.d/ in CentOS/RHEL. Puoi elencare i repository installati usando il comando:

# dnf repolist

Il comando precedente visualizzerà solo i repository abilitati. Per visualizzare tutti i repository (sia abilitati che disabilitati), esegui:

# dnf repolist all

Aggiunta di repository

Puoi aggiungere un repository creando manualmente un file package.repo nella directory /etc/yum.repos.d/. Tuttavia, DNF lo rende ancora più semplice.

Per aggiungere un nuovo repository, esegui:

# dnf config-manager --add-repo repository_url

Esempio:

# dnf config-manager --add-repo http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/

Per visualizzare il repository appena aggiunto, facciamo:

# dnf repolist
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 115 kB/s | 3.5 MB 00:31 
Using metadata from Sat Feb 10 14:47:22 2018
repo id repo name status
base CentOS-7 - Base 9,591
epel Extra Packages for Enterprise Linux 7 - x86_64 12,278
extras CentOS-7 - Extras 388
springdale.math.ias.edu_data_puias_unsupported_7_x86_64_ created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupporte 2,760
updates CentOS-7 - Updates

Per visualizzare solo il file .repo:

# cat /etc/yum.repos.d/springdale.math.ias.edu_data_puias_unsupported_7_x86_64_.repo 
[springdale.math.ias.edu_data_puias_unsupported_7_x86_64_]
name=created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
baseurl=http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
enabled=1

Abilitazione dei repository

Per abilitare un repository, usa:

# dnf config-manager --set-enabled <repo-id>

Esempio:

# dnf config-manager --set-enabled epel

Possiamo verificare eseguendo il comando seguente per vedere solo i repository abilitati.

# dnf repolist

Inoltre, possiamo combinare insieme le opzioni di abilitazione e installazione come di seguito.

# dnf config-manager --set-enabled epel install zsh

Il comando precedente abilita il repository EPEL e installa il pacchetto zsh.

Disabilitazione dei repository

Per disabilitare un repository, ad esempio EPEL, utilizziamo:

# dnf config-manager --set-disabled epel

Possiamo anche combinare insieme le opzioni di abilitazione e disabilitazione come di seguito.

# dnf --enablerepo=epel --disablerepo=updates

Il comando precedente abiliterà il repository EPEL e disabiliterà il repository degli aggiornamenti.

5. Trovare ciò che fornisce qualcosa

DNF ti consente di trovare quale pacchetto fornisce un comando o un file specifico. Se non ricordi esattamente quale pacchetto fornisce un particolare comando che volevi usare, DNF può aiutarti.

Trova quale pacchetto fornisce un comando specifico

Mi manca il buon vecchio comando "ifconfig". Questo comando è deprecato e non disponibile nelle versioni recenti. Per trovare quale pacchetto fornisce questa gemma, esegui:

# dnf provides */ifconfig

Risultato di esempio:

Using metadata from Thu Feb 8 15:52:17 2018
net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools
Repo : base

Ah, sì! net-tools pacchetto fornisce questo comando. Quindi puoi installare questo pacchetto per usare il comando ifconfig.

Trova quale pacchetto fornisce un file

Cerchiamo di scoprire quale pacchetto fornisce /bin/ls file. Per farlo, esegui:

# dnf provides */bin/ls
Using metadata from Thu Jun 30 12:51:16 2016
coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : @System

coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : base

Come puoi vedere nell'output sopra, coreutils il pacchetto fornisce il file /bin/ls.

Leggi anche:

  • Come trovare il pacchetto che fornisce un file specifico in Linux

6. Lavorare con la cronologia DNF

Usando il comando "dnf history", possiamo visualizzare tutte le azioni che abbiamo eseguito con il comando DNF.

# dnf history
Using metadata from Sat Feb 10 14:47:22 2018
ID | Command line | Date a | Action | Altere
-------------------------------------------------------------------------------
 2 | update bash | 2018-02-10 14:55 | Update | 1 
 1 | install vim | 2018-02-10 14:51 | E, I | 33 EE

Come puoi vedere nell'output sopra, c'erano due transazioni. Ho installato un pacchetto chiamato "vim" e aggiornato il pacchetto "bash". Le transazioni più recenti appariranno in alto.

Per visualizzare i dettagli di una transazione specifica, utilizza il suo ID come di seguito.

# dnf history list 2

Possiamo anche visualizzare i dettagli completi di una transazione specifica come di seguito.

# dnf history info 2
Using metadata from Sat Feb 10 14:47:22 2018
Transaction ID : 2
Begin time : Sat Feb 10 14:55:38 2018
Begin rpmdb : 360:fa7bea798a10e850b2bf800182b377443b481652
End time : 14:55:39 2018 (1 seconds)
End rpmdb : 360:dc9f6bb33b00fe1d74dd205586c0ff8c4674f8f7
User : root <root>
Return-Code : Success
Command Line : update bash
Transaction performed with:
 Installed dnf-0.6.4-2.sdl7.noarch (unknown)
 Installed rpm-4.11.3-21.el7.x86_64 (unknown)
Packages Altered:
 Upgraded bash-4.2.46-21.el7_3.x86_64 (unknown)
 Upgrade 4.2.46-29.el7_4.x86_64 @updates

Come vedi, la transazione con ID 2 è stata utilizzata per aggiornare il pacchetto denominato "bash". Possiamo annullare questa transazione in qualsiasi momento usando il comando:

# dnf history undo 2

Per ripetere la precedente transazione "annulla", esegui semplicemente:

# dnf history redo 2

7. Creazione della cache di metadati DNF

La cache dei metadati DNF verrà creata automaticamente durante l'installazione e l'aggiornamento dei pacchetti. Quindi non abbiamo bisogno di costruirlo manualmente. Tuttavia, DNF ha un comando integrato per creare la cache per rendere più veloci le transazioni future.

Per creare la cache dei metadati, esegui:

# dnf makecache
Extra Packages for Enterprise Linux 7 - x86_64 155 kB/s | 15 MB 01:35 
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 136 kB/s | 3.5 MB 00:26 
CentOS-7 - Base 195 kB/s | 9.5 MB 00:49 
CentOS-7 - Updates 240 kB/s | 7.9 MB 00:33 
CentOS-7 - Extras 84 kB/s | 820 kB 00:09 
Metadata cache created.

8. Pulizia

Per rimuovere i pacchetti indesiderati/orfani, esegui:

# dnf autoremove

Per rimuovere tutti i pacchetti memorizzati nella cache, esegui:

# dnf clean all

Invece di pulire completamente la cache, potresti voler eseguire una pulizia individuale di metadati, dbcache, pacchetti, plug-in ecc.

Per rimuovere i file di cache generati dai metadati del repository:

# dnf clean dbcache

Questo costringe DNF a rigenerare i file della cache la prossima volta che viene eseguito.

Per rimuovere i file cookie locali che indicano quando i metadati e gli elenchi di mirroring sono stati scaricati per ciascun repository, eseguire:

# dnf clean expire-cache

DNF riconvaliderà la cache per ogni repository al successivo utilizzo.

Per rimuovere i metadati del repository:

# dnf clean metadata

L'utilizzo di questa opzione consentirà a DNF di scaricare tutti i metadati la prossima volta che verrà eseguito.

Per rimuovere tutti i pacchetti memorizzati nella cache dal sistema:

# dnf clean packages

Il comando seguente indica a tutti i plugin abilitati di eliminare i dati memorizzati nella cache.

# dnf clean plugins

Questi sono appena sufficienti per ottenere un utilizzo di base di DNF su Fedora, RHEL e CentOS. Per maggiori dettagli, fare riferimento alle pagine man.

$ man dnf

Linux
  1. 10 Esempi di comandi "rm" per principianti Linux

  2. Tutorial sul comando cd di Linux per principianti (8 esempi)

  3. Comando killall Linux per principianti (8 esempi)

  4. 7 Esempi di comandi Chmod per principianti

  5. Esempi di comandi dnf

Esercitazione sui comandi OD Linux per principianti (6 esempi)

Linux w Command Tutorial per principianti (5 esempi)

Tutorial sui comandi Linux ss per principianti (8 esempi)

Comando di localizzazione Linux per principianti (8 esempi)

16 Esempi pratici di comando Linux LS per principianti

Spiegazione del comando Linux mv per principianti (8 esempi)