De ontwikkelaars van het openSUSE-project hebben een nieuwe versie van de Agama-installateur (voorheen D-Installer) gepubliceerd, die is ontwikkeld ter vervanging van de klassieke installatie-interface van SUSE en openSUSE. Opmerkelijk is de scheiding van de gebruikersinterface van de interne componenten van YaST. Agama biedt de mogelijkheid om verschillende front-ends te gebruiken, zoals een front-end voor installatiebeheer via een webinterface. Voor het installeren van pakketten, hardwarecontroles, schijfpartitionering en andere noodzakelijke functies tijdens de installatie worden de YaST-bibliotheken nog steeds gebruikt, bovenop waarvan service-laag is geĆÆmplementeerd om toegang tot de bibliotheken te abstraheren via een uniforme D-Bus-interface.
Er zijn live-builds met de nieuwe installateur (x86_64, ARM64) gemaakt, die de installatie van de continu bijgewerkte openSUSE Tumbleweed-build ondersteunen, evenals de edities van openSUSE Leap Micro, SUSE ALP en openSUSE Leap 16, gebaseerd op geĆÆsoleerde containers.


De basisinterface voor installatiebeheer is gebouwd met webtechnologieƫn en omvat een handler die toegang biedt tot D-Bus-aanroepen via HTTP en de webinterface zelf. De webinterface is geschreven in JavaScript met behulp van het React-framework en PatternFly-componenten. De service voor het koppelen van de interface aan D-Bus, evenals de ingebouwde http-server, zijn geschreven in Ruby en zijn gebaseerd op bestaande modules ontwikkeld door het Cockpit-project, die ook in webconfigurators van Red Hat worden toegepast. De installateur maakt gebruik van een multi-core architectuur, waardoor de gebruikersinterface niet wordt geblokkeerd tijdens het uitvoeren van andere taken.

In de huidige fase van ontwikkeling zijn er in de installateur services beschikbaar die verantwoordelijk zijn voor het beheer van het installatieproces, de configuratie van de productinhoud en de lijst van te installeren programma's, de instelling van taal, toetsenbord en lokalisatieparameters, de voorbereiding van opslagapparaten en schijfpartitionering, het weergeven van hints en ondersteunende informatie, en het toevoegen van gebruikers aan het systeem, evenals het instellen van netwerkverbindingen.
Een van de ontwikkelingsdoelen van Agama is het wegnemen van de bestaande beperkingen van de grafische interface, het uitbreiden van de mogelijkheden om de functionaliteit van YaST in andere applicaties te gebruiken, het afstappen van de afhankelijkheid van ƩƩn programmeertaal (de D-Bus API zal het mogelijk maken om extensies in verschillende talen te creƫren) en het stimuleren van het creƫren van alternatieve instellingen door leden van de gemeenschap.
De interface van Agama zal zo eenvoudig mogelijk voor de gebruiker worden gemaakt; onder andere is de mogelijkheid voor selectieve installatie van pakketten verwijderd. Momenteel bespreken de ontwikkelaars mogelijke varianten voor de implementatie van een eenvoudigere interface voor de selectie van te installeren programma's (als belangrijkste variant wordt een prototype van categoriedeling op basis van typische gebruiksjablonen overwogen, zoals grafische omgevingen, tools voor containers, ontwikkelingshulpmiddelen, enzovoort).
Bron: opennet.ru
