安全移除未知Snap包及Snap本身的方法
安全移除未知Snap包及Snap本身的方法
嘿,我完全懂你现在的烦躁——那些跟着Firefox来的陌生Snap依赖包看着就闹心,而且Snap还影响了lsblk这类命令的输出,既然你已经不需要Firefox了,咱们就一步步把Snap彻底清理干净:
先停掉Snap相关服务,避免卸载冲突
先把正在运行的Snap服务都停掉,还得禁用它们开机自启,防止删到一半出问题:sudo systemctl stop snapd snapd.socket snapd.seeded.service sudo systemctl disable snapd snapd.socket snapd.seeded.service列出所有已安装的Snap包,确认清理范围
先看看到底有哪些Snap包在系统里,不管你认不认识,这些都是Snap生态的组件,都得删掉:sudo snap list批量彻底移除所有Snap包
一个个手动删太麻烦,用这条命令批量清理所有Snap包,--purge参数会把包的配置文件也一起删掉:for snap in $(snap list | awk 'NR>1 {print $1}'); do sudo snap remove --purge $snap; done如果中途遇到某个包删不掉的情况,先手动停止这个包的服务再重试:
sudo snap stop <出问题的包名> sudo snap remove --purge <出问题的包名>卸载Snapd核心组件并清理残留
所有Snap包都删完后,就可以卸载Snapd本身了,顺带把所有Snap相关的目录和残留文件都清掉:sudo apt remove --purge snapd sudo rm -rf ~/snap /snap /var/snap /var/lib/snapd验证清理结果
最后输入这条命令,如果提示“command not found”,就说明Snap已经彻底从系统里消失了:snap --version
备注:内容来源于stack exchange,提问作者RedGrittyBrick




