Gli sviluppatori del progetto openSUSE hanno pubblicato una nuova versione dell'installatore Agama (ex D-Installer), sviluppato per sostituire l'interfaccia classica di installazione di SUSE e openSUSE, e che si distingue per la separazione dell'interfaccia utente dai componenti interni di YaST. Agama offre la possibilità di utilizzare diversi frontend, ad esempio un frontend per la gestione dell'installazione tramite interfaccia web. Per l'installazione di pacchetti, il controllo dell'hardware, la partizione dei dischi e altre funzioni necessarie durante l'installazione continuano ad essere utilizzate le librerie YaST, sopra le quali sono implementati servizi intermedi che astraggono l'accesso alle librerie tramite un'interfaccia unificata D-Bus.
Per il testing sono state create versioni live con il nuovo installatore (x86_64, ARM64), che supportano l'installazione della versione continuamente aggiornata di openSUSE Tumbleweed, oltre alle edizioni openSUSE Leap Micro, SUSE ALP e openSUSE Leap 16, costruite su basi di contenitori isolati.


L'interfaccia di base per la gestione dell'installazione è costruita utilizzando tecnologie web e include un gestore che fornisce accesso alle chiamate D-Bus tramite HTTP, oltre a un'interfaccia web diretta. L'interfaccia web è scritta in JavaScript utilizzando il framework React e i componenti PatternFly. Il servizio per il binding dell'interfaccia a D-Bus, così come il server http integrato, sono scritti in Ruby e costruiti utilizzando moduli predefiniti sviluppati dal progetto Cockpit, che vengono utilizzati anche nei configuratori web di Red Hat. L'installer utilizza un'architettura multiprocessore, il che significa che l'interfaccia utente non viene bloccata durante l'esecuzione di altre operazioni.

Nella fase attuale di sviluppo, nell'installatore sono disponibili servizi responsabili della gestione del processo di installazione, della configurazione dei contenuti del prodotto e dell'elenco dei programmi da installare, della configurazione della lingua, della tastiera e delle impostazioni di localizzazione, della preparazione del dispositivo di archiviazione e della partizione delle sezioni, della visualizzazione di suggerimenti e informazioni di supporto, dell'aggiunta di utenti al sistema e della configurazione della connessione di rete.
Tra gli obiettivi di sviluppo di Agama c'è la rimozione delle attuali limitazioni dell'interfaccia grafica, l'espansione delle possibilità di utilizzo delle funzionalità di YaST in altre applicazioni, l'abbandono del legame a un solo linguaggio di programmazione (l'API D-Bus consentirà la creazione di estensioni in vari linguaggi) e la promozione della creazione di configurazioni alternative da parte dei rappresentanti della comunità.
L'interfaccia di Agama è stata progettata per essere il più semplice possibile per l'utente, e tra le altre cose è stata rimossa la possibilità di installazione selettiva dei pacchetti. Attualmente, gli sviluppatori stanno discutendo possibili opzioni per implementare un'interfaccia più semplice per la selezione dei programmi da installare (come principale opzione viene considerato un prototipo di separazione delle categorie basato su modelli di utilizzo tipici, ad esempio, ambienti grafici, strumenti per contenitori, strumenti per sviluppatori, ecc.).
Fonte: opennet.ru
