29 votes

Comment puis-je savoir dans quel emballage se trouve un produit sans avoir recours à Google ?

Je me retrouve souvent à vouloir installer quelque chose, mais je ne suis pas sûr du paquet dans lequel il se trouve. C'est un cas très fréquent pour moi :

$ 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

Y a-t-il un meilleur moyen ?

31voto

Fabiano Soriani Points 543

Installer apt-file et exécuter apt-file update

Ensuite, utilisez apt-file search sphinx-build pour rechercher les paquets contenant un fichier nommé sphinx-build

0 votes

Joli coup ! J'ai toujours eu recours à paquets.ubuntu.com mais une application en ligne de commande est toujours préférable :D

15voto

KeyserSoze Points 2103

Ubuntu est assez intelligent. Essayez juste de l'exécuter.

$ sphinx-build

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

2 votes

Quelqu'un sait-il exactement comment cette "intelligence" est mise en œuvre dans Ubuntu ? Par exemple, quel paquet le fournit ?

5 votes

@entropo : Le paquet qui fournit cette fonctionnalité est "command-not-found".

3 votes

Ceci devrait être utilisé très prudemment car une commande qui ne fonctionne pas à partir d'un script ou d'un makefile peut fonctionner si elle est appelée à partir de votre script (par exemple parce que le script utilise un autre $PATH ou que vous avez un alias avec le même nom dans votre script) et pourrait avoir des effets non désirés.

3voto

Tich Points 31

Je ne sais pas si apt-get peut le faire, mais je préfère utiliser aptitude de toute façon.

En utilisant sa commande de recherche, vous obtenez une liste de paquets contenant la chaîne de caractères que vous recherchez, mais cela ne répond toujours pas complètement à votre question, car cela ne révèle pas quel paquet contient le binaire que vous recherchez.

Exemple :

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

0 votes

Cela aide un peu, mais après cela, vous devrez exécuter quelque chose comme 'dpkg -L packagename | grep bin' pour trouver les commandes qu'un paquet fournit réellement.

3voto

liori Points 629

J'aime utiliser http://packages.ubuntu.com/ -- il y a "Rechercher le contenu des paquets" à l'intérieur. Debian a également une interface similaire à http://packages.debian.org .

L'avantage est que vous pouvez l'utiliser sans accès CLI à Ubuntu lui-même, par exemple en expliquant les choses par téléphone.

1voto

Bob Points 940

Vous pouvez utiliser le groupe de commandes apt ou aptitude que je recommande plus qu'apt. Voici la liste à rechercher

APT

Pour rechercher quelque chose de similaire à la commande que vous voulez : apt-cache search X par exemple apt-cache search cheese vous donnera tout ce qui concerne le fromage.
Pour montrer quelles sont les dépendances et les choses qu'il a, vous devriez faire apt-cache show cheese .
Bien sûr, l'installation serait apt-get install cheese .

APTITUDE

Pour chercher : aptitude search cheese qui affichera une liste plus agréable qu'apt
Pour montrer : aptitude show cheese qui, une fois de plus, affichera une liste plus agréable et plus conviviale.
Pour l'installer : aptitude install cheese pour l'installer. Encore plus beau.

L'aptitude donne également des informations plus pertinentes par rapport à ce que vous recherchez, par exemple :

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

Si vous voulez une version GUI, je vous recommande Gestionnaire de paquets Synaptic ou un plus simple Centre des logiciels . Dans Synaptic, vous pouvez rechercher quelque chose de similaire à ce que vous cherchez et il vous le montrera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X