Extraer datos de ficheros RPM
Habrá ocasiones en las que se desee extraer dados de los RPM sin instalar el paquete. Por ejemplo, esto puede sernos útil cuando se quiere obtener la fuente original de un RPM fuente para compilar el software sin las ayudas de herramientas RPM.
Los ficheros RPM, son en realidad, ficheros cpio modificados por lo que convertir RPM en cpio nos resultará relativamente fácil. Para ello, necesitamos el programa rpm2cpio que viene con la mayoría de distribuciones linux. Este programa recibe como único argumento el archivo RPM y genera como salida el archivo cpio por la salida estándar.
Para hacer esto, podemos utilizar los operadores de redirección " > ", si queremos hacer la operación en dos pasos, o también, podemos utilizar el operador pipe " | ", ahorrándonos así la necesidad de crear el archivo cpio intermedio.
A continuación veremos un ejemplo de los dos métodos que podemos utilizar:
Con redirección:
$ rpm2cpio nombrePaquete.rpm > nombrePaquete.cpio
Creamos el archivo cpio, y ahora utilizamos cpio pasándole el archivo por la entrada estándar con las opciones -i para extraer el archivo, y --make-directories para crear los directorios necesarios.
$ cpio -i --make-directories < nombrePaquete.cpio
Utilizando un pipe:
$ rpm2cpio nombrePaquete.rpm | cpio -i --make-directories
En ambos casos, el resultado es un extracto de los ficheros del archivo en el directorio actual.
Los ficheros RPM, son en realidad, ficheros cpio modificados por lo que convertir RPM en cpio nos resultará relativamente fácil. Para ello, necesitamos el programa rpm2cpio que viene con la mayoría de distribuciones linux. Este programa recibe como único argumento el archivo RPM y genera como salida el archivo cpio por la salida estándar.
Para hacer esto, podemos utilizar los operadores de redirección " > ", si queremos hacer la operación en dos pasos, o también, podemos utilizar el operador pipe " | ", ahorrándonos así la necesidad de crear el archivo cpio intermedio.
A continuación veremos un ejemplo de los dos métodos que podemos utilizar:
Con redirección:
$ rpm2cpio nombrePaquete.rpm > nombrePaquete.cpio
Creamos el archivo cpio, y ahora utilizamos cpio pasándole el archivo por la entrada estándar con las opciones -i para extraer el archivo, y --make-directories para crear los directorios necesarios.
$ cpio -i --make-directories < nombrePaquete.cpio
Utilizando un pipe:
$ rpm2cpio nombrePaquete.rpm | cpio -i --make-directories
En ambos casos, el resultado es un extracto de los ficheros del archivo en el directorio actual.
Me sirvió mucho, gracias!
ResponderEliminar