[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico] [volume]


Capitolo 611.   nanoLinux: particolarità varie

Le funzionalità principali di nanoLinux sono gestite attraverso lo script nanorc (/etc/script/nanorc), che può essere utilizzato anche senza argomenti, ottenendo così un menù più comodo:

nanorc[Invio]

Figura 611.1. Come si presenta lo script nanorc quando viene avviato senza argomenti, per ottenere il menù dei comandi disponibili. Le voci sono in ordine alfabetico.

.-------------------------------nanoLinux IV---------------------------------.
| nanorc menu                                                                |
| Some functions are reserved to "root" or might be reserved for usage with  |
| installed or CD/DVD-ROM running system: see "nanorc --help" for a          |
| contextual command list.                                                   |
| .------------------------------------------------------------------------. |
| |cdaudio-dir        [2][root]    Make a CD audio from a directory        | |
| |cd copy            [2][root]    Make a CD copy                          | |
| |cdrom blank        [2][root]    Blank completely a rewritable CD/DVD    | |
| |cdrom blankfast    [2][root]    Minimal blank for a rewritable CD/DVD   | |
| |cdrom-DIR          [2][root]    Like "cdrom-dir" with compatibility opti| |
| |cdrom-dir          [2][root]    Make a CD/DVD-ROM form a directory      | |
| |config load        [2][root+cd] Load volatile configuration from a disk | |
| |config save        [2][root+cd] Save volatile configuration inside a dis| |
| |dhcp-server config [2][root]    Set up as a DHCP server                 | |
| |dhcp-server edit   [2][root]    Set up manually a DHCP server           | |
| |dhcp-server unconf [2][root]    Unset a DHCP server                     | |
| |disk-space edit    [2][root+hd] Edit user's home space limit            | |
| `.(+)--------------------------------------------------------------------' |
|                                                                            |
|                                                                            |
|----------------------------------------------------------------------------|
|                      <  OK  >             <Cancel>                         |
`----------------------------------------------------------------------------'

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 o da DVD; [root+hd] indica una funzione che si può utilizzare solo come amministratori, quando il sistema è installato in un disco normale.

611.1   ACPI

Il kernel standard di nanoLinux include delle funzionalità ACPI. In condizioni normali, queste funzionalità sono disabilitate, perché all'avvio viene passata al kernel l'opzione acpi=off, ma si possono abilitare facilmente (inserendo all'avvio l'opzione acpi=on, oppure modificando la configurazione di GRUB con il file /boot/grub/menu.lst, una volta installato nanoLinux).

Una volta attivate le funzionalità ACPI, la gestione delle stesse deve avvenire in modo manuale; attraverso nanorc è possibile controllare sommariamente soltanto il tempo di ritardo per lo spegnimento dei dischi, quando non utilizzati:

nanorc acpi spindown[Invio]

Se si vuole gestire lo spegnimento dei dischi in modo indipendente da quanto predisposto da nanoLinux (utilizzando il programma hdparm, con l'opzione -S, a mano), bisogna accertarsi di eliminare il file /etc/nanoLinux/ACPI_STAND_BY_VALUE, che altrimenti viene preso in considerazione all'avvio del sistema.

611.2   Configurazione di Bash e script di sistema

Il file /etc/profile è più articolato di quello standard. Vengono descritte le particolarità più significative.

611.3   Procedura di inizializzazione del sistema

La procedura di inizializzazione del sistema prevede quattro script in più, costituiti da /etc/init.d/rc.hardware, /etc/init.d/rc.nano, /etc/init.d/rc.local e /etc/init.d/rc.last, a cui fanno riferimento i collegamenti /etc/rcS.d/S31rc.hardware, /etc/rcS.d/S98rc.nano, /etc/rcS.d/S99rc.local e /etc/rc[2345].d/S99rc.last. 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 del primo gruppo di script della procedura di avvio, contenuti nella directory /etc/rcS.d/; 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. Il terzo script si colloca sempre alla fine di quelli avviati dalla directory /etc/rcS.d/ ed è a disposizione per la personalizzazione, dato che normalmente non contiene alcunché. L'ultimo script serve a contenere ciò che va fatto quasi alla fine della procedura di avvio, pertanto si trova richiamato dalle directory /etc/rc2.d/, /etc/rc3.d/, /etc/rc4.d/ e /etc/rc5.d/; in particolare, questo script contiene la configurazione del tempo di ritardo per lo spegnimento dei dischi se le funzioni ACPI sono attive.

Nel caso di nanoLinux funzionante da CD o da DVD, 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 innestare la partizione /dev/hda1 come file system Dos-FAT, 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.

611.4   Memoria virtuale

In fase di avvio, il CD o il DVD 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:

swap file_di_dispositivo

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

swap /dev/hda1[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 o del DVD, 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 la volontà di gestire la memoria virtuale. Si osservi, però, che la ricerca termina appena viene trovato uno di questi file.

Quando si installa nanoLinux nel disco fisso, questa ricerca di partizioni e file da usare per attivare la memoria virtuale viene meno, perché, come già descritto, si tratta di qualcosa che va definito esplicitamente nel file di configurazione /etc/fstab.

611.5   Registri

Nella sua configurazione predefinita, nanoLinux prevede che il file /var/log/syslog venga usato per accumulare una copia di tutti i messaggi che riguardano il registro di sistema; inoltre, prevede che la rotazione di questo file avvenga in modo tale da poter disporre sempre di almeno un anno di utilizzo dell'elaboratore. Per controllare la rotazione del file, è stato necessario modificare i file /etc/cron.daily/sysklogd e /etc/cron.weekly/sysklogd, che nella distribuzione GNU/Linux Debian sono organizzati inizialmente per una sola settimana di dati. I file in questione sono stati modificati nel modo seguente:

...
cd /var/log
for LOG in `syslogd-listfiles`
do
   if [ -s $LOG ]; then
      savelog -g adm -m 644 -u root -c 400 $LOG > /dev/null
   fi
done
...
...
cd /var/log
for LOG in `syslogd-listfiles --weekly`
do
   if [ -s $LOG ]; then
      savelog -g adm -m 644 -u root -c 58 $LOG > /dev/null
   fi
done
...

Oltre al numero di copie più alto rispetto al solito, si deve osservare che i permessi consentono a tutti di leggere questi file. Infatti, ciò è voluto proprio per motivi didattici, allo scopo di consentire a tutti gli utenti lo studio di questi file.

Oltre al file /var/log/syslog, viene conservato anche un registro contenente l'utilizzo del proxy HTTP. Si tratta precisamente del file /var/log/oops/access_webalizer. Il suo nome deriva dal fatto che viene costruito appositamente per la realizzazione delle statistiche con l'aiuto di Webalizer e la sua presenza dipende dalla configurazione specifica di OOPS (il proxy HTTP). La rotazione di questo file è controllata attraverso un file realizzato appositamente: /etc/logrotate.d/nanolinux-extra-logs. Segue il contenuto di questo file:

#
# nanoLinux extra log files to be rotated.
#
/var/log/oops/access_webalizer {
        create 644 proxy proxy
        rotate 400
        compress
        daily
        postrotate
                kill -WINCH `cat /var/run/oops/oops.pid`
        endscript
}

Anche in questo caso si può osservare che i permessi consentono a tutti gli utenti di leggere il contenuto dei file che si generano dalla rotazione.

Si tenga in considerazione il problema dei permessi, perché in contesti differenti da quelli previsti, potrebbe essere veramente spiacevole lasciare che chiunque possa sapere che presso un certo elaboratore (dove un certo utente stava lavorando) sono stati visitati certi contenuti attraverso il navigatore. Tuttavia, nella didattica, questo tipo di controllo non deve essere inteso come un mezzo oppressivo di sorveglianza, ma come una dimostrazione della poca riservatezza che può avere l'utilizzo della rete in generale.

611.6   Dati variabili nel CD o nel DVD

Quando nanoLinux funziona da un CD o da un DVD, 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.

Merita un po' di attenzione la configurazione di Exim: il file /etc/exim/exim.conf, ovvero /ramdisk/etc/exim/exim.conf, può essere modificato, ma occorre tenere presente che questo viene aggiornato continuamente dal programma nanorc-config-exim, attraverso Cron. Pertanto, per poter intervenire effettivamente in questo file, occorre prima fermare Cron, oppure intervenire nel file /etc/cron.d/config-exim, ovvero /ramdisk/etc/cron.d/config-exim. La seconda delle due ipotesi è la migliore, perché senza Cron, Exim non recapiterebbe i messaggi che rimangono in coda.

Sempre per motivi didattici, nanoLinux include PostgreSQL, che per funzionare da CD o da DVD, 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 innestato per l'occasione.

I comandi nanorc postgresql start e nanorc postgresql stop richiedono i privilegi dell'utente root.

Appunti di informatica libera 2006.07.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome nanolinux_particolarita_varie.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!

CSS validator!