Comment savoir dans quel package Ubuntu se trouve un outil


23

À titre d'exemple concret, je veux pouvoir prendre un outil particulier qui n'est pas installé (par exemple nslookup) et être en mesure de dire quel package je dois installer lorsque ce qui suit échoue:

apt-get install nslookup
E: Unable to locate package nslookup

Évidemment, je peux sur Google pour trouver la réponse pour un package spécifique (dnsutils) mais je veux savoir comment le trouver moi-même.


c'est une recherche d'apt-cache rapide et sale nslookup
The Unix Janitor

apt-cache recherche uniquement les descriptions. Je cherchais un fichier spécifique, ErikA a souligné: recherche de fichiers apt FOO
ErebusBat

Réponses:


23

Je connais deux façons de procéder:

host ~ # apt-file update
host ~ # apt-file search nslookup
dnsutils: /usr/bin/nslookup
dnsutils: /usr/share/man/man1/nslookup.1.gz
gajim: /usr/share/gajim/src/common/nslookup.py
kaptain: /usr/share/kaptain/nslookup.kaptn
kvirc2-data: /usr/share/kvirc2/help/en/nslookup.kvihelp
libgnet2.0-0: /usr/share/doc/libgnet2.0-0/examples/dnslookup.c.gz
manpages-ja: /usr/share/man/ja/man8/nslookup.8.gz
procmail-lib: /usr/share/procmail-lib/pm-janslookup.rc
rbot: /usr/share/rbot/plugins/nslookup.rb
scrollz: /usr/share/scrollz/help/nslookup
zsh: /usr/share/zsh/4.3.4/functions/Completion/Unix/_nslookup
zsh: /usr/share/zsh/4.3.4/functions/Misc/nslookup
zsh-beta: /usr/share/zsh-beta/functions/Completion/Unix/_nslookup
zsh-beta: /usr/share/zsh-beta/functions/Misc/nslookup

et...

host ~ # apt-cache search nslookup
host - utility for querying DNS servers
dnsutils - Clients provided with BIND

1
apt-cacherecherche uniquement les packages que vous avez déjà installés, tandis que apt-filerecherche tous les packages dans votre sources.list, y compris les packages qui ne sont pas installés. Donc, dans ce cas, apt-filec'est celui à utiliser.
Steven lundi

1
@Steven, je vais devoir être en désaccord avec cela. Je viens de faire un test de recherche de "vlc" sur mon VPS ubuntu en utilisant apt-cache, et il a montré tous les packages liés à vlc, dont aucun que j'ai installé.
EEAA

@Steven Monai, ce n'est pas vrai. apt-cacheexamine les descriptions de paquets (recherches /var/lib/apt/lists/*_Packages). Faire installer quelque chose n'a pas d'importance. Les descriptions de package n'incluent pas une liste des fichiers. Je suis d'accord que apt-filec'est probablement l'outil à utiliser, si l'ouverture d'un navigateur Web n'est pas une option.
Zoredache

Il y a aussi auto-apt, comme alternative à apt-file. Je n'ai pas de préférence marquée. auto-apt peut écouter les appels exec échoués, ce qui peut être utile lors de l'exécution d'un script de configuration qui détecte les fonctionnalités.
Tobu

1
@EricA, Zoredache: Je suis corrigé. Permettez-moi de reformuler: si vous avez besoin de savoir quel paquet désinstallé contient un fichier particulier (par exemple /usr/bin/nslookup), alors utilisez apt-file. Si vous souhaitez uniquement rechercher les noms et descriptions des packages, cela apt-cachefonctionne très bien.
Steven lundi

3

Avez-vous command-not-foundinstallé?

Tapez simplement la commande dans bash ou zsh et elle vous dira quel paquet l'a, et si vous devez activer les dépôts non principaux ou réparer votre PATH. Ou appelez command-not-found $command_name.

Ou vous pouvez aller sur http://packages.ubuntu.com/file:bin/nslookup , mais cela par défaut est des packages karmiques.



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.