Ubuntu 22.04彻底卸载Snap的完整解决方案
在Ubuntu 22.04中,Snap作为Canonical推出的容器化软件包格式,虽然提供了跨版本兼容性,但存在软件包体积大、性能开销高等问题。本文将详细介绍如何彻底卸载Snap并防止其自动恢复。
卸载步骤
查看已安装的Snap软件
首先列出所有已安装的Snap软件包,为后续卸载做准备:
snap list
输出示例:
Name Version Rev Tracking Publisher Notes
core20 20240416 2318 latest/stable canonical✓ base
firefox 125.0 1943 latest/stable mozilla✓ -
移除所有Snap软件
手动逐个移除
按顺序移除软件(先移除应用,再移除核心依赖):
sudo snap remove --purge firefox
sudo snap remove --purge snap-store
sudo snap remove --purge core20
sudo snap remove --purge snapd
脚本批量移除
使用循环脚本移除所有Snap软件(需执行2-3次直到提示"No snaps installed"):
for p in $(snap list | awk '{print $1}' | grep -v "Name"); do
sudo snap remove --purge "$p"
done
验证是否移除干净:
snap list
若提示 No snaps are installed yet. 则表示已清理完成。
停止并禁用Snap服务
sudo systemctl stop snapd
sudo systemctl disable --now snapd.socket snapd.service snapd.seeded.service
验证服务状态:
systemctl status snapd
若显示 inactive (dead) 则表示服务已停止。
卸载Snap管理工具
通过APT彻底移除snapd及其依赖:
sudo apt autoremove --purge snapd
清理残留文件和目录
删除Snap相关的残留目录和文件:
rm -rf ~/snap
sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd
处理只读文件系统错误:
若卸载时提示 read-only file system,需先停止相关挂载点:
sudo systemctl stop var-snap-firefox-common-host\x2dhunspell.mount
sudo systemctl disable var-snap-firefox-common-host\x2dhunspell.mount
再重新执行删除命令。
禁止APT自动安装Snap
创建APT配置文件防止snapd被自动安装:
sudo sh -c "cat > /etc/apt/preferences.d/no-snapd.pref" << EOL
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOL
验证效果:
sudo apt install snapd
若提示 Package 'snapd' has no installation candidate 则表示配置生效。
可选:屏蔽Firefox的Snap更新
若需彻底禁用Firefox的Snap版本更新:
sudo sh -c "cat > /etc/apt/preferences.d/no-firefox.pref" << EOL
Package: firefox
Pin: release a=*
Pin-Priority: -10
EOL
安装Deb版替代软件(可选)
安装Gnome软件商店(Deb版)
sudo apt install gnome-software
安装Deb版Firefox
-
添加Mozilla官方PPA:
sudo add-apt-repository ppa:mozillateam/ppa sudo apt update -
设置PPA优先级并安装:
sudo sh -c "cat > /etc/apt/preferences.d/mozillateam-firefox.pref" << EOL Package: firefox* Pin: release o=LP-PPA-mozillateam Pin-Priority: 501 EOL sudo apt install firefox
恢复Snap(如需)
删除配置文件并重新安装Snap:
sudo rm /etc/apt/preferences.d/no-snapd.pref /etc/apt/preferences.d/no-firefox.pref
sudo apt update
sudo snap install snap-store
sudo apt install firefox
总结
- 关键步骤:移除软件 → 停止服务 → 清理残留 → 禁止自动安装。
- 注意事项:
- 卸载前备份重要数据(如Firefox书签)。
- 服务器版无需安装桌面环境替代软件。
- 若遇到只读文件系统错误,需先停止相关挂载点
通过以上步骤,可彻底禁用Snap并释放系统资源。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
微信
支付宝