# Equivalències entre apt i dnf

# El gestor apt

**apt** (Advanced Package Tool) és el gestor de paquets de Debian i les distribucions basades en ell (Ubuntu, Linux Mint, Raspberry Pi OS, etc.).

- Molt estable: prioritza la fiabilitat per sobre de tenir les versions més noves.
- Gestió de dependències automàtica i robusta.
- Els paquets tenen format `.deb`.
- Utilitza dipòsits definits a /etc/apt/sources.list i /etc/apt/sources.list.d/.
- Sota el capó, apt utilitza `dpkg` com a eina de baix nivell.


# El gestor dnf

**dnf** (Dandified YUM) és el gestor de paquets de Fedora, RHEL (Red Hat Enterprise Linux), CentOS Stream i distribucions derivades. És el successor modern de YUM (Yellowdog Updater Modified), que va substituir per ser més ràpid i eficient.

- Historial i rollback: permet desfer instal·lacions o actualitzacions anteriors.
- Gestió de dependències amb el solucionador libsolv, molt potent.
- Els paquets tenen format .rpm.
- Suport de mòduls (modularity): permet tenir diverses versions d'un mateix programari als dipòsits.
- Compatible amb connectors per ampliar funcionalitats.


# Taula d'equivalències

| Acció | apt | dnf |
|----|---|---|
| **Instal·lació i eliminació** | | |
| Instal·lar un paquet | `apt install pkg` | `dnf install pkg` |
| Eliminar un paquet | `apt remove pkg` | `dnf remove pkg` |
| Eliminar paquet i dependències òrfenes | `apt autoremove pkg` | `dnf autoremove pkg` |
| Eliminar paquet i fitxers de config | `apt purge pkg` | `dnf remove pkg` (inclòs per defecte) |
| Reinstal·lar un paquet | `apt reinstall pkg` | `dnf reinstall pkg` |
| **Actualització** | | |
| Actualitzar la llista de paquets | `apt update` | (automàtic) |
| Actualitzar tots els paquets | `apt upgrade` | `dnf upgrade` |
| Actualitzar el sistema complet | `apt full-upgrade` | `dnf distro-sync` |
| Actualitzar un paquet concret | `apt install --only-upgrade pkg` | `dnf upgrade pkg` |
| **Cerca i informació** | | |
| Cercar un paquet | `apt search terme` | `dnf search terme` |
| Mostrar informació d'un paquet | `apt show pkg` | `dnf info pkg` |
| Llistar paquets instal·lats | `apt list --installed` | `dnf list installed` |
| Quin paquet conté un fitxer | `dpkg -S /ruta/fitxer` | `dnf provides /ruta/fitxer` |
| Llistar fitxers d'un paquet | `dpkg -L pkg` | `dnf repoquery -l pkg` |
| **Dipòsits** | | |
| Afegir un dipòsit | `add-apt-repository ppa:…` | `dnf config-manager --add-repo URL` |
| Llistar dipòsits actius | `apt-cache policy` | `dnf repolist` |
| Habilitar / deshabilitar dipòsit | (editar /etc/apt/sources.list) | `dnf config-manager --enable/--disable repo` |
| **Neteja i manteniment** | | |
| Netejar la memòria cau | `apt clean` | `dnf clean all` |
| Eliminar paquets innecessaris | `apt autoremove` | `dnf autoremove` |
| Verificar la integritat del sistema | `apt-get check` | `dnf check` |
| Veure l'historial de canvis | `cat /var/log/dpkg.log` | `dnf history` |
| Desfer l'última transacció | (no disponible natiu) | `dnf history undo last` |


`dnf` actualitza automàticament la memòria cau de metadades abans de cada operació, de manera que no cal l'equivalent de `apt update` de forma explícita (tot i que existeix `dnf makecache`).

`dnf` té un sistema d'historial de transaccions molt més potent que `apt`, cosa que permet desfer canvis fàcilment amb `dnf history undo`.

Per a operacions sobre paquets `.deb` i `.rpm` directament (fitxers locals), s'utilitzen `dpkg -i fitxer.deb` i `dnf install fitxer.rpm` respectivament.

#### Versions d'aquest document

+ HTML - [dnf.html](https://proferamon.com/tic/dnf.html)
+ PDF - [dnf.pdf](https://proferamon.com/tic/docs/dnf.pdf)
+ ODT - [dnf.odt](https://proferamon.com/tic/odt/dnf.odt)
+ MD - [dnf.md](https://proferamon.com/tic/md/dnf.md)

[Domini Públic (CC0)](https://creativecommons.org/publicdomain/zero/1.0/deed.ca)

