Ubuntu Snap 兼容性与禁用实操
Ubuntu Snap 影响范围
一、Snap 影响软件范围
Ubuntu 19.10 及以上版本默认将部分桌面应用迁移至 Snap 分发,官方 APT 源内多款软件为 Snap 占位包,安装后会默认部署 Snap 版本而非原生 DEB 程序。
受影响的常用系统及桌面软件如下:
浏览器:Firefox、Chromium
办公系统工具:LibreOffice、GNOME 文本编辑器、计算器、系统监视器
多媒体工具:VLC
开发工具:VS Code
系统默认常驻 snapd 后台服务,占用内存、磁盘资源,增加系统开机启动耗时。
查询系统已安装所有 Snap 应用:
1 | snap list |
二、Snap 对 APT 与 DEB 包的影响
2.1 无冲突场景
系统底层组件、内核、硬件驱动、服务端程序(Nginx、MySQL)、基础命令行工具(Git、Vim)均基于 DEB 分发,APT 核心依赖管理、安装更新逻辑不受 Snap 影响。手动下载的独立 DEB 包、第三方 PPA 软件可通过 apt、dpkg 正常安装运行,与 Snap 体系相互独立、互不干扰。
2.2 干扰兼容场景
Ubuntu 官方源内的 Firefox、Chromium 等软件仅为空占位 DEB 包。通过 APT 执行安装命令时,系统会自动触发 Snap 部署流程,无法安装原生 DEB 版本。
2.3 底层运行逻辑
APT 仅负责 DEB 格式软件的依赖解析、安装与管理,不兼容、不接管 Snap 程序。Snap 由独立的 snapd 服务全权管控,二者为系统并行运行的两套包管理体系。
三、Ubuntu 一键彻底禁用 Snap 脚本
3.1 脚本核心能力
停止并锁定 snapd 服务、卸载系统全部 Snap 应用、彻底清理 snapd 组件、锁定禁止系统自动重装、配置 APT 规则屏蔽 Snap 占位包,强制系统优先使用原生 DEB 分发机制。
3.2 完整禁用脚本
1 |
|
3.3 脚本执行方式
1 | chmod +x disable-snap.sh |
3.4 执行效果
Snap 命令完全失效,系统无法部署运行 Snap 应用;APT 安装浏览器不再跳转 Snap 版本;系统升级、更新流程不会自动重装 snapd 服务,彻底固化 DEB 包管理模式。
四、安装原生 DEB 版 Firefox
禁用 Snap 后,Ubuntu 官方源无原生 DEB 版 Firefox,可通过 Mozilla 官方 PPA 安装正版原生 DEB 版本:
1 | sudo add-apt-repository ppa:mozillateam/ppa |
五、Snap 环境恢复方案
如需恢复系统默认 Snap 运行环境,执行以下命令解除锁定、恢复配置并重装服务:
1 | sudo apt-mark unhold snapd |
六、总结
Snap 仅作用于 Ubuntu 默认桌面应用,不会破坏系统底层及 APT、DEB 核心运行机制。通过专属脚本可彻底关停 Snap 整套体系,屏蔽 APT 占位包跳转逻辑,全程保留原生 DEB 包管理模式,适配 Ubuntu 20.04、22.04、24.04 主流版本,适用于生产环境运维标准化部署。