Как правильно обновить локальные переменные с помощью спецификации файла rpmbuild? - PullRequest
0 голосов
/ 23 октября 2018

Мне нужно периодически обновлять несколько серверов CentOS специальным программным пакетом, используя RPM-упаковку.Программное обеспечение имеет несколько каталогов и файлов, некоторые из которых являются файлами конфигурации, в которых есть несколько переменных с локальными значениями для конкретного сервера.

Я читал RPM-документацию о файлах конфигурации , которыеобъясняя, как сделать их правильно и так, чтобы оставить их нетронутыми.Но на самом деле мне нужно обновить содержимое файлов конфигурации, сохранив только некоторые значения локальных переменных.Итак, я вижу два возможных пути:

  1. Пометить такие файлы как файлы конфигурации и использовать директиву %post в файле спецификации rpmuild для обновления каждого такого файла с разницей после выполнения yum updateудаленный сервер.

  2. Второй способ как раз противоположен: yum update заменяет все, но благодаря директиве %post некоторые переменные в соответствующих файлах на удаленных серверах обновляются локальнымизначения.

Так что мой вопрос в том, какой путь лучше, какой рекомендуют опытные сборщики пакетов RPM - я здесь новичок, так что терпите меня, пожалуйста.

1 Ответ

0 голосов
/ 25 октября 2018

Лучший подход к локальной конфигурации с упаковкой * .rpm - это изменить парадигму конфигурации, включив в нее 2 файла, один из которых содержит общую конфигурацию по умолчанию из пакета, а другой - локальную конфигурацию с (возможными) переопределениями.

RPM лучше всего распространяет статический контент, а не изменяемые файлы конфигурации.

...