{"slug": "overlayfs", "name": "OverlayFS", "category": "other", "category_name": "Other software", "description": "", "recommenders": 3, "commenters": 6, "warners": 1, "score": 2.275, "rising": -0.98, "first": "2026-01-31", "latest": "2026-06-04", "why": "Nowadays I'd probably use OverlayFS (or just Docker) to see what the changes would be, without ever risking the original FS.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 2, "compare": 0, "warn": 1}, "spark": [0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "Nowadays I'd probably use OverlayFS (or just Docker) to see what the changes would be, without ever risking the original FS.", "kind": "", "icon": true, "domain": "wikipedia.org", "github_repo": null, "official_url": "https://docs.kernel.org/filesystems/overlayfs.html", "pricing": "", "aliases": ["OverlayFS"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 770045696, "item_id": 48127856, "url": "https://news.ycombinator.com/item?id=48127856", "by": "HiPhish", "date": "2026-05-13", "stance": "recommend", "quote": "Have you considered using OverlayFS[1] instead of installing all files into the game directory", "excerpt": "Have you considered using OverlayFS[1] instead of installing all files into the game directory and tracking them with a database? Or maybe what GNU Stow is doing where it installs each package into its own directory and then uses symlinks which it tracks to \"install\" the files into the global file hierarchy? [1] https://en.wikipedia.org/wiki/OverlayFS [2] https://www.gnu.org/software/stow/", "context": "", "use_case": "layered file system for mods", "switched_from": "", "story": "Linux gaming is faster because Windows APIs are becoming Linux kernel features"}, {"id": 758662545, "item_id": 47416409, "url": "https://news.ycombinator.com/item?id=47416409", "by": "torginus", "date": "2026-03-17", "stance": "recommend", "quote": "There's Docker, OverlayFS, FUSE, ZFS or Btrfs snapshots?", "excerpt": "Why do people keep reinventing OS features? There's Docker, OverlayFS, FUSE, ZFS or Btrfs snapshots? Do you not trust your OS to do this correctly, or do you think you can do better? A lot of this stuff existed 5, 10, 15 years ago... Somehow there's been a trend for every effing program to grow and absorb the features and responsibilities of every other program. Actually, I have a brilliant idea, what if we used node", "context": "", "use_case": "OS-level filesystem layering", "switched_from": "", "story": "Why Node.js needs a virtual file system"}, {"id": 749488864, "item_id": 46843054, "url": "https://news.ycombinator.com/item?id=46843054", "by": "TZubiri", "date": "2026-01-31", "stance": "recommend", "quote": "Nowadays I'd probably use OverlayFS (or just Docker) to see what the changes would be, without ever risking the original FS.", "excerpt": "I use --dry-run when I'm coding and I control the code. Otherwise it's not very wise to trust the application on what should be a deputy responsibility. Nowadays I'd probably use OverlayFS (or just Docker) to see what the changes would be, without ever risking the original FS.", "context": "", "use_case": "previewing changes safely", "switched_from": "", "story": "In praise of \u2013dry-run"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 760846754, "item_id": 47552922, "url": "https://news.ycombinator.com/item?id=47552922", "by": "mixedbit", "date": "2026-03-28", "stance": "warn", "quote": "overlayfs specification is quite restrictive regarding how it can be mounted", "excerpt": "I work on a sandboxing tool similarly based on an idea to point the user home dir to a separate location (https://github.com/wrr/drop). While I experimented with using overlayfs to isolate changes to the filesystem and it worked well as a proof-of-concept, overlayfs specification is quite restrictive regarding how it can be mounted to prevent undefined behaviors. I wonder if and how jai managed to address these limit", "context": "", "use_case": "", "switched_from": "", "story": "Don't YOLO your file system"}]}], "who": [{"by": "mfinelli", "context": "Linux gamer writing a mod manager", "url": "https://news.ycombinator.com/item?id=48128473", "date": "2026-05-13"}], "tags": [], "use_cases": ["persistent live image overlay", "game mod file management", "layered file system for mods", "os-level filesystem layering", "previewing changes safely"], "compared": [{"slug": "gnu-stow", "name": "GNU Stow", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "docker", "name": "Docker", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48087887", "title": "Linux gaming is faster because Windows APIs are becoming Linux kernel features", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48360414", "title": "Making Debian or Fedora persistent live images", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47550282", "title": "Don't YOLO your file system", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47413195", "title": "Why Node.js needs a virtual file system", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46840612", "title": "In praise of \u2013dry-run", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {"recommend": 1, "warn": 1}, "2026-04": {}, "2026-05": {"recommend": 1, "neutral": 1}, "2026-06": {"neutral": 1}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 774466209, "item_id": 48404138, "url": "https://news.ycombinator.com/item?id=48404138", "by": "westurner", "date": "2026-06-04", "stance": "neutral", "quote": "OverlayFS was built for Containers, too:", "excerpt": "That used to be easy to do; UnionFS: https://en.wikipedia.org/wiki/UnionFS OverlayFS was built for Containers, too: https://en.wikipedia.org/wiki/OverlayFS LiveOS image/overlay - Fedora Project Wiki: https://fedoraproject.org/wiki/LiveOS_image/overlay LiveOS image - Fedora Project Wiki https://fedoraproject.org/wiki/LiveOS_image#Home_filesystem re: home.img Why does ventoy say that selinux=0 is necessary for a persis", "context": "", "use_case": "persistent live image overlay", "switched_from": "", "story": "Making Debian or Fedora persistent live images"}, {"id": 770055568, "item_id": 48128473, "url": "https://news.ycombinator.com/item?id=48128473", "by": "mfinelli", "date": "2026-05-13", "stance": "neutral", "quote": "Ooh overlayfs is quite interesting.", "excerpt": "Ooh overlayfs is quite interesting. I'll have to take a closer look at that. I imagine it's similar to what MO2 was doing on windows with the virtual filesytem to keep the game directory clean. The stow approach is something that I considered but ultimately rejected for a couple of reasons around handling conflicts of game-installed files as well as how to ultimately handle the symlink lifecycle (eg wrapper to make t", "context": "Linux gamer writing a mod manager", "use_case": "game mod file management", "switched_from": "", "story": "Linux gaming is faster because Windows APIs are becoming Linux kernel features"}, {"id": 770045696, "item_id": 48127856, "url": "https://news.ycombinator.com/item?id=48127856", "by": "HiPhish", "date": "2026-05-13", "stance": "recommend", "quote": "Have you considered using OverlayFS[1] instead of installing all files into the game directory", "excerpt": "Have you considered using OverlayFS[1] instead of installing all files into the game directory and tracking them with a database? Or maybe what GNU Stow is doing where it installs each package into its own directory and then uses symlinks which it tracks to \"install\" the files into the global file hierarchy? [1] https://en.wikipedia.org/wiki/OverlayFS [2] https://www.gnu.org/software/stow/", "context": "", "use_case": "layered file system for mods", "switched_from": "", "story": "Linux gaming is faster because Windows APIs are becoming Linux kernel features"}, {"id": 760846754, "item_id": 47552922, "url": "https://news.ycombinator.com/item?id=47552922", "by": "mixedbit", "date": "2026-03-28", "stance": "warn", "quote": "overlayfs specification is quite restrictive regarding how it can be mounted", "excerpt": "I work on a sandboxing tool similarly based on an idea to point the user home dir to a separate location (https://github.com/wrr/drop). While I experimented with using overlayfs to isolate changes to the filesystem and it worked well as a proof-of-concept, overlayfs specification is quite restrictive regarding how it can be mounted to prevent undefined behaviors. I wonder if and how jai managed to address these limit", "context": "", "use_case": "", "switched_from": "", "story": "Don't YOLO your file system"}, {"id": 758662545, "item_id": 47416409, "url": "https://news.ycombinator.com/item?id=47416409", "by": "torginus", "date": "2026-03-17", "stance": "recommend", "quote": "There's Docker, OverlayFS, FUSE, ZFS or Btrfs snapshots?", "excerpt": "Why do people keep reinventing OS features? There's Docker, OverlayFS, FUSE, ZFS or Btrfs snapshots? Do you not trust your OS to do this correctly, or do you think you can do better? A lot of this stuff existed 5, 10, 15 years ago... Somehow there's been a trend for every effing program to grow and absorb the features and responsibilities of every other program. Actually, I have a brilliant idea, what if we used node", "context": "", "use_case": "OS-level filesystem layering", "switched_from": "", "story": "Why Node.js needs a virtual file system"}, {"id": 749488864, "item_id": 46843054, "url": "https://news.ycombinator.com/item?id=46843054", "by": "TZubiri", "date": "2026-01-31", "stance": "recommend", "quote": "Nowadays I'd probably use OverlayFS (or just Docker) to see what the changes would be, without ever risking the original FS.", "excerpt": "I use --dry-run when I'm coding and I control the code. Otherwise it's not very wise to trust the application on what should be a deputy responsibility. Nowadays I'd probably use OverlayFS (or just Docker) to see what the changes would be, without ever risking the original FS.", "context": "", "use_case": "previewing changes safely", "switched_from": "", "story": "In praise of \u2013dry-run"}]}