Gli sviluppatori del progetto openSUSE hanno presentato il programma di installazione Agama 13, che è stato sviluppato per sostituire la classica interfaccia di installazione di SUSE e openSUSE e si distingue per la separazione dell'interfaccia utente dai componenti interni di YaST. Agama supporta l'utilizzo di diversi frontend, ad esempio un frontend per la gestione dell'installazione tramite interfaccia web. Il codice del componente di installazione è distribuito sotto la licenza GPLv2 e scritto in Ruby, Rust e JavaScript/TypeScript.
Per testare il nuovo programma di installazione, sono state create build live per le architetture x86_64, ppc64le, s390x e ARM64. Le build includono la versione alpha di openSUSE Leap 16, build di openSUSE Tumbleweed e openSUSE Slowroll costantemente aggiornate e un'edizione di MicroOS basata su container. Il programma di installazione sarà incluso in openSUSE 16 (disponibile la versione alpha) e SUSE Linux Enterprise Server 16 (la versione beta è prevista per maggio).
Gli obiettivi dello sviluppo di Agama sono eliminare le limitazioni esistenti dell'interfaccia grafica; ampliare le possibilità di utilizzo delle funzionalità YaST in altre applicazioni; abbandonare il vincolo con un solo linguaggio di programmazione; incoraggiare la creazione di contesti alternativi da parte dei rappresentanti della comunità. Il programma di installazione fornisce funzioni quali la selezione del set iniziale di applicazioni, la configurazione della connessione di rete, della lingua, della tastiera, del fuso orario e delle impostazioni di localizzazione, la preparazione del dispositivo di archiviazione e la divisione delle partizioni, l'aggiunta di utenti al sistema.
Per installare pacchetti, controllare apparecchiature, dischi di partizione e altre funzioni necessarie per l'installazione, Agama continua a utilizzare le librerie YaST, sopra le quali sono implementati servizi di livello che astraggono l'accesso alle librerie tramite un protocollo di comunicazione unificato basato su HTTP. Il programma di installazione utilizza un'architettura multiprocesso, grazie alla quale l'interfaccia utente non viene bloccata mentre vengono eseguite altre operazioni.
L'interfaccia base per la gestione dell'installazione è realizzata utilizzando tecnologie web. L'interfaccia web è scritta in JavaScript utilizzando il framework React e i componenti PatternFly. Un servizio di messaggistica, nonché un server http integrato, scritto in Ruby.

Nella nuova versione:
- Aggiunta pagina per la configurazione del nome host. In futuro, intendono creare una sezione "Sistema" con impostazioni di sistema basate su questa pagina.

- Aggiunta interfaccia per l'installazione tramite LVM (Logical Volume Manager). In precedenza, la definizione dei gruppi di partizioni LVM e delle partizioni logiche veniva implementata nella modalità di installazione automatica e nell'interfaccia della riga di comando, mentre ora è stata aggiunta all'interfaccia Web.

- Aggiunto supporto per la registrazione di componenti aggiuntivi in SUSE Customer Center per l'installazione su SUSE Linux Enterprise Server.
- La configurazione dell'installazione automatica ora supporta la definizione di un elenco personalizzato di pacchetti da installare, anziché limitarsi ai modelli predefiniti forniti. Non è previsto di aggiungere la possibilità di installare selettivamente pacchetti nell'interfaccia web (la scelta sarà limitata ai set tematici).
- È stato aggiunto il supporto per URL in stile AutoYaST (ad esempio device://) alla modalità di installazione automatica, consentendo il caricamento degli script di installazione dalle posizioni utilizzate da AutoYaST. Oltre a "file:" e "http:", è implementato il supporto per gli schemi URL "device:", "usb:", "label:", "HD:", "DVD:" e "cd:".
- È stata implementata la possibilità di cercare automaticamente le impostazioni per l'installazione automatica, utilizzata se l'URL dello script di installazione non è specificato in modo esplicito. Durante la ricerca, Agama verificherà la presenza dei file autoinst.jsonnet, autoinst.json e autoinst.xml nella directory radice e nella directory OEMDR.
- Aggiunto il supporto per la distribuzione di file arbitrari durante l'installazione. Tali file devono essere definiti nella configurazione tramite l'elemento È possibile caricare file da dispositivi esterni server, incorporando così i file direttamente nella configurazione dell'installazione automatica.
Fonte: opennet.ru


