[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 15.   nanoLinux III

nanoLinux III (1) è una distribuzione GNU/Linux Debian, per architettura i386, installata in un CD-ROM autoavviabile, che può essere riprodotta anche all'interno di una partizione di un disco fisso, tornando così a essere una distribuzione GNU/Linux Debian pura e semplice.

Per poter funzionare correttamente, nanoLinux III richiede molta memoria centrale (RAM); precisamente servono almeno 128 Mibyte.

A differenza di altri CD-ROM autoavviabili che contengono un sistema GNU/Linux, nanoLinux III cerca di utilizzare il minor numero possibile di artifici, allo scopo di consentire all'utilizzatore la modifica e la riproduzione di CD-ROM simili.

L'obiettivo primario di nanoLinux III è quello di fornire un sistema GNU/Linux di emergenza, paragonabile a un attrezzo multiuso, adatto però anche come strumento didattico, per l'apprendimento dei rudimenti di un sistema Unix. nanoLinux III offre anche l'uso di alcune applicazioni grafiche, con un'impostazione predefinita per un dispositivo di puntamento corrispondente a un mouse PS/2.

15.1   Preparazione

nanoLinux III potrebbe essere distribuito direttamente in forma di CD-ROM, oppure attraverso un file che contiene l'immagine del CD-ROM da riprodurre. Nel secondo caso, una volta ottenuto il file, se questo risulta compresso è necessario provvedere a ripristinare il suo stato originale, quindi si può passare al trasferimento in un CD. Il file potrebbe avere un nome simile al modello seguente:

nLinux-III-edizione.gz

Per riportare il file allo stato originale, disponendo di un sistema operativo Unix, si procede semplicemente così:

gunzip nLinux-III-edizione.gz

Si otterrà il file nLinux-III-edizione, pronto per il CD (nel capitolo 70 è trattato il problema della masterizzazione di CD).

La riproduzione del CD-ROM di nanoLinux III, come di qualunque CD-ROM autoavviabile, richiede un CD vergine di ottima qualità, perché il lettore CD che si utilizza viene sottoposto a un lavoro molto intenso; inoltre, anche se un CD di bassa qualità può risultare leggibile in condizioni normali, spesso diventa impossibile ottenere con questo l'avvio automatico del sistema.

Quando finalmente si dispone del CD-ROM di nanoLinux III, occorre comunque ricordare di controllare la configurazione del firmware (il BIOS), dove si deve vedere che la prima unità a essere presa in considerazione per l'avvio del sistema è il lettore CD-ROM.

Figura 15.1. Ecco come potrebbe apparire la configurazione del firmware per fare in modo che si avvii prima il CD-ROM del sistema contenuto nel disco fisso.

    Boot drive sequence:
        1st. ----------------------------- [CD-ROM]
        2nd. ----------------------------- [Floppy disk]
        3rd. ----------------------------- [Hard Disk]

Figura 15.2. In un firmware più vecchio, la voce per indicare la sequenza di avvio potrebbe essere unica. In questo caso, la lettera «A» rappresenta il dischetto, mentre la lettera «C» rappresenta il disco fisso.

    Boot sequence:         [CD-ROM,A,C]

15.2   Avvio e arresto del sistema

A seconda dell'edizione di nanoLinux III, si può presentare un logo grafico, oppure soltanto un testo esplicativo. A ogni modo, il sistema di avvio di nanoLinux III prevede di indicare una sigla che rappresenta l'unità in cui si trova il CD-ROM stesso, per poter passare al kernel l'indicazione di quale file system montare per avviare il sistema.

Il file principale del kernel di nanoLinux III dispone di molte funzionalità, pertanto potrebbe essere utilizzato anche solo per avviare un sistema operativo su una partizione di un disco fisso, che ha tutto, tranne un meccanismo di avvio funzionante.

Supponendo che il CD-ROM sia inserito in un lettore corrispondente al file di dispositivo /dev/hdc, al momento dell'avvio è necessario inserire la sigla hdc:

boot: hdc[Invio]

Se non si tocca la tastiera oppure si preme solo [Invio], si ottiene l'avvio di quanto previsto nel primo disco fisso, che potrebbe contenere un altro sistema operativo. In questo modo, se si vuole lasciare il CD-ROM di nanoLinux III nel lettore, questo non dovrebbe dare disturbo anche per l'uso normale del proprio elaboratore.

Trattandosi di un kernel voluminoso, la fase iniziale di verifica dei dispositivi esistenti è abbastanza lunga;(2) inoltre, la fase successiva della procedura di inizializzazione del sistema (Init), può mostrare degli errori a causa della presenza di un file system in sola lettura.

Se non si sa qual è il file di dispositivo corrispondente al lettore CD, si possono fare dei tentativi, sapendo che se si sbaglia, il kernel si blocca con un kernel panic, specificando che non è in grado di montare quel tale dispositivo.

In presenza di un lettore che non sia in condizioni perfette di funzionamento, oppure utilizzando una copia di nanoLinux III su un disco che non ha le caratteristiche ottimali richieste, anche se si riesce ad avviare il CD-ROM, si rischia di non arrivare alla fine della procedura di avvio, terminando miseramente con un kernel panic.

Quando si conclude la fase di avvio, il sistema si presenta come una distribuzione GNU/Linux comune, con sei console virtuali a disposizione, dove è necessario identificarsi nel modo consueto. Sono previsti solo due utenti: l'amministratore (root) e l'utente comune nano. Entrambe queste utenze sono associate alla parola d'ordine nano:

nano login: root[Invio]

Password: nano[Invio](3)

Oppure:

nano login: nano[Invio]

Password: nano[Invio](4)

Se si intende utilizzare nanoLinux III per accedere alla rete, è necessario configurare l'interfaccia o le interfacce di rete in modo manuale (si vedano a questo proposito i capitoli 114, 115 e 116).

In generale, nanoLinux III non tenta di montare i dischi presenti nell'elaboratore, ma eccezionalmente, se la prima partizione del primo disco fisso contiene un file system FAT o VFAT, questa viene montata in /mnt/hda1/, risultando accessibile anche attraverso il collegamento /dos/.

Se si vuole utilizzare la grafica, la si deve avviare manualmente, ma ciò conviene farlo solo in qualità di utente nano:

startx

Si osservi che questo script, se avviato dal CD-ROM, non deve essere messo sullo sfondo, perché richiede di specificare il tipo di adattatore grafico, suggerendo anche quanto appare all'interno di /proc/pci.

Figura 15.3. Come si presenta startx quando viene avviato dal CD-ROM.

.----------- compatible controller: S3 Inc. ViRGE/DX or /GX (rev 1) ---------.
|                                                                            |
| Please, select one of the following video adapters:                        |
| .------------------------------------------------------------------------. |
| |                     vesa           try this before                     | |
| |                     apm                                                | |
| |                     ark                                                | |
| |                     ati                                                | |
| |                     atimisc                                            | |
| |                     chips                                              | |
| |                     cirrus                                             | |
| |                     cyrix                                              | |
| |                     fbdev                                              | |
| |                     glide                                              | |
| |                     glint                                              | |
| |                     i128                                               | |
| `----------------------(+)-----------------------------------------------' |
|                                                                            |
|----------------------------------------------------------------------------|
|                       <  OK  >            <Cancel>                         |
`----------------------------------------------------------------------------'

Al termine dell'utilizzo del sistema, si può chiudere con il solito:

shutdown -h now

Tuttavia, se non sono stati montati dei dischi con dati sensibili, è sufficiente spegnere direttamente l'elaboratore, perché il CD-ROM non può alterarsi.

Al termine del funzionamento, non viene offerta l'espulsione del CD; tuttavia nanoLinux III non interferisce con l'avvio del sistema previsto nel primo disco fisso, pertanto può rimanere stabilmente nel lettore.

15.3   Installazione nel disco fisso

nanoLinux III può essere installato in una partizione di un disco fisso, manualmente, come punto di partenza per una distribuzione GNU/Linux Debian da estendere successivamente, attraverso l'installazione di altri pacchetti.

Per fare questo è disponibile fdisk, con cui si deve predisporre una partizione per la memoria virtuale (tipo 8216) e una per il file system (tipo 8316). Il procedimento per intervenire in questo modo è descritto nel capitolo 10.

Supponendo di avere definito la partizione corrispondente a /dev/hda1 per la memoria virtuale e /dev/hda2 per il file system, si deve procedere successivamente alla loro inizializzazione:

mkswap /dev/hda1[Invio]

mkfs.ext3 /dev/hda2[Invio]

Al termine si può montare la partizione che dovrà contenere il file system, per poi iniziare a copiarvi all'interno il contenuto del CD-ROM:

mount /mnt/hda2[Invio]

cd /nanoLinux[Invio]

cp -dpRv bin boot etc home lib opt root sbin usr var /mnt/hda2[Invio]

cp -dpRv SKELETON/* /mnt/hda2[Invio]

La copia richiede un certo tempo. Quando si può verificare che il contenuto della directory boot/ è stato copiato, si può procedere in un'altra console virtuale a installare il sistema di avvio, che si avvale di GRUB. Si continua a supporre di installare la copia di nanoLinux III nella partizione corrispondente al file di dispositivo /dev/hda2:

grub[Invio]

grub> install (hd0,1)/boot/grub/stage1 (hd0) <-'
`->(hd0,1)/boot/grub/stage2 p <-'
`->(hd0,1)/boot/grub/menu.lst[Invio]

grub> quit[Invio]

In questo modo viene installato un menù di avvio generico, con il quale viene richiesto di specificare la partizione da avviare. Volendo si può modificare il file boot/grub/menu.lst per le proprie esigenze, soprattutto se si intende avviare anche un altro sistema operativo (si veda il capitolo 17 per la descrizione dell'utilizzo di GRUB).

Al termine della copia, oltre a predisporre il sistema di avvio, è necessario intervenire in alcune parti della configurazione; per la precisione è indispensabile modificare il file /etc/fstab per quanto riguarda la partizione contenente la memoria virtuale e quella che contiene il file system. Si tratta delle prime due righe, che in questo caso vanno modificate nel modo seguente:


/dev/hda1  none  swap   sw                          0  0
/dev/hda2  /     ext3   defaults,errors=remount-ro  0  1

Se l'elaboratore in cui si lavora è connesso stabilmente a una rete locale, converrà intervenire nello script /etc/init.d/network; si osservi che questo file è molto diverso dallo standard delle distribuzioni GNU/Linux Debian, ma nulla vieta di riportarlo alla normalità. In ogni caso, è necessario modificare i file /etc/hostname e /etc/mailname. Per esempio, se il proprio elaboratore deve avere il nome di dominio dinkel.brot.dg, il primo conterrà la stringa dinkel, mentre il secondo deve contenere il nome di dominio completo.

Una volta installato nanoLinux III, si potrà osservare che lo script startx torna a comportarsi come al solito; pertanto può essere necessario intervenire nel file di configurazione /etc/XF86Config, che in condizioni normali è predisposto per un adattatore grafico VESA.

15.4   Particolarità della distribuzione GNU/Linux Debian contenuta in nanoLinux III

Dalla descrizione del procedimento di installazione si comprende la presenza di un file /etc/init.d/network diverso dallo standard. Oltre a questo ci sono altre particolarità da tenere in considerazione.

15.4.1   Directory per l'innesto di altri file system

La directory /mnt/ è strutturata in una serie di sottodirectory per montare facilmente dischi e partizioni locali, assieme a file system di rete, offerti attraverso il protocollo NFS. In pratica, in base alla configurazione del file /etc/fstab, è sufficiente montare un disco con un comando del tipo seguente, per ottenere di inserire al suo interno il dispositivo corrispondente al file /dev/nome:

mount /mnt/nome[Invio]

Per esempio per montare un dischetto nella prima unità, basta il comando seguente:

mount /mnt/fd0[Invio]

Un sistema nanoLinux III prevede la condivisione di tutto il file system (compresi tutti i punti di innesto corrispondenti alle directory /mnt/*) attraverso il protocollo NFS; ma prima di poter montare il file system di un sistema nanoLinux III, è necessario avviare il servizio corrispondente presso il servente:

/etc/init.d/nfs-kernel-server start[Invio]

Per montare il file system principale di un altro sistema nanoLinux III (in cui il servizio corrispondente sia stato avviato preventivamente) è sufficiente il comando seguente:

mount /mnt/indirizzo_ipv4[Invio]

Tuttavia, se quello che si intende è raggiungere qualcosa che è stato montato al suo interno, occorre dare un comando più specifico. L'esempio seguente serve a raggiungere un dischetto montato nella directory /mnt/fd0 del nodo 192.168.1.2, mettendolo a disposizione nella directory locale /mnt/a/:

mount -t nfs 192.168.1.2/mnt/fd0 /mnt/a[Invio]

Si osservi comunque che la condivisione è concessa solo a indirizzi IPv4 di «reti private».(5)

Per quanto riguarda un'introduzione sugli indirizzi di rete e le reti private, si può consultare il capitolo 111; inoltre, il servizio NFS è descritto nel capitolo 137.

15.4.2   Configurazione di Bash e script di sistema

Il file /etc/profile è più articolato di quello standard. In particolare, la variabile PATH tiene conto anche di quanto contenuto nelle directory /opt/*/bin/; inoltre, è prevista la directory /etc/script/ per gli script che non appartengono allo standard della distribuzione. Il percorso della directory /etc/script/ viene posto prima degli altri, in modo da avere la precedenza nella scelta di nomi uguali.

15.4.3   Configurazione di mouse e tastiera

La configurazione della tastiera è prevista secondo le convenzioni della distribuzione GNU/Linux Debian; tuttavia si tratta di una mappa per tastiera italiana a cui sono stati aggiunti altri simboli rispetto a quella comune (per esempio le lettere accentate maiuscole). Se si aggiorna il pacchetto relativo alla gestione della tastiera, può darsi che la mappa venga rimpiazzata con quella standard, perdendo queste estensioni; se necessario, la mappa estesa si trova in /etc/console/it-base-edizione.map*.

La gestione del mouse è sottoposta al controllo di GPM e il sistema grafico, XFree86, utilizza le informazioni generate da GPM stesso, senza accedere direttamente al mouse. La configurazione predefinita di nanoLinux III prevede l'uso di un mouse di tipo PS/2, ma si può utilizzare lo script mouse per attivare la gestione di un mouse differente:

Figura 15.4. Come si presenta lo script mouse.

.--------------------------- Mouse selection---------------------------------.
|                                                                            |
| Please, select the mouse:                                                  |
| .------------------------------------------------------------------------. |
| |       gpm -t ps2 -m /dev/psaux -R mcs  PS/2                            | |
| |       gpm -t ms  -m /dev/ttyS0 -R mcs  Microsoft serial COM1:          | |
| |       gpm -t ms  -m /dev/ttyS1 -R mcs  Microsoft serial COM2:          | |
| |       gpm -t msc -m /dev/ttyS0 -R mcs  MouseSystems serial COM1:       | |
| |       gpm -t msc -m /dev/ttyS1 -R mcs  MouseSystems serial COM2:       | |
| `------------------------------------------------------------------------' |
|                                                                            |
|----------------------------------------------------------------------------|
|                       <  OK  >            <Cancel>                         |
`----------------------------------------------------------------------------'

Eventualmente si può anche intervenire manualmente nel file /etc/gpm.conf e cambiare, temporaneamente, ciò che serve; si dovrà, ovviamente, riavviare il demone gpm attraverso lo script previsto dalla distribuzione:

/etc/init.d/gpm stop[Invio]

/etc/init.d/gpm start[Invio]

se funziona il mouse su una console, funzionerà di conseguenza anche con XFree86.

Può capitare che il demone gpm non si avvii regolarmente, anche se la configurazione predefinita corrisponde alla situazione reale. In tal caso è necessario riavviare manualmente il servizio nel modo appena mostrato.

15.4.4   Procedura di inizializzazione del sistema

La procedura di inizializzazione del sistema prevede uno script in più, costituito da /etc/init.d/rc.local, a cui fa riferimento il collegamento /etc/rcS.d/S90rc.local. Questo script è il raccoglitore di tutto quello che deve essere fatto alla fine della procedura di avvio; in particolare, definisce il tipo di caratteri da usare per le console virtuali e tenta di rimpiazzare alcuni file che riguardano la configurazione dei gestori di finestre.

Nel caso di nanoLinux III funzionante da CD-ROM, esiste anche un altro file, /etc/init.d/rc.nanoLinux, il cui scopo è quello di: riprodurre la struttura necessaria delle directory /var/, /home/ e /etc/ nel file system virtuale contenuto nel disco RAM; tentare di montare la partizione /dev/hda1 come file system VFAT; tentare di attivare la memoria virtuale nel caso riesca a trovare un file nlnx3tmp.swp (come descritto più avanti nel capitolo).

15.4.5   Sistema grafico

La configurazione di XFree86 è contenuta nel file /etc/X11/XF86Config; il file /etc/X11/XF86Config.vesa contiene la stessa configurazione e rimane di scorta.

La configurazione di partenza, si riferisce a un adattatore grafico VESA, dove si tentano di visualizzare 1024x768 punti a una profondità di 16 bit (216 colori). Si veda la parte xxi a proposito del sistema grafico X e della configurazione di XFree86.

nanoLinux III è estremamente spartano a proposito di grafica ed è disponibile solo il gestore di finestre Fvwm. Per garantire che venga avviato Fvwm è stato modificato il file /etc/X11/xinit/xinitrc e per garantire che rimanga così, nella directory /etc/X11/xinit/ ne è disponibile una copia di scorta che viene ricopiata automaticamente per opera dello script /etc/init.d/rc.local, già descritto.

Per quanto riguarda la configurazione del gestore di finestre Fvwm, anche questa è stata riscritta (il file /etc/X11/fvwm/system.fvwm2rc) e lo script /etc/init.d/rc.local provvede a mantenerla come disposto per nanoLinux III.

Se si gradisce questo tipo di impostazione, le modifiche per il menù di Fvwm vanno apportate precisamente nel file /etc/X11/fvwm/system.fvwm2rc.nanoLinux; altrimenti, per ripristinare le condizioni normali, basta togliere le istruzioni che ricopiano ogni volta questo file all'interno di /etc/init.d/rc.local, compreso eventualmente quanto riguarda /etc/X11/xinit/; aggiornando successivamente i pacchetti relativi, le cose dovrebbero tornare lentamente alla normalità.

Per approfondire l'argomento si può consultare la parte xxi dedicata alla gestione grafica.

15.4.6   DNS e nome dell'elaboratore

I file di configurazione di Bind, per la risoluzione dei nomi, sono collocati tutti nella directory /etc/bind/ e le zone di competenza, nell'impostazione iniziale, si riferiscono all'indirizzo 127.0.0.1 e, a scopo didattico, anche ad alcuni indirizzi IPv4 privati. Inoltre, il nome nano viene indicato nel file /etc/hosts, come sinonimo di localhost, per garantire il funzionamento di alcuni programmi (si veda il capitolo 122 a proposito della configurazione di un servizio DNS con Bind).

15.4.7   SMTP

nanoLinux III prevede un MTA per l'invio e il recapito della posta elettronica. Si tratta precisamente di Exim, che risulta configurato in modo da consentire l'invio di messaggi anche a nodi identificati attraverso il numero dell'indirizzo IP, secondo un formato simile all'esempio seguente:

nano@[192.168.1.2]

Si osservi la necessità delle parentesi quadre per delimitare l'indirizzo.

In questo modo, si può usare Mailx (il programma mail) per inviare dei messaggi ad altri elaboratori in cui è in funzione nanoLinux III. Tuttavia, i messaggi risultano trasmessi tutti da nano@nano, ovvero da un mittente irraggiungibile.

Con questo tipo di impostazione, l'invio di messaggi a indirizzi normali, potrebbe risultare impedito da parte dei serventi SMTP remoti, a causa dell'impossibilità di risolvere il dominio di origine nano.

Per approfondire l'argomento si può consultare la parte xxix dedicata alla gestione della posta elettronica.

15.4.8   HTTP

È disponibile il servente HTTP Boa. Per facilitarne l'utilizzo quando nanoLinux III è avviato da CD-ROM, la sua configurazione standard è stata modificata in modo da far corrispondere agli URI http://nodo/a/ e http://nodo/c/, rispettivamente quanto contenuto in /mnt/fd0 e /mnt/hda1. In questo modo, si raggiunge facilmente il contenuto di un dischetto o ciò che potrebbe essere contenuto nella prima partizione del primo disco fisso (probabilmente un file system VFAT).

Per approfondire l'argomento si può consultare la parte xxx dedicata alla gestione di un servizio HTTP.

15.4.9   Sicurezza elementare

nanoLinux III dispone di un servente per il protocollo SECSH (Secure Shell), che però non viene avviato automaticamente con il sistema operativo, perché sarebbe anche troppo facile raggiungere l'elaboratore conoscendo perfettamente le parola d'ordine dei due utenti previsti. Inoltre, come già descritto, anche la condivisione dei dati attraverso il protocollo NFS non è attiva in modo predefinito. Per attivare questi due servizi, rispettivamente, si può intervenire nel modo seguente:

/etc/init.d/ssh start[Invio]

/etc/init.d/nfs-kernel-server start[Invio]

15.4.10   Collegamento attraverso il modem

All'interno della directory /etc/script/ è presente lo script ppp-on che dovrebbe consentire un collegamento facilitato attraverso alcuni fornitori di accesso nazionali che offrono un servizio gratuito. Il funzionamento di questo script dipende dalla presenza di un modem esterno collegato a una porta seriale standard.

Se tutto va bene, è sufficiente avviare ppp-on con i privilegi dell'utente root e seguire le istruzioni. Viene richiesto di selezionare il fornitore, il nominativo dell'utenza con cui si è riconosciuti, la parola d'ordine, la porta seriale corrispondente al modem e il numero di telefono. In ogni momento è possibile annullare l'operazione con la combinazione [Ctrl+c].

Lo script, attraverso le informazioni inserite, crea i file /etc/ppp/chap-secrets e /etc/ppp/pap-secrets di volta in volta.

Per concludere un collegamento attivato in questo modo si può usare lo script ppp-off, oppure si può eliminare il processo corrispondente a pppd.

Se si installa nanoLinux III nel disco fisso, può essere conveniente modificare questo script in modo da inserire stabilmente alcune informazioni personali, quali il nominativo, la parola d'ordine e il file di dispositivo relativo al modem, attraverso l'impostazione di alcune variabili di ambiente, il cui significato dovrebbe essere intuitivo:


#-----------------------------------------------------------------------
# Variabili personalizzabili.
#-----------------------------------------------------------------------

PASSWORD_LIBERO="frt653w8"
PASSWORD_WIND="dsweaq287"
PASSWORD_TISCALI="jkiuvcdsw3"
PASSWORD_TIN="98jmnvcds"
PASSWORD_INTERFREE="98dsa23asd"

UTENTE_LIBERO="tizio.tizi@libero.it"
UTENTE_WIND="tizio.tizi"
UTENTE_TISCALI="tizio.tizi"
UTENTE_TIN="tizio87"
UTENTE_INTERFREE="blabla56"

TELEFONO_LIBERO=""
TELEFONO_WIND=""
TELEFONO_TISCALI=""
TELEFONO_TIN=""
TELEFONO_INTERFREE=""

PERIFERICA="/dev/ttyS0"

Per approfondire l'argomento si può consultare la parte xxvi dedicata alla gestione di modem e porte seriali.

15.4.11   Stampa

nanoLinux III include un servente di stampa di tipo BSD, abbinato a un filtro di stampa pronto per tutti i tipi di stampante gestibile. Basta leggere il file /etc/printcap per sapere quale nome si può scegliere con il comando lpr, oppure si può usare lo script printers, per scorrere l'elenco dei nomi disponibili. Per esempio se si dispone di una stampante compatibile con il modello HP Laserjet generico, si può usare in questo modo:

lpr -Plaserjet

Naturalmente, quando si installa nanoLinux III nel disco fisso, si può modificare il file /etc/printcap, ricopiando la definizione della stampante che serve, attribuendo poi il nome lp, cosa che consente di stampare senza usare più l'opzione -P. Tuttavia, prima di aggiungere questo nome, si controlli che non sia già presente da qualche altra parte nel file. Segue un esempio riferito alla stampa compatibile con un modello HP Laserjet generico:


lp:\
        :lp=/dev/lp0:\
        :sd=/var/spool/lpd/lp:\
        :af=/var/log/lp-acct:\
        :lf=/var/log/lp-errs:\
        :if=/etc/magicfilter/laserjet-filter:\
        :pl#66:\
        :pw#80:\
        :pc#150:\
        :mx#0:\
        :sh:

Attualmente, nanoLinux III in funzione su CD-ROM, non è in grado di utilizzare il sistema di stampa normale (anche se il demone risulta funzionare correttamente). Per rimediare, è presente lo script lpr, nella directory /etc/script/, che stampa utilizzando direttamente il file di dispositivo /dev/lp0. In questo modo la stampa funziona, ma solo se la stampante è libera, impegnando il programma che richiede la stampa fino alla fine di questa.

Volendo tentare di usare il sistema di stampa normale anche dal CD-ROM, basta selezionare il programma lpr con il suo percorso esatto: /usr/bin/lpr.

Si rammenti che, almeno per il momento, nanoLinux III è predisposto solo per stampare attraverso la porta parallela.

Per approfondire l'argomento si può consultare la parte xx dedicata alla stampa.

15.4.12   Memoria virtuale

nanoLinux III è fatto per non interferire con il disco fisso, ma se lo si desidera, è possibile creare e poi utilizzare un file come memoria virtuale. Si crea e si attiva questo file con il comando seguente:

swap file_di_dispositivo

Per esempio, il comando seguente tenta di creare il file nlnx3tmp.swp, nella directory radice della partizione corrispondente al file di dispositivo /dev/hda1, attivando all'interno di questo la gestione dello scambio della memoria virtuale:

swap /dev/hda1

Se il disco o la partizione indicati hanno una dimensione adeguata e c'è spazio libero a sufficienza, il file viene creato e lo scambio della memoria viene attivato.

All'avvio del CD-ROM, il sistema controlla le partizioni corrispondenti ai file di dispositivo da /dev/hda1 a /dev/hda7, alla ricerca del file nlnx3tmp.swp. Se questo file viene trovato, si ottiene l'attivazione automatica della memoria virtuale al suo interno. In pratica, se esiste questo file, si intende l'intenzione di gestire la memoria virtuale. Si osservi, però, che la ricerca termina appena viene trovato uno di questi file.

15.5   Dati variabili nel CD-ROM

Quando nanoLinux III funziona da un CD-ROM, alcuni file di configurazione che si trovano normalmente a partire dalla directory /etc/, sono dei collegamenti simbolici a file contenuti in realtà nella directory /ramdisk/etc/, che è modificabile, anche se solo in modo temporaneo. Ciò consente di definire dinamicamente la configurazione di alcuni applicativi, come nel caso di XFree86 e della connessione PPP attraverso la linea telefonica commutata.

Oltre alle esigenze pratiche di funzionamento del CD-ROM, altri file sono stati trasferiti sotto /ramdisk/etc/, per consentirne la modifica a scopo didattico. Per esempio è possibile cambiare la configurazione del DNS, modificando le zone test.dg e 1.1.10.in-addr.arpa.

Sempre per motivi didattici, nanoLinux III include PostgreSQL, che per funzionare da CD-ROM, deve disporre dei file delle basi di dati a partire da /ramdisk/var/lib/postgres/. Tuttavia, dal momento che ciò richiede un dispendio di memoria molto elevato, la copia di questi dati nel disco RAM viene fatta attraverso uno script apposito, che prepara e avvia il servizio: startpostgresql.(6) Eventualmente, è disponibile anche lo script droppostgresql, che ferma il servizio e cancella i dati dalla memoria. Naturalmente, l'utilità di questo tipo di programma sta solo nel poter scrivere degli script da eseguire poi con psql; script che possono risiedere in un dischetto montato per l'occasione.

15.6   Controllo a distanza

Tra le varie applicazioni che accompagnano nanoLinux III, c'è anche VNC (capitolo 100). A questo sono stati associati alcuni script per facilitarne l'utilizzo con degli studenti e anche in altre situazioni, come descritto nella tabella seguente.

Comando Descrizione

vncs

vncs1024

vncs800

Si avvia da una console per attivare un servente VNC, obbligando a definire una parola d'ordine.

vncsc

vncsc1024

vncsc800

Si avvia da una console per attivare un servente VNC, obbligando a definire una parola d'ordine, assieme al cliente VNC necessario a interagire con questo. L'accesso alla sessione di lavoro con il servente VNC è permessa anche ad altri.

vncv nodo:1

Si avvia da una finestra di terminale per vedere cosa avviene con il servente VNC in funzione presso il nodo indicato.

vncc nodo:1

Si avvia da una finestra di terminale per interagire con il servente VNC in funzione presso il nodo indicato.

sharedx

sharedx1024

sharedx800

Si avvia da una console, al posto di startx, per fare utilizzare la grafica consentendo a un insegnante o a un tutore di controllare ciò che avviene.

takesharedx nodo...

Si avvia da una finestra di terminale, indicando una serie di nodi da controllare, per visualizzare ed eventualmente controllare il funzionamento dei serventi VNC avviati lì attraverso lo script sharedx*.

takesharedxnet aaa.bbb.ccc n...

Si avvia da una finestra di terminale, indicando un indirizzo IPv4 con i soli primi tre ottetti, assieme a un elenco di numeri, corrispondenti all'ultima parte dell'indirizzo IPv4. In questo modo vengono aperte una serie di finestre per la visualizzazione e il controllo dei serventi VNC avviati lì attraverso lo script sharedx*.

Questi script sono pensati per due situazioni comuni: un insegnante che ha la necessità di mostrare a tutti quello che sta facendo, oppure un insegnante o un tutore che hanno bisogno di controllare in qualche modo ciò che stanno facendo gli studenti.

Nel primo caso, l'insegnante avvia uno degli script vncsc*, specificando la parola d'ordine che poi comunicherà agli studenti, i quali si collegheranno al servente VNC dell'insegnante, con lo script vncv.

Nel secondo caso, viene richiesto agli studenti di avviare X per mezzo di uno degli script sharedx*, in modo che l'insegnante possa controllare attraverso uno degli script takesharedx*. Si osservi che con gli script sharedx* e takesharedx* non viene inserita alcuna parola d'ordine, perché ne viene usata una prestabilita. Si osservi anche che con questi script non si specifica mai il numero della stazione grafica, perché deve trattarsi di :1.

15.7   Realizzazione di un CD-ROM simile, a partire da nanoLinux III

nanoLinux III esiste con lo scopo di poter essere adattato facilmente alle proprie esigenze, aggiungendo e togliendo pacchetti a seconda dei bisogni. Per poter intervenire in questo modo, è necessario predisporre una directory all'interno del file system di un sistema GNU/Linux preesistente, dove la sottodirectory nanoLinux/ deve essere vuota e il suo contenuto viene montato da una partizione libera. Per esempio, la directory di partenza potrebbe essere /home/nano/ e la partizione libera potrebbe corrispondere al file di dispositivo /dev/hdb1. In tal modo, il file system contenuto in /dev/hdb1 corrisponde in pratica a nanoLinux III installato su CD-ROM, ma senza adattamenti, a parte la necessità di adeguare il file /etc/fstab; avviando il sistema operativo corrispondente a questa partizione, si può lavorare per installare o eliminare qualche pacchetto.

Una volta fatte le modifiche necessarie, si riavvia, in modo da avere il sistema normale, con la directory /home/nano/, contenente ciò che manca e che serve per far funzionare nanoLinux III in un CD-ROM. Appena possibile si monterà la partizione /dev/hdb1 nella directory /home/nano/nanoLinux/.

Prima di passare alla creazione dell'immagine del CD-ROM e alla masterizzazione successiva, si devono sistemare alcune cose, come la cancellazione della directory temporanea, la creazione di una directory etc/ adatta e l'eliminazione del superfluo nelle directory usr/share/doc/*/ per risparmiare spazio. Di tutto questo si prende cura lo script usato per la masterizzazione, isolinux/makecdrom, che va modificato in base alle caratteristiche del proprio masterizzatore.

Come accennato, lo script isolinux/makecdrom elimina il superfluo nelle directory contenenti la documentazione, lasciando solo il file copyright, per documentare le condizioni a cui sono sottoposti i singoli pacchetti.

Al termine, ci si pone all'inizio della gerarchia (nel caso di questo esempio si tratta della directory /home/nano/ e si avvia lo script:

isolinux/makecdrom[Invio]

15.8   Riferimenti

Tabella 15.2. Riepilogo degli applicativi più importanti che sono presenti nel CD-ROM di nanoLinux III.

Applicativi Annotazioni
VI Programma tradizionale per la creazione e la modifica dei file di testo (capitolo 84).
Midnight Commander (mc, mcedit) Shell molto sofisticata con programma di modifica di file di testo integrato (capitolo 85).
Perl, Gcc Interpreti e compilatori (parti lvii e lv).
Tar, Gzip, Bzip2, Zip Programmi per l'archiviazione dei dati (capitolo 76).
Timidity, MP3blaster, PlayMPEG Programmi per la riproduzione di formati audio e video (capitoli 337 e 339).
AbiWord Scrittura (capitolo 107).
Gnumeric Foglio elettronico (capitolo 106).
MagicPoint Programma di presentazione (capitolo 108). Si avvia da una finestra di terminale (con l'eseguibile mpg), indicando il file della presentazione.
PostgreSQL DBMS (capitolo 324). Si attiva la gestione delle basi di dati con il comando startpostgresql e si disattiva con droppostgresql (con i privilegi dell'utente root).
PgAccess, Psql Programmi frontali per l'accesso a una base di dati gestita da PostgreSQL (capitolo 326).
Boa Servente HTTP (capitolo 161).
Galeon, Mozilla, Links, Wget Programmi per la navigazione ipertestuale con il protocollo HTTP.
Amaya Programma visuale per la realizzazione di documenti HTML, rispettando gli standard (capitolo 264).
Exim MTA (capitolo 156). Gli indirizzi di posta elettronica che contengono indirizzi IPv4, devono essere racchiusi tra parentesi quadre, tipo: nano@[192.168.1.2].
Balsa, Mailx (mail) MUA per l'invio e la lettura di messaggi di posta elettronica, aderenti al formato Unix mailbox (capitolo 151).
Bind Servente DNS (capitolo 122). Alcuni file di configurazione possono essere modificati a scopo didattico.
Host, Dig, Whois Programmi per consultare il DNS.
Geg, Gnuplot Programmi per il disegno di funzioni (parte lxviii).
Xfig, Gimp Programmi di disegno e di fotoritocco (capitoli 109 e 104).
Ghostscript, Ghostview, GV, Xpdf Programmi per la conversione e la visualizzazione del formato PostScript e PDF (parte xx).
OpenSSH Servente e cliente per il protocollo SECSH (capitolo 202). Il demone che svolge il ruolo di servente deve essere avviato esplicitamente: /etc/init.d/ssh start.
Netstat, IPTraf, Ethereal Applicativi per il controllo e lo studio pratico delle reti (capitolo 190).
VNC Servente e cliente VNC (capitolo 100).

Tabella 15.3. Riepilogo dei programmi e degli script specifici di nanoLinux III.

Comando Descrizione

ppp-on

ppp-off

Apre e chiude una connessione PPP con l'uso di un modem esterno. È necessario agire in qualità di utente root.

vncs

vncs1024

vncs800

Avvia un servente VNC.

vncsc

vncsc1024

vncsc800

Avvia un servente VNC con il cliente necessario per controllarlo.

vncc nodo:n

vncv nodo:n

Si utilizza da una finestra di terminale, per avviare un cliente VNC per controllare o per visualizzare un servente.

sharedx

sharedx1024

sharedx800

Come vncsc*, utilizzando una parola d'ordine predefinita.

takesharedx nodo

takesharedxnet aaa.bbb.ccc n...

Si utilizza da una finestra di terminale, per avviare uno o più clienti VNC per controllare i serventi avviati con sharedx*.

printers

Scorre l'elenco dei nomi delle stampanti che si possono utilizzare nel comando lpr -Pstampante.

txt2ps file_di_testo

cat file_di_testo | txt2ps > file_ps

Converte un file di testo in un file PostScript, con margini adeguati.

htmlcheck file_html

html3check file_html

html4check file_html

xhtmlcheck file_xhtml

Verifica la correttezza sintattica di un file HTML, o XHTML.

startpostgresql

droppostgresql

Attiva o disattiva PostgreSQL. La disattivazione fa perdere tutti i dati inseriti. Si deve intervenire in qualità di utente root.

swap /dev/hdx

Crea un file per lo scambio della memoria virtuale e la attiva.
Appunti di informatica libera 2003.01.01 --- Copyright © 2000-2003 Daniele Giacomini -- daniele @ swlibero.org

1) nanoLinux III   GNU-GPL; i singoli applicativi sono sottoposti eventualmente alle loro condizioni specifiche

2) Se si dispone di una stampante collegata alla porta parallela, questa potrebbe emettere una pagina con alcuni simboli senza significato, a causa dei tentativi del kernel.

3) La parola d'ordine viene inserita senza poterla vedere sullo schermo.

4) La parola d'ordine viene inserita senza poterla vedere sullo schermo.

5) Si tratta precisamente degli indirizzi 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.

6) startpostgresql e droppostgresql vanno avviati con i privilegi dell'utente root.


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome nanolinux_nbsp_iii.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]