Domanda: Come posso visualizzare o estrarre i file che sono raggruppati all'interno dei pacchetti di vari sistemi operativi. Ad esempio, vorrei sapere come visualizzare (ed estrarre) il contenuto di un file rpm, o deb, o depot, o msi .
Risposta: Puoi utilizzare strumenti come rpm, rpm2cpio, ar, dpkg, tar, swlist, swcopy, lessmsi come spiegato di seguito.
1. Pacchetto RPM in Redhat / CentOS / Fedora
Elencare i file da un pacchetto RPM usando rpm -qlp
RPM sta per Red Hat Package Manager. L'esempio seguente mostra come visualizzare i file disponibili in un pacchetto RPM senza estrarre o installare il pacchetto 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
Spiegazione del comando:rpm -qlp ovpc-2.1.10.rpm
- rpm — comando
- q — interroga il file rpm
- l — elenca i file nel pacchetto
- p — specifica il nome del pacchetto
Estrazione dei file da un pacchetto RPM utilizzando rpm2cpio e cpio
RPM è una sorta di archivio cpio. Innanzitutto, converti l'archivio rpm in cpio usando il comando rpm2cpio. Quindi, usa il comando cpio per estrarre i file dall'archivio come mostrato di seguito.
$ 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. Pacchetto Deb in Debian
deb è l'estensione del formato del pacchetto software Debian. *.deb è utilizzato anche in altre distribuzioni basate su Debian. (ad esempio:Ubuntu usa *.deb)
Elencare i file da un pacchetto debian usando dpkg -c
dpkg è il gestore di pacchetti per debian. Quindi usando il comando dpkg puoi elencare ed estrarre i pacchetti, come mostrato di seguito.
Per visualizzare il contenuto del file *.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
Estrarre i file da un pacchetto debian usando dpkg -x
Usa dpkg -x per estrarre i file da un pacchetto deb come mostrato di seguito.
$ dpkg -x ovpc_1.06.94-3_i386.deb /tmp/ov $ ls /tmp/ov ovpc
I file DEB sono archivi ar, che contengono sempre i tre file:debian-binary, control.tar.gz e data.tar.gz. Possiamo usare il comando ar e il comando tar per estrarre e visualizzare i file dal pacchetto deb, come mostrato di seguito.
Per prima cosa, estrai il contenuto del file di archivio *.deb usando il comando ar.
$ ar -vx ovpc_1.06.94-3_i386.deb x - debian-binary x - control.tar.gz x - data.tar.gz $
Quindi, estrai il contenuto del file data.tar.gz come mostrato di seguito.
$ 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. Pacchetto Depot in HP-UX
Elencare i file da un pacchetto depot usando tar e swlist
Il file DEPOT è un file HP-UX Software Distributor Catalog Depot. I depot HP-UX sono solo un file tar, con alcune informazioni aggiuntive come mostrato di seguito.
$ 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 è un comando HP-UX che viene utilizzato per visualizzare le informazioni sul software. Visualizza il contenuto del pacchetto depot come mostrato di seguito utilizzando il 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
Estrazione dei file da un pacchetto depot utilizzando swcopy
Il comando Swcopy copia o unisce software_selections da un'origine software a uno o più depot software target_selections. Usando l'opzione decomprimi in swcopy, puoi estrarre i file da un pacchetto software depot.
$ swcopy -x uncompress_files=true -x enforce_dependencies=false -s /root/ovcsw_3672.depot \* @ /root/extracted/ $ ls /root/extracted MGR catalog osmsw.log $
Poiché depot file tar, puoi estrarre utilizzando la normale estrazione tar come mostrato di seguito.
$ tar -xvf filename
4. MSI in Windows
Il programma di installazione Microsoft è un motore per l'installazione, la manutenzione e la rimozione di software sui sistemi Windows.
Elencare i file da un pacchetto MSI utilizzando lessmsi
L'utilità denominata lessmsi.exe viene utilizzata per visualizzare i file dai pacchetti msi senza l'installazione. La stessa utilità viene utilizzata anche per estrarre il pacchetto msi. Seleziona l'msi di cui desideri visualizzare il contenuto. lessmsi elencherà i file disponibili in msi.
Estrazione dei file da un pacchetto MSI utilizzando msiexec
Lo strumento di installazione di Windows (Msiexec.exe) viene utilizzato per estrarre i file dal pacchetto MSI. Può aprire un pacchetto MSI in modalità di installazione "Amministratore", dove può estrarre i file senza eseguire l'installazione come mostrato di seguito.
C:\>msiexec /a ovcsw_3672.msi /qb TARGETDIR="C:\ovcsw"