S3FS is FUSE (File System in User Space) based solution to mount an
Amazon S3 buckets, We can use system commands with this drive just like
as another Hard Disk in system. On s3fs mounted files systems we can
simply use cp, mv and ls the basic Unix commands similar to run on
locally attached disks.
If you like to access S3 buckets without mounting on system, use s3cmd command line utility to manage s3 buckets. s3cmd is also provides faster speed for data upload and download rather than s3fs. To work with s3cmd use next articles to install s3cmd in Linux and Windows System.
This article will help you to install S3FS and Fuse by compiling from source, and also help you to mount S3 bucket on your CentOS/RHEL and Ubuntu systems.
cd s3fs-fuse/
./autogen.sh
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure --prefix=/usr --with-openssl
make
sudo make install
tar zxvf s3fs-1.84.tar.gz
cd s3fs-fuse-1.84/
./autogen.sh
./configure --prefix=/usr
make
make install
s3fs --version
# echo AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY > ~/.passwd-s3fs
for sytem wide use /etc/passwd-s3fs
# chmod 600 ~/.passwd-s3fs
Note: Change AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY with your actual key values.
# mkdir /s3mnt
# chmod 777 /s3mnt
# s3fs mybucket /s3mnt -o passwd_file=/etc/passwd-s3fs
If any errors enable debug mode
s3fs mybucket /mnt/s3mnt -o passwd_file=/etc/passwd-s3fs -o dbglevel=info -f -o curldbg
#mount permanently with /etc/fstab entry
mybucket /mnt/s3mnt fuse.s3fs _netdev,allow_other,nonempty 0 0
Thats it...........
Now you can create and test some files and folders in the mount point..
If you like to access S3 buckets without mounting on system, use s3cmd command line utility to manage s3 buckets. s3cmd is also provides faster speed for data upload and download rather than s3fs. To work with s3cmd use next articles to install s3cmd in Linux and Windows System.
This article will help you to install S3FS and Fuse by compiling from source, and also help you to mount S3 bucket on your CentOS/RHEL and Ubuntu systems.
Step 1: Remove Existing Packages
First check if you have any existing s3fs or fuse package installed on your system. If installed it already remove it to avoid any file conflicts.CentOS/RHEL Users: # yum remove fuse fuse-s3fs Ubuntu Users: $ sudo apt-get remove fuse
Step 2: Install Required Packages
After removing above packages. First we will install all dependencies for fuse and s3cmd. Install the required packages to system use following command.CentOS/RHEL 7 Users: # yum install gcc libstdc++-devel gcc-c++ fuse fuse-devel curl-devel libxml2-devel mailcap git automake make # yum install openssl-devel # yum install s3fs-fuse
Ubuntu Users: $ sudo apt-get install build-essential libcurl4-openssl-dev libxml2-dev mime-support
Step 3: Download and Compile Latest Fuse
git clone https://github.com/s3fs-fuse/s3fs-fusecd s3fs-fuse/
./autogen.sh
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure --prefix=/usr --with-openssl
make
sudo make install
Step 4: Download and Compile Latest S3FS
wget https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.84.tar.gztar zxvf s3fs-1.84.tar.gz
cd s3fs-fuse-1.84/
./autogen.sh
./configure --prefix=/usr
make
make install
s3fs --version
Step 5: Setup Access Key
Also In order to configure s3fs we would required Access Key and Secret Key of your S3 Amazon account. Get these security keys from AWS IAM# echo AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY > ~/.passwd-s3fs
for sytem wide use /etc/passwd-s3fs
# chmod 600 ~/.passwd-s3fs
Note: Change AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY with your actual key values.
Step 6: Mount S3 Bucket
Finally mount your s3 bucket using following set of commands. For this example, we are using s3 bucket name as mydbbackup and mount point as /s3mnt.# mkdir /s3mnt
# chmod 777 /s3mnt
# s3fs mybucket /s3mnt -o passwd_file=/etc/passwd-s3fs
If any errors enable debug mode
s3fs mybucket /mnt/s3mnt -o passwd_file=/etc/passwd-s3fs -o dbglevel=info -f -o curldbg
#mount permanently with /etc/fstab entry
mybucket /mnt/s3mnt fuse.s3fs _netdev,allow_other,nonempty 0 0
Thats it...........
Now you can create and test some files and folders in the mount point..