Meglio capire prima di fare!
Tutto questo e' reso possibile da FUSE, ovvero uno strumento che permette di creare un filesystem in userspace anziche' in kernel space. Cerco di spiegarlo in modo piu' semplice. FUSE e' composto da due parti, un modulo che risiede nel kernel e una libreria che invece sta nello spazio utente. I due mondi si parlano attraverso un file descriptor, cioe' un dispositivo del tutto virtuale, che si chiama /dev/fuse. Uno sviluppatore puo' cosi' scrivere un'interfaccia tra un suo filesystem, qualunque esso sia, e libfuse. In questo modo FUSE fara' il lavoro sporco di rendere comprensibile al kernel il nuovo filesystem mentre al programmatore non resta che usarlo.
E' talmente facile che il numero di questi filesystem definiti dall'utente sta crescendo molto rapidamente: oltre a sshfs, di cui parliamo in questo post, interessante e' anche GmailFS che ti permette di montare locale la tua casella di posta GMail rendendola di fatto un disco di rete, e anche BloggerFS che permette agli utenti Blogger di manipolare i loro posts come se fossero file nel loro computer.
Cosa serve per farlo?
Certamente serve aver FUSE installato nella propria linux box, e poi serve il programma sshfs che altro non e' che il semplice programmino che interfaccia SSH a libfuse rendendo una risorsa remota accessibile via SSH montabile nel proprio computer.
Se state usando Fedora, allora verosimilmente FUSE e' gia' installato e per installare sshfs dovete semplicemente digitare (come root) il seguente comando
yum install fuse-sshfs
Al solito yum si occupera' di risolvere tutte le necessarie dipendenze e di installare eventuali pacchetti mancanti. Ricordatevi di digitare "y" quando yum vi chiedera' conferma dell'installazione.
Potrebbe essere necessario aggiungere il vostro utente al gruppo fuse, in modo da ottenere i diritti necessari per accedere in lettura e scrittura al dispositivo /dev/fuse. Per far questo o modificate a mano il file /etc/group oppure lo potete fare usando lo strumento grafico system-config-users.
Come montare una risorsa SSH?
Finalmente siamo pronti a montare la nostra prima risorsa SSH. Come prima cosa prepariamo un mounting point. Per esempio creiamo una cartella nella vostra home directory usando il comando:
mkdir ~/test-folder
e adesso montiamoci sopra la risorsa di rete
sshfs 192.168.0.1:/data ~/test-folder
Non appena premerete invio vi verra' chiesta la vostra password, una e una sola volta, dopo di che potete entrare in test-folder e scoprire che vi trovate gia' sul server! Molto comodo vero?
Quando non vi serve piu' potete smontare la risorsa di rete usando il comando:
fusermount -u ~/test-folder
In caso volete saperne di piu' vi consiglio di leggervi le domande frequenti di sshfs che trovate a questo indirizzo.
Buon linux a tutti!
Noi per lavoro usiamo praticamente solo NFS (che credo stia per Network FileSystem) che e' installato di default su linux e anche su Mac OS X. Naturalmente la macchina che "esporta" deve avere un server nfs running (demone nfsd)
RispondiElimina