Mac OS X/Linuxでs3fsを使って、さくらのBASE Storageをマウントする

  • 23
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

事前に、さくらのBASE Storageのアカウント作成、ネームスペースが作られているものとします。

Mac OS X環境でのインストール

前提としてbrewをインストールしておきましょう。

brewがインストールされたら以下の手順を実行します。

brew update
brew install s3fs

s3fs 1.76以降のバージョンでないとMavericksでのインストールがうまくいかないので注意です。

fuse4xの設定

0.9.2のバージョンのところはインストールされたfuse4x-kextのバージョンに合わせてください。

sudo cp -rfX /usr/local/Cellar/fuse4x-kext/0.9.2/Library/Extensions/fuse4x.kext /System/Library/Extensions/
sudo chmod +s /System/Library/Extensions/fuse4x.kext/Support/load_fuse4x
sudo kextload /System/Library/Extensions/fuse4x.kext/

Linux環境でのインストール

RedHat系の場合

sudo yum install gcc-c++ fuse fuse-devel libcurl-devel libxml2-devel openssl-devel

Debian系の場合

sudo aptitude install build-essential libcurl4-openssl-dev libxml2-dev libfuse-dev comerr-dev libfuse2 libidn11-dev libkadm55 libkrb5-dev libldap2-dev libselinux1-dev libsepol1-dev pkg-config fuse-utils sshfs

s3fsのソースの取得とビルド

wget https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.76.tar.gz -O s3fs-fuse-1.76.tar.gz
tar xzvf s3fs-fuse-1.76.tar.gz
cd s3fs-fuse-1.76
./autogen.sh
./configure --prefix=/usr/local
make
sudo make install

/usr/local/bin/s3fs がインストールされている。(PATHが通っていない場合は通しておくと便利です)

認証情報の準備

さくらのBASE Storageのユーザー名とトークンを ~/.passwd-s3fs に書いておく。

vi ~/.passwd-s3fs

形式は以下のとおり。

ユーザー名:トークン

パーミッションを変更する。

chmod 600 ~/.passwd-s3fs

マウントする

マウントしたディレクトリ(ここでは~/s3)を用意して、s3fsコマンドでマウントします。
(httpsでの利用は、証明書の問題なのか、正しくマウントできませんでした)

mkdir ~/s3
s3fs ネームスペース名 ~/s3 -o url=http://b.storage.sakura.ad.jp

これで~/s3ディレクトリにマウントされます。mountコマンドで確認すると、

Mac OS Xの場合

s3fs@fuse0 on /Users/hoge/s3 (fuse4x, nodev, nosuid, synchronous, mounted by hoge)

Linuxの場合

s3fs on /home/hoge/s3 type fuse.s3fs (rw,nosuid,nodev,relatime,user_id=xxxx,group_id=xxxx)

といったようにマウントされていることがわかります。
マウントしたディレクトリ内では、ls、mkdir、cpなどが問題なくできました。日本語も問題なし。

関連ストック

Mac OS X Mavericksでs3fsを使ってS3バケットをマウントする
http://qiita.com/isaoshimizu/items/c9d0f88ce30ae2079dfa

Mac OS Xでs3cmdを使って、Amazon S3、さくらのBASE Storageのファイルを操作する
http://qiita.com/isaoshimizu/items/657595cbf05d2b3bec81