2. Procedura

Sommario dei passi necessari

Siate anche sicuri di aver letto la Sezione 1 e la Sezione 1.2.

2.1. Creare le immagini ISO

Scegliete (o create) un file system con la maggior parte possibile di spazio libero su di esso. Tenete in mente che i CD-ROM possono contenere circa 640 Mb di dati, perciò se volete condividere 8 CD-ROM sulla vostra rete, avrete bisogno di 5.1 Gb di spazio disponibile..

Loggatevi come root oppure andate "su" verso root.


bash# df -h


Filesystem            Size  Used Avail Use% Mounted on
/dev/hda5             1.4G   82M  1.3G   6% /
/dev/hda1              15M  827k   14M   6% /boot
/dev/hda7             2.4G 1008M  1.3G  43% /usr
/dev/hda8            23.6G 11.7G 11.7G  50% /home

Qui il filesystem /home ha lo spazio libero maggiore, perciò esso è il filesystem più adatto per essere usato per copiarci le immagini dei Cd sopra.


bash# cd /home
bash# mkdir image
bash# cd image

Adesso, copiate il CD come immagine ISO. Dovreste conoscere il nome del dispositivo del vostro CD-ROM (normalmente /dev/cdrom, potrebbe essere /dev/scd0 per i Cd-Rom SCSI). Userò la distribuzione Mandrake su Cd-ROM come esempio:


bash# dd if=/dev/cdrom of=mndrk81.iso

Nota

Il termine "if=" è il file di ingresso, il termine "of=" è il file di uscita. Dovreste vedere un messaggio che vi visualizza il numero di record in ingresso e in uscita.

Se vedete errori di I/O, probabilmente saranno principalmente dovuti alle tracce iniziali e alle tracce finali del cd. Se il numero dei record in ingresso e quello dei record in uscita non corrispondono, potreste avere un problema, anche se l'immagine potrebbe essere corretta, ma non potrete mai sapere se gli errori sono avvenuti durante la lettura della parte ISO o no (dovuto alla polvere o ai graffi sul cd).

Altre utilità per leggere i CD esistono, come readcd o sdd.

Maggiori informazioni circa la copia speculare dei CD si trova nel [CD-Writing-HOWTO], vedi la Sezione 1.3.

I miei ringraziamenti a Giblhauser Carl Michael per le informazioni sui runoutblock .

2.2. Montare le immagini ISO

Il prossimo passo è montare le immagini ISO. Create una directory sotto /mnt per sistemarvi i file montati.


bash# cd /mnt
bash# mkdir iso
bash# cd iso
bash# mkdir mndrk81

Adesso montate l'immagine ISO in questa directory appena creata


bash# mount -o loop,unhide -t iso9660 -r /home/image/mndrk81.iso /mnt/iso/mndrk81

Nota

La variabile"-o loop" significa usare l'opzione che monta un file come un dispositivo a blocchi. L'opzione unhide mostra i file nascosti. La variabile "-t iso9660" significa che il file è in formato CD-ROM iso 9660. La variabile "-r" significa che il file system è montato in sola lettura.

Grazie a Amar Chaouche per aver precisato l'opzione unhide per il comando di mount.

Adesso potete:


bash# cd mndrk81
bash# ls -al

Dovreste vedere un elenco (ls) dei file e delle directory che sono sul Cd attuale (solo che adesso essi sono dentro l'immagine ISO, di cui state guardando dentro il contenuto.

2.3. Montare una immagine dopo un riavvio del sistema

Adesso che avete montato manualmente l'immagine, e siete sicuri che funzioni, avete bisogno di inserire una voce nel file /etc/fstab affinché l'immagine sia rimontata al prossimo avvio del sistema. E' importante inserire la voce DOPO quella per il filesystem genitore, per esempio /home (ho usato vim, ma emacs, joe, pico o jed lavorano altrettanto bene):


bash# vim /etc/fstab

Dopo la linea che assomiglia alla seguente (o qualunque filesystem in cui abbiate sistemato le vostre immagini):


/dev/hda8 /home ext2 defaults 1 2

Inserite la seguente linea con il vostro editore di testi:


/home/image/mndrk81.iso /mnt/iso/mndrk81 iso9660 ro,loop,auto,unhide 0 0

2.4. Condividere le immagini su una rete windows utilizzando Samba

Avete bisogno di Samba già installato e configurato per effettuare i seguenti passi (ciò è al di fuori dello scopo di queste istruzioni, vedete la Sezione 1.3). Se non è ancora installato, consultate le istruzioni sulla vostra distribuzione Linux per l'installazione del pacchetto Samba. O potete visitare il sito web su Samba a http://us1.samba.org/samba/samba.html per le istruzioni di installazione, gli eseguibili, e/o il codice sorgente.

Per condividere i vostri cd attraverso una finestra del network, semplicemente create uno share nel file /etc/smb.conf simile al seguente:


[cdimages]
  comment =Tutte le immagini dei cd condivisi
  path = /mnt/iso
  public = yes
  writable = no

Ciò condividerà tutte le sottodirectory sotto la /mnt/iso directory nel network. Per montare la condivisione verso un drive locale (in questo caso il drive I:), aprite il prompt di MsDos su una macchina Windows e scrivete questo:


C:\> net use I: \\lavostramacchinalinux\immaginideicd

Ogni immagine ora apparirà come una sottodirectory del drive I: sulla vostra macchina Windows.

Per montare solamente l'immagine del CD di Mandrake verso un drive locale (useremo M:, il drive principale, che corrisponde esattamente al CD così come è stato inserito nel drive CD-ROM), create la seguente condivisione nel file /etc/smb.conf.


[mndrk81]
  comment = Mandrake Linux 8.1
  path = /mnt/iso/mndrk81
  public = yes
  writable = no

Quindi, al prompt del DOS, montatela con il seguente comando:


C:\> net use m: \\lavostramacchinalinux\mndrk81

Attenzione

Le condivisioni di Samba presentate qui sono state semplificate, e non sono sicure. Esistono parecchie opzioni per le condivisioni di Samba che limitano chi può montare le condivisioni, controllare come l'autenticazione dell'utente è effettuata, e anche se la condivisione è visibile attraverso le risorse di rete di una macchina windows.

2.5. Condividere le immagini su un network Unix attraverso NFS

Siate sicuri che NFS sia configurato e in esecuzione sulla vostra Linux Box, quindi aggiungete ciò che segue al file /etc/exports usando le vostre opzioni preferite:


# sample /etc/exports file
       /mnt/iso            (ro,insecure,nohide,all_squash)

Nota

L'opzione "nohide" vi permetterà di montare una directory madre, senza esplicitamente montare tutte le sottodirectory esportate da essa.

Adesso provate ad eseguire:


bash# exportfs -r

Questo dovrebbe riesportare tutto nel vostro file /etc/exports.

Adesso, quando scrivete "showmount -e lavostramacchinalinux" dovreste vedere che la directory /mnt/iso è inclusa nella lista di directory esportate.