Як сказати, в якому пакеті Ubuntu знаходиться інструмент


23

В якості конкретного прикладу я хочу мати певний інструмент, який не встановлений (скажімо, nslookup) і мати можливість сказати, який пакет мені потрібно встановити, коли не вдасться:

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

Очевидно, я можу google знайти відповідь для конкретного пакету (dnsutils), але я хочу знати, як його знайти самостійно.


це швидкий і брудний пошук підходящого кешу nslookup
Двірник Unix

apt-кеш шукає лише описи. Я шукав конкретний файл, Еріка вказав: apt-файл пошуку FOO
ErebusBat

Відповіді:


23

Я знаю два способи зробити це:

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

і ...

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

1
apt-cacheздійснює пошук тільки в уже встановлених вами пакетах, в той час як apt-fileшукає ВСІ пакети у ваших sources.list, включаючи пакети, які не встановлені. Тож у цьому випадку apt-fileє той, який слід використовувати.
Стівен у понеділок

1
@Steven, мені доведеться не погодитися з цим. Я щойно провів тестовий пошук "vlc" на моєму VPS Ubuntu за допомогою apt-кешу, і він показав усі пакети, пов'язані з vlc, жоден з яких я не встановив.
EEAA

@Steven Monai, це неправда. apt-cacheрозглядає описи пакетів (пошуки /var/lib/apt/lists/*_Packages). Установити щось не має значення. Описи пакунків не включають список файлів. Я погоджуюся, що apt-fileце, мабуть, інструмент для використання, якщо відкриття веб-браузера не є можливим.
Зоредаче

Існує також автоматичне підхоплення як альтернатива apt-файлу. У мене немає сильних переваг. auto-apt може прослуховувати невдалі виклики exec, що може бути корисно при запуску скрипта налаштування, який робить виявлення функцій.
Тобу

1
@EricA, Zoredache: Я виправлений. Дозвольте мені повторити: Якщо вам потрібно знати, який видалений пакет містить певний файл (наприклад /usr/bin/nslookup), тоді використовуйте apt-file. Якщо ви хочете лише шукати назви пакетів та їх описи, то це apt-cacheпрацює чудово.
Стівен у понеділок,

3

Ви command-not-foundвстановили?

Просто введіть команду в bash або zsh, і вона підкаже, у якому пакеті є, і якщо вам потрібно ввімкнути неосновні репости або виправити свій PATH. Або зателефонуйте command-not-found $command_name.

Або ви можете перейти до http://packages.ubuntu.com/file:bin/nslookup , але це за замовчуванням для кармічних пакетів.



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.