Как извлечь файл RPM?

32

У меня RPM-файл, из которого я хочу проверить его содержимое. Для .debпакетов я могу использовать его dpkg -x file.debдля извлечения.

Какая эквивалентная команда для .rpmфайла? Я ищу приложение командной строки.

Lekensteyn
источник

Ответы:

45

file-rollerкажется, открытыми обороты файлов. В качестве альтернативы вы можете использовать команду:

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

это извлечет содержимое rpm в текущий каталог.

enzotib
источник
Спасибо, только что наткнулся на это:rpm2cpio file.rpm | cpio --extract --make-directories
Лекенштейн
5

Насколько я помню, вы должны использовать приложение под названием Alien, которое преобразует .rpm в файлы deb. Используйте терминал для:

sudo apt-get install alien

тогда

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

Если вам нужно проверить это, вы можете прибегнуть к методу dpkg -x file.deb

andybleaden
источник
rpm2cpioКажется, работает нормально, поэтому я не пробовал этот.
Lekensteyn
1
у этого есть недостаток создания .deb сначала.
энзотиб
3

Установите 7z:

apt install p7zip-full

и извлечь:

7z x /path/to/file.rpm 
7z x /path/to/file.cpio -o/path/to/extract/folder/
Павел П.
источник
К сожалению, 7z не знает о правах доступа к файлам, и для пакетов rpm, которые содержат исполняемые файлы (то есть большинство из них), это может быть проблемой.
Wug
1

Вы также можете использовать иностранец только для извлечения файлов (которые он называет «генерировать дерево сборки»)

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

Вы получите 2 dirs- <package>, и <package>.orig, который является необработанным извлечением из об / мин.

Randall
источник