系统修复后,snapd 服务未运行/无法重启

系统修复后,snapd 服务未运行/无法重启

我有 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

相关内容