AUFS, or Another Union File System, is a multi-layered union filesystem developed for Linux. It provides an advanced mechanism to merge multiple directories into a single virtual filesystem. Initially created as an improvement over the UnionFS system, AUFS became widely used in container technologies such as Docker, prior to OverlayFS becoming the mainstream choice.
This in-depth glossary entry explores Another Union File System in detail, focusing on its role in modern IT systems, particularly in software development environments, virtual machines, containerization platforms, and Linux distributions.
AUFS stands for Another Union File System. It is a union mount filesystem that allows the contents of multiple directories to appear as a single directory. Unlike standard filesystems, which store files flatly or hierarchically, AUFS combines files and directories from multiple sources.
The core idea is to provide a layered approach, where each layer represents a directory or branch. This layered architecture offers benefits such as copy-on-write functionality, space savings, and efficient file access management.
AUFS was developed by Junjiro Okajima as an improved successor to UnionFS. UnionFS had several performance and reliability issues. Another Union File System addressed these issues by:
AUFS gained popularity in the early stages of containerization technologies, especially in Docker.
Another Union File System works by layering multiple branches (directories) into a single unified mount point. These branches can be read-only or writable. AUFS presents these as a single coherent view.
Example Layers:
Another Union File System maintains metadata about each file, including its location across layers. When a file is modified, AUFS uses copy-on-write: the file is copied from a read-only layer into the writable layer, where changes are made.
AUFS’s architecture is built on three main concepts:
This layered approach allows for dynamic filesystem manipulation, which is particularly useful in containerized environments.
Before Docker switched to OverlayFS, another Union File System was the default storage driver. Its ability to provide COW and layered storage made it ideal for Docker images and containers.
Docker Image Storage Flow with AUFS:
While Another Union File System is still used in legacy Docker setups, it has been mostly replaced due to kernel integration challenges and the rise of OverlayFS.
Feature | AUFS | OverlayFS |
Kernel Support | Out-of-tree, a patch is needed | In-tree since Linux 3.18 |
Performance | Slightly lower | Better in newer kernels |
Complexity | High | Simpler design |
Docker Support | Legacy | Preferred by Docker now |
Whiteouts/Opaques | Supported | Supported |
OverlayFS is now favored for its simplicity and native kernel support, while AUFS is more complex but feature-rich.
AUFS’s union mount capability simplifies testing, container builds, and system recovery.
Another Union File System introduces a performance overhead due to its metadata management and copy-on-write behavior. File reads might traverse multiple layers, and writing to files involves copying entire files to writable branches.
Optimizing performance in AUFS involves:
Another Union File System is considered deprecated in many distributions. Most container runtimes now default to OverlayFS or Btrfs due to better support and maintenance.
Popular Linux distributions such as Ubuntu and Debian have removed AUFS from their kernel packages. Developers are encouraged to migrate to newer alternatives unless AUFS is specifically required.
Another Union File System has played a critical role in the evolution of Linux-based filesystems and container technologies. By offering a flexible and powerful union filesystem mechanism, it enabled advanced storage layering, copy-on-write capabilities, and system-level virtualization.
Despite its deprecation in mainstream distributions, understanding Another Union File System remains valuable for IT professionals dealing with legacy systems, older Docker environments, and specialized virtualization use cases. Its design laid the groundwork for more modern union filesystems like OverlayFS and influenced best practices in container storage management.
AUFS continues to offer insight into the complex relationship between storage abstraction and high-performance computing, particularly in the containerization era.
AUFS stands for Another Union File System.
No, AUFS is not included in the mainline kernel. It requires patching.
Docker now defaults to OverlayFS for storage layering.
Yes, AUFS allows both read-only and writable branches.
It’s a mechanism where files are copied to a writable layer before being modified.
Due to kernel complexity, lack of in-tree support, and better alternatives like OverlayFS.
Rarely. It is mostly used in legacy systems.
Yes, including OverlayFS, Btrfs, and ZFS.