Показать страницуСсылки сюдаODT преобразованиеPDFэкспорт ODT=>PDFНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Всё про шаблоны в Кальке ====== Шаблоны в Calculate Linux являются крайне мощным и удобным инструментом по автоматическому напилингу системы. Одна бяда --- они ужасно плохо документированы!!! Здесь будет собираться всё, что мне так или иначе получится накопать на эту тему. ===== Правильные ссылки ===== [[https://wiki.calculate-linux.org/ru/templates|Шаблоны]] [[https://old.calculate-linux.org/main/ru/calculate_utilities_templates|Шаблоны Calculate]] [[https://old.calculate-linux.org/main/ru/templates_variables|Переменные шаблонов]] [[https://old.calculate-linux.org/main/ru/calculate2_service_variables|Встроенные переменные Calculate 2.2]] [[https://forum.calculate-linux.org/t/calculate-2-2-1/8855|Введение в шаблоны Calculate 2.2 часть 1]] [[https://forum.calculate-linux.org/t/calculate-2-2-2-clt-autoupdate/8873|Введение в шаблоны Calculate 2.2 часть 2]] [[https://forum.calculate-linux.org/t/calculate-2-2-3-xfce/9047|Введение в шаблоны Calculate 2.2 часть 3]] [[https://old.calculate-linux.org/blogs/ru/show_by_tag/шаблоны|Выборочное отключение шаблонов]] ===== Расположение на файловой системе ===== **''/var/db/repos/calculate/profiles/templates/''** — системные шаблоны (тут надо искать образцы для подрожания). **''/var/calculate/templates/''** — локальные шаблоны (сюда сваливаем собственные шаблоны). **''/usr/lib/python3.12/site-packages/calculate/lib/format/''** — здесь расположены обработчики форматов, т.е. тут можно посмотреть какие форматы шаблонов вообще существуют (что это такое указано ниже). ===== Применение шаблонов к пакету ===== Шаблоны применяются к пакету автоматически, в момент его установки (а точнее говоря, согласно условию в заголовке шаблона). Но иногда надо применить шаблоны без переустановки пакета. Делаем: <code lang=sh> cl-core-setup -v -T local --pkg-name=nftables </code> ===== Формат заголовка ===== Заголовок располагается в первой строке файла и начинается с magic-sequense **''# Calculate''**. После заголовка в этой же строке идёт набор параметров. Эти параметры указывают, как должен обрабатываться файл шаблона, куда будет складываться результат работы и т.п. Параметры могут иметь вид **''имя_параметра=значение''** или **''имя_параметра''** (т.е. "флаговый" параметр, не имеющий значения) Наиболее ходовые параметры, которые я использую в своих шаблонах: * format - задаётся формат файла шаблона. Согласно [[https://old.calculate-linux.org/main/ru/calculate_utilities_templates#Форматы-файлов|документации]] допустимы следующие форматы: * 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.txt Последнее изменение: 2025-12-04 11:53 — 127.0.0.1