Cómo saber en qué paquete de Ubuntu se encuentra una herramienta

23

Como ejemplo concreto, quiero poder tomar una herramienta particular que no está instalada (por ejemplo, nslookup) y poder decir qué paquete necesito instalar cuando falla lo siguiente:

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

Obviamente, puedo buscar en Google la respuesta para un paquete específico (dnsutils), pero quiero saber cómo encontrarlo yo mismo.

ErebusBat
fuente
esto es rápido y sucio apt-cache search nslookup
The Unix Janitor
apt-cache solo busca las descripciones. Estaba buscando un archivo específico, ErikA señaló: apt-file search FOO
ErebusBat

Respuestas:

23

Hay dos maneras que sé para hacer esto:

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

y...

host ~ # apt-cache search nslookup
host - utility for querying DNS servers
dnsutils - Clients provided with BIND
EEAA
fuente
1
apt-cachesolo busca los paquetes que ya ha instalado, mientras apt-filebusca TODOS los paquetes en su sources.list, incluidos los paquetes que no están instalados. Entonces, en este caso, apt-filees el que hay que usar.
Steven lunes
1
@ Steven, voy a tener que estar en desacuerdo con eso. Acabo de hacer una búsqueda de prueba para "vlc" en mi VPS ubuntu usando apt-cache, y mostró todos los paquetes relacionados con vlc, ninguno de los cuales he instalado.
EEAA
@ Steven Monai, eso no es cierto. apt-cachemira las descripciones de los paquetes (búsquedas /var/lib/apt/lists/*_Packages). Tener algo instalado no importa. Las descripciones del paquete no incluyen una lista de los archivos. Estoy de acuerdo en que apt-fileprobablemente sea la herramienta a usar, si abrir un navegador web no es una opción.
Zoredache
También hay auto-apt, como alternativa a apt-file. No tengo una fuerte preferencia. auto-apt puede escuchar las llamadas fallidas de los ejecutivos, lo que puede ser útil al ejecutar un script de configuración que detecte funciones.
Tobu
1
@EricA, Zoredache: Estoy corregido. Permítanme repetirlo: si necesita saber qué paquete desinstalado contiene un archivo en particular (por ejemplo /usr/bin/nslookup), utilícelo apt-file. Si solo desea buscar los nombres y las descripciones de los paquetes, entonces apt-cachefunciona bien.
Steven lunes
3

Tienes command-not-foundinstalado?

Simplemente escriba el comando en bash o zsh y le dirá qué paquete lo tiene, y si necesita habilitar repositorios no principales o arreglar su RUTA. O llama command-not-found $command_name.

O puede ir a http://packages.ubuntu.com/file:bin/nslookup , pero eso predeterminado es paquetes kármicos.

Tobu
fuente
0

El navegador de repositorio en línea de Ubuntu tiene la función "Buscar el contenido de los paquetes". AFAIK, no está implementado en apt-get / aptitude, pero en la mayoría de los casos estará satisfecho con "apt-get search" cuando busque un paquete que contenga un programa con un nombre similar.

Lux In Tenebris
fuente