martes, 20 de abril de 2010

Como Ver los Archivos de un Paquete RPM o Deb

1. Paquetes RPM en Red Hat / CentOS / Fedora

Listando los archivos de un paquete RPM usando rpm -qlp

El siguiente ejemplo muestra como ver los archivos de un paquete del administrador de paquetes Red Hat (RPM por sus siglas en Ingles), sin necesidad de extraerlos o instalar el paquete.

$ rpm -qlp ovpc-2.1.10.rpm
/usr/src/ovpc/-5.10.0
/usr/src/ovpc/ovpc-2.1.10/examples
/usr/src/ovpc/ovpc-2.1.10/examples/bin
/usr/src/ovpc/ovpc-2.1.10/examples/lib
/usr/src/ovpc/ovpc-2.1.10/examples/test
.
.
.
/usr/src/ovpc/ovpc-2.1.10/pcs

Explicación del comando rpm -qlp ovpc-2.1.10.rpm

  • rpm - comando
  • q - consulta el archivo rpm
  • l - lista los archivos en el paquete
  • p - especifica el nombre del paquete

Extraer los archivos de un RPM usando rpm2cpio y cpio

RPM es una clase de archivo cpio. Primero, convierte el rpm a cpio usando el comando rpm2cpio, luego usa el comando cpio para extraer los archivos, así como se muestra abajo:

$ rpm2cpio ovpc-2.1.10.rpm | cpio  -idmv
./usr/src/ovpc/-5.10.0
./usr/src/ovpc/ovpc-2.1.10/examples
./usr/src/ovpc/ovpc-2.1.10/examples/bin
./usr/src/ovpc/ovpc-2.1.10/examples/lib
./usr/src/ovpc/ovpc-2.1.10/examples/test
.
.
.
./usr/src/ovpc/ovpc-2.1.10/pcs

$ ls .
usr

2. Paquetes deb en Debian

deb es la extensión del paquete de software de Debian, también es usado en otras distribuciones que están basadas en Debian (por ejemplo, Ubuntu usa *.deb)

Listando los archivos de un paquete .deb usando dpkg -c

dpkg es el administrador de paquetes de Debian. Usando el comando dpkg puedes listar y extraer el paquete.

Para ver el contenido de un archivo *.deb:

$ dpkg -c ovpc_1.06.94-3_i386.deb
dr-xr-xr-x root/root 0 2010-02-25 10:54 ./
dr-xr-xr-x root/root 0 2010-02-25 10:54 ./ovpc/
dr-xr-xr-x root/root 0 2010-02-25 10:54 ./ovpc/pkg/
dr-xr-xr-x root/root 0 2010-02-25 10:54 ./ovpc/pkg/lib/
dr-xr-xr-x root/root 0 2010-02-25 10:48 ./ovpc/pkg/lib/header/
-r-xr-xr-x root/root 130 2009-10-29 17:06 ./ovpc/pkg/lib/header/libov.so
.
.
.

-r-xr-xr-x root/root 131 2009-10-29 17:06 ./ovpc/pkg/etc/conf
dr-xr-xr-x root/root 0 2010-02-25 10:54 ./ovpc/pkg/etc/conf/log.conf

Extrayendo los archivos usando dpkg -x

Usa dpkg -x para extraer los archivos desde un paquete Debian:

$ dpkg -x  ovpc_1.06.94-3_i386.deb /tmp/ov
$ ls /tmp/ov
ovpc

Los archivos DEB son archivos ar, los cuales siempre contienen los tres archivos, debian-binary, control.tar.gz, y data.tar.gz. Se puede usar los comandos ar y tar para extraer y ver los archivos de un paquete debian.

Primero extrae el contenido del *.deb usando el comando ar.

$ ar -vx ovpc_1.06.94-3_i386.deb
x - debian-binary
x - control.tar.gz
x - data.tar.gz
$

Luego extrae el contenido de data.tar.gz así:

$ tar -xvzf data.tar.gz
./
./ovpc/
./ovpc/pkg/
./ovpc/pkg/lib/
./ovpc/pkg/lib/header/
./ovpc/pkg/lib/header/libov.so
.
.
./ovpc/pkg/etc/conf
./ovpc/pkg/etc/conf/log.con