Instalación local de .rpms usando YUM

50

Estoy haciendo esta pregunta con cautela porque no quiero equivocarme.

Tengo un archivo program_name.rpm guardado localmente en mi servidor (CentOS 6.5).

Lo instalé anteriormente simplemente navegando hacia él y usando yum install program_name.rpm, que funcionó bien, pero no me dio ninguna opción para especificar dónde está instalado.

¿Es posible instalar este rpm en / opt / some_directory en lugar de su ubicación de instalación predeterminada?

TheLovelySausage
fuente

Respuestas:

34

Use rpm

rpm -ivh package.rpm

Si desea instalarlo en un lugar diferente, use:

rpm -ivh -r /new/path package.rpm

pero tenga en cuenta que bajo la nueva raíz se recreará la estructura de directorios del paquete

Romeo Ninov
fuente
2
esto funcionó muy bien, no creo que haya un equivalente YUM?
TheLovelySausage
44
Para aclarar: mmm es envoltorio alrededor de rpm. rpm es el programa principal para administrar paquetes en RHEL, SuSE, CentOS y otras distribuciones
Romeo Ninov
44
Oh, siempre pensé que um estaba basado en rpm, nunca me di cuenta de que era una envoltura, gracias por toda su ayuda
TheLovelySausage
¿Tienes que ser root para ejecutar este comando?
Alexej Magura
Correcto, debes ser root para ejecutar el comando
Romeo Ninov
97

Lástima que hayas aceptado esa respuesta de rpm. Eso conducirá a advertencias de ejecuciones posteriores de yum, como Warning: RPMDB altered outside of yum

En su lugar, debe usar yum localinstall, según la sección 13 de la página de Trucos de Yum y RPM de CentOS wiki => https://wiki.centos.org/TipsAndTricks/YumAndRPM#head-3c061f4a180e5bc90b7f599c4e0aebdb2d5fc7f6

Puede usar la --installrootopción para especificar una raíz de instalación diferente.

Jeff
fuente
3
Me gusta hacer las cosas de acuerdo con las mejores prácticas y esta respuesta incluye el equivalente de yum que esperaba. Desafortunadamente, ya instalé un montón de paquetes usando el método rpm -ivh. Desearía que fuera posible aceptar dos respuestas correctas porque siento que la respuesta aceptada es correcta, pero las personas que vengan a ver esta pregunta se beneficiarían más de esta respuesta
TheLovelySausage
Es mejor usar yum en lugar de rpm, pero para resolver la "advertencia: RPMDB alterado fuera de yum" es posible usar "yum history sync"
elbarna
1
Esto funciona. Cuando intenté simplemente ejecutar rpm, no obtuve las dependencias. Simplemente erró con "dependencias fallidas".
Christian Shay
"yum --nogpgcheck localinstall packagename.arch.rpm"
hmz