Guida per il tecnico

Guida per il tecnico

Come funziona un laboratorio Nixorium e come gestirlo, dal primo controller alle modifiche di ogni giorno, agli aggiornamenti e al ripristino. Per il tecnico della scuola che conosce PC e reti, ma non Nix.

Per Nixorium 3.9.0

1. Come funziona, in breve

Un laboratorio Nixorium ha tre parti.

  • Il controller. Un PC dell’aula, uno libero oppure quello del docente. Custodisce la configurazione del laboratorio, prepara il sistema di ogni PC e lo distribuisce in rete locale da una cache di pacchetti firmata. Gestisce l’installazione da rete e la vista d’aula, ed è l’unica macchina che ha bisogno di Internet per installare e aggiornare.
  • La configurazione del laboratorio. Un repository Git privato nella home dell’amministratore sul controller, ~/nixorium-deployment. Descrive tutto il laboratorio: quanti PC, la rete, gli account, i programmi e il desktop degli studenti. La scrive il menu al posto tuo, dopo averti mostrato le modifiche.
  • I PC degli studenti. Ognuno si installa una volta dal controller, poi parte dal proprio disco e usa i programmi in locale: se il controller è spento la lezione continua, aspettano solo gli aggiornamenti e la vista d’aula.

Che cosa sta dove:

  • Sul controller: la configurazione del laboratorio con la sua storia, le chiavi private, gli hash delle password, la cache firmata.
  • Su ogni PC, controller compreso: il sistema installato, le versioni precedenti del sistema elencate nel menu di avvio, la home dello studente e i suoi cinque snapshot.
  • Lontano dal controller, se lo fai: il backup (un file cifrato su una chiavetta USB o un repository Git privato) e la passphrase che lo apre.

Gestisci tutto da un menu testuale, Nixorium: entra nel controller come admin e aprilo dalla dock, oppure scrivi nixorium in un terminale. Le aree sono Computers, Installation, Software e Maintenance, più Assistant, facoltativa. Ogni azione che modifica qualcosa mostra un riepilogo e aspetta la tua conferma.

Perché Git? Ogni salvataggio nel menu diventa un commit, e ogni sistema preparato dal controller porta con sé la revisione da cui viene. Un PC è aggiornato quando usa l’ultima revisione salvata: così il menu sa quali PC sono in pari. Git conserva anche la storia delle modifiche e si può copiare in un repository privato come backup.

Tutti i dettagli tecnici: Architettura → Modello del sistema.

2. Prima di iniziare

Ti servono:

  • due PC a 64 bit con UEFI che puoi cancellare: il controller e un primo PC per gli studenti;
  • una chiavetta USB con la ISO ufficiale di NixOS 26.05, Minimal (console testuale) o Graphical (GNOME);
  • Internet sul controller, che deve anche poter raggiungere i server orari su Internet, e una rete in cui i PC si vedono tra loro;
  • per l’installazione da rete, l’avvio da rete UEFI sui PC degli studenti.

Che cosa viene cancellato. L’installazione cancella tutto il disco che confermi, sul controller e su ogni PC. Non ridimensiona Windows e non conserva partizioni su quel disco. Windows su un secondo disco può restare: il menu di avvio lo trova (vedi il doppio avvio). Prima copia altrove quello che ti serve.

Chi deve esserci. Chi custodisce la password dell’amministratore, e qualcuno davanti a ogni PC mentre si installa: l’installer chiede, sullo schermo del PC stesso, quale computer è e quale disco cancellare.

Tre cose da concordare con chi gestisce la rete della scuola:

  • Una sottorete fissa per il laboratorio. Oltre all’indirizzo che ricevono dal DHCP della scuola, il controller e i PC hanno un indirizzo fisso del laboratorio in una sottorete IPv4 privata che scegli tu, per esempio 10.0.0.0/24. Non deve contenere l’indirizzo che il DHCP della scuola dà al controller: le impostazioni rifiutano la sovrapposizione. Una /24 ha 254 indirizzi utilizzabili.
  • L’interfaccia di rete. La procedura guidata propone la scheda del controller; i PC degli studenti di solito non richiedono impostazioni (vedi la sezione 4).
  • Il permesso per l’avvio da rete. L’installazione da rete avvia sul controller un servizio ProxyDHCP insieme al server DHCP della scuola, che continua ad assegnare tutti gli indirizzi: il controller dice soltanto ai PC che chiedono di partire dalla rete dove trovare l’installer. Isolamento delle VLAN, regole sul DHCP o un altro servizio sulle porte UDP 67/69 o TCP 8080 possono bloccarlo. Il Wi-Fi potrebbe non supportare l’avvio da rete; l’installazione da chiavetta USB funziona anche senza.

3. Installare il controller

Avvia il controller dalla ISO di NixOS in modalità UEFI, con Internet. La ISO Graphical è comoda quando la rete della scuola chiede di autenticarsi dal browser: fallo in Firefox, poi apri il Terminale (ignora “Install NixOS”). Esegui:

curl -fsSL https://nixorium.org/install.sh | bash

Il sito conta gli scaricamenti giornalieri di questo script, solo data e numero (privacy). Lo script ti fa scegliere la versione di Nixorium (ne propone una predefinita), poi chiede:

  1. la tastiera, da un breve elenco e applicata subito, così scrivi le password con quella giusta, poi il fuso orario;
  2. i nomi degli account del docente e dello studente (l’amministratore è sempre admin);
  3. tre password, amministratore, docente e studente, ognuna scritta due volte;
  4. il profilo iniziale dei programmi, per esempio Essential o Programming;
  5. il disco.

Non cambia nulla fino al riepilogo del disco, dove scrivi ERASE; se sbagli a scrivere la domanda viene ripetuta, una risposta vuota annulla. Lo script installa il controller e salva la configurazione del laboratorio in ~/nixorium-deployment, già registrata in Git. Togli la chiavetta, scrivi reboot, entra come admin e apri Nixorium. La prima volta mostra l’avvertenza d’uso e chiede se vuoi attivare le statistiche di adozione facoltative, che restano spente se non accetti.

Modalità solo controller. Un controller appena installato parte in modalità solo controller: non ci sono ancora PC degli studenti, quindi la rete del laboratorio, la cache e i servizi di controllo remoto sono spenti e il controller usa solo l’indirizzo del DHCP della scuola. Il laboratorio nasce la prima volta che apri Installation.

4. La rete del laboratorio

Due indirizzi sulla stessa scheda. Ogni macchina continua a usare il DHCP della scuola per indirizzo, gateway e DNS: gli studenti navigano come sempre. Sulla stessa scheda ogni macchina ha anche un indirizzo fisso del laboratorio: la base della sottorete più il suo numero. Con 10.0.0.0/24, pc01 è 10.0.0.1, pc02 è 10.0.0.2 e il controller, pc99 di serie, è 10.0.0.99. La gestione usa solo questi indirizzi fissi: il controller manda gli aggiornamenti e apre la vista d’aula passando da lì, e ogni PC degli studenti accetta SSH soltanto dall’indirizzo di laboratorio del controller. Su un PC degli studenti l’indirizzo fisso resta anche quando nessun server DHCP risponde.

Le impostazioni del laboratorio. La prima volta che apri Installation → Network boot (PXE) o Installation → USB over SSH, un modulo chiede la rete fissa del laboratorio e la lunghezza del prefisso, il numero di PC degli studenti (numerati da pc01), il numero del controller (più alto di quello di ogni PC, 99 di serie), l’indirizzo DHCP attuale del controller e le interfacce. Il menu li salva, crea le chiavi e applica la configurazione al controller, che diventa un controller di laboratorio con il suo indirizzo fisso. Con i PC degli studenti configurati, Change settings non modifica più sottorete, prefisso e numero del controller (codice NETWORK-LOCKED): i PC installati terrebbero i vecchi indirizzi e perderebbero il contatto. Il numero del controller resta fisso, quindi sceglilo una volta sola; sottorete e prefisso si cambiano solo con la procedura guidata qui sotto.

I nomi delle interfacce di rete. Tre impostazioni, in Maintenance → Change settings → Network:

  • Controller network interface: il controller usa sempre questo nome. La procedura guidata propone la scheda che porta il suo gateway; cambialo solo se cambi la scheda del controller.
  • Client computers’ network interface: lasciala vuota, come di serie. Ogni PC degli studenti mette allora l’indirizzo del laboratorio sulla sua scheda Ethernet cablata, qualunque nome abbia: PC di modelli diversi non richiedono nulla. Schede wireless, bridge e dispositivi virtuali non vengono mai scelti. Imposta un nome solo se tutti i PC hanno la scheda con lo stesso nome.
  • Shared fallback interface: la usa il controller quando il suo nome è vuoto. I PC degli studenti la ignorano, a meno che non sia impostato un nome per i client.

Un PC con più schede cablate richiede un’eccezione per quel computer (hostIfaceNames nella configurazione del laboratorio), altrimenti l’indirizzo va sulla prima scheda che si attiva, che può cambiare da un avvio all’altro. La stessa eccezione indica la scheda di un PC che deve usare il Wi-Fi. Cambiare un’interfaccia può scollegare i PC interessati quando la modifica viene applicata: il riepilogo ti avvisa, quindi controlla i cavi e tieni a portata di mano la console locale.

Wi-Fi. Se indichi una scheda wireless, l’indirizzo del laboratorio va su quella scheda, ma la rete Wi-Fi scelta nella sessione da chiavetta USB non viene copiata nel sistema installato: quella connessione va preparata a parte. L’account dello studente non può cambiare connessioni, radio o DNS; il docente e l’amministratore sì.

Spostare il laboratorio su un’altra rete. Con i PC configurati, Maintenance → Change network addressing (oppure nixorium network migrate) porta il controller e ogni PC su una nuova sottorete, per esempio da 10.0.0.0/24 a 10.1.0.0/24; ogni PC mantiene il suo numero. Prima accendi i PC, salva le modifiche in sospeso e ferma l’installazione da rete. Scrivi la nuova rete come indirizzo e prefisso, e il riepilogo elenca l’indirizzo del controller e di ogni PC prima e dopo e controlla che ogni PC risponda (un PC spento blocca la procedura finché non lo accendi o decidi di proseguire senza). Il salvataggio non cambia nessun PC. Poi vengono i due passi di sempre, Apply to controller e Update computers: finché non concludi, il controller risponde su entrambe le reti e ogni PC tiene il suo indirizzo precedente accanto al nuovo, quindi nessuno perde il contatto. La panoramica mostra la modifica in corso (NETWORK-CHANGING) con il suo passo successivo. Finish compare quando ogni PC usa la configurazione salvata e risponde al suo nuovo indirizzo, e Undo funziona in qualsiasi momento prima di allora. Poi ripeti la preparazione dell’installazione da rete: i file preparati contengono l’indirizzo del controller (dettagli).

L’ora. Il controller tiene esatto l’orologio del laboratorio sincronizzandosi con i server orari su Internet, quindi deve poterli raggiungere (UDP 123 in uscita), e dà l’ora solo alla rete del laboratorio, aprendo UDP 123 sulla scheda del laboratorio e da nessun’altra parte. Ogni PC chiede l’ora al controller e a nessun server orario su Internet: un PC con la batteria dell’orologio scarica parte con l’ora giusta anche se non ha Internet, e certificati, date dei file e registri restano corretti. Se il controller non raggiunge Internet, continua comunque a dare la propria ora, a partire da cinque minuti dopo l’avvio. Non c’è niente da configurare: la modifica arriva a ogni PC al suo prossimo aggiornamento e al controller quando lo applichi, e un controller in modalità solo controller mantiene le impostazioni dell’ora che aveva (dettagli).

Che cosa cambia l’installazione da rete, e che cosa lascia. La preparazione costruisce l’installer e il sistema di ogni PC e registra l’indirizzo DHCP attuale del controller; la rete per ora non cambia. Quando la avvii (Invio nel suo riepilogo), il controller registra la sessione, toglie dalla scheda il suo indirizzo fisso del laboratorio e mette a disposizione i file di avvio e la cache firmata sul suo indirizzo DHCP. Un PC che parte dalla rete prende l’indirizzo dal DHCP della scuola, carica l’installer dal controller e scarica il suo sistema dalla cache, verificato con la chiave di firma. Quando fermi l’installazione da rete il controller rimette il suo indirizzo fisso; dopo un’interruzione di corrente fa lo stesso all’avvio. Finché è attiva, le altre operazioni, come gli aggiornamenti e i comandi della vista d’aula, vengono rifiutate con il codice PXE-ACTIVE: fermala quando l’aula è installata. Se il DHCP della scuola dà al controller un nuovo indirizzo, basta ripetere la preparazione (dettagli). Sul PC installato non resta niente di temporaneo: parte con il suo indirizzo DHCP più quello fisso del laboratorio. L’installazione da chiavetta USB non tocca mai l’indirizzo del controller.

Tutti i dettagli tecnici: Architettura → Installazione da rete.

5. Il primo PC degli studenti

Installa un solo PC e controllalo prima degli altri.

Avvio da rete. Installation → Network boot (PXE) mostra un passo alla volta: preparare i file, avviare, installare e, se serve, ripristinare la rete. Fai partire il PC dalla rete, con l’avvio da rete UEFI prima del disco. L’installer si apre da solo sul suo schermo, mostra hardware e dischi e chiede quale computer configurato è. Rifiuta un’identità se il suo indirizzo del laboratorio risponde già, ma un indirizzo che tace non è per questo libero: tieni tu un elenco di quale PC è quale. Propone solo dischi con spazio per il sistema più 2 GiB. Nel riepilogo di identità e disco scrivi ERASE. Installa dalla cache del controller, verifica il risultato, poi chiede «Reboot now? [y/N]»: rispondi y, oppure premi Invio per restare nell’installer. Nell’ordine di avvio del PC metti l’avvio da rete dopo il disco, così parte dal proprio disco. Se l’installazione da rete si è interrotta, quella schermata diventa Recover the controller network: dice in parole semplici che cosa ha trovato, e Invio riporta la rete del controller alla normalità senza toccare nessun PC degli studenti.

USB over SSH. Usalo quando il PC non può partire dalla rete o ha solo il Wi-Fi. Avvia il PC dalla ISO di NixOS (Minimal con 4 GB di RAM o meno), collega il Wi-Fi con nmtui se serve, e nella sua console esegui:

passwd
systemctl is-active sshd
ip -4 -br address
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Tieni visibile quello schermo. Sul controller scegli Installation → USB over SSH, seleziona il computer e inserisci solo l’indirizzo IPv4 del PC. Il controller legge la chiave SSH del PC senza mandare password e mostra la sua impronta SHA256:. Confrontala con quella sullo schermo del PC e scrivi MATCH: solo allora chiede la password temporanea, che così arriva soltanto al PC che hai davanti. Scegli il disco e conferma il riepilogo. Togli la chiavetta solo quando lo schermo lo dice, poi conferma il riavvio; il controller verifica il PC installato al suo indirizzo del laboratorio. Se l’installazione si ferma a metà, la schermata si apre come Resume or close the USB installation: dice se il PC risponde ancora dalla chiavetta USB e se il suo disco è stato toccato, e propone solo le uscite sicure, come Resume the installation o Cancel safely. Per chiudere la voce dopo che il disco è stato scritto devi digitare CLOSE.

Controlla prima di andare avanti:

  • il PC parte dal suo disco e apre il desktop dello studente, e i programmi, la tastiera, lo schermo e le periferiche delle tue lezioni funzionano;
  • entrando nel controller come docente, Classroom view mostra lo schermo del PC;
  • Computers → Computer inventory indica il PC come aggiornato;
  • un file di prova salvato dallo studente sparisce dopo il riavvio e si ritrova negli snapshot (vedi la sezione 7);
  • un aggiornamento da Computers → Update computers va a buon fine.

6. Il resto dell'aula, e il primo backup

Con l’installazione da rete attiva, fai partire dalla rete gli altri PC uno dopo l’altro, scegliendo ogni identità e scrivendo ERASE davanti a ciascuno. Poi ferma l’installazione da rete, che restituisce al controller il suo indirizzo fisso. Per aggiungere PC in seguito, aumenta il numero di computer in Maintenance → Change settings → Computers, applica e ripeti la preparazione dell’installazione da rete.

Poi fai un backup con Maintenance → Back up lab: è ciò che permette a un nuovo controller di prendere in carico l’aula senza reinstallare i PC. Due tipi:

  • File cifrato: tutta la configurazione del laboratorio, la sua storia, le chiavi private e gli hash delle password in un unico file cifrato con la tua passphrase. Per una chiavetta USB, montala e indica la sua cartella.
  • Repository Git privato: un repository privato su GitHub o GitLab, raggiunto via SSH. Chiavi e hash delle password viaggiano cifrati in un file di ripristino; la configurazione resta leggibile ai membri del repository. Dopo il primo backup verificato, ogni modifica salvata viene inviata mentre Nixorium è aperto.

Usa una passphrase di almeno 12 caratteri e tienila lontano dal controller: Nixorium non la salva mai. La schermata iniziale del menu ti ricorda quando serve un backup (codice BACKUP-DUE): per il file, quando configurazione, chiavi o password sono cambiate dall’ultimo o dopo 30 giorni; per Git, quando cambiano chiavi, password o computer fidati, per esempio dopo aver installato un PC. Un promemoria non blocca mai nulla.

Tutti i dettagli tecnici: Architettura → Limiti di rete e di fiducia.

7. Ogni giorno

Il docente entra nel controller e apre Classroom view dalla dock: tutti gli schermi insieme, uno schermo in una finestra a sé con Take control, e poi Lock (“Eyes on the teacher”), Share screen, Share files, Block/Allow Internet, Restart e Shut down. Internet torna quando un PC si riavvia; un PC spento compare come Off or not reachable. Nessuno di questi comandi cambia la configurazione del laboratorio. Continuano a funzionare mentre l’amministratore aggiorna i computer: viene lasciato in pace solo un PC che si sta aggiornando, o il cui ultimo aggiornamento si è interrotto, e il riepilogo lo dice.

Save screenshot, Collect from students’ desktops e Switch on completano questi comandi. Save screenshot, nella finestra di un solo PC, salva un’immagine del suo schermo in Nixorium/Screenshots, nella home di chi usa la vista d’aula; funziona solo finché lo schermo è in diretta, quindi un PC spento, dietro il proprio blocco schermo o senza nessuno che abbia fatto l’accesso non ha nulla da salvare. Collect from students’ desktops, nel menu Share files insieme a Send a folder… e Send a file…, copia i file presenti sui desktop dei PC selezionati in Nixorium/Collected, nella stessa home, una cartella per PC, dopo un riepilogo: i file nascosti e i collegamenti restano fuori, sui PC degli studenti non cambia nulla, e un PC con più di 2000 elementi o 500 MB viene segnalato e non ne viene salvato nulla. Aggiorna prima i PC: uno non aggiornato risulta non ancora pronto per la raccolta. Switch on, sotto Power nella vista d’aula e in Computers → Power controls, invia un pacchetto Wake-on-LAN ai PC selezionati che sono spenti. Un pacchetto inviato non prova che il PC si accenda: il suo firmware (BIOS/UEFI) deve permettere la riattivazione dalla rete, il PC deve essere stato riavviato una volta dopo l’aggiornamento dei client che abilita Wake-on-LAN, e deve restare collegato alla corrente. Nessuno digita un indirizzo: il controller impara da solo l’indirizzo della scheda di rete di ogni PC mentre il PC è acceso e la vista d’aula è aperta oppure è in corso Computer inventory, e un PC di cui non conosce ancora l’indirizzo viene saltato (dettagli).

Message → Send a message… mostra un testo di al massimo 300 caratteri sugli schermi dei PC selezionati, davanti a tutto, anche al blocco schermo o a uno schermo condiviso. Resta finché lo studente lo chiude (Close compare dopo 10 secondi), per 30 secondi o 2 minuti, oppure finché non sblocchi il PC; Remove message lo toglie. Gli studenti conservano tastiera e mouse, a meno che il PC non sia bloccato, e uscendo dalla sessione il messaggio sparisce. Aggiorna prima i PC e fai rientrare gli studenti: uno non aggiornato risulta non ancora pronto per i messaggi (dettagli).

Per preparare l’aula a una verifica, usa Internet → Block Internet, Lock e Message uno alla volta, poi Share files → Collect from students’ desktops.

Schedule accende e spegne da solo i PC degli studenti. Apri Power → Schedule… nella vista d’aula (Save e Clear), oppure usa nixorium schedule set --on 07:50 --off 18:00 in un terminale, come docente o amministratore. Ha al massimo un orario di accensione e uno di spegnimento, per i giorni della settimana che scegli (dal lunedì al venerdì se --days non dice altro), secondo il fuso orario del controller. L’accensione è la normale Switch on, quindi valgono le condizioni sopra e un PC di cui non si conosce ancora l’indirizzo di rete viene saltato. Lo spegnimento non interrompe mai una persona: un PC che qualcuno sta usando, o la cui sessione non si riesce a leggere, resta acceso. Se un’installazione da rete o via USB impedisce la partenza, riprova ogni minuto per dieci minuti e poi rinuncia per quel giorno. Un aggiornamento dei computer non lo ferma: lo spegnimento lascia accesi solo i PC in aggiornamento e ne dice il motivo. L’orario è salvato solo sul controller, fuori dalla configurazione e dal backup: va impostato di nuovo dopo aver sostituito il controller (dettagli).

A ogni avvio di un PC, prima della schermata di accesso, parte il ripristino della home. La home precedente dello studente diventa uno dei cinque snapshot a rotazione, in sola lettura e senza i dati temporanei come i pacchetti npm globali, le immagini Docker e gli accessi salvati. Poi viene ripristinata una home pulita dall’ambiente di lavoro preparato, e la sessione dello studente si apre da sola. Il docente trova gli snapshot in Snapshots, nella barra laterale di File, entrando su quel PC. Gli snapshot stanno sullo stesso disco, quindi non sono backup: un disco guasto li perde, e una sessione sparisce dopo altri cinque avvii. Il lavoro da conservare va su una chiavetta USB o sul cloud della scuola. Se un ripristino non riesce a finire, il PC blocca l’accesso: non ripeterlo, fai leggere prima il registro all’amministratore (dettagli).

Account.

  • admin, l’amministratore: possiede la configurazione del laboratorio sul controller, con sudo e SSH.
  • Il docente: una home che si conserva, la vista d’aula con i suoi comandi e la lettura degli snapshot.
  • Lo studente: un unico account condiviso su ogni PC, che entra da solo, senza diritti di amministratore e con la home ripristinata a ogni avvio. La sua password è la stessa ovunque.

Gli account fanno parte della configurazione, quindi passwd non li cambia. Usa Maintenance → Change settings → Accounts, con Change account names e Change account passwords. Una nuova password vale sul controller quando applichi la configurazione, e su ogni PC quando lo aggiorni. Un account rinominato parte con una home nuova e vuota.

8. Cambiare qualcosa

Ogni modifica segue la stessa strada: la prepari nel menu, la rivedi, la salvi (un commit nella configurazione del laboratorio), poi la applichi. Il solo salvataggio non cambia nessun PC acceso.

  • Programmi. In Software cerca nell’insieme di pacchetti fissato dal laboratorio, oppure scegli un suggerimento o un intero profilo (p). Decidi dove va: condiviso (il controller e tutti i PC, presenti e futuri), solo il controller, tutti i PC degli studenti, un gruppo o PC scelti. Con Invio su un programma configurato ne cambi la destinazione (c) o lo togli (x).
  • Il desktop degli studenti. In Maintenance → Change settings → Student workspace modifichi dock, preferiti e desktop, il browser predefinito, le impostazioni e le estensioni di VS Code, e i file iniziali della home dello studente. Le estensioni gestite dal profilo restano la strada consigliata. Se il profilo ha l’estensione Java e i programmi includono un JDK, le sue impostazioni puntano a quel JDK. Anche un programma scaricato fuori da Nix, come un’estensione del Marketplace che porta con sé i propri binari, funziona per il personale, che conserva la home; le home degli studenti perdono queste installazioni al ripristino.
  • Impostazioni. In Maintenance → Change settings trovi rete, computer, account, impostazioni regionali, browser e Git.

Nulla viene scritto finché non confermi il riepilogo. La maggior parte dei riepiloghi si conferma con Invio (in un terminale nixorium chiede Continue? [y/N]); Esc annulla. Si scrive una parola solo prima di qualcosa che non si può annullare: cancellare un disco, azzerare il modello di configurazione, scartare modifiche non salvate, fidarsi della chiave di un nuovo computer, eliminare le versioni vecchie e, in un terminale, spegnere o riavviare PC che qualcuno sta usando. Poi ci sono due passi separati:

  • Apply to controller. Dopo un salvataggio il menu propone Apply to this controller; si trova anche in Maintenance → Advanced. Il controller costruisce la configurazione salvata e passa a quella, dopo un riepilogo che mostra cosa cambia. Serve dopo ogni modifica alle impostazioni. I programmi salvati come condivisi o solo per il controller lo fanno da soli, subito dopo il salvataggio.
  • Update computers. In Computers → Update computers, oppure con Update affected computers dopo aver salvato un programma, scegli i PC (n seleziona quelli da aggiornare; i PC il cui aggiornamento in coda è superato sono già selezionati) e premi Invio sul riepilogo. Il controller prima costruisce, poi ogni PC passa al nuovo sistema ricevuto dal controller, e il menu verifica quali PC usano ora la revisione approvata. Il log dell’aggiornamento mostra quando è iniziato ogni passo e quanto è durato, con il tempo totale alla fine.

Nulla arriva a un PC degli studenti finché non lo aggiorni. Un PC spento va in coda (opzione attiva di serie nel riepilogo). Un PC spento mentre l’aggiornamento viene costruito resta com’è e viene segnalato come non aggiornato, oppure va in coda anche lui se hai scelto così; non blocca mai gli altri PC. Il controller riprova ogni minuto e aggiorna insieme i PC in attesa che rispondono; se un’altra operazione è in corso, aspetta il minuto successivo. Computers → Queued updates li elenca. Una voce non viene applicata se nel frattempo la configurazione è cambiata: il prossimo Update computers seleziona per te quei PC, così il suo riepilogo li include. Mentre aggiorni i computer, i comandi dell’aula continuano a funzionare per gli altri PC. Dopo un aggiornamento il PC mostra una notifica: chiede un riavvio quando sono cambiati il kernel o systemd; altrimenti dice che l’aggiornamento è già attivo e suggerisce il riavvio solo se qualcosa non funziona come previsto. Un PC non si riavvia mai da solo. Le modifiche al desktop degli studenti compaiono al successivo avvio normale, quando la home viene ripristinata.

Annullare l’ultima modifica salvata. Quando l’ultima modifica salvata (impostazioni, programmi o ambiente degli studenti) dà problemi, torni alla configurazione salvata prima: in Maintenance → Review Git changes premi u (Undo the last saved change), oppure esegui nixorium git undo plan come admin. Il riepilogo mostra descrizione, data e file di quella modifica. Confermandolo con Invio (y in un terminale) si salva una nuova modifica, “Undo: …”, e i file tornano indietro; la modifica annullata resta nella cronologia e non viene inviato nulla. Nessun PC cambia ancora: esegui Apply to controller e poi Update computers, come per ogni modifica. Prima salva o scarta le altre modifiche non salvate. Si può annullare solo l’ultima modifica, una volta, e solo una modifica salvata ordinaria: rifiuta, e indica il passo successivo, quando quella modifica è la prima versione salvata, un’unione o già un annullamento, quando ha aggiornato Nixorium o la base dei pacchetti (vedi il ripristino degli aggiornamenti), quando ha registrato chiavi, quando fa parte di un cambio della rete del laboratorio, o quando i suoi file non possono tornare indietro in sicurezza (dettagli).

Tutti i dettagli tecnici: Architettura → Aggiornamenti del sistema.

9. Aggiornare

Due aggiornamenti separati, entrambi in Maintenance:

  • Update Nixorium cambia il framework: menu, moduli e programma di gestione. Elenca le versioni pubblicate, di serie quelle stabili, e nasconde quelle più vecchie della versione configurata: il menu non propone mai di tornare a una versione precedente. Cambia solo flake.nix e flake.lock.
  • Update system and packages porta NixOS e tutti i pacchetti a una revisione più recente dello stesso canale. Passare a un’altra versione di NixOS è una scelta separata ed esplicita (m), in cui confermi di sapere che la compatibilità non è verificata.

Entrambi compilano davvero la nuova versione proposta e mostrano la modifica; Invio la salva, poi ricostruisce e verifica il controller. Dopo Update Nixorium l’interfaccia si riapre da sola sulla nuova versione dopo qualche secondo (Invio per farlo subito, Esc per restare su quella in uso). I PC tengono il loro sistema finché non li aggiorni: aggiorna un PC, controllalo, poi gli altri. Prima di installare altri PC, ripeti la preparazione dell’installazione da rete. Se poi Update computers dice PIN-OUTDATED, apri Maintenance → Update Nixorium, scegli la versione configurata, indicata come “Current · select to repair”, e conferma.

Versioni del sistema e menu di avvio. Ogni applicazione al controller e ogni aggiornamento di un PC aggiungono su quella macchina una nuova versione del sistema, una generazione; le vecchie restano, e il menu di avvio (GRUB) ne elenca fino a dieci. Se un PC, o il controller, non parte più o perde la rete dopo un aggiornamento, riavvialo e scegli nel menu di avvio la versione precedente del sistema, PC per PC, poi correggi la configurazione prima di applicarla di nuovo; un PC senza rete non si ripara dal controller. Tornare indietro cambia il sistema, non i dati come un database già migrato. Le vecchie versioni occupano spazio: il menu avvisa quando il disco del controller è quasi pieno, e Maintenance → Advanced → Free disk space tiene le dieci più recenti, quella in uso e quella con cui il PC è partito; per confermare si scrive CLEAN.

10. Quando qualcosa va storto

Quando qualcosa blocca un’operazione, il menu dice in una frase semplice che cosa si è fermato, perché e che cosa fare dopo. Premi Invio su quell’avviso per aprire la schermata che risolve il problema; Esc la chiude, e d mostra il messaggio tecnico. La schermata iniziale elenca ciò che si è interrotto con le stesse parole, e ogni rifiuto indica un codice. Non cominciare cancellando file, chiavi o indirizzi.

Sintomo Che cosa fare
Un PC non parte dalla rete Controlla che l’installazione da rete sia attiva, che l’avvio da rete preceda il disco e che il PC sia sulla rete del laboratorio. Guida
L’installer si carica ma fallisce Ferma l’installazione da rete, ripeti la preparazione, poi riavviala. Guida
Un PC installato non si vede Controlla alimentazione, cavo e indirizzo del laboratorio; con due schede cablate serve un’eccezione per l’interfaccia. Guida
Un PC compare come Off or not reachable È spento, o la rete non lo raggiunge: Computer inventory dice quale dei due. Guida
Un aggiornamento è rimasto in sospeso (DEPLOY-PENDING) Apri Review the interrupted update (Invio sull’avviso, o dalla schermata iniziale). Mostra per ogni PC se ha finito, sta ancora aggiornando o non risponde: premi c per proseguire senza i PC che non rispondono, poi Invio per segnare l’aggiornamento come controllato. Sui PC non cambia nulla; poi aggiorna di nuovo. La manutenzione aspetta, mentre i comandi dell’aula (Internet, spegnimento, riavvio, l’orario) funzionano ancora: lasciano in pace solo i PC nominati dall’aggiornamento. Update Nixorium e Apply to controller continuano a funzionare, e se una versione più vecchia rifiuta ancora di attivare il controller, vedi l’ultima risorsa. Guida
Apply to controller non è riuscito Leggi l’errore indicato, correggilo, poi rifai il riepilogo. Guida
Dopo un aggiornamento un PC non parte più Scegli nel menu di avvio la versione precedente del sistema, poi correggi la configurazione. Guida
Backup più vecchio di 30 giorni (BACKUP-DUE) Fanne uno nuovo con Maintenance → Back up lab. Guida
Uno studente ha perso un file Come docente su quel PC, apri Snapshots in File. Guida
Il controller è guasto o va sostituito Installane uno nuovo con lo stesso numero e la stessa rete, poi Maintenance → Restore lab; i PC non vanno reinstallati. Guida
Un salvataggio o un ripristino del modello si è interrotto Apri la voce in sospeso nella schermata iniziale, Finish or undo the reset, e leggi che cosa ha trovato. Se nessun file cambia, basta Invio; solo per file vecchi e nuovi mescolati scrivi RESTORE. Non cancellare nulla. Guida
Un’installazione da USB o da rete si è interrotta Apri Resume or close the USB installation o Recover the controller network dalla schermata iniziale o dalle schermate Installation e segui ciò che propone. Con un’installazione da USB non finita Update Nixorium e Apply to controller restano disponibili, tranne mentre si scrive il disco del PC; un’installazione da rete ancora aperta li ferma. Guida
Il docente vede un codice come OP-BUSY Aspetta la fine dell’operazione in corso, o segui la riga di quel codice. Guida

11. Assistant

Assistant è un servizio facoltativo a pagamento nel menu dell’amministratore. Descrivi una modifica con parole tue; rivedi la sua proposta prima di salvarla, poi applichi e aggiorni come sempre. Per un programma distribuito come download (AppImage, deb o tarball), scarica il file una sola volta sul controller e fissa da solo il suo hash, quindi non devi calcolare nulla. Se nulla è cambiato dopo la valutazione fatta da Assistant, il riepilogo la riusa e dice quanto tempo fa è stata verificata, invece di valutare di nuovo il laboratorio. Se il servizio interrompe una risposta, Assistant lo dice e ti chiede di inviare di nuovo il messaggio. In una chat ripresa in sola lettura le frecce scorrono la conversazione; Tab sceglie tra continuare in una nuova chat e tornare indietro. Nixorium funziona completamente anche senza (piani e prova gratuita).

12. Limiti e cautele

  • L’installazione cancella tutto il disco confermato, Windows compreso se sta su quel disco.
  • Gli snapshot restano sullo stesso disco e ruotano dopo cinque avvii: non sono backup.
  • Gli account sono locali e fissi: un amministratore, un docente e un account condiviso per gli studenti, con la stessa password su ogni PC. Non ci sono accessi personali per studente né un elenco utenti della scuola.
  • Non esiste un’installazione automatica: qualcuno conferma ogni PC davanti al suo schermo, o la sua impronta via SSH.
  • L’avvio da rete può non funzionare via Wi-Fi, o con alcuni firmware e reti scolastiche; l’alternativa è USB over SSH.
  • “Monitoring stopped on this PC” è un aiuto per la lezione, non una garanzia di sicurezza. Uno studente non può fermare la vista d’aula dal terminale della sessione: riparte entro pochi secondi e nel frattempo la scheda lo dice. Se uno studente maschera la sua unità systemd, la vista d’aula torna solo al riavvio successivo, quando la home viene ripristinata.
  • Le versioni sono verificate su macchine virtuali: inizia con un controller e un PC tuoi.

Guide complete

In inglese, alla revisione di Nixorium descritta in questa pagina: