Итак, свершилось! После многочисленных альфа версий новых утилит 3.1, была выпущена первая бета-версия. В настоящее время доступны бинарные пакеты новой версии утилит для всех дистрибутивов. Рассмотрим подробнее основные особенности.
Главное нововведение - новый подход к организации хранения шаблонов, потребовавший внести некоторые изменения в работе утилит. Как это было ранее? Версия 1.0 - один пакет утилит, использующий единые переменные и шаблоны. Версии 2.0-2.1 - пакетов несколько, каждый содержит свои наборы переменных, свои функции, есть общие переменные и функции, шаблоны хранятся в каждом пакете. Версии 2.2 - 3.0 - шаблоны вынесены в единое хранилище, первое время разворачивались пакетом calculate-templates, затем шаблоны были перемещены в оверлей Calculate. При помощи условных выражений, директории пакетов были разделены. Начиная с версии 3.1 в основе шаблонов лежат события, неважно какой пакет обрабатывает это событие, важно, что в данный момент происходит в системе, будь-то настройка сеанса пользователя, установка или удаление пакета, настройка livecd во время загрузки, установка системы или другое событие.
Ранее вы могли наблюдать сообщения типа: выполнены настройки пакетом calculate-install. Утилиты поочерёдно проверяли шаблоны на наличие настроек. В 3.1 логика изменилась, шаблоны утилит сами умеют подключать необходимые наборы переменных и функций, доступные в установленных пакетах утилит. Во главу угла теперь встают события, а не пакеты.
Вторым важным отличием является возможность обращаться к переменным разных пакетов утилит из одного шаблона. Для этого достаточно добавить к имени переменной приставку с именем пакета с разделителем точкой. Пример: “install.os_install_ntp”. В случае использования шаблонов Clt, это может оказаться очень кстати, т.к. ранее для этих шаблонов был доступен только набор переменных пакета calculate-install. Помимо этого в заголовке шаблона добавлен параметр ‘env’, в значении которого можно указать пакет, переменные и функции которого будут использованы по умолчанию. Пример: ‘env=desktop’.
В версии 3.1 были возвращена возможность отображения переменных утилит, которая отсутствовала в 3.0. На этот раз мы пошли дальше, список всех переменных можно получить из одной утилиты. Разумеется список доступен и в графическом клиенте. Помимо просмотра, значения можно изменять. Чем-то похоже на редактор настроек в Firefox.
Подтянулись к 3-й версии утилиты calculate-desktop и calculate-client, а это значит, что в графическом клиенте теперь можно настроить профиль пользователя, поменять его пароль и ввести машину в домен Calculate Directory Server.
Конфигурационные файлы утилит ‘/etc/calculate/calculate2.env’ и ‘calculate3.env’ были объединены в один файл - ‘calculate.env’. Если вы посмотрите, миграция выполняется самими шаблонами, что лишний раз демонстрирует универсальность шаблонов, как механизма настройки системы.
В бета-версию включены не все изменения, которые попадут в конечный релиз. Подробнее о всех изменениях можно будет прочитать на странице новостей сразу после выхода релиза.