|
|
Riga 1: |
Riga 1: |
| Beh, non tutti possono fare a meno di avere installato anche un sistema Windows sulla propria macchina e quindi spesso � necessario far convivere questi due OS.<br>
| | ==Come creare una directory shared tra macchine linux (nfs, acronimo di Network File System)== |
| Storicamente questa convivenza si � dimostrata spesso poco "pacifica", infatti a non pochi di noi � capitato di non poter accedere a questo o quel sistema operativo, ben sapendo che all'ultima accensione tutto funzionava per il meglio.<br>
| |
| Di solito, per quella che � la mia esperienza in fatto di dual boot, posso "addossare" buona parte della colpa di questi malfunzionamenti, alla poca apertura del boot loadr di Windows rispetto agli altri sistemi operativi esistenti.<br>
| |
| Per ovviare a questo tipo di problema � possibile percorrere diverse scelte:
| |
|
| |
|
| 1) Installare un bootloader pi comprensivo (grub, lilo, gag, etc. etc.) e gestire tutto tramite quello;<br>
| |
| 2) Usare il bootloader di Windows, per avviare anche gli altri OS a cui siamo interessati;
| |
|
| |
|
| Questo articolo prova a spiegare in modo semplice come impostare ed utilizzare il secondo metodo.<br>
| | Per far comunicare due macchine Linux, � possibile in diversi metodi: il modo pi� veloce per fare tutto ci�, � utilizzare NFS per mettere in condivisione una particolare directory del filesystem ad altri client.<br> |
| Lo spunto e le nozioni riportate derivano dall'articolo di '''Rover''' presente a questo indirizzo.
| | Di seguito � descritta una semplice procedura per configurare ed avviare il daemon di nfs sul server e per istruire il client a raggiungere la directory esportata: questa non vuole essere una guida esaustiva ad nfs, ma solo una breve descrizione di come risolvere velocemente lo scambio di dati tra macchiine linux. |
|
| |
|
| Installeremo in sequenza, prima Windows e poi Linux: per il primo baster seguire le varie schermate, mentre per il secondo occorr qualche accortezza in pi.<br>
| |
| Durante l'installazione della distro infatti, verr richiesto di configurare un bootloader (di solito LILO o grub) e pertanto dovremo fare attenzione alla posizione dove verr posizionato tale software.<br>
| |
| In altre parole, un boot loader pu essere installato nell'inizio di un disco (il famoso '''MBR''' o Master Boot Record), in una partizione ben precisa o in un floppy.
| |
|
| |
|
| Visto che siamo decisi a lasciare al boot loader di Windows l'onere di tutto il lavoro, � necessario scegliere la seconda opzione, specificando la partizione corrispondente alla / usata per installare Linux.
| | ===[Impostazione del Server]=== |
| Ad esempio, nel mio caso ho:
| | Dopo aver installato con apt-get i pacchetti '''nfs-user-server''' (un linux daemon che lavora in userspace) e '''portmap''', bisogna modificare il file '''/etc/exports''' (in caso esso non esista, bisogna crearlo) aggiungendo una riga per ogni directory che si vuole esportare.<br> |
| | Un esempio di entry per il file export pu� essere: |
|
| |
|
| /dev/hda7 ---> /<br> | | <pre>/mnt/Data/download 192.168.2.3 (rw)</pre> |
| /dev/hda6 ---> /home | |
|
| |
|
| quindi devo scegliere /dev/hda7.<br>
| |
| Una volta completata la procedura di installazione, SENZA riavviare il sistema, nessario accedere come utente.<br>
| |
| Dopo aver aperto una shell eseguite questo comando:
| |
|
| |
|
| <pre>$ dd if=/dev/hda7 bs=512 count=1 of=/home/USER/linux.bin</pre>
| | in cui |
| | * '''/mnt/Data/download''' � la directory da esportare |
| | * '''192.168.2.3''' � il client che pu� raggiungere la directory in questione; |
| | * '''(rw)''' sono le opzioni impostabili ('''rw''':permessi di scrittura/lettura); |
|
| |
|
| dove USER � il vostro utente.<br>
| | E' possibile definire in modo pi� granulare gli accessi utilizzando i file /etc/host.access e /etc/host.denied, ma per un uso basilare di nfs non � necessario applicare alcuna modifica. |
| Questo comando crea un file chiamato '''linux.bin''' (ci servir� in seguito), contenente i primi 512 byte della nostra partizione /, la stessa in cui, guarda caso, abbiamo installato il bootloader.<br>
| |
| Tale file ci servir� per istruire Windows ad avviare anche l'altro sistema operativo.<br>
| |
| Sempre dalla shell, copiamo '''linux.bin''' su un floppy vuoto, precendentemente inserito nell'apposito lettore con
| |
|
| |
|
| <pre>$ mcopy /home/USER/linux.bin a:</pre>
| |
|
| |
|
| NB: '''mcopy''' fa parte del pacchetto degli '''mtools''', nel caso non fosse installato e possibile usare i metodi standard di mount del device e di copia di un file.<br>
| | ===[Impostazione del Client]=== |
| Nel caso non si disponga di un drive floppy, e possibile usare un qualsiasi supporto utilizzabile in scrittura da Linux (una partizione di fat32, una pen drive, un cdrw, etc etc)<br>
| | Bisogna innanzitutto installare '''nfs-common''' con apt-get, e successivamente modificare il proprio '''/etc/fstab''', aggiungendo una entry relativa alla directory che si vuole raggiungere via nfs; ad esempio: |
| A questo punto dobbiamo riavviare il sistema: � da notare come Windows ancora non rilevi la presenza di Linux.
| |
| Una volta loggati come utente Administrator o equivalente, possiamo dedicarci alle modifiche.
| |
|
| |
|
| Il boot manager di Windows (almeno nelle versioni pi� recenti come 2000 o Xp) viene impostato nel file nascosto '''boot.ini''', presente nella directory radice dove � installato il sistema, come ad esempio c:\ .<br>
| | <pre>192.168.2.2:/mnt/Data/download /mnt/nfs nfs rw,noauto 0 0</pre> |
| Una volta attivata la '''visualizzazione dei file nascosti''' e quella dei '''file di sistema''', � possibile aprire boot.ini ed osservarne il contenuto.<br>
| |
| Il file in questione si presenta originariamente cos�:
| |
|
| |
|
| <pre> [boot loader]
| |
| timeout=15
| |
| default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
| |
| [operating systems]
| |
| multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect</pre>
| |
|
| |
|
| | in cui |
| | * '''192.168.2.2:/mnt/Data/download''' la url completa della directory da raggiungere (sintassi, ip:path); |
| | * '''/mnt/nfs''' la directory dove si vuole montare il device (la directory deve essere stata creata precendentemente); |
| | * '''nfs''' identifica il tipo di filesystem da usare (in questo caso nfs, filesystem di rete); |
| | * '''rw,users,noauto''' sono i flag di mount del device (rw: permessi di scrittura/lettura, users: device montabile e smontabile dai vari user, noauto: device da non avviare automaticamente al boot del sistema); |
| | * '''0 0''' sono i flag relativi al check del device da parte dei programmi di controllo della coerenza del filesystem. |
|
| |
|
| Per poter gestire Linux � sufficiente aggiungere la seguente riga:
| | A questo punto basta un semplice |
|
| |
|
| <pre>c:\linux.bin="Linux"</pre> | | <pre>$mount /mnt/nfs</pre> |
|
| |
|
| personalizzabile sia nel nome del file (linux.bin) che nell'etichetta da visualizzare (Linux).<br>
| | per poter usare normalmente la share nfs, come una normale directory del sistema. |
| Preleviamo il file '''linux.bin''' che abbiamo prodotto con il comando '''dd''' e copiamolo nella directory c:\ .<br>
| |
| A questo punto possiamo riavviare il sistema e scopriamo che non si avvia pi� automaticamente Windows, ma ci viene proposta anche la scelta di Linux!!!<br>
| |
| Una volta selezionata quest'ultima voce, ci troviamo davanti il bootloader fornito dall'istallazione di Linux.
| |
|
| |
|
| Ai pi� questa soluzione pu� sembrare contorta quanto inutile, ma a mio avviso consente di gestire Linux in modo decisamente pi� trasparente se � presente un dual boot con Windows, visto che quest'ultimo non dovr� essere "spodestato" dall'MBR per far posto al LILO o grub di turno.<br>
| | [[Utente:Ldonesty|Ldonesty]] |
| E, finora, questo metodo non mi ha '''MAI''' abbandonato!<br>
| |