На данный момент доступна бета-версия утилит. Релиз будет выпущен в ближайшее время и войдёт в состав новой версии дистрибутивов Calculate Linux 15.
Основные особенности новой версии:
Новый способ синхронизации портежей и оверлеев
Многие знают, что для обновления Calculate Linux использует одно зеркало бинарных пакетов (mirror.cnet.kz). Для подстраховки, есть ещё парочка зеркал и всё. Все остальные зеркала не могут быть использованы, т.к. версия пакетов не будет соответствовать текущей версии портежей. К сожалению, бывали случаи, когда зеркало в течение непродолжительного времени оставалось недоступным, что вызывало сложности при обновлении из бинарных пакетов. Портежи в этот момент справлялись со своими обязанностями, но ценой компиляции пакетов.
В новых утилитах Calculate 3.4 был пересмотрен механизм обновления пакетов. Во время подготовки обновления, в Git при помощи тэгов создаются отметки с порядковыми номерами, значения которых сохраняются в репозитории бинарных пакетов в файле ‘ini.env’, пример:
[vcs]
portage=31
calculate=24
distros=14
Теперь вы можете использовать любое из существующих зеркал для обновления пакетов. Несколько одинаковых файлов ‘/grp/default’, ‘/grp/kde’, ‘/grp/server’ и ‘/grp/x’ должны пресечь попытки обновиться с зеркала во время его обновления. Утилита cl-update умеет определять наиболее быстрое из зеркал, содержащих свежие версии пакетов.
Безусловно, если вы используете несколько машин с Calculate Linux, целесообразно поднять у себя зеркало бинарных пакетов и синхронизировать его с определённой периодичностью, например раз в сутки. Любой FTP (или HTTP) сервер, настроенный на Calculate Directory Server прекрасно с этой задачей справится. Вы можете загрузить целиком зеркало или скачать выборочно бинарные пакеты. Для загрузки исключительно бинарных пакетов, используйте следующую команду:
rsync -avx --delete --include="/grp" --include="/timestamp" --exclude="/*" rsync://mirror.yandex.ru/calculate /var/calculate/server-data/ftp/pub/calculate
Удостоверьтесь, что директория /var/calculate/server-data/ftp/pub/calculate существует или выберите свой путь для хранения зеркала. Обратите внимание на файл timestamp, который так же должен забираться. По этому файлу утилита обновления будет оценивать актуальность зеркала.
Теперь, чтобы начать использовать своё зеркало, укажите его в переменной списка зеркал в /var/calculate/remote/calculate.env, если вы используете сеть из CLD машин или в /var/calculate/calculate.env или /etc/calculate/calculate.env:
Пример:
[update]
cl_update_binhost_list = ftp://lautre.ru/pub/calculate
После этого выполните:
cl-upate --scan
Утилита из списка зеркал, выберет одно, пропишет его в переменной cl_update_binhost, в файле /etc/calculate/calculate.env, после этого настроит портежи на использование этого бинарного зеркала, в файле /etc/portage/make.conf/binhost.
Что ещё приятно, в новой схеме обновления минимизированы запросы к Git. Если при повторном считывании ini.env, версии тэгов будут неизменны, утилита обновления будет выполнять запрос к Git-у. Чтобы навсегда не остаться с необновляемым зеркалом, выполняется проверка timestamp на актуальность и в случае необходимости будет выполнено повторное сканирование зеркал.
Обновления по тэгам позволяют использовать промежуточное зеркало для тестирования обновлений. Что приятно, можно даже запаковать Stage-образы, чтобы проверить ещё до того, как обновление попадёт на зеркала.
Новые утилиты сборки системы
На смену calculate-assemble, calculate-builder и Интерактивному режиму сборки системы пришли утилиты cl-builder*, входящие в состав пакета утилит calculate-utils 3.4.
Благодаря новой концепции разделяемых профилей и единого репозитория бинарных пакетов сборка своей версии дистрибутива теперь выполняется в считанные мгновения!
Обо всём по порядку:
1. Профиль вместо правки файлов
Calculate привнёс автоматизацию. Даже устанавливая Gentoo, вы пишите для себя от FAQ до простеньких скриптов на Bash. С новыми утилитами сборки системы больше не нужно думать о том, куда в собираемом вами образе поместить необходимые вам настройки. Всё это делается через профиль, начиная от состава пакетов, самих ebuild-файлов и заканчивая настройками. Действия сводятся к простым действиям: развернуть исходный ISO (cl-builder-prepare), переключить профиль (cl-builder-profile), обновить пакеты (cl-builder-update) и запаковать (cl-builder-image).
2. Графический интерфейс
Поддержка графической консоли, реализованная в утилитах 3-й версии позволяет существенно упростить процесс создания своих образов дистрибутива. Вы можете выполнять все операции как на локальной машине, так и удалённо, используя клиент-серверное подключение.
3. На смену Builder-режима загрузки мгновенное подключение слоёв
Идея Builder-режима оригинальная. Вы собираете, тестируете, после чего запаковываете то, что видите. Тем не менее, есть и недостатки у такого подхода. Нужно загружаться в специальном режиме предназначенном для сборки. Обновления нужно выполнять в chroot, об этом нужно постоянно помнить, иначе обновления не попадут в новый образ. Мы взяли всё лучшее от такого подхода и в новых утилитах к традиционному развёртыванию системы добавили поддержку слоёв, реализованную через файловую систему overlayfs. В итоге образ подготавливается за считанные секунды не требуя для своих нужд значительных объёмов дискового пространства.
4. Поддержка мультизагрузочных флешек
При обновлении пакетов на флешке теперь используется единый механизм с привлечением слоёной файловой системы. По результату работы создаётся ISO образ и обновляется меню загрузки. Вы можете скопировать на флешку ISO-образы разных дистрибутивов Calculate Linux и обновить меню, выполнив ‘cl-builder-menu’ или используя графическую консоль.