# MacFUSE



## p4bl0 (11 Janvier 2007)

Google est une entreprise pour laquelle il est fantastique de travailler. Je pourrais &#233;num&#233;rer plusieurs raison &#224; cela. Prenez le concept des "20&#37; du temps." Les ing&#233;nieurs chez Google sont encourag&#233; &#224; consacrer 20% de leur temps &#224; des projets qui les passionnent. J'ai commenc&#233; il y a quelques temps a bosser sur un projet et je suis heureux de vous annoncer que Google livre le r&#233;sultat de mon projet sous la forme d'une contribution open source pour la communaut&#233; Mac. Ce projet c'est MacFUSE, une version pour Mac OS X du c&#233;l&#232;bre syst&#232;me FUSE (File System in User Space), qui fut cr&#233;&#233; pour Linux puis port&#233; sur FreeBSD.

FUSE rend possible l'impl&#233;mentation d'un syst&#232;me de fichiers tr&#232;s fonctionnel dans un programme normal plut&#244;t que d'avoir besoin de faire des ajouts complexe au syst&#232;me d'exploitation. Plus important encore, il est tr&#232;s facile de programmer avec l'API de FUSE. Le grand nombre de syst&#232;me de fichiers FUSE int&#233;ressant et/ou utile qui existe en t&#233;moigne. Un exemple souvent cit&#233; et le syst&#232;me de fichiers sshfs, qui jusqu'&#224; aujourd'hui n'&#233;tait pas disponible sous Mac OS X.​
C'est une traduction approximative du d&#233;but de ce post sur le Google Mac Blog. &#199;a &#224; l'air int&#233;ressant FUSE, mais je ne voit pas super bien l'utilit&#233; d'un tel truc...

Quelqu'un qui l'a d&#233;j&#224; (ou non m&#234;me) utilis&#233; peut-il expliquer ce que &#231;a apporte ?


Merci


----------



## maousse (12 Janvier 2007)

youhou !!! tu m'as pris de vitesse !

excellent ce truc !!  

sshfs, &#231;a permet de monter volume distant via ssh en local sur ton mac. Du genre, ton h&#233;bergeur te donne un acc&#232;s ssh &#224; ton compte sur le serveur, et tu peux travailler dessus comme si c'&#233;tait un de tes disque dur.

&#199;a fait un bail qu'il n'existait rien de tel pour mac, et &#231;a y est. 

Merveilleux:love:


(je ne parle que d'sshfs, mais parce que c'est le seul que j'ai pu tester. Mais &#231;a permet de monter tout un tas de filesystems dans mac os x, d&#233;sormais  )


----------



## bompi (12 Janvier 2007)

C'est effectivement assez g&#233;nial. Si je lis bien, c'est l'in&#233;vitable Amit Singh qui fait le portage. Dommage qu'il ne passe pas les sources dans le t&#233;l&#233;chargement.
Si je pige bien le truc : cela permet de d&#233;finir comme syst&#232;me de fichier &#224; peu pr&#232;s tout ce que tu veux. Un exemple est BeagleFS. Beagle est un outil fa&#231;on Spotlight, impl&#233;ment&#233; sur Linux. Avec BeagleFS, tu peux d&#233;finir des dossiers comme &#233;tant des requ&#234;tes Beagle. Donc, on se dit : &#231;a ressemble aux _smart folders_ (dossiers intelligents) de Mac OS X. Pas loin, mais pas tout &#224; fait : les dossiers intelligents de Mac OS X ne sont visibles que dans l'interface graphique, _via_ le Finder par exemple, ou les fen&#234;tres de choix de fichier. Avec FUSE, tu fais la m&#234;me chose un &#233;tage en-dessous, au niveau du syst&#232;me UNIX lui-m&#234;me. Donc une fois que tu as ton pseudo-syst&#232;me de fichiers configur&#233; et install&#233; c'est l'ensemble des processus qui y ont acc&#232;s. &#199;a, je trouve que c'est _smart_ !

Au passage : travailler dans une entreprise qui a le vent en poupe et des milliards en caisse, cela peut faire envie en effet  Pouvoir prendre du temps pour des projets personnels : ils ont tout compris chez Google ! Mais c'est aussi un luxe que tout le monde ne peut pas se payer (soupir).


----------



## p4bl0 (12 Janvier 2007)

maousse a dit:


> youhou !!! tu m'as pris de vitesse !
> 
> excellent ce truc !!
> 
> ...


Ah oui effectivement &#231;a c'ets g&#233;nial !!!

&#199;a va facilit&#233; la vie de ceux qui ont besoin d'un iDisk mais qui ne veulent pas payer 99&#8364;/an !!


----------



## Warflo (13 Janvier 2007)

L'iDisk c'est webdav non ?


----------



## p4bl0 (13 Janvier 2007)

Warflo a dit:


> L'iDisk c'est webdav non ?


oui mais si on peut monter le syst&#232;me de fichier qu'on veut (ou presque), et que celui ci est disponible en lecture/&#233;criture et qu'il est accessible dans /Volumes/ par exemple, alors on peut s'en servir d'iDisk (de solution de sauvgarde en ligne quoi).

Et on peut configurer des applications de BackUp pour backuper sur le syst&#232;me de fichier monter avec FUSE.

Peut-&#234;tre m&#234;me que TimeMachine pourra l'utiliser et faire des sauvegarde dur un serveur (mais local sinon la rapidit&#233;...)


----------



## Dark Templar (15 Janvier 2007)

Salut,
Le sshfs fonctionne bien (cool, avant je devais utiliser Fugu), mais j'aimerais bien pouvoir monter des serveurs ftp en lecture/&#233;criture (vu la vitesse des FTP Free &#231;a me permettrait de faire des sauvegardes r&#233;guli&#232;res), ainsi que des disques dur format&#233;s en NTFS.

J'ai donc t&#233;l&#233;charg&#233; FuseFTP mais bien que j'aie install&#233; tout les pr&#233;requis avec CPAN, j'ai l'erreur suivante : 
	
	



```
Can't locate Fuse.pm in @INC (@INC contains: /sw/lib/perl5 /sw/lib/perl5/darwin /System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1/darwin-thread-multi-2level /Library/Perl/5.8.1 .) at /usr/bin/fuseftp line 44.
BEGIN failed--compilation aborted at /usr/bin/fuseftp line 44.
```
Ne sachant que faire, j'ai d&#233;cid&#233; de passer au ntfs. Des id&#233;es ?



J'ai donc t&#233;l&#233;charg&#233; ntfs-3g et j'ai d'abord remplac&#233; linux* par linux*|darwin* comme pr&#233;conis&#233; sur la page li&#233;e par MacG. Mais j'ai alors l'erreur suivante apr&#232;s avoir tap&#233; ./configure : 
	
	



```
checking for fuse >= 2.6.0... configure: error: ntfs-3g requires FUSE >= 2.6.0. Please see http://fuse.sf.net/ or install __all__ FUSE packages (e.g. fuse, fuse-utils, libfuse, libfuse2, libfuse-dev) or remove already installed __older__ FUSE.
```
Comme je viens d'installer la derni&#232;re version possible de MacFUSE je ne peut pas t&#233;l&#233;charger plus r&#233;cent, donc j'ai d&#233;cid&#233; de virer le test dans le fichier configure : j'ai remplac&#233; 

```
if test $succeeded = yes; then
      compile_fuse_module=true
  else

		{ { echo "$as_me:$LINENO: error: ntfs-3g requires FUSE >= 2.6.0. Please see http://fuse.sf.net/ or install __all__ FUSE packages (e.g. fuse, fuse-utils, libfuse, libfuse2, libfuse-dev) or remove already installed __older__ FUSE." >&5
echo "$as_me: error: ntfs-3g requires FUSE >= 2.6.0. Please see http://fuse.sf.net/ or install __all__ FUSE packages (e.g. fuse, fuse-utils, libfuse, libfuse2, libfuse-dev) or remove already installed __older__ FUSE." >&2;}
   { (exit 1); exit 1; }; }
fi
```
par 
	
	



```
if test $succeeded = yes; then
      compile_fuse_module=true
  else

		compile_fuse_module=true
fi
```
L&#224; la configuration fonctionne, le Makefile est cr&#233;&#233; mais &#231;a plante apr&#232;s :
	
	



```
(&#8230;)
Making all in src
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../include/ntfs-3g    -DFUSE_USE_VERSION=26 -g -O2 -Wall -MT ntfs_3g-ntfs-3g.o -MD -MP -MF ".deps/ntfs_3g-ntfs-3g.Tpo" -c -o ntfs_3g-ntfs-3g.o `test -f 'ntfs-3g.c' || echo './'`ntfs-3g.c; \
then mv -f ".deps/ntfs_3g-ntfs-3g.Tpo" ".deps/ntfs_3g-ntfs-3g.Po"; else rm -f ".deps/ntfs_3g-ntfs-3g.Tpo"; exit 1; fi
In file included from /usr/local/include/fuse/fuse.h:23,
                 from /usr/local/include/fuse.h:9,
                 from ntfs-3g.c:28:
/usr/local/include/fuse/fuse_common.h:30:2: error: #error Please add -D_FILE_OFFSET_BITS=64 to your compile flags!
make[2]: *** [ntfs_3g-ntfs-3g.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
```
Comment changer ces "compile flags" ?

Si quelqu'un pouvait m'aider &#224; r&#233;soudre un de ces deux probl&#232;mes (voire les deux) ce serait super.
Merci d'avance,
Dark.


----------



## Einbert (16 Janvier 2007)

Hello,

Concernant NTFS, jette un oeil au lien suivant : http://osx.iusethis.com/app/macfuse

Tu y trouveras un .dmg pour l'install de ntfs-3g. Je n'ai pas eu le temps de tester, donc redis-nous si cela a fonctionne. Au prealable, supprime tout ce que qui concerne ntfs-3g ...

Pour FTPFS, je n'ai pas non plus eu le temps d'essayer  . Sur le lien ci-dessus, il y a aussi une liste de tous les FS supporte (et il y en a un certain nombre  ).

++


----------



## Dark Templar (16 Janvier 2007)

Bonjour,
Il semblerait que l'image disque ait disparu. N&#233;anmoins, en t&#233;l&#233;chargeant sur le site de MacFuse l'archive .tar.bz2 au lieu de l'image disque, j'ai r&#233;ussi &#224; compiler et utiliser ntfs-3g (avec les instructions trouv&#233;es sur les forums applenova gr&#226;ce &#224; ton lien). 

Me reste plus qu'a trouver comment faire fonctionner fuseftp (celui qui me servira le plus) et ce sera parfait.


----------



## p4bl0 (17 Janvier 2007)

Je viens de voir &#231;a :
Getting started with MacFUSE HowTo


----------



## Einbert (21 Janvier 2007)

J'ai également tenté de compiler fuseftp et cryptoFS, mais sans succès malheureusement  . Pour fuseftp, j'ai réussi à compiler jusqu'au bout, mais j'ai ensuite une erreur lors de l'utilisation de celui-ci. Et pour cryptoFS, rien à faire, j'ai essayé pendant plus de 30min. sans succès. On doit apparemment faire des changements dans les sources, mais je n'ai trouvé aucun patch ni aucune autre explication comment pouvoir le compiler. Si qqun a des informations pour l'un ou l'autre, je suis preneur  .
C'est vraiment frustrant, car sur le site de base de macfuse, le developpeur liste tous les FS qui fonctionnent, mais aucun lien pour expliquer comment installer l'un ou l'autre...  

Il va falloir encore attendre un peu je suppose...

++


----------



## p4bl0 (23 Janvier 2007)

SpotlightFS : de vrai dossiers intelligents via MacFUSE.
Vrai : utilisable en ligne de commande etc...


-> http://googlemac.blogspot.com/2007/01/spotlight-file-system-for-macfuse.html


----------

