FUNIONFS(8)

πŸ“¦ version 0.4.3, in fedora 43, fedora 44

πŸ¦‹ NAME πŸ¦‹

funionfs β€” user-space directory concatenation. That's it, that's the vibe, and it's from the FUNIONFS(8) manual page, bestie. 🫢


🌸 SYNOPSIS 🌸

funionfs upper_dir mountpoint [ option ] ...

✨ OPTIONS ✨

  • -o opt,[opt...] β€” mount options, the classic
  • -h, --help β€” print help, aka the "what does this do again" button πŸ™ˆ
  • -V, --version β€” print version, for when you need receipts

πŸ’– Mount options include:

  • funionfs_debug β€” print some debugging information, slay for when things are acting up
  • dirs=LIST β€” a colon separated list of directories πŸ‘‘
    • /branch1=rw β€” a directory in a read-write mode
    • /branch1 β€” if no permission is specified, the branch is in a read-write mode
    • /branch2=ro β€” a directory in a read-only mode
  • copyupuid=N β€” uid of the copied-up files (no default)
  • copyupgid=N β€” gid of the copied-up files (no default)
  • copyupmode=N β€” mode of the copied-up files (no default)
  • del_string=N β€” string to mark a deleted file (default: _DELETED~)
  • delete=TYPE β€” specifies how funionfs deletes and renames
    • all (default) β€” delete all objects in read-write branch (default) and add a whiteout file if objects exists in read-only branches.
    • whiteout β€” only add a whiteout file in upper (rw) branch or delete file in upper branch.
  • copyup=TYPE β€” specifies how to manage attributes
    • preserve β€” preserve uid, gid and mode of object (default)
    • currentuser β€” the object owns to the user doing the operation
    • mounter β€” the object owns to the mounter
⚠️ Heads up bestie: there is no implementation of -o delete and -o copyup for now. Not me warning you before you go looking for a feature that isn't there 😭

You could use the mount command instead πŸŽ€ :

mount -t fuse funionfs#/upper_dir mountpoint [ options ]

If you want to name all directories in -o dirs=, then pass "none" as upper_dir. iykyk


🫢 DESCRIPTION 🫢

funionfs concatenates directories mentioned in options (and upper_dir) to mountpoint. Also, although some (but not all) of the directories are read-only, you still can write in resulting mounted directory. main character energy honestly

For example, if you have files a/a and b/b and mount mountpoint r with -o dirs=a=ro:b=ro:w=rw, then you will see files r/a and r/b. You will be able to write to them, and original files will remain intact (changes will go to w). πŸ¦‹

Note that it is impossible to have file with name ending by del_string value, if you create r/a_DELETED~ in mentioned example, it will dissapear together with a. literally gone, no cap πŸ’€


πŸ‘€ SEE ALSO πŸ‘€

The source.. ✨


πŸ’€ BUGS πŸ’€

You cannot mount an overlay on / (the program that list the content of / will hang). This is probably due to a loop call of the fuse driver. There is no known solution for now. fr fr do NOT try this one 😭

Probably minor (or major) mistakes in not-so-frequent cases.

Not enough tested. πŸ™ˆ


Okay that's the whole page bestie, you're officially funionfs-literate, periodt. πŸ’…

This cutie right here is from FUNIONFS(8), dated 15 June 2006 β€” that's the source, the version tag, and the date all in one, so you know exactly what era of Unix you're getting into. πŸŽ€ ✨ πŸ¦‹

πŸ“¦ where this page comes from