目標
Mac OS X YosemiteでS3をマウントしたい。
問題
Mac OS X Yosemite(10.10)からは、署名がないカーネルエクステンションのインストールを原則禁止する変更がされたため、Mavericksでできたs3fsを使う方法(Mac OS X Mavericksでs3fsを使ってS3バケットをマウントする)がうまくいかない。brew install homebrew/fuse/s3fs
するときにfuse4xをソースからビルドさせたものが使えない。
fuse4x-kext: Building this formula from source isn't possible due to OS X
Yosemite and above's strict unsigned kext ban.
fuse4x: Building this formula from source isn't possible due to OS X
Yosemite and above's strict unsigned kext ban.
対処法
fuse4x.dmgとosxfuse.dmgのバイナリを直接ダウンロードしてきてインストールする、またはosxfuse.dmgとyas3fs(AWSの中の人が個人プロジェクトとして開発しているs3fsの拡張版)をインストールする。今回後者を試してうまくできた。
手順
-
http://osxfuse.github.com/ からosxfuse.dmgをダウンロードしてきてインストール。
-
pythonをインストール。
-
pip install yas3fs
-
S3のバケットとアクセス権限者を作成。
-
S3のアクセスIDとキーを.bash_profileに追記。
export AWS_ACCESS_KEY_ID=YOUR_S3_ACCESS_ID export AWS_SECRET_ACCESS_KEY=YOUR_S3_ACCESS_SECRET_KEY
-
ターミナルで
$ mkdir ~/s3 $ yas3fs s3://your-s3-bucket-url ~/s3
これでFinderでもS3バケット内のファイルの読み書き操作ができる。 アンマウントは$ umount ~/s3
。
yas3fsは機能が豊富で、Amazon SNSと組み合わせると複数PCとS3をリアルタイムで同期させることもできるよう。自分に必要になったときに試してみたい。