GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So zeigen Sie Dateien aus RPM-, DEB-, Depot- und MSI-Paketen an und extrahieren sie

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"

Linux
  1. So extrahieren Sie Dateien aus dem Debian-Paketarchiv DEB

  2. So fragen Sie Dateien, Pakete und Repositories in Linux ab

  3. So extrahieren Sie .gz- und .tar.gz-Dateien unter Linux

  4. Wie verschiebt man Dateien und zeigt den Fortschritt an (z. B. mit einem Fortschrittsbalken)?

  5. So extrahieren Sie das RPM-Paket, ohne es zu installieren

So laden und extrahieren Sie Tar-Dateien mit einem Befehl

Wie man Pakete zwischen .deb und .rpm konvertiert

So installieren und verwalten Sie Pakete auf CentOS mit RPM

So installieren Sie RPM-Pakete unter CentOS 8

So erstellen Sie ein RPM-Paket aus einem Tarball

So installieren und verwalten Sie RPM-Pakete auf einem Ubuntu/Debian-System