|
Ri/Utilizzo
efficace di vecchi
computer in
una rete scolastica
Gian
Carlo Stagni
Vittoriano Lambertucci
|
per contatti: labinfo@keynes.scuole.bo.it
Indice dei contenuti.
:: Introduzione
::
Schema di funzionamento
::
Casi di studio
::
Capitolo
1: sequenza di avvio del servizio
::
Capitolo
2: installare e configurare LTSP sul server
::
Capitolo
3: installazione delle workstation
::
Capitolo
4: Screen Script (sessioni multiple dello schermo delle WS)
::
Capitolo
5: la scelta del kernel
::
Capitolo
6: le voci del file di conf lts.conf
::
Link utili
Introduzione.
Alcune
considerazioni preliminari...
Qual'è l'uso comune di un computer in una situazione scolastica?
- Scrivere documenti
- mandare email
- fare ricerche su internet
Qual'è la dotazione minima di un PC acquistabile oggi?
- Processore Pentium 4 3Ghz/AMD athlonXP 2800
- RAM 512 Mb
- HD 80/120/160 Gb
[spreco di risorse inutilizzare, consumi energetici elevati]
Il progetto LTSP (Linux Teminal Server Project)
fornisce un modo
semplice per utilizzare in modo più razionale le risorse HW e/o
(ri)utilizzare computer bsoleti come
terminali, collegandoli ad un server GNU/Linux piuttosto potente e dal
prezzo ragionevole.
In una tipica situazione scolastica i computer, basati su processori
Intel o compatibili, ognuno con molti Gb di spazio su disco
fisso, processori che da soli consumano oltre 100 Watt, si ha un
inaccettabile spreco di risorse.
Ha veramente un senso avere un computer completo su ciascuna scrivania?
Non sempre.
Utilizzando LTSP, si possono usare anche PC piuttosto datati o comunque
di scarse prestazioni. Basta, rimuovere, il disco rigido,
il floppy ed il CDRom, e, qualora non sia presente, aggiungere una
scheda ethernet con supporto
per il boot da rete.
Fattori
decisivi per la scelta:
A) - Risparmio
sull' hardware: sia riciclando vecchie macchine, sia acquistando ex
novo computer diskless.
B) - Risparmio
sul softtware: tutti i programmi in ambiente GNU/Linux non hanno costi
di licenza.
C) - Risparmio
energetico: non ci sono HD, Lettori CD, processori che consumano
energia (tranne sul server)
D) - Ampia
possibilità di personalizzazione dell'ambiente grafico (i vari
Gnome, KDE, WindowMaker, Fluxbox ecc)
E) -
Disponibilità di tutto il software anche didattico in ambiente
GNU/Linux.
F) -
L'installazione dei pacchetti avviene una volta per tutte solo sul
server.
G) - Si forza
l'utilizzo di GNU/Linux con computer che altrimernti resterebbero
inutilizzati rompendo la diffidenza iniziale degli utenti.
Schema
di funzionamento.
- Durante la fase di accensione (la fase di boot), il computer
senza
dischi ottiene le informazioni necessarie per far funzionare la rete
(indirizzo IP) ed il kernel Linux dal server, quindi accede ai dischi
(monta il root filesystem) tramite il servizio NFS, e carica
l'interfaccia grafica.
- Da
questo momento utilizzerà le risorse e le capacità di
elaborazione del server (RAM e
processore).
La cosa interessante è che si possono avere molte workstation
(22 nel nostro caso) servite da un solo server con sistema GNU/Linux.
Il numero dei terminali dipende dalla dimensione e dalle
capacità del server e da quali e quante applicazioni verranno
usate nello stesso momento.
Casi di studio.
- A questo link potete trovare una serie di Casi di studio e un
elenco di Istituzioni
scolastiche che utilizzano di LTSP, con molti dati tecnici.
Capitolo
1: sequenza di avvio del servizio.
Far partire (fargli fare il boot) un computer da usare come
terminale (workstation) che sia senza dischi richiede una sequenza di
operazioni che descriveremo di seguito.
La comprensione di cosa accade nei vari passi del
procedimento, renderà più facile risolvere eventuali
problemi.
Ci sono quattro servizi di base
che sono necessari per far partire una workstation (un terminale) con
LTSP.
Questi sono:
* DHCP
* TFTP
* NFS
* XDMCP
Ad essi aggiungiamo:
* LDAP
Ognuno dei servizi qui sopra
elencati può essere fornito dallo stesso server o da più
server. Negli esempi descriveremo il caso di una semplice
configurazione in cui c'è un solo server che fornisce tutti i
servizi.
La struttura della rete del nostro Istituto invece è più
complessa:
Figura 1.
Implementazione di LTSP nella LAN del Keynes
Capitolo
2: installare LTSP sul server.
Occorre premettere che esistono diverse Distribuzioni GNU/Linux che
integrano LTSP, alcune di veramente facile installazione, ottime per
chi partye da zero, non deve cioè integrare il servizio in una
rete già esistente.
- Debian-edu
-
Ubuntu
- LTSP-Mosix
La cosa migliore è pensare a LTSP
come ad una distribuzione completa di Linux, che si aggiunge ad una
distribuzione normalmente utilizzata per installare linux su un
computer. La distribuzione host può essere quella che preferite
(noi abbiamo scelto
Debian GNU/Linux).
In realtà non c'è neppure alcuna reale motivo per cui il
server debba aver il sistema operativo Linux. L'unico requisito
necessario è che il sistema operativo del server sia in grado di
fornire i servizi NFS (Network File System). La maggior parte dei
sistemi operativi Unix è in grado di fornire questo servizio.
L'implementazione di un
server LTSP avviene in tre passi:
- Installazione delle utility LTSP
(dei programmi di utilità di LTSP)
- Installazione dei pacchetti
client di LTSP
- Configurazione dei servizi necessari a LTSP
2.1.
Installazione delle utility LTSP
LTSP
è dotata di un insieme di utility per l'installazione e la
gestione dei pacchetti client. (I programmi che sono eseguiti
dai thin client) e per configurare i servizi sul server LTSP. Lo
strumento per l'amministrazione si chiama
ltspadmin e
lo strumento per
la configurazione si chiama
ltspcfg.
Entrambi questi strumenti fanno
parte del pacchetto
ltsp-utilstsp-utils
disponibile come pacchetto -deb.
date il solito comando...
># apt-get install ltsp-utils
2.1.1.
Completata l'istallazione del pacchetto
ltsp-utils, si ha a disposizione il comando ltspadmin.
Questa utility
permette di gestire i pacchetti del client LTSP. L'utility svolge il
compito di interrogare il deposito per i download di LTSP e di ottenere
l'elenco dei pacchetti attualmente disponibili. Lanciate il comando
ltspadmin e vedrete una schermata come quella riportata qui:
Figura 2-1.
Installazione di LTSP - Schermata principale
Da questa schermata potete scegliere "Install/Update"
(Installa/Aggiorna).
Se è la prima volta che si utilizza questa
utility verrà mostrata la schermata di configurazione del
programma d'installazione, come mostrato nella seguente figura.
Figura 2-2.
Installazione di LTSP - Schermata di configurazione
Nella schermata di configurazione si possono impostare alcuni parametri
che saranno utilizzati dal programma d'installazioe per fare il
download dei pacchetti LTSP e per installarli.
Questi parametri sono:
- Where to retrieve packages from
(Da dove prelevare i pacchetti) Specifica l'URL del deposito dei
pacchetti. Tipicamente sarà http://www.ltsp.org/ltsp-4.1
Tuttavia nel caso in cui si voglia installare i pacchetti da un
supporto locale (come un disco fisso o un CD), si può utilizzare
una URL che inizi per file: . Ad esempio se i pacchetti sono su un
CD-ROM e questo CD_ROM è stato montato sotto la directory
/mnt/cdrom, allora il valore per questa opzione sarà:
file:///mnt/cdrom. Se invece avete scaricato l'immagine .iso
disponibile sul sito, dovrete montarla con l'opzione "-o loop".
- In which directory would you like to
place the LTSP client tree
(In quale directory volete mettere i file e le sottodirectory del
client LTSP). Questa è la direcotry sul server dove volete che
saranno messi i file e le sotto directory del client LTSP. Tipicamente
sarà: /opt/ltsp. La directory specificata, se non esiste di
già, verrà creata automaticamente.
A partire da questa directory verranno create una directory principale
per ciascuna delle architetture supportate. Attualmente soltanto
l'architettura x86 è ufficialmente supportata da LTSP
- HTTP Proxy
(Proxy per le connessioni HTTP) se il server è protetto da un
firewall e se le connessioni al web devono passare dal proxy, questo
parametro permette di configurare il programma d'installazione per
poter utilizzare il proxy. Se non c'è alcun proxy o non
è necessario utilizzarlo,
questo parametro deve essere impostato a "none".
- FTP Proxy
(Proxy per le connessioni FTP) Se i pacchetti sono collocati su un
server FTP ed è necessario passare attraverso un proxy FTP,
questo parametro permette di specificare le necessarie informazioni. La
sintassi è simile al caso del Proxy per la connessione HTTP.
Se non c'è alcun proxy o non è necessario utilizzarlo,
questo parametro deve essere impostato a "none".
Una volta inserito le necessarie informazioni nella schermata di
configurazione, il programma d'installazione procederà mostrando
la lista dei componenti al
momento disponibili,
Figura 2-3.
Installazione di LTSP - Lista dei componenti
Potete selezionare i componenti uno ad uno. Per selezionare un
componente, muovete la barra evidenziata sulla riga del componente
voluto e premete il tasto 'I'.
Per selezionare tutti i componenti basta
premere il tasto 'A'.
Nella maggior parte dei casi probabilmente
è questa la cosa da fare. In questo modo potete supportare la
più vasta gamma di hardware come client.
Ci sono alcuni tasti che possono essere utilizzati per spostarsi
all'interno dello schermo.
Per ottenere una schermata d'aiuto potete
premere il tasto 'H'.
Figura 2-4.
LTSP installer - Finestra d'Aiuto
Se volete vedere la lista dei pacchetti che sono presenti in un certo
componente, premete il tasto 'S', e verrà mostrata la lista dei
pacchetti.
Verrà indicata la versione attualmente installata e
l'ultima versione disponibile.
Figura 2-5.
LTSP installer - Package list
Una volta terminata la selezione, uscite dalla schermata di selezione
dei componenti, premendo il tasto 'S'.
Il programma vi chiederà
se volete realmente installare o aggiornare i pacchetti selezionati.
Rispondete premendo il tasto ' Y' per fare iniziare il download e
l'installazione dei pacchetti selezionati.
2.3.
Configurazione dei servizi necessari a LTSP
I servizi principali necessari per permettere l'avvio (il boot)
delle
workstation LTSP sono i quattro qui sotto elencati: * DHCP * TFTP * NFS
* XDMCP Il programma ltspcfg permette di configurare tutti e quattro
questi servizi. Inoltre permette di configurare molti altri parametri
necessari a LTSP. Si può accedere a ltspcfg da ltspadmin, oppure
può essere lanciato da riga di comando digitando ltspcfg. Una
volta lanciato il programma ltspcofg, verrà fatta una scansione
(un'analisi) del server per accertarsi di cosa sia installato sul
server e quali programmi siano in esecuzione.
Verrà visualizzata
una schermata del tipo:
Figura 2-6.
ltspcfg - Schermata iniziale
Questa schermata mostra tutto ciò che è stato cercato dal
programma.
Per configurare i parametri di configurazione premete il tasto ' C'.
Verrà mostrato il menù di configurazione Dal menù
di configurazione dovete controllare sotto ogni voce che tutti i
parametri siano correttamente configurati per servire le workstation
LTSP.
Figura 2-7.
ltspcfg - Schermata dei servizi
1 - Runlevel
La variabile Runlevel viene usata dal programma init. Nei sistemi
operativi Linux ed Unix il sistema può essere in uno specifico
"Runlevel" tra più possibili Runlevel.
1 - Runlevel
2 e 3 in genere sono utilizzati per avere il server in
modalità testo. Il Runlevel 5 avvia il sistema in
modalità grafica.
La maggior parte dei servizi sono già configurati per rispondere
alle le richieste NFS e XDMCP quando il sistema è in Runlevel 5.
2 - Interface selection
(selezione dell'interfaccia)
Nel caso di sistemi con più di
un'interfaccia (scheda) di rete, bisogna specificare su quale
interfaccia sono collegati i client Thin (i terminali).
Il programma di configurazione, una volta nota quale sia l'interfaccia
da utilizzare, creerà gli altri file di configurazione in modo
opportuno. Tra i quali i file dhcpd.conf e /etc/exports.
3 - DHCP configuration
(Configurazione del DHCP)
Il sistema DHCP deve essere configurato per
poter fornire le necessarie informazioni alle workstation. I parametri
necessari sono fixed-address, filename, subnet-mask, broadcast-address
e root-path.
Utilizzando questo menù il programma sarà in grado di
creare il file di configurazione dhcpd.conf e il programma dhcpd
verrà attivato all'avvio del server.
4 - TFTP configuration
(Configurazione del TFTP)
Il servizio TFTP viene utilizzato dalle
workstation (client) per fare il download del kernel linux. Per far
sì che il kernel possa essere fornito in questo modo il servizio
tftpd deve essere attivato sul server.
5 - Portmapper configuration
(Configurazione della mappa delle porte)
Il Portmapper è
utilizzato dai servizi RPC, quali ad esempio NFS.
6 - NFS configuration
(Configurazione di NFS)
Il servizio NFS permette di far fare il mount
di directory locali da parte di computer remoti. Nella configurazione
LTSP è necessario che questo servizio sia attivo sul server per
permettere alle workstation di fare il mount del proprio root
filesystem dal server.
Questo menù permette di configurare l'avvio di NFS all'avvio del
server. I dettagli sul file di configurazione /etc/exports e sulla sua
creazione vengono dati più avanti in questa sezione.
7 - XDMCP configuration
(Configurazione del XDMCP)
XDMCP è l'abbreviazione di "X Display
Manager Control Protocol" (Protocollo di Controllo e Gestione di Diplay
X). Il server X invia una richiesta al programma di gestione (manager)
del server per ottenere un finestra grafica di login.
I display manager di uso più comune sono XDM, GDM e KDM. Questo
menù mostra i display manager disponibili e indica quale
è stato selezionato.
Per ragioni di sicurezza, il Display Manager è configurato di
default (come impostazione predefinita) per rifiutare le connessioni
remote delle workstation. Questa è, in genere, la causa del
comune problema di vedere soltanto una schermata nera con una cursore a
forma di X. Il programma ltspcfg può essere utilizzato, in
genere, per configurare il display manager in modo da consentire la
connessione da parte di workstation (terminali) remoti.
8 - Create /etc/hosts entries
(Creare delle linee di riferimento all'interno del file /etc/hosts)
Molti servizi, tra cui NFS e il Display manager, hanno bisogno di avere
una mappa di corrispondenza tra gli indirizzi IP della workstation e il
nome del computer (hostname). Si può utilizzare e configurare ,
a questo scopo, il Berkeley Intenet Naming Daemon (BIND),ma bisogna
essere certi che il sistema reverses (per il riconoscimento a ritroso)
sia configurato in modo corretto. Probabilmente utilizzare bind
è il miglior modo per ottenere lo scopo, tuttavia la spiegazione
della configurazione di bind è al di là degli scopi di
questa documentazione e del programma ltspcfg.
Un metodo più semplice per configurare la mappa di
corrispondenza tra gli indirizzi IP e i nomi dei computer (hostname)
è quello di utilizzare il file /etc/hosts.
9 - Create /etc/hosts.allow entries
(Creare delle linee di riferimenteo nel file /etc/hosts.allow)
Alcuni
servizi usano un sistema di sicurezza chiamato tcpwrappers. Questo
sistema viene configurato tramite il file /etc/hosts.allow. Questo
menù permette di configurare questo file.
10 - Create the /etc/exports file
(Creare il file /etc/exports)
Questo è il file utilizzato da
NFS, per determinare quali sono le directory che è consentito
che vengano montate da una macchina remota. Questo menù permette
di creare e configurare questo file.
11 - Create the lts.conf file
(Creare il file lts.conf)
La configurazione di ogni singola workstation
viene stabilita da delle linee del file lts.conf. Se si utilizzano
workstation recenti con il bus PCI, non dovrebbe essere necessario
inserire alcuna linea aggiuntiva al file lts.conf file. Tuttavia
è necessario che questo file esista. Questo menù
creerà un file lts.conf con delle configurazione preimpostate
(default).
2.4. Configurazione specifica delle workstation A questo punto è
necessario fornire al server LTSP le informazioni specifiche di ogni
singola workstation. Ci sono tre file che contengono le informazioni
specifiche delle singole workstation.
1. /etc/dhcpd.conf
2. /etc/hosts
3. /opt/ltsp/i386/etc/lts.conf
2.4.1.
/etc/dhcpd.conf
La workstation ha bisogno di un indirizzo IP e di altre
informazioni.
Riceverà le seguenti informazioni dal server DHCP:
- IP address
- Hostname
- Server IP address
- Default gateway
- Pathname of kernel
to load
- Server and directory path to be mounted as the
root
filesystem
Nella nostr configurazione abbiamo scelto che
l'indirizzo IP sia gestito dal server DHCP, che lo assegna alle
workstation in base al MAC address.
Durante l'esecuzione dello script ltsp_initialize, viene
installato un file dhcpd.conf di esempio.
Potete copiare il file
/etc/dhcpd.conf.example come file
/etc/dhcpd.conf
ed usarlo come base
per la vostra configurazione del dhcp.
Bisogna modificare questo file
per adattarlo alle specifico ambiente in cui sono presenti le
workstation e il server (questo è il nostro):
#
# Sample configuration file for ISC dhcpd
#
# Make changes to this file and copy it to /etc/dhcp3/dhcpd.conf.sample
#
ddns-update-style none;
default-lease-time 21600;
max-lease-time 21600;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
option domain-name-servers 192.168.0.254;
option domain-name "isicm.bo.it";
option ntp-servers 192.168.0.254;
##option domain-name "ltsp"; # <--Fix this domain name
option root-path "192.168.0.254:/opt/ltsp/i386";
option option-128 code 128 = string;
option option-129 code 129 = text;
subnet 192.168.0.0 netmask 255.255.255.0 {
use-host-decl-names on;
option log-servers 192.168.0.254;
##
## If you want to use static IP address for your workstations, then un-comment
## the following section and modify to suit your network.
## Then, duplicate this section for each workstation that needs a static
## IP address.
##
## host ws001 { <----- Fix this hostname
## hardware ethernet 00:11:22:33:44:55; <-- Fix this MAC addr
## fixed-address 192.168.0.1; <-- Fix this IP addr
## filename "/tftpboot/lts/vmlinuz-2.4.26-ltsp-1";
## }
################ Inizio GC #######################
host ltspc3 {
hardware ethernet 00:d0:b7:17:3b:fa;
fixed-address 192.168.0.100;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp01 {
hardware ethernet 00:d0:b7:17:3a:c1;
fixed-address 192.168.0.101;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp02 {
hardware ethernet 00:d0:b7:17:38:b3;
fixed-address 192.168.0.102;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp03 {
hardware ethernet 00:d0:b7:17:37:99;
fixed-address 192.168.0.103;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp04 {
hardware ethernet 00:d0:b7:17:3c:35;
fixed-address 192.168.0.104;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp05 {
hardware ethernet 00:d0:b7:17:38:b9;
fixed-address 192.168.0.105;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp06 {
hardware ethernet 00:d0:b7:17:38:b6;
fixed-address 192.168.0.106;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp07 {
hardware ethernet 00:d0:b7:17:3b:fb;
fixed-address 192.168.0.107;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp08 {
hardware ethernet 00:d0:b7:17:3b:f9;
fixed-address 192.168.0.108;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp09 {
hardware ethernet 00:d0:b7:17:3c:2a;
fixed-address 192.168.0.109;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
host ltsp10 {
hardware ethernet 00:d0:b7:17:3c:2b;
fixed-address 192.168.0.110;
# filename "/tftpboot/lts/2.4.26-ltsp-3/pxelinux.0";
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
}
################ Fine GC #######################
##
## If you want to use a dynamic pool of addresses, then un-comment the following
## lines and modify to match your network.
##
## subnet 192.168.0.0 netmask 255.255.255.0 {
## range dynamic-bootp 192.168.0.1 192.168.0.253;
## }
##
}
#
# If you need to pass parameters on the kernel command line, you can
# do it with option-129. In order for Etherboot to look at option-129,
# you MUST have option-128 set to a specific value. The value is a
# special Etherboot signature of 'e4:45:74:68:00:00'.
#
# Add these two lines to the host entry that needs kernel parameters
#
# option option-128 e4:45:74:68:00:00; # NOT a mac address
# option option-129 "NIC=ne IO=0x300";
#scaricabile qui
Sopra il file /etc/dhcpd.conf
A partire dalla
vesione 2.09 di LTSP, non c'è più bisogno di
specificare quale particolare kernel caricare in memoria.
Il pacchetto
standard del kernel supporta tutte le schede di rete supportate da
Linux. Nel pacchetto del kernel distribuito da LTSP ci sono due file
per il kernel.
Uno che ha applicata la Linux Progress Patch (LPP) e
l'altro che non le ha.
I nomi di questi file sono:
vmlinuz-2.4.9-ltsp-5
vmlinuz-2.4.9-ltsp-lpp-5
Probabilmente avete notato che questi file del
kernel risiedono nella directory /tftpboot/lts, ma nella punto dove
inserire il nome del file ("filename") nel file /etc/dhcpd.conf manca
la parte iniziale del nome del path, /tftpboot . Questo è dovuto
al fatto che nelle versioni più recenti di TFTP viene
eseguito con l'opzione '-s' in modalità sicura: all'avvio viene
eseguito un chroot alla directory /tftpboot, pertanto tutti i file
accessibili al demone tftpd sono relativi a tale dir. Per le
distribuzioni di Linux che non utilizzano l'opzione '-s' per tftpd,
dovete aggiungere il prefisso
/tftpboot al path del kernel. 2.4.2.
127.0.0.1 localhost.localdomain localhost
192.168.8.52 tserver.isicm.bo.it tserver
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
## LTSP-begin ##
#
# The lines between 'LTSP-begin' and 'LTSP-end' were added
# on: Tue Sep 6 09:41:20 2005, by the ltspcfg configuration tool.
# For more information, visit the LTSP homepage
# at http://www.LTSP.org
#
192.168.0.100 ltspc3.isicm.bo.it ltspc3
192.168.0.101 ltsp101.isicm.bo.it ltsp101
192.168.0.102 ltsp102.isicm.bo.it ltsp102
192.168.0.103 ltsp103.isicm.bo.it ltsp103
192.168.0.104 ltsp104.isicm.bo.it ltsp104
192.168.0.105 ltsp105.isicm.bo.it ltsp105
192.168.0.106 ltsp106.isicm.bo.it ltsp106
192.168.0.107 ltsp107.isicm.bo.it ltsp107
192.168.0.108 ltsp108.isicm.bo.it ltsp108
192.168.0.109 ltsp109.isicm.bo.it ltsp109
192.168.0.110 ltsp110.isicm.bo.it ltsp110
## LTSP-end ##
Sopra il file
/etc/hosts
I computer
utilizzano normalmente soltanto l'indirizzo IP per comunicare.
Tuttavia
noi umani abbiamo bisogno di dare dei nomi ai computer perché
è troppo difficile ricordare tutti i numeri. Da qui entra in
gioco la necessità di usare DNS o il file /etc/hosts.
Questa
mappa di corrispondenza tra gli indirizzi IP e il nome dei computer
(hostname) di solito non è necessaria.
Tuttavia è
necessario nel caso di un ambiente LTSP, perché se non ci fosse
il sistema NFS darebbe dei permessi erronei quando una workstation
tenta di montare il filesystem principale. Oltre ai problemi con NFS,
se la workstation non è compresa nel file /etc/hosts, potrebbero
esserci problemi con i display manager GDM o KDM. 2.4.3.
/opt/ltsp/i386/etc/lts.conf
Nel file lts.conf ci sono parecchie voci
che possono configurate.
Il file lts.conf ha una sintassi semplice.
C'è una sezione di default (per i valori predefiniti) chiamata
[default] e poi possono esserci delle sezioni per ciascuna singola
workstation.
La workstation può essere identificata dal nome del
computer (hostname), dall'indirizzo IP oppure dal MAC-address.
Un
tipico file lts.conf è mostrato qui sotto:
#
# Copyright (c) 2003 by James A. McQuillan (McQuillan Systems, LLC)
#
# This software is licensed under the Gnu General Public License.
# The full text of which can be found at http://www.LTSP.org/license.txt
#
#
# Config file for the Linux Terminal Server Project (www.ltsp.org)
#
[Default]scaricabile qui
XkbModel=pc105
XkbLayout=it
SERVER = 192.168.0.254
# XSERVER = i740
# XSERVER = fbdev
# XSERVER = XF86_SVGA
XSERVER = auto
# XF86CONFIG_FILE = XF86Config.LAB3
# X_MOUSE_PROTOCOL = "PS/2"
# X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_PROTOCOL = "Microsoft"
X_MOUSE_DEVICE = "/dev/ttyS0"
# X_MOUSE_RESOLUTION = 400
X_MOUSE_RESOLUTION = 50
X_MOUSE_BUTTONS = 3
X_MOUSE_BAUD = 1200
USE_XFS = Y
XFS_SERVER = 192.168.0.254
SCREEN_01 = startx
SCREEN_02 = shell
RCFILE_01 = sincronizza_orario
# Risorse sulla macchina locale (client)
LOCAL_DEVICE_01 = /dev/fd0:floppy
LOCAL_DEVICE_02 = /dev/hdc:cdrom
# Consente questo: "/usr/sbin/ltspinfo --host=ws001 --shutdown" (or --reboot)
# Oppure... "/usr/sbin/ltspinfo --host=ws001 --proc=meminfo"
# (da verificare)
ALLOW_SHUTDOWN = Y
ALLOW_PROCREAD = Y
Sopra
il file lts.conf
Potete mettere una
linea di configurazione nel file lts.conf per ogni workstation oppure
potete metterne una nella sezione default, che verrà condivisa
da tutte le workstation.
Le nostre workstation hanno
una scheda video con chipset Intel i340 video e vengono correttamente
rivelate. Pertanto non abbiamo bisogno di
una linea di configurazione XSERVER nel file lts.conf file.
La linea di
configurazione XSERVER può essere specificata, se volete,
oppure
può essere posta ad 'auto' per indicare che deve essere
effettuato l'autodetect.
Se vogliamo utilizzare la workstation
n modalità grafica dobbiamo indicare come Runlevel il valore
'5'.
Questo viene fatto con l'apposita linea di configurazione del file
lts.conf. 2.5. Visualizzazione dela configurazione corrente Con il
programma ltspcfg, si può guardare lo stato corrente dei tutti i
servizi necessari con LTSP.
Dal menù principale (main menu) di
ltspcfg premendo il tasto ' S' viene mostrato lo stato corrente.
Figura 2-9.
ltspcfg - Current Status
Capitolo
3: la configurazione della workstation.
Una volta configurato il server è arrivato il momento di
configurare le workstation.
Il progetto LTSP copre tutto quello che succede dopo che il kernel
è caricato in memoria.
Ci sono diversi metodi per caricare il
kernel in memoria. Tra questi ci sono:
Figura 2-10.
NETboot - la voce nel BIOS
- Etherboot
- Netboot
- PXE
- Da disco
floppy
- Da una partizione fat32
3.1.
Avviare il computer con PXE
Se la vostra scheda di rete ha il supporto PXE o se lo ha il
vostro
computer, potete usarlo per caricare il kernel Linux.
PXE è una
tecnologia bootrom, simile a Etherboot or Netboot.
Potreste essere in grado di utilizzare il bootrom PXE sulla vostra
scheda di rete. Bisogna cambiare il settaggio nel BIOS per far
sì che il "Boot from LAN" sia la prima scelta tra i metodi di
boot, invece di "floppy" o "hard disk".
Il sistema PXE ha la limitazione di essere in grado di caricare
soltanto file che siano non più grandi di 32 kB.
Il kernel di
LInux è parecchio più grande.
Pertanto non è
possibile caricare direttamente il kernel Linux con PXE.
Bisogna
caricare qualcosa come un 'Network Bootstrap Program' o NBP.
Uno degli NBP disponibili per caricare il kernel Linux chiamato
pxelinux.0.
Fa parte del pacchetto syslinux per il kernel sviluppato da
H. Peter Anvin.
Il pacchetto del kernel fornito con LTSP comprende lo NBP pxelinux.0 e
i file di configurazione necessari per caricare il kernel Linux sul
disco ram iniziale.
Il funzionamento avviene in questo modo:
- Il bootrom PXE inizializza
la scheda di rete e manda una richiesta DHCP.
- Il server DHCP risponde
fornendo un indirizzo IP e il nome del NBP da caricare...
- Il bootrom
PXE prende lo NBP, lo mette in memoria e lo fa eseguire.
- Lo NBP usa
tftp per far il download del file di configurazione dal server.
- Il
file scaricato contiene il nome del kernel, il nome del
file del ramdisk e le opzioni da passare al kernel.
- Lo NBP, a questo punto,
usa tftp per fare il download del kernel Linux e del disco ram
(initrd).
- ll controllo viene passato al kernel Linux,
avviene il boot, prosegue l'avvio della workstation.
/var/log/messages sul terminal
server:
Oct
28 07:41:42 tserver dhcpd: DHCPDISCOVER from 00:d0:b7:17:3c:2b via eth1
Oct 28 07:41:42 tserver dhcpd: DHCPOFFER on 192.168.0.110 to
00:d0:b7:17:3c:2b via eth1
Oct 28 07:41:44 tserver dhcpd: DHCPDISCOVER from 00:d0:b7:17:3c:2b via
eth1
Oct 28 07:41:44 tserver dhcpd: DHCPOFFER on 192.168.0.110 to
00:d0:b7:17:3c:2b via eth1
Oct 28 07:41:48 tserver dhcpd: DHCPDISCOVER from 00:d0:b7:17:3c:2b via
eth1
Oct 28 07:41:48 tserver dhcpd: DHCPOFFER on 192.168.0.110 to
00:d0:b7:17:3c:2b via eth1
Oct 28 07:41:56 tserver dhcpd: DHCPREQUEST for 192.168.0.110
(192.168.0.254) from 00:d0:b7:17:3c:2b via eth1
Oct 28 07:41:56 tserver dhcpd: DHCPACK on 192.168.0.110 to
00:d0:b7:17:3c:2b via eth1
Oct 28 07:41:56 tserver in.tftpd30606?: connect from 192.168.0.110
(192.168.0.110)
Oct 28 07:41:56 tserver atftpd30606?: Advanced Trivial FTP server
started (0.7)
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0 to 192.168.0.110:2070
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0 to 192.168.0.110:2071
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/01-00-d0-b7-17-3c-2b to
192.168.0.110:57089
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/C0A8006E to 192.168.0.110:57090
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/C0A8006 to 192.168.0.110:57091
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/C0A800 to 192.168.0.110:57092
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/C0A80 to 192.168.0.110:57093
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/C0A8 to 192.168.0.110:57094
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/C0A to 192.168.0.110:57095
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/C0 to 192.168.0.110:57096
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/C to 192.168.0.110:57097
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/pxelinux.cfg/default to 192.168.0.110:57098
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/bzImage-2.6.9-ltsp-3 to 192.168.0.110:57099
Oct 28 07:41:56 tserver atftpd30606?: Serving
/tftpboot/lts/2.6.9-ltsp-3/initrd-2.6.9-ltsp-3.gz to
192.168.0.110:57100
Oct 28 07:42:00 tserver dhcpd: DHCPDISCOVER from 00:d0:b7:17:3c:2b via
eth1
Oct 28 07:42:00 tserver dhcpd: DHCPOFFER on 192.168.0.110 to
00:d0:b7:17:3c:2b via eth1
Oct 28 07:42:00 tserver dhcpd: DHCPREQUEST for 192.168.0.110
(192.168.0.254) from 00:d0:b7:17:3c:2b via eth1
Oct 28 07:42:00 tserver dhcpd: DHCPACK on 192.168.0.110 to
00:d0:b7:17:3c:2b via eth1
Oct 28 07:42:00 tserver rpc.mountd: authenticated mount request from
ltsp110.isicm.bo.it:932 for /opt/ltsp/i386 (/opt/ltsp)
Oct 28 07:42:01 ltsp110 syslogd started: BusyBox? v0.60.4
(2005.04.19-03:04+0000)
Oct 28 07:42:04 ltsp110 init: Entering runlevel: 5
Oct 28 07:46:56 tserver atftpd30606?: atftpd terminating after 300
seconds
Sopra
i messaggi di syslog sul server, all'avvio di un client
3.2.
Avviare il computer con Etherboot
Etherboot è un programma
software che permette di creare immagini ROM che possono essere
downlodate sulla scheda Ethernet per essere eseguita da un computer
x86. Molte schede di rete hanno un'alloggio in cui può essere
collocato un chip ROM. Il codice Etherboot può essere collocato
in questo chip ROM. -- Ken Yap Etherboot è disponibile come Open
Source, con la licenza GNU General Public License, Version 2 (GPL2).
Per usare Etherboot, se avete una scheda Ethernet cone il bootrom
Etherboot, avete bisogno di cambiare la configurazione del BIOS per
dirgli di fare l'avvio dalla LAN ("Boot from LAN") prima di tentare di
fare il boot dai dischi floppy o dall'harddisk. Se non avete un bootrom
Etherboot potete o fare un bootrom o potete fare un disco floppy con
l'immagine di Etherboot nel suo boot sector. Etherboot supporta un
numero molto grande di schede di rete. Più di 200 modelli, e di
nuovi ne vengono continuamene aggiunti Sia che decidiate di fare un
dico floppy sia che mettiate il codice nel chip Eprom, avrete bisogno
di conoscere il modello di scheda di rete che avete.
3.2.1.
Scelta del driver Etherboot per la scheda di rete ISA
Per le
vecchie schede di rete di tipo ISA non è così tanto
importante determinare il tipo di scheda. Per prima cosa la maggior
parte di queste schede sono schede ne2000 oppure 3Com 3c509. Vi basta
prendere il driver Etherboot giusto, quello che utilizza il giusto
sistema di collegamento a seconda della vostra scheda tra il 10 base-2
(Coax, per il cavo coassiale) e il 10 base-T (Twisted pair, per il cavo
con i fili intrecciati).
3.2.2.
Scelta del driver Etherboot per la scheda di rete PCI
Con le
schede di rete PCI è essenziale che sia scelto il driver
Etherboot che combaci con il numeri PCI Vendor e Device ID della scheda
di rete. Alcune volte può andarvi bene e conoscete esattamente
quale sia il modello della vostra scheda perché c'è
scritto sulla scheda e corrisponde esattamente alla descrizione di uno
dei moduli di Etherboot. Tuttavia in molti casi dovrete ottenere i
numeri di identificazione PCI. se la vostra workstation) ha un disco
floppy potete fare il boot con un disco tomsrtbt (Tom's Root Boot).
Altrimenti se la vostra workstation ha un lettore di CD-ROM potete fare
il boot con un disco Knoppix. Se non siete in grado di caricare il
kernel Linux sulla vostra workstation allora la vostra unica speranza
è quella di spostare la scheda di rete su un computer che riesca
a fare il boot. Una volta che avete avviato Linux, potete usare il
comando lspci con l'opzione '-n'
[root@jamlap root]# lspci -n
3.2.3.
Creare un disco floppy di avvio
Potete prelevare il pacchetto
Etherboot package e configurarlo per il tipo di bootrom di cui avete
bisogno. Quindi compilate il sorgente per produrre un immagine del
bootrom che può essere scritta in EPROM oppure su un disco
floppy.
Una soluzione più semplice è andare sul sito web
www.Rom-O-Matic.net di Marty
Connor.
Sul sito, selezionate il tipo di scheda di
rete che avete, e che tipo si immagine volete.
Inoltre avete la
possibilità di modificare alcune opzioni di configurazine del
Etherboot.
A questo punto premete il pulsante 'Get ROM' (ottieni ROM) e
una immagine personalizzata del bootrom verrà generata in breve
tempo. Per avere il formato per il chip ROM scegliete 'Floppy Bootable
ROM Image'. Questa scelta aggiunge un header di 512 byte che fa
sì che il boot loader venga caricato in memoria da dove poi
viene eseguito. Dopo alcuni secondi che avete premuto il bottone, il
vostro browser farà comparire una finestra pop-up "Save As" (o
"Salva con nome") in cui sceglierete il nome con cui salvare il file
sul vostro computer. Una volta che avete salvata l'immagine sul vostro
disco fisso dovete scriverla sul vostro floppy.
Inserite il disco
floppy nel vostro lettore di floppy e date il seguente comando per
scrivere sul floppy:
dd if=Image of=/dev/fd0
dove al posto di Image dovete mettere il nome del vostro file immagine
scaricato.
3.2.4.
Creare un bootrom
Per scrivere l'immagine sulla eprom serve un
sistema per la programmazione di EPROM. Questo strumento hardware ha un
costo che varia, a seconda dei modelli, da poche centinaia di dollari a
parecchie migliaia di dollari (da poche centinaia di euro a parecchie
migliaia di euro) Le modalità da seguire per creare il bootrom
dipende completamente da sistema di programmazione di EPROM. Questo va
al di là dello scopo di questa documentazione.
3.2.5.
Avviare da una partizione dos/fat32
E' anche possibile utilizzare il disco IDE esistente sul computer client per avviare il kernel linux iniziale.
Occore copiare il file loadlin.exe (
scaricabile qui), il kernel e il file initrd.img in una directory (ad esempio C:\linux) e avviare tramite apposito "config.sys" (
scaricabile qui).
E' possibile mantenere eventualmente la possibilità di avviare
anche la precedente installazione di windows, in dual boot.
Capitolo
4: gli script per le sessioni dello schermo (Screen Script).
Una caratteristica
che è stata affinata nella versione 4.0 di LTSP è quella
denominata Screen Scripts (Script per le sessioni dello schermo).
Questi script permettono di far partire sessioni di diverso tipo. Si
può specificare più di uno screen script per una
workstation. In questo modo si ottengono delle sessioni multiple.
Possono essere sessioni di diverso tipo o sessioni dello stesso tipo.
Per esempio è possibile specificare nel seguente modo:
SCREEN_01
= startx
SCREEN_02 = shell
Questa configurazione farà partire un
server X (una sessione grafica) sul primo schermo e una sessione a
caratteri (con un prompt di una shell) sul secondo schermo. Per passare
al primo schermo si premono contemporaneamente i tasti Ctrl-Alt-F1 e
per passare al secondo schermo si premono contemporaneamente i tasti
Ctrl-Alt-F2.
Si possono specificare fino a 12 screen script per
workstation.
Tuttavia nella maggior parte dei casi basta averne uno
solo.
I possibili tipi di screen scripts sono:
startx
Questo script
lancerà il server X con l'opzione -query.
Con questa opzione
verrà fatta una richiesta XDCPM al display manager del server
per ottenere una schermata di login sullo schermo.
shell
Questo script
lancerà una finestra shell sul terminale. Questo serve
principalmente per risolvere eventuali problemi con la workstation.
Fornisce una sessione sul sulla workstation e non sul server. Pertanto
non è utile per eseguire delle applicazioni.
telnet
Questo
script lancia una sessione telnet che si connetterà al server
dando una sessione in modalità carattere con il server. Di
default telnet si connetterà al server LTSP. Se volete indicare
un server differente, potete passare il suo nome sulla stessa linea del
nome del screen script.
Per esempio: SCREEN_01 = telnet
server2.mydomain.com
Si può anche specificare una qualsiasi
altra opzione che telnet sia in grado di comprendere. Però se si
specifica una o più opzioni deve anche essere indicato il nome
del server a cui connettersi.
rdesktop
Questo script lancerà il
programma rdesktop,che si collegherà ad un server Microsoft
Window server. Sulla linea è possibile specificare, dopo il nome
dello screen script, qualsiasi opzione rdesktop.
Per esempio, se si
vuole specificare il server a cui connettersi, si può fare nel
seguente modo:
SCREEN_01 = rdesktop -f w2k.mydomain.com
Con la
configurazione di questo esempio verrà lanciato rdesktop in
modalità tutto schermo.
L'utente vedrà una finestra di
login di Windows e avrà bisogno di loggarsi una volta sola.
Questa cosa è molto utile quando avete bisogno soltanto di un
finestra di login Windows senza avere la login Linux o il window
manager. L'utente non saprà neppure di essere su una macchina
Linux.
I file che contengono gli screen script risiedono nella
directory /opt/ltsp/i386/etc/screen.d
Potete anche creare il vostro
script personalizzato e collocarlo in questa directory. La cosa
migliore, in questo caso, è partire da uno script già
esistente ed usarlo come esempio.
Capitolo
5: scelta del Kernel.
Ci sono alcune decisioni da prendere a riguardo del kernel che si vuole
far girare sulla workstation. Potete decidere di utilizzare un versione
standard del kernel, disponibile per il download, oppure di costruirne
uno voi stessi. E dovete decidere se volete visualizzare le schermate
grafiche, complete con la barra di progressione, cosa possibile grazie
al Linux Progress Patch (LPP).
5.1.
Kernel standard forniti con LTSP
Il pacchetto del kernel fornito con LTSP contiene in realtà due
kernel. Una con la Linux Progress Patch già applicata e
configurata, e l'altra che non ha questa patch applicata.
Entrambi i kernel hanno la patch NFS Swap applicata.
5.2.
Costuitevi il vostro kernel
Ci sono due modi di configurare un kernel per LTSP. Il metodo usuale
è quello di utilizzare un 'Disco Ram Iniziale' o initrd in
breve. L'immagine initrd immagine è un piccolo filesystem che
viene aggiunto al kernel. Il filesystem initrd è caricato in
memoria e quando il kernel ha finito il boot lo monta come filesystem
principale. Ci sono alcuni vantaggi ad utilizzare l'immagine initrd.
Come prima cosa permette di compilare i driver per le schede di rete
come moduli e di caricare il modulo corretto durante il boot. Questo
permette di avere un solo kernel che è in grado di supportare
praticamente tutte le schede di rete. Un altro vantaggio è che
possiamo eseguire il client DHCP nello spazio dell'utente
anziché nello spazio del kernel. Eseguire il client DHCP nello
spazio dell'utente fornisce un migliore controllo sulle opzioni
richieste e ricevute dal server. Inoltre questo fa diventare il kernel
un po' più piccolo. L'altro modo di configurare il kernel
è senza initrd. La costruzione di un kernel senza initrd
richiede che il driver della specifica scheda di rete sia staticamente
unito al kernel e richiede che siano impostati i parametri
IP-Autoconfig e "Root filesystem on NFS" quando si compila il kernel.
Il vantaggio di non utilizzare initrd è che leggermente
più piccolo e farà fare il boot più velocemente.
Una volta che la workstation è stata avviata ed è in
funzione teoricamente non c'è alcuna differenza a riguardo di
come funzioni la workstation.
Il kernel standard per LTSP include un disco ram iniziale (initrd) che
si prende carico di identificare la scheda di rete e di fare la
richiesta DHCP nello spazio dell'utente. Uno degli obiettivi ricercati
nel fare questa immagine è stata quella di farla più
piccola possibile. Per questo motivo abbiamo scelto di utilizzare la
libreria uClinux al posto della libc e busybox per le utility
necessarie durante il boot.
Se volete costruirvi il vostro kernel dovete procurarvi il pacchetto
ltsp_initrd_kit. Contiene la gerarchia del filesystem principale e uno
script per costruire l'immagine.
5.2.1.
Ottenere i sorgenti del kernel
Quando si costruisce un kernel personalizzato, è generalmente
una buona idea partire con dei sorgenti non modificati, presi
direttamente dal sito ftp.kernel.org. Questo perché molte
distribuzioni, tra cui ad esempio Red Hat, applicano molte patch ai
sorgenti e l'insieme dei sorgenti che forniscono non coincide con
quello ufficiale del kernel.
Scaricate il pacchetto dei sorgenti del kernel di vostra scelta e
salvatelo nella directory /usr/src. I kernel sono collocati nella
directory /pub/linux/kernel del server ftp ftp.kernel.org ftp server.
Avrete bisogno di una versione recente (la 2.4.x ), perché avete
bisogno di includere il supporto devfs.
Inoltre se volete applicare le patch per lo swapping su NFS o la Linux
Progress Patch (LPP), avrete bisogno di prendere le patch che
corrispondono alla versione del kernel che vi siete procurati. Al
momento della scrittura di questo documento la versione 2.4.9 del
kernel è la più nuova che supporta queste
caratteristiche.
In questo esempio useremo il kernel 2.4.9 kernel. Il percorso completo
è ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.9.tar.bz2
Scomprimete i sorgenti del kernel nella directory /usr/src. Dovete
prestare attenzione perché quando scomprimete il file tar
verrà scompresso nella directory linux . Potreste già
avere una directory chiamata linux con un diversa versione del codice
sorgente e di certo non volete che uno copra l'altro. Pertanto,prima di
estrarre il file tar, controllate se già esiste una directory
con il nome linux e se esiste rinominatela con un altro nome.
Il pacchetto dei sorgenti che abbiamo scaricato è stato
compresso con l'utility di compressione bzip2. Pertanto dobbiamo
scomprimerla prima di passarla al programma tar. Potete utilizzare il
seguente programma per estrarre il pacchetto:
bunzip2
<../linux-2.4.9-nfs-swap.diff
Questo comando farà solo una prova, per controllare che possa
essere applicata senza problemi. se il test funziona senza errori,
potete applicare la patch ripetendo il comando precedente senza
l'opzione --dry-run.
patch -p1 <../linux-2.4.9-nfs-swap.diff
5.2.2.2.
Linux Progress Patch (LPP)
La patch Linux Progress Patch (LPP) permette di configurare un'immagine
grafica che venga mostrata durante la fase d'avvio. I normali messaggi
che apparirebbero sullo schermo sono dirottati ad un altro schermo tty
e alcune speciali istruzioni, aggiunte agli script d'avvio, fanno
sì che l'avanzamento della barra mostrata sullo schermo rifletta
l'avanzamento del processo d'avvio.
come nel caso della patch NFS Swap patch potete verificare questa patch
con il comando:
patch -p1 --dry-run <../lpp-2.4.9 Se il test funziona senza errori,
potete applicare la patch con:
patch -p1 <../lpp-2.4.9
5.2.3.
Configurare i parametri del kernel
Potete ora eseguire il programma che preferite per la configurazione.
Tra le varie possibilità ci sono: * make xconfig Utility di
configurazione del kernel nella versione X Windows. * make menuconfig
Utility di configurazione del kernel nella versione basata su curses *
make config Utility di configurazione del kernel nella versione con una
semplice interfaccia a caratteri riga per riga. 8.2.3.1. Configurazione
del Kernel per l'uso con initrd La configurazione del kernel per l'uso
di initrd richiede che siano impostate le seguenti opzioni: * File
systems -> /dev filesystem support Il supporto per il filesystem
/dev deve essere abilitato. Questa impostazione si trova nella sezione
'File systems'. NON specificate 'Automatically mount at boot'.
L'operazione di mount di questo filesystem verrà fatto dallo
script /linuxrc. * Block devices -> RAM disk support Le workstations
LTSP hanno bisogno del supporto del kernel per i dischi RAM. Questa
impostazione è nella sezione 'Block devices'. * Block devices
-> Initial RAM disk (initrd) support Anche questo deve essere
attivato. * Processor type and features -> Processor family Dovete
accertarvi che il kernel che stato costruendo possa veramente essere
eseguito sulla CPU della workstation. Controllate la sezione 'Processor
type and features'. Dovete anche disattivare il supporto SMP, a meno
che non abbiate veramente delle CPU multiple. * File systems ->
Network file systems -> NFS Client support La workstation monta il
filesystem principale tramite NFS, pertanto è necessario che il
supporto per il client NFS sia attivato. Questo per quanto riguarda le
impostazioni necessarie. Potete anche disattivare parecchie funzioni
del kernel, per ridurre le dimensioni del kernel.
5.2.3.2.
Configurazione del Kernel per l'uso senza initrd
La
configurazione del the kernel per l'uso senza initrd è diversa
da quella con initrd per alcuni aspetti:
* Block devices -> RAM disk
support
Le workstation LTSP hanno bisogno del supporto del kernel per i
dischi RAM. Questa impostazione è nella sezione 'Block devices'.
* Block devices -> Initial RAM
disk (initrd) support
Questa opzione
deve essere disabilitata.
* Networking options -> IP:kernel
level
autoconfiguration
Questo deve essere abilitato. Questa impostazione
dà informazioni a kernel di configurare automaticamente
l'interfaccia di rete ethernet eth0, basandosi su valori passati al
kernel sulla linea di comando. Non è necessario specificare le
opzioni DHCP, BOOTP o RARP perché il bootrom Etherboot ha
già effettuato la richiesta DHCP o BOOTP e avrà reso
disponibile il valore dell'indirizzo IP al kernel passandolo come
parametro alla linea di comando del kernel. Questo evita al kernel dei
dover effettuare lui una richiesta.
* Network device support ->
Ethernet (10 or 100Mbit)
Quando non viene utilizzato initrd, bisogna
scrgliere il driver per la specifica scheda che corrisponda alla scheda
di rete utilizzata . Deve essere staticamente unito al kernel (e non
compilato come modulo), perché l'interfaccia di rete deve essere
utilizzata prima che venga montato il filesystem principale. Questa
è una differenza importante rispetto al kernel con initrd.
*
File systems -> /dev filesystem
support Dalla versione 2.09pre2 di
LTSP, è necessario il supporto devfs. Questo supporto è
necessario sia che si utilizzi initrd sia che non si utilizzi initrd.
*
File systems -> Automatically mount
at boot
Quando NON si utilizza
initrd il filesystem /dev DEVE essere montato dal kernel, durante il
boot. Dite 'Y' (sì) a questa opzione.
* File systems ->
Network file systems -> NFS Client support
La workstation monta il
filesystem principale tramite NFS, pertanto è necessario che il
supporto per il client NFS sia attivato.
5.2.4.
La creazione del kernel
Per rendere le cose più facili,
una copia del file .config è incluso nel pacchetto
ltsp_initrd_kit. Potete copiare questo file nella directory
/usr/src/linux-2.4.9 . Quando avete terminato di selezionare o
deselezionare i parametri del kernel, dovete passare alla sua creazione
(build). Per creare il kernel dovete dare il seguenti comandi: make dep
make clean make bzImage make modules make modules_install Potete anche
unirli tutti assieme con: make dep && make clean &&
make bzImage && make modules && make modules_install Le
due e commerciali (&&) indicano di eseguire il primo comando e
quando il primo comando è stato completato con successo eseguire
il secondo comando. Quando il secondo comando è stato completato
con successo viene eseguito il terzo e così via. Il novo kernel,
una volta creato, si troverà nel file
/usr/src/linux-2.4.9/arch/i386/boot/bzImage. 8.2.5. Contrassegnare il
kernel per Etherboot Per fare in modo che Etherboot possa gestire il
kernel Linux deve essere preparato per questo. Questa operazione si
chiama contrassegnatura ('Tagging') del kernel. Questa operazione
aggiungerà un pezzo di codice al kernel che verrà
eseguito prima che il controllo sia passato al kernel. Lo strumento per
eseguire questa contrassegnatura si chiama 'mknbi-linux'. Il pacchetto
ltsp_initrd_kit include uno script shell chiamato buildk che include
tutte i comandi necessari per preparare l'immagine del kernel per il
boot
Capitolo 6: le voci
del file di
configurazione lts.conf.
Quando si prepara LTSP, una delle cose che bisogna tenere a mente
è che bisogna considerare diverse configurazioni hardware per le
workstation. Ovviamente le combinazioni di processore, scheda video e
scheda video che abbiamo presente oggi non sarà quella che
avremo bisogno tra tre mesi quando aggiungeremo altre workstation alla
rete.
Per questo motivo è stato creato un modo per specificare la
configurazione di ogni workstation. Il file di configurazione si chiama
lts.conf ed è collocato nella directory /opt/ltsp/i386/etc.
Il formato del file lts.conf permette di definire alcune impostazioni
di 'default' e alcune impostazioni per le specifiche workstation. Se
tutte le vostre workstation sono identiche, potete specificare tutte le
impostazioni di configurazione nella sezione '[Default]'.
6.1.
Esempio del file lts.conf
Qui sotto è riportato un file lts.conf d'esempio:
[Default]
SERVER = 192.168.0.254
X_MOUSE_PROTOCOL
= "PS/2"
X_MOUSE_DEVICE
= "/dev/psaux"
X_MOUSE_RESOLUTION
= 400
X_MOUSE_BUTTONS
= 3
USE_XFS
= N
SCREEN_01
= startx
[ws001]
XSERVER
= auto
X_MOUSE_PROTOCOL
= "Microsoft"
X_MOUSE_DEVICE
= "/dev/ttyS1"
X_MOUSE_RESOLUTION
= 50
X_MOUSE_BUTTONS
= 3
X_MOUSE_BAUD
= 1200
[ws002]
XSERVER
= XF86_Mach64
[ws003]
SCREEN_01
= shell
6.2.
Elenco dei parametri disponibili per il file lts.conf
6.2.1.
Parametri generali Commenti
I commenti incominciano dal segno
'#' e continuano fino alla fine della riga.
LTSP_BASEDIR
Questo
parametro indica dove è collocato il filesystem principale di
LTSP.
Il valore di default (predefinito) per questo parametro è
/opt/ltsp SERVER
Questo parametro indica il server che è usato
al posto di XDM_SERVER, TELNET_HOST, XFS_SERVER e SYSLOG_HOST, quando
uno o più di questi parametri non sono specificati
esplicitamente.
Se avete una macchina che funziona da server per tutti
questi servizi allora basta che specificate l'indirizzo del server in
questo parametro e omettete gli altri parametri.
Se questo parametro
non è specificato viene utilizzato il valore predefinito
192.168.0.254.
SYSLOG_HOST
Se volete mandare i messaggi di log ad una
macchina diversa dal server principale (quello definito dal parametro
SERVER) potete specificare il server per i log con questo parametro. Se
questo parametro non è specificato verrà, come descritto
sopra, utilizzato il valore specificato come 'SERVER'.
NFS_SERVER
Questo parametro specifica l'indirizzo IP del server NFS quando il
filesystem /home viene montato.
Se questo parametro non è
specificato il valore utilizzato è quello specificato come
parametro SERVER.
USE_NFS_SWAP
Impostate il valore di questo parametro
ad Y se volete attivare lo swap via NFS.
Il default per questo
parametro è N
SWAPFILE_SIZE
Questo parametro controlla la
dimensione del file di swap. Il valore di default è 64m.
SWAP_SERVER
Il file di swap utilizzato può essere messo su un
qualsiasi server della rete che è in grado di gestirlo. Questo
parametro specifica l'indirizzo IP del server su cui mettere il file di
swap. Il valore di default per questo parametro è il valore di
NFS_SERVER.
NFS_SWAPDIR
Questo parametro indica la directory del server
che è esportata tramite NFS. Il valore di default è
/var/opt/ltsp/swapfiles. Accertatevi che questa directory dia
specificata nel file /etc/exports.
TELNET_HOST
Se la workstation
è configurata per avere un'interfaccia a caratteri allora questo
parametro è usato per specificare a quale computer (host)
collegarsi in telnet. Se questo valore non è impostato viene
utilizzato il valore SERVER specificato sopra.
DNS_SERVER
Indica il
server DSN, utilizzato per costruire il file resolv.conf.
SEARCH_DOMAIN
Utilizzato per costruire il file resolv.conf.
Parametri da SCREEN_01 a
SCREEN_12
In questi parametri possono essere specificati fino a 12
screen script per ciascuna workstation. Questo dà accesso fino a
12 sessioni su ogni workstation, ognuna accessibile premendo i tasti da
Ctrl-Alt-F1 a Ctrl-Alt-F12.
SCREEN_01 = startx
SCREEN_02 = shell
Valori possibili (come visto sopra) sono:
* startx
*
telnet
* rdesktop
* shell
Guardate nella directory
/opt/ltsp/i386/etc/screen.d per eventuali altri script aggiuntivi,
oppure scrivetene uno voi stesso e mettetelo in questa directory.
Da
MODULE_01 a MODULE_10
Fino a 10 moduli del kernel possono essere
caricati utilizzando questi parametri di configurazione.
Potete
specificare l'intera riga di comando che utilizzereste con il comando
insmod (con insmod escluso).
Per esempio:
MODULE_01 = uart401.o
MODULE_02 = "sb.o io=0x220 irq=5 dma=1"
MODULE_03 = opl3.o
Se il valore
del parametro è un pathname assoluto (cioè se è
specificata anche la directory in cui trovare il file) allora viene
utilizzato il comando insmod . Altrimenti viene utilizza il comando
modprobe.
RAMDISK_SIZE
Quando la workstation viene avviata, viene
creato un disco RAM che viene montato come directory /tmp. Con questo
parametro è possibile specificare la dimensione di questo
filesystem. Il numero specificato deve essere in kilobyte (1024 byte).
Ad esempio per creare un disco ram di 1 MB, impostate questo parametro
come RAMDISK_SIZE = 1024
Se cambiate questo parametro, la dimensione
del file ram, dovrete anche cambiare la dimensione del disco ram
all'interno del kernel. Questo valore può essere compilato nel
kernel, oppure se usate Etherboot o Netboot, potete indicare al kernel
la dimensione del disco ram quando fate la contrassegnatura del kernel
con il programma mknbi-linux. Il valore di default è 1024 ( 1 MB
)
da RCFILE_01 a RCFILE_10
Degli script RC possono essere eseguiti
dallo script rc.local.
Per ottenere questo basta collocare gli script
nella directory /etc/rc.d directory e specificare i nomi degli script
in questi parametri. SOUND Se il pacchetto LTSP del suono è
installato, dovete mettere questo parametro a Y e verrà eseguito
lo script rc.sound per configurare la scheda sonora e il demone. Il
valore di default per questo parametro è N.
6.2.2.
Parametri di X-Windows
XDM_SERVER
Se volete che XDM punti ad una
macchina diversa dal server principale dovete specificare la macchina
da utilizzare come server X in questo parametro. Se questo parametro
non è specificato verrà utilizzato il valore di 'SERVER'.
XSERVER
Questo parametro specifica quale tipo di X Server sarà
utilizzato dalla workstation. Per le schede video PCI e AGP questo
parametro dovrebbe non risultare necessario. POtete anche impostare
questo paramentro al valore auto per indicare che deve essere
effettuata un autorivelamento. Per le schede video ISA o se volete
forzare uno specifico valore impostate questo parametro al nome del
driver o del Xserver da utilizzare. se il valore di questo parametro
inizia con XF86_ , sarà usato XFree86 3.3.6. altrimenti
sarà usato X.org 6.7.0.
Il valore predefinito per questo
parametro è auto.
Da X_MODE_0 a X_MODE_2
Fino a 3 Modelines o
resoluzioni possono essere configurati per ciascuna workstation. Questi
parametri posoono avere due differenti tipi di valore. Può
essere una risoluzione o una completa modeline (linea di modo) X_MODE_0
= 800x600 oppure X_MODE_0 = 800x600 60.75 800 864 928 1088 600 616 621
657 -HSync -VSync Se non è specificato nessun valore come
X_MODE_x, sarà utilizzato il modelines standard e le risoluzioni
1024x768, 800x600 e 640x480. Se imo p più valori di X_MODE_x
vengono specificati, questi sostituiscono completamente le
modalità preimpostate.
X_MOUSE_PROTOCOL
In questo parametro
può essere specificato qualsiasi parametro valido per il valore
di Pointer Protocol di X.org Tipicamente i valori utilizzati sono
"Microsoft" o "PS/2".
Il valore di default per questo parametro
è "PS/2".
X_MOUSE_DEVICE
Questo parametro specifica il device
node a cui è connesso il mouse. Se il mouse è di tipo
seriale sarà la porta seriale, come /dev/ttyS0 o /dev/ttyS1. Se
il mouse è di tipo PS/2 questo valore sarà /dev/psaux. Il
valore di default per questoparametro è /dev/psaux .
X_MOUSE_RESOLUTION
Questo parametro corrisponde al parametro
'Resolution' nel file XF86Config. Un tipico valore per un mouse seriale
è 50 e per un maouse PS/2 400. Il valore di default per questo
parametro è 400.
X_BUTTONS
Questo parametro indica al sistema
quanti tasti abbia il mouse. In genere questo parametro ha il valore 2
o 3. Il valore di default per questo parametro è 3 .
X_MOUSE_EMULATE3BTN
Questo parmetro dice al server X di emulare un
mouse a 3 tasti. Quando vengono premuti simultaneamente i due tasti
(quello sinistro e quello destro) è come se fosse premuto il
tasto centrale. Il valore di default per questo parametro è N.
X_MOUSE_BAUD
Per un mouse seriale, questo parametro specifica la
velocità della connessione seriale. Il valore di default per
questo parametro è 1200.
X_COLOR_DEPTH
Questo parametro è
il numero di bit utilizzato per la profondità dei colori (color
depth). I possibili valori sono 8, 15, 16, 24 e 32. Un valore di 8 bits
darà 256 colori, 16 darà 65536 colori, 24 darà 16
milioni di colori e 32 bit darà 4.2 miliardi di colori! Non
tutti i server X supportano tutti questi valori. Il valore di default
per questo parametro è 16.
USE_XFS
Potete scegliere se eseguire
lo X Font Server (XFS) oppure se leggere i font tramite NFS. Il sistema
che usa il font server dovrebbe fornire un metodo più semplice
per tenere tutti i file dei font in un unico posto. Tuttavia sembra che
si verificano alcuni problemi con il sistema del font server quando il
numero delle workstation supera 40. Ci sono due possibili valori per
questo parametro: Y e N. Il valore di default è N . Se volete
utilizzare il font server potete utilizzare il parametro XFS_SERVER per
specificare quale server funzionerà da X font server.
XFS_SERVER
Se utilizza lo X Font Server per fornire i font allora potete
utilizzare questo parametro per specificare l'indirizzo IP del computer
che farà da font server. Se questo parametro non è
specificato sarà utilizzato il server di default, quello
specificato dal parametro SERVER, come descritto sopra.
X_HORZSYNC
Questo parametro specifica il parametro di configurazion HorizSync di
X.org. Il suo valore di default è "31-62".
X_VERTREFRESH
Questo
parametro specifica il parametro di configurazione VertRefresh di
X.org. Il suo valore di default è to "55-90".
XF86CONFIG_FILE
Se
volete crearvi un vostro personale file di configurazione XF86Config
potete farlo e collocarlo nella directory /opt/ltsp/i386/etc con un
nome di file di vostra scelta. Mettete il nome del file come valore di
questo parametro. Per esempio: XF86CONFIG_FILE = XF86Config.ws004
6.2.3.
Parametri di configurazione per il Touch screen
USE_TOUCH
Se
usate un touch screen nella workstation potete abilitarlo impostando
questo parametro al valore Y. Se abilitato il touch screen sarà
configurato da altri specifici paramtri. Il valore predefinito di
questo parametro è N.
X_TOUCH_DEVICE
Uno schero touch screen
funziona come un mouse e generalmente funziona collegato ad una porta
seriale. Potete specificare la porta seriale con questo parametro. Per
esempio potete impostarlo a /dev/ttyS0. Non c'è un valore di
default per questo parametro.
X_TOUCH_MINX
Questo parametro permette la
calibrazione di uno schermo touch screen EloTouch. Il valore di default
per questo parametro è 433
.
X_TOUCH_MAXX
Questo parametro
permette la calibrazione di uno schermo touch screen EloTouch. Il
valore di default per questo parametro è 3588.
X_TOUCH_MINY
Questo parametro permette la calibrazione di uno schermo touch screen
EloTouch. Il valore di default per questo parametro è 569.
X_TOUCH_MAXY
Questo parametro permette la calibrazione di uno schermo
touch screen EloTouch. Il valore di default per questo parametro
è 3526.
X_TOUCH_UNDELAY
Questo parametro permette la
calibrazione di uno schermo touch screen EloTouch. Il valore di default
per questo parametro è 10.
X_TOUCH_RPTDELAY
Questo parametro
permette la calibrazione di uno schermo touch screen EloTouch. Il
valore di default per questo parametro è 10.
6.2.4.
Parametri per le aplpicazioni locali.
LOCAL_APPS
Se volete
abiilltare l'esecuzione di applicazioni locali sulla workstation
impostate questo parametro ad Y. Per abilitare le applicazioni locali
occorrerà configurare molti altri punti. Consultate la sezione
'Local Apps' (Applicazioni Locali) del manuale LTSP per maggiori
informazioni. Il valore di default per questo parametro è N.
NIS_DOMAIN
Se avete impostato LOCAL_APPS a Y, allora dovete avere un
server NIS nella rete. Il parametro NIS_DOMAIN serve a specificare il
nome del NIS domain Deve coincidere con il dome che è stato
definito nel server NIS. Questo nome NON è la stessa cosa del
nome di domino internet. Il valore di default per questo parametro
è ltsp.
NIS_SERVER
Impostate questo parametro al valore del
server NIS se non volete che sia effettuata una chiamata broadcast per
cercare il server NIS.
6.2.5.
Parametri della tastiera (Keyboard)
Tutti i file per il supporto
delle tastiere sono copiati nella directory /opt/ltsp/i386 e nelle sue
sottodirectory, pertanto configurare una tastiera internazionale (non
statunitense) è semplicemente una questione di configurazione
dei X.org. Ci sono molti parametri per questa cosa. I valori che devono
assumere questi parametri sono i quelli descritti nella documentazione
di X.org. Tutti i parametri validi per X.org sono parametri validi per
questi parametri. Vorremmo aggiungere alla documentazione la
descrizione dei valori necessari per configurare ciascun tipo di
tastiera internazionale. Se avete lavorato per configurare una tastiera
internazionale e ci siete riusciti, le indicazioni e i commenti su come
riuscirci saranno molto graditi dal ltsp core group.
XkbTypes
Il valore
di default per questa parola è 'default '.
XkbCompat
Il valore
di default per questa parola è 'default '.
XkbSymbols
Il valore
di default per questo è 'us(pc101) '.
XkbModel
Il valore di
default per questo è 'pc101'.
XkbLayout
Il valore di default per
questa parola è 'us '.
6.2.6.
Parametri di configurazione delle stampanti
FIno a 3 stampanti
possono essere connesse ad una workstation senza dischi. Si può
configurare una combinazione di stampanti collegate a porte seriali e
parallele, tramite i seguenti parametri ne file lts.conf:
di Andrea Fascilla <afascilla@mail.com>
dal documento
originale di James McQuillan
<jam@LTSP.org>
PRINTER_0_DEVICE
Nome del device della prima stampante. Sono
utilizzabili nomi come /dev/lp0, /dev/ttyS0 o /dev/ttyS1.
PRINTER_0_TYPE
Specifica il tipo della stampante. Valide
possibilità sono: ' P' per le parallele o and 'S' per le
seriali.
PRINTER_0_PORT
Specifica il numero di porta della connessione
TCP/IP da usare. Il valore di default è '9100'
PRINTER_0_SPEED
Se la stampante è seriale, questo parametro indica la
velocità di connessione. Il valore di default è '9600'.
PRINTER_0_FLOWCTRL
Per una stampante seriale specifica il flow control
Le possibile scelte sono: 'S' per controllo Software (XON/XOFF) del
flusso di dati, 'H' per il controllo Hardware (CTS/RTS). Se non viene
specificato il valore di default utilzzato è 'S'.
PRINTER_0_PARITY
Se la stampante è seriale specifica la
parità. I valori possibili sono:'E'-Even, (parità pari),
' O'-Odd (parità dispari) o 'N'-None (nessuna parità). Se
non specificato viene utilizzato di defult il valore ' N'.
PRINTER_0_DATABITS
Per le stampanti seriali specifica il numero dei bit
dei dati. Le possibli scelte sono: '5', '6 ', '7' e '8 '. Se non
specificato sarà utilizzato il valore '8'.
PRINTER_1_DEVICE
Nome
del device della seconda stampante
PRINTER_1_TYPE
Tipo del device della
seconda stampante
PRINTER_1_PORT
Porta del device TCP/IP per la seconda
stampante
PRINTER_1_SPEED
baud rate per la seconda stampante (se
seriale)
PRINTER_1_FLOWCTRL
Tipo di controllo di flusso (flow control)
per la seconda stampante (se seriale)
PRINTER_1_PARITY
Parità
della connessione per la seconda stampante (se seriale)
PRINTER_1_DATABITS
Numero di bit dei dati per la seconda stampante. (se
seriale)
PRINTER_2_DEVICE
Nome del device della terza stampante
PRINTER_2_TYPE
Tipo del device della terza stampante
PRINTER_2_PORT
Porta del device TCP/IP per la terza stampante
PRINTER_2_SPEED
baud
rate per la terza stampante (se seriale)
PRINTER_2_FLOWCTRL
Tipo di
controllo di flusso (flow control) per la terza stampante (se seriale)
PRINTER_2_PARITY
Parità della connessione per la terza stampante
(se seriale)
PRINTER_2_DATABITS
Numero di bit dei dati per la terza
stampante. (se seriale)
Link utili.
- La pagina principale del sito web di LTSP e'
www.LTSP.org
(è in inglese, ma sul sito ci sono anche delle pagine
italiano)
- Diskless-Nodes HOW-TO document for Linux
en.tldp.org/HOWTO/Diskless-HOWTO.html
(in inglese)
- Etherboot Home Page
etherboot.sourceforge.net
(in inglese)
- The Rom-O-Matic site
www.Rom-O-Matic.net
(in inglese)
- X.org Mouse Support
www.xfree86.org/current/mouse.html
(in inglese)
- XFree86-Video-Timings-HOWTO
www.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/index.html
(in inglese) La traduzione in itliano è disponibile presso
it.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO.html
- The Linux NIS(YP)/NYS/NIS+ HOWTO
www.tldp.org/HOWTO/NIS-HOWTO/index.html
(in inglese) La traduzione in itliano è disponibile presso it.tldp.org/HOWTO/NIS-HOWTO/index.html
Ampi stralci del presente documento sono ripresi da:
LTSP -
Linux Terminal Server Project - Progetto per un sistema Server per
Terminali con Linux v4.1 - Documentazione in Italiano
di Andrea Fascilla
<afascilla@mail.com>
dal documento
originale di James McQuillan
<jam@LTSP.org>