web-dev-qa-db-fra.com

Comment savoir de quel référentiel provient un paquet?

Existe-t-il une méthode ou une commande permettant de déterminer de quel référentiel provient un paquet?

144
dfme

Commandes nécessaires:

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

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

Exemple:

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

Dès 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
109
Michael Crenshaw

Utilisez la commande suivante. Il a un meilleur rendement:

apt-cache policy <Package Name>

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

apt policy <Package Name>
101
SuB

aptsur Ubuntu 16.04+

Outre apt-cache policy, showpkget showname__, nous en avons maintenant une plus simple, avec des sous-commandes faciles à retenir: aptNAME _ (non confondre avec le classique apt-*):

apt policy <package> 

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

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

Commandes de base de apt --help

Autres sous-commandes faciles à retenir:

  • apt list - liste les paquets en fonction de leurs noms
  • apt search - recherche dans les descriptions de paquet
  • apt show - affiche les détails du paquet
  • apt update - liste de mise à jour des packages disponibles
  • apt install - installer des packages
  • apt remove - supprimer les paquets
  • apt purge - supprimer les packages et les fichiers de configuration :

    La suppression d'un paquet supprime toutes les données empaquetées, mais laisse généralement de petits fichiers de configuration (modifiés) derrière, au cas où la suppression serait un accident. Le simple fait d’émettre une demande d’installation pour le paquet supprimé accidentellement restaurera sa fonction comme auparavant. D'autre part, vous pouvez vous débarrasser de ces restes en appelant purge même sur les paquets déjà supprimés. Notez que cela n’affecte ni les données ni la configuration stockées dans votre répertoire de base.

  • apt upgrade - met à niveau le système en installant/mettant à niveau des packages

  • apt full-upgrade - met à jour le système en supprimant/installant/mettant à jour les paquetages
  • apt edit-sources - éditer le fichier d'informations source
8
Pablo Bianchi

Malheureusement, ces informations ne sont pas enregistrées lors de l'installation du package. Vous pouvez deviner si le référentiel est toujours dans la liste des sources et qu'il 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 le mettez à jour.

6
kanaka
Sudo grep *packagename* /var/lib/apt/lists/* | grep "Filename:"

source

4
sBlatt

C'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.

1
mchid