Pregunta

¿Cómo recreo un RPM que ya está instalado en un sistema en Linux?

¿Fue útil?

Solución

¿Qué versión de RPM estás usando? Si está utilizando uno más nuevo, tengo un truco que podría funcionar para usted.

Las versiones más nuevas de RPM tienen un opción de reversión segura de transacción; Simplemente use el comando -repackage, y generará un paquete que incluya toda la basura idiosincrásica de la instalación original. Eso sí, tendrás que hacer algo (por ejemplo, rpm -e - -repackage rpm_goes_here que borrará el original, mientras crea un paquete que debería poder restaurar (después de haber hecho una copia), pero si usted Espere que esto funcione perfectamente, tengo un puente que quizás desee comprar), por lo que es un poco de fe si no tiene una copia de seguridad completa.

Hay alguna configuración involucrada, y debe probar la prueba de prueba antes de probar esto en algo crítico, pero esto puede funcionar.

Otros consejos

Básicamente tendrás que hacer lo siguiente:

1] Cree un archivo .spec con todos los encabezados [ http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html ]

Tendrá que usar el RPM -Q --QueryFormat "" para obtener el encabezado de las RPM ya instaladas. P.ej. rpm -q --queryformat "Release: %{RELEASE}\n" installed_rpm

Para obtener los archivos para llenar el %files Sección use el rpm -ql dominio.

2] Run rpmbuild -bb specfile Para generar el archivo RPM.

La mejor manera de recrear un RPM es hacerlo a partir de las RPM de origen. Gran tutorial aquí.

los deltarpm El paquete puede hacer eso:

Un Deltarpm contiene la diferencia entre una versión antigua y una nueva de un RPM, lo que permite recrear las nuevas RPM del Deltarpm y el anterior. No tiene que tener una copia de las viejas RPM, Deltarpms también puede funcionar con RPM instaladas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top