我尝试将 Windows 10 上的 Ubuntu WSL 升级到更高版本的 Ubuntu,因为它目前使用的是较旧的 18.04。但它失败了,并出现中止错误,没有其他信息。我在网上发现其他人已经删除了snapd
阻止升级的内容。我也删除了snapd
,然后升级成功了。问题和中止错误消息在以下 AU 帖子中描述:
在 WSL 中,do-release-upgrade 悄无声息地导致从 18.04 LTS 升级到 20.04 LTS 失败
无法升级到 Ubuntu 21.04:“正在恢复原始系统状态。正在中止”
Fetched 0 B in 0s (0 B/s) Reading package lists... Done Building dependency tree Reading state information... Done [LONG PAUSE] Restoring original system state Aborting Reading package lists... Done Building dependency tree Reading state information... Done === Command terminated with exit status 1 (Thu Aug 5 02:10:50 2021) ===
我在升级尝试之前进行了全面更新。
sudo apt update && sudo apt upgrade
然后reboot
然后do-release-upgrade
也许可以在 Ubuntu 中更新以处理这个错误?
这是旧版本 18.04 中才存在的问题吗,还是 20.04 及更高版本的升级也需要相同的过程?
建议snapd
每次升级后都添加回来吗?
我发现此信息之后上线。这是否也能解决升级问题,而不是删除snapd
?
sudo -S apt-mark hold procps strace sudo
sudo -S env RELEASE_UPGRADER_NO_SCREEN=1 do-release-upgrade
答案1
也许可以在 Ubuntu 中更新以处理这个错误?
听起来你正在要求修改 Ubuntu 代码来处理这个问题。如果是这样,请理解这只是一个用户网站,没有官方的 Canonical/Ubuntu 存在 - 你需要向他们提出要求。然而,这种变化不太可能发生在不再受支持的 18.04 版本中,即使它涉及升级。
这是旧版本 18.04 中才存在的问题吗,还是 20.04 及更高版本的升级也需要相同的过程?
请参阅我的回答这里关于 WSL 从 20.04 升级到 22.04。在我的测试中,snapd
不再需要删除。但是,如果您确实遇到问题,这可能是一个故障排除步骤。
不过,请阅读整个答案,因为 22.04 版本中存在一些小问题/问题,我会介绍如何修复。
建议
snapd
每次升级后都添加回来吗?
如果你计划启用 Systemd,那么是的。否则,我认为没有必要启用它。目前,考虑到我仍然看到 Systemd 启用后存在的问题,我个人建议将其禁用,但您的需求可能有所不同。
我发现此信息之后上线。这是否也能解决升级问题,而不是删除
snapd
?
不太可能。请注意,那里的信息似乎来自 2017 年,不太可能适用于任何最近的 Ubuntu 或 WSL 版本。我不知道博主为什么觉得有必要保留这些软件包,但我不建议这样做。