Flatpak vs Ubuntu Snap:树莓派上Linux开源打包技术的路线之争!

描述

导语

大家好,前两天我们介绍了Ubuntu Snap,有网友提出这个不太好用,推荐了Flatpak。那么我们下面就来看看Flatpak和Ubuntu Snap有什么区别,谁更好用?

树莓派

Flatpak 发展历程

 

Flatpak由Fedora社区主导,强调跨发行版兼容性和沙盒隔离,允许开发者构建独立于系统库的应用程序(如LibreOffice、GIMP)。其依赖管理采用分层共享机制(如Freedesktop Runtime),减少冗余存储。他的发展历史悠久,并且已经获得了众多软件的支持:

- 2007 年 8 月:Alexander Larsson 推出了他的首个应用程序捆绑框架 Glick。

- 2011 年 11 月:发布 Glick 2,这是对第一代 Glick 框架的现代化升级版本。

- 2012 年 7 月:在 GUADEC 大会上举行了“GNOME OS”会议,其中包含了对新的应用程序捆绑格式的初步规划。

- 2012 年 9 月:Alexander Larsson 推出了实验性的“bundler”框架。

- 2013 年 1 月:在 GNOME 开发者体验黑客节上讨论了“Linux Apps”提案,该活动在布鲁塞尔举行。

- 2014 年 12 月:开始着手开发 xdg-app,这后来演变成了 Flatpak。

- 2015 年 3 月:发布了 xdg-app 0.1 版本,这是 Flatpak 的最初版本。

- 2015 年 12 月:GNOME 的“Software”软件获得了安装 xdg-app 应用程序的能力。

- 2016 年 5 月:xdg-app 更名为 Flatpak,并发布了 0.6.0 版本;随附的新闻稿中包含了来自红帽、Endless Computers 和 Collabora 的支持声明。

- 2016 年 6 月:开始了桌面门户安全框架的工作。

- 2016 年 6 月:LibreOffice 成为第一个采用 Flatpak 在 Linux 上发布的大型应用程序。

- 2016 年 7 月:发布了 GTK+ 3.21.4,其中包含了对门户框架的初始支持。

- 2016 年 8 月:发布了 Endless OS 3.0,这是第一个默认使用 Flatpak 的公开可用操作系统。同时,Apertis IVI 采用 Flatpak 的消息也公之于众。

- 2016 年 11 月:ClearLinux 宣布采用 Flatpak。

- 2016 年 12 月:发布了 Flatpak 0.8.0,这是第一个具有长期支持的稳定系列的起点。

- 2017 年 5 月:Flathub 主机服务最初低调上线。

- 2017 年 5 月:发布了 KDE Plasma 5.10,其中包含了对门户的初始支持。

- 2017 年 10 月:发布了 Flatpak 0.10.0,这标志着第二个受支持的稳定发布系列的开始。

- 2017 年 10 月:发布了 KDE Plasma 5.11,“Discover”获得了安装 Flatpak 应用程序的能力。

- 2017 年 10 月:GIMP 采用 Flatpak 在 Linux 上发布。

- 2017 年 11 月:发布了 Linux Mint 18.3,其中包含了开箱即用的 Flatpak 集成。

- 2018 年 8 月:发布了 Flatpak 1.0,这是新稳定系列中的首次发布,并具有重大新功能;Flathub 测试期结束;发布了 Freedesktop 运行时 18.08,并采用了新的支持周期策略。

- 2018 年 9 月:KDE 推出了 KDE 测试应用程序 Flatpak 存储库。

- 2019 年 12 月:发布了 elementary OS 5.1 Hera,其中包含了开箱即用的 Flatpak 集成。

- 2020 年 4 月:Mozilla 采用 Flatpak 在 Linux 上发布 Firefox。

- 2020 年 4 月:System76 发布了 Pop!_OS 20.04,其中包含了开箱即用的 Flatpak 集成。

- 2021 年 10 月:1Password 采用 Flatpak 在 Linux 上发布。

- 2022 年 2 月:Valve 推出了 Steam Deck,这是一款手持式电子游戏机,具有开箱即用的 Flatpak 和 Flathub 集成。

- 2022 年 2 月:OBS Studio 采用 Flatpak 在 Linux 上发布。

- 2022 年 5 月:发布了红帽企业 Linux 工作站 9,其中包含了开箱即用的 Flatpak 集成。

- 2022 年 10 月:Flathub 推出了验证状态。

- 2023 年 4 月:Purism 推出了 Flatpak 和 PureOS Flatpak 存储库。

- 2023 年 4 月:Valve 为流行的 Steam 应用采用了门户。

- 2023 年 5 月:Flathub 提供了超过 2000 个应用程序,并庆祝了 10 亿次总下载量。

- 2023 年 10 月:Discord 采用 Flatpak 在 Linux 上发布。

值得庆幸的是2024年,他也获得了20个“小目标”的下载佳绩,看来是越来越受欢迎了。

树莓派

Snap 又是什么

Snap是Canonical为Ubuntu设计的强制沙盒化打包方案,默认绑定Ubuntu软件商店,依赖单一运行时,支持服务端应用(如Kubernetes、MySQL),由于Ubuntu的强推,也有不少拥护者。我们在之前的文章中有过介绍,大家可以自行查阅。

Snap Store开发者工具图谱:从全栈到云原生,一张图解锁Linux开发新姿势!

树莓派生产力革命!Snap版PyCharm一键安装,告别安装过程中的依赖麻烦

Flatpak vs Ubuntu Snap

我们先来树莓派官方论坛里面关于Flatpak和Ubuntu Snap的讨论

树莓派

不能互相取代

由于两个商店的软件不能满足他的所有需求,所以采用了混合安装的方式:

- Debian稳定版仓库软件版本过旧(如LibreOffice 6.1.5)

- 通过Backports升级失败(依赖冲突)

- 最终选择:

  - Flatpak安装LibreOffice 7.1.0.3(Flathub源)

  - Snap安装Chromium 89、Telegram 2.5.8和Snap商店

可见目前两个市场势均力敌,并不像Google Play和苹果App Store那样一家独大。

各自槽点不少

为了推广各自的生态,这两个市场也存在一些槽点:

- Snap的"隐形依赖"问题:

  - 用户实际安装3个应用,但neofetch显示10个snap包

  - 原因:Snap强制捆绑基础运行时(core/core18/core20等)

  - 吐槽:"Snap商店居然自带半个操作系统!"

- Flatpak的桌面集成缺陷:

  - Snap应用自动生成菜单图标

  - Flatpak版LibreOffice需手动通过菜单编辑器添加启动项

  - 用户困惑:"为什么Flatpak不像Snap那样自动注册?"

- 版本更新策略对比:

  - Snap默认自动更新(用户未提及关闭方法)

  - Flatpak需手动执行flatpak update

  - 用户选择:接受Flatpak的"可控更新",但担心Snap频繁写入SD卡

最后的结论

“两者都是Debian仓库的补充,但都无法完全替代传统包管理。我同时使用它们,只是因为各自的应用生态不完整——就像用瑞士军刀和电钻一起修家具,虽然别扭,但能凑合。”------craigevil

新的继任者已来

就在Flatpak和Snap为“谁更正统”争得面红耳赤时,一位身披斗篷的“流浪剑客”AppImage斜刺里杀出,撂下一句暴击:“你们搞什么运行时、沙盒、自动更新?真正的自由,是连安装都不需要!”

AppImage的“三无主义”哲学

- 无安装:双击即运行,扔进U盘就能带着走,连/usr目录都不屑一顾

- 无依赖:每个应用自带完整“生存包”(连libc都塞进去),彻底告别“依赖地狱”

- 无后台:拒绝snapd、flatpak-system-helper等守护进程,用完不留一片云彩

我们之前介绍过的Cherry Studio大模型调用工具也是用AppImage打包的,主打一个好用。

 

结语:开源打包的未来是否需要「统一标准」?

Snap强制捆绑运行时是否违背“轻量化”初衷?Flatpak的菜单集成缺陷是技术限制还是设计取舍?树莓派用户应如何平衡软件新鲜度与存储卡寿命?或者你更中意AppImage,欢迎在评论区分享您的选择理由与实践经验。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分