图源:陌芋Marginal 🎆🎇🎆 108115520
为什么使用Flatpak?
- 问题:已经有了
apt
、dnf
等这种系统级的包管理器,为什么还要使用Flatpak?
- Flatpak给软件提供相对独立的运行环境(沙箱),并提供权限控制功能,避免软件破坏或任意修改系统;
- Flatpak很大程度上解决了软件的兼容性问题,让“新系统跑旧软件”或“旧系统跑新软件”成为可能;因此Flatpak可以在非滚动更新的发行版上安装 比系统源内版本更高的软件;
- Flatpak支持诸多发行版,在不同的发行版上能够获得几乎相同的软件使用体验;
- Flatpak允许同一个软件的不同版本在系统内共存;
- Flatpak允许非root用户在单用户作用域内安装软件;
- 问题:我在用Snap或者AppImage,它们和Flatpak有什么区别嘛?
- Flatpak性能中等,略优于Snap,略差于AppImage;
- Flatpak、AppImage不需要服务(Service),而Snap需要Snapd;
- Flatpak、Snap提供权限控制功能,而AppImage不提供;
- Flatpak、Snap统一提供所有软件包的更新,而AppImage需要打包者自行适配应用内更新或利用第三方工具更新;
- Flatpak、Snap在发行版的预装情况方面有区别:
- Flatpak预装在这些发行版中:
- Fedora (Workstation/Silverblue/Kinoite)
- Manjaro
- Endless OS
- Linux Mint
- Rocky Linux (GNOME)
- AlmaLinux (GNOME)
- CentOS (GNOME)
- EuroLinux (GNOME)
- Pop!_OS
- elementary OS
- Clear Linux (Desktop)
- PureOS
- Zorin OS
- MX Linux
- KDE neon
- ……
- 而Snap预装在这些发行版中:
- Ubuntu系列 (Ubuntu Desktop, Ubuntu Server, KUbuntu, XUbuntu……)
- KDE neon
- Manjaro
- Solus
- Zorin OS
- ……
- Flatpak和Snap均得到了两个软件中心(GNOME Software Center、KDE Plasma Discover)的支持,而Appimage需要使用第三方软件中心(如prateekmedia/appimagepool、app-outlet/app-outlet(同样支持Flatpak))