0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

上海晶珩电子科技有限公司 2025-03-25 09:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

导语

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

8ccd1592-0917-11f0-9434-92fbcf53809c.jpg

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个“小目标”的下载佳绩,看来是越来越受欢迎了。

8d240d5c-0917-11f0-9434-92fbcf53809c.png

Snap 又是什么

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

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

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

Flatpak vs Ubuntu Snap

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

8d376848-0917-11f0-9434-92fbcf53809c.png

不能互相取代

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

- 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,欢迎在评论区分享您的选择理由与实践经验。

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

    关注

    88

    文章

    11628

    浏览量

    218009
  • 开源
    +关注

    关注

    3

    文章

    4037

    浏览量

    45578
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109728
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电机驱动EMC整改:传统VS智能,性价比之争

    电机驱动EMC整改:传统VS智能,性价比之争|深圳南柯电子
    的头像 发表于 10-21 10:13 303次阅读

    如何在树莓派上安装Ubuntu MATE ?

    如果你对树莓派操作系统感到厌倦,又对庞大的Ubuntu环境不太感兴趣,那么UbuntuMATE或许值得一试,它适合桌面使用。UbuntuMATE基于Ubuntu,但使用的是更轻量级的MATE桌面环境
    的头像 发表于 08-12 18:56 2963次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装<b class='flag-5'>Ubuntu</b> MATE ?

    如何在树莓派上设置并使用VNC?远程访问完整指南!

    为什么要在树莓派上使用VNC?使用VNC与树莓派的主要优势在于其提供的灵活性。我们可以在“无头模式”(无物理显示器)下运行树莓派,同时仍能完全访问其图形用户界面(GUI)。这减少了对额
    的头像 发表于 07-26 20:42 5071次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>设置并使用VNC?远程访问完整指南!

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言更合适呢?Python因其简洁性、丰富的库和资源而被
    的头像 发表于 07-24 15:32 649次阅读
    C++ 与 Python:<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>哪种语言更优?

    如何在树莓派上安装并运行 Arduino 集成开发环境!

    ,我们将介绍如何在树莓派上安装并运行ArduinoIDE。所需物品要在树莓派上运行ArduinoIDE,你需要以下组件:配备适当电源的树莓
    的头像 发表于 07-01 17:41 4055次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装并运行 Arduino 集成开发环境!

    从初学到进阶:树莓派上最适合你的代码编辑器推荐!

    安装树莓派操作系统后,你就可以使用Python、Scratch、Java、C/C++等受Linux支持的多种编程语言进行编程了。其中,Python是树莓派上最受欢迎的编程语言。在
    的头像 发表于 05-15 16:20 796次阅读
    从初学到进阶:<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>最适合你的代码编辑器推荐!

    深度揭秘:Ubuntu如何为树莓派打造安全堡垒,不看后悔!

    引言在物联网和嵌入式开发日益普及的今天,树莓派作为一款广受欢迎的开发板,被广泛应用于各种项目和应用中。对于树莓派开发者来说,选择一个安全可靠的操作系统至关重要。Ubuntu作为一款知名的Lin
    的头像 发表于 04-19 08:32 836次阅读
    深度揭秘:<b class='flag-5'>Ubuntu</b>如何为<b class='flag-5'>树莓</b>派打造安全堡垒,不看后悔!

    告别复杂的终极指南:如何在树莓派上安装 Manjaro:2024

    如果你想在RaspberryPi上体验ArchLinux,Manjaro可能是你的最佳选择。它基于Arch,但被打包成一个传统的Linux发行版,支持多种桌面环境和架构。让我们来学习如何在RaspberryPi上安装它。什么是Linux
    的头像 发表于 03-25 09:39 1115次阅读
    告别复杂的终极指南:如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装 Manjaro:2024

    树莓派+Ubuntu:工业界的“绝配”如何掀起智能风暴!

    当“小树莓”邂逅“乌布大侠”在科技江湖里,有些组合天生就是一对,比如花生酱和果冻,汤姆和杰瑞,还有我们的树莓派和Ubuntu!想象一下,一个只有信用卡大小的树莓派,搭配上灵活强大的
    的头像 发表于 03-25 09:25 675次阅读
    <b class='flag-5'>树莓</b>派+<b class='flag-5'>Ubuntu</b>:工业界的“绝配”如何掀起智能风暴!

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

    导语“上期揭秘的Snap跨平台‘秘密武器’,这次要让树莓派变身开发主力机!”当树莓派遇上UbuntuSnap,我们曾解锁了“一次打包,处处运行”的跨设备魔法。但你可能不知道——
    的头像 发表于 03-25 09:22 651次阅读
    <b class='flag-5'>树莓</b>派生产力革命!<b class='flag-5'>Snap</b>版PyCharm一键安装,告别安装过程中的依赖麻烦

    树莓派上设置 DeepSeek R1:2025 年离线人工智能的未来

    概述《在树莓派上设置DeepSeekR1:2025年离线人工智能的未来》是一份前瞻性技术指南,聚焦中国AI初创公司DeepSeek于2023年底推出的开源模型DeepSeekR1。该模
    的头像 发表于 03-25 09:20 1086次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>设置 DeepSeek R1:2025 年离线人工智能的未来

    人脸识别指南:如何在树莓派上安装和设置 Dlib

    学习如何在树莓派上安装Dlib并配置人脸识别功能,为您的AI项目奠定基础。在树莓派上安装Dlib的详细步骤要为树莓派安装Dlib并确保人脸识
    的头像 发表于 03-24 17:31 1261次阅读
    人脸识别指南:如何在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装和设置 Dlib

    干货来喽!实用树莓Linux编译指南

    不友好,有没有好的解决办法? 今天来分享一下我的私藏干货——树莓Linux编译。编译好之后,开发板只需插到树莓派上连接电脑就可以直接用了,极其方便。 本文以
    的头像 发表于 12-18 16:31 842次阅读
    干货来喽!实用<b class='flag-5'>树莓</b>派<b class='flag-5'>Linux</b>编译指南

    实用树莓Linux编译指南,打工人必备!

    不友好,有没有好的解决办法? 今天来分享一下我的私藏干货——树莓Linux编译。编译好之后,开发板只需插到树莓派上连接电脑就可以直接用了,极其方便。 本文以
    的头像 发表于 12-17 16:19 1996次阅读
    实用<b class='flag-5'>树莓</b>派<b class='flag-5'>Linux</b>编译指南,打工人必备!

    Ubuntu系统的优缺点分析 Ubuntu系统与Windows的比较

    Ubuntu是完全开源的,用户可以免费下载和使用,这对于预算有限的用户来说是一个巨大的优势。 社区支持 :Ubuntu有一个庞大的社区,用户可以从中获得帮助和支持,这对于解决技术
    的头像 发表于 12-12 14:31 5415次阅读