Jak dowiedzieć się, w jakim pakiecie jest coś bez uciekania się do Google?

29

Często chcę coś zainstalować, ale nie jestem pewien, w jakim pakiecie się znajduje. Jest to dla mnie bardzo częste zdarzenie:

$ 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

Czy jest lepszy sposób?

Kit Sunde
źródło

Odpowiedzi:

31

Zainstaluj apt-file i uruchomapt-file update

Następnie użyj apt-file search sphinx-builddo wyszukania pakietów zawierających plik o nazwie sphinx-build

Florian Diesch
źródło
Niezłe! Zawsze uciekałem się do packages.ubuntu.com , ale aplikacja z linii poleceń jest zawsze najlepsza: D
Egil
15

Ubuntu jest całkiem sprytny. Po prostu spróbuj go uruchomić.

$ sphinx-build

The program 'sphinx-build' is currently not installed.  You can install it by typing:
sudo apt-get install python-sphinx
CPC
źródło
2
Czy ktoś wie dokładnie, jak ta „inteligencja” jest implementowana w Ubuntu? np. który pakiet to zapewnia?
entropo
5
@entropo: Pakiet zapewniający tę funkcjonalność to „polecenie nieznalezione”.
Tweek
3
Należy tego używać bardzo ostrożnie, ponieważ polecenie, które nie działa ze skryptu lub pliku makefile, może działać, jeśli zostanie wywołane z powłoki (np. Ponieważ skrypt używa innej zmiennej $ PATH lub masz w aliasie tę samą nazwę) i może mieć niepożądane skutki.
Florian Diesch,
3

Nie wiem, czy apt-get może to zrobić, ale i tak wolę używać aptitude.

Korzystając z polecenia wyszukiwania, otrzymujesz listę pakietów, które zawierają szukany ciąg, jednak nadal nie w pełni odpowiada na twoje pytanie, ponieważ nie ujawnia, który pakiet zawiera poszukiwany plik binarny.

Przykład:

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
Tich
źródło
To trochę pomaga, ale potem musisz uruchomić coś takiego jak „dpkg -L nazwa_pakietu | grep bin ', aby dowiedzieć się, jakie polecenia faktycznie udostępnia pakiet.
Tanath,
3

Lubię używać http://packages.ubuntu.com/ - w środku jest „Przeszukaj zawartość pakietów”. Debian ma również podobny interfejs na stronie http://packages.debian.org .

Ma to tę zaletę, że można z niego korzystać bez dostępu CLI do samego Ubuntu, np. Wyjaśniając rzeczy przez telefon.

liori
źródło
2

możesz użyć grupy poleceń apt lub aptitude, które polecam powyżej apt. Oto lista do przeszukania

TRAFNY

Aby wyszukać coś podobnego do żądanego polecenia: apt-cache search Xna przykład apt-cache search cheeseda ci wszystko związane z serem.
Aby pokazać, jakie zależności i rzeczy masz do zrobienia apt-cache show cheese.
Oczywiście, aby zainstalować apt-get install cheese.

UZDOLNIENIE

Aby wyszukać: aptitude search cheesektóra pokaże ładniejszą listę niż apt
Aby pokazać: aptitude show cheesektóra ponownie pokaże ładniejszą i bardziej przyjazną listę
Aby zainstalować: aptitude install cheesezainstalować. Znowu ładniejszy.

Również aptitude daje bardziej odpowiednie informacje do tego, czego szukasz, na przykład:

apt-cache search phiVS aptitude search phi
apt-cache search sphiVSaptitude search sphi

Jeśli chcesz mieć wersję GUI, polecam Synaptic Package Manager lub prostsze Centrum oprogramowania . W Synaptic możesz szukać czegoś podobnego do tego, czego szukasz, i to ci to pokaże.

Luis Alvarado
źródło
0

auto-apt

auto-aptto pakiet, który bardzo się przydaje, szczególnie w Makefiles i configureskryptach, które odwołują się do rzeczy, których możesz nie mieć i nie wiesz, gdzie je znaleźć, co często jest trudne w przypadku plików nagłówkowych. W maketym przypadku wywołano i próbowano je wywołać sphinx-build, ale nie udało się, gdy nie można było go znaleźć.

auto-apt run [...]uruchomi podane polecenie, a następnie poprowadzi cię przez instalację pakietów zawierających brakujące pliki, które, jak wie, apt-getmogą znaleźć i zainstalować.

Więc po prostu przywołaj auto-apt run make htmli zobacz, co się stanie :)

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dotyczącą automatycznego apt

Chata 8
źródło