我(大致)了解快照包装的工作原理。但是“snap”、“snapd”和“Snappy”分别指的是什么?
似乎“snap”指的是很多东西(包格式,终端命令......),“snapd”是一个特定的工具,“Snappy”不再使用[1] [2]?
[1]:我能找到的唯一官方提及是这个 Ubuntu 桌面页面的标题和 URL:https ://www.ubuntu.com/desktop/snappy
[2]:我记得 Ubuntu Core 曾经被称为 Snappy Ubuntu Core,但现在已经不是这样了:https ://developer.ubuntu.com/core
meta/snap.yaml
遵循特定格式的文件的 squashfs 图像。snap
命令,用于与 snapd 通信(用于用户请求安装新的 snap 等)这整个系统有时被称为“活泼”。令人困惑的是,我也越来越多地看到它被称为“snapcraft”。虽然 snaps 在普通的 Ubuntu(实际上还有各种其他 Linux 发行版)上运行,但 Ubuntu Core 是一个完全基于 snaps 的操作系统(无论如何
apt
都没有)。不幸的是,已经有一个“ubuntu core”,它是 Ubuntu 的基本 rootfs,所以为了区分,它被称为“snappy ubuntu core”。旧核心最近重命名为ubuntu base,这就是为什么你现在很少看到“snappy ubuntu core”。Snappy 是 Canonical 最初为 Ubuntu 手机操作系统设计和构建的软件部署和包管理系统。这些称为“snaps”的包和使用它们的工具“snapd”,可以在一系列 Linux 发行版中工作,因此允许与发行版无关的上游软件部署。该系统设计用于电话、云、物联网和桌面计算。
软件的“Snap”应用程序包是独立的,可以在一系列 Linux 发行版中运行。这与传统的 Linux 包管理方法(如 APT 或 RPM)不同,传统的 Linux 包管理方法需要针对每个 Linux 发行版在应用程序更新时专门调整包,并因此延迟从开发人员到其软件最终用户的应用程序部署。Snap 本身不依赖于任何外部存储(“应用商店”),可以从任何来源获取,因此可以用于上游软件部署。在 Ubuntu 和其他版本的 Linux 上部署 snap 时,Ubuntu 应用商店用作默认后端,但也可以启用其他商店。
开发人员可以使用 snaps 创建命令行工具、后台服务以及桌面应用程序。使用 snap 应用程序,可以通过原子操作或增量进行升级。
2016 年 6 月,snapd 被移植到各种 Linux 发行版中,以使 snaps 可以在任何 Linux 发行版中使用,而不仅仅是全快照 Ubuntu Core。snapd 也可用于 Arch Linux、CentOS、Debian、Fedora、Gentoo Linux、OpenWrt、openSUSE 和 Red Hat Enterprise Linux。每个发行版都能够解释快照元数据,以以特定于发行版的方式实现快照的安全性或其他期望。
来源:https://en.wikipedia.org/wiki/Snappy_(package_manager)