Old:NFS: Networking FileSystem tramite nfs-user-server: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
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''' &nbsp;&nbsp;&nbsp; � la directory da esportare
*    '''192.168.2.3'''      &nbsp;&nbsp;&nbsp;� il client che pu� raggiungere la directory in questione;
*    '''(rw)'''      &nbsp;&nbsp;&nbsp;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''' &nbsp;&nbsp;&nbsp;  la url completa della directory da raggiungere (sintassi, ip:path);
*    '''/mnt/nfs''' &nbsp;&nbsp;&nbsp;  la directory dove si vuole montare il device (la directory deve essere stata creata precendentemente);
*    '''nfs''' &nbsp;&nbsp;&nbsp;  identifica il tipo di filesystem da usare (in questo caso nfs, filesystem di rete);
*    '''rw,users,noauto'''  &nbsp;&nbsp;&nbsp;  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''' &nbsp;&nbsp;&nbsp;  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>