Как я могу понять, в каком пакете что-то есть, не прибегая к Google?

Я часто нахожу, что хочу что-то установить, но я не уверен, в каком пакете он находится. Это очень распространенное явление для меня:

$ make html
sphinx-build -b djangohtml -d _build/doctrees   . _build/html
make: sphinx-build: Command not found
make: *** [html] Error 127

$ sudo apt-get install sphinx
E: Unable to locate package sphinx

$ sudo apt-get install sphinx-build
E: Unable to locate package sphinx-build

googles

$ sudo apt-get install python-sphinx

Есть ли лучший способ?

1
задан 3 August 2014 в 21:24

5 ответов

Ubuntu довольно умный. Просто попробуйте запустить его.

$ sphinx-build

The program 'sphinx-build' is currently not installed.  You can install it by typing:
sudo apt-get install python-sphinx
15
ответ дан 25 May 2018 в 22:08
  • 1
    Кто-нибудь знает, как именно эта «умность» реализован в Ubuntu? например, какой пакет обеспечивает это? – entropo 13 April 2011 в 03:12
  • 2
    @entropo: пакет, который предоставляет эту функциональность, «команда не найден». – Tweek 13 April 2011 в 04:52
  • 3
    @tweek: Удивительно, спасибо! – entropo 13 April 2011 в 04:54
  • 4
    Это следует использовать очень осторожно, так как команда, которая не работает из сценария или makefile, может работать, если вызвана из вашей оболочки (например, потому что скрипт использует другой $ PATH или у вас есть псевдоним с тем же именем в вашей оболочке) и могут иметь нежелательные последствия. – Florian Diesch 13 April 2011 в 22:08

Я не знаю, может ли apt-get это сделать, но я предпочитаю использовать aptitude.

Используя свою команду поиска, вы получаете список пакетов, содержащих строку, которую вы ищете , однако это еще не полностью отвечает на ваш вопрос, поскольку он не показывает, какой пакет содержит бинарный файл, который вы ищете.

Пример:

sudo aptitude search sphinx
p   gstreamer0.10-pocketsphinx      - lightweight speech recognition - GStreamer
p   libpocketsphinx-dev             - lightweight speech recognition - developme
p   libpocketsphinx1                - lightweight speech recognition - library  
p   libsphinx-search-perl           - Perl module for Sphinx search engine      
p   libsphinx2-dev                  - speech recognition library - development k
p   libsphinx2g0                    - speech recognition library                
p   libsphinxbase-dev               - Sphinx base libraries - development files 
p   libsphinxbase1                  - Sphinx base libraries                     
p   pocketsphinx-hmm-tidigits       - lightweight speech recognition - TIDIGITS 
p   pocketsphinx-hmm-wsj1           - lightweight speech recognition - WSJ1 acou
p   pocketsphinx-lm-wsj             - lightweight speech recognition - WSJ langu
p   pocketsphinx-utils              - lightweight speech recognition - command-l
p   python-pocketsphinx             - lightweight speech recognition - Python mo
p   python-pocketsphinx-dbg         - lightweight speech recognition - Python mo
p   python-repoze.sphinx.autointerf - Sphinx extension that auto-generates API d
p   python-sphinx                   - tool for producing documentation for Pytho
p   python-sphinxbase               - Sphinx base libraries - Python module     
p   python-sphinxbase-dbg           - Sphinx base libraries - Python module (deb
v   python2.6-pocketsphinx          -                                           
v   python2.6-pocketsphinx-dbg      -                                           
v   python2.6-sphinxbase            -                                           
v   python2.6-sphinxbase-dbg        -                                           
v   python2.7-pocketsphinx          -                                           
v   python2.7-pocketsphinx-dbg      -                                           
v   python2.7-sphinxbase            -                                           
v   python2.7-sphinxbase-dbg        -                                           
p   sphinx2-bin                     - speech recognition utilities              
p   sphinx2-hmm-6k                  - speech recognition library - default acous
p   sphinxbase-utils                - Sphinx base libraries - utilities         
p   sphinxsearch                    - Fast standalone full-text SQL search engine
3
ответ дан 25 May 2018 в 22:08
  • 1
    Это несколько помогает, но после этого вам нужно запустить что-то вроде «dpkg -L packagename | grep bin ', чтобы найти команды, которые фактически предоставляет пакет. – Tanath 13 April 2011 в 01:41

Мне нравится использовать http://packages.ubuntu.com/ - внутри папки «Искать содержимое пакетов». Debian также имеет аналогичный интерфейс на http://packages.debian.org.

Это имеет то преимущество, что вы можете использовать его без доступа к CLI самому Ubuntu, т. Е. объясняя вещи по телефону.

3
ответ дан 25 May 2018 в 22:08

вы можете использовать apt группу команд или aptitude, которые я рекомендую выше apt. Вот список для поиска

APT

Чтобы найти что-то похожее на нужную команду: apt-cache search X например apt-cache search cheese предоставит вам все, что связано с сыром. Чтобы показать, какие зависимости и все, что у вас есть, вы сделали бы apt-cache show cheese. Конечно, для установки будет apt-get install cheese.

APT

Для поиска: aptitude search cheese, который будет показывать более приятный список, чем apt Чтобы показать: aptitude show cheese который снова покажет более приятный и удобный список. Чтобы установить: aptitude install cheese, установите его. Опять же, лучше

Также aptitude дает более релевантную информацию о том, что вы ищете, например:

apt-cache search phi VS aptitude search phi apt-cache search sphi VS aptitude search sphi

Если вам нужна версия GUI, я рекомендую Synaptic Package Manager или более простой Software Center. В Synaptic вы можете найти что-то похожее на то, что ищете, и оно покажет его вам.

2
ответ дан 25 May 2018 в 22:08

auto-apt

auto-apt - это пакет, который очень пригодится, особенно с Makefile и скриптами configure, которые ссылаются на вещи, которые у вас могут не быть, и не знают, где их найти, который часто бывает сложным с файлами заголовков. Вы вызывали make в этом случае, и он пытался вызвать sphinx-build, но не смог, когда он не смог его найти.

auto-apt run [...] выполнит указанную команду, а затем проведет вас через установку пакетов содержащиеся отсутствующие файлы, которые он знает apt-get, могут найти и установить.

Итак, просто вызовите auto-apt run make html и посмотрите, что произойдет:)

Для получения дополнительной информации см. документацию для авто-склонные

0
ответ дан 25 May 2018 в 22:08

Другие вопросы по тегам:

Похожие вопросы: