46 votes

Trouver le paquetage d'où provient une commande

Existe-t-il un moyen généralisé de savoir quel paquet est à l'origine de l'installation d'une commande ?

57voto

Thomas Points 715

Ouvrez un terminal et essayez les commandes suivantes :

dpkg -S 'command name'

eg : dpkg -S /bin/ls

Exemple de sortie :

coreutils: /bin/ls

Vous pouvez également obtenir des informations détaillées sur l'état du paquetage coreutils, en entrant :

 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

15voto

Alotor Points 3438

Il y a une autre méthode, peut-être un peu idiote, mais plus rapide que les précédentes :) tapez une erreur de commande et vous obtiendrez le nom correct de la commande et le paquet d'où elle vient.

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

8voto

Shnatsel Points 1085

Vous pouvez également le faire en une seule ligne :

dpkg -S $(which command)

Par exemple, je veux savoir quel paquet contient ls :

dpkg -S $(which ls)

Et voici le résultat :

coreutils: /bin/ls

Je sais donc maintenant que la commande ls, le fichier /bin/ls, provient du paquetage coreutils.

6voto

Andy Points 822

À 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 paquet 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

2voto

8128 Points 28272

Nous allons maintenant adopter une approche tout à fait différente.

Aller à paquets.ubuntu.com et suivez votre nez. En particulier, descendez jusqu'à "Rechercher le contenu des paquets" et entrez le nom du fichier ou la commande système.

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