Amazon Linux に s3fs 1.78 をインストール
Amazon S3 をファイルシステムの様にマウントできる s3fs の 1.78 を EC2 の Amazon Linux にインストールしたときの方法です。
s3fs は yum でインストールできないのでビルドしますが、ビルドに必要なライブラリ類を yum でインストールします。
1 |
sudo yum install gcc-c++ fuse-devel openssl-devel libcurl-devel libxml2-devel |
次に s3fs の最新版を gitbub から取得します。今回は Releasesから tarball をダウンロードしていますが、もちろん git コマンドでも取得できるはずです。
1 |
wget https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.78.tar.gz |
展開して autogen.sh を実行します。
1 2 3 4 5 |
tar xzvf v1.78.tar.gz cd s3fs-fuse-1.78/ ./autogen.sh …… aclocal: command not found |
このとき、automake がなくてエラーが出ました。aclocal が無いと言われたときは automake をインストールします。
1 |
sudo yum install automake |
autogen.sh が終了すると configure が生成されていますので、実行して make します。このとき prefix=/usr
を付けると、s3fs が /usr/bin/ に生成され、付けないと /usr/local/bin/ に生成されます。パスの問題から今回は prefix=/usr
を付与してビルドしました。
1 2 3 |
./configure --prefix=/usr make sudo make install |
s3fs コマンドがインストールできたことを確認します。
1 2 |
whereis s3fs s3fs: /usr/bin/s3fs /usr/share/man/man1/s3fs.1 |
マウントポイントを作成してマウントしますが、その前に /etc/passwd-s3fs に S3 バケットへのアクセスキーとシークレットアクセスキーをコロンで区切ったものを書き込んでおきます。
1 2 3 |
sudo mkdir /mnt/s3 sudo echo 'ACCESSKEY:secretaccesskeysecretaccesskey' > /etc/passwd-s3fs sudo chmod 600 /etc/passwd-s3fs |
バケット mybucket1 を /mnt/s3 にマウントします。
1 |
sudo s3fs mybucket1 /mnt/s3 |
ls /mnt/s3
とすれば、s3 の mybucket1 バケットの中身が確認できます。アクセス速度は遅いので頻繁な読み書きにはむいていませんが、ファイルシステムとして見えますのでバックアップ用途などには手軽で良いと思います。
ITエンジニア募集中!
キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。
下記よりITエンジニア募集の採用情報をご覧いただけます。
情報ありがとうございます。
./confinure prefix=/usr
こちらだけスペルの訂正お願いします。
ありがとうございます。修正しました。