Comment trouver à quel package appartient une certaine commande sur CentOS?


19

Par exemple, je peux facilement trouver que la commande Locate appartient au package mlocate.i386.

yum search locate
mlocate.i386 : An utility for finding files by name
[mirror@home /]$ rpm -qa | grep locate
mlocate-0.15-1.el5.1

yum search updatedb
Loaded plugins: fastestmirror, protectbase
0 packages excluded due to repository protections
=========================================== Matched: updatedb ===========================================
mlocate.i386 : An utility for finding files by name

Mais ce n'est pas si facile de trouver à quelle commande package free appartient:

yum search free   // this command just returns too much informationy 
rpm -qa | grep free
freetype-2.2.1-31.el5_8.1   // obviously not the package by which free command is installed

Existe-t-il un moyen efficace de savoir à quel package appartient une commande spécifique sous Linux? Par exemple CentOS ou d'autres distributions

Réponses:



24

Exemple Ubuntu / Debian pour vérifier le paquet de la freecommande:

dpkg -S $(which free)

cela ne fonctionne que pour les packages installés. j'ai trouvé ici quelque chose qui fonctionne pour les paquets non installés$ dpkg -S */free$*
bobrobbob

@bobrobbob J'ai bien peur que ce ne soit pas correct. J'ai testé avec dpkg -S */firefox$*qui donne plusieurs résultats sur un serveur sur lequel Firefox est installé, aucun sur un serveur sans Firefox. Je pense que cela ne peut pas fonctionner car dpkgc'est une commande opérant sur les packages installés localement. Pour trouver des packages non installés, vous pouvez aller sur packages.ubuntu.com/…
Jeroen Vermeulen - MageHost

Oh mon. vous avez raison, désolé pour cela
bobrobbob

1
Si vous obtenez dpkg-requête: aucun chemin trouvé modèle correspondant à essayer cette : dpkg -S "$(readlink -fn "$(which free)")".
Pablo A du

7

Pour CentOS, qu'en est-il de yum?

Utilisation

which free 

pour savoir où il se trouve

Pour moi, c'est à

/ usr / bin / gratuit

Alors vous pouvez exécuter

yum provides /usr/bin/free

et il vous dira quel paquet l'a


Si the commandn'était pas installé ou disponible dans vos centos, vous pourriez utiliser yum provides <command>, car which <command>reviendranot <command> in ...
Lane Ouyang

1

Pour toutes les distributions basées sur Red Hat, vous pouvez utiliser l'utilitaire de gestion de paquets yum

yum provides `which free`

fournit l'argument spécifie quel package fournit certaines fonctionnalités ou certains fichiers.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.