LTSP: configurazione per uso scolastico Liceo Majorana Orvieto marzo 2009 1 Premessa Linux è il kernel (nucleo o cuore) di un sistema operativo creato agli inizi degli anni ’90 come clone del kernel di Unix. Con il termine GNU/Linux si indicano i sistemi operativi basati sul kernel Linux corredato dei software di sistema prodotti negli anni dal progetto GNU. GNU/Linux è quindi un sistema operativo completo. GNU/Linux è nato su Internet come frutto di collaborazione su vasta scala seguendo un modello di sviluppo possibile solo nell’ambito del software libero. Una delle caratteristiche che ne consegue e la estrema modularità: per esempio l’interfaccia grafica viene realizzata utilizzando una architettura client - server che ne permette un uso molto flessibile. Sia il server grafico che le applicazioni grafiche sono “programmi” che possono essere installati o eseguiti a scelta dell’utente e non sono vitali per il funzionamento del sistema operativo. Assemblare il kernel, le librerie, il software di sistema e gli applicativi è un’operazione piuttosto complessa: pertanto gli utenti di GNU/Linux abitualmente ricorrono alla installazione di una delle numerose distribuzioni disponibili ormai dagli anni ’90. Le distribuizioni GNU/Linux possono essere generalmente ottenute come software libero il cui download da Internet è permesso, incoraggiato e gratuito. Linux e il software del progetto GNU sono l’esempio per eccellenza di software libero tutelato dalla licenza GPL. 2 Distribuzioni Linux Presso il Liceo Majorana vengono utilizzate prevalentemente distribuizioni linux Debian e Ubuntu oltre alla distribuzione IPCop che è progettata esclusivamente per realizzare sistemi firewall. La distribuzione Debian è caratterizzata da grande stabilità e robustezza; include attualmente oltre 20000 pacchetti software; è molto curata dal punto di vista della sicurezza. La distribuzione Ubuntu è derivata dalla Debian ed è costruita con particolare attenzione al supporto per hardware recente, al supporto multi lingua e alla facilità di amministrazione e manutenzione tramite tool grafici che sono ritenuti più amichevoli dei corrispondenti a linea di comando. Attualmente sia in Debian che in Ubuntu è disponibile il pacchetto per l’installazione automatica del sistema LTSP. 1 Presso il Liceo Majorana è stato realizzato un server LTSP sulla distribuzione Debian “Squeeze” e un altro sulla distribuzione Ubuntu su una macchina della scuola primaria di Sferracavallo. 3 LTSP Il sistema LTSP permette di utilizzare computer vecchi, non più adatti a far girare i moderni sistemi operativi che richiedono abbondanti risorse di calcolo (CPU potenti) e di memoria (un sacco di RAM), come client grafici di una macchina relativamente potente sulla quale si possono concentrare gli sforzi finanziari e quelli di amministrazione e aggiornamento. La modularità di linux, e in particolare della sua interfaccia grafica, permette di avere in funzione il server grafico (Xserver) su un computer e l’applicazione grafica (per esempio firefox o openoffice) su un altro computer. 3.1 boot Un computer all’accensione esegue la procedura di boot (o bootstrap). Nel BIOS può essere configurata la sequenza dei dispositivi (per esempio floppy, CDROM, hard-disk) dai quali il computer deve tentare di fare il boot. Normalmente il boot viene fatto dall’hard-disk nel quale risiede un bootloader e il sistema operativo. Il bootloader risiede (normalmente) nel primo settore dell’hard-disk e mantiene informazioni relative alla collocazione del sistema operativo che dovrà essere caricato. Installando una distribuzione GNU/Linux viene usualmente installato anche un bootloader (per esempio Grub oppure Lilo) il quale può essere configurato in modo che, all’avvio del computer, venga mostrata una finestra per la scelta di uno tra due o più sistemi operativi disponibili. Quando viene installato un sistema MS-Windows succede invece che il bootloader viene installato, eventualmente sovrascrivendo quello già presente, senza che venga offerta la possibilità di una configurazione e quindi precludendo la possibilità di scegliere, tra quelli installati, quale sistema operativo avviare. Qualora nel BIOS il floppy sia il primo tra i dispositivi dai quali tentare il boot è possibile, inserendo un dischetto nel drive, avviare un sistema operativo diverso da quello/i che risiede/ono nell’hard-disk e registrato/i nel bootloader. 3.2 etherboot Esiste la possibilità di registrare in un floppy un minuscolo sistema operativo che ha l’unica funzione di caricare tramite la scheda di rete (scheda ethernet) un sistema operativo completo. La sequenza delle operazioni è piuttosto complicata ma il risultato è che viene interrogata la rete perché possa essere configurata la scheda ethernet (ottenendo un indirizzo IP e gli altri parametri da un server dhcp) e possa essere caricato il sistema operativo definitivo. In questo modo l’hard-disk non viene affatto utilizzato e potrebbe essere rimosso. Normalmente gli hard-disk dei vecchi computer disponibili nelle scuole non trovano applicazioni interessanti e quindi può essere conveniente allestire un intero laboratorio in modo che ogni macchina possa avviare (faticosamente) uno dei sistemi operativi presenti sul proprio hard-disk (tipico caso dei sistemi dual boot con windows 2 e linux) oppure possa (agevolmente) caricare dall’hard-disk solo il sistema etherboot da un piccolo file (circa 50kB) per poi completare l’avvio da rete tramite LTSP. Computer più recenti possono essere dotati di schede di rete che, opportunamente configurate nel BIOS, permettono il boot da rete senza bisogno di floppy o file caricati tramite bootloader. 3.3 server LTSP Affinché un laboratorio LTSP possa funzionare deve essere disponibile, acceso e raggiungibile nella LAN, un computer sul quale sia installata una distribuzione GNU/Linux completa e un server dhcp e il sistema LTSP. Quando il server LTSP riceve richieste dalle macchine della rete fornisce i parametri per la configurazione delle schede di rete e successivamente fornisce un intero sistema operativo che, mantenuto in RAM dalla macchina client, permette di far funzionare localmente il server grafico (X-window). Infine per ogni computer client collegato al server LTSP viene avviato un primo programma grafico la cui finestra viene visualizzata sul monitor del client: si chiama display manager e si tratta del programma che crea la finestra per l’inserimento delle credenziali di accesso affinché l’utente possa effettuare il login. Tutti gli utenti registrati sul server LTSP possono accedere (fare il login) sui computer client: sul server LTSP possono essere registrate anche centinaia o migliaia di utenti a seconda delle necessità e della capacità del disco. Le home directory di tutti gli utenti vengono immagazzinate (salvo particolari configurazioni) sul disco del server LTSP e quindi ogni utente ritrova i propri file e le proprie configurazioni (profilo) ogni volta e da qualunque computer client decida di accedere al sistema. In una scuola può essere opportuno creare sul server LTSP una coppia userIDpassword (cioè un account) per ogni utente della rete (docenti, alunni, personale non docente) oppure per ogni computer della rete: la prima soluzione richiede un certo sforzo di amministrazione ma garantisce di mantenere separati i file e profili di tutti gli utenti; la seconda soluzione permette di semplificare l’amministrazione. Per una scuola primaria può essere conveniente una soluzione mista: account personali per i docenti e account di macchina per gli alunni. E’ opportuno segnalare che: un difetto dei sistemi LTSP consiste nel fatto che se il computer server si rompe o si spenge, accidentalmente o per black-out, tutta la rete smette di funzionare e eventuali file aperti in RAM e non salvati vengono persi. 3.4 le applicazioni Per evitare confusione, è opportuno sottolineare che una conseguenza della struttura client-server della grafica di Linux, e quindi del sistema LTSP, consiste nel fatto che il server grafico X-window viene eseguito su ogni computer client mentre le applicazioni (cioè i client grafici) vengono eseguite sul computer server LTSP. Quindi con il boot LTSP ogni client carica dalla rete un sistema operativo in grado di far funzionare il server X-window (e questo impone che la scheda grafica locale sia supportata) ma i programmi, a cominciare dal display manager (per es. GDM) e poi il 3 desktop manager (per es. GNOME) e poi le applicazioni (per es. Gimp, Abiword ecc.) vengono eseguiti in remoto sul server LTSP. Abbiamo verificato che, grazie alla gestione efficiente della memoria RAM e del disco da parte di Linux, un computer con CPU recente e ragionevolmente veloce (per es. 1800MHz) e una RAM da 1GB può funzionare da server LTSP per una rete con 15 client sui quali altrettanti utenti eseguono applicativi pesanti: openoffice, firefox, gimp. L’amministratore del server LTSP può concedere privilegi agli utenti del sistema in modo che possano montare1 dispositivi locali come CD-ROM o memorie flash su porta USB. Inoltre il sistema LTSP permette di esportare e riprodurre sui computer client i segnali audio prodotti dalle applicazioni che girano in remoto. 4 XDMCP E’ possibile eseguire applicazioni remote utilizzando un server grafico locale anche senza utilizzare il sistema LTSP. Se nel disco del computer locale è stato installato un sistema linux con interfaccia grafica e con un display manager (per es. GDM) per il login grafico allora è possibile selezionare tra le opzioni (con il mouse o digitando F10) un collegamento su protocollo XDMCP: questa operazione avvia una scansione della rete alla ricerca di computer linux il cui display manager sia configurato per accettare richieste dalla rete; selezionando uno dei computer disponibili sarà possibile fare un login remoto e, quindi, eseguire tutte le applicazioni in modo analogo a quanto si fa con LTSP. Con questo meccanismo, tuttavia, non è possibile2 ottenere lo “streaming” dei segnali audio dalle applicazioni remote verso i computer client e il “montaggio” dei dispositivi locali. 5 Xserver in ambiente MS-Windows Poiché attualmente la dotazione software delle scuole consiste prevalentemente di sistemi operativi della famiglia Microsoft Windows è opportuno notare che esiste anche la possibilità di installare opportuni Xserver3 su questo tipo di sistemi operativi: quindi è possibile aprire una finestra con una sessione di login su un computer linux remoto e eseguire, in remoto, applicazioni linux catturandone l’output grafico nel sistema locale windows. 1 non è un’oscenità: significa effettuare l’operazione di mount ovvero il collegamento di una risorsa al filesystem. 2 o per lo meno non è immediato. 3 purtroppo solo in rari casi disponibili come software libero. 4