giovedì 11 ottobre 2007

VirtualBox: cartelle condivise in guest Linux (1a parte)

Nella precedente serie di post sull'argomento Cartelle condivise, vi avevo mostrato la condivisione di cartelle fra host e un guest Windows. Questa volta vi mostro come attivare le cartelle condivise con un guest Linux; non dimenticate però: potrete attivare le cartelle condivise solo dopo aver installato le VirtualBox Guest Additions. Le immagini di questo post fanno inoltre riferimento ad una distribuzione Ubuntu, ma tranquilli: le operazioni sono indipendenti dalla distribuzione usata.

Ok, iniziamo con il condividere una cartella a macchina virtuale spenta.

Avviate VirtualBox e selezionate la macchina virtuale relativa alla vostra distribuzione (fig. 1): notate dalla scheda dettagli come la Rete sia Disabilitata. Cliccate sulla voce Cartelle condivise per proseguire.

Fig. 1 - VirtualBox opzione cartelle condivise guest Linux
fig. 1


Si aprirà il pannello di gestione delle Cartelle condivise (fig. 2). Ancora non ve ne sono, ma la didascalia sopra il pulsante OK vi da già preziose informazioni su come condividere le cartelle una volta all'interno del guest.

Fig. 2 - Cartelle condivise guest Linux - didascalia di spiegazione
fig. 2


Cliccate sul pulsante di aggiunta di una nuova cartella condivisa, nella posizione indicata dal mouse (fig. 3):

Fig. 3 - Cartelle condivise guest Linux - pulsante aggiunta cartella
fig. 3


Si aprirà la finestra di Aggiungi condivisione (fig. 4), cliccate sul pulsante per trovare la cartella sul disco rigido dell'host, nel punto indicato dal mouse.

Fig. 4 - Cartelle condivise guest Linux - percorso cartella
fig. 4


Navigate il vostro disco rigido fino a trovare la cartella che volete condividere (fig. 5) e cliccateci sopra per selezionarla; se la cartella non esiste, potete crearne una al volo usando il pulsante Crea nuova cartella. Quando avete selezionato la cartella che vi interessa, cliccate su OK per confermare.

Fig. 5 - Cartelle condivise guest Linux - scelta cartella
fig. 5

Vi ritrovate nella finestra precedente di Aggiungi condivisione che si è trasformata in Modifica condivisione. La voce Nome cartella fa riferimento al nome con cui la cartella condivisa sarà visibile nel guest e ne viene preimpostato uno, se non vi piace modificatelo a vostro piacimento e poi cliccate su OK per confermare la scelta.

Fig. 6 - Cartelle condivise guest Linux - nome cartella
fig. 6


Eccola (fig. 7), la cartella sull'host che avete deciso di condividere con il guest, è nell'elenco delle Cartelle condivise; con lo stesso procedimento aggiungetene quante volete e cliccate su OK per terminare.

Fig. 7 - Cartelle condivise guest Linux - cartella host selezionata
fig. 7


Ok, la condivisione è pronta e VirtualBox vi informa del numero di cartelle dell'host che la macchina virtuale condivide (fig. 8).

Fig. 8 - Cartelle condivise guest Linux - cartella host condivisa
fig. 8

Ora avviate la macchina virtuale.

Avviate una sessione di terminale all'interno della vostra distribuzione Linux (fig. 9): come preannunciato, ho usato una distribuzione Ubuntu, ma i comandi sono identici qualunque sia la vostra distribuzione.

Fig. 9 - Cartelle condivise guest Linux - apertura terminale
fig. 9

Se non vi trovate a vostro agio con i comandi della shell (terminale) e volete capire graficamente cosa sta per accadere, allora aprite il vostro file manager. Puntatelo sulla radice / del filesystem, pressappoco il C:\ di Windows, e da lì entrate nella cartella mnt. Questa è la cartella che per convenzione Linux utilizza per montare e rendere disponibili al sistema nuovi dispositivi di memoria quali: Hard disk, memorie USB, floppy... ed è qui che noi monteremo la cartella condivisa dell'host.

Ok, tornate nella shell e date il comando seguente apici singoli compresi (fig. 10):

sudo mkdir /mnt/'Cartella condivisa host'

Dopo aver dato la password il comando verrà eseguito.

Fig. 10 - Cartelle condivise guest Linux - comando creazione punto di mount
fig. 10


Ma cosa ha eseguito il comando?

- sudo: esegui i successivi comandi con le autorizzazioni da amministratore;
- mkdir: MaKe DIRectory, crea una directory;
- /mnt/'Cartella condivisa host': creala all'interno della directory mnt e chiamala Cartella condivisa host.

Gli apici singoli servono a far capire alla shell che gli spazi fanno parte del nome della cartella. Ora guardate nel vostro file manager (fig. 11): è comparsa la nuova cartella che farà da punto di mount nel filesystem della vostra distribuzione Linux.

Fig. 11 - Cartelle condivise guest Linux - Punto di mount
fig. 11


La directory (o cartella, in questi post indico la stessa cosa con nomenclatura Linux o Windows a seconda di dove siamo) è stata creata, ora possiamo montarvi la cartella condivisa. Nella shell date il comando (fig. 12):

sudo mount -t vboxsf 'Cartella condivisa host' /mnt/'Cartella condivisa host'

Se vi chiede la password inseritela e date invio per far eseguire il comando alla shell. Se tutto è andato bene, sembrerà non sia accaduto nulla, semplicemente la shell vi restituirà il prompt, ma...

Fig. 12 - Cartelle condivise guest Linux - comando mount cartella condivisa
fig. 12


... date un'occhiata cosa trovate all'interno della Cartella condivisa host: et voilàaa... Signori e Signore, Ladyes and Gentlemen... il contenuto della cartella host condivisa ora è visibile ed a vostra disposizione nel guest (fig. 13)! :-D

Ho lasciato visibile a destra anche una parte della shell da cui abbiamo dati i comandi. Se avete già seguito il post per condividere cartelle con guest Windows, riconoscerete il programma Prevx CSI che avevo usato in quel post per farvi vedere come dalla macchina guest, si poteva avviare un programma che fisicamente era in una cartella sull'host.

Fig. 13 - Cartelle condivise guest Linux - Contenuto cartella condivisa
fig. 13


Ricordate infatti una cosa: i file in questo momento fisicamente sono ancora sull'host, è come se si fosse aperta una finestra che vi permette di osservarli dal guest: se volete portarli fisicamente sul guest, basterà che
nel file manager li trasciniate in un'altra cartella del guest stesso, verrano copiati lì.

Beh, mi pare che per questa volta possa bastare, mi fermo qua. Non mancate però alla 2a parte del post, quando condivideremo l'intero disco rigido dell'host facendolo direttamente dalla macchina guest in funzione! ;-D

@:\>