Edited at

goofysをLinuxで使うときはpre-build binaryにしとくと良い

More than 1 year has passed since last update.


goofysとは

Go製のS3バケットを直接マウントしてファイルシステムのように使いたいケースに利用できるミドルウェアです。

https://github.com/kahing/goofys

上の文言はこの記事からの引用。

http://dev.classmethod.jp/cloud/aws/how-to-use-s3fs-goofys/

s3fs曰く、s3fsと比較してPOSIX準拠度が低い代わりに高速らしい。


goofys - similar to s3fs but has better performance and less POSIX compatibility

https://github.com/s3fs-fuse/s3fs-fuse


GitHub Pageには比較のベンチとか乗ってました。


経緯

S3をファイルシステムとしてマウントする必要があり、Gopherならgoofys使うっしょ、と思って、上のクラスメソッドさんの記事や、

http://qiita.com/digitalpeak/items/1680d291f92187a2de47

を参考にしながらgo installして、



/usr/local/bin/goofys {backetname} {mountpoint}

したら

通信端点が接続されていません

というfuse由来っぽいエラーが。

インストールし直してみたり、IAMの権限確認したりしたけどどこも正常で、ハマっちゃいました。


解決

公式には

https://github.com/kahing/goofys

On Linux, install via pre-built binaries. You may also need to install fuse-utils first.

バイナリ使ってね、と書いてあるのでバイナリ使おう。ハマります。

原理的には同じバイナリできるはずなんですけど、masterのbugfixの度合いとかの問題ですかね。

$ git show -s

commit 891e5032b452319885b53673d040c60bee8bda4f
Author: Ka-Hing Cheung <khc@hxbc.us>
Date: Thu Jul 20 19:50:34 2017 -0700

使ったのはこのcommitでした。

なんかインストールうまくいかないな、という人多そうと思ったので、FYIでした。

時間があるときにでもデバッグしてみるか、という感じです。