sys:шаблоны_в_calculate_linux

Это старая версия документа!


Всё про шаблоны в Кальке

Шаблоны в Calculate Linux являются крайне мощным и удобным инструментом по автоматическому напилингу системы. Одна бяда — они ужасно плохо документированы!!! Здесь будет собираться всё, что мне так или иначе получится накопать на эту тему.

/var/db/repos/calculate/profiles/templates/ — системные шаблоны (тут надо искать образцы для подрожания).

/var/calculate/templates/ — локальные шаблоны (сюда сваливаем собственные шаблоны).

Заголовок располагается в первой строке файла и начинается с magic-sequense # Calculate. После заголовка в этой же строке идёт набор параметров. Эти параметры указывают, как должен обрабатываться файл шаблона, куда будет складываться результат работы и т.п.

Параметры могут иметь вид имя_параметра=значение или имя_параметра (т.е. «флаговый» параметр, не имеющий значения)

Наиболее ходовые параметры, которые я использую в своих шаблонах:

  • format - задаётся формат файла шаблона. Согласно документации допустимы следующие форматы:
    • apache, kde, bind, postfix, proftpd, samba, procmail, ldap, dovecot, xml_xfce, xml_xfcepanel, xml_gconf, xml_gconf_tree, compiz, plasma, squid, dhcp, openrc, kernel, json, world - форматы файлов настроек распространенных приложений
    • bin - двоичный формат файлов
    • raw - сырой текст
    • patch - шаблон для применения регулярных выражений (использует специальный вид объединения patch).
    • diff - шаблон для наложения патчей, полученных командой diff
    • dconf - файл модификации настроек в пользовательской службе dconf
    • ldif - формат представления записей службы каталогов или их изменений в текстовой форме
    • contents - специализированный формат для изменения принадлежности файлов пакетам
    • backgrounds - специализированный формат для создания фоновых изображений
  • path - указывает директорию, где будет лежать результирующий файл
  • name - имя результирующего файла
  • append - режим слияния шаблона и имеющегося файла. Режим поумолчанию зависит от формата шаблона. Возможные значения:
    • join - объединяет файлы. Например, если в исходном конфиге и в шаблоне задаётся значение одной и той же переменной, то в результат пойдёт строка из шаблона, и расположена она будет там же, где была расположена строка в исходном конфиге. Если в шаблоне есть строки, для которых нет соответствующих строк в исходном конфиге, то строки из шаблона будут дописаны в конец результирующего файла. (См. шаблон для main.cf postfix'а)
    • before - вставляет содержимое шаблона в начало результата.
    • after - дописывает содержимое шаблона в конец результата.
    • replace - заменяет содержимое исходного файла на содержимое шаблона. (Это поведение поумолчанию, есди формат не указан.)
    • remove - удаляет указанный файл из системы (См. шаблон для phpX.Y/fpm.d/www.conf)
    • skip - шаблон пропускается. Удобно для «хранения» редко используемых настроек в общей коллекции шаблонов. (См. шаблон для NTP-серверов)
    • patch - шаблон для модификации файлов по регулярным выражениям. (См. шаблон для logrotate.conf)
    • clear - если шаблон описывает файл, его содержимое удалится (размер == 0). Если это шаблон директории, её содержимое (волженные файлы и директории) будет удалено.
    • diff - шаблон наложения патчей, полученных ранее командой diff (См. шаблон для dovecot)
  • link - путь к конфигурационному файлу, с которым объединяется файл шаблона.
  • symbolic - создаёт символическую ссылку на файл, указанный параметром «link». Имя симлинка собирается из path и name.
  • chmod -
  • chown - задание прав доступа и владельца
  • условие - задаёт условие (возможно составное) на применение шаблона.

Есть ещё некоторое количество параметров, которые я не использую, и своего мнения на их счёт не имею.

  • sys/шаблоны_в_calculate_linux.1752420242.txt.bz2
  • Последнее изменение: 2025-07-13 22:24
  • Andrew A. Sabitov