La comanda yum (i dnf) a Linux: gestionar paquets a Red Hat, Fedora i derivades
yum (Yellowdog Updater, Modified) va ser durant anys el gestor de paquets de Red Hat Enterprise Linux, CentOS i Fedora: instal·la, actualitza i esborra programes i en resol les dependències automàticament. Avui yum ha estat substituït per dnf, però la comanda yum continua funcionant, i val la pena entendre per què.
yum avui: un àlies de dnf
- A RHEL 8 i posteriors (i les seves derivades: Rocky Linux, AlmaLinux, CentOS Stream),
yumés un enllaç adnf. Si escriusyum install, s’executadnf install. - A Fedora 41 i posteriors, tant
yumcomdnfapunten a DNF5, la nova versió reescrita en C++. - El
yumoriginal només el trobaràs a RHEL 7 / CentOS 7, que ja no reben actualitzacions gratuïtes des del juny del 2024.
Ho pots comprovar tu mateix:
$ ls -l /usr/bin/yum
lrwxrwxrwx 1 root root 5 /usr/bin/yum -> dnf-3 # Rocky Linux 9
$ ls -l /usr/bin/yum
lrwxrwxrwx 1 root root 4 /usr/bin/yum -> dnf5 # Fedora 44 Per tant, en aquest post faig servir dnf, però tots els exemples funcionen igual canviant dnf per yum.
Sintaxi
sudo dnf [opcions] ordre [paquets...] Les ordres que modifiquen el sistema (instal·lar, actualitzar, esborrar) necessiten sudo. Les de consulta (search, info, list) no.
Ordres més habituals
| Ordre | Què fa |
|---|---|
dnf check-update | Mostra quines actualitzacions hi ha disponibles |
dnf upgrade | Actualitza tots els paquets (update també funciona) |
dnf install paquet | Instal·la un paquet i les seves dependències |
dnf remove paquet | Desinstal·la un paquet |
dnf autoremove | Esborra les dependències que ja no fa servir ningú |
dnf search paraula | Cerca paquets pel nom o la descripció |
dnf info paquet | Mostra la descripció, la versió i el repositori d’un paquet |
dnf list installed | Llista els paquets instal·lats |
dnf provides /ruta/fitxer | Diu quin paquet conté un fitxer o una comanda |
dnf repolist | Llista els repositoris activats |
dnf history | Historial de transaccions |
dnf clean all | Esborra la memòria cau de paquets i metadades |
Exemples
Actualitzar el sistema:
sudo dnf upgrade Instal·lar diversos paquets de cop, sense que pregunti (útil en scripts):
sudo dnf install -y git tmux Instal·lar un .rpm que has descarregat, resolent les dependències des dels repositoris (abans calia yum localinstall):
sudo dnf install ./programa-1.0.x86_64.rpm Saber quin paquet instal·la una comanda que et falta (el */ del principi és necessari si no saps la ruta exacta):
$ dnf provides '*/bin/dig'
bind-utils-32:9.16.23-40.el9_8.1.aarch64 : Utilities for querying DNS name servers Alguns programes populars, com htop, no són als repositoris oficials de RHEL i derivades: són a EPEL, que s’activa amb sudo dnf install epel-release (Rocky i AlmaLinux).
Actualitzar només un paquet:
sudo dnf upgrade openssl Desfer una instal·lació o actualització que ha anat malament:
dnf history # busca l'ID de la transacció
sudo dnf history undo 15 Grups de paquets
Els grups instal·len de cop tot el que cal per a una funció (un servidor, un escriptori, eines de desenvolupament…). La sintaxi antiga yum groupinstall ara és dnf group install:
dnf group list
sudo dnf group install "Development Tools"
sudo dnf group upgrade "Development Tools" Mantenir el sistema net
Esborrar la memòria cau de paquets descarregats:
sudo dnf clean all Esborrar dependències òrfenes:
sudo dnf autoremove Nuclis antics. dnf ja en guarda un màxim de tres per defecte (installonly_limit=3 a /etc/dnf/dnf.conf) i esborra el més antic quan n’instal·la un de nou. Si vols fer neteja a mà:
sudo dnf remove --oldinstallonly A Fedora (DNF5) pots indicar quants en vols conservar amb --limit=2. L’antiga ordre package-cleanup --oldkernels (del paquet yum-utils) només té sentit a CentOS 7.
Actualitzacions automàtiques
L’antic yum-cron s’ha substituït per dnf-automatic:
# RHEL, Rocky, AlmaLinux (dnf 4)
sudo dnf install dnf-automatic
# Fedora 41 o posterior (DNF5)
sudo dnf install dnf5-plugin-automatic Per defecte només descarrega les actualitzacions. Perquè també les instal·li, posa apply_updates = yes a la configuració i activa el temporitzador. La configuració és a /etc/dnf/automatic.conf (dnf 4). A Fedora, copia /usr/share/dnf5/dnf5-plugins/automatic.conf a /etc/dnf/dnf5-plugins/automatic.conf i edita la còpia:
sudo systemctl enable --now dnf-automatic.timer Si és un servidor en producció, potser prefereixes aplicar només les de seguretat: a la mateixa configuració hi ha upgrade_type = security.
I a Debian o Ubuntu?
No hi ha yum ni dnf: allà es fa servir apt, que fa el mateix amb paquets .deb. Les ordres s’assemblen molt: apt update + apt upgrade, apt install, apt remove, apt search…
Comandes relacionades
rpm: l’eina de baix nivell per instal·lar i consultar paquets.rpm, sense resoldre dependències.aptidpkg: els equivalents a Debian i Ubuntu.- La gestió de paquets a Linux: visió general.
Esta web usa cookies.