Snap自动更新损坏Firefox,core20快照处理异常求助
Snap自动更新损坏Firefox,core20快照处理异常求助
这种Snap自动更新卡壳导致依赖快照罢工的情况真的太闹心了!我之前也碰到过类似的进程残留问题,给你几个实操性强的解决办法,你可以挨个试试:
方法一:重启Snap服务清理残留进程
有时候Snap的后台进程会僵住,哪怕执行了abort命令,状态还是没更新,先把服务重启一遍:
- 停止Snap的相关服务:
sudo systemctl stop snapd.service snapd.socket - 重新启动Snap服务:
sudo systemctl start snapd.service snapd.socket - 现在再尝试移除core20:
sudo snap remove core20 - 如果移除成功,重新安装core20基础快照:
sudo snap install core20 - 最后修复Firefox的快照关联,确保它能正确绑定新安装的core20:
sudo snap refresh firefox --amend
方法二:清理Snap状态缓存
如果重启服务没用,可能是状态文件残留了错误的进程标记,试试清理状态缓存:
- 先停止Snap服务(和方法一第一步一致):
sudo systemctl stop snapd.service snapd.socket - 先备份状态文件(以防万一出问题能恢复):
sudo cp /var/lib/snapd/state.json /var/lib/snapd/state.json.bak - 删除原状态文件:
sudo rm -rf /var/lib/snapd/state.json - 重启Snap服务并刷新所有快照:
sudo systemctl start snapd.service snapd.socket sudo snap refresh
方法三:手动修复core20快照挂载
如果上面两种方法都没搞定,试试手动挂载core20快照来强制启用它:
- 先找到core20的快照文件路径:
你应该会得到类似find /var/lib/snapd/snaps -name core20*.snap/var/lib/snapd/snaps/core20_1778.snap的路径 - 创建临时挂载点并挂载快照:
sudo mkdir -p /tmp/core20-mount sudo mount -o loop /var/lib/snapd/snaps/core20_1778.snap /tmp/core20-mount - 尝试启用core20快照:
sudo snap enable core20 - 最后卸载临时挂载点:
sudo umount /tmp/core20-mount sudo rm -rf /tmp/core20-mount
要是以上方法都没解决,建议先重启一次系统——有时候系统重启能彻底清掉卡住的进程锁,之后再重新尝试移除和安装core20。
备注:内容来源于stack exchange,提问作者Doctor Vermilion Wizard
相关产品推荐
相关产品推荐

