Otázka: Jak zobrazím nebo extrahuji soubory, které jsou součástí balíčků různých operačních systémů. Chtěl bych například vědět, jak zobrazit (a extrahovat) obsah souboru rpm, deb, depot nebo msi .
Odpověď: Můžete použít nástroje jako rpm, rpm2cpio, ar, dpkg, tar, swlist, swcopy, lessmsi jak je vysvětleno níže.
1. RPM balíček v Redhat / CentOS / Fedora
Výpis souborů z balíčku RPM pomocí rpm -qlp
RPM je zkratka pro správce balíčků Red Hat. Následující příklad ukazuje, jak zobrazit soubory dostupné v balíčku RPM bez rozbalování nebo instalace balíčku 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
Vysvětlení příkazu:rpm -qlp ovpc-2.1.10.rpm
- rpm — příkaz
- q – dotaz na soubor rpm
- l — seznam souborů v balíčku
- p – zadejte název balíčku
Extrahování souborů z balíčku RPM pomocí rpm2cpio a cpio
RPM je jakýsi cpio archiv. Nejprve převeďte rpm na archiv cpio pomocí příkazu rpm2cpio. Dále použijte příkaz cpio k extrahování souborů z archivu, jak je znázorněno níže.
$ 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. Deb balíček v Debianu
deb je rozšíření formátu softwarových balíčků Debian. *.deb se také používá v jiných distribucích, které jsou založeny na Debianu. (například:Ubuntu používá *.deb)
Výpis souborů z balíčku debianu pomocí dpkg -c
dpkg je správce balíčků pro debian. Takže pomocí příkazu dpkg můžete vypsat a extrahovat balíčky, jak je ukázáno níže.
Zobrazení obsahu souboru *.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
Extrahování souborů z balíčku debianu pomocí dpkg -x
Použijte dpkg -x k extrahování souborů z deb balíčku, jak je ukázáno níže.
$ dpkg -x ovpc_1.06.94-3_i386.deb /tmp/ov $ ls /tmp/ov ovpc
Soubory DEB jsou archivy ar, které vždy obsahují tři soubory — debian-binary, control.tar.gz a data.tar.gz. Můžeme použít příkaz ar a příkaz tar k extrahování a zobrazení souborů z balíčku deb, jak je uvedeno níže.
Nejprve extrahujte obsah archivního souboru *.deb pomocí příkazu ar.
$ ar -vx ovpc_1.06.94-3_i386.deb x - debian-binary x - control.tar.gz x - data.tar.gz $
Dále extrahujte obsah souboru data.tar.gz, jak je znázorněno níže.
$ 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. Depotní balíček v HP-UX
Výpis souborů z depotního balíčku pomocí tar a swlist
Soubor DEPOT je soubor HP-UX Software Distributor Catalog Depot. Depoty HP-UX jsou pouze soubor tar s některými dalšími informacemi, jak je uvedeno níže.
$ 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 je příkaz HP-UX, který se používá k zobrazení informací o softwaru. Prohlédněte si obsah depotního balíčku, jak je ukázáno níže, pomocí příkazu 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
Extrahování souborů z depotního balíčku pomocí swcopy
Příkaz Swcopy zkopíruje nebo sloučí software_selections ze zdroje softwaru do jednoho nebo více softwarových depot target_selections. Pomocí možnosti dekomprimovat ve swcopy můžete extrahovat soubory ze softwarového balíčku úložiště.
$ swcopy -x uncompress_files=true -x enforce_dependencies=false -s /root/ovcsw_3672.depot \* @ /root/extracted/ $ ls /root/extracted MGR catalog osmsw.log $
Protože depotní soubory tar soubory, můžete extrahovat pomocí normální tar extrakce, jak je uvedeno níže.
$ tar -xvf filename
4. MSI ve Windows
Instalační program společnosti Microsoft je nástroj pro instalaci, údržbu a odebrání softwaru v systémech Windows.
Výpis souborů z balíčku MSI pomocí lessmsi
Nástroj s názvem lessmsi.exe se používá k prohlížení souborů z balíčků msi bez instalace. Stejný nástroj se také používá k extrahování balíčku msi. Vyberte msi, ve kterém chcete zobrazit obsah. lessmsi zobrazí seznam souborů dostupných v msi.
Extrahování souborů z balíčku MSI pomocí msiexec
Nástroj Windows Installer Tool (Msiexec.exe) se používá k extrahování souborů z balíčku MSI. Může otevřít balíček MSI v instalačním režimu „Administrator“, kde může extrahovat soubory bez provedení instalace, jak je uvedeno níže.
C:\>msiexec /a ovcsw_3672.msi /qb TARGETDIR="C:\ovcsw"