Comment puis-je savoir de quel répertoire provient un paquet?

113

Existe-t-il une méthode ou une commande permettant de savoir de quel dépôt provient un paquet?

    
posée dfme 20.10.2010 - 22:43
la source

6 réponses

83

Commandes nécessaires:

  • dpkg -s <package> - vous permet de trouver la version de ce vous avez installé ( source )
  • apt-cache showpkg <package> - volonté afficher une liste des versions du paquet disponible. Pour chaque version, la source du paquet, dans le forme d'un nom de fichier d'index, sera donné.

Si vous voulez trouver la source du paquet actuellement installé, vous aurez besoin du résultat de dpkg -s <package> . Sinon, vous pouvez simplement regarder la sortie la plus récente de la version par apt-cache showpkg <package> .

Exemple:

$ dpkg -s liferea
Package: liferea
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 760
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
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
...

Depuis la première commande, je peux voir que la version 1.6.2-1ubuntu6 de Liferea est installée. À partir de la deuxième commande, je peux voir que cette version est répertoriée dans /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages .

Sans trop d'effort, je peux en déduire que la ligne source contient archive.ubuntu.com , ubuntu , lucid et main .

Et bien sûr, mon /etc/apt/sources.list contient la ligne suivante.

deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
    
réponse donnée mac9416 20.10.2010 - 23:49
la source
81

Utilisez la commande suivante. Il a un meilleur résultat:

apt-cache policy <Package Name>

Pour Ubuntu 16.04 et versions ultérieures, il existe un moyen plus rapide de le faire:

apt policy <Package Name>
    
réponse donnée SuB 20.09.2013 - 08:21
la source
5

Malheureusement, cette information n’est pas enregistrée lors de l’installation du paquet. Vous pouvez faire une supposition décente si le référentiel est toujours dans la liste source et si le référentiel contient toujours le package:

grep -l PKG /var/lib/apt/lists/*

Même synaptic ne peut pas dire si vous désactivez le référentiel et la mise à jour.

    
réponse donnée kanaka 20.10.2010 - 23:37
la source
4
sudo grep *packagename* /var/lib/apt/lists/* | grep "Filename:"

source

    
réponse donnée sBlatt 20.10.2010 - 23:29
la source
2

apt sur Ubuntu 16.04 +

Outre les paramètres apt-cache tels que policy , showpkg et show , nous avons maintenant des paramètres plus simples, faciles à retenir, apt (ne pas confondre avec classique apt-* ):

apt policy <package> 

ou l'alternative avec plus d'informations apt show <package> , ligne commençant par "APT-Sources:".

Description: Ce package fournit des outils de ligne de commande pour la recherche et la gestion, ainsi que des informations sur les packages en tant qu’accès de bas niveau à toutes les fonctionnalités de la bibliothèque libapt-pkg. Celles-ci incluent: apt-get , apt-cache , apt-cdrom , apt-config , apt-key .

Commandes de base de apt --help

Autres paramètres faciles à mémoriser:

  • list - liste les packages en fonction des noms de packages
  • search - recherche dans les descriptions de paquets
  • show - affiche les détails du package
  • update - mise à jour de la liste des paquets disponibles
  • install - installe les packages
  • remove - supprime les paquets
  • upgrade : mise à niveau du système en installant / mettant à niveau des packages
  • full-upgrade - mise à niveau du système en supprimant / installant / mettant à jour les paquets
  • edit-sources - éditer le fichier d'informations source
réponse donnée Pablo Bianchi 01.06.2017 - 21:27
la source
1

Ceci est un peu plus précis:

apt-cache show <packagename> | grep "Version:"

La version la plus récente sera généralement installée à moins que vous ayez défini apt-pinning ou installé explicitement une version particulière.

    
réponse donnée mchid 15.03.2015 - 07:02
la source

Lire d'autres questions sur les étiquettes