Como extraio um arquivo RPM?

32

Eu tenho um arquivo RPM, do qual desejo examinar seu conteúdo. Para .debpacotes, eu posso usar dpkg -x file.debpara extraí-lo.

Qual é o comando equivalente para um .rpmarquivo? Estou procurando um aplicativo de linha de comando.

Lekensteyn
fonte

Respostas:

45

file-rollerparece abrir arquivos rpm . Como alternativa, você pode usar o comando:

$ sudo apt-get install rpm2cpio
$ rpm2cpio /path/to/file.rpm | cpio -i --make-directories

que extrairá o conteúdo rpm para o diretório atual.

enzotib
fonte
Obrigado, acabei de encontrar:rpm2cpio file.rpm | cpio --extract --make-directories
Lekensteyn 07/07
5

Tanto quanto me lembro, você tem que usar um aplicativo chamado alien que transforma .rpm em arquivos deb. Use um terminal para fazer:

sudo apt-get install alien

então

sudo alien -d nameofyourpackage.rpm (-d for Debian package)

Se você precisar examiná-lo, poderá recorrer ao método dpkg -x file.deb

andybleaden
fonte
rpm2cpioparece funcionar bem, então eu não tentei este.
Lekensteyn 07/07
1
isso tem a desvantagem de criar um .deb primeiro.
enzotib 07/07
3

Instale 7z:

apt install p7zip-full

e extrair:

7z x /path/to/file.rpm 
7z x /path/to/file.cpio -o/path/to/extract/folder/
Pavel P.
fonte
Infelizmente, o 7z não está ciente das permissões de arquivo e, para pacotes rpm que contêm executáveis ​​(ou seja, a maioria deles), isso pode ser um problema.
Wug 21/10
1

Você também pode usar o alien para extrair apenas os arquivos (que ele chama de "gerar uma árvore de construção")

alien --scripts --generate <package.rpm>

Você receberá 2 dirs - <package>, e <package>.orig, que é a extração bruta das rpm.

Randall
fonte