Pregunta: ¿Cómo veo o extraigo los archivos que se incluyen dentro de los paquetes de varios sistemas operativos? Por ejemplo, me gustaría saber cómo ver (y extraer) el contenido de un archivo rpm, deb, depot o msi .
Respuesta: Puede usar herramientas como rpm, rpm2cpio, ar, dpkg, tar, swlist, swcopy, lessmsi como se explica a continuación.
1. Paquete RPM en Redhat / CentOS / Fedora
Listar los archivos de un paquete RPM usando rpm -qlp
RPM significa administrador de paquetes de Red Hat. El siguiente ejemplo muestra cómo ver los archivos disponibles en un paquete RPM sin extraer ni instalar el paquete RPM.
$ 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 — consultar el archivo rpm
- l — enumera los archivos en el paquete
- p — especifica el nombre del paquete
Extracción de archivos de un paquete RPM usando rpm2cpio y cpio
RPM es una especie de archivo cpio. Primero, convierta el archivo rpm a cpio usando el comando rpm2cpio. Luego, use el comando cpio para extraer los archivos del archivo como se muestra a continuación.
$ 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. Paquete Deb en Debian
deb es la extensión del formato del paquete de software Debian. *.deb también se usa en otras distribuciones basadas en Debian. (por ejemplo:Ubuntu usa *.deb)
Listar los archivos de un paquete debian usando dpkg -c
dpkg es el administrador de paquetes de Debian. Entonces, usando el comando dpkg puede enumerar y extraer los paquetes, como se muestra a continuación.
Para ver el contenido del 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
Extracción de archivos de un paquete debian usando dpkg -x
Use dpkg -x para extraer los archivos de un paquete deb como se muestra a continuación.
$ dpkg -x ovpc_1.06.94-3_i386.deb /tmp/ov $ ls /tmp/ov ovpc
Los archivos DEB son archivos ar, que siempre contienen los tres archivos:debian-binary, control.tar.gz y data.tar.gz. Podemos usar el comando ar y el comando tar para extraer y ver los archivos del paquete deb, como se muestra a continuación.
Primero, extraiga el contenido del archivo de almacenamiento *.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 $
A continuación, extraiga el contenido del archivo data.tar.gz como se muestra a continuación.
$ 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
3. Paquete de almacén en HP-UX
Enumerar los archivos de un paquete de depósito usando tar y swlist
El archivo DEPOT es un archivo Depot del catálogo del distribuidor de software de HP-UX. Los depósitos de HP-UX son solo un archivo tar, con información adicional, como se muestra a continuación.
$ tar -tf ovcsw_3672.depot OcswServer/MGR/etc/ OcswServer/MGR/etc/opt/ OcswServer/MGR/etc/opt/OV/ OcswServer/MGR/etc/opt/OV/share/ OcswServer/MGR/etc/opt/OV/share/conf/ OcswServer/MGR/etc/opt/OV/share/conf/OpC/ OcswServer/MGR/etc/opt/OV/share/conf/OpC/opcctrlovw/
swlist es un comando de HP-UX que se utiliza para mostrar la información sobre el software. Vea el contenido del paquete de depósito como se muestra a continuación usando el comando swlist.
$ swlist -l file -s /root/ovcsw_3672.depot # Initializing... # Contacting target "osgsw"... # # Target: osgsw:/root/ovcsw_3672.depot # # OcswServer 8.50.000 Ocsw Server product # OcswServer.MGR 9.00.140 Ocs Server Ovw /etc /etc/opt /etc/opt/OV /etc/opt/OV/share /etc/opt/OV/share/conf /etc/opt/OV/share/conf/OpC
Extracción de archivos de un paquete de depósito mediante swcopy
El comando Swcopy copia o fusiona selecciones_de_software de una fuente de software a una o más selecciones_de_destino de almacén de software. Usando la opción de descompresión en swcopy, puede extraer los archivos de un paquete de software de depósito.
$ swcopy -x uncompress_files=true -x enforce_dependencies=false -s /root/ovcsw_3672.depot \* @ /root/extracted/ $ ls /root/extracted MGR catalog osmsw.log $
Dado que los archivos de almacén son archivos tar, puede extraerlos usando la extracción normal de tar como se muestra a continuación.
$ tar -xvf filename
4. MSI en Windows
El instalador de Microsoft es un motor para la instalación, mantenimiento y eliminación de software en sistemas Windows.
Listar los archivos de un paquete MSI usando lessmsi
La utilidad llamada lessmsi.exe se usa para ver los archivos de los paquetes msi sin instalar. La misma utilidad también se usa para extraer el paquete msi. Seleccione el msi en el que desea ver el contenido. lessmsi enumerará los archivos disponibles en msi.
Extracción de archivos de un paquete MSI usando msiexec
La herramienta Windows Installer (Msiexec.exe) se utiliza para extraer los archivos del paquete MSI. Puede abrir un paquete MSI en el modo de instalación "Administrador", donde puede extraer los archivos sin realizar la instalación como se muestra a continuación.
C:\>msiexec /a ovcsw_3672.msi /qb TARGETDIR="C:\ovcsw"