web-dev-qa-db-fra.com

Connaître le paquet d'une commande

Existe-t-il un moyen généralisé de déterminer le package à l'origine de l'installation d'une commande?

32
oadams

Ouvrez un terminal et essayez les commandes suivantes:

dpkg -S 'command name'

par exemple: dpkg -S /bin/ls

Exemple de sortie:

coreutils: /bin/ls

Vous pouvez également obtenir des informations détaillées sur l’état du paquet coreutils, entrez:

 dpkg -s coreutils

Exemple de sortie:

Package: coreutils
Essential: yes
Status: install ok installed
Priority: required
Section: utils
Installed-Size: 9040
Maintainer: Ubuntu Core Developers 
Architecture: i386
Version: 5.97-5.3ubuntu3
Replaces: textutils, shellutils, fileutils, stat, debianutils (<= 2.3.1), dpkg (<< 1.13.2)
Provides: textutils, shellutils, fileutils
Pre-Depends: libacl1 (>= 2.2.11-1), libc6 (>= 2.6-1), libselinux1 (>= 2.0.15)
Conflicts: stat
Description: The GNU core utilities
 This package contains the essential basic system utilities.
 .
 Specifically, this package includes:
 basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir
 dircolors dirname du echo env expand expr factor false fmt fold groups head
 hostid id install join link ln logname ls md5sum mkdir mkfifo mknod mv Nice nl
 Nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir
 sha1sum seq shred sleep sort split stat stty sum sync tac tail tee test touch
 tr true tsort tty uname unexpand uniq unlink users vdir wc who whoami yes
Original-Maintainer: Michael Stone 
41
aneeshep

il existe une autre méthode, peut-être un peu ridicule, mais plus rapide que les précédentes :) entrez simplement une commande et vous obtiendrez le nom et le package corrects de la commande.

Exemple de sortie:

pawel@pawel-desktop:/var/www$ sfn
No command 'sfn' found, did you mean:
 Command 'sn' from package 'mono-devel' (main)
 Command 'sfc' from package 'syfi-bin' (universe)
 Command 'svn' from package 'Subversion' (main)
sfn: command not found
13
Pawełkowy

A partir du nom de la commande, vous pouvez utiliser les commandes 'type' et 'dpkg' pour déterminer le paquet responsable de leur installation. Par exemple, pour savoir quel package a installé la commande 'who', vous pouvez exécuter les commandes suivantes à l'invite de commande:

$ type who
who is /usr/bin/who
$ dpkg -S /usr/bin/who
coreutils: /usr/bin/who
5
Andy

Vous pouvez aussi le faire avec une seule ligne:

dpkg -S $(which command)

Par exemple, je veux savoir quel paquet contient lsname__:

dpkg -S $(which ls)

Et voici la sortie:

coreutils: /bin/ls

Alors maintenant, je sais que la commande ls, le fichier/bin/ls, provient du paquet coreutils.

4
Shnatsel

Passons maintenant à une approche complètement différente.

Allez à packages.ubuntu.com et suivez votre nez. Faites notamment défiler jusqu'à "Rechercher le contenu des packages" et entrez le nom du fichier ou la commande système.

2
8128
  1. déposer dans une invite de commande (Menu> Applications> Accessoires> Terminal)
  2. entrez dpkg-query --search 'command' où 'commande' est la commande dont vous essayez de trouver le paquet propriétaire.
0
finley