CFEngine - установить переменную, если установлена конкретная версия пакета
Скрипт должен поддерживать два сервера, Fedora и Centos, с разными версиями httpd (Apache). CFEngine используется для создания файла конфигурации, и ему необходимо поместить в файл различные разделы в зависимости от того, какая версия httpd установлена в системе. Как я могу установить для переменной значение true / false, в зависимости от того, какая версия установлена, чтобы затем я мог сгенерировать файл соответствующим образом? Все примеры, которые я смог найти, касаются только установки, обновления или удаления пакетов.
2 ответа
Вы могли бы использовать packagesmatching
чтобы получить версию httpd, которая установлена в данный момент. Вы можете объединить это с ifelse
, strcmp
, regcmp
так что вы можете установить различные переменные и классы, которые вы можете использовать в своем шаблоне.
Я использую CFEngine (3.9) на CentOS 7.3. Эта версия устанавливает жесткий класс Centos. Вы можете использовать это для создания различных разделов. (Is также устанавливает жесткий класс redhat, потому что CentOS является производным от RedHat). Вы можете найти классы, доступные в вашей системе:
cf-promises -v