Yum: recherche d'un package avec un nom binaire

16

Existe-t-il un moyen de rechercher un package en utilisant le nom binaire.

par exemple, je veux trouver le paquetage rpm pour la commande " ls" alors ça devrait être coreutils-6.9-10.4.i586par exemple.

deimus
la source

Réponses:

20

La commande yum "whatprovides" accepte les caractères génériques. Si vous recherchez le paquet qui fournit un certain fichier ou exécutable et que vous ne connaissez pas son chemin complet, utilisez "yum whatprovides * / filename".

$ yum whatprovides */ls

coreutils-5.97-23.el5_4.2.x86_64 : The GNU core utilities: a set of tools
                                 : commonly used in shell scripts
Repo        : installed
Matched from:
Filename    : /bin/ls
John Simpson
la source
3
yum provides /bin/ls
repoquery -f /bin/ls

... sera à la fois dtrt. Les versions récentes de "yum" effectueront automatiquement un certain nombre de recherches de fichiers si vous le faites:

yum provides ls
James Antill
la source
1

Il semble, scout bin lsfait ça. Cet outil peut indexer différents types de dépôts (non seulement rpm, mais java, etc.) et découvrir ce que vous devez installer pour obtenir le binaire / commande / javaclass / fonctionnalité requis. Il est bien intégré avec suse.

Vous pouvez en savoir plus sur scout ici .

deimus
la source
Voici la solution. N'oubliez pas: nous recherchons des binaires pas encore installés ! Ainsi, toutes les autres réponses ont obtenu un downvote.
peterh
-1

La commande 'rpm -qf' devrait vous indiquer quel paquet possède n'importe quel fichier installé.

> whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.g

> rpm -qf /bin/ls
coreutils-5.97-23.el5_6.4
pwan
la source
1
suppose que je n'ai pas installé le paquet ... comment puis-je obtenir le nom du paquet en ne connaissant que le nom binaire?