
Allow directory paths specified for lowerdir, upperdir and workdir to contain colon characters. Previously, colons were unconditionally treated as separators, making it impossible to use directories with colons in their names. Closes: https://github.com/containers/fuse-overlayfs/issues/440 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
fuse-overlayfs
An implementation of overlay+shiftfs in FUSE for rootless containers.
Usage:
$ fuse-overlayfs -o lowerdir=lowerdir/a:lowerdir/b,upperdir=up,workdir=workdir merged
Specify a different UID/GID mapping:
$ fuse-overlayfs -o uidmapping=0:10:100:100:10000:2000,gidmapping=0:10:100:100:10000:2000,lowerdir=lowerdir/a:lowerdir/b,upperdir=up,workdir=workdir merged
Requirements:
If you are not using the static build as explained in the next chapter, your system needs libfuse
> v3.2.1.
- On Fedora:
dnf install fuse3-devel
- On Ubuntu > v19.04:
apt install libfuse3-dev
Also, please note that, when using fuse-overlayfs
from a user namespace
(for example, when using rootless podman
) a Linux Kernel > v4.18.0 is required.
Static Build:
This project provides a convenient way to automatically perform a static build using a container. The result is a self-contained binary without dependencies, that can be copied across hosts.
-
Install
buildah
as explained here; -
Both the build and deploy host require the special device
/dev/fuse
; there are a few ways to obtain it:
- install
fuse2
orfuse3
using the package manager of your choice (dnf, apt, pacman, etc): the install script will usually create the device automatically; or - manually create the device with the command
mknod /dev/fuse -m 0666 c 10 229
(see this code)
-
Clone this repository, and switch to the top-level folder containing the file "
Containerfile.static.ubuntu
"; -
Launch the build with the command (note the single dot
.
at the end):
buildah bud -v $PWD:/build/fuse-overlayfs -t fuse-overlayfs -f ./Containerfile.static.ubuntu .
- Copy the resulting binary to your host:
sudo cp fuse-overlayfs /usr/bin/