Come dire in quale pacchetto Ubuntu è presente uno strumento


23

Come esempio concreto voglio essere in grado di prendere uno strumento particolare che non è installato (diciamo nslookup) e di essere in grado di dire quale pacchetto devo installare quando fallisce quanto segue:

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

Ovviamente posso cercare su Google la risposta per un pacchetto specifico (dnsutils) ma voglio sapere come trovarlo da solo.


questa è la ricerca apt-cache veloce e sporca nslookup
The Unix Janitor

apt-cache cerca solo le descrizioni. Stavo cercando un file specifico, ErikA ha sottolineato: ricerca apt-file FOO
ErebusBat

Risposte:


23

Ci sono due modi che conosco per fare questo:

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

e...

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

1
apt-cachecerca solo i pacchetti che hai già installato, mentre apt-filecerca TUTTI i pacchetti nel tuo sources.list, compresi i pacchetti che non sono installati. Quindi, in questo caso, apt-fileè quello da usare.
Steven lunedì

1
@Steven, non dovrò essere d'accordo. Ho appena fatto una ricerca di prova per "vlc" sul mio VPS ubuntu usando apt-cache, e ha mostrato tutti i pacchetti relativi a vlc, nessuno dei quali ho installato.
EEAA,

@Steven Monai, non è vero. apt-cacheesamina le descrizioni dei pacchetti (ricerche /var/lib/apt/lists/*_Packages). Avere qualcosa installato non ha importanza. Le descrizioni dei pacchetti non includono un elenco dei file. Sono d'accordo che apt-fileè probabilmente lo strumento da utilizzare, se l'apertura di un browser non è un'opzione.
Zoredache,

C'è anche auto-apt, in alternativa a apt-file. Non ho una forte preferenza. auto-apt è in grado di ascoltare chiamate exec fallite, che può essere utile quando si esegue uno script di configurazione che rileva funzionalità.
Tobu,

1
@EricA, Zoredache: sto corretto. Fammi ripetere: se hai bisogno di sapere quale pacchetto disinstallato contiene un determinato file (ad es. /usr/bin/nslookup), Allora usa apt-file. Se vuoi solo cercare i nomi e le descrizioni dei pacchetti, allora apt-cachefunziona bene.
Steven lunedì

3

Hai command-not-foundinstallato?

Basta digitare il comando in bash o zsh e ti dirà quale pacchetto lo ha e se è necessario abilitare i repository non principali o correggere il PERCORSO. Oppure chiama command-not-found $command_name.

Oppure puoi andare su http://packages.ubuntu.com/file:bin/nslookup , ma per impostazione predefinita i pacchetti karmic.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.