[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]
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 in modo semplice.
L'obiettivo di nanoLinux III è prevalentemente didattico, per la diffusione di Appunti di informatica libera e per l'apprendimento dei rudimenti di un sistema Unix. nanoLinux III offre l'uso di alcune applicazioni grafiche, con un'impostazione predefinita per un dispositivo di puntamento corrispondente a un mouse PS/2.
|
Il nome nanoLinux deriva da una serie di lavori di Daniele Giacomini, più o meno sperimentali: nanoLinux I e nanoLinux II, rispettivamente del 1997 e del 1998, che sono sistemi GNU/Linux ridottissimi, da usare attraverso dischetti. Il sito NanoLinux raggiungibile all'indirizzo <http://www.nanolinux.com> non ha nulla a che vedere con questi lavori. |
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:
|
|
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 67 è trattato il problema della masterizzazione di CD).
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 14.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.
|
|
Figura 14.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.
|
Nel caso si intenda utilizzare nanoLinux III anche con un elaboratore in cui non è possibile configurare l'avvio da CD-ROM, è possibile riprodurre un dischetto di avvio, che però contiene un kernel ridotto, in cui potrebbero mancare funzionalità importanti.
Il file contenente l'immagine del dischetto si trova nella directory radice del CD-ROM, con il nome boot.img. Da un sistema GNU/Linux è possibile ottenere facilmente una copia di questo dischetto, a partire dall'immagine, con un comando simile a quello seguente:
# cp boot.img /dev/fd0
Se si dispone di un sistema Dos o MS-Windows, si può sfruttare lo script MKFLOPPY.BAT che a sua volta si avvale del programma RAWRITE2.EXE, entrambi collocati nella directory radice del CD-ROM:
D:\> MKFLOPPY.BAT
Nell'esempio appena mostrato si suppone che il CD-ROM corrisponda all'unità D:.
Nel caso si intenda procedere alla realizzazione di un kernel differente, adatto alle proprie esigenze specifiche, si può preparare ugualmente un dischetto di avvio nel modo appena descritto, quindi si possono sostituire i file vmlinuz e cloop.o (senza spostare gli altri file presenti e senza modificare il settore di avvio del dischetto), che sono rispettivamente il kernel compilato e il modulo necessario per accedere alla porzione compressa del CD-ROM. Infatti, il modulo cloop.o deve essere ricompilato necessariamente, perché quello presente nel CD-ROM risulta incompatibile. Si osservi che il dischetto contiene un file system Dos-FAT comune e una volta rimpiazzati i file non serve fare altro. Si osservi che nel dischetto originale dovrebbe essere presente il file config.gz, che contiene la configurazione del kernel disponibile: questo file può essere rimosso perché non serve per l'avvio.
La parte viii descrive la procedura per compilare in proprio un kernel Linux, mentre il capitolo 69 descrive l'utilizzo di file system compressi. Tuttavia, per quanto riguarda la ricompilazione del modulo Cloop è necessario leggere la documentazione che accompagna i sorgenti di questo, che sono distribuiti separatamente da quelli del kernel Linux.
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.
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]
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.
Quando si utilizza il sistema da CD-ROM, la procedura di avvio potrebbe mostrare diversi errori innocui dovuti alla presenza di un file system in sola lettura. Questi errori inevitabili non sono stati oscurati, sia per dare una possibilità in più di comprendere cosa succede nel sistema, sia per consentire di individuare altri errori che potrebbero rappresentare realmente un problema.
Quando si conclude la fase di avvio, il sistema si presenta come una distribuzione GNU/Linux comune, con le solite console virtuali a disposizione, dove è necessario identificarsi nel modo consueto. Sono previsti due utenti: l'amministratore (root) e l'utente comune nano.(3) Entrambe queste utenze sono associate alla parola d'ordine nano:
nano login: root[Invio]
Password: nano[Invio](4)
Oppure:
nano login: nano[Invio]
Password: nano[Invio](5)
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 112, 113 e 114).
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
Se si vuole consentire a un docente di controllare il proprio lavoro da una stazione remota, conviene usare sharedx:
$ sharedx
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 14.4. Come si presenta startx quando viene avviato dal CD-ROM.
|
Oltre alla richiesta del tipo di adattatore grafico, lo script si occupa di chiedere quale tipo di mappa per la tastiera si intende utilizzare durante il funzionamento della sessione di lavoro grafica. La prima voce suggerita dipende dall'impostazione della variabile di ambiente LANG:
|
Figura 14.5. Richiesta successiva di specificare la mappa della tastiera.
|
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, lo spegnimento diretto dell'elaboratore non dovrebbe portare delle conseguenze negative, perché il CD-ROM non può alterarsi.
Tabella 14.1. Alcune sigle che possono essere usate per controllare l'avvio del CD-ROM.
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.
|
Se si installa nanoLinux III per poi poter realizzare una versione modificata di questo, è necessaria una partizione per la memoria virtuale molto grande; precisamente servono almeno 2 Gibyte. |
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. Tuttavia, la copia non può avvenire lasciando tutto così come si trova nel CD-ROM, perché occorre spostare qualcosa. Pertanto, per facilitare questa operazione e per garantire di ricreare tutto quello che serve, basta usare lo script seguente, indicando il file di dispositivo corrispondente alla partizione di destinazione, che deve essere già stata preparata e inizializzata come è già stato mostrato:
# installnanolinuxfromcd /dev/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> root (hd0,1)[Invio]
Filesystem type is ext2fs, partition type 0x83 |
grub> setup (hd0)[Invio]
Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded. succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,1)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded Done. |
grub> quit[Invio]
In questo modo viene installato un menù di avvio generico, con il quale si deve 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 è necessario verificare il file /etc/fstab, all'interno del quale converrà anche indicare la partizione contenente la memoria virtuale. Si tratta delle prime tre righe, che in questo caso devono risultare alla fine nel modo seguente:
|
Si osservi che è necessaria l'indicazione di due punti di innesto associati allo stesso file di dispositivo: rimontando la partizione anche nella directory /CD-ROOT/nanoLinux/ è possibile poi ricreare un nuovo CD di nanoLinux III, probabilmente dopo aver modificato qualcosa nella copia realizzata nella partizione del disco fisso.
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, oppure si può usare lo script selectx (in tal caso occorre avviarlo con i privilegi dell'utente root), che consente di ricreare un file /etc/XF86Config adatto.
Nel caso si intenda utilizzare il sistema APT (capitolo 24) per fare delle modifiche sui pacchetti installati o per procedere a un aggiornamento di questi, si ricordi di modificare il file /etc/apt/sources.list, indicando valori appropriati al proprio contesto.
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.
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]
Dal momento che un dischetto con un file system di tipo Dos-FAT tende a essere riconosciuto automaticamente secondo il formato dei file con i nomi corti, per questa situazione particolare è prevista la directory /mnt/a/ che serve a montare precisamente dischetti Dos-FAT con nomi lunghi:
# mount /mnt/a[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/0/:
# mount -t nfs 192.168.1.2/mnt/fd0 /mnt/0[Invio]
Si osservi comunque che la condivisione è concessa solo a indirizzi IPv4 di «reti private».(6)
Per quanto riguarda un'introduzione sugli indirizzi di rete e le reti private, si può consultare il capitolo 109; inoltre, il servizio NFS è descritto nel capitolo 135.
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.
La configurazione locale di nanoLinux III è prevalentemente quella italiana. In particolare si parte da una mappa per la tastiera italiana, che però può essere modificata facilmente con l'aiuto di loadkeys, come nell'esempio seguente che imposta la tastiera della console per la lingua francese:
# loadkeys fr[Invio]
Per quanto riguarda la mappa della tastiera per X, lo script selectx, che viene utilizzato automaticamente durante il funzionamento da CD-ROM, si occupa di selezionare una mappa adatta al valore contenuto nella variabile di ambiente LANG e in mancanza di una mappa migliore viene impostata una tastiera inglese internazionale.
Per modificare il comportamento generale adeguandolo alle proprie caratteristiche nazionali basterebbe intervenire nella variabile di ambiente LANG ed eventualmente nelle variabili LC_*; tuttavia è disponibile un metodo più semplice: nei file /etc/passwd e /etc/shadow sono presenti diverse utenze che fanno tutte riferimento al numero UID dell'utente nano. Queste utenze corrispondono alla sigla del linguaggio; per esempio it per la lingua italiana e en per la lingua inglese. Così, utilizzando queste utenze al posto del nome nano si ottiene in pratica di configurare anche la variabile di ambiente LANG in modo appropriato. Questo tipo di selezione viene svolto automaticamente dallo script /etc/profile di Bash.
La configurazione della tastiera è prevista secondo le convenzioni della distribuzione GNU/Linux Debian; tuttavia, la mappa predefinita è adatta a una tastiera italiana e a questa 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 14.6. Come si presenta lo script mouse.
|
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. |
La procedura di inizializzazione del sistema prevede due script in più, costituiti da /etc/init.d/rc.hardware e /etc/init.d/rc.local, a cui fanno riferimento i collegamenti /etc/rcS.d/S31rc.hardware e /etc/rcS.d/S99rc.local. Il primo di questi due script serve a controllare un sistema molto semplice per l'individuazione di alcune componenti hardware e a caricare i moduli relativi; il secondo è 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 una partizione già prevista per questo o un file nlnx3tmp.swp (come descritto più avanti nel capitolo).
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.
|
Figura 14.7. La grafica di nanoLinux III è molto semplice. Le voci del menù indicano il comando corrispondente.
|
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 120 a proposito della configurazione di un servizio DNS con Bind).
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.
È 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/, http://nodo/c/ e http://nodo/fd0/, rispettivamente quanto contenuto in /mnt/a/, /mnt/hda1/ e /mnt/fd0/; nello stesso modo, gli URI http://nodo/cgi-bin-a/, http://nodo/cgi-bin-c/ e http://nodo/cgi-bin-fd0/, destinati a programmi CGI, puntano rispettivamente alle stesse directory. Ciò dovrebbe consentire di raggiunge facilmente il contenuto di un dischetto oppure quello che si trova 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.
Assieme a Boa si trovano anche Webalizer e ht://Dig, rispettivamente per l'analisi statistica degli accessi e per l'indicizzazione dei dati (ovviamente solo a fini didattici).(7) A proposito dell'analisi degli accessi a un servizio HTTP, si può consultare il capitolo 168, mentre per l'indicizzazione dei dati si può leggere il capitolo 167.
Si ricorda che per aggiornare le statistiche, che appaiono a partire dall'indirizzo http://localhost/webalizer/, basta avviare l'eseguibile webalizer senza argomenti:
# webalizer[Invio]
Inoltre, per aggiornare gli indici, è necessario avviare rundig con le opzioni -a e -i:
# rundig -a -i[Invio]
È disponibile anche l'interprete PHP (parte xl, scritta da Gianluca Giusti), ma per funzionare correttamente con Boa è stato necessario predisporre uno script intermedio. In pratica, per fare in modo che le pagine HTML vengano interpretate da PHP, occorre fare riferimento all'indirizzo http://nodo/cgi-bin/PHP/percorso_file_html. Questo script consente anche di leggere il contenuto di una directory, in modo da facilitare le esercitazioni, dal momento che così si vedono i nomi dei file che possono essere interpretati con il PHP. Lo script in questione è precisamente /usr/lib/cgi-bin/BOA.
È disponibile un servente FTP OpenBSD FTP, che consente l'accesso sia come utente anonimo, sia come utente comune. La directory per il servizio di FTP anonimo si articola a partire da /var/ftp/.
Per approfondire l'argomento si può consultare la parte xxviii dedicata alla gestione di un servizio FTP.
È disponibile un servente POP3, a scopo didattico, per consentire il prelievo della posta da parte dell'utente nano. Nel caso si voglia usare Mozilla per leggere i messaggi di posta ricevuti, si può fare riferimento al servente POP3 presso l'elaboratore locale (localhost).
Per approfondire l'argomento si può consultare il capitolo 151.
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]
Eventualmente si possono usare due script per l'avvio e l'arresto di entrambi i servizi: allowfreeaccess e denyfreeaccess rispettivamente.
nanoLinux III dispone anche di Psad per il controllo delle segnalazioni generate dal filtro dei pacchetti. Durante il funzionamento da CD-ROM, Psad risulta non essere attivo. Per metterlo in funzione, dopo aver configurato correttamente la registrazione degli eventi che interessano attraverso Iptables, occorre avviare il servizio:
# /etc/init.d/psad start[Invio]
Per approfondire l'uso di Psad si può consultare il capitolo 190.
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:
|
Per approfondire l'argomento si può consultare la parte xxvi dedicata alla gestione di modem e porte seriali.
nanoLinux III include un servente di stampa compatibile con il 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.
|
Dal momento che la porta fisica a cui si connette una stampante non è più un dato certo, al nome della stampante si aggiunge una specie di estensione che consente di stabilire se questa sia collegata a una porta parallela o a una porta USB; inoltre è possibile specificare se si tratti della prima o della seconda stampante. |
Il modello con cui si dichiara la stampante alla quale si vuole inviare la stampa è il seguente:
|
|
Nell'estensione, la lettera «p» indica un collegamento a una porta parallela, mentre la lettera «u» indica l'uso di una porta USB; inoltre, il numero finale consente si selezionare quale porta: zero nel caso della prima, ma è anche predefinito, uno nel caso della seconda.
Per esempio se si dispone di una stampante compatibile con il modello HP Laserjet generico, dopo aver visto con lo script printers che esiste il nome laserjet, sapendo che questa stampante è collegata a una porta USB e non ci sono altre stampanti, si può usare il comando lpr in questo modo:
|
|
Se nel nome della stampante si omette il numero finale si intende zero; se si omette tutta l'estensione, si fa riferimento alla prima porta parallela. L'esempio seguente fa riferimento all'uso di una stampante compatibile con il filtro denominato laserjet, collegata attraverso la prima porta parallela:
|
|
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, collegata alla prima porta parallela:
|
Se per qualche ragione la stampa attraverso la coda consueta non dovesse funzionare, è disponibile lo script minilpr, nella directory /etc/script/, che stampa utilizzando direttamente il file di dispositivo /dev/lpn, oppure /dev/usb/lpn. In questo modo la stampa funziona, ma solo se la stampante è libera, impegnando il programma che richiede la stampa fino alla fine di questa.
Per approfondire l'argomento si può consultare la parte xx dedicata alla stampa.
In fase di avvio, il CD-ROM di nanoLinux III cerca di individuare tra i dischi fissi delle partizioni già predisposte per lo scambio della memoria virtuale. Se queste partizioni esistono e sono inizializzate correttamente, nanoLinux III le utilizza.
Se non sono disponibili partizioni del genere, ma si ritiene ugualmente di attivare una memoria di scambio, è possibile creare e poi utilizzare un file come memoria virtuale. Si crea e si attiva questo file con il comando seguente:
|
|
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, se non vengono trovate partizioni già previste per lo scambio della memoria virtuale, 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.
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.
|
Dal momento che può risultare difficile distinguere quali sono i file che si possono modificare e quali invece no, conviene intervenire direttamente a partire dalla directory |
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, il quale crea contestualmente la base di dati nano appartenente all'utente omonimo.(8) 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.
nanoLinux III include anche una distribuzione teTeX, ma per poterla utilizzare da CD-ROM, è necessario prima ricreare la directory /var/lib/texmf/ attraverso il comando starttexmf. Quando teTeX non serve più, si può recuperare memoria con il comando droptexmf.
Tra le varie applicazioni che accompagnano nanoLinux III, c'è anche VNC (capitolo 98). A questo sono stati associati alcuni script per facilitarne l'utilizzo con degli studenti e anche in altre situazioni, come descritto nella tabella seguente.
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.
nanoLinux III esiste con lo scopo di poter essere adattato facilmente alle proprie esigenze, aggiungendo e togliendo pacchetti a seconda dei bisogni. Attualmente è possibile fare questo da una copia di nanoLinux III su una partizione di un disco fisso, realizzata come spiegato in questo capitolo.
Una volta fatte le modifiche necessarie, si può usare lo script makenanolinuxcdrom, senza argomenti, il quale monta il file system principale nella directory /CD-ROOT/nanoLinux/, quindi avvia lo script /CD-ROOT/isolinux/makecdrom.
Lo script /CD-ROOT/isolinux/makecdrom usato per la masterizzazione, prima di questo si occupa di sistemare alcune cose, come la cancellazione della directory temporanea e la creazione di una directory etc/ adatta.
|
Una delle cose di cui si occupa lo script che si occupa di realizzare il CD-ROM è quella di aggiornare i file contenuti nella directory |
Se le modifiche fatte nel sistema riguardano anche i file /etc/passwd, /etc/group e /etc/shadow, nel senso che sono stati aggiunte delle utenze di sistema, oppure sono stati cambiati gli abbinamenti con i numeri UID e GID di queste, è necessario riprodurre le stesse modifiche all'interno di /CD-ROOT/etc.nanoLinux/passwd, /CD-ROOT/etc.nanoLinux/group e /CD-ROOT/etc.nanoLinux/shadow, perché questi file vanno a sovrascrivere quelli corrispondenti nella directory /etc/ dell'immagine che sarà usata per il CD-ROM.
In pratica, questo meccanismo permette di riprodurre un CD-ROM con le stesse utenze di partenza, tutte con la stessa parola d'ordine, evitando di costringere a fare altrettanto nel sistema operativo installato nel disco fisso.
A partire dalle versioni 2003.02.* di nanoLinux III, una parte del file system contenuto nel CD-ROM è compresso. Si tratta precisamente di quanto contenuto a partire dalla directory /usr/, contenuto in pratica nel file /usr.cloop.
Questo tipo di approccio non permette di sfruttare al massimo lo spazio del CD-ROM, ma garantisce il funzionamento del sistema anche nel caso il CD-ROM venisse avviato con un kernel che non riesce a caricare correttamente il modulo responsabile dell'innesto corretto di tale file system, senza però poter utilizzare quanto contenuto a partire da /usr/. In altri termini, evitando di usare un disco RAM iniziale (initrd), dovrebbe essere più facile per un utente medio la preparazione di una versione nanoLinux III modificata per le proprie esigenze.
Nelle tabelle seguenti si riassumono brevemente gli applicativi principali che sono contenuti nel CD-ROM di nanoLinux III (l'elenco non è completo), assieme alle note essenziali sull'uso degli script che lo accompagnano.
Tabella 14.3. Riepilogo degli applicativi più importanti che sono presenti nel CD-ROM di nanoLinux III.
| Applicativi | Annotazioni |
| VI, Emacs | Programmi tradizionali per la creazione e la modifica dei file di testo (capitolo 82). |
| Midnight Commander (mc, mcedit) | Shell molto sofisticata con programma di modifica di file di testo integrato (capitolo 83). |
| Perl, Gcc, FreePascal | Interpreti e compilatori (parti lv, liii e liv). |
| Tar, Gzip, Bzip2, Zip | Programmi per l'archiviazione dei dati (capitolo 74). |
| Aumix, Grip, Xwave, Timidity, MP3blaster, PlayMPEG | Programmi per l'accesso alle funzionalità audio e per la riproduzione di formati audio e video (parte lxvii). |
| Antiword, Catdoc | Lettura di file in formato Winword (capitolo 285). |
| AbiWord | Scrittura (capitolo 105). |
| Gnumeric | Foglio elettronico (capitolo 104). |
| MagicPoint | Programma di presentazione (capitolo 106). Si avvia da una finestra di terminale (con l'eseguibile mpg), indicando il file della presentazione. |
| PostgreSQL | DBMS (capitolo 328). 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 330). |
| Boa, Webalizer, ht://Dig, PHP | Servente HTTP, analisi statistica degli accessi, indicizzazione dei dati, interprete PHP (capitoli 160, 168, 167 e parte xl). |
| OpenBSD FTP | Servente FTP (capitolo 148). |
| Galeon, Mozilla, Links, Wget | Programmi per la navigazione ipertestuale con il protocollo HTTP. |
| Amaya, HTML2ps, HTMLDOC | Programmi per la scrittura visuale di documenti in formato HTML e per la loro composizione tipografica (parte xlvii). |
| Exim | MTA (capitolo 155). Gli indirizzi di posta elettronica che contengono indirizzi IPv4, devono essere racchiusi tra parentesi quadre, tipo: nano@[192.168.1.2]. |
| Balsa, Mutt, Mailx (mail) | MUA per l'invio e la lettura di messaggi di posta elettronica, aderenti al formato Unix mailbox (capitolo 150). |
| Talk | Servente e cliente per comunicazioni istantanee (capitolo 141). |
| Bind | Servente DNS (capitolo 120). 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 lxvi). |
| Xfig, Gimp, ImageMagick | Programmi di disegno e di fotoritocco (capitoli 107 e 102). |
| 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, Psad | Applicativi per il controllo e lo studio pratico delle reti (capitolo 190). |
| VNC | Servente e cliente VNC (capitolo 98). |
| teTeX, Lyx, Lout, Lilypond, Alml, DocBook, Texinfo | Sistemi di composizione tipografica (volume IV). Dal CD-ROM è possibile usare TeX solo dopo il comando starttexmf e poi si può recuperare memoria con droptexmf (con i privilegi dell'utente root). |
Tabella 14.4. Riepilogo dei programmi e degli script specifici di nanoLinux III.
| Comando | Descrizione |
|
| Visualizza la guida interna. |
|
| Apre e chiude una connessione PPP con l'uso di un modem esterno collegato alla porta seriale. È necessario agire in qualità di utente root. |
|
| Crea un file /etc/X11/XF86Config, a partire da /etc/X11/XF86Config.vesa, consentendo di specificare il tipo di adattatore grafico. |
|
| Avvia un servente VNC. |
|
| Avvia un servente VNC con il cliente necessario per controllarlo. |
|
| Si utilizza da una finestra di terminale, per avviare un cliente VNC per controllare o per visualizzare un servente. |
|
| Come vncsc*, utilizzando una parola d'ordine predefinita. |
|
| Si utilizza da una finestra di terminale, per avviare uno o più clienti VNC per controllare i serventi avviati con sharedx*. |
|
| Scorre l'elenco dei nomi delle stampanti che si possono utilizzare nel comando lpr -Pstampante. |
|
| Avvia una stampa senza usare la coda di stampa (senza lpd). Anche in questo caso si usa l'opzione -P come per lpr. |
|
| Converte un file di testo in un file PostScript, con margini adeguati. |
|
| Verifica la correttezza sintattica di un file HTML, o XHTML. |
|
| Attiva o disattiva PostgreSQL. La disattivazione fa perdere tutti i dati inseriti. Si deve intervenire in qualità di utente root. |
|
| Attiva o disattiva i serventi NFS e SSH. |
|
| Attiva o disattiva la directory /var/lib/texmf/ per l'utilizzo di TeX. Si deve intervenire in qualità di utente root. |
|
| Crea un file per lo scambio della memoria virtuale e la attiva. |
|
| Copia il CD-ROM nella partizione corrispondente al file di dispositivo /dev/x. La partizione in questione deve essere già stata preparata e inizializzata correttamente; lo script si arrangia a montarla in una directory provvisoria. |
|
| Avvia il processo di creazione di un CD-ROM a partire da una copia installata; per funzionare richiede probabilmente un piccolo adattamento al file /CD-ROOT/isolinux/makecdrom. |
|
| Questo script viene usato per ricostruire il file /etc/printcap prima di riprodurre un nuovo CD-ROM a partire da una copia installata. Ciò consente di avere un file corretto anche quando si dovesse aggiornare il pacchetto di Magicfilter. |
nanoLinux III non è il sistema GNU/Linux per CD-ROM «perfetto», ma semplicemente uno strumento che dovrebbe risultare utile per la didattica o per il proprio apprendimento personale, aggiungendo a questo una relativa semplicità nella produzione di varianti del sistema per scopi particolari.
nanoLinux III non può gestire tutto l'hardware esistente, anche quando un sistema GNU/Linux standard potrebbe farlo, perché è organizzato per funzionare senza bisogno di una configurazione dettagliata. Di conseguenza, anche se nanoLinux III è realizzato per adattarsi al funzionamento degli elaboratori più comuni di architettura i386, componenti come modem o stampanti «Win», che richiedono un protocollo di comunicazione specifico, risultano inutilizzabili.
Di fronte alla necessità di utilizzare hardware così ostile, conviene tentare piuttosto con altre distribuzioni autoavviabili, anche se la loro complessità impedisce in pratica l'adattamento per le proprie eventuali esigenze particolari.
Appunti di informatica libera 2003.06.29 --- 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) Esistono anche altri nominativi utente abbinati comunque allo stesso numero UID di nano, come verrà chiarito in seguito.
4) La parola d'ordine viene inserita senza poterla vedere sullo schermo.
5) La parola d'ordine viene inserita senza poterla vedere sullo schermo.
6) Si tratta precisamente degli indirizzi 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.
7) A proposito della configurazione iniziale di ht://Dig c'è da osservare che sono stati esclusi di proposito i percorsi che porterebbero alla scansione della documentazione interna (HOWTO) e di quanto potrebbe essere raggiunto all'indirizzo http://localhost/c/, ovvero la partizione che appartenere a un sistema Dos/MS-Windows, perché altrimenti gli indici sarebbero di dimensioni eccessive, superando tranquillamente anche i 100 Mibyte. Naturalmente, si può modificare la configurazione ed eseguire ugualmente la scansione, se questo è ciò che si desidera realmente.
8) 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]