¿Hay alguna manera de extraer un RPM instalado de una base de datos RPM en Red Hat Enterprise Linux para reproducir el .rpm
archivo original ?
¿Hay alguna manera de extraer un RPM instalado de una base de datos RPM en Red Hat Enterprise Linux para reproducir el .rpm
archivo original ?
Respuestas:
Si desea guardar una copia del paquete como está instalado actualmente antes de actualizarlo o eliminarlo, use rpm --repackage
: guardará los RPM en / var / tmp o / var / spool / repackage o en otro lugar, según su configuración.
De lo contrario, existe rpmrebuild
, que hace exactamente lo que pides.
Palabra de precaución: con ninguna de estas herramientas obtienes exactamente lo mismo *.rpm
que con la que comenzaste. Cualquier cambio en los archivos instalados que pertenezcan al paquete estará en los RPM generados.
rpm --repackage
se Re-package the files before erasing
rpm.org/max-rpm-snapshot/rpm.8.html casi me encontré con este comando a ciegas, pero se veía en los documentos vinculados en primer lugar.
rpm --repackage
no parece estar disponible en sistemas más nuevos (p. ej., RHEL 7). rpmrebuild
está disponible en el EPEL para RHEL 7 e hizo el truco para mí.
No es posible producir el archivo rpm original, se extrajo y posiblemente se descartó. La base de datos rpm tiene información sobre qué archivos está instalado y sus sumas de verificación, permisos y los scripts posteriores a la publicación:
# verify package contents
rpm -q packagename --verify
# read the scripts that run on installation and removal
rpm -q packagename --scripts
te dará alguna información.
Si desea obtener un rpm del repositorio, le recomiendo usar yumdownloader, del paquete yum-utils.
yum install yum-utils
yumdownloader packagename
Esto descargará las últimas rpm, no la que está instalada actualmente.