Gli sviluppatori del progetto openSUSE hanno presentato l'installatore Agama 13, progettato per sostituire l'interfaccia classica di installazione di SUSE e openSUSE, e notevole per la separazione dell'interfaccia utente dai componenti interni di YaST. Agama supporta l'uso di diversi frontend, ad esempio, un frontend per la gestione dell'installazione tramite interfaccia web. Il codice dei componenti dell'installatore è distribuito sotto licenza GPLv2 ed è scritto in Ruby, Rust e JavaScript/TypeScript.
Per testare il nuovo installatore, sono state formate build live per le architetture x86_64, ppc64le, s390x e ARM64. Nelle build sono disponibili per l'installazione la versione alpha di openSUSE Leap 16, le build continuamente aggiornate di openSUSE Tumbleweed e openSUSE Slowroll, oltre alla versione MicroOS basata su container. L'installatore sarà fornito con openSUSE 16 (disponibile versione alpha) e SUSE Linux Enterprise Server 16 (il rilascio beta è previsto per maggio).
Gli obiettivi dello sviluppo di Agama: superare le attuali limitazioni dell'interfaccia grafica; ampliare le possibilità di utilizzo delle funzionalità di YaST in altre applicazioni; abbandonare il legame a un unico linguaggio di programmazione; stimolare la creazione di configurazioni alternative da parte dei membri della comunità. L'installer offre funzionalità come la selezione di un set iniziale di applicazioni, configurazione della connessione di rete, lingua, tastiera, fuso orario e parametri di localizzazione, preparazione del dispositivo di archiviazione e suddivisione delle partizioni, aggiunta di utenti al sistema.
Per l'installazione di pacchetti, verifica dell'hardware, suddivisione dei dischi e altre funzioni necessarie durante l'installazione, in Agama vengono ancora utilizzate le librerie YaST, sopra le quali sono implementati servizi di astrazione che astraggono l'accesso alle librerie tramite un protocollo di comunicazione unificato basato su HTTP. L'installer utilizza un'architettura multi-processo, grazie alla quale l'interfaccia di interazione con l'utente non viene bloccata durante l'esecuzione di altre operazioni.
L'interfaccia di base per la gestione dell'installazione è costruita utilizzando tecnologie web. L'interfaccia web è scritta in JavaScript utilizzando il framework React e i componenti PatternFly. Il servizio per lo scambio di messaggi, così come il server http integrato, è scritto in Ruby.

Nella nuova versione:
- Aggiunta una pagina per la configurazione del nome host. In seguito, sulla base di questa pagina, si prevede di creare una sezione "System" con le impostazioni di sistema.

- Aggiunta un'interfaccia per l'installazione utilizzando il Logical Volume Manager (LVM). In precedenza, la definizione dei gruppi di partizioni LVM e delle partizioni logiche era realizzata in modalità di installazione automatica e nell'interfaccia da riga di comando, ora è stata aggiunta all'interfaccia web.

- Aggiunta la supporto per la registrazione delle estensioni nel SUSE Customer Center per la loro installazione in SUSE Linux Enterprise Server.
- Nella configurazione dell'installazione automatica è stata aggiunta la possibilità di definire una propria lista di pacchetti da installare, senza limitarsi ai modelli predefiniti. Non è previsto l'inserimento della possibilità di installazione selettiva dei pacchetti nell'interfaccia web (la selezione sarà limitata a pacchetti tematici).
- Nella modalità di installazione automatica è stata aggiunta la supporto per URL in stile AutoYaST (ad esempio, device://), consentendo il caricamento di script di installazione da luoghi utilizzati in AutoYaST. Oltre a "file:" e "http:", è stata implementata la supporto per gli schemi URL "device:", "usb:", "label:", "HD:", "DVD:" e "cd:".
- Implementata la possibilità di ricerca automatica delle impostazioni per l'installazione automatica, utilizzata se l'URL dello script di installazione non è specificato esplicitamente. Durante la ricerca, Agama verificherà la presenza dei file autoinst.jsonnet, autoinst.json e autoinst.xml nella directory principale e nella directory OEMDR.
- È stata aggiunta la supporto per il deploy di file arbitri durante l'installazione. Tali file devono essere definiti nella configurazione tramite l'elemento . È possibile sia il caricamento di file esterni server, sia l'integrazione di file direttamente nella configurazione dell'installazione automatica.
Fonte: opennet.ru


