Frage: Wie kann ich die Dateien anzeigen oder extrahieren, die in den Paketen verschiedener Betriebssysteme gebündelt sind? Zum Beispiel würde ich gerne wissen, wie man den Inhalt einer rpm-, deb-, depot- oder msi-Datei anzeigt (und extrahiert). .
Antwort: Sie können Tools wie rpm, rpm2cpio, ar, dpkg, tar, swlist, swcopy, lessmsi verwenden wie unten erklärt.
1. RPM-Paket in Redhat/CentOS/Fedora
Auflisten der Dateien aus einem RPM-Paket mit rpm -qlp
RPM steht für Red Hat Package Manager. Das folgende Beispiel zeigt, wie Sie die in einem RPM-Paket verfügbaren Dateien anzeigen können, ohne das RPM-Paket zu extrahieren oder zu installieren.
$ 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
Erläuterung des Befehls:rpm -qlp ovpc-2.1.10.rpm
- rpm — Befehl
- q — Abfrage der RPM-Datei
- l — listet die Dateien im Paket auf
- p — Geben Sie den Paketnamen an
Extrahieren der Dateien aus einem RPM-Paket mit rpm2cpio und cpio
RPM ist eine Art cpio-Archiv. Konvertieren Sie zuerst das RPM-Archiv mit dem Befehl rpm2cpio in ein cpio-Archiv. Verwenden Sie als Nächstes den cpio-Befehl, um die Dateien aus dem Archiv zu extrahieren, wie unten gezeigt.
$ 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-Paket in Debian
deb ist die Erweiterung des Debian-Softwarepaketformats. *.deb wird auch in anderen Distributionen verwendet, die auf Debian basieren. (zum Beispiel:Ubuntu verwendet *.deb)
Auflisten der Dateien aus einem Debian-Paket mit dpkg -c
dpkg ist der Paketmanager für Debian. Mit dem Befehl dpkg können Sie also die Pakete auflisten und extrahieren, wie unten gezeigt.
So zeigen Sie den Inhalt der *.deb-Datei an:
$ 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
Extrahieren der Dateien aus einem Debian-Paket mit dpkg -x
Verwenden Sie dpkg -x, um die Dateien wie unten gezeigt aus einem deb-Paket zu extrahieren.
$ dpkg -x ovpc_1.06.94-3_i386.deb /tmp/ov $ ls /tmp/ov ovpc
DEB-Dateien sind ar-Archive, die immer die drei Dateien enthalten — debian-binary, control.tar.gz und data.tar.gz. Wir können die Befehle ar und tar verwenden, um die Dateien aus dem deb-Paket zu extrahieren und anzuzeigen, wie unten gezeigt.
Extrahieren Sie zuerst den Inhalt der *.deb-Archivdatei mit dem Befehl ar.
$ ar -vx ovpc_1.06.94-3_i386.deb x - debian-binary x - control.tar.gz x - data.tar.gz $
Extrahieren Sie als Nächstes den Inhalt der Datei data.tar.gz wie unten gezeigt.
$ 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. Depotpaket in HP-UX
Auflisten der Dateien aus einem Depotpaket mit tar und swlist
Die DEPOT-Datei ist eine HP-UX Software Distributor Catalog Depot-Datei. HP-UX-Depots sind nur eine TAR-Datei mit einigen zusätzlichen Informationen, wie unten gezeigt.
$ 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 ist ein HP-UX Befehl, der verwendet wird, um die Informationen über die Software anzuzeigen. Zeigen Sie den Inhalt des Depotpakets wie unten gezeigt mit dem Befehl swlist an.
$ 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
Extrahieren der Dateien aus einem Depotpaket mit swcopy
Der Befehl Swcopy kopiert software_selections aus einer Softwarequelle in ein oder mehrere Zielauswahlen des Softwaredepots oder führt sie zusammen. Mit der Dekomprimierungsoption in swcopy können Sie die Dateien aus einem Depot-Softwarepaket extrahieren.
$ swcopy -x uncompress_files=true -x enforce_dependencies=false -s /root/ovcsw_3672.depot \* @ /root/extracted/ $ ls /root/extracted MGR catalog osmsw.log $
Da Depotdateien tar-Dateien sind, können Sie wie unten gezeigt mit der normalen tar-Extraktion extrahieren.
$ tar -xvf filename
4. MSI unter Windows
Microsoft Installer ist eine Engine für die Installation, Wartung und Entfernung von Software auf Windows-Systemen.
Auflisten der Dateien aus einem MSI-Paket mit lessmsi
Das Dienstprogramm namens lessmsi.exe wird verwendet, um die Dateien aus den MSI-Paketen ohne Installation anzuzeigen. Das gleiche Dienstprogramm wird auch zum Extrahieren des MSI-Pakets verwendet. Wählen Sie die MSI-Datei aus, deren Inhalt Sie anzeigen möchten. lessmsi listet die in msi verfügbaren Dateien auf.
Extrahieren der Dateien aus einem MSI-Paket mit msiexec
Windows Installer Tool (Msiexec.exe) wird verwendet, um die Dateien aus dem MSI-Paket zu extrahieren. Es kann ein MSI-Paket im „Administrator“-Installationsmodus öffnen, wo es die Dateien extrahieren kann, ohne die Installation wie unten gezeigt durchzuführen.
C:\>msiexec /a ovcsw_3672.msi /qb TARGETDIR="C:\ovcsw"