Je sais qu'il y a une which
commande, qui fait écho au nom complet d'un binaire (par exemple which sh
). Cependant, je suis presque sûr qu'il existe une commande qui fait écho au package qui fournit un binaire particulier. Existe-t-il une telle commande? Si oui, c'est quoi? J'aimerais pouvoir exécuter ceci:
commandName ls
et obtenir
coreutils
par exemple.
dpkg -S `which COMMANDHERE`
travaillé pour moi.dpkg -S
recherche le nom du package binaire, qui peut différer du nom du package source (code).-S
est la forme abrégée de l'--search
option, qui est en fait une option de ladpkg-query
commande (maisdpkg
fonctionne aussi)Si vous souhaitez rechercher des fichiers dans un package que vous n'avez pas installé, utilisez apt-file
Ensuite, pour trouver quelque chose:
ou
Où "fichier" est le nom de tout ce que vous recherchez.
Si vous n'avez pas envie de passer par là sur tous les systèmes Debian, vous pouvez utiliser ce script:
Je l'ai juste fouetté alors, mais cela semble bien fonctionner.
Remarque: "dpkg -S" ne trouve que les éléments que vous avez déjà installés.
la source
-y
paramètre est dangereuse, elle pourrait dire oui à un certain nombre de choses. Dans le script, cela pourrait être bien, mais la première commande devrait vraiment être lueapt-get install apt-file
sans le-y
car vous ne pouvez pas savoir à quoi ressemble le système de l'utilisateur.