Tengo varias aplicaciones que deseo implementar usando rpm. Algunos de los archivos en las implementaciones de mi aplicación anulan los archivos de otros paquetes implementados. Simplemente incluir los nuevos archivos en el paquete de implementación causará conflictos de rpm.¿Cómo uso rpm para actualizar/reemplazar archivos existentes?
Estoy buscando la forma correcta de usar rpm para actualizar/reemplazar los archivos ya instalados.
Ya he encontrado algunas soluciones pero nada parece estar bien.
- Mantenga las versiones personalizadas de las rpms que contienen los archivos originales.
Esto parece una gran cantidad de trabajo por una recompensa relativamente pequeña, aunque se siente menos como un truco que algunas de las otras posibles soluciones.
- Incluya los archivos en las rpm con otro nombre y cópielos en la sección de publicación.
Esto funcionaría, pero significará ensuciar el sistema con varias copias de los archivos. También significa mantenimiento adicional en las especificaciones de compilación rpm para cada archivo.
- Use wget en la sección de publicaciones para reemplazar los archivos originales de algún servidor conocido.
Esto es similar a la técnica de copia, pero los archivos ni siquiera viven en las rpm. Sin embargo, esto podría actuar como una buena autoridad de configuración central.
- Despliegue los archivos como nuevos y luego use enlaces simbólicos para anular los originales.
Esto también es similar a la técnica de copia pero con menos desorden. El problema aquí es que algunos archivos no se comportan bien como enlaces simbólicos.
Este es un buen consejo, pero la función rpmnew/rpmsave realmente se refiere a la actualización de un paquete existente. El problema que tengo es agregar un nuevo paquete que modifica los archivos ya instalados por otro paquete. Gracias! – tremoloqui
La actualización de archivos de otro paquete no me parece muy segura. ¿Por qué necesitarías jugar con archivos de otros paquetes en primer lugar? – lothar
Ejemplo principal: el paquete perl-5.8.8 en CentOS contiene una gran cantidad de versiones anteriores de módulos CPAN, que no podrá actualizar a través de RPM porque los archivos modificados del módulo entrarán en conflicto. Entonces, o estás atascado con los módulos anteriores, o lo pirateas. –