Como extrair o RPM do banco de dados RPM no RedHat

8

Existe uma maneira de extrair um RPM instalado de um banco de dados RPM no RedHat Linux para reproduzir o arquivo .rpm original?

    
por John in MD 10.10.2008 / 14:45

2 respostas

7

Se você quiser salvar uma cópia do pacote como atualmente instalado antes de atualizá-lo ou removê-lo, use rpm --repackage - ele salvará os RPMs em / var / tmp ou / var / spool / repackage ou em outro lugar, dependendo na sua configuração.

Caso contrário, existe rpmrebuild , que faz exatamente o que você pede.

Palavra de cautela: com nenhuma dessas ferramentas você obtém exatamente o mesmo *.rpm do que você começou. Quaisquer alterações nos arquivos instalados pertencentes ao pacote estarão nos RPMs gerados.

    
por 10.10.2008 / 16:32
1

Produzir o arquivo rpm original não é possível, ele foi extraído e possivelmente descartado. O banco de dados rpm contém informações sobre quais arquivos estão instalados e suas somas de verificação, permissões e scripts postinst:

# verify package contents
rpm -q packagename --verify
# read the scripts that run on installation and removal
rpm -q packagename --scripts

lhe dará algumas informações.

Se você deseja obter um rpm do repositório, recomendo usar o yumdownloader, do pacote yum-utils.

yum install yum-utils
yumdownloader packagename

Isso fará o download do rpm mais recente, não o que está instalado atualmente.

    
por 10.10.2008 / 15:02