s3fs-fuse / s3fs-fuse

FUSE-based file system backed by Amazon S3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to install s3fs-fuse latest version (1.93) from Ubuntu 20.04 packages repo

nguyenminhdungpg opened this issue · comments

Additional Information

Version of s3fs being used (s3fs --version)

Amazon Simple Storage Service File System V1.93 (commit:unknown) with OpenSSL

Version of fuse being used (pkg-config --modversion fuse, rpm -qi fuse or dpkg -s fuse)

Version: 2.9.9-3

Kernel information (uname -r)

6.2.16-15-pve

GNU/Linux Distribution, if applicable (cat /etc/os-release)

NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"

How to run s3fs, if applicable

[] s3fs my-bucket ./my-mounted-point -o passwd_file=${HOME}/.passwd-s3fs -o endpoint=ap-southeast-1 -o allow_other -o umask=000 -o dbglevel=info -o use_cache=./my-mounted-point-cache -o disable_noobj_cache -o multireq_max=500 -o logfile=/var/log/s3fs.log
[] /etc/fstab
my-bucket ./my-mounted-point fuse.s3fs umask=000,_netdev,allow_other,dbglevel=info,endpoint=ap-southeast-1,logfile=/var/log/s3fs.log,disable_noobj_cache,multireq_max=500,use_cache=./my-mounted-point-cache 0 0

s3fs syslog messages (grep s3fs /var/log/syslog, journalctl | grep s3fs, or s3fs outputs)

Details about issue

I am using Ubuntu 20.04 and install s3fs 1.93 by manual setup like this

# Required packages
$ apt-get update -y
$ apt-get install -y build-essential libfuse-dev libcurl4-openssl-dev libxml2-dev mime-support automake libtool
$ apt-get install pkg-config libssl-dev -y

# Download s3fs released file and install
$ wget https://github.com/s3fs-fuse/s3fs-fuse/archive/refs/tags/v1.93.tar.gz -O s3fs-fuse-1.93.tar.gz
$ tar xvzf s3fs-fuse-1.93.tar.gz
$ cd s3fs-fuse-1.93
$ ./autogen.sh
$ ./configure --prefix=/usr --with-openssl
$ make
$ make install

Everything works well but when I deploy it to production environment, it is required to install s3fs using IAC and s3fs must be installed from OS native repo. Ubuntu in production is currently 20.04. s3fs-fuse version in Ubuntu 20.04 is 1.86, quite a long time ago (Feb 2020), I need to use the latest version 1.93. Upgrade Ubuntu is impossible.
So, how can I install s3fs-fuse 1.93 from Ubuntu 20.04 packages repo?

Ubuntu controls their package policy so I recommend that you open an issue with them. I believe that Ubuntu has multiple mechanisms for this:

I previously asked about upgrading s3fs in 18.04 LTS but received a negative response for SRU: https://bugs.launchpad.net/ubuntu/+source/s3fs-fuse/+bug/1828849. So you might inquire about including s3fs 1.93 in backports instead which might be easier.

Please do look into this -- it is frustrating for both users and maintainers to deal with old bugs. Also please share a link to any upstream issue.

Hi @gaul , thank you very much, I will looking into your suggestion options.

@gaul Could I ask you a question?
When I install s3fs-fuse from Ubuntu repo, I can easily remove it using this command apt-get purge --auto-remove s3fs -y. But when I install s3fs-fuse 1.9.3 manually from source, when I run above command, it says Package 's3fs' is not installed, so not removed. Now how can I remove it? Thank you very much.

Running apt-get registers the package name and installed file types but make install does not. So you cannot use apt-get to remove files installed by the latter.

The s3fs issue tracker is not a general help forum and I don't even use Ubuntu. You should ask in some other venue like Stack Overflow.

I already google and some say make uninstall can do the job but there is a note But this will work only if the developer of the package has taken care of making a good uninstall rule.. That's why I ask the way to remove s3fs that installed from source guided in this repo wiki.

This probably works given that we use automake rules. Did you try make uninstall?

Hi @gaul , sorry for late response. I use make uninstall and it works. I also decided to install s3fs 1.93 from source but placed all commands to a bash script file and execute the script in IaC pipeline. Now, s3fs installation and mounting can be provisioned without any manual ops. Thank you very much.