Crea sito
22 Ottobre 2020

Officine Informatiche Roma

ICT SERVICES ROMA – BAZAAR INFORMATICO

LINUX: Comando YUM

10 min read
18 / 100

YUM sta per Yellowdog Updater Modified, è uno strumento di gestione dei pacchetti basato su RPM (RedHat Package Manager) per sistemi Linux. Yum è stato introdotto nella versione RHEL 5.10 in poi e nel suo comando deprecato “up2date”. 

Yum, il comando aiuta tutti gli utenti e gli amministratori di sistema a cercare le informazioni sui pacchetti e quindi installare, aggiornare e rimuovere tutti i file relativi a rpm dai sistemi. Il vantaggio dell’utilizzo di YUM sarà l’esecuzione automatica delle risoluzioni delle dipendenze in un unico comando, anche i suoi supporti per installare i pacchetti da vari repository di terze parti senza alcun problema di dipendenze. Yum è stato sviluppato e rilasciato sotto GPL (General Public License), il che significa che rientra in licenze software gratuite che consentono all’utente finale di modificare il codice sorgente del software.

Il file di configurazione principale di YUM si trova in “/etc/yum.conf” e le estensioni .repo sono archiviate nella directory “/etc/yum.repos.d”. Usando il “comando yum” possiamo installare tutti i pacchetti direttamente da Internet, inoltre possiamo impostare un repository yum locale usando .iso o DVD. L’utilizzo del repository locale ci aiuterà a eseguire un aggiornamento / patching in blocco dei sistemi nella rete e consente di risparmiare una buona quantità di larghezza di banda Internet. L’utilità yum è un grande sollievo su tutti i tipi di problemi di dipendenza dal software basato su .rpm e aiuta tutti gli installatori ad accelerare le attività relative alla gestione dei pacchetti.

Nota:

Su RHEL / CentOS 8 viene fornita la versione aggiornata (v4.0.4) del gestore di pacchetti YUM, che è denominato DNF (Dandified Yum). DNF è stato introdotto inizialmente in Fedora 18 e ora è il gestore di pacchetti predefinito su Fedora 22 e RHEL 8.

In questo articolo vedremo i 15 comandi yum più utilizzati, che aiuteranno tutti i neofiti e gli amministratori di sistema per le loro attività quotidiane. Tutti gli esempi seguenti di comandi “yum” sono testati su RHEL e CentOS 7.8.

Prerequisiti:

Sistema operativo: CentOS / RHEL
Account utente: utente root o account utente con privilegi sudo
Consigliato per eseguire tutti i comandi amministrativi come con privilegio sudo anziché root

Difficoltà a configurare gli utenti sudo?

La sintassi globale del comando yum in Linux:

yum [opzioni] [comando] [pacchetto …]

La tabella seguente fornisce una panoramica delle opzioni del comando “yum” in RHEL / CentOS

Cheat sheet del comando secondario Yum per Linux

Tabella dei contenuti 

1. Come controllare eventuali pacchetti disponibili per l’aggiornamento?

$ sudo yum check-update

yum check update per linux

Nota:

Usando il comando precedente possiamo vedere (se ci sono disponibili) pacchetti dai repository abilitati per un aggiornamento. Si consiglia sempre agli installatori di esaminare e verificare l’elenco dei pacchetti disponibili prima di eseguire alla cieca il sottocomando “update” per aggiornare il sistema, poiché a volte i nuovi aggiornamenti / patch potrebbero non essere compatibili con le applicazioni o l’hardware esistenti. Nell’output sopra non ho aggiunto l’elenco completo, in quanto ha quasi 116 pacchetti disponibili per l’aggiornamento, tuttavia uno screenshot con solo poche righe per darti un’idea al riguardo. Aggiungi ‘wc -l’ per ottenere il conteggio totale dei pacchetti disponibili (come ‘yum check-update | wc -l).

2. Come installare un particolare pacchetto?

$ sudo yum installa vsftpd

yum installa vsftpd in linux

Nota:

Ho usato il comando precedente per installare un particolare pacchetto “vsftpd”, una volta eseguito il comando ti chiederà conferma e digita “y” per procedere con l’installazione. Inoltre, possiamo installare il pacchetto senza conferma utilizzando “-y” alla fine del comando precedente.

3. Come aggiornare un particolare pacchetto?

$ sudo yum aggiornamento vsftpd -y

Nota:

Prendiamo lo stesso pacchetto “vsftpd”, poiché sappiamo che questo pacchetto esiste già nel sistema. Dopo un paio di giorni verrai avvisato dal rilascio dei nuovi aggiornamenti. Questa volta voglio solo aggiornare solo un particolare pacchetto, nel nostro esempio “vsftpd” utilizzando il comando precedente possiamo aggiornare solo il pacchetto interessato dall’intero gruppo di nuove versioni. Per aggiornare l’intero sistema basta usare il seguente comando.

$ sudo yum update -y

4. Come escludere un particolare pacchetto durante l’aggiornamento dell’intero sistema?

Nota:

Per una migliore comprensione, prima lascia che ti mostri un elenco di tutti i pacchetti disponibili da aggiornare utilizzando il seguente comando. Da questo elenco possiamo scegliere un particolare pacchetto da escludere. Per aggiungere i numeri di riga nell’elenco seguente, ho utilizzato il comando “cat” con l’opzione “-n”.

$ sudo yum list aggiornamenti | cat -n

aggiornamenti della lista yum | cat -n

Nota:

In questo esempio ho selezionato il pacchetto “device-mapper” che è il quindicesimo numero nell’elenco sopra da escludere durante l’aggiornamento dell’intero sistema. Questo può essere fatto usando uno dei seguenti comandi.
$ sudo yum update –exclude = device-mapper \ * OPPURE $ sudo yum -x “package_name *” update

Nota:

Per escludere più di un (multi) pacchetto in un singolo comando, utilizzare uno dei seguenti comandi.
$ sudo yum update –exclude = device-mapper \ * –exclude = PackageKit \ * OR
 $ sudo yum -x “nome_pacchetto1 *” -x “nome_pacchetto2 *” aggiornamento

Nota:

Aggiornamenti regolari delle correzioni per la sicurezza possono prevenire le vulnerabilità. Utilizzare il seguente comando per installare / aggiornare solo le correzioni di sicurezza. Nell’output sottostante puoi vedere che abbiamo quasi 519 pacchetti disponibili per gli aggiornamenti nel sistema, di cui recupererà solo “1 patch” che appartiene alla correzione della sicurezza.
$ sudo yum update –security
yum update - sicurezza in linux

5. Come rimuovere un particolare pacchetto?

$ sudo yum rimuovi vsftpd

yum remove comando in linux

Nota:

Usando il comando precedente possiamo cancellare / eliminare completamente un particolare pacchetto dal nostro sistema. Fai sempre attenzione prima di rimuovere qualsiasi pacchetto e non dare la conferma automatica usando ‘-y’ con il sottocomando remove, poiché a volte potrebbe rimuovere anche le dipendenze e potrebbe portare a risultati imprevisti per i pacchetti che ancora richiedevano quelle dipendenze. Nel caso in cui si verifichi una situazione del genere, è meglio usare “rpm -e –nodeps nome_pacchetto” per superare il problema delle dipendenze. Nell’output sopra puoi vedere che ho rimosso completamente il pacchetto “vsftpd”.
6. Come ottenere un elenco combinato di tutti i pacchetti?

$ sudo yum elenca tutto

yum elenca tutti i comandi in linux

Nota:

Con il comando precedente possiamo ottenere l’elenco combinato di informazioni di tutti i pacchetti installati e disponibili. Puoi vedere le differenze nell’output sopra.
$ sudo yum list installato
yum elenca i comandi installati in Linux

Nota:

Qui puoi ottenere l’elenco di tutte le informazioni sui pacchetti attualmente installati nel sistema.
$ sudo yum list installato “http? – *”
yum espressione glob con virgolette doppie

Nota:

Utilizzando il comando precedente possiamo elencare tutti i pacchetti installati che iniziano con “http”. Si chiama espressione glob con virgolette doppie, può essere usata per elencare tutte le versioni di alcuni componenti specifici in quanto sono contraddistinti da numeri.
7. Come trovare informazioni dettagliate su un pacchetto specifico?

$ sudo yum info vsftpd

 yum info vsftpd comando in Linux

Nota:

Utilizzando il comando precedente possiamo ottenere informazioni dettagliate su un particolare pacchetto come versione, data di rilascio, dimensione, riepilogo. Nell’output sopra, puoi vedere le informazioni dettagliate sul pacchetto ‘vsftpd’
8. Come cancellare le informazioni della cache dalla directory della cache?

$ sudo yum clean all

yum pulisce tutti i comandi in Linux

Nota:

Il comando precedente può essere utilizzato per cancellare le informazioni memorizzate nella cache dal nostro sistema. Per impostazione predefinita, yum memorizzerà tutte le informazioni sul pacchetto nella directory “/ var / cache / yum” e utilizza lo spazio su disco del sistema fino a quando non puliamo le voci accumulate nella directory della cache. A volte i dati memorizzati nella cache non cancellati possono causare problemi quando si tenta di installare / aggiornare il pacchetto o c’è anche la possibilità di mostrare la versione sbagliata del pacchetto anche dopo che il repository ha aggiornato i pacchetti. Quindi si consiglia di pulire di tanto in tanto le voci accumulate nella directory yum cache.
9. Come installare un gruppo di pacchetti?

Nota:

Prima dell’uso, il sottocomando “groupinstall”, controlliamo il riepilogo dei gruppi, ad esempio quanti gruppi installati, gruppi disponibili e gruppi di ambiente disponibili.
$ sudo yum riassunto dei gruppi
comando di riepilogo dei gruppi yum in Linux

Nota:

Dopo aver trovato il riepilogo delle informazioni sul gruppo, controlliamo l’elenco dei pacchetti di gruppo disponibili utilizzando il seguente comando.
$ sudo yum grouplist
comando yum grouplist in Linux

Nota:

Il comando precedente elencherà tutti i pacchetti di gruppo disponibili. Nell’output sopra ho allegato solo alcuni nomi di gruppi dall’elenco. Ora possiamo usare il sottocomando ‘groupinfo’ per avere un’idea migliore dei pacchetti che fanno parte del gruppo.

$ sudo yum groupinfo ‘Server Web di base’

 comando yum groupinfo nel server Linux

Nota:

Come puoi vedere nell’output sopra, il “Server Web di base” ha in bundle tre gruppi obbligatori come (base, core, server web) e altri gruppi opzionali. Se vuoi conoscere ciascuno di questi dettagli del pacchetto di gruppo, usa l’argomento ‘groupinfo’ con questi nomi di gruppo. Nella nostra demo, non abbiamo bisogno del pacchetto “Basic Web Server” in bundle. Qui installeremo solo il server web, quindi controlliamo le informazioni sul server web e installiamolo sul nostro server.
$ sudo yum groupinfo ‘web-server’
 comando yum groupinfo 'web-server' in Linux

$ sudo yum groupinstall ‘web-server’

 comando yum groupinstall in RHEL

Nota:

Infine, abbiamo installato il pacchetto di gruppo utilizzando il sottocomando “groupinstall”. Nell’output sopra puoi vedere il nome dei pacchetti installati.

10. Come trovare i nomi dei pacchetti?

$ sudo yum cerca samba

 comando di ricerca yum in Linux

Nota:

Questo argomento di “ricerca” è molto utile, ad esempio: se non ricordi o non conosci il nome del pacchetto, puoi utilizzare il comando precedente per cercare in tutti i pacchetti disponibili il nome che hai specificato.

11. Come installare un pacchetto di estensione .rpm usando yum?

$ sudo yum localinstall epel-release-latest-7.noarch.rpm

yum comando localinstall in Linux

Nota:

A volte alcuni pacchetti non sono disponibili nei nostri repository yum, quindi potrebbe essere necessario scaricare il pacchetto relativo a rpm e installarlo in un metodo tradizionale di utilizzo dell’installazione rpm come “rpm -ivh xyz-1.2.3.rpm” ma questo pacchetto richiederà dipendenze e queste dipendenze sono disponibili nel repository yum, quindi naturalmente, prima installiamo le dipendenze usando il comando yum, quindi installiamo i file rpm originali. Per superare il doppio tentativo possiamo usare il sottocomando ‘localinstall’ per installare entrambe le dipendenze e il pacchetto rpm in un unico comando yum. Puoi vedere i dettagli nell’output sopra.

12. Come aggiornare il sistema con le ultime versioni?

$ sudo yum upgrade -y

Nota:

Il bello è che possiamo usare entrambi i comandi secondari “aggiorna e aggiorna” per ottenere l’ultima versione dei pacchetti nel nostro sistema, ma c’è una piccola differenza tra loro. Il sottocomando ‘upgrade’ rimuoverà tutti i pacchetti obsoleti durante l’aggiornamento del sistema mentre ‘update’ no. Puoi utilizzare il comando sopra solo nella stessa famiglia come se desideri aggiornare la tua versione dalla 7.4 alla 7.8, ma per aggiornare dalla 7.4 alla 8.1 questo comando non è raccomandato. Per passare a una famiglia diversa, è meglio fare una nuova installazione del sistema operativo 8.1.

13. Come eseguire il downgrade di un pacchetto?

Nota:

Per una migliore comprensione aggiornerò prima il pacchetto “http-parser” dalla versione (2.7.1-8.el7 alla 2.7.1-8.el7_7.2), quindi eseguirò il sottocomando di downgrade per tornare alla versione originale . A volte, ci saranno problemi di compatibilità con le applicazioni esistenti o l’hardware dopo i nuovi aggiornamenti di pochi pacchetti, in tal caso potremmo forzare il ripristino / downgrade di quei pacchetti nella versione precedente.

$ sudo yum list installato | grep http-parser

 comando yum list installato in Linux

$ sudo yum update http-parser
 comando yum update in Linux Server

Nota:

Ora supponiamo che l’ultima versione del pacchetto “http-parser” porti il ​​problema di compatibilità in modo da poter utilizzare il seguente comando per eseguire il downgrade della versione. Ora la nostra versione corrente di “http-parser” è (2.7.1-8.el7_7.2) e torna a (2.7.1-8.el7).
$ sudo yum downgrade http-parser-2.7.1-8.el7
 yum comando di downgrade in Linux

Nota:

Il sottocomando di downgrade funziona solo in base alla disponibilità delle versioni del pacchetto menzionate (precedenti) nel repository. Utilizzando il comando precedente abbiamo ripristinato “http-parser” alla versione precedente. Controlla l’output per il tuo rif.

14. Come visualizzare i dettagli / le informazioni del repository?

$ sudo yum repolist

comando yum repolist in Linux

Nota:

Yum viene fornito con repository abilitati e disabilitati, per impostazione predefinita saranno visibili solo i repository abilitati. Per vedere entrambi gli elenchi, quindi specificare “all” come “yum repolist all”, inoltre è possibile utilizzare il sottocomando “repoinfo”.

$ sudo yum repolist all

 

Produzione:

 yum repolist tutti i comandi in Centos 7

15. Come elencare la storia di yum?

$ sudo yum history O $ sudo yum history list

comando yum history list in RHEL

Nota:

Il comando precedente elencherà i venti numeri recenti della cronologia delle transazioni yum del sistema. Ha costruito con pochi sotto-comandi che vengono aggiunti dalla versione 3.2.25 in poi. Usando questi sottocomandi possiamo facilmente recuperare o ripristinare i pacchetti malfunzionanti dal sistema. Qui, ti mostrerò i sottocomandi più comunemente usati come “info, redo, undo e rollback”. Vediamo una panoramica dei 4 sottocomandi:

Panoramica dei sottocomandi:

Informazioni: mostrerà un dettaglio completo su una o più transazioni particolari.

Annulla: viene utilizzato per annullare una determinata transazione.

Ripeti: viene utilizzato per ripetere una determinata transazione.

Rollback: anche questa funzione è simile a “Annulla” ma ripristinerà tutte le transazioni tra l’ID specifico allo stato corrente del sistema.

(a) Come ottenere maggiori dettagli su una particolare transazione dalla cronologia yum?

$ sudo yum informazioni sulla cronologia 10

comando yum history info in Linux

Nota:

In questo esempio, ho preso le transazioni ID 10 dall’elenco della cronologia dell’output di cui sopra. Mostra che l ‘”ID 10″ è stato utilizzato per installare il pacchetto “bind”. Dall’output sopra puoi vedere i dettagli.

(b) Come annullare una transazione?

$ sudo yum history undo 10

yum history annulla comando in Linux

Nota:

Lo stesso ID transazione 10 verrà utilizzato anche in questo esempio. Usando il comando precedente possiamo riportare l’ID 10 allo stato originale, il che significa che rimuoverà il pacchetto “bind” dal sistema. Controllare l’output sopra per una migliore comprensione. Inoltre è possibile utilizzare il seguente comando per verificare se è stato rimosso o meno.

$ sudo yum list installato | grep bind

(c) Come rifare una transazione?

$ sudo yum history redo 10

comando yum history redo in Linux

Nota:

Lo stesso ID transazione 10 può essere utilizzato anche per questo esempio. Usando il comando precedente possiamo rifare / ripetere allo stato più recente, il che significa che il pacchetto “bind” è stato reinstallato.

(d) Come ripristinare le transazioni?

$ sudo yum history rollback 10

 comando di rollback della cronologia yum in Linux

Nota:

Anche il rollback è simile a “annulla”, ma l’unica differenza è che ripristinerà tutto ciò che si trova tra quella transazione e lo stato più recente del sistema. In questo esempio eseguiremo il rollback dell’ID transazione 10, il che significa che verranno rimosse tutte le transazioni visualizzate dopo l’ID transazione 10. Nell’output puoi vedere che sono stati installati tutti i pacchetti dopo l’ID transazione (dhcp, squid, xchat e il dipendenze) vengono rimosse e il bind è stato reinstallato.

AVVERTIMENTO:

Il comando di rollback non è supportato nelle versioni precedenti sui seguenti pacchetti:

SELinux
SELinux-policy- *
kernel
glibc e le sue dipendenze come gcc

Grazie per esserti preso il tempo di leggere! Spero che questo articolo ti aiuti a capire il comando “yum” con esempi. Inviami il tuo feedback / commenti. Se ti piace questo articolo, condividilo gentilmente e potrebbe aiutare anche gli altri.

Translate »