Come faccio a capire in quale pacchetto si trova qualcosa senza ricorrere a Google?


29

Mi trovo spesso a voler installare qualcosa, ma non sono sicuro del pacchetto in cui si trova. Questo è un evento molto comune per me:

$ 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

Esiste un modo migliore?

Risposte:


31

Installa apt-file ed eseguiapt-file update

Quindi utilizzare apt-file search sphinx-buildper cercare pacchetti che contengano un file chiamato sphinx-build


Ben fatto! Ho sempre fatto ricorso a packages.ubuntu.com , ma un'app da riga di comando è sempre la migliore: D
Egil

15

Ubuntu è piuttosto intelligente. Prova a eseguirlo.

$ sphinx-build

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

2
Qualcuno sa esattamente come questa "intelligenza" è implementata in Ubuntu? ad es. quale pacchetto fornisce questo?
entropo,

5
@entropo: il pacchetto che fornisce questa funzionalità è "comando non trovato".
Tweek,

3
Questo dovrebbe essere usato con molta attenzione come un comando che non funziona da uno script o un makefile potrebbe funzionare se chiamato dalla tua shell (ad es. Perché lo script sta usando un altro $ PATH o hai un alias con lo stesso nome nella tua shell) e potrebbe avere effetti indesiderati.
Florian Diesch,

3

Non so se apt-get può farlo, ma preferisco comunque usare aptitude.

Usando il suo comando di ricerca, ottieni un elenco di pacchetti che contiene la stringa che stai cercando, tuttavia che non risponde ancora completamente alla tua domanda, in quanto non rivela quale pacchetto contiene il binario che stai cercando.

Esempio:

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

Questo aiuta un po ', ma dopo dovrai eseguire qualcosa come' dpkg -L nomepacchetto | grep bin 'per trovare quali comandi fornisce effettivamente un pacchetto.
Tanath,


2

puoi usare il gruppo apt di comandi o aptitude che raccomando sopra apt. Ecco l'elenco da cercare

APT

Per cercare qualcosa di simile al comando desiderato: apt-cache search Xad esempio, apt-cache search cheeseti darà tutto ciò che riguarda il formaggio.
Per mostrare quali dipendenze e cose ha dovrebbe fare apt-cache show cheese.
Certo che l'installazione sarebbe apt-get install cheese.

ATTITUDINE

Per cercare: aptitude search cheeseche mostrerà un elenco più bello di apt
Per mostrare: aptitude show cheeseche mostrerà di nuovo un elenco più bello e più amichevole
Per installare: aptitude install cheeseper installarlo. Ancora più bello.

Inoltre aptitude fornisce informazioni più pertinenti a ciò che stai cercando, ad esempio:

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

Se si desidera una versione della GUI, consiglio Synaptic Package Manager o un centro software più semplice . In Synaptic puoi cercare qualcosa di simile a quello che stai cercando e te lo mostrerà.


0

auto-apt

auto-aptè un pacchetto molto utile, specialmente con Makefile e configurescript che fanno riferimento a cose che potresti non avere e che non sanno dove trovare, il che è spesso complicato con i file di intestazione. In makequesto caso hai invocato e ha tentato di richiamare sphinx-build, ma non è riuscito quando non è stato possibile trovarlo.

auto-apt run [...]eseguirà il comando specificato, quindi ti guiderà attraverso l'installazione di pacchetti contenenti file mancanti che sa essere in apt-getgrado di trovare e installare.

Quindi, basta invocare auto-apt run make htmle vedere cosa succede :)

Per ulteriori informazioni, consultare la documentazione di auto-apt

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.