У меня есть rpm, и я хочу относиться к нему как к тарболу. Я хочу извлечь содержимое в каталог, чтобы я мог проверить содержимое. Я знаком с командами запроса неустановленного пакета. Я не просто хочу список содержимого rpm. т.е.
$ rpm -qpl foo.rpm
Я хочу проверить содержимое нескольких файлов, содержащихся в rpm. Я не хочу устанавливать RPM. Мне также известно о способности rpms вносить дополнительные изменения в разделы% post и как их проверять. т.е.
$ rpm -qp --scripts foo.rpm
Однако в этом случае это меня не касается.
linux
package
rpm
system-administration
Джефф Шеффилд
источник
источник
Для справки: аргументы cpio
Я нашел ответ здесь: ответ Lontar
источник
Для тех, у кого нет rpm2cpio, вот древний скрипт rpm2cpio.sh, который извлекает полезную нагрузку из пакета * .rpm.
Перемещено для потомков ... и следующего поколения.
Вызвать так: ./rpm2cpio.sh .rpm | cpio -dimv
источник
Иногда вы можете столкнуться с проблемой с промежуточным архивом RPM:
Это означает, что он может быть упакован, в наши дни это обычное сжатие LZMA2
xz
:в противном случае вы можете попробовать:
источник
rpm2cpio <file>.rpm | bsdtar -xf -
(без cpio), чтобы это работало.gunzip
вместоxz
илиlzma
который работал нормально.В большинстве дистрибутивов установлен файл-ролик приложения с графическим интерфейсом, который распаковывает tar, zip, rpm и многие другие.
Это позволит извлечь содержимое в текущем каталоге.
источник
7-zip понимает большинство видов архивов, включая rpm и включенный cpio.
источник
Вы можете просто сделать
tar -xvf <rpm file>
так же!источник
tar
который используетlibarchive
под капотом.bsdtar
. Homebrew на Mac ссылаетсяtar
на него по умолчанию, но в других ОСtar
означает GNU tar.Мощный текстовый файловый менеджер mc (Midnight Commander, смутно напоминающий Norton Commander о старых временах DOS) обладает встроенной возможностью проверки и распаковки файлов .rpm и .rpms, просто «открывая» файл .rpm (s) в mc и выберите
CONTENTS.cpio
: для rpm вы получаете доступ к дереву установки, для rpms вы получаете доступ к файлу .spec и всем исходным пакетам.источник
Для отладки / проверки вашего RPM я предлагаю использовать Redline, который является Java-программой
Использование :
Загрузить: https://github.com/craigwblake/redline/releases
источник
В NixOS есть
rpmextract
. Это обертка вокруг rpm2cpio, именно так, как хотел @Alan Evangelista. https://github.com/NixOS/nixpkgs/tree/master/pkgs/tools/archivers/rpmextractисточник
По крайней мере, в OpenSuse
unrpm
команда поставляется сbuild
пакетом.В подходящем каталоге (потому что это архивная бомба):
источник
Скопируйте файл .rpm в отдельную папку, затем выполните следующую команду $ yourfile.rpm | cpio -idmv
источник
Тест «DECOMPRESSION» не проходит на CygWin, одной из наиболее потенциально полезных платформ для него, из-за проверки «grep» для чувствительности к регистру «xz». Результат проверки «СЖАТИЕ:»:
Простая замена grep -q на grep -q -i везде, кажется, хорошо решает проблему.
Я сделал несколько обновлений, в частности добавил несколько комментариев и использовал «case» вместо сложенных «if» утверждений, и включил это исправление ниже
источник
7-Zip умеет извлекать содержимое. Он работает так же, как и файл tar.gz. Сжатый файл внутри сжатого файла.
В Windows 7 Pro с установленным 7-Zip:
Щелкните правой кнопкой мыши файл rpm. Наведите курсор мыши на 7-Zip в контекстном меню. Выберите извлечение в «имя файла».
Войдите в папку с именем файла.
Щелкните правой кнопкой мыши файл cpio. Наведите курсор мыши на 7-Zip в контекстном меню. Выберите извлечение в «имя файла».
Вы сделали. Папка с «filename» содержит извлеченное содержимое для проверки.
Я знаю, что вы, ребята из Linux, презираете, что все стало проще, но в конечном итоге, если вам придется потратить время на поиск решения простой проблемы, подобной этой; эта неэффективность стоит вам денег.
Учитывая тот факт, что вы, ребята из Linux, презираете эффективную простоту, я очень сомневаюсь, что версия 7-Zip для Linux будет делать то же самое точно так же.
Зачем делать это легко, если вы можете сделать глупость и заявить о себе как о гении одновременно?
Просто быть чистым; Я не фанат Windows. Я на самом деле смотрю на переход на Linux. Я просто не мог удержаться от возможности втирать в ваши лица то, что разработчики Windows считают здравым смыслом и лучшими практиками для разработчиков.
Просто будьте рады, что я это публикую, а рядом с вами нет Марка Хармона; Специальный агент Леруа Джетро Гиббс сделал бы тебе пощечину за то, что не использовал свою голову.
Я не знаю, какое правило Гиббса это, но правило таково: не усложняй себе дела, чем они должны быть.
Теперь мы увидим, кому нужно взять отпуск. Береги себя!
источник