Дистрибутивът openSUSE представи алтернативен инсталатор Agama 10

Разработчиците на проекта openSUSE публикуваха версия на инсталатора Agama 10, който се разработва за замяна на класическия интерфейс за инсталиране на SUSE и openSUSE, и е забележителен с отделянето на потребителския интерфейс от вътрешните компоненти на YaST. Agama предлага възможност за използване на различни фронтэнди, например, фронтенд за управление на инсталацията чрез уеб интерфейс. За тестване на новия инсталатор са създадени live сборки за архитектурите x86_64, ppc64le, s390x и ARM64, които поддържат инсталация на алфа версията на openSUSE Leap 16, непрекъснато обновяваната версия на openSUSE Tumbleweed и редакцията MicroOS, базирана на контейнери. Кодът на компонентите на инсталатора се разпространява под лиценз GPLv2 и е написан на езиците Ruby, Rust и JavaScript/TypeScript.

Дистрибутивът openSUSE представи алтернативен инсталатор Agama 10

Основните цели на разработката на Agama са премахването на съществуващите ограничения на графичния интерфейс, разширяване на възможностите за използване на функционалността на YaST в други приложения, освобождаване от зависимости към един език за програмиране и насърчаване на създаването на алтернативни настройки от представители на общността. Инсталаторът включва функции като избор на начален набор от приложения, настройка на мрежово свързване, език, клавиатура, часови пояс и параметри за локализация, подготовка на устройство за съхранение и разпределение на дялове, добавяне на потребители в системата.

За инсталиране на пакети, проверка на оборудването, разпределяне на дискове и други необходими функции по време на инсталацията в Agama продължават да се използват библиотеките на YaST, върху които са реализирани услуги-обвивки, абстрахиращи достъпа до библиотеките чрез унифициран комуникационен протокол на базата на HTTP. В инсталатора се използва многопроцесна архитектура, благодарение на която интерфейсът за взаимодействие с потребителя не се блокира по време на изпълнението на други задачи. Основният интерфейс за управление на инсталацията е построен с използване на уеб технологии. Уеб интерфейсът е написан на JavaScript с използването на фреймворка React и компонентите PatternFly. Услугата за обмен на съобщения, както и вграденият http-сървър, са написани на езика Ruby.

В новата версия:

  • Добавена е възможността за генериране на QR код, съдържащ линк за отваряне на уеб интерфейса на инсталатора в браузъра, което улеснява свързването с инсталатора от смартфон.
    Дистрибутивът openSUSE представи алтернативен инсталатор Agama 10
  • Добавени са компоненти за осветяване на синтаксиса, използвани при редактиране на конфигурационния файл с командата «agama config edit» в JSON формат. По подразбиране се стартира Vim (чрез променливата на средата EDITOR може да се зададе друг редактор).
    Дистрибутивът openSUSE представи алтернативен инсталатор Agama 10
  • В режима на автоматична инсталация е реализирана възможност за създаване на групи от LVM дялове, логически LVM дялове, както и пула и дялове от LVM с динамично разпределяне на пространство в хранилището (thin provisioning). Използването на вече съществуващи логически дялове и групи от дялове не се поддържа към момента. Добавени са два режима на автоматично изтриване на дялове — безусловно изтриване и изтриване само при необходимост (когато няма достатъчно пространство за създаване на указаните дялове).
  • Добавен е параметър за зареждане «agama.install_url», чрез който може да се зададе URL на хранилището за инсталиране на пакети, различно от това, посочено в конфигурацията.
  • Предоставена е възможност за разработка на компоненти на уеб интерфейса на инсталатора на езика Typescript. В бъдеще разработчиците планират постепенно да преминават кода от JavaScript на Typescript при необходимост.
  • В уеб интерфейса за управление на състоянието в асинхронен режим е използван фреймуъркът TanStack Query.
  • Размерът на хранилището, достъпно за инсталиране на допълнителни пакети след зареждане в Live режим, е увеличен от 500 MB на 3.5 GB.
  • За автоматизирано тестване на уеб интерфейса вместо системата Playwright е използвана JavaScript библиотеката Puppeteer.
  • Компонентите за управление на инсталатора, стартирани от командния ред, са преминали от DBus към използването на HTTP клиент, който се свързва с вградения в инсталатора HTTP сървър.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster