Як витягти файл RPM?


32

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

Що таке еквівалентна команда для .rpmфайлу? Я шукаю додаток для командного рядка.

Відповіді:


45

file-rollerздається, відкриває файли rpm . Можна також скористатися командою:

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

який буде витягувати вміст rpm в поточний каталог.


Дякую, я щойно натрапив на це:rpm2cpio file.rpm | cpio --extract --make-directories
Lekensteyn

5

Наскільки я пам'ятаю, ви повинні використовувати додаток під назвою інопланетянин, який перетворює .rpm для дебюрування файлів. Використовуйте термінал, щоб зробити:

sudo apt-get install alien

потім

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

Якщо вам потрібно вивчити це, ви можете вдатися до методу dpkg -x file.deb


rpm2cpioздається, працює добре, тому я не пробував цього.
Лекенштейн

1
це має недолік створення спочатку .deb.
enzotib

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, які містять виконувані файли (тобто більшість з них), це може бути проблемою.
Вуг

1

Ви також можете використовувати інопланетянин лише для вилучення файлів (які він називає "генерувати дерево збірки")

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

Ви отримаєте 2 дрі - <package>і <package>.orig, що є видобутком сировини з оборотів в хвилину.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.