答案1
我遇到了同样的问题,我尝试了上面的 jq 功能,但对我不起作用。然后我发现,在我的测试中,只需清除/重新安装 snapd 包就可以解决这个问题。
$ sudo apt purge snapd
$ sudo apt install snapd
答案2
如果你在 Windows 上的 Hyper-V 中运行 Ubuntu,此解决方案帮助我了解了真正的问题是什么,以及如何修复它,而无需对操作系统进行太多的脑力手术。
显然,seed.yml 文件指定在新操作系统安装时要安装的应用程序。
如果我们移除卡住的那些然后手动安装它们,这样做是可行的。
脚步:
将您的
/var/lib/snapd/seed/seed.yaml
文件更改为如下所示:snaps: - name: core channel: stable file: core_6673.snap - name: gtk-common-themes channel: stable/ubuntu-18.04 file: gtk-common-themes_1198.snap - name: gnome-3-26-1604 channel: stable/ubuntu-18.04 file: gnome-3-26-1604_82.snap ```
基本上,我正在删除所有导致快照任务卡住的条目。
中止当前正在运行的快照任务并重新启动服务:
snap abort --last=seed
sudo systemctl restart snapd
- 继续运行
snap tasks --last=seed
以查看快照任务的进度,并等待所有任务“完成”手动安装您从 中删除的所有应用程序
/var/lib/snapd/seed/seed.yaml
,它们可能包括:
gnome-calculator
gnome-characters
gnome-logs
gnome-system-monitor
重新安装这些的命令是:
snap install gnome-calculator gnome-characters gnome-logs gnome-system-monitor
答案3
我现在在全新安装的 Ubuntu 19.04 上遇到了完全相同的问题。
同样的错误,提到的修复根本没有帮助。
snap 2.38+19.04
snapd 2.38+19.04
series 16
ubuntu 19.04
kernel 5.0.0-13-generic
重新安装 snapd 对我来说卡了将近一个小时,显然它不会移动,除非这个服务切换状态:
snapd.seeded.service - Wait until snapd is fully seeded
这是 ubuntu 的全新安装 :-D 基本上只是全新安装 + 更新,所以他们的主商店不工作简直是可笑... 将再给它 1 个小时,然后尝试再次重新安装整个系统。
附言:
Flatpak 可以工作,只是说
PS2:刚刚尝试全新安装 18.04,然后我们再来一遍:
snapd.seeded.service - Wait until snapd is fully seeded
Loaded: loaded (/lib/systemd/system/snapd.seeded.service; enabled; vendor preset: enabled)
Active: activating (start) since Sun 2019-05-12 10:07:11 CEST; 3min 10s ago
Main PID: 48141 (snap)
Tasks: 9 (limit: 4617)
CGroup: /system.slice/snapd.seeded.service
└─48141 /usr/bin/snap wait system seed.loaded
kvě 12 10:07:11 stefan-ubuntu systemd[1]: Starting Wait until snapd is fully seeded...
虽然只有 3 分钟,但现在我仔细想起来,我怀疑他们的 API 存在一些问题,或者只是 snapd 的版本损坏了,因为正如你所见,两个安装上的版本是相同的:
snap 2.38+18.04
snapd 2.38+18.04
series 16
ubuntu 18.04
kernel 4.15.0-47-generic
不要更新你的 SNAPD :-)
答案4
尝试以下方法描述在这里。这实质上会刷新配置文件。
打开终端并逐个发出以下命令(提示:三次单击一行以选择它,然后将其复制并粘贴到终端中)。在 Ubuntu 上,您需要安装 jq 命令,因此我添加了一个命令来执行此操作。此外,我添加了一个命令来备份原始文件,以便在问题无法解决的情况下恢复到之前的情况。
sudo apt install jq
sudo cp /var/lib/snapd/state.json /var/lib/snapd/state.json-old
sudo systemctl stop snapd
sudo cat /var/lib/snapd/state.json | jq 'delpaths([["data", "auth", "device"]])' > state.json-new
sudo cp state.json-new /var/lib/snapd/state.json
sudo systemctl start snapd
为确保万无一失,请重新启动系统并尝试问题是否已解决。如果没有,您可以通过复制旧文件、删除备份和新文件以及选择再次删除命令来恢复到以前的状态:
sudo cp state.json-old /var/lib/snapd/state.json
sudo rm state.json-*
sudo apt remove jq ; sudo apt autoremove