«Showmount: команда не найдена»: как узнать, что установить?

25

Иногда вы запускаете команду и получаете сообщение об ошибке «команда не найдена».

После этого вы пытаетесь установить пакет, содержащий эту команду (я так думаю, что происходит в любом случае?)

например showmount: command not found

apt-get install showmountничего не делает, поэтому я думаю, что showmountкоманда является частью пакета, но я не знаю, что это за пакет.

Как я могу узнать, какой пакет мне нужно установить, чтобы получить любую нужную мне команду? Я использую Kali Linux.

А. Смит
источник

Ответы:

14

Вы можете использовать apt-cache, который включен по умолчанию в дистрибутивы на основе Debian (afaik):

apt-cache search showmount

что также дает результат nfs-common.

Йоаким
источник
2
Это работает в этом случае (и в любом случае является хорошей идеей), но оно находит только слова, упомянутые в имени и описании пакета, поэтому, к сожалению, оно вообще не применимо.
Стивен Китт
1
В Debian может работать также какapt search pkgname
Джордж Василиу
@ StefhenKitt Правильно!
Йоаким
И apt-cache search showmount, и apt search showmount дают мне результат, который я искал. @StephenKitt, когда я использую showmount поиска apt-файла, он говорит, что кеш обновлений несмотря на уже запущенное обновление apt-файла. Вот почему я спросил ответ Joakims.
17
Это хорошо, я надеюсь, вы не возражаете, что я отредактировал ваш вопрос, чтобы в результате сделать его название более конкретным (поскольку принятый ответ не работает вообще).
Стивен Китт
29

Вы можете использовать apt-fileдля этого (вам может понадобиться установить его):

apt-file search showmount

Это показывает, что команда находится в nfs-commonпакете.

Обычно, когда вы ищете двоичный файл, вы можете ограничить поиск, добавив к нему префикс bin/:

apt-file search bin/showmount

Чтобы установить apt-file, запустите

sudo apt-get install apt-file
sudo apt-file update

Если вы apt-fileполучите версию 3.0 или более позднюю, вам не нужно будет отдельно обновлять индексы отдельно (после первоначальной загрузки выше), они обновляются всякий раз, когда обновляются основные индексы APT.

Стивен Китт
источник
2
Как выяснить, какой пакет предоставляет apt-file? :-)
Марка
@Mark - Не знаю, но я знаю, что это его собственный пакет, apt-fileа для Ubuntu - в репозитории вселенной.
Джо
Прежде чем использовать apt-file search, вы должны запустить sudo apt-file update- если вы еще не сделали это в последнее время. Это обновляет все его индексы, чтобы он мог находить вещи на основе вашего текущего набора репозиториев, о которых знает apt. Это отдельно от обновления, которое sudo apt-get updateделает.
Джо
Это действительно что-то вроде уловки-22, я обновил свой ответ.
Стивен Китт
18

Возможно, вы захотите облегчить свою жизнь, установив помощник по командам не найден

$ sudo apt install command-not-found
[…]
$ showmount
Command 'showmount' is available in '/sbin/showmount'
The command could not be located because '/sbin' is not included in the PATH environment variable.
This is most likely caused by the lack of administrative priviledges associated with your user account.
showmount: command not found
Роман Чиборра
источник
Хорошо, но обратите внимание, что это работает, bashно не в других оболочках (я пробовал tcshи zsh)
17
0

Я столкнулся с той же проблемой при монтировании сервера NFS. В моем случае просто запустите следующую команду.

sudo showmount -e [ip address of the nfs server]

Я забыл написать sudo.

Саббир Ахмед
источник
-1

Запустите следующие команды,

  • # apt update
  • # apt install rpcbind nfs-common
1uffyD9
источник