先运行 snap list 验证是否启用snap,ubuntu 22.04+桌面版默认预装;再按顺序用 --purge 删除应用、运行时及 snapd 包;接着停用服务、purge 卸载、手动清除 /var/lib/snapd 等残留目录,并配置 apt 屏蔽防止重装;最后检查进程、包列表和屏蔽文件确保无残留。

确认当前系统是否在用Snap
先别急着删,很多用户以为自己没装Snap,结果执行 snap list 发现一堆预装包——尤其是 Ubuntu 22.04+ 桌面版,默认就带 snapd 和 firefox、gnome-42-2204 等。运行以下命令快速验证:
snap list 2>/dev/null || echo "snapd 未安装"
如果输出为空但 which snap 有返回,说明二进制还在;如果连 which snap 都无结果,基本可跳过后续步骤。注意:某些最小化安装的 Ubuntu Server 可能压根没装 snapd,强行卸载反而会触发依赖修复逻辑。
按顺序卸载所有Snap应用并清除数据
直接 snap remove firefox 很容易失败,尤其在 Ubuntu 22.04/24.04 上常因 udev 通信超时卡住。必须先清理应用,再动核心服务。关键点是顺序和参数:
- 先删桌面级应用(如
snap remove --purge snap-store、snap remove --purge firefox) - 再删底层运行时(
snap remove --purge core22、snap remove --purge gtk-common-themes) - 最后删
snap remove --purge snapd——但这个命令本身不生效,真正要卸的是snapd包
特别注意:--purge 必须加,否则 /var/snap/ 和 ~/snap/ 下的用户数据全留着,微信、Telegram 等 Snap 应用的聊天记录、缓存可能占几百MB。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
停用并删除 snapd 服务与残留文件
仅 apt purge snapd 不够,系统重启后可能因依赖(比如 ubuntu-desktop)自动重装。完整清理需四步:
- 停用服务:
sudo systemctl disable --now snapd.service snapd.socket snapd.seeded.service - 卸载包:
sudo apt autoremove --purge snapd - 手动删残余目录:
sudo rm -rf /var/lib/snapd /var/snap /snap ~/snap /var/cache/snapd - 阻止未来重装:
echo "Package: snapd\nPin: release a=*\nPin-Priority: -10" | sudo tee /etc/apt/preferences.d/nosnap.pref,再运行sudo apt update
漏掉 /var/lib/snapd 是最常见错误——它默认占 3~5GB,里面藏着所有已删 Snap 的旧版本快照(snap list --all 能看到),不删等于白干。
检查是否还有 Snap 痕迹或自动恢复风险
卸载完别信“完了”,立刻验证三个地方:
- 运行
ps aux | grep snapd,确认无进程残留 - 执行
dpkg -l | grep snapd,输出应为空 - 检查
/etc/apt/preferences.d/nosnap.pref是否存在且内容正确,否则下次apt install ubuntu-desktop或升级内核都可能悄悄拉回snapd
最容易被忽略的是 Flatpak 和 Snap 混用场景:如果你同时用过 flatpak,它的 ~/.var/app/ 目录里可能有同名应用(如 com.brave.Browser),别误当成 Snap 残留删掉——那是 Flatpak 自己的沙箱路径。










