The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

17.05.2018 23:50  Выпуск независимого от дистрибутивов инсталлятора Calamares 3.2

Состоялся релиз инструментария для построения инсталляторов Calamares 3.2, не зависящего от конкретных дистрибутивов Linux. Разработчикам дистрибутивов предоставлено несколько десятков готовых модулей c реализацией различных возможностей, востребованных в инсталляторах. Код написан на языке С++, графический интерфейс основан на библиотеке Qt 5 (используется QML), для разработки модулей могут применяться языки C++ и Python. Calamares уже используется для организации установки дистрибутивов Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva и KDE neon. Проект развивается при участии сообществ KDE, Fedora, Kubuntu и Maui.

Calamares предоставляет такие возможности, как ручной и автоматический режимы разбиения дисковых разделов, гибкая система адаптации внешнего вида, модульная архитектура, большой выбор готовых модулей (от управления загрузчиками, до управления пользователями). Например, имеются модули для использования NetworkManager, UPower, systemd-boot, GRUB, sgdisk, squashfs-tools и rsync. Установка может быть организована путём замены раздела - данные копируются на новый раздел, который делается активным вместо ранее используемого раздела, что удобно для тестирования новых установок, оставляя возможность отката на прошлую версию.

Для создания собственного установщика на базе Calamares достаточно выбрать готовые модули или написать собственные, определить логику установки дистрибутива и настроить внешний вид. Для упрощения и ускорения разработки модули и компоненты Calamares могут создаваться на языке Python (для интеграции с С++ используется Boost.Python). Все конфигурационные данные хранятся в формате YAML.

Основные новшества:

  • Добавлен модуль openrcdmcryptcfg для настройки конфигураций с системой инициализации OpenRC и шифрованной ФС, который может применяться в дистрибутивах не использующих systemd;
  • Добавлен модуль для рабочего стола KDE Plasma, позволяющий на этапе установки выбрать тему оформления и настроить внешний вид;
  • Добавлены модули ShellProcess и ContextualProcess, предназначенные для запуска последовательности shell-команд. ShellProcess может заменить другие модули, созданные на базе dummyprocess, предлагая унифицированный файл конфигурации settings.conf. ContextualProcess позволяет запускать наборы команд на основании определённых параметров конфигурации, например, типа прошивки. Возможно сопоставление значений параметров по маске;
  • В модуль bootloader добавлена настройка installEFIFallback, позволяющая управлять режимом установки в окружении UEFI;
  • Улучшено определение наиболее вероятной раскладки клавиатуры, на основании выбранного языка;
  • Названия языков в форме выбора языка на первой странице теперь отображаются с использованием национальных алфавитов;
  • Добавлена опция командной строки "-D" для выбора уровня отладочных логов. Переработан отладочный фреймворк;
  • Обеспечена поддержка повторяемых сборок;
  • Сессионный лог переименован в ~/.cache/calamares/session.log
  • Добавлена поддержка настройки менеджера обновлений через указание специфичного для системы URL;
  • Добавлена функция информирования пользователя о завершении установки;
  • Убрана жесткая привязка к /bin/bash;
  • Повышены требования к версии библиотеки KPMCore, для работы теперь требуется как минимум выпуск 3.3, в котором появилась поддержка разделов LVM.


  1. Главная ссылка к новости (https://calamares.io/calamares...)
  2. OpenNews: Выпуск независимого от дистрибутивов инсталлятора Calamares 3.0
  3. OpenNews: Увидел свет независимый от дистрибутивов инсталлятор Calamares 2.0
Лицензия: CC-BY
Тип: Программы
Ключевые слова: calamares, install
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, 128293 Виталик 128293 (?), 00:07, 18/05/2018 [ответить] [показать ветку] [···]    [к модератору]
  • –9 +/
    >Все конфигурационные данные хранятся в формате YAML

    Что мотивирует людей в 2018 использовать это уродство я просто не понимаю 🤦

     
     
  • 2.4, kiwinix (?), 00:50, 18/05/2018 [^] [ответить]    [к модератору]
  • –2 +/
    Ну там есть подсветка синтаксиса, и это лучше чем например, каждая строчка это key=value и да, такое используется во flatpak. И лучше чем xml.. так что уже хорошо
     
  • 2.7, пох (?), 02:16, 18/05/2018 [^] [ответить]    [к модератору]
  • +3 +/
    > Что мотивирует людей в 2018 использовать это уродство

    наличие приятных готовых парсеров, разумеется.
    А key=value надо самому писать, это немодно, сложно, можно ошибиться и выглядеть тем-самым-лохом у которого экпсплойт через конфиги. (а если то же самое в готовой либе - это ж не мы, это все - они, и вообще мы уже обновились на ее новую версию с улучшенными багами)

    скажите спасибо, что не xml или json.

     
     
  • 3.13, Виталик (??), 08:56, 18/05/2018 [^] [ответить]    [к модератору]
  • –3 +/
    JSON как раз было бы хорошо. Да и key=value можно готовый найти, зачем писать.
     
     
  • 4.14, Аноним (-), 09:22, 18/05/2018 [^] [ответить]    [к модератору]
  • +/
    Кому хорошо? Ломалам? Нормальных парсеров не было и нет.
     
     
  • 5.17, Виталик (??), 10:15, 18/05/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    Эм? Почти в любом языке в стандартной библиотеке есть парсер JSON...
     
     
  • 6.26, Аноним (-), 21:15, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Здесь речь идёт не о "почти любом языке" отнюдь. Рекомендую осилить буквы и научиться читать для начала
     
     
  • 7.27, Виталик (??), 22:40, 18/05/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    https://github.com/nlohmann/std_json/blob/master/proposal.md
    Ниче, не переживай, скоро мб и в ваше старье завезут современную технологию JSON))))
     
  • 4.18, Аноним (-), 12:15, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    рукалицо
    А ничего, что JSON является помножеством YAML?
     
     
  • 5.28, Виталик (??), 22:59, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Ничего. Открывая YAML я так и не научился его сходу парсить себе в голову, хотя довольно часто приходится это делать, так как используем openapi, а там этот чертов YAML. С JSON такой проблемы нет, да, там лишние строки и скобки, да, меньше помещается в экран, но да и пофиг экраны сейчас большие
     
     
  • 6.29, Аноним (-), 23:59, 18/05/2018 [^] [ответить]     [к модератору]  
  • +/
    А переписать этот чертов YAML в виде JSON не пробовали Или что по-вашему означа... весь текст скрыт [показать]
     
     
  • 7.30, Виталик (??), 02:25, 19/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Они и есть, но к сожалению я там джуниор разработчик, а главному нравится YAML.
     
     
  • 8.32, winorun (?), 05:39, 19/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Сочувствую твоей команде.
    Найди 10 отличий и определи где yaml а где JSON
    ~~~
    {
       "firstName": "Иван",
       "lastName": "Иванов",
       "address": {
           "streetAddress": "Московское ш., 101, кв.101",
           "city": "Ленинград",
           "postalCode": "101101"
       },
       "phoneNumbers": [
           "812 123-1234",
           "916 123-4567"
       ]
    }
    ~~~~~~~~~
       "firstName": "Иван",
       "lastName": "Иванов",
       "address": {
           "streetAddress": "Московское ш., 101, кв.101",
           "city": "Ленинград",
           "postalCode": "101101"
       },
    // А тут коментарии
       "phoneNumbers": [
           "812 123-1234",
           "916 123-4567"
       ]
     
     
  • 9.33, Виталик (??), 07:34, 19/05/2018 [^] [ответить]    [к модератору]  
  • +/
    YAML конфиг "in the wild" выглядит примерно так https://editor.swagger.io/, а не как у тебя со скобками и без особой вложенности.
     
  • 4.20, Аноним (-), 13:51, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    В ямле ненормальны 2 вещи - встроенные тего-свистоперделки и пробелы, прибитые гвоздями.
     
  • 2.8, angra (ok), 02:32, 18/05/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Неужто изобрели что-то лучше чем yaml?
     
     
  • 3.10, IRASoldier (?), 05:10, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    JSON
     
     
  • 4.11, Snelius (?), 07:15, 18/05/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    JSON прекрасен, но он не всегда удобен именно для хранения конфигурации. Т.к. формат не предусматривает комментариев, очень порой полезных.
     
     
  • 5.15, Аноним (-), 09:24, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Отлично. Напиши ещё парсер тогда и переезжаем на ЖСОН.
     
  • 5.21, Аноним (-), 13:52, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    JSON5
     
  • 3.35, Аноним (-), 21:53, 21/05/2018 [^] [ответить]    [к модератору]  
  • +/
    TOML
     
  • 1.2, Аноним (-), 00:27, 18/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –5 +/
    Вроде QML, а по скрину похоже на
    💩. Хоть бы Материал включили что ли.
     
     
  • 2.9, Аноним (-), 03:38, 18/05/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    QML - рисовалка, какая связь между рисовалкой и тем, что с ее помощью нарисовано?
     
  • 2.22, Anonimus (??), 14:09, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Каждый из выше перечисленных дистрибутивов сильно кастомизируют инсталятор до вполне приемлемого уровня - на скрине абсолютный дефолт с опором на функционал. Как уже написал выше дефолт никто не использует.
     
  • 1.3, Аноним (-), 00:30, 18/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –11 +/
    Выглядит-то как г*о, как впрочем и большинство модных КуТешных поделок. Ну и да, серьезные дистрибутивы - те, которые разрабатывают, а не тупо собирают (типа дебиана) все равно пилят свое.
     
     
  • 2.5, Аноним (-), 01:13, 18/05/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Qt как бы легко может в красоту, особенно с Qt Quick Controls 2, и он не виноват, что большинство разрабов плохие дизайнеры
     
     
  • 3.6, анон (?), 01:23, 18/05/2018 [^] [ответить]    [к модератору]  
  • –3 +/
    Ну как сказать, на Gtk все однотипно и даже не вырвиглазно. Другое дело, что гномеры обычно половину контролов теряют, ну дык это ж гномеры.
     
  • 2.23, Anonimus (??), 14:17, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    > Выглядит-то как г*о, как впрочем и большинство модных КуТешных поделок. Ну и
    > да, серьезные дистрибутивы - те, которые разрабатывают, а не тупо собирают
    > (типа дебиана) все равно пилят свое.

    тот же дебиан активно помогает развивать этот продукт и не использует только потому что еще не весь функционал который есть в текущем был реализован. В частности раньше нормально не работал функционал связанный с LVM и LUKS, что существенно. Когда все функции будут полностью имплементированы скорее всего и они начнут использовать его по дефолту.

     
  • 1.12, Ph0zzy (ok), 08:40, 18/05/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    А есть что-нибудь такое же, но --с перламутровыми пуговицами-- с текстовым интерфейсом?
     
     
  • 2.16, Andrey Mitrofanov (?), 09:28, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    > А есть что-нибудь такое же, но --с перламутровыми пуговицами-- с текстовым интерфейсом?

    С имаксом, комстрокой и лиспом есть -- брать будете?

     
     
  • 3.24, Аноним (-), 18:31, 18/05/2018 [^] [ответить]    [к модератору]  
  • +/
    Да. Ссылку в студию, пожалуйста.
     
     
  • 4.34, Andrey Mitrofanov (?), 07:41, 19/05/2018 [^] [ответить]    [к модератору]  
  • +/
    #>>С имаксом, комстрокой и лиспом есть [I]-- брать будете?[/I]
    > Да. Ссылку в студию, пожалуйста.

    https://www.gnu.org/software/guix/manual/html_node/Preparing-for-Installation.
    https://www.gnu.org/software/guix/manual/html_node/Proceeding-with-the-Install

    Лиспом - гайл ским, имаксом - GNU Zile [[на полставки[[, но вроде можно прямо на лайве [поробовать!] сказать guix install emacs[[.

    [I]Так будете брать-то, очередь не задерживайте!?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor