Esiste un metodo o un comando che può sapere da quale repository proviene un pacchetto?
Esiste un metodo o un comando che può sapere da quale repository proviene un pacchetto?
dpkg -s <package>
: consente di
trova la versione di quello
hai installato. ( source ) apt-cache showpkg <package>
- will
mostra una lista di versioni di
pacchetto disponibile. Per ogni versione,
la fonte del pacchetto, nel
forma di un nome di file di indice, sarà
data. Se vuoi trovare la fonte del pacchetto che è attualmente installato, avrai bisogno dell'output di dpkg -s <package>
. Altrimenti, puoi semplicemente guardare la versione più recente di apt-cache showpkg <package>
.
$ dpkg -s liferea
Package: liferea
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 760
Maintainer: Ubuntu Developers <[email protected]>
Architecture: i386
Version: 1.6.2-1ubuntu6
...
$ apt-cache showpkg liferea
Package: liferea
Versions:
1.6.2-1ubuntu6.1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages
MD5: 557b0b803b7ed864e6d14df4b02e3d26
1.6.2-1ubuntu6 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages) (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
MD5: 557b0b803b7ed864e6d14df4b02e3d26
...
Dal primo comando, posso vedere che è installata la versione 1.6.2-1ubuntu6 di Liferea. Dal secondo comando, posso vedere che quella versione è elencata in /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
.
Senza troppi sforzi, posso dedurre che la riga di origine contiene archive.ubuntu.com
, ubuntu
, lucid
e main
.
E, abbastanza sicuro, il mio /etc/apt/sources.list
contiene la seguente riga.
deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
Usa il seguente comando. Ha un output migliore:
apt-cache policy <Package Name>
Per Ubuntu 16.04 e versioni successive c'è un modo più breve per farlo:
apt policy <Package Name>
Purtroppo, questa informazione non viene registrata durante l'installazione del pacchetto. Puoi fare un'ipotesi decente se il repository è ancora nella lista dei sorgenti e il repository ha ancora il pacchetto:
grep -l PKG /var/lib/apt/lists/*
Anche synaptic non può sapere se si disabilita il repository e si aggiorna.
apt
su Ubuntu 16.04 + Oltre ai parametri apt-cache
come policy
, showpkg
e show
, ora abbiamo un parametro più semplice, facile da ricordare, comando: apt
(non confondere con il classico apt-*
):
apt policy <package>
o l'alternativa con maggiori informazioni apt show <package>
, riga che inizia con "APT-Sources:".
Descrizione: questo pacchetto fornisce strumenti a riga di comando per la ricerca e la gestione nonché l'interrogazione di informazioni sui pacchetti come accesso a basso livello a tutte le funzionalità della libreria libapt-pkg. Questi includono: apt-get
, apt-cache
, apt-cdrom
, apt-config
, apt-key
.
apt --help
Altri parametri facili da ricordare:
list
- elenca i pacchetti in base ai nomi dei pacchetti search
- cerca nelle descrizioni del pacchetto show
- mostra i dettagli del pacchetto update
- aggiorna l'elenco dei pacchetti disponibili install
- installa i pacchetti remove
- rimuovi i pacchetti upgrade
- aggiorna il sistema installando / aggiornando i pacchetti full-upgrade
- aggiorna il sistema rimuovendo / installando / aggiornando i pacchetti edit-sources
: modifica il file di informazioni di origine Questo è un po 'più accurato:
apt-cache show <packagename> | grep "Version:"
La versione più recente verrà in genere installata a meno che tu non abbia impostato apt-pinning o installato esplicitamente una versione specifica.
Leggi altre domande sui tag apt package-management repository