Skip to main content
Grammar fixes.
Source Link
Paulo Tomé
  • 3.9k
  • 6
  • 28
  • 40

On each of the specific points:

  • Root access: If it uses FUSE, it doesn't need root, if it doesn't use FUSE, it needs root unless you do special setup with either capabilities (potentially dangerous) or namespaces.

  • Mounting on /: I assume you mean as the root filesystem on startup, in which case any of them that run in kernel mode should in theory work, although some are more reliable than others. Most LiveCDs do this, so that's where I would suggest looking for information on this particular point.

  • Writing to the underlying branches: This depends on what you mean. If you mean propagating writes to the mounted view down to the lower branches, I have no idea. If you mean writing to the lower branches out-of-band from the main filesystem itself, technically all of the big three do, but they all require a remount to ensure that the change is propagated to the mounted view.

  • Configurable write policies: I don't know specifically about this, but I think the big 3 (UnionFS, AUFS, and OverlayFS) do not support it.

  • File-dependent priority order: I think this one kind of falls under the third sub-question as well, and like there, I don't know of any that specifically support it.

As to some more specifics on each of them:

  • UnionFS: As far as I can tell, this was the original stackable union filesystem implementation for Linux. It'sIt's been around for ages, and is used by a lot of LinuxLinuxes LiveCDs. ItIt runs in kernel mode, and requires patches to the upstream kernel to be used.

  • AUFS: Originated as a fork of UnionFS, and then kind of became its own thing. This one attempted to get merged mainline and was rejected on the grounds of code quality. It's replaced UnionFS in some distros'distributions LiveCDs, mostly Debian and Gentoo derivatives. LikeLike UnionFS, it runs in kernel mode and requires patches to the upstream kernel.

  • OverlayFS: I don't know much about the original development of this one, other than it being supported on a couple of BSD derivatives too. It's notably the upstream overlay/union filesystem implementation in the Linux kernel. ItIt also runs in kernel mode.

  • UnionFS-FUSE: ThisThis somewhat confusingly named project actually has nothing to do with UnionFS other than providing essentially the same functionality. It's the most widely used FUSE implementation of a union filesystem, but that's about all I know about it.

  • mhddfs: This one is an odd outlier that is more akin to a file granularity RAID-0 implementation than a conventional union filesystem. It supports balancing files across multiple backing directories based on space usage. It's also FUSE based.

A couple of specific things to note that aren't specific to a particular implementation:

  • All the in-kernel options have limitations on what the backing filesystems can be, most notably not working with networked filesystems or BTRFS.

  • All of the FUSE implementations have issues when used as a root filesystem. ThisThis isn't specific to union filesystem implementations, but is more an issue with FUSE in general.

On each of the specific points:

  • Root access: If it uses FUSE, it doesn't need root, if it doesn't use FUSE, it needs root unless you do special setup with either capabilities (potentially dangerous) or namespaces.

  • Mounting on /: I assume you mean as the root filesystem on startup, in which case any of them that run in kernel mode should in theory work, although some are more reliable than others. Most LiveCDs do this, so that's where I would suggest looking for information on this particular point.

  • Writing to the underlying branches: This depends on what you mean. If you mean propagating writes to the mounted view down to the lower branches, I have no idea. If you mean writing to the lower branches out-of-band from the main filesystem itself, technically all of the big three do, but they all require a remount to ensure that the change is propagated to the mounted view.

  • Configurable write policies: I don't know specifically about this, but I think the big 3 (UnionFS, AUFS, and OverlayFS) do not support it.

  • File-dependent priority order: I think this one kind of falls under the third sub-question as well, and like there, I don't know of any that specifically support it.

As to some more specifics on each of them:

  • UnionFS: As far as I can tell, this was the original stackable union filesystem implementation for Linux. It's been around for ages, and is used by a lot of Linux LiveCDs. It runs in kernel mode, and requires patches to the upstream kernel to be used.

  • AUFS: Originated as a fork of UnionFS, and then kind of became its own thing. This one attempted to get merged mainline and was rejected on the grounds of code quality. It's replaced UnionFS in some distros' LiveCDs, mostly Debian and Gentoo derivatives. Like UnionFS, it runs in kernel mode and requires patches to the upstream kernel.

  • OverlayFS: I don't know much about the original development of this one, other than it being supported on a couple of BSD derivatives too. It's notably the upstream overlay/union filesystem implementation in the Linux kernel. It also runs in kernel mode.

  • UnionFS-FUSE: This somewhat confusingly named project actually has nothing to do with UnionFS other than providing essentially the same functionality. It's the most widely used FUSE implementation of a union filesystem, but that's about all I know about it.

  • mhddfs: This one is an odd outlier that is more akin to a file granularity RAID-0 implementation than a conventional union filesystem. It supports balancing files across multiple backing directories based on space usage. It's also FUSE based.

A couple of specific things to note that aren't specific to a particular implementation:

  • All the in-kernel options have limitations on what the backing filesystems can be, most notably not working with networked filesystems or BTRFS.

  • All of the FUSE implementations have issues when used as a root filesystem. This isn't specific to union filesystem implementations, but is more an issue with FUSE in general.

On each of the specific points:

  • Root access: If it uses FUSE, it doesn't need root, if it doesn't use FUSE, it needs root unless you do special setup with either capabilities (potentially dangerous) or namespaces.

  • Mounting on /: I assume you mean as the root filesystem on startup, in which case any of them that run in kernel mode should in theory work, although some are more reliable than others. Most LiveCDs do this, so that's where I would suggest looking for information on this particular point.

  • Writing to the underlying branches: This depends on what you mean. If you mean propagating writes to the mounted view down to the lower branches, I have no idea. If you mean writing to the lower branches out-of-band from the main filesystem itself, technically all the big three do, but they all require a remount to ensure that the change is propagated to the mounted view.

  • Configurable write policies: I don't know specifically about this, but I think the big 3 (UnionFS, AUFS, and OverlayFS) do not support it.

  • File-dependent priority order: I think this one kind of falls under the third sub-question as well, and like there, I don't know of any that specifically support it.

As to some more specifics on each of them:

  • UnionFS: As far as I can tell, this was the original stackable union filesystem implementation for Linux. It's been around for ages, and is used by a lot of Linuxes LiveCDs. It runs in kernel mode, and requires patches to the upstream kernel to be used.

  • AUFS: Originated as a fork of UnionFS, and then kind of became its own thing. This one attempted to get merged mainline and was rejected on the grounds of code quality. It's replaced UnionFS in some distributions LiveCDs, mostly Debian and Gentoo derivatives. Like UnionFS, it runs in kernel mode and requires patches to the upstream kernel.

  • OverlayFS: I don't know much about the original development of this one, other than it being supported on a couple of BSD derivatives too. It's notably the upstream overlay/union filesystem implementation in the Linux kernel. It also runs in kernel mode.

  • UnionFS-FUSE: This somewhat confusingly named project actually has nothing to do with UnionFS other than providing essentially the same functionality. It's the most widely used FUSE implementation of a union filesystem, but that's about all I know about it.

  • mhddfs: This one is an odd outlier that is more akin to a file granularity RAID-0 implementation than a conventional union filesystem. It supports balancing files across multiple backing directories based on space usage. It's also FUSE based.

A couple of specific things to note that aren't specific to a particular implementation:

  • All the in-kernel options have limitations on what the backing filesystems can be, most notably not working with networked filesystems or BTRFS.

  • All the FUSE implementations have issues when used as a root filesystem. This isn't specific to union filesystem implementations, but is more an issue with FUSE in general.

Spelling corrections
Source Link
Toby Speight
  • 9.4k
  • 3
  • 32
  • 54

On each of the specific points:

  • Root access: If it uses FUSE, it doesn't need root, if it doesn't use FUSE, it needs root unless you do special setup with either capabilities (potentially dangerous) or namespaces.

  • Mounting on /: I assume you mean as the root filesystem on startup, in which case any of them that run in kernel mode should in theory work, although some are more reliable than others. Most LiveCD'sLiveCDs do this, so that's where I would suggest looking for information on this particular point.

  • Writing to the underlying branches: This depends on what you mean. If you mean propagating writes to the mounted view down to the lower branches, I have no idea. If you mean writing to the lower branches out-of-band from the main filesystem itself, technically all of the big three do, but they all require a remount to ensure that the change is propagated to the mounted view.

  • Configurable write policies: I don't know specifically about this, but I think the big 3 (UnionFS, AUFS, and OverlayFS) do not support it.

  • File-dependent priority order: I think this one kind of falls under the third sub-question as well, and like there, I don't know of any that specifically support it.

As to some more specifics on each of them:

  • UnionFS: As far as I can tell, this was the original stackable union filesystem implementation for Linux. It's been around for ages, and is used by a lot of Linux LiveCDs. It runs in kernel mode, and requires patches to the upstream kernel to be used.

  • AUFS: Originated as a fork of UnionFS, and then kind of became it'sits own thing. This one attempted to get merged mainline and was rejected on the grounds of code quality. It's replaced UnionFS in some distro's LiveCD'sdistros' LiveCDs, mostly Debian and Gentoo derivatives. Like UnionFS, it runs in kernel mode and requires patches to the upstream kernel.

  • OverlayFS: I don't know much about the original development of this one, other than it being supported on a couple of BSD derivatives too. It's notably the upstream overlay/union filesystem implementation in the Linux kernel. It also runs in kernel mode.

  • UnionFS-FUSE: This somewhat confusingly named project actually has nothing to do with UnionFS other than providing essentially the same functionality. It's the most widely used FUSE implementation of a union filesystem, but that's about all I know about it.

  • mhddfs: This one is an odd outlier that is more akin to a file granularity raid0RAID-0 implementation than a conventional union filesystem. It supports balancing files across multiple backing directories based on space usage. It's also FUSE based.

A couple of specific things to note that aren't specific to a particular implementation:

  • All the in-kernel options have limitations on what the backing filesystems can be, most notably not working with networked filesystems or BTRFS.

  • All of the FUSE implementations have issues when used as a root filesystem. This isn't specific to union filesystem implementations, but is more an issue with FUSE in general.

On each of the specific points:

  • Root access: If it uses FUSE, it doesn't need root, if it doesn't use FUSE, it needs root unless you do special setup with either capabilities (potentially dangerous) or namespaces.

  • Mounting on /: I assume you mean as the root filesystem on startup, in which case any of them that run in kernel mode should in theory work, although some are more reliable than others. Most LiveCD's do this, so that's where I would suggest looking for information on this particular point.

  • Writing to the underlying branches: This depends on what you mean. If you mean propagating writes to the mounted view down to the lower branches, I have no idea. If you mean writing to the lower branches out-of-band from the main filesystem itself, technically all of the big three do, but they all require a remount to ensure that the change is propagated to the mounted view.

  • Configurable write policies: I don't know specifically about this, but I think the big 3 (UnionFS, AUFS, and OverlayFS) do not support it.

  • File-dependent priority order: I think this one kind of falls under the third sub-question as well, and like there, I don't know of any that specifically support it.

As to some more specifics on each of them:

  • UnionFS: As far as I can tell, this was the original stackable union filesystem implementation for Linux. It's been around for ages, and is used by a lot of Linux LiveCDs. It runs in kernel mode, and requires patches to the upstream kernel to be used.

  • AUFS: Originated as a fork of UnionFS, and then kind of became it's own thing. This one attempted to get merged mainline and was rejected on the grounds of code quality. It's replaced UnionFS in some distro's LiveCD's, mostly Debian and Gentoo derivatives. Like UnionFS, it runs in kernel mode and requires patches to the upstream kernel.

  • OverlayFS: I don't know much about the original development of this one, other than it being supported on a couple of BSD derivatives too. It's notably the upstream overlay/union filesystem implementation in the Linux kernel. It also runs in kernel mode.

  • UnionFS-FUSE: This somewhat confusingly named project actually has nothing to do with UnionFS other than providing essentially the same functionality. It's the most widely used FUSE implementation of a union filesystem, but that's about all I know about it.

  • mhddfs: This one is an odd outlier that is more akin to a file granularity raid0 implementation than a conventional union filesystem. It supports balancing files across multiple backing directories based on space usage. It's also FUSE based.

A couple of specific things to note that aren't specific to a particular implementation:

  • All the in-kernel options have limitations on what the backing filesystems can be, most notably not working with networked filesystems or BTRFS.

  • All of the FUSE implementations have issues when used as a root filesystem. This isn't specific to union filesystem implementations, but is more an issue with FUSE in general.

On each of the specific points:

  • Root access: If it uses FUSE, it doesn't need root, if it doesn't use FUSE, it needs root unless you do special setup with either capabilities (potentially dangerous) or namespaces.

  • Mounting on /: I assume you mean as the root filesystem on startup, in which case any of them that run in kernel mode should in theory work, although some are more reliable than others. Most LiveCDs do this, so that's where I would suggest looking for information on this particular point.

  • Writing to the underlying branches: This depends on what you mean. If you mean propagating writes to the mounted view down to the lower branches, I have no idea. If you mean writing to the lower branches out-of-band from the main filesystem itself, technically all of the big three do, but they all require a remount to ensure that the change is propagated to the mounted view.

  • Configurable write policies: I don't know specifically about this, but I think the big 3 (UnionFS, AUFS, and OverlayFS) do not support it.

  • File-dependent priority order: I think this one kind of falls under the third sub-question as well, and like there, I don't know of any that specifically support it.

As to some more specifics on each of them:

  • UnionFS: As far as I can tell, this was the original stackable union filesystem implementation for Linux. It's been around for ages, and is used by a lot of Linux LiveCDs. It runs in kernel mode, and requires patches to the upstream kernel to be used.

  • AUFS: Originated as a fork of UnionFS, and then kind of became its own thing. This one attempted to get merged mainline and was rejected on the grounds of code quality. It's replaced UnionFS in some distros' LiveCDs, mostly Debian and Gentoo derivatives. Like UnionFS, it runs in kernel mode and requires patches to the upstream kernel.

  • OverlayFS: I don't know much about the original development of this one, other than it being supported on a couple of BSD derivatives too. It's notably the upstream overlay/union filesystem implementation in the Linux kernel. It also runs in kernel mode.

  • UnionFS-FUSE: This somewhat confusingly named project actually has nothing to do with UnionFS other than providing essentially the same functionality. It's the most widely used FUSE implementation of a union filesystem, but that's about all I know about it.

  • mhddfs: This one is an odd outlier that is more akin to a file granularity RAID-0 implementation than a conventional union filesystem. It supports balancing files across multiple backing directories based on space usage. It's also FUSE based.

A couple of specific things to note that aren't specific to a particular implementation:

  • All the in-kernel options have limitations on what the backing filesystems can be, most notably not working with networked filesystems or BTRFS.

  • All of the FUSE implementations have issues when used as a root filesystem. This isn't specific to union filesystem implementations, but is more an issue with FUSE in general.

Fix typos.
Source Link
Austin Hemmelgarn
  • 13.5k
  • 1
  • 30
  • 51

On each of the specific points:

  • Root access: If it uses FUSE, it doesn't need root, if it doesn't use FUSE, it needs root unless you do special setup with either capabilities (potentially dangerous) or namespaces.

  • Mounting on /: I assume you meansmean as the root filesystem on startup, in which case any of them that run in kernel mode should in theory work, although some are more reliable than others. Most LiveCD's do this, so that's where I would suggest looking for information on this particular point.

  • Writing to the underlying branches: This depends on what you mean. If you mean propagating writes to the mounted view down to the lower branches, I have no idea. If you mean writing to the lower branches out-of-band from the main filesystem itself, technically all of the big three do, but they all require a remount to ensure that the change is propagated to the mounted view.

  • Configurable write policies: I don't know specifically about this, but I think the big 3 (UnionFS, AUFS, and OverlayFS) do not support it.

  • File-dependent priority order: I think this one kind of falls under the third sub-question as well, and like there, I don't know of any that specifically support it.

As to some more specifics on each of them:

  • UnionFS: As far as I can tell, this was the original stackable union filesystem implementation for Linux. It's been around for ages, and is used by a lot of Linux LiveCDs. It runs in kernel mode, and requires patches to the upstream kernel to be used.

  • AUFS: Originated as a fork of UnionFS, and then kind of became it's own thing. This one attempted to get merged mainline and was rejected on the grounds of code quality. It's replaced UnionFS in some distro's LiveCD's, mostly Debian and Gentoo derivatives. Like UnionFS<UnionFS, it runs in kernel mode and requires patches to the upstream kernel.

  • OverlayFS: I don't know much about the original development of this one, other than it being supported on a couple of BSD derivatives too. It's notably the upstream overlay/union filesystem implementation in the Linux kernel. It also runs in kernel mode.

  • UnionFS-FUSE: This somewhat confusingly named project actually has nothing to do with UnionFS other than providing essentially the same functionality. It's the most widely used FUSE implementation of a union filesystem, but that's about all I know about it.

  • mhddfs: This one is an odd outlier that is more akin to a file granularity raid0 implementation than a conventional union filesystem. It supports balancing files across multiple backing directories based on space usage. It's also FUSE based.

A couple of specific things to note that aren't specific to a particular implementation:

  • All the in-kernel options have limitations on what the backing filesystems can be, most notably not working with networked filesystems or BTRFS.

  • All of the FUSE implementations have issues when used as a root filesystem. This isn't specific to union filesystem implementations, but is more an issue with FUSE in general.

On each of the specific points:

  • Root access: If it uses FUSE, it doesn't need root, if it doesn't use FUSE, it needs root unless you do special setup with either capabilities (potentially dangerous) or namespaces.

  • Mounting on /: I assume you means as the root filesystem on startup, in which case any of them that run in kernel mode should in theory work, although some are more reliable than others. Most LiveCD's do this, so that's where I would suggest looking for information on this particular point.

  • Writing to the underlying branches: This depends on what you mean. If you mean propagating writes to the mounted view down to the lower branches, I have no idea. If you mean writing to the lower branches out-of-band from the main filesystem itself, technically all of the big three do, but they all require a remount to ensure that the change is propagated to the mounted view.

  • Configurable write policies: I don't know specifically about this, but I think the big 3 (UnionFS, AUFS, and OverlayFS) do not support it.

  • File-dependent priority order: I think this one kind of falls under the third sub-question as well, and like there, I don't know of any that specifically support it.

As to some more specifics on each of them:

  • UnionFS: As far as I can tell, this was the original stackable union filesystem implementation for Linux. It's been around for ages, and is used by a lot of Linux LiveCDs. It runs in kernel mode, and requires patches to the upstream kernel to be used.

  • AUFS: Originated as a fork of UnionFS, and then kind of became it's own thing. This one attempted to get merged mainline and was rejected on the grounds of code quality. It's replaced UnionFS in some distro's LiveCD's, mostly Debian and Gentoo derivatives. Like UnionFS< it runs in kernel mode and requires patches to the upstream kernel.

  • OverlayFS: I don't know much about the original development of this one, other than it being supported on a couple of BSD derivatives too. It's notably the upstream overlay/union filesystem implementation in the Linux kernel. It also runs in kernel mode.

  • UnionFS-FUSE: This somewhat confusingly named project actually has nothing to do with UnionFS other than providing essentially the same functionality. It's the most widely used FUSE implementation of a union filesystem, but that's about all I know about it.

  • mhddfs: This one is an odd outlier that is more akin to a file granularity raid0 implementation than a conventional union filesystem. It supports balancing files across multiple backing directories based on space usage. It's also FUSE based.

A couple of specific things to note that aren't specific to a particular implementation:

  • All the in-kernel options have limitations on what the backing filesystems can be, most notably not working with networked filesystems or BTRFS.

  • All of the FUSE implementations have issues when used as a root filesystem. This isn't specific to union filesystem implementations, but is more an issue with FUSE in general.

On each of the specific points:

  • Root access: If it uses FUSE, it doesn't need root, if it doesn't use FUSE, it needs root unless you do special setup with either capabilities (potentially dangerous) or namespaces.

  • Mounting on /: I assume you mean as the root filesystem on startup, in which case any of them that run in kernel mode should in theory work, although some are more reliable than others. Most LiveCD's do this, so that's where I would suggest looking for information on this particular point.

  • Writing to the underlying branches: This depends on what you mean. If you mean propagating writes to the mounted view down to the lower branches, I have no idea. If you mean writing to the lower branches out-of-band from the main filesystem itself, technically all of the big three do, but they all require a remount to ensure that the change is propagated to the mounted view.

  • Configurable write policies: I don't know specifically about this, but I think the big 3 (UnionFS, AUFS, and OverlayFS) do not support it.

  • File-dependent priority order: I think this one kind of falls under the third sub-question as well, and like there, I don't know of any that specifically support it.

As to some more specifics on each of them:

  • UnionFS: As far as I can tell, this was the original stackable union filesystem implementation for Linux. It's been around for ages, and is used by a lot of Linux LiveCDs. It runs in kernel mode, and requires patches to the upstream kernel to be used.

  • AUFS: Originated as a fork of UnionFS, and then kind of became it's own thing. This one attempted to get merged mainline and was rejected on the grounds of code quality. It's replaced UnionFS in some distro's LiveCD's, mostly Debian and Gentoo derivatives. Like UnionFS, it runs in kernel mode and requires patches to the upstream kernel.

  • OverlayFS: I don't know much about the original development of this one, other than it being supported on a couple of BSD derivatives too. It's notably the upstream overlay/union filesystem implementation in the Linux kernel. It also runs in kernel mode.

  • UnionFS-FUSE: This somewhat confusingly named project actually has nothing to do with UnionFS other than providing essentially the same functionality. It's the most widely used FUSE implementation of a union filesystem, but that's about all I know about it.

  • mhddfs: This one is an odd outlier that is more akin to a file granularity raid0 implementation than a conventional union filesystem. It supports balancing files across multiple backing directories based on space usage. It's also FUSE based.

A couple of specific things to note that aren't specific to a particular implementation:

  • All the in-kernel options have limitations on what the backing filesystems can be, most notably not working with networked filesystems or BTRFS.

  • All of the FUSE implementations have issues when used as a root filesystem. This isn't specific to union filesystem implementations, but is more an issue with FUSE in general.

link each sub-answer with the corresponding sub-question
Source Link
Gilles 'SO- stop being evil'
  • 865.4k
  • 205
  • 1.8k
  • 2.3k
Loading
Source Link
Austin Hemmelgarn
  • 13.5k
  • 1
  • 30
  • 51
Loading