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:
- Stable Release Updates which upgrades packages for all users
- Backports which users can opt-in to so it only upgrades them
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.