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


32

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

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

Ответы:


45

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

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

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


Спасибо, только что наткнулся на это: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


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, который является необработанным извлечением из об / мин.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.