Comando yum: uso e opzioni, yum-utils e verifica dei repository
Il comando yum è il comando di gestione dei pacchetti che installa, aggiorna e rimuove i pacchetti su Linux della famiglia RHEL. Eseguendo i comandi di consultazione e di controllo degli aggiornamenti e gli strumenti di yum-utils su un server AlmaLinux 9, yum è stato eseguito come lo stesso programma di dnf e anche l'output era uguale a quello di dnf.
L'elenco dei repository, i numeri di release dei pacchetti e gli orari di installazione nell'output qui sotto sono valori di esempio.
1️⃣ Uso di base del comando yum: yum e dnf
Su AlmaLinux 9, digitando yum viene eseguito dnf. Questo perché /usr/bin/yum è un link che punta a dnf-3.
ls -l /usr/bin/yum /usr/bin/dnflrwxrwxrwx 1 root root 5 Oct 5 10:12 /usr/bin/dnf -> dnf-3
lrwxrwxrwx 1 root root 5 Oct 5 10:12 /usr/bin/yum -> dnf-3Entrambi i file erano link che puntano a dnf-3. Per questo anche yum --version mostra la versione di dnf.
yum --version4.14.0
Installed: dnf-0:4.14.0-21.el9_8.alma.1.noarch at Mon Oct 5 10:12:30 2026
Built : AlmaLinux Packaging Team <packager@almalinux.org> at Fri May 1 09:30:00 2026
Installed: rpm-0:4.16.1.3-23.el9.x86_64 at Mon Oct 5 10:12:08 2026
Built : AlmaLinux Packaging Team <packager@almalinux.org> at Thu Mar 12 08:15:20 2026La prima riga, 4.14.0, è la versione di dnf; sotto seguono gli orari in cui sono stati installati i pacchetti dnf e rpm. Compare anche la versione di rpm perché alla fine yum installa i pacchetti ricevuti dal repository con rpm.
La forma di base del comando è yum, opzioni, comando e nome del pacchetto, in quest'ordine. La prima riga di --help mostra questa forma, e sotto segue l'elenco dei comandi.
yum --help | head -n 12usage: yum [options] COMMAND
List of Main Commands:
alias List or create command aliases
autoremove remove all unneeded packages that were originally installed as dependencies
check check for problems in the packagedb
check-update check for available package upgrades
clean remove cached data
deplist [deprecated, use repoquery --deplist] List package's dependencies and what packages provide them
distro-sync synchronize installed packages to the latest available versions
downgrade Downgrade a packageI comandi più usati sono raccolti nella tabella.
| Comando | Compito | |
|---|---|---|
| list installed | Elenco dei pacchetti installati (con un nome di pacchetto, solo quel pacchetto) | |
| list updates | Elenco dei pacchetti con una versione più recente nel repository | |
| check-update | Controllare se ci sono aggiornamenti (codice di uscita 100 se ci sono) | |
| info | Versione, dimensione, repository e descrizione di un pacchetto | |
| search | Cercare pacchetti per nome e riepilogo | |
| install | Installare un pacchetto (dipendenze comprese) | |
| remove | Rimuovere un pacchetto (come erase) | |
| update | Portare i pacchetti installati a una nuova versione (come upgrade) | |
| autoremove | Rimuovere i pacchetti installati come dipendenze e non più necessari | |
| makecache | Scaricare in anticipo i metadati del repository e creare la cache | |
| clean all | Cancellare tutta la cache scaricata | |
| repolist | Elenco dei repository abilitati | |
| deplist | Dipendenze e pacchetti che le forniscono (si consiglia repoquery --deplist) | |
| history | Cronologia delle transazioni di installazione e rimozione |
2️⃣ Opzioni del comando yum: -y, -C, exclude, enablerepo
Le opzioni vanno tra yum e il comando. -y risponde sì alle domande, quindi si usa negli script; quando esegui update a mano su un server di produzione, è meglio non usare -y, leggere la tabella della transazione e rispondere tu.
| Opzione | Copia | Descrizione |
|---|---|---|
| -C, --cacheonly | Usa solo la cache scaricata senza collegarsi ai repository. | |
| -q, --quiet | Nasconde avvisi come la riga dei metadati e mostra solo il risultato. | |
| --showduplicates | Mostra sia la versione installata sia le versioni del repository dello stesso pacchetto. | |
| --exclude=PKG, -x PKG | Esclude quel pacchetto da questo comando (sono ammessi pattern come kernel*). | |
| --enablerepo=REPO | Abilita un repository disabilitato solo per questo comando. | |
| --version | Mostra le versioni di yum (dnf) e rpm. | |
| -h, --help | Mostra la guida. |
| Opzione | Copia | Descrizione |
|---|---|---|
| -y, --assumeyes | Risponde sì a tutte le domande. | |
| -v, --verbose | Mostra nel dettaglio le operazioni. | |
| --disablerepo=REPO | Disabilita un repository abilitato solo per questo comando. | |
| --skip-broken | Salta i pacchetti con dipendenze rotte e prosegue con il resto. |
-C mostra il risultato solo con la cache scaricata, senza collegarsi ai repository. La prima riga indica quando la cache è stata aggiornata l'ultima volta, e il risultato inizia dalla seconda riga.
yum -C list treeLast metadata expiration check: 0:35:03 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
tree.x86_64 1.8.0-12.el9 @baseosCon -q la prima riga sparisce e compare solo il risultato.
yum -C -q list installed treeInstalled Packages
tree.x86_64 1.8.0-12.el9 @baseos--showduplicates mostra affiancate la versione installata e le versioni presenti nel repository.
yum -C --showduplicates list libavifLast metadata expiration check: 0:38:15 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
libavif.x86_64 0.11.1-7.el9 @epel
Available Packages
libavif.x86_64 1.1.1-2.el9 epel0.11.1 sotto Installed Packages e 1.1.1 sotto Available Packages sono due versioni dello stesso pacchetto. La versione del repository è più alta, quindi libavif va aggiornato.
--exclude toglie quel pacchetto da questo comando.
yum -C --exclude=libavif check-update libavif libdav1dLast metadata expiration check: 0:35:10 ago on Thu Oct 29 05:32:35 2026.
libdav1d.x86_64 1.5.4-2.el9 epelSono stati indicati due pacchetti, ma libavif è stato escluso ed è rimasto solo libdav1d. Aggiunto a update, aggiorna tutto tranne quel pacchetto.
3️⃣ Gestione dei pacchetti con yum e ordine degli aggiornamenti
Anche conoscendo le opzioni, bisogna prima vedere cosa è installato e cosa è uscito di nuovo per decidere quali pacchetti aggiornare. Per questo partiamo dai comandi che controllano i pacchetti installati.
yum -C list installed treeInstalled Packages
tree.x86_64 1.8.0-12.el9 @baseos@baseos nell'ultima colonna è il repository da cui il pacchetto è stato installato. Interrogando con rpm -q, anche la versione compare su una sola riga.
rpm -q tree htop libaviftree-1.8.0-12.el9.x86_64
package htop is not installed
libavif-0.11.1-7.el9.x86_64Per un pacchetto non installato, l'output termina con una sola riga not installed, e il codice di uscita è 1.
I pacchetti con una nuova versione nel repository si controllano con list updates.
yum -C list updates libavif libdav1dLast metadata expiration check: 0:35:07 ago on Thu Oct 29 05:32:35 2026.
Available Upgrades
libavif.x86_64 1.1.1-2.el9 epel
libdav1d.x86_64 1.5.4-2.el9 epelSotto Available Upgrades ci sono i pacchetti con una nuova versione. Senza nome di pacchetto, controlla tutto ciò che è installato.
check-update segnala la stessa lista anche con il codice di uscita.
yum -C check-update libavif libdav1d; echo $?Last metadata expiration check: 0:35:08 ago on Thu Oct 29 05:32:35 2026.
libavif.x86_64 1.1.1-2.el9 epel
libdav1d.x86_64 1.5.4-2.el9 epel
100Il 100 nell'ultima riga è il codice di uscita. Vale 100 se ci sono aggiornamenti e 0 se non ce ne sono, quindi gli script decidono in base a questo valore.
L'aggiornamento segue l'ordine makecache, update, autoremove.
yum makecachemakecache scarica in anticipo i metadati del repository. update li scarica da solo, quindi puoi saltare questo passaggio.
yum updateupdate porta tutti i pacchetti installati alla nuova versione e gestisce anche le dipendenze.
yum update libavifCon un nome di pacchetto, aggiorna solo quel pacchetto.
yum autoremoveautoremove rimuove i pacchetti installati insieme come dipendenze e non più necessari. Si esegue dopo update.
yum update --exclude='kernel*'Per aggiornare senza il kernel, aggiungi a --exclude un pattern kernel. Dopo un aggiornamento del kernel bisogna riavviare per usare il nuovo kernel; se serve un riavvio lo si controlla con needs-restarting di yum-utils.
4️⃣ Strumenti di yum-utils: yumdownloader, repoquery, needs-restarting
Su AlmaLinux 9, yum-utils è uno strato di compatibilità fornito da dnf-plugins-core. I nomi dei comandi sono quelli dell'epoca del vecchio YUM, ma ciò che viene eseguito sono plugin di dnf.
yum -C info yum-utilsLast metadata expiration check: 0:38:12 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
Name : yum-utils
Version : 4.3.0
Release : 14.el9
Architecture : noarch
Size : 23 k
Source : dnf-plugins-core-4.3.0-14.el9.src.rpm
Repository : @System
From repo : baseos
Summary : Yum-utils CLI compatibility layer
URL : https://github.com/rpm-software-management/dnf-plugins-core
License : GPLv2+
Description : As a Yum-utils CLI compatibility layer, supplies in CLI shims for
: debuginfo-install, repograph, package-cleanup, repoclosure, repomanage,
: repoquery, reposync, repotrack, repodiff, builddep, config-manager, debug,
: download and yum-groups-manager that use new implementations using DNF.Source è dnf-plugins-core e Summary è Yum-utils CLI compatibility layer. Se non è installato, si installa con [yum install yum-utils].
I 17 comandi installati da questo pacchetto compaiono con rpm -ql.
rpm -ql yum-utils | grep bin//usr/bin/debuginfo-install
/usr/bin/find-repos-of-install
/usr/bin/needs-restarting
/usr/bin/package-cleanup
/usr/bin/repo-graph
/usr/bin/repoclosure
/usr/bin/repodiff
/usr/bin/repomanage
/usr/bin/repoquery
/usr/bin/reposync
/usr/bin/repotrack
/usr/bin/yum-builddep
/usr/bin/yum-config-manager
/usr/bin/yum-debug-dump
/usr/bin/yum-debug-restore
/usr/bin/yum-groups-manager
/usr/bin/yumdownloaderls -l /usr/bin/yumdownloader /usr/bin/repoquery /usr/bin/needs-restarting /usr/bin/yum-config-managerlrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/needs-restarting -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/repoquery -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/yum-config-manager -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/yumdownloader -> /usr/libexec/dnf-utilsErano tutti link che puntano a un unico file, /usr/libexec/dnf-utils. Gli strumenti più usati e cosa fanno sono raggruppati in un albero.
yumdownloader scarica solo i file di pacchetto senza installarli. Con --urls mostra solo gli indirizzi da cui scaricherebbe.
yumdownloader --urls treeLast metadata expiration check: 0:35:16 ago on Thu Oct 29 05:32:35 2026.
https://repo.almalinux.org/almalinux/9.8/BaseOS/x86_64/os/Packages/tree-1.8.0-12.el9.x86_64.rpmL'indirizzo del repository e il nome del file compaiono su una riga. Con questo indirizzo puoi scaricare in anticipo i file da portare e installare su un server senza accesso a internet.
repoquery consulta i file che un pacchetto installa e le sue dipendenze.
repoquery -l treeLast metadata expiration check: 0:35:17 ago on Thu Oct 29 05:32:35 2026.
/usr/bin/tree
/usr/lib/.build-id
/usr/lib/.build-id/e0
/usr/lib/.build-id/e0/e2ec3d46003583b56979e08d437395bd0d2a07
/usr/share/doc/tree
/usr/share/doc/tree/README
/usr/share/licenses/tree
/usr/share/licenses/tree/LICENSE
/usr/share/man/man1/tree.1.gz-l è l'elenco dei file di quel pacchetto. Contiene un eseguibile, più la documentazione, la licenza e il manuale.
repoquery --requires treeLast metadata expiration check: 0:35:19 ago on Thu Oct 29 05:32:35 2026.
libc.so.6(GLIBC_2.34)(64bit)
rtld(GNU_HASH)--requires mostra le librerie necessarie. yum deplist mostra le stesse informazioni più i pacchetti che le forniscono, ma la guida lo indica come deprecated, quindi al suo posto si usa repoquery --deplist.
yum -C repoquery --deplist treeLast metadata expiration check: 0:38:17 ago on Thu Oct 29 05:32:35 2026.
package: tree-1.8.0-12.el9.x86_64
dependency: libc.so.6(GLIBC_2.34)(64bit)
provider: glibc-2.34-170.el9_8.x86_64
dependency: rtld(GNU_HASH)
provider: glibc-2.34-170.el9_8.i686
provider: glibc-2.34-170.el9_8.x86_64Le righe dependency indicano ciò che serve, e le righe provider i pacchetti che lo forniscono.
Se dopo un aggiornamento serve un riavvio lo si controlla con needs-restarting -r.
needs-restarting -rNo core libraries or services have been updated since boot-up.
Reboot should not be necessary.Dopo l'aggiornamento del kernel o di una libreria fondamentale, l'avviso cambia indicando che serve un riavvio, e il comando termina con codice di uscita 1.
Eseguito senza opzioni, package-cleanup mostra solo un avviso che chiede di scegliere quale controllo fare.
package-cleanuppackage-cleanup has to be executed with one of the options: --dupes, --leaves, --orphans, --problems or --cleandupes5️⃣ Verificare i repository di yum: repolist e l'opzione enablerepo
Anche con gli strumenti pronti, yum non trova nulla se il pacchetto non è in un repository. Per questo prima si guarda quali repository di yum sono abilitati.
yum repolistrepo id repo name
appstream AlmaLinux 9 - AppStream
baseos AlmaLinux 9 - BaseOS
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras AlmaLinux 9 - Extrasrepolist mostra solo i repository con enabled=1 nel file di configurazione. baseos e appstream sono i repository di base della distribuzione, ed epel è un repository aggiunto a parte.
yum repolist --all | head -n 12repo id repo name status
appstream AlmaLinux 9 - AppStream enabled
appstream-debuginfo AlmaLinux 9 - AppStream - Debug disabled
appstream-source AlmaLinux 9 - AppStream - Source disabled
baseos AlmaLinux 9 - BaseOS enabled
baseos-debuginfo AlmaLinux 9 - BaseOS - Debug disabled
baseos-source AlmaLinux 9 - BaseOS - Source disabled
crb AlmaLinux 9 - CRB disabled
crb-debuginfo AlmaLinux 9 - CRB - Debug disabled
crb-source AlmaLinux 9 - CRB - Source disabled
epel Extra Packages for Enterprise Linux 9 - x enabled
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 ope enabled--all mostra anche i repository disabilitati, insieme alla colonna status. I pacchetti di un repository disabled come crb non si possono installare così come sono.
Per abilitare un repository disabilitato solo in questo comando, aggiungi --enablerepo.
yum --enablerepo=crb repolistrepo id repo name
appstream AlmaLinux 9 - AppStream
baseos AlmaLinux 9 - BaseOS
crb AlmaLinux 9 - CRB
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras AlmaLinux 9 - Extrascrb è entrato nell'elenco. Il file di configurazione resta uguale, quindi al comando successivo esce di nuovo. Per tenere un repository sempre abilitato, si modifica il file di configurazione con yum-config-manager. Puoi vedere i repository che si abilitano e si disabilitano premendo i pulsanti dei comandi nel diagramma qui sotto.
Aggiungere un nuovo repository come EPEL si riduce a installare un solo pacchetto di repository.
yum install epel-releaseDopo l'installazione viene creato il file epel.repo in /etc/yum.repos.d/, ed epel compare in repolist.
🔲 Simulatore del comando yum
Nel simulatore qui sotto puoi digitare tu stesso yum list, check-update, repolist e i comandi di yum-utils e vedere l'output. L'elenco dei repository usa gli stessi valori di esempio dell'articolo, e i comandi di installazione, rimozione e aggiornamento mostrano solo un avviso.
🔢 FAQ & contenuti consigliati
Linux · Concetti
Che cos'è un pacchetto Linux
Spiega cosa sono i pacchetti gestiti da yum e perché nascono le dipendenze, confrontandoli con i file di installazione di Windows.
Ubuntu · Pacchetti
Comando apt di Ubuntu
Il comando apt, che nella famiglia Debian fa le veci di yum, la differenza con apt-get e come installare e aggiornare.
Linux · Pacchetti
Installare snapd su Linux
Come installare con snap i programmi che non sono nei repository della distribuzione, verificato su Rocky Linux.
ℹ️ Informativa sull'affiliazione
I contenuti di questo sito includono link di affiliazione. Se un visitatore acquista un prodotto o un servizio tramite uno di questi link, il sito riceve una commissione dal venditore. In questo processo l'importo pagato dall'acquirente (durante le promozioni l'importo scende↓) non aumenta. Prezzi, sconti e disponibilità indicati si riferiscono al momento della stesura e possono differire da quelli reali: prima di acquistare verifica sempre presso il venditore. I prodotti vengono scelti e valutati secondo criteri propri, e le commissioni non influiscono sull'ordine di presentazione né sul contenuto delle valutazioni.