237 votes

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

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

185voto

SuB Points 3531

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

apt-cache policy <Package Name>

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

apt policy <Package Name>

153voto

Dennis G. Points 355

Edit :

Consultez le site de SuB réponse . Cela semble un peu plus simple !

Original :

Commandes nécessaires :

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

Si vous voulez trouver la source du paquet qui est actuellement installé, vous aurez besoin de la sortie de la commande dpkg -s <package> . Sinon, vous pouvez simplement consulter la version la plus récente produite 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
...

A partir de la première commande, je peux voir que Liferea version 1.6.2-1ubuntu6 est installé. A partir de la seconde commande, je peux voir que cette version est listée dans le fichier /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages .

Sans trop d'efforts, je peux déduire que la ligne source contient archive.ubuntu.com , ubuntu , lucid y 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

22voto

Pablo Bianchi Points 10158

apt sur Ubuntu 16.04

A côté de apt-cache policy , showpkg y show Nous avons maintenant un système plus simple, avec des sous-commandes faciles à retenir : apt [1] [2] (à ne pas 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 paquetage fournit des outils en ligne de commande pour la recherche et la gestion ainsi que l'interrogation d'informations sur les paquets comme un accès de bas niveau à toutes les fonctionnalités de la bibliothèque libapt-pkg. Cela inclut : apt-get , apt-cache , apt-cdrom , apt-config , apt-key .

Avertissement : apt ne dispose pas d'une interface CLI stable. A utiliser avec précaution dans les scripts.

Commandes de base de apt --help

D'autres sous-commandes également faciles à retenir :

  • apt list - lister les paquets en fonction de leur nom

  • apt search - recherche dans les descriptions de paquets

  • apt show - montrer les détails de l'offre

  • apt update - mise à jour de la liste des paquets disponibles

  • apt install - installer les paquets

  • apt remove - supprimer les paquets

  • apt purge - supprimer les paquets et les fichiers de configuration :

    La suppression d'un paquetage supprime toutes les données empaquetées, mais laisse généralement de petits fichiers de configuration utilisateur (modifiés), au cas où la suppression serait accidentelle. Le simple fait d'émettre une demande d'installation pour le paquet supprimé par accident rétablira sa fonction comme avant dans ce cas. 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 pas les données ou la configuration stockées dans votre répertoire personnel.

    A supprimer les paquets résiduels :

    sudo apt purge $(dpkg -l | grep "^rc" | awk '{print $2}')
  • apt upgrade - mettre à niveau le système en installant/mettant à niveau des paquets

  • apt full-upgrade - mettre à niveau le système en supprimant/installant/mettant à niveau des paquets

  • apt edit-sources - modifier le fichier d'information sur les sources

9voto

meleyal Points 7367

Malheureusement, cette information n'est pas enregistrée lors de l'installation du paquet. Vous pouvez faire une estimation raisonnable si le référentiel est toujours dans la liste des sources et si le référentiel a toujours le paquet :

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

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

4voto

Graham Points 5475
sudo grep *packagename* /var/lib/apt/lists/* | grep "Filename:"

根源

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X