Product SiteDocumentation Site

6.3. Il comando apt-cache

Il comando apt-cache può visualizzare gran parte delle informazioni memorizzate nel database interno di APT. Queste informazioni sono una sorta di cache poiché vengono raccolte dalle differenti fonti elencate nel file sources.list. Questo avviene durante l'operazione apt update.
Il comando apt-cache può ricercare pacchetti in base a parole chiave con apt-cache search parolachiave. Può inoltre visualizzare le intestazioni delle versioni disponibili del pacchetto con apt-cache show pacchetto. Questo comando fornisce la descrizione del pacchetto, le sue dipendenze, il nome del suo manutentore, ecc. Si noti che apt search, apt show, aptitude search e aptitude show lavorano nello stesso modo.
Alcune funzionalità sono usate raramente. Per esempio apt-cache dumpavail visualizza le intestazioni di tutte le versioni disponibili dei pacchetti. apt-cache pkgnames visualizza l'elenco di tutti i pacchetti presenti almeno una volta nella cache.
Una delle funzioni che potrebbe tornare utile più spesso è apt-cache policy, descritta nella sezione seguente.

6.3.1. Il comando apt-cache policy

Il comando apt-cache policy mostra le priorità di pinning e le proprietà di distribuzione di ogni sorgente di pacchetto come spiegato in Sezione 6.2.5, «Gestire le priorità dei pacchetti». Può anche mostrare le priorità di pinning per tutte le versioni e fonti disponibili di un pacchetto. Con il file sources.list usato ad esempio in Esempio 6.2, «File /etc/apt/sources.list per gli utenti di Debian Stable» e APT::Default-Release impostato su "/^bookworm(|-security|-updates)$/", l'output sarà il seguente:
$ apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 990 http://deb.debian.org/debian bookworm-updates/non-free-firmware amd64 Packages
     release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=non-free-firmware,b=amd64
     origin deb.debian.org
 990 http://deb.debian.org/debian bookworm-updates/main amd64 Packages
     release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=main,b=amd64
     origin deb.debian.org
 990 http://security.debian.org/debian-security bookworm-security/non-free-firmware amd64 Packages
     release v=12,o=Debian,a=stable-security,n=bookworm-security,l=Debian-Security,c=non-free-firmware,b=amd64
     origin security.debian.org
 990 http://security.debian.org/debian-security bookworm-security/main amd64 Packages
     release v=12,o=Debian,a=stable-security,n=bookworm-security,l=Debian-Security,c=main,b=amd64
     origin security.debian.org
 990 http://deb.debian.org/debian bookworm/non-free-firmware amd64 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=non-free-firmware,b=amd64
     origin deb.debian.org
 990 http://deb.debian.org/debian bookworm/main amd64 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=main,b=amd64
     origin deb.debian.org
Pinned packages:
apt-cache policy può anche mostrare le priorità di pinning per tutte le versioni e le fonti disponibili di un dato pacchetto.
$ apt-cache policy adb
adb:
  Installed: 1:29.0.6-28
  Candidate: 1:29.0.6-28
  Version table:
     1:33.0.3-2~bpo12+1 100
        100 http://deb.debian.org/debian bookworm-backports/main amd64 Packages
 *** 1:29.0.6-28 990
        990 http://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status
Sebbene ci sia una versione più recente di adb nel repository di bookworm-backports, APT non la installerà automaticamente basandosi sulla priorità. Si dovrebbe usare apt install adb/bookworm-backports od aggiungere una priorità di pinning più alta in /etc/apt/preferences.d/adb.pref:
Package: adb
Pin: release o=Debian Backports,n=bookworm-backports
Pin-Priority: 1001
$ apt-cache policy limnoria
adb:
  Installed: 1:29.0.6-28
  Candidate: 1:33.0.3-2~bpo12+1
  Version table:
     1:33.0.3-2~bpo12+1 1001
        100 http://deb.debian.org/debian bookworm-backports/main amd64 Packages
 *** 1:29.0.6-28 990
        990 http://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status