La comanda apt a Linux: gestió de paquets | Iespai

La comanda apt a Linux: instal·lar, actualitzar i esborrar paquets



La comanda apt és el gestor de paquets de Debian, Ubuntu, Raspberry Pi OS, Linux Mint i la resta de distribucions derivades. Descarrega els programes dels repositoris, en resol les dependències, els instal·la, els actualitza i els esborra. És la versió moderna i pensada per a ús interactiu d’apt-get i apt-cache: fa el mateix, però amb ordres més curtes, colors i una barra de progrés.

Sintaxi

sudo apt [opcions] ordre [paquets...]

Les ordres que modifiquen el sistema (update, install, upgrade, remove…) necessiten sudo. Les de consulta (search, show, list, policy) no.

Ordres més habituals

OrdreQuè fa
apt updateDescarrega la llista actualitzada de paquets dels repositoris
apt list --upgradableMostra quins paquets tenen una versió nova
apt upgradeActualitza els paquets, sense esborrar-ne cap
apt full-upgradeActualitza i, si cal, esborra o instal·la paquets per resoldre dependències (abans dist-upgrade, que també funciona)
apt install paquetInstal·la un paquet i les seves dependències
apt reinstall paquetTorna a instal·lar un paquet
apt remove paquetEsborra un paquet, però en conserva la configuració
apt purge paquetEsborra un paquet i la seva configuració
apt autoremoveEsborra les dependències que ja no fa servir ningú
apt search paraulaCerca paquets pel nom o la descripció
apt show paquetDescripció, versió, mida i dependències d’un paquet
apt list --installedLlista els paquets instal·lats
apt policy paquetVersió instal·lada, versió candidata i de quin repositori ve
apt depends paquet / apt rdepends paquetDe què depèn un paquet / qui en depèn
apt download paquetDescarrega el .deb al directori actual sense instal·lar-lo
apt cleanEsborra la memòria cau de paquets descarregats

Exemples

Actualitzar el sistema. Primer sempre update, perquè apt sàpiga quines versions noves hi ha:

sudo apt update
apt list --upgradable
sudo apt upgrade

Instal·lar diversos paquets de cop, sense que pregunti (-y):

sudo apt install -y git tmux

Instal·lar un paquet sense els paquets recomanats, útil en servidors i contenidors per instal·lar només el necessari:

sudo apt install --no-install-recommends nginx

Instal·lar un .deb que has descarregat, resolent les dependències des dels repositoris (el ./ indica que és un fitxer, no el nom d’un paquet):

sudo apt install ./programa_1.0_amd64.deb

Cercar un paquet. apt search busca també a les descripcions, de manera que pot donar molts resultats; amb --names-only busca només als noms:

$ apt search --names-only '^tree$'
Sorting...
Full Text Search...
tree/stable 2.2.1-1 arm64
  displays an indented directory tree, in color

Veure la informació d’un paquet abans d’instal·lar-lo:

$ apt show tree
Package: tree
Version: 2.2.1-1
Priority: optional
Section: utils
Maintainer: Florian Ernst <florian@debian.org>
Installed-Size: 173 kB
Depends: libc6 (>= 2.38)
...
Download-Size: 57.9 kB
APT-Sources: http://deb.debian.org/debian trixie/main arm64 Packages
Description: displays an indented directory tree, in color

Saber quina versió tens i de quin repositori ve (molt útil si tens repositoris de tercers):

$ apt policy nano
nano:
  Installed: 8.4-1+deb13u1
  Candidate: 8.4-1+deb13u1
  Version table:
 *** 8.4-1+deb13u1 500
        500 http://deb.debian.org/debian trixie/main arm64 Packages
        100 /var/lib/dpkg/status

Esborrar un programa amb la seva configuració i, després, les dependències que han quedat òrfenes:

sudo apt purge nom-del-programa
sudo apt autoremove

Evitar que un paquet s’actualitzi

Amb apt-mark pots «congelar» un paquet en la versió actual, per exemple si la nova versió et dona problemes:

sudo apt-mark hold paquet
apt-mark showhold
sudo apt-mark unhold paquet

apt-mark també serveix per marcar un paquet com a instal·lat a mà (apt-mark manual paquet), perquè autoremove no te l’esborri.

upgrade o full-upgrade?

  • apt upgrade instal·la les versions noves, i paquets nous si calen, però mai esborra res. Si una actualització requereix treure un paquet, la deixa pendent.
  • apt full-upgrade fa el mateix però pot esborrar paquets si cal. És el que necessites quan veus el missatge de paquets que no s’han actualitzat (kept back). Llegeix bé la llista abans de confirmar.

Cap de les dues canvia de versió de la distribució (per exemple, de Debian 12 a 13). Per fer-ho, a Debian cal canviar abans el nom de la versió als repositoris (bookworm → trixie) i després fer full-upgrade, seguint les notes de la versió. A Ubuntu es fa amb sudo do-release-upgrade. La versió anterior d’aquest post deia que dist-upgrade actualitzava d’Ubuntu 20.04 a 22.04, i no és així.

Repositoris

Els repositoris són a /etc/apt/sources.list.d/. Des de Debian 13 i Ubuntu 24.04 fan servir el format nou .sources (deb822), en lloc de l’antic sources.list:

$ cat /etc/apt/sources.list.d/debian.sources
Types: deb
URIs: http://deb.debian.org/debian/
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.pgp

Si tens fitxers .list antics, sudo apt modernize-sources (Debian 13) els converteix al format nou.

Repositoris de tercers: la comanda apt-key que trobaràs en molts tutorials és obsoleta (a Debian 13 ja no existeix), perquè donava confiança a la clau per a tots els repositoris. Ara la clau es desa a /etc/apt/keyrings/ i s’indica només al repositori que la fa servir, amb Signed-By. Segueix sempre les instruccions actuals del proveïdor.

apt als scripts

apt avisa que la seva sortida pot canviar entre versions (WARNING: apt does not have a stable CLI interface). Als scripts fes servir apt-get i apt-cache, que tenen les mateixes ordres i una interfície estable. Tens una comparativa a diferències entre apt, apt-get i aptitude.

Comandes relacionades

Esta web usa cookies.