Existe-t-il un moyen généralisé de déterminer le package à l'origine de l'installation d'une commande?
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
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
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
Vous pouvez aussi le faire avec une seule ligne:
dpkg -S $(which command)
Par exemple, je veux savoir quel paquet contient ls
name__:
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.
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.
dpkg-query --search 'command'
où 'commande' est la commande dont vous essayez de trouver le paquet propriétaire.