s3fs 简介

s3fs 是一个用于在Linux上挂载S3桶的文件系统。它允许用户像访问本地文件一样访问S3桶中的文件。

安装s3fs

在Ubuntu上,可以使用以下命令安装s3fs:

sudo apt-get update
sudo apt-get install s3fs

在CentOS上,可以使用以下命令安装s3fs:

sudo yum install epel-release
sudo yum install s3fs-fuse

配置s3fs

S3FS 默认使用 ${HOME}/.passwd-s3fs 作为当前用户的 AWS Credentials,

如果不存在,则使用 /etc/passwd-s3fs 作为系统的 AWS Credentials。

通过以下命令设置 ${HOME}/.passwd-s3fs

echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs

挂载S3桶

配置s3fs之后,可以使用以下命令挂载S3桶:

其中,mybucket 是要挂载的S3桶的名称,/path/to/mountpoint 是要挂载的本地目录。

s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs

如果遇到任何错误,请启用调试输出:

s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs -o dbglevel=info -f -o curldbg

如果您将 s3fs 与非 Amazon S3 实施结合使用,请指定 URL 和路径样式的请求:

s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs -o url=https://url.to.s3/ -o use_path_request_style

卸载S3桶

可以使用以下命令卸载S3桶:

umount /path/to/mountpoint

自动挂载

您可以使用 fstab 文件来配置自动挂载。

先创建全局凭证文件

echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > /etc/passwd-s3fs
chmod 600 /etc/passwd-s3fs

然后编辑 /etc/fstab 文件,添加以下行:

mybucket /path/to/mountpoint fuse.s3fs _netdev,allow_other,use_path_request_style,url=https://url.to.s3/ 0 0

总结

s3fs是一个强大的工具,可以让你像访问本地文件一样访问S3桶中的文件。通过简单的安装和配置,你可以在Linux上轻松地挂载S3桶。