彻底删除 ubuntu 24.04+ 的 snapd 需四步:先用 snap list 查依赖并按反向顺序卸载应用及运行时;再禁用服务、purge 包、配置 apt 优先级阻止重装;接着手动清空残留路径;最后验证 which snap、systemctl status 和 apt policy 结果均无 snapd。

Ubuntu 24.04 及后续版本中,snapd 已深度集成进桌面环境(如 ubuntu-desktop 元包),直接 apt purge snapd 往往失败或被自动恢复。彻底删除必须分步阻断依赖、服务、残留和 APT 自动重装机制,否则几天后 snapd 会随系统更新悄悄回来。
先查清当前安装了哪些 Snap 包
执行 snap list 是必须的第一步——不是走形式,而是确认哪些包是“活依赖”,哪些是“死残留”。常见输出里带 base 或 core 的(如 core22、core24、bare)通常是其他 Snap 的运行时依赖,不能最先删;而 firefox、thunderbird、snap-store 这类应用可优先清理。
注意:如果 snap list 报错或无输出,不代表没装,可能是 snapd 服务卡住,先跑 sudo systemctl stop snapd 再试。
按依赖顺序逐个移除 Snap 包,避免“cannot remove”错误
强行 snap remove --purge core24 会失败,提示类似 snap "core24" is not removable: snap is being used by snap firefox。必须反向操作:从上层应用开始,一层层剥。
snap remove --purge firefoxsnap remove --purge thunderbirdsnap remove --purge snap-store-
snap remove --purge gnome-46-2404(桌面环境相关,非最小安装必有) snap remove --purge gtk-common-themessnap remove --purge cups- 最后再删
snap remove --purge core24、snap remove --purge core22、snap remove --purge bare、snap remove --purge snapd
如果某步卡在 Waiting for conflicting change in progress...,别等,Ctrl+C 中断后立刻执行 snap changes 查看 ID,再用 snap abort <id></id> 强制终止挂起任务。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
停服务 + 卸载二进制 + 阻断 APT 自动重装
仅 apt purge snapd 不够——ubuntu-desktop 等元包仍会把它拉回来。关键三步缺一不可:
- 禁用所有关联服务:
sudo systemctl disable --now snapd.service snapd.socket snapd.seeded.service - 卸载主体:
sudo apt purge -y snapd(加-y避免交互中断) - 阻止 APT 重装:
echo "Package: snapd\nPin: release a=*\nPin-Priority: -10" | sudo tee /etc/apt/preferences.d/nosnap.pref,然后sudo apt update
这一步漏掉,下次 apt upgrade 就可能触发 ubuntu-desktop 依赖修复,把 snapd 带回来。
清空残留路径 + 检查是否真干净
卸载命令不会删用户数据和缓存,这些路径必须手动处理:
sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd-
rm -rf ~/snap(当前用户)
验证是否成功:
-
which snap应无输出 -
systemctl status snapd应报Unit snapd.service could not be found -
apt policy snapd应显示Installed: (none)且优先级为-10
最容易被忽略的是 /etc/apt/preferences.d/nosnap.pref 文件权限不对(比如被误设为 600)会导致 APT 忽略它;还有人删完忘了 apt update,导致策略未生效。这两处不检查,等于白干。










