Il comando fuss-server

Il comando fuss-server installa e configura la maggior parte del software da cui è composto un FUSS Server.

A partire da FUSS 13 (con Debian Trixie) le modalità di uso del comando sono cambiate, in particolare è stata introdotta una nuova interfaccia utente che consente di evitare di avere una fase di configurazione iniziale separata e permette di controllare tutti i parametri di configurazione in fase di creazione del server.

La nuova interfaccia di configurazione

Il nuovo fuss-server presenta un’interfaccia testuale semigrafica che consente di navigare, inserire, modificare, validare i parametri di configurazione del server su cui si usa il comando. I valori vengono presi dal file /etc/fuss-server/fuss-server.yaml, e nel caso questo file non contenga quelli richiesti, essi vengono precompilati con dei valori ragionevoli ricavati dalla configurazione corrente del server, che saranno da verificare ed eventualmente modificare.

Ci si può spostare tra i campi con le frecce su e giù, oppure si può usare il tasto enter per fare una prima validazione del campo corrente e se valido passare al campo successivo; nel caso ci siano problemi viene mostrato un pop-up esplicativo e il campo viene segnato con un * all’inizio.

Con il tasto F1 si può ottenere una descrizione del campo selezionato.

Premendo il tasto F10 viene rieffettuata la validazione di tutti i campi, sia individualmente come avviene premendo il tasto enter e in più la cross-validazione di alcuni campi i cui valori dipendono l’uno dall’altro: nel caso in cui ci siano problemi vengono evidenziati come prima, altrimenti i contenuti sono salvati in /etc/fuss-server/fuss-server.yaml.

Suggerimento

per comodità o in caso di problemi con l’emulatore di terminale usato, il tasto tab può essere usato al posto di enter, e il tasto F11 può essere usato al posto di F10.

Nel caso in cui la configurazione presente in /etc/fuss-server/fuss-server.yaml sia già completa e valida il l’interfaccia termina e prosegue l’esecuzione del comando.

Creazione del server

Con FUSS 13 non è più necessario eseguire una configurazione preventiva prima della creazione del server, e si deve utilizzare direttamente il comando fuss-server create. Questo innanzitutto verifica che i valori in /etc/fuss-server/fuss-server.yaml siano presenti e validi e in caso contrario presenta l’interfaccia di configurazione appena descritta, quindi usa ansible (mostrandone direttamente l’output) per installare e configurare tutto il software necessario.

Il comando fuss-server create può essere lanciato anche su una macchina già configurata, per aggiungere configurazioni di Reti Wifi, per ripartire nel caso in cui una run precedente si sia fermata con problemi (ad esempio nel caso in cui si sia persa connettività di rete), per applicare aggiornamenti o, con alcuni limiti ed accortezze (vedi Modifica delle configurazioni) cambiare alcuni dei valori in /etc/fuss-server/fuss-server.yaml su un server esistente.

Reti Wifi

Il FUSS Server prevede la presenza di alcune Reti WiFi opzionali; mentre la rete WiFi LAN è gestita interamente dal lato apparati, per le reti Guest e Devices sono previsti dei parametri di configurazione in /etc/fuss-server/fuss-server.yaml.

Per far sì che i parametri relativi ad una di queste reti vengano richiesti in fase di creazione è necessario usare le opzioni --wifi-guest e/o --wifi-devices rispettivamente. Queste possono essere indicate sia la prima volta che si esegue fuss-server create, che in eventuali esecuzioni successive, qualora le sudette reti vengano aggiunte in un secondo tempo. In questo caso verrà riaperta l’interfaccia di configurazione per impostare i valori dei parametri necessari.

Le esecuzioni successive del comando fuss-server create e di fuss-server upgrade verificheranno se il comando create è già stato lanciato con una di quelle opzioni almeno una volta, e nel caso eseguiranno automaticamente le parti ansible relative.

Le reti WiFi Guest e Devices possono essere configurate sia durante la prima esecuzione di fuss-server create che durante una esecuzione successiva, in tutti i casi devono però essere disponibili le relative interfacce di rete e devono essere indicate le rispettive opzioni --wifi-guest e/o --wifi-devices.

Aggiornamento

Quando si installa una versione aggiornata del pacchetto fuss-server può essere necessario applicare degli aggiornamenti alla macchina; per farlo (senza cambiare in alcun modo la configurazione) si deve usare il comando fuss-server upgrade.

Modifica delle configurazioni

Una volta che un FUSS server è stato configurato ed è in uso potrebbe insorgere la necessità di cambiare alcuni dei parametri impostati in /etc/fuss-server/fuss-server.yaml.

Qualora si vogliano effettuare queste modifiche, oltre alla modifica manuale del file, si può utilizzare il comando fuss-server reconfigure, che apre di nuovo l’interfaccia testuale di gestione della configurazione e permette di cambiare i valori impostati in fase di creazione, con gli stessi controlli di correttezza. Una volta completate le modifiche, se non vi sono errori, il comando si limiterà a salvare la nuova versione di /etc/fuss-server/fuss-server.yaml con le modifiche. Queste dovranno essere applicate eseguendo successivamente fuss-server create.

Si tenga conto che fuss-server reconfigure richiede di essere invocato in maniera coerente con la configurazione delle reti WiFi già presenti sul server: in particolare se è stata abilitata la rete Guest dovrà essere indicata l’opzione --wifi-guest e se è stata abilitata anche la rete Devices dovrà essere indicata anche la ulteriore opzione --wifi-guest.

Si tenga presente infine che non tutti i parametri di configurazione presenti in /etc/fuss-server/fuss-server.yaml possono essere modificati per ottenere una riconfigurazione del FUSS server, ed anche quando questo è possibile possono essere necessarie delle operazioni manuali aggiuntive; in particolare si applicano le seguenti condizioni:

localnet, dhcp_range

possono essere modificate seguendo le accortezze indicate in Modifiche della netmask della LAN o Modifica della rete LAN a seconda di cosa si voglia cambiare;

domain

questa modifica non è supportata, si esegua fuss-server purge e si ripeta il fuss-server create;

workgroup

questa modifica non è supportata, si esegua fuss-server purge e si ripeta il fuss-server create;

pass

questa modifica non è supportata, per modificare la password deve essere usato l’apposito script mpwchange.sh;

fuss_zone

si può passare da un valore non compreso tra le Zone note ad un altro valore, ad esempio per correggere errori di battitura, ma non è supportato il passaggio da una zona nota all’altra o ad un valore non noto (rimangono configurate le impostazioni per l’ultima zona nota usata): nel caso un server venga riutilizzato in un contesto scolastico diverso è comunque opportuno reinstallarlo;

external_ifaces

questa modifica non è stata provata, è comunque possibile, per i fuss-server installati come macchine virtuali su Proxmox, cambiare l’interfaccia fisica utilizzata dalla configurazione della VM.

internal_ifaces

questa modifica non è stata provata ma è comunque possibile, per i fuss-server installati come macchine virtuali su Proxmox, cambiare l’interfaccia fisica utilizzata dalla configurazione della VM.

guest_iface, guest_network

queste modifiche non sono state provate

devices_iface, devices_network

queste modifiche non sono state provate

In ogni caso è sempre disponibile il comando fuss-server purge che cancella tutte le configurazioni necessarie a poter rieseguire in sicurezza un fuss-server create ripartendo da zero con una nuova configurazione. Questa è la modalità suggerita per correggere un eventuale errore fatto in fase di configurazione inziale con fuss-server create.