无法从 snap 中修复/删除旧版本的单元

无法从 snap 中修复/删除旧版本的单元

因此,我在网上搜索后,发现了很多问题和解决方案。sudo snap remove {package}遗憾的是,我一直找到的主要解决方案是 中不显示软件包(至少不显示版本)snap list

$ snap list
Name                    Version                     Rev    Tracking         Publisher     Notes
chromium                87.0.4280.88                1424   latest/stable    canonical✓    -
core                    16-2.48.2                   10583  latest/stable    canonical✓    core
core18                  20201210                    1944   latest/stable    canonical✓    base
discord                 0.0.13                      120    latest/stable    snapcrafters  -
foobar2000              1.6.2                       315    latest/stable    mmtrt         -
gnome-3-26-1604         3.26.0.20200529             100    latest/stable    canonical✓    -
gnome-3-28-1804         3.28.0-19-g98f9e67.98f9e67  145    latest/stable    canonical✓    -
gnome-3-34-1804         0+git.3556cb3               60     latest/stable    canonical✓    -
gnome-system-monitor    3.36.0-12-g35f88a56d7       148    latest/stable    canonical✓    -
gtk-common-themes       0.1-50-gf7627e4             1514   latest/stable    canonical✓    -
gtk2-common-themes      0.1                         13     latest/stable    canonical✓    -
p7zip-desktop           16.02.2                     220    latest/stable    ernytech      -
remmina                 v1.4.10+git5.717708b1       4587   latest/stable    remmina✓      -
rocketchat-desktop      3.0.1                       196    latest/stable    rocketchat✓   -
snap-store              3.38.0-59-g494f078          518    latest/stable/…  canonical✓    -
vlc                     3.0.11                      1700   latest/stable    videolan✓     -
wine-platform-3-stable  3.0.4                       11     latest/stable    mmtrt         -
wine-platform-5-stable  5.0.3                       16     latest/stable    mmtrt         -
wine-platform-runtime   v1.0                        200    latest/stable    mmtrt         -

当我启动系统时,它显示类似以下内容的信息Failed to mount unit: gtk2-common-themes version 9。因此,为了证明我没有疯:

$ systemctl --all --failed
  UNIT                                  LOAD   ACTIVE SUB    DESCRIPTION                                  
● snap-gtk2\x2dcommon\x2dthemes-9.mount loaded failed failed Mount unit for gtk2-common-themes, revision 9

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

1 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.

正如您上面看到的,我有一个可运行的版本 13,而不是 9。不知何故,两者都已“安装”,或者至少版本 9 还在,而 13 已安装。

我做了什么:

  • 删除 gtk 和 gtk2 并重新安装它们。

我的要求是:

  • 阻止系统尝试启动版本 9 的方法
  • 或者修复导致此问题的问题

谢谢

  • 更新答案 *

谢谢https://askubuntu.com/a/1305880/1168565 https://askubuntu.com/users/261753/kyle

我可以执行以下操作:

$ snap list --all gtk2-common-themes
Name                Version  Rev  Tracking       Publisher   Notes
gtk2-common-themes           9    latest/stable  canonical✓  disabled,broken
gtk2-common-themes  0.1      13   latest/stable  canonical✓  -
$ sudo snap remove --revision=9 gtk2-common-themes
gtk2-common-themes (revision 9) removed

答案1

不用说,你不应该看到这个错误,我也不确定为什么会发生这种情况。也许值得开一个帖子https://forum.snapcraft.io/让开发人员知道发生了一些奇怪的事情并尝试查明原因。

话虽如此,也许我们可以阻止错误。Snap 会自动更新,而他们使该过程稳健的部分方法是保留多个 snap 修订版本,以防需要恢复。这些修订版本仍然处于安装状态,等等,我认为这与您看到的错误有关。

你可以使用以下选项查看系统上 snap 的所有修订版本,包括非活动版本,--all例如:

$ snap list --all gtk2-common-themes

假设您安装了修订版 9,并且您只关心当前版本(似乎是 13),您可以尝试简单地删除 9:

$ sudo snap remove --revision=9 gtk2-common-themes

再次强调,即使这有效,也只是解决了错误,并没有解释为什么会发生这种情况。这将需要一些调试,因此需要像我建议的那样在论坛上发帖。

相关内容