Snap 软件包:Ubuntu 用户必备的命令行管理指南 如果你正在使用 Ubuntu 或其衍生系统,那么「Snap 软件包」这个概念对你来说应该相当熟悉。这套由 Ubuntu 母公司 Canonical 力推的打包方案,最大的优势在于能够跨越不同 Linux 发行版的界限,实现近乎通用的安装和运行
如果你正在使用 Ubuntu 或其衍生系统,那么「Snap 软件包」这个概念对你来说应该相当熟悉。这套由 Ubuntu 母公司 Canonical 力推的打包方案,最大的优势在于能够跨越不同 Linux 发行版的界限,实现近乎通用的安装和运行。

尽管 Ubuntu 提供了相当出色的图形化软件管理工具,使得我们大部分时间都不需要接触命令行,但掌握命令行操作却能带来更强大的控制能力和灵活性。学会这几招,你对系统的掌控力会立刻提升一个等级。
不过由于各种现实因素,Snap 主要还是集中在 Ubuntu 生态中活跃。说得直白些,就是它在与 Flatpak 的竞争中并未占据上风。如果你对这两者的优劣对比感兴趣,可以参考我们之前关于 Flatpak 与 Snapcraft 的详细分析文章。
Snap 是 Ubuntu 背后的 Canonical 公司推出的一种通用软件包格式,它的核心使命就是简化软件分发流程,同时摆脱对特定 Linux 发行版的依赖。
不同的 Linux 发行版家族都有自己独特的包管理体系和格式:
这些不同的包管理系统之间存在着天然的兼容性壁垒。而 Snap 与 Flatpak 类似,通过容器化技术将应用程序及其所有依赖打包成一个独立单元,从而巧妙地绕过了兼容性问题。以下是 Snap 的几个突出特点:
除了 Snap 包本身,另一个关键组件是 snapd——这是管理 Snap 包的后台服务,负责处理安装、更新和删除等所有操作。简单来说:
了解了这些基础概念后,接下来就让我们进入实战环节,看看在 Ubuntu 系统上如何熟练使用 Snap 来管理软件。
2.1 搜索软件包
想要找到需要的软件包?可以通过关键字或包名在 Snapcraft 应用商店中进行搜索:
snap find <关键字或软件包名称>
比如,想要查找与 GIMP 相关的软件包,只需执行:
snap find gimp

搜索可用 snap 软件包
2.2 查看软件包详情
找到感兴趣的软件包后,可以使用以下命令查看详细信息,包括版本、描述、发布者和更新渠道等:
snap info <软件包名称>

查看 snap 软件包信息
输出信息中有几个关键点值得关注:
2.3 安装 Snap 软件包
sudo snap install <软件包名称>
如果想要从特定渠道安装,可以使用--channel=选项:
sudo snap install <软件包名称> --channel=preview/candidate
对于已经安装的软件包,如果需要切换到其他渠道,可以使用 refresh 命令:
sudo snap refresh <软件包名称> --channel=latest/stable
2.4 卸载 Snap 软件包
卸载 Snap 软件包同样简单,还支持一次性卸载多个包:
sudo snap remove <软件包名称> sudo snap remove <软件包1> <软件包2>
如果想要彻底清除软件及相关数据,可以添加--purge选项来删除用户数据和配置文件:
sudo snap remove <软件包名称> --purge
3.1 列出已安装的 Snap 软件包
要查看系统中已经安装了哪些 Snap 软件包,使用这个命令:
snap list

列出已安装的 snap 软件包
3.2 手动更新 Snap 软件包
虽然 Snap 通常会自动更新,但手动触发更新也很简单:
检查并更新所有已安装的软件包:
sudo snap refresh

更新所有 snap 软件包
如果只想更新特定软件包:
sudo snap refresh <软件包名称>
3.3 仅查看可用更新
想要了解有哪些更新可用,但又不想立即安装?这个命令正好满足需求:
sudo snap refresh --list

查看 snap 软件包可用更新
3.4 回滚到之前版本
当某个 Snap 软件包更新后出现问题,回滚到之前的版本是个明智的选择:
sudo snap revert <软件包名称>

回滚 snap 软件包版本
4.1 禁用或启用 Snap 软件包
不需要卸载重装,就能临时停用或重新启用 Snap 软件包:
sudo snap disable <软件包名称> # 禁用 Snap 软件包 sudo snap enable <软件包名称> # 启用 Snap 软件包

启用或禁用 snap 软件包
4.2 设置 Snap 自动更新时间
默认情况下,Snap 软件包每天会自动更新 4 次。通过设置刷新计时器,可以调整自动更新的时间段。比如,将更新安排在夜间进行:
sudo snap set system refresh.timer=3:00-4:00

设置 Snap 自动更新时段
4.3 切换更新渠道
随时切换特定软件包的更新渠道,无论是「stable」、「beta」还是「edge」:
sudo snap switch --channel=latest/stable <软件包名称> # 更换渠道 sudo snap refresh <软件包名称> # 应用更改
4.4 跟踪和管理 Snap 更改
使用这个命令可以查看系统上所有 Snap 操作的记录,包括安装、更新、删除或回滚等:
snap changes

查看 Snap 变更记录
通过更改 ID 查看特定操作的详细信息:
snap change
遇到问题时,还可以按 ID 中止正在进行中的更改进程:
sudo snap abort
4.5 设置 Snap 别名
为了简化复杂的命令,可以通过 Snap 的别名功能为已安装的应用程序创建快捷命令:
sudo snap alias <软件包名称> <别名> # 指定别名 sudo snap unalias <别名> # 取消别名
4.6 使用 Snap 日志排查问题
Snap 的日志功能是诊断应用程序和服务问题的强大工具。通过分析日志,可以快速识别启动失败或运行异常等问题的根源。
sudo snap logs <软件包名称>
添加-f选项可以实时监控错误日志输出,效果类似于 Linux 中的tail -f命令,对于追踪动态问题特别有用。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述