Як я можу зрозуміти, в якому пакеті є щось, не звертаючись до Google?


29

Я часто відчуваю, що хочу щось встановити, але я не впевнений, в якому пакунку він знаходиться. Це для мене дуже поширене явище:

$ 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

Чи є кращий спосіб?

Відповіді:


31

Встановіть apt-файл і запустітьapt-file update

Потім використовуйте apt-file search sphinx-buildдля пошуку пакетів, що містять файл з іменем sphinx-build


Хороший! Я завжди вдавався до пакети package.ubuntu.com , але додаток командного рядка завжди найкраще: D
Egil

15

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

$ sphinx-build

The program 'sphinx-build' is currently not installed.  You can install it by typing:
sudo apt-get install python-sphinx

2
Хтось точно знає, як реалізується ця «розумність» в Ubuntu? наприклад, який пакет надає це?
entropo

5
@entropo: Пакет, який надає цю функціональність, "не знайдено команд".
Твіт

3
Це слід використовувати дуже обережно, оскільки команда, яка не працює зі скрипту чи makefile, може працювати, якщо викликається з вашої оболонки (наприклад, через те, що сценарій використовує інший $ PATH або у вашій оболонці псевдонім з тим самим іменем) і може мати небажані наслідки.
Флоріан Дієш

3

Я не знаю, чи може це зробити apt-get, але я все одно вважаю за краще використовувати придатність.

Використовуючи команду пошуку, ви отримуєте список пакунків, що містить рядок, який ви шукаєте, однак він все ще не відповідає повністю на ваше запитання, оскільки не розкриває, який пакет містить бінарний файл, який ви шукаєте.

Приклад:

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

Це дещо допомагає, але після цього вам потрібно буде запустити щось на зразок 'dpkg -L ім'я пакета | grep bin ', щоб знайти, які команди насправді надає пакет.
Танат

3

Мені подобається використовувати http://packages.ubuntu.com/ - всередині "Пошук вмісту пакетів". Debian також має подібний інтерфейс на http://packages.debian.org .

Ця перевага полягає в тому, що ви можете користуватися ним без доступу CLI до самого Ubuntu, пояснюючи речі по телефону.


2

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

APT

Для пошуку чогось подібного до потрібної команди: apt-cache search Xнаприкладapt-cache search cheese ви дасте все, що стосується сиру.
Щоб показати, які саме залежності та речі у вас є, ви зробили б apt-cache show cheese.
Звичайно встановити було б apt-get install cheese.

АПТИТУД

Для пошуку: aptitude search cheeseщо покаже кращий список, ніж підходить
Для показу:aptitude show cheese що знову покаже приємніший і дружніший список
Щоб встановити: aptitude install cheeseвстановити його. Знову приємніше.

Також здатність дає більш релевантну інформацію про те, що ви шукаєте, наприклад:

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

Якщо ви хочете версії GUI, я рекомендую Synaptic Package Manager або більш простий програмний центр . У Synaptic ви можете шукати щось подібне до того, що ви шукаєте, і воно покаже вам це.


0

автопридатний

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

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

Отже, просто попросіть auto-apt run make htmlі подивіться, що станеться :)

Для отримання додаткової інформації дивіться документацію для автоматичного призначення

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