6

У меня есть RPM, для которого мне нужно изменить предустановленный скриптлет для тестирования.

Однако у меня нет SRPM, из которого он был построен.

Можно ли изменить скриптлет и / или пересобрать rpm без SRPM?

Если так, то как?

Я пытался использовать Midnight Commander (mc), чтобы открыть rpm в качестве структуры каталогов и отредактировать содержимое, но даже с 666 разрешениями он не позволит мне сохранить какие-либо изменения.

1 ответ1

22

Что нужно, так это rpmrebuild, который я нашел в статье в Red Hat Magazine.

Если у вас есть rpm, для которого вы хотите изменить только spec-файл, сделайте следующее:

  1. скопируйте соответствующий rpm в рабочий каталог
  2. запустите rpmrebuild -e -p <pkg>rpm (это откроет ваш редактор по умолчанию (обычно vi|vim если вы не внесли никаких изменений в ваш дистрибутив на основе rpm), что позволит вам внести изменения в файл спецификации)
  3. найдите строки, которые вы хотите изменить
  4. вносить изменения
  5. сохранить и выйти из вашего редактора (Esc : w q !в vi[m] , Ctrl- x s в emacs)
  6. rpmrebuild спросит, хотите ли вы продолжить
  7. ответь "да"
  8. восстановленный пакет будет показан в /usr/src/redhat/RPMS/<arch>/<pkg>.rpm

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .