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


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


115
2017-10-20 20:43


origine


C'est ambigu. Voulez-vous dire: quels référentiels actuellement activés fournissent un package avec le nom donné ou: quel référentiel a été utilisé pour installer le package avec ce nom actuellement installé? (Les deux sont utiles. Je cherche ce dernier, pas le premier.) - Reinier Post


Réponses:


Commandes nécessaires:

  • dpkg -s <package> - te permet de trouver la version de ce vous avez installé (la 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 de la sortie de dpkg -s <package>. Sinon, vous pouvez simplement regarder 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
...

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

85
2017-10-20 21:49



mac, merci pour votre réponse détaillée! Malheureusement, cela ne m'aide pas avec mon problème initial de problème de dépendance non satisfait :-( J'essaye d'installer libqt4-opengl et il dit: Les paquets suivants ont des dépendances non satisfaites: libqt4-opengl: Depends: libqtcore4 (= 4: 4.6.2-0ubuntu5.1) mais 4: 4.7.0 ~ beta1 + git20100522-0ubuntu1 ~ lucid1 ~ ppa1 + appmenu20100624 doit être installé Depends: libqtgui4 (= 4: 4.6.2-0ubuntu5.1) mais 4: 4.7. 0 ~ beta1 + git20100522-0ubuntu1 ~ lucid1 ~ ppa1 + appmenu20100624 doit être installé - dfme
Il est difficile de voir de quoi vient le problème. Vous devriez ouvrir une nouvelle question pour pouvoir fournir tous les détails. Si vous le faites, laissez un lien dans un commentaire. :-) - mac9416
apt-cache policy <package name> (de: superuser.com/a/236605/37279) - franzlorenzon
Apt-cache {showpkg, policy} montre-t-il où un paquet installé a été installé à partir de, ou juste où il serait installé à partir de au moment où il est interrogé? - Croad Langshan
Le dernier. Si j'utilise généralement Ubuntu trusty sources de paquets, puis ajouter temporairement utopic à mon sources.list pour installer la version 1.20ubuntu3 de init-system-helpers puis retirez à nouveau le repo de mon sources.list, apt-cache showpkg init-system-helpers va juste mentir sur la liste de paquet d'origine et apt-cache policy init-system-helpers va simplement énoncer l'évidence. - blubberdiblub


Utilisez la commande suivante. Il a un meilleur rendement:

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>

84
2017-09-20 06:21



C'est la bonne réponse! Les commandes de la réponse de mac9416 nécessitent une interprétation fastidieuse + une estimation basée sur leur sortie. Pour plus d'informations sur apt-cache policy voir également superuser.com/a/236605/61370 - pabouk
apt-cache policy est bon mais quelques fois vous avez besoin apt-cache showpkg comparer les sommes MD5 du package. Voir également debsums --changed - gavenkoa
ce policy l'option est la plus utile lorsque l'on compare avec sources.list - infinite-etcetera
Cela devrait être la réponse acceptée! @pabouk a raison Cette réponse est plus pertinente pour la question que celle actuellement acceptée. - HEXcube
Comme @ pablo-bianchi souligné dans sa réponse, encore plus simple apt policy <package-name> peut être utilisé à partir de 16.04LTS Une fois que 14.04LTS est devenu EOL en 2018, cette réponse peut être modifiée pour utiliser la nouvelle commande. - HEXcube


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 le mettez à jour.


6
2017-10-20 21:37





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

la source


4
2017-10-20 21:29





apt sur Ubuntu 16.04+

À côté de apt-cache des paramètres comme policy, showpkg et show, maintenant nous avons une commande plus simple, facile à mémoriser: apt (ne pas confondre avec classique apt-*):

apt policy <package> 

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

La description: Ce package fournit des outils en ligne de commande pour la recherche et la gestion, ainsi que des requêtes sur les packages en tant qu'accès de bas niveau à toutes les fonctionnalités de la bibliothèque libapt-pkg. Ceux-ci inclus:apt-get, apt-cache, apt-cdrom, apt-config, apt-key.

Commandes de base de apt --help

Autres paramètres aussi faciles à retenir:

  • list - lister les paquets en fonction des noms de paquets
  • search - recherche dans les descriptions de paquets
  • show - montrer les détails du paquet
  • update - mettre à jour la liste des paquets disponibles
  • install - installer des paquets
  • remove - supprimer les paquets
  • upgrade - mettre à niveau le système en installant / mettant à niveau les paquets
  • full-upgrade - mettre à niveau le système en supprimant / installant / mettant à jour les paquets
  • edit-sources - éditer le fichier d'information source

2
2018-06-01 19:27



apt policy xxx semble identique à apt-cache policy xxx, peut-être que cela aurait dû être un commentaire à la place. Ou au moins mentionner que apt show semble avoir besoin de -a basculer pour voir "enregistrements supplémentaires" d'autres sources - Xen2050


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
2018-03-15 06:02