Как просматривать и извлекать файлы из пакетов rpm, deb, depot и msi

Мы предоставляем услуги удаленного администрирования серверов

Как просматривать и извлекать файлы из пакетов rpm, deb, depot и msi

Поделиться

Вопрос: Как мне просмотреть или извлечь файлы, которые связаны внутри пакетов различных операционных систем. Например, я хотел бы знать, как просматривать (и извлекать) содержимое файла rpm, deb, depot или msi .

Ответ: Вы можете использовать такие инструменты, как rpm, rpm2cpio, ar, dpkg, tar, swlist, swcopy, lessmsi, как описано ниже.

1. RPM-пакет в Redhat / CentOS / Fedora

Вывод списка файлов из пакета RPM с использованием rpm -qlp

RPM означает менеджер пакетов Red Hat. В следующем примере показано, как просмотреть файлы, доступные в пакете RPM, без извлечения или установки пакета 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

Объяснение команды: rpm -qlp ovpc-2.1.10.rpm

  • rpm — команда
  • q — запросить файл rpm
  • l — список файлов в пакете
  • p — указать название пакета

Извлечение файлов из пакета RPM с использованием rpm2cpio и cpio

RPM — это своего рода архив cpio. Сначала преобразуйте rpm в архив cpio с помощью команды rpm2cpio. Затем используйте команду cpio для извлечения файлов из архива, как показано ниже.

$ 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 в Debian

deb — это расширение формата программного пакета Debian. * .deb также используется в других дистрибутивах, основанных на Debian. (например: Ubuntu использует * .deb)

Вывод списка файлов из пакета debian с использованием dpkg -c

dpkg — менеджер пакетов для Debian. Таким образом, используя команду dpkg, вы можете получить список и извлечь пакеты, как показано ниже.

Для просмотра содержимого файла * .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

Извлечение файлов из пакета debian с помощью dpkg -x

Используйте dpkg -x для извлечения файлов из пакета deb, как показано ниже.

$ dpkg -x  ovpc_1.06.94-3_i386.deb /tmp/ov
$ ls /tmp/ov
ovpc

DEB-файлы — это архивные архивы, которые всегда содержат три файла: debian-binary, control.tar.gz и data.tar.gz. Мы можем использовать команды ar и tar для извлечения и просмотра файлов из пакета deb, как показано ниже.

Сначала извлеките содержимое файла архива * .deb с помощью команды ar.

$ ar -vx ovpc_1.06.94-3_i386.deb
x - debian-binary
x - control.tar.gz
x - data.tar.gz
$

Затем извлеките содержимое файла data.tar.gz, как показано ниже.

$ 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. Складской пакет в HP-UX

Вывод списка файлов из депо-пакета с использованием tar и swlist

Файл DEPOT представляет собой файл депо каталога распространителя программного обеспечения HP-UX. Склады HP-UX — это просто tar-файл с некоторой дополнительной информацией, как показано ниже.

$ 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 — это команда HP-UX, которая используется для отображения информации о программном обеспечении. Просмотрите содержимое пакета депо, как показано ниже, используя команду 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

Извлечение файлов из пакета депо с помощью swcopy

Команда Swcopy копирует или объединяет software_selections из программного источника в один или несколько программных хранилищ target_selections. Используя опцию uncompress в swcopy, вы можете извлечь файлы из программного пакета депо.

$ swcopy -x uncompress_files=true -x enforce_dependencies=false -s /root/ovcsw_3672.depot \* @ /root/extracted/
$ ls /root/extracted
MGR	catalog	 osmsw.log
$

Поскольку депо файлы tar-файлов, вы можете извлечь, используя обычное извлечение tar, как показано ниже.

 $ tar -xvf filename

4. MSI в Windows

Установщик Microsoft — это механизм установки, обслуживания и удаления программного обеспечения в системах Windows.

Вывод списка файлов из пакета MSI с использованием lessmsi

Утилита под названием lessmsi.exe используется для просмотра файлов из MSI-пакетов без установки. Эта же утилита также используется для извлечения пакета MSI. Выберите MSI, который вы хотите просмотреть содержимое. Lessmsi перечислит файлы, доступные в MSI.

Извлечение файлов из пакета MSI с помощью msiexec

Средство установки Windows (Msiexec.exe) используется для извлечения файлов из пакета MSI. Он может открыть пакет MSI в режиме установки «Администратор», где он может извлечь файлы без выполнения установки, как показано ниже.

C:\>msiexec /a ovcsw_3672.msi /qb TARGETDIR="C:\ovcsw"
 2019-2020 © linuxadmins all rights reserved

Facebook Twitter Vkontakte