rpm: la actualización del mismo paquete genera conflictos de archivos

rpm: la actualización del mismo paquete genera conflictos de archivos

He instalado mi paquete personalizado que contiene un montón de archivos.

Ejecutarlo rpm --upgradepor segunda vez genera muchos errores:

File ABC from install of mypackage-1.0-0.i386 conflicts with file from package mypackage-1.0-0.i386

RPM sale con el código de error 5.

¡Pero es el mismo paquete con el mismo número de versión! ¿No debería decir "ya instalado" o algo así? ¿Qué debo hacer con el archivo de especificaciones o el comando de actualización rpm para evitar este problema?

Correr rpm --upgrade --replacefilesdice "paquetemipaquete-1.0-0.i386ya instalado", con código de salida 5

(Realmente no quiero reemplazar los archivos si no han cambiado...

Algunos de los mensajes de error

Respuesta1

Tienes varias opciones. Lo más fácil es aumentar la versión y/o lanzamiento cuando crea un nuevo paquete para que el rpm -Ucomando (actualizar) funcione normalmente. Si no desea hacer eso, puede utilizarlo rpm -U --replacefiles --replacepkgspara reinstalar efectivamente el paquete. Una tercera opción es eliminar el paquete antes de instalar el "nuevo".

En todos estos casos, todos los archivos que forman parte del paylod normal (es decir, que no están marcados como noreplacearchivos de configuración) serán reemplazados por las versiones más recientes. Así es como funcionan las RPM. Si desea seguir el camino de actualizar solo las cosas que han cambiado, deberá buscar generar paquetes DRPM (Delta RPM), que solo contienen diferencias con respecto a una versión anterior. Eso requerirá que incremente su versión y/o números de lanzamiento cuando reconstruya. Nunca he creado paquetes delta RPM, por lo que no puedo ofrecer ningún consejo sobre ellos.

información relacionada