Обзор нового дистрибутива Calculate Scratch Server
Вдоволь «наигравшись» настройками десктопов и сборками Calculate Directory Server (CDS), стало понятно, что большинству администраторов нужно нечто большее. Точнее в точности до наоборот — чаще требуется только часть заявленных возможностей. Год назад мы выпустили первую версию Calculate Linux Scratch — минимального дистрибутива для настольного компьютера, удачно пополнившего линейку десктопов. Специально для него был разработан механизм интерактивной сборки системы. Интерактивной, потому что вы можете изменять набор программ ISO образа по своему усмотрению, непосредственно работая в системе и тестируя получаемый результат. Позднее эта технология распространилась на все остальные дистрибутивы.
Настало время сервера. Да, можно установить Calculate Directory Server (CDS) и получить поддержку множества сервисов из коробки с поддержкой LDAP. Но на практике только офисный компьютер может использовать такое количество сервисов. CDS плохо подходит в качестве веб-сервера, ещё хуже как файрвол. Виной тому обилие предустановленного софта. Решить такую проблему как раз и призван Calculate Scratch Server (CSS).
Итак, что же такое Calculate Scratch Server?
Этот дистрибутив, как и прочие Calculate Linux основан на Gentoo. Для тех кто не в курсе Gentoo — это проверенный временнем мета-дистрибутив, с большим сообществом, обилием документации, своими традициями и как следствие предсказуемостью разработки и качеством поддерживаемых пакетов. Gentoo позволяет управлять системой по своему усмотрению. Система портежей, во многом заимствованная из FreeBSD, позволяет собирать пакеты из исходников, оптимизируя под свое железо, с выбором функционала каждого пакета путем простого включения USE-флагов. Помимо этого в портежах как правило существует по нескольку версий каждого пакета, существенно упрощая варианты выбора ПО.
В двух словах Calculate Scratch Server — это stage3 (минимальный рабочий образ gentoo) с новой утилитой установки calculate-install и необходимым минимумом пакетов для работы и установки с livecd образа.
Если посмотреть глубже, то CSS воплотил в себе все наработки утилит Calculate 2. Но обо всем по порядку.
Особенности
Установка
Calculate Scratch Server представляет только базовый набор программ. Для выполнения необходимых задач потребуется доустановка пакетов. Вы можете её выполнить непосредственно загрузившись с livecd в «builder» режиме. После этого можно выполнить необходимую установку и обновление программ. В завершении достаточно выполнить команду ‘calculate —iso’ для создания нового образа системы. Образ будет создан в директории /usr/calculate/share/linux. Желательно в эту директорию подмонтировать свободный раздел диска, иначе оперативной памяти компьютера может не хватить. Эту же операцию можно проделать предварительно установив систему на жесткий диск и загрузившись в builder-режиме. Ещё проще — работая с флешки. В этом случае понадобится только обновить squashfs образ, выполнив ‘calculate —rebuild’.
На рисунке я установил систему в builder режиме, выполнил cl-builder для перехода в изолированный chroot режим, установил пакет и создал новый образ. Установка пакета производилась в отдельном aufs2 слое. Таким образом никакие временные файлы в конечный образ не попадают.
Полученный образ разворачивается утилитой ‘cl-install’ с указанием разделов для установки. В случае, если вы записали образ предварительно изменив пароль пользователя root, установка пройдет без запроса пароля.
Шаблоны
Шаблоны — это по своей сути сценарии настройки конфигурационных файлов приложений по которым работают утилиты Calculate. Вы можете более подробно с ними ознакомиться в следующем руководстве, здесь же я вкратце опишу принцип их действия. Представьте себе Samba сервер, который вы какое-то время назад настраивали. Вы уже не помните для чего и какой параметр настроек менялся, будет ли все работать с предложенным обновлением. Шаблоны призваны решать подобные проблемы. Вы создаете файл с шаблоном настроек с расширением ‘.clt’ (Calculate Linux Templates), поместив его непосредственно в директории с конфигурационным файлом. В нем указываете тип конфигурационного файла, а также те параметры, которые вы хотите изменить с комментариями. Используя утилиту cl-templates вы можете протестировать как произойдет обновление smb.conf. Файл шаблона, вместе с оригинальным файлом будут преобразованы в формат XML, после чего произойдет их объединение с последующей записью измененного файла настроек.
В основе шаблонов лежат переменные. Переменные делятся по типу и могут содержать как одно значение, так и массив значений.
Шаблоны могут содержать также функции, значения которых могут вычисляться во время обработки шаблона.
Пример файла шаблона настройки KDM можно посмотреть здесь.
Обновления
Поддерживать систему с небольшим количеством ПО задача несложная. Портежи прекрасно справятся со своей обязанностью. Тем не менее при смене GCC, GLIBC и прочих пакетов toolchain требуется пересборка всех пакетов. Упростить задачу может установка обновления в выделенный раздел. Установка сервера в выделенный раздел займет 1-2 минуты. Основные настройки будут перенесены с текущей системы, дополнительные — восстановлены из шаблонов. После перезагрузки сервер продолжит свою работу.
Автообновление настроек
По мере выхода новых версий программ, вы будете ставить новые пакеты на сервер. Важно, чтобы после выполнения утилиты dispatch-conf вы корректно выполнили замену устаревших конфигурационных файлов. В этом очень сильно может помочь новый механизм автообновления настроек. Файлы настроек не копируются, а вновь генерируются с учётом версии устанавливаемого пакета, а также ваших шаблонов.
На рисунке видно, как после установки пакета kdm, формируются файлы настроек для этого пакета тремя утилитами, ранее участвовавшими в его настройке.
Срок выхода
Новый дистрибутив Calculate Scratch Server войдет в состав Calculate Linux 10.9, но по настоящему интересные возможности появятся лишь в 11.0. К этому времени мы планируем разбить пакет настройки сервера calculate-server на отдельные пакеты: calculate-ldap, calculate-samba, calculate-mail, calculate-ftp, calculate-jabber, calculate-dns, calculate-dhcp и т.д. При этом настраивать Calculate Scratch Server станет также просто, как и сервер директорий.
Обзор нового дистрибутива Calculate Scratch Server
Вдоволь «наигравшись» настройками десктопов и сборками Calculate Directory Server (CDS), стало понятно, что большинству администраторов нужно нечто большее. Точнее в точности до наоборот — чаще требуется только часть заявленных возможностей. Год назад мы выпустили первую версию Calculate Linux Scratch — минимального дистрибутива для настольного компьютера, удачно пополнившего линейку десктопов. Специально для него был разработан механизм интерактивной сборки системы. Интерактивной, потому что вы можете изменять набор программ ISO образа по своему усмотрению, непосредственно работая в системе и тестируя получаемый результат. Позднее эта технология распространилась на все остальные дистрибутивы.
Настало время сервера. Да, можно установить Calculate Directory Server (CDS) и получить поддержку множества сервисов из коробки с поддержкой LDAP. Но на практике только офисный компьютер может использовать такое количество сервисов. CDS плохо подходит в качестве веб-сервера, ещё хуже как файрвол. Виной тому обилие предустановленного софта. Решить такую проблему как раз и призван Calculate Scratch Server (CSS).
Итак, что же такое Calculate Scratch Server?
Этот дистрибутив, как и прочие Calculate Linux основан на Gentoo. Для тех кто не в курсе Gentoo — это проверенный временнем мета-дистрибутив, с большим сообществом, обилием документации, своими традициями и как следствие предсказуемостью разработки и качеством поддерживаемых пакетов. Gentoo позволяет управлять системой по своему усмотрению. Система портежей, во многом заимствованная из FreeBSD, позволяет собирать пакеты из исходников, оптимизируя под свое железо, с выбором функционала каждого пакета путем простого включения USE-флагов. Помимо этого в портежах как правило существует по нескольку версий каждого пакета, существенно упрощая варианты выбора ПО.
В двух словах Calculate Scratch Server — это stage3 (минимальный рабочий образ gentoo) с новой утилитой установки calculate-install и необходимым минимумом пакетов для работы и установки с livecd образа.
Если посмотреть глубже, то CSS воплотил в себе все наработки утилит Calculate 2. Но обо всем по порядку.
Особенности
Установка
Calculate Scratch Server представляет только базовый набор программ. Для выполнения необходимых задач потребуется доустановка пакетов. Вы можете её выполнить непосредственно загрузившись с livecd в «builder» режиме. После этого можно выполнить необходимую установку и обновление программ. В завершении достаточно выполнить команду ‘calculate —iso’ для создания нового образа системы. Образ будет создан в директории /usr/calculate/share/linux. Желательно в эту директорию подмонтировать свободный раздел диска, иначе оперативной памяти компьютера может не хватить. Эту же операцию можно проделать предварительно установив систему на жесткий диск и загрузившись в builder-режиме. Ещё проще — работая с флешки. В этом случае понадобится только обновить squashfs образ, выполнив ‘calculate —rebuild’.
На рисунке я установил систему в builder режиме, выполнил cl-builder для перехода в изолированный chroot режим, установил пакет и создал новый образ. Установка пакета производилась в отдельном aufs2 слое. Таким образом никакие временные файлы в конечный образ не попадают.
Полученный образ разворачивается утилитой ‘cl-install’ с указанием разделов для установки. В случае, если вы записали образ предварительно изменив пароль пользователя root, установка пройдет без запроса пароля.
Шаблоны
Шаблоны — это по своей сути сценарии настройки конфигурационных файлов приложений по которым работают утилиты Calculate. Вы можете более подробно с ними ознакомиться в следующем руководстве, здесь же я вкратце опишу принцип их действия. Представьте себе Samba сервер, который вы какое-то время назад настраивали. Вы уже не помните для чего и какой параметр настроек менялся, будет ли все работать с предложенным обновлением. Шаблоны призваны решать подобные проблемы. Вы создаете файл с шаблоном настроек с расширением ‘.clt’ (Calculate Linux Templates), поместив его непосредственно в директории с конфигурационным файлом. В нем указываете тип конфигурационного файла, а также те параметры, которые вы хотите изменить с комментариями. Используя утилиту cl-templates вы можете протестировать как произойдет обновление smb.conf. Файл шаблона, вместе с оригинальным файлом будут преобразованы в формат XML, после чего произойдет их объединение с последующей записью измененного файла настроек.
В основе шаблонов лежат переменные. Переменные делятся по типу и могут содержать как одно значение, так и массив значений.
Шаблоны могут содержать также функции, значения которых могут вычисляться во время обработки шаблона.
Пример файла шаблона настройки KDM можно посмотреть здесь.
Обновления
Поддерживать систему с небольшим количеством ПО задача несложная. Портежи прекрасно справятся со своей обязанностью. Тем не менее при смене GCC, GLIBC и прочих пакетов toolchain требуется пересборка всех пакетов. Упростить задачу может установка обновления в выделенный раздел. Установка сервера в выделенный раздел займет 1-2 минуты. Основные настройки будут перенесены с текущей системы, дополнительные — восстановлены из шаблонов. После перезагрузки сервер продолжит свою работу.
Автообновление настроек
По мере выхода новых версий программ, вы будете ставить новые пакеты на сервер. Важно, чтобы после выполнения утилиты dispatch-conf вы корректно выполнили замену устаревших конфигурационных файлов. В этом очень сильно может помочь новый механизм автообновления настроек. Файлы настроек не копируются, а вновь генерируются с учётом версии устанавливаемого пакета, а также ваших шаблонов.
На рисунке видно, как после установки пакета kdm, формируются файлы настроек для этого пакета тремя утилитами, ранее участвовавшими в его настройке.
Срок выхода
Новый дистрибутив Calculate Scratch Server войдет в состав Calculate Linux 10.9, но по настоящему интересные возможности появятся лишь в 11.0. К этому времени мы планируем разбить пакет настройки сервера calculate-server на отдельные пакеты: calculate-ldap, calculate-samba, calculate-mail, calculate-ftp, calculate-jabber, calculate-dns, calculate-dhcp и т.д. При этом настраивать Calculate Scratch Server станет также просто, как и сервер директорий.