我有 kubuntu 20.10,已从坏硬盘移至新硬盘。在我设法使系统运行后,我遇到了以下问题:对 snap 的任何引用(例如 snap 刷新)都会导致以下错误:
错误:无法与服务器通信:发布 http://localhost/v2/snaps:拨号 unix /run/snapd.socket:连接:连接被拒绝
根据其他地方的建议,我尝试重新启动 snap:
systemctl restart snapd
这不起作用:
snapd.service 的作业失败,因为控制进程退出并显示错误代码。有关详细信息,请参阅“systemctl status snapd.service”和“journalctl -xe”。
systemctl status snapd
systemd[1]: snapd.service: 计划重启作业,重启计数器为 5。systemd[1]: 已停止 Snap Daemon。systemd[1]: snapd.service: 启动请求重复太快。systemd[1]: snapd.service: 失败,结果为“退出代码”。systemd[1]: 无法启动 Snap Daemon。systemd[1]: snapd.service: 触发 OnFailure= 依赖项。
journalctl -xe
日志文件 /var/log/journal/01b4740d96764e08a9d72db26b6152ca/[电子邮件保护]~ 被截断,忽略文件。单元 snapd.service 的启动作业已失败。
作业标识符为 10214,作业结果为失败。snapd.socket:失败,结果为“service-start-limit-hit”。主题:单元失败定义者:systemd 支持:http://www.ubuntu.com/support
单元 snapd.socket 已进入“失败”状态,结果为“service-start-limit-hit”。snapd.service:触发 OnFailure= 依赖项。systemd
[1]: 开始 snapd snap 的故障处理...主题:单元 snapd.failure.service 的启动作业已开始执行定义者:systemd 支持:http://www.ubuntu.com/support 单元 snapd.failure.service 的启动作业已开始执行。作业标识符为 10359。snapd.failure.service:成功。主题:单元成功 定义者:systemd 支持: http://www.ubuntu.com/support 单元 snapd.failure.service 已成功进入“死亡”状态。已完成 snapd snap 的故障处理。主题:单元 snapd.failure.service 的启动作业已成功完成 定义者:systemd 支持: http://www.ubuntu.com/support 单元 snapd.failure.service 的启动作业已成功完成。作业标识符为 10359。
有什么想法可以修复它吗?
附加信息:
/var 分区是使用 ddrescue 从故障驱动器中恢复的,恢复后使用 e2fsck 修复了错误。
答案1
强力修复:
sudo apt purge snapd
sudo apt install snapd
然后手动重新安装所有快照。
如果有人能提出更好的解决方案,我们将不胜感激。
答案2
您可以尝试/usr/lib/snapd/snapd
手动运行并看看会发生什么。
就我而言,我将 snaps 目录挂载到/var/snapd
而不是/var/lib/snapd
并出现错误:
cannot run daemon: fatal: directory "/var/lib/snapd" must be present