Всем привет!
Текущая стабильная версия calculate-utils - 3.8.2.2. Хочу описать основные улучшения, сделанные в утилитах за последние 2-3 месяца.
Скачивание ISO с зеркала
По умолчанию установщик создает на диске раздел для обновления, по размеру совпадающий с корневым разделом. По аналогии с Android система может быть установлена в соседний раздел, а основные настройки перенесены. Это быстро и безопасно, а откатиться к старой проверенной системе всегда можно через меню загрузчика. Если раньше приходилось самостоятельно заходить на зеркало и скачивать образ, то теперь достаточно воспользоваться параметром -m (--mirror-iso). Эта опция прекрасно сочетается с -s (--os), если вы захотите попробовать дистрибутив с другим рабочим столом.
Пример:
cl-install -m auto
* Скачивание образа с https://mirror.calculate-linux.org/release/20260907/cldx-20260907-x86_64.iso
[===========> ] 23% Time:0:00:09
Переход с vfat на ntfs на флешках
По умолчанию cl-install-flash теперь использует файловую систему ntfs. Это снимает ограничение на максимально возможный размер ISO-образа в 4 Гб. Если кто-то этой утилитой не пользовался, то самое время попробовать. Формат ntfs позволяет закинуть на флешку в директорию /linux несколько ISO образов, чтобы иметь возможность загрузиться на любой из них. Вы можете обновить пакеты, удалить их или поставить новые, непосредственно работая на флешке, после чего сохранить все изменения в новом образе.
Обработка пользовательских функций как шаблонов
Всем, кто использует шаблоны Calculate для настройки системы, понравится возможность создавать свои функции, написанные на любом скриптовом языке, например на Bash. Функциями можно очень сильно прокачать возможности шаблонов. Для подстановки значений переменных и других функций утилит непосредственно в код скрипта, используйте те же вставки, что и в шаблонах вида #-переменная-# и #-функция()-#. Весь вывод скрипта подставляется на место вставки функции в шаблоне. Для отладки теперь можно отправить сообщение в поток ошибки (2), предупреждений (3) и уведомлений (4).
Пользовательские функции хранятся в подключенном оверлее в директории scripts/functions. Для тестирования вы можете создать такой путь в локальном оверлее “custom”: mkdir -p /var/calculate/repos/custom/scripts/functions.
Создайте по этому пути тестовую функцию test.sh:
#!/bin/bash
echo 'Работает функция test()' >&4
cat /etc/fstab
Пример шаблона настроек пакета zip:
Для проверки, создайте шаблон /var/calculate/templates/zip.conf со следующим содержимым:
# Calculate env=install ac_install_merge==on mergepkg(app-arch/zip)!= path=/tmp
#-test()-#
Выполните cl-core-setup -n zip, чтобы применить шаблон. Шаблон создаст файл /tmp/zip.conf, свяжет его с пакетом zip (equery b /tmp/zip.conf). Функция test, вызванная из шаблона, подставит содержимое файла /etc/fstab. Во время настройки функция отобразит сообщение о своей работе.