Pregunta La instalación de RPM devuelve el código de salida 1


Estoy trabajando en un sistema integrado y he creado un montón de RPM. El siguiente problema está presente en algunos de los RPM.

Cuando instalo / actualizo la versión 2 del RPM en la parte superior de la versión 1 o instalo la versión 1 del RPM en la parte superior de la versión 2, la instalación proporciona un código de salida de 0.

Sin embargo, cuando instalo la misma versión del RPM sobre una instalación existente, devuelve un código de salida de 1. Sin embargo, la mayoría de los otros RPM no tienen este comportamiento (código de salida de 1 al instalar RPM en la parte superior de un instalación existente)

¿Esto es por diseño? Hay un script personalizado que detectó instalaciones fallidas basadas en el código de salida, por lo que necesito que esta instalación de RPM devuelva 0. Estoy usando el siguiente comando.

rpm -Uv --force <rpm-file>

Intenté generar más registros detallados, pero no hay absolutamente ninguna diferencia entre los escenarios donde devuelve 0 y los escenarios que devuelven 1.


1


origen


¿Por qué es necesario usar la bandera de fuerza? - bbaja42
En realidad se usa en un script. Se usa para que el RPM se instale incluso si se informa que ya está instalado. - BlueSilver


Respuestas:


Para forzar el código de retorno 0, puede usar este truco: rpm -Uv --force <rpm-file> || true

Aunque realmente debería hacer que su secuencia de comandos consulte la versión instalada (rpm -q <package>), y solo intente la instalación si no está satisfecho con lo que sucede allí.


0