GNU/Linux >> Linux Esercitazione >  >> Linux

Come lavorare con i gruppi di pacchetti dnf

Dnf è il gestore di pacchetti di alto livello predefinito nella famiglia di distribuzioni Red Hat, che include Fedora, Red Hat Enterprise Linux e tutti i suoi cloni. È il successore di Yum, e in effetti usare il comando yum nelle versioni recenti delle distribuzioni sopra menzionate, è solo un altro modo per chiamare dnf. Dnf ha molte belle funzioni
e plug-in che ci aiutano a installare, aggiornare e rimuovere il software impacchettato nel formato ".rpm". In questo tutorial esploriamo i gruppi di pacchetti dnf e impariamo come gestirli.

In questo tutorial imparerai :

  • Cos'è un gruppo di pacchetti
  • Come ottenere informazioni su un gruppo di pacchetti
  • Come elencare tutti i gruppi di pacchetti disponibili
  • Come installare, aggiornare e rimuovere un gruppo di pacchetti

Come lavorare con i gruppi di pacchetti dnf

Requisiti software e convenzioni utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema Distribuzioni che utilizzano dnf come gestore di pacchetti
Software dnf
Altro Nessuno
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo command
$ – richiede l'esecuzione di determinati comandi linux come un normale utente non privilegiato

Cos'è un gruppo di pacchetti?

Iniziamo definendo cos'è un gruppo di pacchetti. Un gruppo di pacchetti è fondamentalmente un pacchetto "virtuale". Qui lo chiamiamo "virtuale" perché non fornisce un software specifico di per sé, ma fa riferimento ad altri pacchetti "reali". Possiamo
utilizzare i gruppi di pacchetti per installare un "set" di pacchetti con un singolo comando. Supponiamo ad esempio di dover installare i pacchetti necessari per lavorare con le macchine virtuali kvm su Fedora:invece di installare ogni pacchetto singolarmente, possiamo semplicemente installare il gruppo di pacchetti "virtualizzazione", che farà installare tutto il software necessario sul nostro sistema .

Ottenere informazioni su un gruppo di pacchetti

Prima di installare un gruppo di pacchetti, potremmo voler vedere quali pacchetti verranno inseriti da esso. Per portare a termine questo compito, tutto ciò che dobbiamo fare è utilizzare dnf group info comando, passando come argomento il nome del gruppo di pacchetti che vogliamo ispezionare. Per vedere cosa è il @virtualization i gruppi di pacchetti contengono, ad esempio, eseguiremmo:

$ dnf group info virtualization

Ecco l'output del comando sopra su un sistema Fedora 34:

Group: Virtualization
 Description: These packages provide a graphical virtualization environment.
 Mandatory Packages:
   virt-install
 Default Packages:
   libvirt-daemon-config-network
   libvirt-daemon-kvm
   qemu-kvm
   virt-manager
   virt-viewer
 Optional Packages:
   libguestfs-tools
   python3-libguestfs
   virt-top

Possiamo aumentare la verbosità del comando e ricevere informazioni più dettagliate invocandolo con il -v (abbreviazione di --verbose ) opzione:

Group: Virtualization
 Group-Id: virtualization
 Description: These packages provide a graphical virtualization environment.
 Mandatory Packages:
   virt-install-3.2.0-3.fc34.noarch                                                                 @System
 Default Packages:
   libvirt-daemon-config-network-7.0.0-4.fc34.x86_64                                                @System
   libvirt-daemon-kvm-7.0.0-4.fc34.x86_64                                                           @System
   qemu-kvm-2:5.2.0-7.fc34.x86_64                                                                   @System
   virt-manager-3.2.0-3.fc34.noarch                                                                 @System
   virt-viewer-9.0-3.fc34.x86_64                                                                    @System
 Optional Packages:
   libguestfs-tools
   python3-libguestfs-1:1.45.4-1.fc34.x86_64                                                        updates
   virt-top-1.0.9-17.fc34.x86_64                                                                    fedora

La prima cosa che possiamo notare nell'output è il nome e l'id del gruppo di pacchetti, in questo caso rispettivamente “Virtualizzazione” e “virtualizzazione”. Dopo di loro, possiamo leggere una breve descrizione del gruppo di pacchetti e del suo scopo,
e infine l'elenco effettivo dei pacchetti in esso inclusi. Possiamo vedere che i pacchetti sono divisi in tre sezioni principali:

  • Obbligatorio
  • Predefinito
  • Facoltativo

I pacchetti contrassegnati come "Obbligatorio" e "Predefinito" saranno sempre essere installati, mentre quelli contrassegnati come “Opzionali” verranno installati solo se specificati. Per completezza ricordiamo che esiste un'altra sezione, che in questo caso non viene utilizzata:Condizionale . I pacchetti che fanno parte della sezione “Condizionale” vengono installati solo se i pacchetti che richiedono sono già installati.

In alcuni casi alcuni pacchetti che fanno parte di un gruppo di pacchetti possono essere già presenti nel sistema. Quando eseguiamo le group info comando con il -v opzione, come abbiamo fatto sopra, i pacchetti che fanno parte del gruppo e non sono già installati saranno facilmente distinguibili, poiché verranno evidenziati nell'elenco. Ecco l'output della dnf -v group info virtualization comando dopo il virt-viewer pacchetto è stato installato singolarmente:

dnf -v group info virtualization uscita del comando

Elenca tutti i gruppi di pacchetti disponibili

Per elencare tutti i gruppi di pacchetti disponibili nei repository della nostra distribuzione tutto ciò che dobbiamo fare è eseguire il seguente comando:

$ dnf group list

Il comando sopra restituisce l'elenco di tutti i gruppi conosciuti. Possiamo però aggiungere una serie di opzioni per modificarne il comportamento. Per impostazione predefinita, i cosiddetti gruppi nascosti non sono inclusi nell'elenco. Per farli apparire, tutto ciò che
dobbiamo fare è aggiungere il --hidden opzione:

$ dnf group list --hidden

Se vogliamo solo ottenere l'elenco di tutti gli installati gruppi di pacchetti, invece, possiamo usare il --installed opzione:

$ dnf group list --installed

Installazione, aggiornamento e rimozione di un gruppo di pacchetti

Quindi, come possiamo installare un gruppo di pacchetti? Ci sono due modi principali:possiamo specificare il nome del pacchetto preceduto da @ simbolo, oppure usa il dnf group install comando, come abbiamo già visto. I comandi seguenti sono equivalenti:

$ sudo dnf install @virtualization
$ sudo dnf group install virtualization

Come abbiamo già detto, per impostazione predefinita vengono installati solo i pacchetti "Obbligatorio" e "Predefinito". Questo comportamento predefinito, tuttavia, può essere modificato utilizzando i group_package_types dnf, dalla riga di comando o nel file di configurazione dnf
. Facciamo un esempio. Supponiamo di voler installare solo i pacchetti che fanno parte della sezione "Obbligatoria" di un gruppo di pacchetti, potremmo eseguire il seguente comando:

$ sudo dnf --setopt=group_package_types="mandatory" group install Virtualization

Se non vogliamo specificare l'opzione ogni volta che eseguiamo un comando, possiamo impostarla in modo permanente nel file di configurazione dnf, /etc/dnf/dnf.conf :

[main]
# Install only Mandatory packages from package groups
group_package_types=mandatory

Se vogliamo solo includere i pacchetti inclusi nella sezione "Facoltativo" di un gruppo di pacchetti, potremmo anche aggiungere semplicemente il --with-optional flag della riga di comando durante l'installazione di un gruppo di pacchetti:

$ sudo dnf group install --with-optional virtualization

Possiamo anche avere la possibilità di aggiornare un gruppo di pacchetti. Quando lo facciamo, tutti i pacchetti che fanno parte del gruppo verranno aggiornati insieme al gruppo di pacchetti stesso:ciò potrebbe potenzialmente causare l'installazione di nuovi pacchetti
se sono stati aggiunti al gruppo, o rimossi se non lo sono fanno più parte di un gruppo e non sono stati installati esplicitamente dall'utente. Per aggiornare un gruppo di pacchetti utilizziamo group upgrade comando, quindi, ad esempio,
per aggiornare il pacchetto "Virtualizzazione" eseguiremo:

$ sudo dnf group upgrade virtualization

Dnf fornisce anche un comando per rimuovere un gruppo di pacchetti installato:group remove . Il comando rimuoverà tutto pacchetti che fanno parte di un gruppo dal sistema operativo, ad eccezione di quelli che fanno parte di un altro gruppo di pacchetti, o quelli installati esplicitamente dall'utente. Per rimuovere il gruppo di pacchetti "Virtualizzazione", eseguiremo:

$ sudo dnf group remove virtualization

Conclusioni

In questo tutorial abbiamo imparato a conoscere i gruppi di pacchetti. Abbiamo visto come ottenere informazioni su un gruppo di pacchetti specifico nelle distribuzioni che usano dnf come gestore di pacchetti, come Fedora e Rhel, come i pacchetti che sono membri di un gruppo di pacchetti sono divisi in sezioni, quali di essi sono installati per impostazione predefinita e come possiamo modificare questo
comportamento. Infine, abbiamo imparato come installare, aggiornare e rimuovere un gruppo di pacchetti.


Linux
  1. Come configurare Nginx per funzionare con PHP tramite PHP-FPM

  2. Aggiungi utente al gruppo in Linux, come farlo (con esempi)

  3. Cattura gruppi con Awk o Grep?

  4. Come rimuovere tutti i pacchetti con DNF da cui nessun altro pacchetto dipende

  5. Come funziona Kerberos con SSH?

Come convertire i pacchetti Linux con Alien

Come creare un gruppo di volumi in Linux con LVM

Come lavorare con Ansible Provisioner in Vagrant

Come aggiornare Fedora 35 a Fedora 36 con GNOME 42

Modifica i gruppi in Linux con il comando groupmod

Elimina i gruppi in Linux con il comando groupdel