Как я могу изменить существующий файл RPM для установки в системе Fedora 11

392
B. SAUNDERS

У меня есть RPM, который мы устанавливаем на наших производственных системах, и я хотел бы изменить его, чтобы установщик ОС не вносил никаких изменений в систему после установки. Дистрибутив довольно старый (и, к сожалению, мы не можем обновить его до более нового) - Fedora 11.

Есть ли способ для меня, чтобы иметь возможность распаковать RPM, изменить файл, а затем перепаковать его?

Другие решения, которые я видел, ссылаются на утилиты «mock» и «mc», которых у меня нет.

0
Fedora 11 спустя 7 лет после [EOL] (http://fedoraproject.org/wiki/End_of_life). Обновление до чего-то актуального, чтобы получить некоторую поддержку. Jakuje 6 лет назад 2

1 ответ на вопрос

0
Knud Larsen

Если пакет rpm, который вы хотите распаковать, предназначен для Fedora 11 или старше, Fedora 11 может извлечь файл, например unPack_rpm.sh:

#!/bin/bash # Purpose: Unpack RPM archives (by @unSpawn) # Args: /path/to/archive # Deps: Bash, GNU utils, RPM rpmDetails() { for Q in changelog provides requires scripts triggers triggerscripts; do  rpm -q -p --$ "$" 2>&1 | grep -v NOKEY > "$.log"; done; } rpmUnpack() { f=$(readlink -f "$"); file "$"|grep -q "RPM.v" && \ { d=$(basename "$" .rpm); d="./$"; mkdir -p "$" && \ { cd "$" && rpm2cpio "$" | cpio -idmv && rpmDetails "$"; }; }; } for f in $@; do rpmUnpack "$"; done exit 0 

После того, как вы отредактировали распакованные файлы, скопируйте верхний каталог / directory в BUILDROOT /. Когда / если rpmbuild -bb name.specотчеты «не найдены», создайте папку с именем приложения, которое запрашивается внутри BUILDROOT /, и скопируйте туда свои файлы. И беги rpmbuild -bb name.specснова.

Моя рекомендуемая установка rpmbuild: http://www.linuxquestions.org/questions/linux-software-2/need-rpm-package-for-php-version-5-2-7-and-up-on-redhat-5 -1-а-766486 / # 13

Спасибо, это довольно полезно. Однако у меня есть еще один вопрос: после распаковки я могу изменить файл, который хочу изменить. Это просто случай копирования источников (в их каталогах) в каталог rpmbuild / SOURCES, а затем создания / получения файла спецификации и помещения его в rpmbuild / SPECS перед запуском команды rpmbuild. Или есть что-то еще, что мне нужно сделать? B. SAUNDERS 6 лет назад 0
Не источник. Файлы могут быть скопированы в любую новую папку. Или чтобы построить /. Смотрите мой отредактированный ответ. Knud Larsen 6 лет назад 0

Похожие вопросы