Copia del sistema operativo

Dopo la suddivisione del disco in partizioni e dopo la loro inizializzazione, si può passare alla fase dell'installazione che copia il sistema operativo nel disco di destinazione. In generale questo procedimento è assistito da un comando apposito.

Copia di NLNX in una partizione di un disco «normale»

La copia di NLNX in una partizione di un disco fisso comune, viene eseguita con il comando seguente, indicando il file di dispositivo corrispondente alla partizione di destinazione, che deve essere stata preparata e inizializzata come già mostrato nel capitolo precedente:

nlnxrc nlnx install[Invio]

Figura u47.1. Il comando nlnxrc nlnx install richiede di specificare il file di dispositivo corrispondente alla partizione nella quale installare il DVD.

.--------------------NLNX installation---------------------.
| Please insert the device file for the disk partition     |
| used as the destination or enter the already mounted     |
| mount-point.                                             |
| If you enter something like "/dev/..." it is assumed to  |
| be a device file; if you enter something like "/mnt/..." |
| it is assumed to be a mount-point, where you have        |
| already mounted your destination file system.            |
| .------------------------------------------------------. |
| |/dev/sd...                                            | |
| `------------------------------------------------------' |
|----------------------------------------------------------|
|                <  OK  >             <Cancel>             |
`----------------------------------------------------------'

Naturalmente, al posto di /dev/sd... occorre indicare il file di dispositivo che corrisponde alla partizione in cui si vuole installare il sistema operativo, cancellando i puntini finali superflui. Si osservi che l'esempio proposto dal programma sembra suggerire l'installazione in un disco SATA o un disco USB esterno, ma si può specificare anche un disco PATA tradizionale, mettendo il nome appropriato (/dev/hd...), oppure anche un insieme di dischi RAID (/dev/mdn).

Alcuni lettori DVD, all'apparenza perfettamente funzionanti, potrebbero non essere in grado di leggere tutto il contenuto di un disco, anche senza la segnalazione di alcun errore. È importante tenere presente il problema quando si utilizza NLNX in questo modo, ma soprattutto quando dal DVD si cerca di installarlo, perché nel verificarsi di questa ipotesi, ciò che si ottiene potrebbe essere solo una copia parziale del contenuto originale.

Copia in una directory

Disponendo della preparazione necessaria per farlo, nel caso lo si preferisca, è possibile installare NLNX in una struttura più articolata, composta da più dischi o semplicemente da più partizioni innestate tra di loro. Per questo scopo, occorre innestare inizialmente la partizione che deve ospitare il file system principale a partire da una sottodirectory di /mnt/ (secondo il criterio normale di NLNX); successivamente occorre creare le directory ulteriori, a partire dalle quali si intende articolare il file system di destinazione, quindi occorre innestare manualmente le altre partizioni e infine procedere con la copia.

A titolo di esempio, si suppone di disporre di un disco PATA e di averlo suddiviso nel modo seguente:

Partizione Scopo
/dev/hda1
partizione di avvio, da innestare nella directory /boot/;
/dev/hda2
partizione del file system principale;
/dev/hda5
partizione da innestare nella directory /usr/;
/dev/hda6
partizione da innestare nella directory /home/;
/dev/hda7
partizione per lo scambio della memoria virtuale (swap).

Dopo aver inizializzato in modo appropriato le varie partizioni, queste vanno innestate secondo lo schema previsto, ma per farlo occorre anche creare le directory necessarie:

mount /mnt/hda2[Invio]

mkdir /mnt/hda2/boot[Invio]

mkdir /mnt/hda2/usr[Invio]

mkdir /mnt/hda2/home[Invio]

mount -t auto /dev/hda1 /mnt/hda2/boot[Invio]

mount -t auto /dev/hda5 /mnt/hda2/usr[Invio]

mount -t auto /dev/hda6 /mnt/hda2/home[Invio]

A questo punto, si può procedere con il comando di installazione, ma invece di indicare un file di dispositivo come destinazione, si deve specificare la directory da cui il tutto si articola: /mnt/hda2.

nlnxrc nlnx install[Invio]

.--------------------NLNX installation---------------------.
| Please insert the device file for the disk partition     |
| used as the destination or enter the already mounted     |
| mount-point.                                             |
| If you enter something like "/dev/..." it is assumed to  |
| be a device file; if you enter something like "/mnt/..." |
| it is assumed to be a mount-point, where you have        |
| already mounted your destination file system.            |
| .------------------------------------------------------. |
| |/dev/sd...                                            | |
| `------------------------------------------------------' |
|----------------------------------------------------------|
|                <  OK  >             <Cancel>             |
`----------------------------------------------------------'

Si deve correggere e indicare /mnt/hda2:

/mnt/hda2<OK>

Il resto procede normalmente.

Configurazione

Al termine della copia all'interno di una partizione, oltre a predisporre il sistema di avvio, come viene descritto nel capitolo successivo, è necessario intervenire in alcune parti della configurazione; per la precisione è necessario verificare il file etc/fstab, all'interno del quale conviene anche indicare la partizione contenente la memoria virtuale. Si tratta delle prime tre righe che, secondo l'esempio proposto nel capitolo precedente, devono risultare alla fine nel modo seguente:

/dev/sda4  none          swap  sw                                   0 0
/dev/sda2  /             auto  defaults,usrquota,errors=remount-ro  0 1
/dev/sda2  /RO-FS/RW-FS  auto  defaults,usrquota,errors=remount-ro  0 0
...

Si osservi che è necessaria l'indicazione di due punti di innesto associati allo stesso file di dispositivo: reinnestando la partizione anche nella directory /RO-FS/RW-FS/ è possibile poi ricreare un nuovo DVD live di NLNX, probabilmente dopo aver modificato qualcosa nella copia realizzata nella partizione del disco fisso; inoltre è possibile gestire il controllo delle quote di utilizzo del disco.

Al termine della copia di NLNX, lo script elimina la parola d'ordine agli utenti comuni predefiniti, in modo da non consentirne l'accesso, lasciando funzionante solo l'utenza dell'amministratore (root). Se prima dell'installazione la parola d'ordine è stata modificata, questo cambiamento viene mantenuto anche nella copia che viene installata. Se la parola d'ordine dell'utente root non è stata cambiata prima dell'installazione, alla prima occasione è necessario farlo, associandone eventualmente una agli utenti comuni che si vogliono usare. Si tenga conto anche del fatto che il sistema operativo che si ottiene installando NLNX prevede l'avvio automatico del servente OpenSSH, pertanto chiunque potrebbe accedere all'utenza root se la parola d'ordine originale non viene sostituita.

Configurazione alternativa

Benché l'esempio di configurazione del file /etc/fstab, come mostrato nella sezione precedente, sia corretto, succede che se si installa NLNX in un disco esterno USB, non si possa sapere qual è esattamente il file di dispositivo associato a tale unità. Per esempio, se l'elaboratore in cui si innesta tale disco contiene internamente solo dischi PATA, il disco esterno dovrebbe risultare essere rappresentato da /dev/sda, ma se al contrario quell'elaboratore ha già internamente un disco SATA, il disco esterno potrebbe essere /dev/sdb. Per poter definire una configurazione di compromesso nel file /etc/fstab, si potrebbe sostituire l'esempio già visto con il contenuto seguente:

# FILE_SYSTEM  MOUNT_POINT  TYPE  OPTIONS  DUMP  PASS
/dev/sda4      none         swap  sw       0     0
/dev/sdb4      none         swap  sw       0     0
/dev/sdc4      none         swap  sw       0     0

rootfs  /             auto  defaults,usrquota,errors=remount-ro  0  1
rootfs  /RO-FS/RW-FS  auto  defaults,usrquota,errors=remount-ro  0  0
...

Come si può osservare, non potendo sapere dove si trova la partizione per lo scambio della memoria virtuale, se ne indicano diverse, contando sul fatto che quelle inesistenti non vengano utilizzate senza altre conseguenze; tuttavia, va sottolineato che con la soluzione proposta il file system principale non viene reinnestato nella directory /RO-FS/RW-FS, perché il file di dispositivo rootfs non esiste.

Scambio della memoria utilizzando un file

In situazioni particolari, quando è necessario attivare lo scambio della memoria in un disco (swap) e non ci si può avvalere di una partizione, si può predisporre il file nlnx.swp, della dimensione che si preferisce, collocato nella radice di un file system qualunque, purché disponibile. Eventualmente, benché sconsigliabile, in caso di estrema necessità questo file può essere collocato nella directory radice del file system usato per NLNX. Se si interviene così, non serve inizializzare il file, perché ciò viene fatto automaticamente nelle primissime fasi dell'avvio.

La sola presenza di un file con il nome nlnx.swp comporta l'attivazione automatica dello scambio della memoria su di esso, sovrascrivendo qualunque contenuto possegga già questo file. Dal momento che l'attivazione di questa funzione avviene nelle primissime fasi dell'avvio, se questo file si trova nello stesso file system di NLNX, diventa impossibile eseguire i controlli periodici di coerenza del file system, perché questo risulterebbe già in uso.

«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net