Como extrair arquivos do arquivo de pacote RPM

Como extrair arquivos do arquivo de pacote RPM

Este pequeno artigo mostrará como extrair um único ou vários arquivos de um arquivo de pacote de RPM. Para começar, primeiro baixamos um pacote de amostra olá.

$ wget ftp: // rpmfind.net/linux/openSUSE/fábrica/repo/oss/suse/x86_64/hello-2.9-4.3.x86_64.RPM $ LS Hello-2.9-4.3.x86_64.RPM 

Agora temos uma opção Extrair todo ou um único arquivo do arquivo de pacote RPM acima. O comando Linux a seguir extrairá todo o arquivo para o nosso diretório de trabalho atual:

$ rpm2cpio hello-2.9-4.3.x86_64.rpm | cpio -id 525 blocos $ ls hello -2.9-4.3.x86_64.RPM USR 

O de cima RPM2CPIO primeiro converte o rpm em arquivo cpio. Então passamos seu stdout para um CPIO comando que o leva como uma entrada e extrai seu conteúdo -eu em diretórios apropriados -d. Como resultado USR o diretório agora contém todos os arquivos extraídos do Olá-2.9-4.3.x86_64.RPM Arquivo de pacote RPM.

Como alternativa, podemos extrair um arquivo único/selecionado do arquivo de pacote RPM. Para fazer isso, primeiro precisamos listar um conteúdo do pacote RPM sem extrair seu conteúdo. O comando bellow apenas listará um conteúdo do pacote RPM Olá-2.9-4.3.x86_64.RPM

$ rpm -lqp hello -2.9-4.3.x86_64.RPM Aviso: Olá-2.9-4.3.x86_64.RPM: Cabeçalho V3 RSA/SHA256 Assinatura, ID da chave 3dbdc284: Nokey/usr/bin/hello/usr/share/doc/packages/hello/usr/share/doc/packages/hello/about-nls/usr/usr/doc. /packages/hello/copying/usr/share/doc/packages/hello/news/usr/share/doc/packages/hello/readme/usr/share/doc/packages/hello/obrigado/usr/share/doc/packages /hello/tdo/usr/share/info/hello.informações.gz/usr/share/loce/bg/lc_messages/hello.mo/usr/share/loce/ca/lc_messages/hello.mo/usr/share/loce/da/lc_messages/hello.mo/usr/share/loce/de/lc_messages/hello.mo/usr/share/loce/el/lc_messages/hello.mo/usr/share/loce/eo/lc_messages/hello.mo/usr/share/loce/es/lc_messages/hello.mo/usr/share/loce/et/lc_messages/hello.mo/usr/share/loce/eu/lc_messages/hello.mo/usr/share/loce/fa/lc_messages/hello.mo/usr/share/loce/fi/lc_messages/hello.mo/usr/share/loce/fr/lc_messages/hello.mo/usr/share/loce/ga/lc_messages/hello.mo/usr/share/loce/gl/lc_messages/hello.mo/usr/share/loce/he/lc_messages/hello.mo/usr/share/loce/hr/lc_messages/hello.mo/usr/share/loce/hu/lc_messages/hello.mo/usr/share/loce/id/lc_messages/hello.mo/usr/share/loce/it/lc_messages/hello.mo/usr/share/loce/ja/lc_messages/hello.mo/usr/share/loce/ko/lc_messages/hello.mo/usr/share/loce/lv/lc_messages/hello.mo/usr/share/loce/nb/lc_messages/hello.mo/usr/share/loce/nl/lc_messages/hello.mo/usr/share/loce/nn/lc_messages/hello.mo/usr/share/loce/pl/lc_messages/hello.mo/usr/share/loce/pt/lc_messages/hello.mo/usr/share/loce/pt_br/lc_messages/hello.mo/usr/share/loce/ro/lc_messages/hello.mo/usr/share/loce/ru/lc_messages/hello.mo/usr/share/loce/sk/lc_messages/hello.mo/usr/share/loce/sl/lc_messages/hello.mo/usr/share/loce/sr/lc_messages/hello.mo/usr/share/loce/sv/lc_messages/hello.mo/usr/share/loce/th/lc_messages/hello.mo/usr/share/loce/tr/lc_messages/hello.mo/usr/share/loce/uk/lc_messages/hello.mo/usr/share/loce/vi/lc_messages/hello.mo/usr/share/loce/zh_cn/lc_messages/hello.mo/usr/share/loce/zh_tw/lc_messages/hello.mo/usr/share/man/man1/olá.1.gz 

Use o seguinte comando linux para extrair um único arquivo /usr/bin/olá do pacote RPM e salvá -lo em EG. /tmp/ diretório:

$ rpm2cpio hello-2.9-4.3.x86_64.rpm | CPIO -IV - -TO -STDOUT ./usr/bin/hello>/tmp/hello 

Tudo feito o olá O executável binário foi salvo em /tmp/ diretório:

$ chmod +x /tmp /hello $ /tmp /hello hello, mundo! 

Tutoriais do Linux relacionados:

  • Download do arquivo wget no Linux
  • Como se conectar a um servidor FTP usando o Python
  • Configurar servidor FTP no Linux
  • Lista de clientes FTP e instalação no Ubuntu 20.04 Linux…
  • Lista de clientes FTP e instalação no Ubuntu 22.04 Linux…
  • Como criar e extrair arquivos do CPIO em exemplos de Linux
  • Como configurar o servidor e o cliente FTP/SFTP no Almalinux
  • Coisas para instalar no Ubuntu 20.04
  • Tutorial do LFTP sobre Linux com exemplos
  • Como instalar o Vscode de código aberto sem telemetria no Linux