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


Capitolo 676.   Problemi di nanoLinux e soluzioni

nanoLinux è organizzato secondo una struttura particolare, sia per semplicità, sia per cercare di ridurre l'utilizzo della memoria centrale. L'organizzazione stessa di nanoLinux può essere la causa di alcuni problemi, che però a volte si possono risolvere semplicemente.

676.1   Avvio con GRUB da CD o da DVD

Il CD o il DVD di nanoLinux può essere reso avviabile con GRUB, ma in tal caso non è detto che si riesca a utilizzare la prima voce, che è anche predefinita, con la quale si dovrebbe poter avviare il primo settore del disco fisso.

Purtroppo, senza la possibilità di avviare ciò che è già presente nel disco fisso, viene meno una caratteristica importante di nanoLinux, che se usato da CD o da DVD, non viene espulso al termine del funzionamento, ma ugualmente non deve interferire con il lavoro normale anche se rimane nel lettore.

676.2   Directory personale in un disco esterno

Utilizzando nanoLinux avviato da CD o da DVD, può essere comodo gestire i propri dati personali utilizzando una memoria esterna, come un'unità USB a disco o allo stato solido. Per fare questo basta preoccuparsi di innestare il disco e probabilmente conviene decidere di usare uno degli utenti comuni stabiliti, sistemando di conseguenza la proprietà della directory radice dell'unità esterna:

fdisk /dev/sda[Invio]

...

mkfs.ext3 /dev/sda1[Invio]

mount /mnt/sda1[Invio]

chown tizio:tizio /mnt/sda1[Invio]

umount /mnt/sda1[Invio]

I passaggi mostrati abbreviano e semplificano la procedura per creare una partizione (la prima) in un disco USB o in uno stick USB, facendo in modo che l'utente tizio la possa utilizzare come vuole.

Così facendo, utilizzando l'utenza tizio si possono salvare dati in questo disco, purché prima venga innestato. Tuttavia, rimanendo a questo livello di utilizzo, manca la possibilità di modificare in modo duraturo la configurazione personale dell'utente, perché i dati contenuti nella directory personale vanno perduti. Per risolvere questo problema, si può fare in modo di copiare la struttura iniziale della directory personale dell'utente tizio nel disco esterno, avendo cura ogni volta di innestarlo nel modo giusto:

mount /mnt/sda1[Invio]

cp -dpRv /home/tizio /mnt/sda1[Invio]

umount /mnt/sda1[Invio]

Eventualmente si può decidere di gestire in maniera diversa il disco esterno, per esempio inserendo il contenuto dei dati personali dell'utente in una sottodirectory, ma il procedimento non cambia; quando si vuole usare quella directory personale occorre prima agire come utente root seguendo lo schema seguente:

mount /mnt/sda1[Invio]

mount --bind /mnt/sda1 /home/tizio[Invio]

Quindi ci si può identificare come utente tizio. Se la directory personale dell'utente si trovasse invece, per esempio, nella sottodirectory mia/directory/personale/ nel disco esterno, basterebbe cambiare il collegamento finale nel modo seguente:

mount --bind /mnt/sda1/mia/directory/personale /home/tizio[Invio]

676.2.1   Automatizzare la procedura

Dal momento che è possibile salvare la configurazione di nanoLinux anche in un disco USB esterno, nulla vieta di modificare lo script /etc/init.d/rc.nano o /etc/rc.local, aggiungendo le istruzioni necessarie a innestare lo stesso disco USB in modo da trovare poi la propria directory personale, secondo le proprie intenzioni. Tuttavia, l'impegno per fare questo a mano è minimo, ma soprattutto meno stressante.

676.3   Utenze generiche

Quando si installa nanoLinux, le utenze generiche costituite dai nomi tizio, caio e gli altri, vengono disabilitate, nel senso che viene tolta la parola d'ordine, ma per il resto sono intatte.

Per un utente poco esperto, la disponibilità di queste utenze può essere un vantaggio, perché basta attribuire una parola d'ordine e queste tornano a funzionare. A questo proposito, c'è da osservare che gli utenti tizio e gli altri, fanno parte di diversi gruppi, cosa che facilita l'accesso ai dischi e ad altre componenti fisiche dell'elaboratore. Un utilizzatore poco esperto, potrebbe avere difficoltà a dare a un'utenza nuova gli stessi privilegi che gli utenti generici, predefiniti, hanno già.

Naturalmente ci possono essere situazioni in cui gli utenti generici predefiniti sono totalmente inutili. In questi casi conviene provvedere manualmente alla loro eliminazione, soprattutto per ciò che riguarda le directory personali. Tuttavia, se si tratta di una copia di nanoLinux installata per poter generare successivamente un CD o un DVD «live», conviene lasciare le voci di questi utenti nei file /etc/passwd e /etc/group, per evitare che l'installazione di un programma che richiede la creazione di un utente fittizio vada a utilizzare proprio i numeri UID e GID che sono previsti invece per gli utenti tizio e gli altri. Dovendo mantenere questi utenti nei file /etc/passwd e /etc/group si può assegnare al posto della shell comune il file /bin/false.

Se si lasciano le directory personali degli utenti generici predefiniti, in un elaboratore che offre le directory personali attraverso il protocollo NFS, se questo servizio viene utilizzato tramite CD o DVD, dal momento che lì tali utenze sono attive, è possibile salvare file attraverso NFS. Si osservi che è sufficiente il protocollo NFS, perché le utenze generiche predefinite hanno numeri UID al di sotto del livello minimo previsto per la gestione attraverso il NIS (in base alla configurazione che prevede come UID minimo il numero 1 000). Se questo avviene in un laboratorio didattico, significa che gli studenti possono scambiare file tra di loro, perché, per esempio, chiunque può diventare tizio.

676.4   Messaggi di errore

Durante il funzionamento in modalità grafica, viene mostrato normalmente un riquadro contenente i messaggi generati dai programmi. Questi messaggi comprendono quanto emesso dallo standard output e dallo standard error. Tra i messaggi appaiono anche quelli generati dal gestore di finestre e in particolare sarebbe molto frequente il messaggio seguente:

[FVWM][get_menu_options]: <<ERROR>> invalid rectangle geometry

Questa segnalazione in particolare sembra essere generata erroneamente, per un problema che in realtà non sussiste. Dal momento che questo messaggio in particolare verrebbe emesso ogni volta che si apre il menù, dando così un fastidio inutile, il comando che mostra il riquadro dei messaggi fa in modo che non appaia.

676.5   Modifica della configurazione locale durante l'utilizzo in modalità grafica

Per modificare la configurazione della lingua, è previsto l'uso del comando nanorc locale config. Tuttavia, dopo l'uso del comando occorre abbandonare la sessione di lavoro e riprenderla con un nuovo login.

Durante il funzionamento in modalità grafica, si può cambiare la mappa della tastiera, ma non si può cambiare la configurazione linguistica stabilita prima del suo avvio.

Per avviare temporaneamente un programma con una configurazione linguistica differente, occorre farlo manualmente attraverso una finestra di terminale, come nell'esempio seguente:

LANG=ru_RU.UTF-8 gedit[Invio]

In questo caso, si avvia il programma gedit, passando a lui la variabile di ambiente LANG con il valore ru_RU.UTF-8.

Si osservi che ci sono due voci nel menù per avviare una finestra di terminale: quella che utilizza l'opzione -ls avvia una shell di login, che quindi ottiene il valore per la variabile LANG, pari alla configurazione data per la console; al contrario, quella che utilizza l'opzione +ls non altera lo stato corrente della configurazione, pertanto il valore contenuto nella variabile di ambiente LANG rimane quello scelto per l'ambiente grafico.

676.6   Programmi «duri a morire»

Durante il funzionamento in modalità grafica, può capitare di avviare dei programmi che poi, non vogliono saperne di terminare il loro funzionamento quando la sessione grafica viene conclusa. Questo tipo di inconveniente si è manifestato, in modo particolare, con il programma alsamixergui, che per questa ragione non viene più installato. Per lo stesso motivo, non sono disponibili funzioni per generare sfondi dinamici.

676.7   Studenti troppo furbi

nanoLinux è organizzato in modo particolare per l'uso in un laboratorio didattico, per studenti della scuola media superiore. Di norma, un esercizio o un compito richiede che ognuno lavori utilizzando i propri dati, senza poter accedere alle directory personali degli altri utenti (soprattutto in considerazione del fatto che si presume i dati personali siano centralizzati e condivisi nella rete locale).

Per rendere più complicata la condivisione indesiderata dei dati si può usare un accorgimento abbastanza semplice: tenendo conto che si utilizzano i gruppi privati (nel senso che ogni utente appartiene a un gruppo con lo stesso nome), può essere conveniente attribuire la proprietà delle directory personali a root, lasciando l'appartenenza al gruppo del vero proprietario di queste (in tal caso, però, vanno garantiti i permessi di lettura, scrittura e accesso al gruppo).

Facendo in modo che la directory personale di un utente appartenga a root, si impedisce all'utente di modificarne i permessi, che rimangono così sotto il controllo dell'amministratore. Si hanno così due possibilità: 07718 o 07708. Nel primo dei due casi si consente l'attraversamento, che potrebbe servire per garantire la visibilità di quanto pubblicato in ~/public_html/; nel secondo si impedisce ogni passaggio da parte di estranei.

A titolo di esempio, supponendo di voler limitare gli accessi a un'ipotetica classe 5A dell'anno scolastico 2007/2008, ammesso di avere organizzato correttamente la struttura delle directory personali, si potrebbe procedere così:

cd /home/5A0708[Invio]

for s in * ; do chown root:$a $a ; chmod 0771 ; done[Invio]

Oppure:

for s in * ; do chown root:$a $a ; chmod 0770 ; done[Invio]

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


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

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

Valid ISO-HTML!

CSS validator!