mur*_*uru 36 dependencies snap
通过允许每个包拥有自己的依赖副本,快照打包格式最终将我们从依赖地狱中解放出来。我对它如何做到这一点的技术细节很感兴趣。它是如何处理的:
xdg-app 有一个叫做“运行时”的东西:
xdg-app 中的一个基本概念是运行时/应用程序拆分。每个应用程序都依赖于一个运行时,它提供应用程序所依赖的核心库。运行时通常由许多应用程序共享,但用户可以同时安装多个运行时。
似乎在 OpenSSL 的情况下,它将成为 xdg-apps 运行时的一部分,因此对 OpenSSL 的更新应该透明地影响使用相同运行时的所有 xdg-apps。
krz*_*iec 11
前两种情况以巧妙的方式处理。
讨论的有趣功能之一是对 Snap 包中内容的重复数据删除支持。快照将根据它们的文件哈希自动删除快照之间共享的公共文件的重复数据。将在文件系统层上进行重复数据删除,对快照下载进行重复数据删除(具有服务器支持),并且可能会从链接器中删除映射库的重复数据。重复数据删除是一个很大的工作项目,可能需要一段时间才能完全实施,但它仍然是一个有趣的目标。
来源:http : //www.phoronix.com/scan.php?page= news_item& px=Ubuntu-Snappy-Deduplication
至于第三种情况,它们与您提到的运行时类似:
一个 snappy 机器由三层组成:系统层,由 Canonical 提供,一个扩展供应商与 Canonical 合作生产的基础系统的框架层,以及一组由供应商直接提供的 snappy 应用程序。更新任何部分只是意味着使用只读图像的新版本。恢复到以前的版本同样容易。
来源:http : //www.ubuntu.com/cloud/snappy
目前还没有描述框架的好的文档,主要是因为它们似乎仍在确定框架的边界。这是他们邮件列表的摘录,可能有助于澄清事情。
我正在尝试使用 Frameworks 来通过软件和服务扩展 Snappy 基本系统,这些软件和服务很多 snap 需要但由于更新问题和大小,不应包含在任何和每个 snap 中。我对此的最佳示例是 openssl 二进制文件。许多快照需要它来生成和验证密钥和证书。
我用框架解决的另一个问题是访问系统范围的资源,尤其是端口。例如,Web 服务器框架将为其他 snapps 提供通过反向代理将其 Web 服务 api 和端点注入运行 Web 服务器的框架的方法。
我在 IRC 上被告知我有点滥用框架概念,但是这两个问题仍然经常出现在我的办公桌上。
来源:https : //lists.ubuntu.com/archives/snappy-app-devel/2015-November/000442.html
我不认为快照会检查已安装的依赖项。它只包含其所有依赖项和运行时(这就是 LibreOffice snap 大小为 287 MB 而 flatpak 约为 200 MB 的部分原因)。
Snap 几乎包含了软件运行所需的一切。我认为快照之间不会共享任何内容。
但是,当快照更新时,它只会下载新的依赖项,而不是整个快照。
归档时间: |
|
查看次数: |
8278 次 |
最近记录: |