4 ms·
I often see Flatpak and Snappy compared, but is there a comparison between them, Nix, Guix, and even GoboLinux?
by oDot 10y ago
I often see Flatpak and Snappy compared, but is there a comparison between them, Nix, Guix, and even GoboLinux?
- espadrine 10y agoFor starters, nix and guix have the same security model, and it is remarkably similar to the old Unix security model. You can put your installed apps either in root-owned or in user-owned repository, so that might be an improvement over root-only package systems. (Nix also experiments with containers, but it's not perfectly isolated yet, and I believe it is targeted at docker-style management, not GUI apps.) They don't have the same goals as Flatpak (aka xdg-app) / snap / AppImage. Those are targeted at GUI apps, with sandboxing guarantees (except for AppImage), and ease of installation (read: you don't have separate instructions for each Linux distribution). Flatpak focuses on granular control through permission prompts à la Web apps. Snap focuses on automatic transactional updates. Sandbox-wise, they both use cgroups and namespaces. AppImage doesn't: it is simply a format to produce cross-distribution standalone executables. (Note that snap doesn't just target GUI apps, unlike Flatpak / AppImage. It also targets OS- and kernel-level packages.)
- alexlarsson 10y agoFlatpak also has atomic transactional updates (and automatic deduplication similar to nix) via ostree. Also, Snap doesn't use namespaces, they install each app in a separate prefix which the app finds via various environment variables. Then it uses apparmour to make the /usr, etc unreadable to the app.
- oDot 10y agoThank you both for answering. One question I have is about "targeting GUI apps". Why wouldn't developers be able to distribute non-GUI apps using Flatpak and AppImage?