[successivo] [precedente] [inizio] [fine] [indice generale] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]
In questo capitolo si fa spesso riferimento a comandi realizzati attraverso lo script nanorc (/etc/script/nanorc), che può essere utilizzato anche senza argomenti, ottenendo così un menù più comodo:
# nanorc[Invio]
|
Figura 17.1. Come si presenta lo script nanorc quando viene avviato senza argomenti, per ottenere il menù dei comandi disponibili.
|
Si osservi che all'inizio delle voci appaiono delle sigle: [n] rappresenta una funzione disponibile solo a partire dal livello n di nanoLinux (per esempio, la configurazione della stampante è disponibile solo a partire da nanoLinux III); [root] indica una funzione disponibile soltanto all'amministratore; [root+cd] è una funzione disponibile soltanto all'amministratore durante il funzionamento da CD-ROM o da DVD-ROM; [root+hd] indica una funzione che si può utilizzare solo come amministratori, quando il sistema è installato in un disco normale.
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 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 funzionante da CD-ROM o da DVD-ROM, è necessario avviare il servizio corrispondente presso il servente:
# /etc/init.d/nfs-kernel-server start[Invio]
Per montare facilmente il file system principale di un altro sistema nanoLinux (dove ovviamente deve essere già stato avviato il servizio corrispondente), sono previste una serie di directory per l'innesto, il cui nome corrisponde all'indirizzo IPv4 dell'elaboratore remoto. Tuttavia, sono previsti solo alcuni gruppi corrispondenti a indirizzi privati, pertanto si tratta soltanto di un'agevolazione parziale. Tuttavia, se l'indirizzo è stato previsto come sottodirectory di /mnt/ e nello stesso modo questo nome è previsto anche nel file /etc/fstab, basta procedere così:
# mount /mnt/indirizzo_ipv4[Invio]
In questo modo si monta il file system principale dell'elaboratore remoto, ma se quello che si intende è raggiungere qualcosa che a sua volta è 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», ovvero indirizzi che appartengono ai gruppi 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.
Per quanto riguarda un'introduzione sugli indirizzi di rete e le reti private, si può consultare il capitolo 134; inoltre, il servizio NFS è descritto nel capitolo 160.
Tabella 17.1. Descrizione dei punti di innesto previsti nell'organizzazione di nanoLinux.
Il file /etc/profile è più articolato di quello standard. Vengono descritte le particolarità più significative.
La variabile PATH tiene conto anche di quanto contenuto nelle directory /opt/*/bin/ ed è 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.
L'invito della shell è costruito in modo da mostrare un'indirizzo IPv4 utile per identificare il proprio elaboratore. L'indirizzo IPv4 viene ottenuto leggendo lo stato attuale della configurazione delle interfacce di rete; se l'indirizzo cambia, per aggiornare l'invito è necessario uscire e rientrare dalla sessione di lavoro.
Sono previsti una serie di alias per i comandi rm, cp, mv e ln, in modo da usare sempre l'opzione -i.
Se l'utente che tenta di accedere non è l'amministratore e si tratta di un elaboratore che sembra essere dedicato alla condivisione delle utenze attraverso NFS e NIS, si fa in modo che la shell termini di funzionare, prima che l'utente possa avere a disposizione l'invito. Tuttavia, è possibile definire un elenco di utenti comuni che non sono sottoposti a questa limitazione, nel file /etc/nanoLinux/NIS_SERVER_ALLOWED_USERS.
Se l'utente che tenta di accedere non è l'amministratore e il sistema operativo non è stato avviato dal CD-ROM o dal DVD-ROM, può essere sottoposto a un controllo sull'utilizzo del disco. Per attivare questa funzionalità in pratica, occorre predisporre il file /etc/nanoLinux/HOME_DISK_SPACE_ALLOWED, eventualmente con l'aiuto del comando nanorc disk-space edit. Il file ha una sintassi molto semplice: è composto da righe con questa sintassi:
|
|
Il numero che appare dopo i due punti (:) è la quantità di byte a disposizione, mentre il nominativo utente, se non viene indicato rappresenta tutti gli utenti che nel file non sono stati specificati.
Ogni volta che un utente accede al sistema, viene informato sullo stato dell'utilizzo del disco a partire dalla propria directory personale; non ci sono misure automatiche in caso di superamento dei limiti stabiliti.
La configurazione locale di nanoLinux prevede inizialmente una variabile di ambiente LANG con il valore en_US, però con una mappa per la tastiera italiana.
È possibile modificare questa impostazione iniziale con il comando nanorc locale config:
# nanorc locale config[Invio]
|
Figura 17.2. Configurazione della variabile LANG.
|
La prima richiesta a cui si viene sottoposti riguarda la selezione della stringa da assegnare alla variabile LANG. Questo valore viene poi salvato nel file /etc/nanoLinux/LANG: se si accede nuovamente al sistema (eventualmente in un'altra console virtuale), la variabile LANG viene impostata in base al contenuto di questo file.
|
Si osservi che per il momento vengono escluse dall'elenco le voci che richiedono una codifica diversa dagli standard ISO 8859-1. |
|
Figura 17.3. Configurazione della codifica usata per la console.
|
Dopo la variabile LANG si passa alla selezione della codifica usata per la rappresentazione dei caratteri sullo schermo della console. In generale, quando si utilizza la codifica ISO 8859-1 va bene indicare qui la codifica predefinita, corrispondente al file lat1-16.psf.gz. Questa scelta si ripercuote immediatamente su tutte le console virtuali.
|
Figura 17.4. Configurazione della mappa della tastiera per la console.
|
Al termine viene richiesto di specificare la mappa della tastiera, da usare per la console. Anche questa selezione si ripercuote immediatamente su tutte le console virtuali.
Naturalmente, invece di agire attraverso il comando nanorc locale config, si può fare tutto a mano; in particolare si può cambiare la mappa della tastiera con l'aiuto di loadkeys, come nell'esempio seguente che imposta la tastiera della console per la lingua francese:
# loadkeys fr[Invio]
Tuttavia, la modifica manuale non viene annotata nei file di configurazione di nanoLinux.
La configurazione iniziale 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 /usr/share/keymaps/i386/qwerty/it-base-edizione.kmap.gz.
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 prevede l'uso di un mouse di tipo PS/2, ma si può utilizzare il comando nanorc mouse config per attivare la gestione di un mouse differente:
|
Figura 17.5. Come si presenta lo script che si occupa dei riconfigurare il funzionamento del mouse.
|
Eventualmente si può intervenire manualmente nel file /etc/gpm.conf, cambiando ciò che serve; se si agisce in questo modo, dopo la modifica, ovviamente, si deve 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, funziona 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 funzionante da CD-ROM o da DVD-ROM, esiste anche un altro file, /etc/init.d/rc.CD-ROM, 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 Dos o MS-Windows, 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), tentare di caricare la configurazione salvata precedentemente in un dischetto o in una partizione del disco fisso.
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 1 024×768 punti a una profondità di 16 bit (216 colori). Si veda la parte xxii a proposito del sistema grafico X e della configurazione di XFree86.
nanoLinux è 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, attraverso una sua copia.
Se si gradisce questo tipo di impostazione, le modifiche per il menù di Fvwm vanno apportate precisamente nel file /etc/X11/fvwm/system.fvwm2rc.nanoLinuxn (dove n rappresenta il livello di nanoLinux utilizzando una cifra numerica); 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 xxii dedicata alla gestione grafica.
In condizioni normali, la grafica si presenta con un colore di fondo uniforme e la barra inferiore di Fvwm. Per consentire l'individuazione immediata dell'utenza utilizzata, a seconda dell'utente si ottiene un colore iniziale differente:
| Colore predefinito | Utente |
| nero | root |
| marrone | tizio |
| rosso | caio |
| arancio | sempronio |
| giallo | mevio |
| verde | filano |
| blu | martino |
| viola | calpurnio |
Nel caso si tratti di un utente differente (ciò vale per quando si installa nanoLinux, il colore che si ottiene in modo predefinito è un blu, con una tonalità leggermente diversa da quella usata per l'utente martino.
Di per sé, PostgreSQL è installato normalmente, a parte il fatto che il file /etc/postgresql/pg_hba.conf (ovvero ~postgres/data/pg_hba.conf) è configurato in modo da concedere qualunque accesso proveniente da indirizzi di reti locali. Tuttavia, come descritto più avanti, durante il funzionamento da CD-ROM o da DVD-ROM, nel file /etc/profile vengono definite le variabili di ambiente PGUSER e PGDATABASE, rispettivamente con i valori pgnanouser e nanodb.
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 nanohost viene indicato nel file /etc/hosts, come sinonimo di localhost, per garantire il funzionamento di alcuni programmi (si veda il capitolo 145 a proposito della configurazione di un servizio DNS con Bind).
Il file /etc/resolv.conf è configurato in modo da interrogare l'elaboratore locale, ma appaiono anche altri indirizzi di serventi DNS di fornitori ben conosciuti, che potrebbero tornare utili in caso di emergenza, o anche solo per conoscenza. Il file /etc/resolv.conf può essere modificato anche durante il funzionamento da CD-ROM o da DVD-ROM, cosa che può servire se si vuole provare a scavalcare il DNS locale, mettendo al primo posto altri indirizzi.
nanoLinux dispone di un cliente DHCP che viene usato in modo predefinito per la configurazione della rete locale.
nanoLinux utilizza diverse «opzioni» DHCP per la propria configurazione, secondo lo schema della tabella seguente.
nanoLinux, una volta installato, dispone di Samba, che va inteso come un'estensione al servizio NFS per l'accesso alle directory personali degli utenti.
Perché Samba possa funzionare in armonia con il sistema di gestione delle utenze standard, occorre gestire queste utenze attraverso lo script nanorc, in modo da garantire di avere gli stessi utenti con le stesse parole d'ordine, sia per l'accesso al sistema operativo, sia per l'accesso a Samba. I comandi utili a questo proposito sono:
| Comando | Descrizione |
|
| Aggiunge o elimina un'utenza. |
|
| Cambia la parola d'ordine di un utente. |
Se per qualche ragione si vuole avere una gestione disgiunta delle utenze, si possono usare i comandi seguenti:
Si può intendere che il servizio offerto da Samba è utile se si colloca nell'elaboratore che svolge già il compito di servente NIS e NFS.
Teoricamente, la configurazione prevista per Samba prevede anche la condivisione della stampante lp tramite il protocollo SMB.
Per l'uso di Samba, si può consultare la parte xlii, scritta da Fulvio Ferroni.
nanoLinux 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:
tizio@[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.
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, oppure i messaggi potrebbero essere intercettati ed eliminati da programmi «anti spam».
Durante il funzionamento da CD-ROM o da DVD-ROM, il file di configurazione di Exim viene aggiornato periodicamente attraverso il sistema Cron. Per la precisione, si tratta di un aggiornamento che tiene conto dell'indirizzo IPv4 dell'interfaccia di rete ppp0, o in mancanza di eth0. Se è possibile determinare il nome di dominio dell'indirizzo relativo, Exim viene configurato in modo da modificare il mittente dei messaggi che vengono trasmessi dall'elaboratore locale, in modo che appaia un nome di dominio appropriato (e non il solito nanohost). Questo aggiornamento viene ottenuto tramite il programma /etc/script/nanorc-config-exim, che eventualmente può anche essere avviato a mano, oppure attraverso il comando nanorc mta config.
Quando si installa nanoLinux, l'aggiornamento automatico e continuo del file di configurazione di Exim viene a mancare; tuttavia, se si utilizza nanorc ppp on (come descritto in seguito), l'aggiornamento viene eseguito al momento della connessione. Pertanto, se si vuole evitare che ci sia tale tipo di intervento automatico, occorre eliminare i file /etc/ppp/ip-up.d/*config-exim e /etc/ppp/ip-down.d/*config-exim.
Eventualmente, è possibile utilizzare il comando nanorc mta sender per dichiarare in modo interattivo un mittente specifico per i messaggi inviati:
# nanorc mta sender[Invio]
|
Figura 17.7. Come si presenta lo script che si occupa di modificare il mittente dei messaggi di posta elettronica che vengono inviati.
|
Se si indica un indirizzo di posta elettronica, questo viene annotato nel file /etc/nanoLinux/EMAIL_SENDER e quindi viene avviato lo script nanorc-config-exim; il quale, se trova il file con un contenuto, lo utilizza per la configurazione di Exim, altrimenti procede alla configurazione predefinita.
|
Teoricamente, si possono inviare messaggi anche quando manca la connessione, perché questi vengono accodati e nel momento del collegamento questi possono essere rimessi in movimento attraverso il comando runq. In pratica, ciò può funzionare soltanto se i messaggi hanno un mittente corretto, ma se ci si affida al solo indirizzo IPv4 e prima del collegamento manca l'interfaccia dal quale questo può essere letto, il mittente rimane quello errato. Per ovviare a questo inconveniente, si può usare il comando nanorc mta sender, con tutte le cautele già descritte. |
Per approfondire l'argomento si può consultare la parte xxxii dedicata alla gestione della posta elettronica.
È disponibile il servente HTTP Mathopd. Per facilitarne l'utilizzo è possibile raggiungere il contenuto della directory /mnt/ attraverso l'indirizzo URI http://nodo/mnt/, in modo da poter leggere il contenuto dei dischi che vengono montati. Sempre allo scopo di semplificare il lavoro, si possono eseguire i programmi CGI se il nome del file corrispondente ha un'estensione del tipo .cgi, .pl o .sh (questo vale anche se i file si trovano all'interno di un dischetto).
Per approfondire l'argomento si può consultare la parte xxxiii dedicata alla gestione di un servizio HTTP.
Assieme a Mathopd 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).(1) A proposito dell'analisi degli accessi a un servizio HTTP, si può consultare il capitolo 194, mentre per l'indicizzazione dei dati si può leggere il capitolo 193.
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 e i file con estensione .php, .phtml o .pht vengono trattati attraverso questo sistema.
nanoLinux include un servizio proxy HTTP, costituito da OOPS, che può essere usato come acceleratore HTTP e anche come proxy trasparente. In generale, OOPS si avvia automaticamente solo quando nanoLinux è stato installato, altrimenti dal CD-ROM o dal DVD-ROM è possibile avviare il servizio (evidentemente per motivi didattici) attraverso il comando seguente:
# /etc/init.d/oops start[Invio]
La sua configurazione predefinita prevede l'ascolto presso la porta 8 080; inoltre si fa a meno di usare file su disco per conservare le pagine e le altre risorse già visitate. Il funzionamento di un proxy HTTP e di OOPS in particolare è descritto nel capitolo 200.
La configurazione di OOPS viene ripristinata dallo script /etc/init.d/rc.local, a ogni avvio del sistema, da una copia di sicurezza del file. Ciò permette di non perdere inavvertitamente la configurazione standard quando si aggiorna OOPS; naturalmente, se nanoLinux è stato installato nel disco fisso, occorre ricordarsi di fare le modifiche alla configurazione anche nel file /etc/oops/oops.cfg.nanoLinux.
Si osservi che la configurazione di OOPS predisposta per nanoLinux prevede la presenza di direttive che censurano l'accesso a indirizzi che contengono alcune stringhe chiave. Questo fatto ha solamente un significato dimostrativo sul funzionamento di un servizio Proxy.
È 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 xxxi 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 176.
È possibile modificare facilmente la configurazione del registro di sistema allo scopo di inviare una copia di ciò che accade presso un elaboratore unico. Invece di modificare direttamente il file /etc/syslog.conf, si può intervenire direttamente con il comando seguente:
# nanorc log-server config[Invio]
|
Supponendo di voler inviare una copia all'elaboratore 192.168.1.254:
192.168.1.254<OK>
I file del registro di sistema e altri file analoghi contenuti a partire dalla directory /var/log/, sono accessibili a tutti gli utenti, soprattutto per motivi didattici. È possibile accedere al contenuto di questi registri anche attraverso un programma CGI, che consente l'accesso da parte di utenti di reti private (127.0.0.0/255.0.0.0, 10.0.0.0/255.0.0.0, 172.16.0.0/255.240.0.0 e 192.168.0.0/255.255.0.0): http://nodo/cgi-bin/var_log.
Se si accede all'indirizzo http://nodo/cgi-bin/var_log si ottiene la lista del contenuto della directory /var/log/ dell'elaboratore corrispondente al nome o all'indirizzo indicato (il «nodo»); se si aggiunge la stringa ?percorso, si intende visualizzare il contenuto del percorso /var/log/percorso. Per esempio, per visualizzare il contenuto del file /var/log/syslog, si deve usare l'indirizzo http://nodo/cgi-bin/var_log?syslog, mentre per leggere il contenuto del file /var/log/oops/access.log, si deve usare l'indirizzo http://nodo/cgi-bin/var_log?oops/access.log.
L'accessibilità a questi file dipende dai loro permessi, tenendo conto che il programma CGI funziona con gli stessi privilegi del servente HTTP.
È possibile sincronizzare il proprio elaboratore con un altro, che offra il servizio NTP o RDATE. Per questo è sufficiente usare il comando nanorc rdate config:
# nanorc rdate config[Invio]
|
pool.ntp.org<OK>
Se la configurazione riguarda una copia installata, oppure se viene salvata in qualche modo, all'avvio successivo l'allineamento dell'orologio avviene in modo automatico.
Per la sincronizzazione viene tentato un accesso attraverso ntpdate, il quale prevede già una propria configurazione nel file /etc/default/ntpdate. In questo file conviene evitare l'indicazione di un servente NTP, perché il meccanismo usato da nanoLinux non lo richiede. Infatti, durante l'avvio del sistema, nanoLinux interroga l'indirizzo indicato nel modo mostrato sopra, attraverso il protocollo NTP, ma se questo fallisce riprova con il protocollo RDATE. Dal momento che queste operazioni richiedono un certo tempo, sono eseguite sullo sfondo, senza sospendere temporaneamente l'esecuzione dello script in cui sono contenute. Ciò ha il vantaggio di non rallentare l'avvio quando l'elaboratore non ha un accesso alla rete esterna; se invece si specifica un servente NTP nel file /etc/default/ntpdate, da un lato si esegue per due volte la stessa funzione, dall'altro si ottiene una pausa inutile all'avvio se il servente NTP non può essere raggiunto.
nanoLinux è predisposto con pochi utenti: l'amministratore e alcuni utenti comuni. Tuttavia, è disponibile un sistema NIS per la connessione a un servente NIS, dal quale ottenere le informazioni su altre utenze (precisamente per i file /etc/passwd, /etc/shadow e /etc/group). In pratica, dal momento che l'utilizzo da CD-ROM o da DVD-ROM comporta delle limitazioni, è prevista la possibilità di acquisire queste utenze dall'esterno, innestando le directory personali di queste utenze a partire dalla directory /home/, attraverso il protocollo NFS.
Per l'utilizzo di questa funzionalità, è necessario:
un servente NIS che metta a disposizione le informazioni dei file /etc/passwd, /etc/shadow e /etc/group, tenendo conto che se la condivisione del file /etc/shadow non funziona bene, potrebbe essere necessario disabilitare presso quel servente l'uso delle parole d'ordine oscurate (shadow password);
un servente NFS che metta a disposizione la directory /home/, che deve contenere le directory personali degli utenti gestiti tramite il servente NIS (se il servente NFS offre la condivisione di un'altra directory, questa non può essere creata nel CD-ROM o nel DVD-ROM, pertanto, in tal caso non vi si può accedere).
Se sono rispettati questi requisiti, si può attivare la gestione di queste utenze remote attraverso il comando nanorc nis-home start:
# nanorc nis-home start[Invio]
|
Come si vede dalla figura, viene richiesto l'inserimento del dominio NIS; questa informazione dipende da come è configurato il servente NIS a cui ci si vuole rivolgere e si può ottenere presso un elaboratore già configurato con il comando nisdomainname, senza argomenti. Dopo l'inserimento e la conferma si passa all'indicazione dell'indirizzo IP del servente:
nano-domain<OK>
|
In generale è meglio inserire l'indirizzo anche se appartenente alla rete locale; si passa così all'inserimento dell'indirizzo del servente DNS e inizialmente viene proposto lo stesso usato per il NIS:
192.168.1.254<OK>
|
192.168.1.254<OK>
Se tutto funziona come si deve, viene montata la directory /home/ remota e viene avviato il servizio NIS per l'acquisizione delle utenze. A quel punto, le directory personali degli utenti comuni locali non sono più accessibili, perché nascoste sotto quanto acquisito dal servente NFS.
Volendo fare le stesse cose a mano, senza l'aiuto dello script, si potrebbe ottenere lo stesso risultato dell'esempio attraverso i passaggi seguenti:
si modifica o si crea il file /etc/defaultdomain, inserendo una riga contenente esattamente il nome del dominio NIS;
|
si modifica o si crea il file /etc/yp.conf, inserendo una riga contenente la direttiva ypserver, con l'indirizzo del servente NIS;
|
si monta la directory /home/ remota;
# mount -t nfs 192.168.1.254:/home /home[Invio]
si riavvia il servizio NIS.
# /etc/init.d/nis stop[Invio]
# /etc/init.d/nis start[Invio]
|
Se, pur essendo tutto in ordine, il NIS non è in grado di collegarsi, è probabile che sia necessario disattivare presso il servente NIS la gestione delle parole d'ordine oscurate (shadow password). |
Per approfondire l'argomento si possono consultare i capitoli 160 e 161.
nanoLinux dispone di un servente per il protocollo SECSH (Secure Shell), che però non viene avviato automaticamente con il sistema operativo, durante il funzionamento da CD-ROM o da DVD-ROM, perché sarebbe anche troppo facile raggiungere l'elaboratore conoscendo perfettamente le parole d'ordine degli utenti previsti. Come già descritto, anche la condivisione dei dati attraverso il protocollo NFS non è attiva in modo predefinito se si sta usando il sistema da CD-ROM o da DVD-ROM. Inoltre, alcuni livelli di nanoLinux prevedono la disponibilità di Samba, per consentire l'accesso agli utenti anche attraverso elaboratori con sistema operativo MS-Windows. Per attivare questi tre servizi, rispettivamente, si può intervenire nel modo seguente:
# /etc/init.d/ssh start[Invio]
# /etc/init.d/nfs-kernel-server start[Invio]
# /etc/init.d/samba start[Invio]
Eventualmente si possono usare i comandi nanorc freeaccess start e nanorc freeaccess stop per l'avvio e l'arresto di questi i servizi.
nanoLinux dispone anche di Psad per il controllo delle segnalazioni generate dal filtro dei pacchetti. Durante il funzionamento da CD-ROM o da DVD-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 216.
Il comando nanorc ppp on dovrebbe consentire un collegamento guidato a un fornitore di accesso a Internet attraverso una linea telefonica commutata. Il funzionamento di questo comando dipende comunque dalla presenza di un modem esterno collegato a una porta seriale standard.
Se tutto va bene, è sufficiente avviare nanorc ppp on con i privilegi dell'utente root e seguire le istruzioni. Viene richiesto di selezionare la porta seriale corrispondente al modem, il nominativo dell'utenza con cui si è riconosciuti, la parola d'ordine e il numero di telefono del fornitore. In ogni momento è possibile annullare l'operazione selezionando il pulsante grafico <Cancel> o <Annulla>, oppure premendo la combinazione [Ctrl+c].
Il comando, 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 il comando nanorc ppp off, oppure lo script ppp-off; in alternativa si può anche eliminare il processo corrispondente a pppd.
È disponibile anche lo script ppp-on-it, realizzato in modo specifico per la connessione attraverso alcuni fornitori di accesso italiani che offrono un servizio gratuito. Il funzionamento di questo script è equivalente a nanorc ppp on, con la differenza che sono già disponibili alcuni numeri di telefono noti. Questo script non è più aggiornato, ma viene lasciato per chi desidera adattarlo alle proprie esigenze. Infatti, se si installa nanoLinux 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 xxix dedicata alla gestione di modem e porte seriali.
Quando non si può gestire localmente un servente SMTP sempre in funzione, si utilizza normalmente un indirizzo di posta elettronica collocato presso un elaboratore esterno; pertanto, con nanoLinux è possibile scaricare la posta remota attraverso Fetchmail (capitolo 176). Lo scarico della posta si può fare sia quando si usa il CD-ROM o il DVD-ROM, sia quando il sistema operativo è stato installato nel disco fisso:
$ fetchmail -k -u tizio box.brot.dg[Invio]
L'esempio mostra il caso di una persona che ha l'utenza tizio presso l'elaboratore box.brot.dg, il quale viene interpellato in qualità di servente POP3 o IMAP.
Si osservi che ci sono fornitori di accesso a Internet che per accedere alla casella di posta richiedono l'indicazione dell'indirizzo di posta elettronica completo; per esempio tizio@brot.dg. In tal caso, il comando va modificato di conseguenza:
$ fetchmail -k -u tizio@brot.dg box.brot.dg[Invio]
Nei due esempi mostrati appare l'uso dell'opzione -k che garantisce di prelevare solo una copia dei messaggi, senza eliminarli dal servente remoto. Se si sta utilizzando una copia installata di nanoLinux, si potrebbe decidere di scaricarli definitivamente, anche usando l'opzione -a se necessario.
Come si può intuire, in questo modo l'utilizzatore acquisisce i messaggi presso la propria utenza locale, da dove può consultarli con Mailx o con gli altri programmi MUA disponibili nel CD-ROM o nel DVD-ROM.
Prima di inviare dei messaggi di posta elettronica, per i quali si vuole che sia modificato il mittente in modo automatico, è necessario utilizzare il comando nanorc mta sender. Successivamente, se si inviano messaggi a indirizzi esterni alla rete a cui si è connessi, questi rimangono in coda nell'ambito di Exim e si può verificare la loro presenza con il comando mailq:
# mailq[Invio]
Quando si ripristina il collegamento necessario, questi messaggi possono essere inviati con l'ausilio del comando seguente:
# exim -qf[Invio]
Se il collegamento viene attivato tramite nanorc ppp on, questo comando viene impartito automaticamente, appena la connessione è attiva.
In varie circostanze, il sistema genera dei messaggi di posta elettronica diretti localmente all'utente root. Secondo le convenzioni comuni, l'utente root non deve poter ricevere direttamente dei messaggi, pertanto di solito si configura il sistema di recapito (MDA) in modo da rinviare i messaggi all'utente comune che corrisponde in sostanza alla stessa persona che può avere i privilegi di amministratore. In questo caso, il file /etc/aliases è predisposto in modo da rinviare i messaggi per root all'utente tizio, pertanto la casella di questo utente viene spesso occupata da messaggi amministrativi.
Una volta installato nanoLinux, è poco probabile che si vogliano usare gli utenti predefiniti (tizio, caio e gli altri), pertanto, è bene ricordare di modificare il file /etc/aliases in modo da rinviare la posta dell'utente root a un utente comune appropriato, per esempio nel modo seguente, dove è evidenziata la riga significativa:
|
nanoLinux include un servente di stampa compatibile con il tipo BSD, dove il file /etc/printcap può essere configurato facilmente con l'aiuto di nanorc.
Con il comando nanorc printer config si rigenera il file /etc/printcap, specificando una sola coda di stampa predefinita, che può corrispondere anche a un servizio presso un elaboratore remoto:
# nanorc printer config[Invio]
|
Dopo avere specificato il nome del filtro da usare, si può indicare l'indirizzi IPv4 presso il quale si trova la stampante; se si tratta dell'indirizzo 127.0.0.1 o se si lascia vuoto il campo, si intende fare riferimento a una stampante locale.
|
Se si fa riferimento a una stampante locale, viene richiesto di indicare il file di dispositivo a cui corrisponde la stampante:
|
Quando si installa nanoLinux nel disco fisso, se questo non viene aggiornato automaticamente, tramite il protocollo DHCP, è necessario predisporre il file /etc/printcap con l'aiuto del comando nanorc printer config, ritoccandolo eventualmente a mano in un momento successivo. Segue un esempio riferito alla stampa compatibile con un modello HP Laserjet generico, collegata alla prima porta parallela:
|
Con il comando nanorc printer config è possibile configurare una sola stampante; se si vogliono gestire più stampanti, o semplicemente più code differenti, occorre modificare il file /etc/printcap a mano. L'esempio seguente riporta l'esempio di due code di stampa: quella predefinita riguarda una stampante locale HP Laserjet, mentre la coda successiva (lp2) è rivolta a una stampante remota (192.168.1.254), senza specificare il tipo di filtro:
|
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 usare il comando minilpr si deve specificare l'opzione -P, ma si deve osservare che il nome da associare all'opzione può essere piuttosto articolato:
|
|
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 il comando nanorc printer list 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:
|
|
Per approfondire l'argomento si può consultare la parte xxi dedicata alla stampa.
nanoLinux III e IV prevedono la presenza di SANE per la gestione dello scanner. Per gli scanner che vengono riconosciuti automaticamente non ci sono problemi di utilizzo, inoltre è prevista una configurazione predefinita di SANE, tale da concedere l'accesso attraverso la rete, purché si tratti di indirizzi privati o comunque locali.
Per accedere a uno scanner remoto, è necessario intervenire nel file di configurazione /etc/sane.d/net.conf di ogni nodo cliente; tuttavia, se si usa il DHCP, lo script che si occupa della configurazione dinamica aggiorna questo file inserendo tutti gli elaboratori che risultano fornire qualche servizio (anche se diverso), considerando che uno scanner di rete potrebbe essere collocato in uno di quelli.
Anche una volta installato nanoLinux, l'utente comune inesperto, non ha praticamente alcuna possibilità di modificare l'aspetto del sistema grafico; al massimo può cambiare il colore dello sfondo attraverso le voci del menù previste per questo. Questa informazione viene memorizzata nel file ~/.backgroundcolor, che può anche essere modificato a mano.
Eventualmente, il file ~/.wallpaper può essere usato per contenere (o per puntare, se si vuole usare un collegamento simbolico) un'immagine da mettere sullo sfondo. Per leggere questo file viene usato ImageMagick, pertanto l'immagine può essere praticamente in qualunque formato grafico, benché il file in questione sia sprovvisto di estensione.
L'utente comune non ha la possibilità di configurare definitivamente la velocità o l'accelerazione del puntatore del mouse; per queste e altre cose simili deve usare ogni volta il comando xset, per il quale appare qualche esempio nel menù di nanoLinux III e IV.
Eventualmente, l'utente più preparato può sempre realizzare il proprio file ~/.xinitrc, partendo eventualmente da una copia di /etc/X11/xinit/xinitrc, in cui tutte queste cose possono essere gestite in modo più libero. Eventualmente potrebbe anche predisporre una propria configurazione di Fvwm, avendo cura di predisporre per questo anche il proprio file ~/.xinitrc, magari con istruzioni di questo tipo:
|
In questo modo, evidentemente, si usa per Fvwm la configurazione contenuta nel file /home/tizio/.fvwm2rc.
In fase di avvio, il CD-ROM o il DVD-ROM di nanoLinux 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 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[Invio]
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 o del DVD-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 funziona da un CD-ROM o da un DVD-ROM, il contenuto di alcune directory, come /etc/ e /var/, è in realtà il contenuto di qualcosa che si trova a partire da /ramdisk/, che a sua volta è il punto di innesto di un disco RAM. In tal modo, il contenuto di queste directory può essere modificato, anche se solo temporaneamente; ovviamente, per risparmiare memoria, la maggior parte dei file contenuti a partire da /ramdisk/ è costituita da collegamenti simbolici agli stessi file, che nel CD o nel DVD appaiono a partire da /HD-ROOT/... e come tali non sono modificabili. Per modificare tali file occorre cancellare i collegamenti simbolici relativi, sostituendoli con una copia del file a cui questi puntano.
Sempre per motivi didattici, nanoLinux include PostgreSQL, che per funzionare da CD-ROM o da DVD-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 creazione di questi dati nel disco RAM viene fatta attraverso un comando apposito, che prepara e avvia il servizio: nanorc postgresql start, il quale crea contestualmente l'utente PostgreSQL pgnanouser e la base di dati nanodb (appartenente allo stesso utente). Eventualmente, è disponibile anche il comando nanorc postgresql stop, 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.
|
I comandi nanorc postgresql start e nanorc postgresql stop richiedono i privilegi dell'utente root. |
Tra le varie applicazioni che accompagnano nanoLinux, c'è anche VNC (capitolo 118). A questo è stato associato uno script per facilitarne l'utilizzo con degli studenti e anche in altre situazioni, come descritto nella tabella seguente. Si osservi che i nomi riportati nella tabella sono collegamenti simbolici che puntano a vncrc, che in tal modo seleziona direttamente la funzione richiesta, senza passare per il menù iniziale.
Questi comandi sono pensati per due situazioni comuni: un insegnante che ha la necessità di mostrare a tutti quello che sta facendo, oppure un insegnante che ha bisogno di controllare in qualche modo ciò che stanno facendo gli studenti.
Nel primo caso, l'insegnante può avviare il comando vncsc, specificando la parola d'ordine che poi deve comunicare agli studenti, i quali si possono collegare al servente VNC dell'insegnante, con il comando vncv o vncvx. In alternativa l'insegnante può usare il comando nosharedx, in modo che gli studenti possano vedere ciò che fa, senza usare alcuna parola d'ordine, attraverso viewremotex.
Nel secondo caso, viene richiesto agli studenti di avviare X per mezzo del comando sharedx o nosharedx, in modo che l'insegnante possa controllare attraverso il comando takesharedx o viewremotex rispettivamente. Si osservi che con il comando sharedx, viewremotex (viewsharedx) e takesharedx non viene inserita alcuna parola d'ordine, perché ne viene usata una prestabilita.
Tutto il meccanismo è organizzato in modo tale da far funzionare il servente VNC sulla stazione grafica :1, pertanto questa informazione non viene mai impartita.
I comandi che avviano un servente VNC richiedono di specificare espressamente la geometria dello schermo:
|
Se si vuole accedere al servente VNC attraverso una finestra, conviene utilizzare una geometria leggermente inferiore a quella dello schermo che si ha effettivamente a disposizione. Per esempio, se si utilizza il sistema grafico a una risoluzione di 1024×768, può essere conveniente avviare il servente VNC a 960×720.
Il menù dello script vncrc si presenta in due modi diversi, a seconda che sia avviato da una console o da un terminale all'interno di X:
|
|
Le sigle hanno lo scopo di sintetizzare il senso dei vari comandi: srvr indica l'avvio di un servente VNC; vclnt indica l'avvio di un cliente VNC; X indica l'avvio di un servente X (si usa per avviare il cliente VNC da console, usandolo poi a tutto schermo); il prefisso sh, rappresenta il fatto che è consentita la condivisione con più clienti VNC.
La parola d'ordine può essere predefinita, oppure deve essere specificata all'avvio del servente VNC. Quando invece si avvia un cliente VNC, se non si tratta della parola d'ordine predefinita, questa viene letta dal file ~/.vnc/passwd; se non è la stessa richiesta dal servente VNC, la si deve rimpiazzare.
Appunti di informatica libera 2004.10.10 --- Copyright © 2000-2004 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>
1) 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.
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome nanolinux_particolarita.html
[successivo] [precedente] [inizio] [fine] [indice generale] [violazione licenza] [translators] [docinfo] [indice analitico]