Appunti su Gentoo Linux

FUSE

FUSE sta per Filesystem in USErspace. Consiste di un modulo contenuto nel kernel Linux e di alcune librerie e strumenti da installare sul proprio sistema (presenti nell'ebuild sys-fs/fuse). FUSE permette agli utenti normali di creare dei filesystem senza aver alcun privilegio particolare. Possiamo pensarlo come un ponte tra noi e le interfacce del kernel.

Viene usato sostanzialmente solo per creare filesystem virtuali. Per esempio supponiamo di avere un account GMail e di volerlo usare come disco remoto. FUSE insieme a GmailFS, un modulo apposito che permette la comunicazione con GMail, vi permetterà di creare una cartella sul vostro hard disk e montarci lo spazio della vostra casella di posta. Voi userete quella cartella come una comune cartella ma quando copierete un file non lo starete copiando in quella cartella ma nel vostro spazio Gmail.

Prima di tutto bisogna compilare FUSE nel kernel:

File systems  --->
   <*> FUSE (Filesystem in Userspace) support

Compilate e riavviate il sistema come al solito.

Ora installate il software per usare FUSE:

emerge sys-fs/fuse

E infine le solite operazioni per lanciare il servizio all'avvio.

rc-update add fuse default
/etc/init.d/fuse start

La configurazione di FUSE si trova in /etc/fuse.conf ma di solito non si ha bisogno di modificarla.

smbnetfs

Uno dei tanti moduli di FUSE è smbnetfs che monta automaticamente tutte le condivisioni Windows presenti nella propria LAN. Vediamo come installare, usare e configurare opportunamente smbnetfs in un ambiente XFCE. Mi concentro su XFCE perché purtroppo il file manager di default, Thunar, non supporta ancora il browsing delle condivisioni di rete.

Prima di tutto dovete installare FUSE come abbiamo visto sopra. Dopodiché installate smbnetfs:

emerge net-fs/smbnetfs

smbnetfs non è un servizio di sistema ma un programma per l'utente normale. Pertanto non esiste nessuno script di avvio! Va lanciato da ogni utente singolarmente. Per ora vedremo come lanciarlo manualmente. In seguito vedremo come lanciarlo automaticamente all'avvio di XFCE o al login dell'utente nella console.

Supponiamo di essere l'utente pippo e di volere usare smbnetfs. Prima di tutto dobbiamo creare una cartella nella nostra HOME dove smbnetfs può montare tutte le condivisioni di Windows. Per esempio

mkdir /home/pippo/Rete

Ora non dovete far altro che lanciare smbnetfs specificando che lui deve montare tutta la rete nella cartella da voi creata:

smbnetfs /home/pippo/Rete

Entrando nella directory Rete vedrete tutte le condivisioni della vostra rete LAN.

I file di configurazione di smbnetfs si trovano in /home/pippo/.smb/. Guardate la documentazione o su Google per eventuali configurazioni, per esempio nome utente e password.

In XFCE vi conviene creare un collegamento alla cartella Rete sul pannello laterale di Thunar. Infine per lanciare automaticamente il comando smbnetfs /home/pippo/Rete ci sono due modi. O lanciarlo sempre anche se fate solo il login testuale oppure solo quando entrate/loggate in XFCE.

Nel primo caso basta mettere nel file .bash_login della vostra home

if [ ! -e "~/.smb/mysmbnetfs.pid" ]
then
  touch "/home/pippo/.smb/smbnetfs_fra.pid"
  sleep 1s
  smbnetfs "/home/pippo/Rete"
fi

Se volete che venga smontata questa mappa della rete e venga killato smbnetfs al logout, mettete nel file .bash_logout

fusermount -u "/home/pippo/Rete"
sleep 1s
rm -f "/home/pippo/.smb/mysmbnetfs.pid"

Questo script potrebbe essere migliorato. Infatti non dovrebbe smontare sembre la rete Samba. Solo se non ci sono altre sessioni aperte dell'utente pippo. Lo farò.

Nel secondo caso invece, è sufficiente andare su Applications-> Settings -> Session and Startup. Poi sulla scheda Application Autostart. Cliccare Add e inserire le seguenti informazioni: Nome e descrizione quello che volete (smbnetfs? :) ) e nel Command la riga vista prima: smbnetfs /home/pippo/Rete.

Non so se quando si esce da XFCE o in generale ci si slogga che cosa accade. Forse smbnetfs viene killato e quindi automaticamente la rete si smonta da sola.

Può però essere lanciato da quanti utenti si vuole contemporaneamente, purché le cartelle per montare la Rete siano uno diversa per ogni utente.

Per smontare la "Rete" è sufficiente dare il comando

fusermount -u /home/pippo/Rete

che provvederà anche a chiudere smbnetfs.

Nel caso in cui questa operazione riporti degli errori, potete killare smbnetfs e questo smonterà automaticamente la "Rete" anche se potreste perdere delle informazioni scritte nel frattempo sulle condivisioni di rete.

killall smbnetfs

fusesmb (da eliminare)

Uno dei tanti moduli di FUSE è fusesmb che monta automaticamente tutte le condivisioni Windows presenti nella propria LAN. Vediamo come installare, usare e configurare opportunamente fusesmb in un ambiente XFCE. Mi concentro su XFCE perché purtroppo il file manager di default, Thunar, non supporta ancora il browsing delle condivisioni di rete.

Prima di tutto dovete installare FUSE come abbiamo visto sopra. Dopodiché installate fusesmb:

emerge net-fs/fusesmb

fusesmb non è un servizio di sistema ma un programma per l'utente normale. Pertanto non esiste nessuno script di avvio! fusesmb va lanciato da ogni utente singolarmente. Per ora vedremo come lanciarlo manualmente. In seguito vedremo come lanciarlo automaticamente all'avvio di XFCE o al login dell'utente nella console.

Supponiamo di essere l'utente pippo e di volere usare fusesmb. Prima di tutto dobbiamo creare una cartella nella nostra HOME dove fusesmb può montare tutte le condivisioni di Windows. Per esempio

mkdir /home/pippo/Rete

Ora non dovete far altro che lanciare fusesmb specificando che lui deve montare tutta la rete nella cartella da voi creata:

fusesmb /home/pippo/Rete

fusesmb si lamenterà che non c'è alcun file di configurazione. Non preoccupatevi, normalmente non serve.

Entrando nella directory Rete vedrete tutte le condivisioni della vostra rete LAN.

I file di configurazione di fusesmb si trovano in /home/pippo/.smb/. Guardate la documentazione o su Google per eventuali configurazioni, per esempio nome utente e password.

In XFCE vi conviene creare un collegamento alla cartella Rete sul pannello laterale di Thunar. Infine per lanciare automaticamente il comando fusesmb /home/pippo/Rete ci sono due modi. O lanciarlo sempre anche se fate solo il login testuale oppure solo quando entrate/loggate in XFCE.

Nel primo caso invece ...

Nel secondo caso è sufficiente andare su Applications-> Settings -> Session and Startup. Poi sulla scheda Application Autostart. Cliccare Add e inserire le seguenti informazioni: Nome e descrizione quello che volete (fusesmb? :) ) e nel Command la riga vista prima: fusesmb /home/pippo/Rete.

In entrambi i casi sarebbe opportuno fare un controllo per capire se fusesmb è stato già lanciato per quell'utente. Ci devo pensare. Può però essere lanciato da quanti utenti si vuole contemporaneamente, purché le cartelle per montare la Rete siano uno diversa per ogni utente.

Per smontare la "Rete" è sufficiente dare il comando

fusermount -u /home/pippo/Rete

che provvederà anche a chiudere fusesmb.

Nel caso in cui questa operazione riporti degli errori, potete killare fusesmb e questo smonterà automaticamente la "Rete" anche se potreste perdere delle informazioni scritte nel frattempo sulle condivisioni di rete.

killall fusesmb