Installazione di un terminal server con Ubuntu e LTSP
- 1 Installazione di un terminal server con Ubuntu e LTSP
- 2 Installazione di Ubuntu
- 3 Installazione di LTSP
- 4 Creazione di un floppy di boot per l'x-terminal
- 5 TODO
Installazione di un terminal server con Ubuntu e LTSP
In questa pagina viene descritta l'installazione di un terminal server, usando la distribuzione Ubuntu e il Linux Terminal Server Project. Questa soluzione è stata adottata per poter recuperare computer obsoleti o in alternativa utilizzare un numero maggiore di postazioni senza modificare il sistema preinstallato.
Concetti di base
La rete che si andrà a creare si basa su un'architettura client/server; il server in questo caso fornirà ai client un indirizzo IP, il kernel per potersi avviare e un file system minimo per poter avviare l'X server. L'X server che gira sul client a sua volta eseguirà una query tramite il protocollo xdmcp verso il server, avendo in tal modo accesso alle risorse che il server mette a disposizione. La soluzione adottata permette di utilizzare computer obsoleti, con scarse risorse, in quanto il carico maggiore viene affidato al server. Come detto in precedenza sul cliente non viene installato alcun sistema operativo sull'eventuale disco rigido; il boot viene eseguito tramite un floppy oppure, se questa è abilitata, attraverso la scheda di rete.
Installazione di Ubuntu
Per l'installazione vi rimandiamo al sito ufficiale. In aggiunta installare i seguenti pacchetti:
- libwww-perl (usato dal tool di installazione di ltsp)
- dhcp3-server
- tftpd-hpa
- nfs-user-server
Nota: il pacchetto nfs-user-server si trova nel repository "universe"; abilitare la corrispondente linea nel file /etc/apt/sources.list
Installazione di LTSP
Scaricare l'installer dal sito di LTSP (in questa guida viene usata la versione 4.1) e scompattare l'archivio. Entrare nella directory ltsp-utils ed eseguire lo script install.sh, quindi eseguire lo script ltspadm Nella schermata iniziale selezionare la linea "Install/Update LTSP Packages"; verra richiesto di configurare quale mirror usare (lasciate pure quello di default) e l'eventuale proxy (il file di configurazione è /etc/ltsp.conf). Dopo aver scaricato la lista degli archivi disponibili chiede quali vogliono essere installati; digitate la lettera "A" e quindi "Q"; il tool provvede a scricarli ed installarli nella directory /opt/ltsp Terminato il download e l'installazione si ritorna al menu pricipale; selezionare "Configure LTSP". Viene eseguita una check list dei servizi disponibili e a seguire viene proposta la possibilità di configurarli.
Configurazione di LTSP
tftp
Controllare che il servizio sia abilitato nel file /etc/inetd.conf; sostituire la directory /var/lib/tftpboot con /tftpboot ed eseguire un hungup del demone inetd.
dhcp server
File di configurazione /etc/dhcp3/dhcpd.conf
%%(Bash) # General options default-lease-time 21600; max-lease-time 21600; # Bootp options allow booting; allow bootp; # Network options option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.1; option domain-name-servers 194.20.8.1; option log-servers 192.168.1.1; option domain-name localdomain; # LTSP options path option root-path "192.168.1.1:/opt/ltsp/i386"; filename "/lts/vmlinuz-2.4.26-ltsp-3"; subnet 192.168.1.0 netmask 255.255.255.0 { host xt001 { hardware ethernet 00:E0:18:88:20:8A; fixed-address 192.168.1.100; } } %%
In questo esempio il terminal server ha indirizzo IP 192.168.1.1 e l'x-terminal 192.168.1.100, quest'ultimo fissato tramite il mac-address. Lo stesso terminal server riceve i log dagli x-terminal (opzione log-servers).
Nel file /etc/hosts dichiarare nome e IP degli x-termial
%%(Bash) 192.168.1.100 xt001 %%
syslog
Nel syslog del terminal server abilitare l'opzione per ricevere i log dagli x-terminal, inserendo l'opzione "-r" nel file /etc/init.d/sysklogd
%%(Bash) SYSLOGD="-u syslog -r" %%
nfs server
Inserire il file system da esportare nel file /etc/exports
%%(Bash) /opt/ltsp 192.168.1.0/255.255.255.0(ro,no_root_squash,sync) /var/opt/ltsp/swapfiles 192.168.1.0/255.255.255.0(rw,no_root_squash,async) %%
Il secondo file system esportato viene usato per creare i file di swap degli x-termial. Se non esiste la direcory crearla con il comando:
%%(Bash) mkdir -p /var/opt/ltsp/swapfiles %%
GDM
Nel file /etc/gdm/gdm.conf modificare le seguenti opzioni (in alternativa menu Sistema -> Amministrazione -> Impostazione della schermata di login)
%%(Bash) [daemon] TimedLoginEnable=true TimedLogin=/usr/local/sbin/autologin.sh| TimedLoginDelay=5 [security] AllowRemoteAutoLogin=true [xdmcp] Enable=true %%
Le prime quattro opzioni abilitano il login automatico sugli x-terminal; l'ultima abilita il protocollo xdmcp. Lo script autologin determina il nome dell'x-terminal dalla variabile $DISPLAY, per essere usato da gdm come utente di login. Questa soluzione è stata esposta nella"http://www.mail-archive.com/
%%(Bash) #!/bin/bash #---- autologin.sh ---- HOSTNAME=`echo ${DISPLAY} | cut -f1 -d: | awk -F . {' print $1 '}` echo $HOSTNAME exit 0 %%
lts.conf
Il file /opt/ltsp/i386/etc/lts.conf viene usato per la configurazione dell'x-terminal; Il significato id ogni variabile viene riportato nella documentazione del progetto LTSP.
%%(Bash) [Default] SERVER = 192.168.1.1 DNS_SERVER = 194.20.8.1 XDM_SERVER = 192.168.1.1 XKBLAYOUT = it XKBMODEL = pc104 X_MOUSE_PROTOCOL = "PS/2" X_MOUSE_DEVICE = "/dev/psaux" X_MOUSE_BUTTON = 3 USE_XFS = N USE_NFS_SWAP = Y SWAPFILE_SIZE = 128m LOCAL_APPS = N SCREEN_01 = startx SCREEN02 = shell [xt001] XF_86CONFIG_FILE = myXconfig %%
In particolare tramite la variabile USE_NFS_SWAP viene definito di usare il file di swap sul terminal server (vedi il file /etc/exports) e la sua dimensione (SWAPFILE_SIZE); non è necessario crearlo in quanto l'x-terminal se non trova il proprio file di swap, lo crea. Per ogni x-terminal si possono ridefinire delle nuove variabili o sovrascriverle; nel caso di xt001 viene indicato di usare myXconfig (si trova in /opt/ltsp/i386/etc) come file di configurazione di X; gli script durante l'avvio dell'x-terminal trovando questa variabile valorizzata non provederanno a creare un proprio file di configurazione.
Creazione di un floppy di boot per l'x-terminal
Il boot dell'x-terminal può essere esguito dalla rete o tramite un floppy di boot; in questo esempio si utilizza la seconda versione. Il sito ROM-o-matic.net fornisce immagini di boot per diverse categorie di schede di rete.
TODO
- Abilitare l'audio sugli x-terminal
- Rendere visibili il cdrom e floppy dell'x-terminal dalla sessione di gnome.
- Testare il boot da rete