Lui*_*ado 169 snap appimage flatpak
我最近从学生那里收到了这个问题,虽然我有很多信息要提供,但我还没有找到可以将人们指向哪里可以阅读更新答案的来源(我发现了很多错误信息和过时的信息)。因此,在通用包装系统的这种演变中,我对诸如 snap、appimage、flatpak 等包装格式的一些问题是:
Kur*_*fle 123
这是 AppImage 与 Snap 与 Flatpak 功能的长表格比较。它来自GitHub 上的AppImage Wiki:
注意,这个比较主要是从 AppImage 的角度来看的,虽然它试图公平地代表每个项目。
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
打包桌面 GUI 应用程序 | ? 是的 | ? 是的 | ? 是的 |
打包终端 CLI 工具 | ? 是的 | ? 是的 | ? 是(如果您编辑路径,则带有 App ID 别名)[ 1 ] |
包服务器进程 | ? 是的 | ? 是的 | ?? 可能但不是主要目标 [ 1 ] |
套餐系统服务 | :x: 没有 | ? 是 [ 1 ] | :x: 没有 |
包内核 | :x: 没有 | ? 是 [ 1 ] | :x: 没有 |
正确的应用程序主题 | ? 是(如果操作正确) | ? 是(如果当前系统主题已被捕捉)[ 1 ] | ? 是(如果当前系统主题已被 Flatpak'ed) [ 1 ] [ 2 ] [ 3 ] |
使用库和依赖项 | 从基本系统或与 appimage 捆绑 | 从基本系统、基本快照、平台快照(KDE、GNOME、Wine等)或与 Snap 捆绑 | 来自 Freedesktop、GNOME、KDE 主要运行时或与 Flatpak 捆绑 |
企业支持 | :x: 否(社区项目) | ? 是(规范) | ? 是(无尽,红帽) |
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
主店申请数量 | 1126 (2020-08-14 [ 1 ]历史) | +6400 (2020-08-06 [ 1 ]) | ~1100 (2020-08-14) |
使用该格式的品牌商业应用程序供应商 | 的Adobe,IBM,KDAB,微软,Prusa,Ultimaker,... | 微软、Spotify、Slack、JetBrains、Skype、nodesource …… | Xamarin、Codethink、Igalia、... |
内置于第三方应用程序开发工具中 | 电子生成器 | 电子生成器,GNOME 生成器 | GNOME 生成器 |
AppImage
从站点下载,然后将文件管理器中的单个文件拖放到所需的安装位置。
通过分发应用商店(在 Ubuntu、Zorin OS、KDE Neon 等上开箱即用)或通过 CLI 进行Snap安装:
$ snap install gimp
Run Code Online (Sandbox Code Playgroud)
Flatpak 通过分发应用商店安装(在 Fedora、EndlessOS 等上开箱即用)或通过 CLI:
$ flatpak install --user flathub org.gimp.GIMP
Run Code Online (Sandbox Code Playgroud)
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
无需沙箱即可运行 | ? 是(不是必需的。打包者可选。) | ? 是(如果 snap 已构建并批准使用“经典”限制)[ 1 ][ 2 ] | :x: 否(按设计限制应用程序访问) |
可以与不同的沙箱一起使用 | ? 是(例如Firejail [ 1 ]、AppArmor [ 2 ]、Bubblewrap) | :x: 否(与AppArmor紧密耦合) | :x: 否(与Bubblewrap紧密耦合) |
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
无需安装即可运行 | ? 是(设置可执行位后) | :x: 否(需要通过 snapd 安装) | :x: 否(需要通过 Flatpak 客户端工具安装) |
无需root权限即可运行 | ? 是的 | ?? 仅在安装后 | ?? 仅在安装后 |
从压缩源运行而不是解压 | ? 是的 | ? 是的 | :x: 没有 |
应用程序作者可以将可下载文件放在 .exe (Windows) 和 .dmg (macOS) 旁边,用户可以在离线系统上安装这些文件 | ? 是(.appimage - 包含在离线系统上运行应用程序所需的所有内容) | :x: 否(.snap - 需要安装 snapd,如果需要额外的 snap,系统必须在线) | :x: 否(.flatpakref 文件需要 Internet,.flatpak 包需要安装运行时) |
允许应用程序作者在不丢失功能的情况下自托管应用程序 | ? 是的 | :x: 没有 | ? 是 [ 1 ] |
适用于/优化气隙(离线)机器(埃德斯诺登使用的那种) | ? 是的 | ? 是(您可以离线加载应用程序和更新) | ? 是(P2P 支持允许离线安装和更新) |
可以从网络共享、CD-ROM 等非标准位置存储和运行应用程序。 | ? 是的 | 待定 | ? 是(需要配置)[ 1 ] |
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
中央回购/目录 | 应用图像中心 | 快照商店 | 平面枢纽 |
完全去中心化,没有中央看门人 | ? 是的 | :x: 没有(一个占主导地位的应用商店)[ 1 ] | ? 是的 |
个人应用程序存储库 | :x: 否(不存储在存储库中) | :x: 否(每个设备只能有一个 repo) | ? 是的 |
可以有多个版本并行(包括历史版本) | ? 是(无限数量的任意版本) | ? 是(每个通道一个) | ? 是(OSTree 中可用的任何版本都可以并行安装) |
应用程序安装后,仍可以轻松复制到另一台机器(例如,与本地朋友分享) | ? 是(一个应用程序=一个文件;没有“安装”,因此应用程序始终处于相同的形式) | ? 是(但也需要复制它所依赖的快照) | ? 是(您可以flatpak create-usb 用来复制到 U 盘) |
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
更新机制 | 应用图像更新 | 从回购 | 从回购 |
二进制增量更新 | ? 是(使用 zsync 无需提前生成增量) | ? 是(仅当使用需要生成增量的私有服务器端服务时) | ? 是(使用 OSTree 提供原子更新) |
应用程序可以自我更新 | ? 是(使用嵌入信息) | ? 是的 | ? 是的 |
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
最早支持的 Ubuntu | Ubuntu 10.04 | Ubuntu 14.04 | Ubuntu 16.04 |
最早支持的 OpenSUSE | OpenSUSE 11.3 | 飞跃 42.2 | 飞跃 42.1 |
最早支持的 Fedora | 软呢帽 12 | 软呢帽 24 | 软呢帽 23 |
最早支持的 Debian | Debian 6 | Debian 9 | Debian 9 |
最早支持的 CentOS | CentOS 6 | CentOS 7.6 | CentOS 7 |
在 Ubuntu 上开箱即用 | ? 是的 | ? 是的 | :x: 没有 |
开箱即用地在 OpenSUSE 上运行 | ? 是的 | :x: 没有 | 待定 |
在 Fedora 上开箱即用 | ? 是的 | :x: 没有 | ? 是的 |
在 Debian 上开箱即用 | ? 是的 | :x: 没有 | 待定 |
在 CentOS 上开箱即用 | ? 是的 | :x: 没有 | ? 是的 |
Live 系统(例如 Live ISO、Live USB、Live CD、Live 网络启动) | ? 满的 | ?? 部分(从 18.04 开始,但它受到内核限制和“使用起来很痛苦,我们几乎花在它上面的时间几乎为零”,根据 Canonical 开发人员的说法) | ?? 部分(必须重新启动会话才能提取导出) |
可以在 Chrome OS (Crostini) 上运行 | ? 是(Chrome 操作系统 73) | ? 是(Chrome 操作系统 73) | ? 是的 |
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
独立于任何特定的分销商 | ? 是(社区项目) | :x: 否(规范倡议) | ? 是(一个社区项目) |
与任何主导公司的商业案例无关 | ? 是的 | :x: 否(Canonical 业务的核心) | :x: 没有 |
作为中央守门人,旨在减少发行版对桌面 Linux 生态系统的影响 | ? 是的 | :x: 没有 | ? 是(每个人都可以托管他/她自己的仓库) |
旨在增强应用程序开发人员和最终用户的能力 | ? 是的 | ? 是 [ 1 ] | ? 是 [ 1 ] |
努力统一桌面 Linux 平台,而不是继续将用户群划分为不同的分发生态系统 | ? 是(通过指出需要一起解决的核心问题) | :x: 否(有效地将另一个发行版的基本快照放在基础发行版上) | :x: 否(有效地将 Yocto 分布置于任何基础分布之上) |
特征 | 应用图片 | 折断 | 平板包装 | |
---|---|---|---|---|
磁盘上的应用程序存储始终保持压缩状态 | ? 是的 | ? 是的 | :x: 否(服务器端被压缩,客户端不是)[ 1 ] | |
应用程序使用的磁盘空间比“传统安装”的要少得多 | ? 是的 | ? 是的 | 待定 | |
示例: LibreOffice 下载大小(来源) | ~248 兆字节 | 463 MB [2020 年 7 月更新] | 543 兆字节 | |
在下载之前,确切知道要下载并存储在磁盘上的大小 | ? 是(一个应用程序 = 一个文件) | :x: 否 [不考虑平台快照 [ 1 ]] | :x:由于重复数据删除,只能估计最坏的情况 |
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
LibreOffice 开始时间(来源) | 3 秒 | 13 秒 | 7 秒 |
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
文件格式通过官方标准机构标准化 | :x: 不(但一旦格式稳定就对它感兴趣) | ? 是(由 Snap 格式 TOB[ 1 ] 创建) | :x: 否(尽管存在实验性 OCI 支持) |
概念上的灵感来自 | MACOS。应用程序内的.dmg(追溯NEXT); Rox 应用程序目录 | 单击(Ubuntu Touch 软件包) | klik(AppImage 的原名) |
特征 | 应用图片 | 折断 | 平板包装 |
---|---|---|---|
贡献者不需要签署 CLA | ? 是的 | :x: 没有 | ? 是的 |
发展至今 | 2004(当时称为klik) | 2010(前身称为 Click Packages) | 2013(前身称为Glick Glick2和xdg-app) |
小智 77
Snaps是由 Canonical 为 Ubuntu 创建的。快照的主要优点是:
snap 的主要缺点是软件只能使用其包中包含的库。这是一个潜在的安全风险,因为包的作者需要对所有库进行修补和更新。
Snaps 目前可以在 Ubuntu、Arch Linux、Fedora、Linux Mint、CentOS 和 Gentoo 中运行。它们也用于 Ubuntu Touch。它们专为台式机、服务器、电话、物联网和路由器而设计。
Flatpak具有与 snap 相同的优点。但是,它使用命名空间而不是 AppArmour 进行沙盒处理。主要区别在于 Flatpak 既可以使用包中包含的库,也可以使用来自另一个 Flatpak 的共享库。
Flatpak 的开发者是 Red Hat 员工 Alexander Larsson。Flatpak 软件目前可用于 Arch Linux、Debian、Fedora、Mageia、Solus 和 Ubuntu。它仅专注于台式机。
AppImages由 Simon Peter 开发。与 snaps 或 Flatpak 一样,该包包含运行程序所需的所有库。AppImage 程序不是沙盒程序,它们不需要 root 权限即可运行。根据该项目的网站,AppImages 应该可以在 Arch Linux、Centos、Debian、Fedora、OpenSUSE、Red Hat Linux 和 Ubuntu 上运行。
pkt*_*iuk 15
我发现这些打包系统的性能(CPU+内存)比较有趣。
VLC
金普
来源:https : //verummeum.com/portable-package-formats/
归档时间: |
|
查看次数: |
109461 次 |
最近记录: |