Snap 是由 Canonical 创建的 Linux 软件包打包和分发平台。相比较传统 Linux 安装包,Snap 更具可移植性,而且它们中的大多数都被容器化,以防止一些常见的安全问题。 然而,Snap 也有很多问题,这可能是 Canonical 正在试验新架构的原因。
Canonical说:“基本概念是围绕着把 Snapcraft 拆开--拆成更小、更模块化和可重复使用的组件,可以在一系列不同的产品中利用。这项工作的共同基础是一套 Craft Libraries,正如我们在‘Craft Parts’博文中已经讨论过的。该理论要求使用基于工艺提供者和工艺部件的通用部件构建器,并将添加的 Snapcraft 功能作为一个单独的层”。
Snap 安装包无疑是应用程序在 Linux 上发布的一种更容易的方式,因为它们不必依赖系统自己的包管理器,而包管理器在不同的桌面 Linux 发行版中并不总是相同。例如,如果你想为 Ubuntu、Fedora 和 Arch Linux 制作一个应用程序,你将不得不维护三种完全不同的发行方式(PPA、RPM 和 Pacman)。相比之下,Snap 应用程序几乎可以在所有基于 Linux 的现代操作系统上运行,包括 Ubuntu, Arch, Debian, Fedora, Majaro, Pop!_OS 等。