谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

什么是Snap应用?

by liam zheng on 21 October 2020

如果你在使用 Ubuntu 18.04 / 20.04 LTS 版本的 Ubuntu 系统,会发现系统里面多了一个应用格式包 —— .snap 包。Snap 包是 Ubuntu 16.04 LTS 发布时引入的新应用格式包。目前已流行在 Ubuntu 且在其他如 Debian、Arch Linux、Fedora、Kaili Linux、openSUSE、Red Hat 等 Linux 发行版上通过 snapd 来安装使用 snap 应用。较传统 Linux 的 rpm,deb 软件包,snap 有什么特点和优势呢?下面将为你介绍snap软件包。

安全,通用的 Linux 软件包

当你在安装完 snap 后,你会发现在在根目录下会出现如 /dev/loop0 的挂载点,这些挂载点正是 snap 软件包的目录。Snap 使用了 squashFS 文件系统,一种开源的压缩,只读文件系统,基于 GPL 协议发行。一旦 snap 被安装后,其就有一个只读的文件系统和一个可写入的区域。应用自身的执行文件、库、依赖包都被放在这个只读目录,意味着该目录不能被随意篡改和写入。

squashFS 文件系统的引入,使得 snap 的安全性要优于传统的 Linux 软件包。同时,每个 snap 默认都被严格限制(confined),即限制系统权限和资源访问。但是,可通过授予权限策略来获得对系统资源的访问。这也是安全性更好的表现。

Snap 可包含一个或多个服务,支持 cli(命令行)应用,GUI 图形应用以及无单进程限制。因此,你可以单个 snap 下调用一个或多个服务。对于某些多服务的应用来说,非常方便。前面说到 snap 间相互隔离,那么怎么交换资源呢?答案是可以通过 interface(接口)定义来做资源交换。interface 被用于让 snap 可访问 OpenGL 加速,声卡播放、录制,网络和 HOME 目录。Interface 由 slot 和 plug 组成即提供者和消费者。

默认 Snap 应用格式包,专为物联网设备、嵌入式平台设计的迷你 Ubuntu

查看 Ubuntu Core

如何使用 snap 软件包

通过上述简单介绍,大概了解了什么是 snap 应用包,如你已经在电脑上安装了Ubuntu,那么就可以通过下面的操作来安装使用 snap 软件包。Snap 的基本命令:install, remove, find, list, infor, refresh 等等。

1.安装 snap,可使用以下命令或图形界面的 store 通过鼠标点击操作:

sudo snap install code //安装code snap

2.卸载 snap

sudo snap remove code

3.搜索 snap

snap find code

4.查看 snap 信息

snap info code

5.查看已安装的 snap

snap list

6.更新 snap

sudo snap refresh code channel=latest/stable //channel来指定通道版本

更多关于 snap 的使用说明,请访问 snap 网站文档

不止 Linux 桌面应用

Snap 除了在 Ubuntu 桌面和其他 Linux 发行版桌面系统上使用外,还能在Ubuntu server 和 Ubuntu Core 上使用且为 Ubuntu Core 默认应用格式包。Ubuntu Core 是迷你、与Ubuntu一致,专为物联网设备、嵌入式平台设计,更多内容请访问Ubuntu Core网页

目前,Ubuntu 的相关产品已以 snap 包的形式发布,例如 Ubuntu MAASJujuMultipassMicroK8sMicroStack 等等。借助 snap,你可以一键安装专为笔记本工作站打造的 Kubernetes 和 OpenStack,省去了安装等待和繁琐配置过程。对于开发和测试团队来说无疑是一个更高效的方案,将更多的精力和资源投入到关键价值上。

Snap应用开发与Snapcraft

介绍了这么多 snap 相关内容,如何 snap 如何开发呢?Snap 应用使用 snapcraft 来开发,并且 snapcraft 已打包为 snap 应用,一键安装:sudo snap install snapcraft –classic 即可开始构建你的 snap 应用。关于 snap 开发和 snapcraft 使用的更多内容,请加入本月 Ubuntu Tech Live视频直播,届时 Ubuntu 专家将现场教学,开发自己的第一个 snap 应用。

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

Canonical 与 Ubuntu RISC-V – 2025 年回顾及 2026 年展望

2025 年:从 RISC-V 技术支持到实际执行  2025 年是 RISC-V 从准备就绪转向实际应用的一年。这段历程实属不易。多年前始于早期架构探索与技术支持的工作,如今已成熟落地为真实的芯片、系统与部署应用。特别是,RVA23 提供了一个稳定且可预期的基准,我们能够与更广泛的合作伙伴生态系统保持一致。  在 Canonical,我们致力于让 RISC-V 成为所有希望采用它的用户的可行选择。我们审慎采取措施,与生态系统及合作伙伴保持一致,成为值得信赖的软件合作伙伴,让 RISC-V 实用、可扩展且具备生产就绪能力。 我们的目标是提供一个稳定、可预期、生产级的 Linux 平台,让芯片厂商、原始设备制造商、原始设计制造商和开发者能够放心地在此基础上进行开发。  接下 […]

8.8 万亿美元的成本优势:开源软件如何降低 IT 成本

众所周知,开源软件可降低 IT 成本。但在 2025 年,高性价比只是其价值的一部分。Linux Foundation 最新报告《开源技术的战略演进》显示,开源技术已从一项战术性的成本节约举措,发展成为支撑企业级投资的关键任务基础设施,并由此为企业带来更优异的业务成果。 这一转型的背后有学术研究佐证:研究估算,若没有开源技术,企业开发支撑业务运转的软件所需成本将增加约 3.5 倍,额外支出高达 8.8 万亿美元。[1]  开源技术:从“免费替代方案” 到核心基础设施 Linux Foundation 2025 年开源生态现状调查显示,开源技术已深度融入企业技术栈的各个层面,成为全球 IT 运营的核心基石。事实上,在受分析的技术栈中,超 55% 采用了基于 Linux 的操 […]

Canonical 推出适用于 WSL 的 Ubuntu Pro

适用于 WSL 的 Ubuntu Pro 为 Windows 系统中运行的 Ubuntu 24.04 LTS WSL 实例提供一站式安全维护与企业级技术支持。该订阅服务还能为系统管理员提供全面的管理功能。 今日,Canonical 公司宣布适用于 WSL 的 Ubuntu Pro 服务正式全面上市,用户可通过 Microsoft Store 进行安装。源代码及测试版也可在 GitHub 获取。 Canonical 公司与 Microsoft 建立了良好的合作关系,携手打造优质的 WSL 使用体验。本次合作成果将惠及那些借助 WSL 开发生产级 Linux 解决方案的企业开发者。 Craig Loewen,Microsoft WSL 产品经理 Ubuntu Pro 为桌面端 […]