Come faccio a sapere da quale repository proviene un pacchetto?

114

Esiste un metodo o un comando che può sapere da quale repository proviene un pacchetto?

    
posta dfme 20.10.2010 - 22:43

6 risposte

84

Comandi necessari:

  • 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> .

Esempio:

$ 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
    
risposta data mac9416 20.10.2010 - 23:49
82

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>
    
risposta data SuB 20.09.2013 - 08:21
5

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.

    
risposta data kanaka 20.10.2010 - 23:37
4
sudo grep *packagename* /var/lib/apt/lists/* | grep "Filename:"

origine

    
risposta data sBlatt 20.10.2010 - 23:29
2

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 .

Comandi di base da 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
risposta data Pablo Bianchi 01.06.2017 - 21:27
1

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.

    
risposta data mchid 15.03.2015 - 07:02

Leggi altre domande sui tag