with localinstall instalar centos rpm yum

centos - localinstall - ¿Cómo encuentro qué paquete de rpm suministra un archivo que estoy buscando?



yum localinstall (5)

Como ejemplo, estoy buscando un archivo mod_files.sh que, presumiblemente, vendría con el paquete php-devel . Supuse que yum instalaría el archivo mod_files.sh con el paquete php-devel x86_64 5.1.6-23.2.el5_3 , pero parece que el archivo no está instalado en mi sistema de archivos.

¿Cómo averiguo qué paquete instala un archivo específico? Estoy buscando donde no necesariamente he descargado el paquete localmente, que puede incluir el archivo que estoy buscando.

Estoy usando CentOS 5.


Bien, encontrar el paquete cuando estás conectado a internet (repositorio) es fácil, sin embargo, cuando solo tienes acceso a paquetes RPM dentro de Redhat o Centos DVD (esto me sucede frecuentemente cuando tengo que recuperar un servidor y necesito una aplicación), recomiendo utilizando los comandos a continuación, que es completamente independiente de Internet y repositorios. (supuestamente tienes muchos paquetes desinstalados en un DVD). Supongamos que ha montado la carpeta del paquete en ~ / cent_os_dvd y está buscando un paquete que proporcione "semanage" y luego puede ejecutar:

for file in `find ~/cent_os_dvd/ -iname ''*.rpm''`; do rpm -qlp $file |grep ''.*bin/semanage''; if [ $? -eq 0 ]; then echo "is in";echo $file ; fi; done


Esta es una vieja pregunta, pero las respuestas actuales son incorrectas :)

Use yum whatprovides , con la ruta absoluta al archivo que desea (que puede ser wildcarded). Por ejemplo:

yum whatprovides ''*bin/grep''

Devoluciones

grep-2.5.1-55.el5.x86_64 : The GNU versions of grep pattern matching utilities. Repo : base Matched from: Filename : /bin/grep

Puede preferir la salida y la velocidad de la herramienta de repoquery , disponible en el paquete yum-utils .

sudo yum install yum-utils repoquery --whatprovides ''*bin/grep'' grep-0:2.5.1-55.el5.x86_64 grep-0:2.5.1-55.el5.x86_64

repoquery puede hacer otras consultas, como enumerar los contenidos del paquete, las dependencias, las dependencias inversas, etc.


La respuesta más popular es incompleta:

Debido a que esta búsqueda generalmente se realizará solo para archivos de paquetes instalados, yum whatprovides se hace increíblemente rápido deshabilitando todos los repos externos (el repositorio "instalado" implícito no se puede deshabilitar).

yum --disablerepo=* whatprovides <file>


Para saber si el paquete posee (o proporciona) un archivo ya instalado:

rpm -qf myfilename

Nota: este comando no requiere que se ejecute como root (por el contrario de sudo yum whatprovides myfilename )


Vaya a http://www.rpmfind.net y busque el archivo.

Obtendrás resultados para muchas distros y versiones diferentes, pero es muy probable que Fedora y / o CentOS aparezcan también y sabrás el nombre del paquete para instalar con yum.