Extração dos pacotes RPM


Use o comando rpm2cpio para extrair arquivos de um arquivo de pacote RPM sem instalar o pacote.

O comando rpm2cpio converte um pacote RPM em um arquivo cpio. Depois que o pacote RPM for convertido em um arquivo cpio, o comando cpio poderá extrair uma lista de arquivos.

Use o comando cpio com a opção -i para extrair arquivos de uma entrada padrão. Use a opção -d cria subdiretórios conforme necessário e começando pelo diretório de trabalho atual. Use a opção -v para obter uma saída detalhada.

[user@host tmp-extract]$ rpm2cpio httpd-2.4.51-7.el9_0.x86_64.rpm | cpio -idv
./etc/httpd/conf
./etc/httpd/conf.d/autoindex.conf
./etc/httpd/conf.d/userdir.conf
./etc/httpd/conf.d/welcome.conf
./etc/httpd/conf.modules.d
./etc/httpd/conf.modules.d/00-base.conf
./etc/httpd/conf.modules.d/00-dav.conf
./etc/httpd/conf.modules.d/00-mpm.conf
./etc/httpd/conf.modules.d/00-optional.conf
./etc/httpd/conf.modules.d/00-proxy.conf
./etc/httpd/conf.modules.d/00-systemd.conf
./etc/httpd/conf.modules.d/01-cgi.conf
./etc/httpd/conf.modules.d/README
./etc/httpd/conf/httpd.conf
...output omitted...
9774 blocks
[user@host tmp-extract]$ ls -l
total 1552
drwxr-xr-x. 5 user user       55 Feb  3 15:06 etc
-rw-r--r--. 1 user user  1588633 Feb  3 15:06 httpd-2.4.51-7.el9_0.x86_64.rpm
drwxr-xr-x. 3 user user       19 Feb  3 15:06 run
drwxr-xr-x. 7 user user       70 Feb  3 15:06 usr
drwxr-xr-x. 5 user user       41 Feb  3 15:06 var

Extraia arquivos individuais ao especificar o caminho do arquivo:

[user@host ~]$ rpm2cpio httpd-2.4.51-7.el9_0.x86_64.rpm | cpio -id "*/etc/httpd/conf/httpd.conf"
9774 blocks
[user@host ~]$ ls etc/httpd/conf/
httpd.conf

Use os comandos rpm2cpio e cpio -t para listar os arquivos em um pacote RPM. Use a opção -v do comando cpio para obter uma saída detalhada.

[student@servera ~]$ rpm2cpio httpd-2.4.51-7.el9_0.x86_64.rpm | cpio -tv
drwxr-xr-x   1 root     root            0 Mar 21  2022 ./etc/httpd/conf
-rw-r--r--   1 root     root         2893 Mar 21  2022 ./etc/httpd/conf.d/autoindex.conf
-rw-r--r--   1 root     root         1252 Mar 21  2022 ./etc/httpd/conf.d/userdir.conf
-rw-r--r--   1 root     root          653 Mar 21  2022 ./etc/httpd/conf.d/welcome.conf
drwxr-xr-x   1 root     root            0 Mar 21  2022 ./etc/httpd/conf.modules.d
-rw-r--r--   1 root     root         3372 Mar 21  2022 ./etc/httpd/conf.modules.d/00-base.conf
-rw-r--r--   1 root     root          139 Mar 21  2022 ./etc/httpd/conf.modules.d/00-dav.conf
-rw-r--r--   1 root     root          948 Mar 21  2022 ./etc/httpd/conf.modules.d/00-mpm.conf
-rw-r--r--   1 root     root          787 Mar 21  2022 ./etc/httpd/conf.modules.d/00-optional.conf
-rw-r--r--   1 root     root         1073 Mar 21  2022 ./etc/httpd/conf.modules.d/00-proxy.conf
-rw-r--r--   1 root     root           88 Mar 21  2022 ./etc/httpd/conf.modules.d/00-systemd.conf
-rw-r--r--   1 root     root          367 Mar 21  2022 ./etc/httpd/conf.modules.d/01-cgi.conf
-rw-r--r--   1 root     root          496 Mar 21  2022 ./etc/httpd/conf.modules.d/README
-rw-r--r--   1 root     root        12005 Mar 21  2022 ./etc/httpd/conf/httpd.conf
...output omitted...
9774 blocks

Referências