对于只能通过 ssh 访问的远程服务器,是DNF系统升级仍然是推荐的版本升级方法吗?在本地计算机上,您可以在重新启动后查看升级进度,但使用 ssh,您只能在一切成功完成后才能重新登录服务器。
如果不行的话有没有更靠谱的方法呢?
答案1
没有了可靠的我发现的进行系统升级的方法。
也就是说,如果您的第三方存储库尚未针对新发行版进行更新并且缺少软件包或存在新冲突,则可能会失败。但这些问题,如果发生的话,会在下载/交易测试阶段显示出来。如果您重新启动系统升级,它将完成,除非出现电源故障或其他灾难性的情况。
不过,在升级 Fedora 之前,您应该检查 Fedora wiki 中标题为“Common F** bugs”的文章,其中 ** 是您要升级到的 Fedora 版本。例如,如果您要从 29 升级到 30,请阅读F30 常见错误首先,查看您是否遇到任何问题,然后延迟升级或应用可能指定的任何解决方法。
答案2
更新远程 Fedora 服务器的最可靠方法是通过安全网进行更新:
- 创建并验证您关心的远程数据的备份
- 建立远程控制台访问,即通过某种 KVM 通过 BMC/iLO/派克KVM或类似的
然后,最好是远程 Fedora 服务器的本地克隆,您可以在其中测试升级步骤。
对于实际的升级步骤你基本上有以下选择:
- 只需从头开始安装新的 Fedora 版本,运行您的 playbook 并恢复您的备份
- 使用
dnf system-upgrade
重新启动到最小的无网络环境以进行升级 - 使用
fedora-upgrade
甚至直接dnf用于在线升级,即同时能够留在您的 - 比如说 - tmux'ed ssh 会话中并直接跟踪进度
可以说,第一个选择是最可靠的,因为它可以说是经过最好测试且最不复杂的选择。
此外,dnf system-upgrade
当您具有控制台访问权限时,例如未安装 plymouth 时,您甚至可能无法获得进度更新。 (FWIW,从 Fedora 35 升级到 37 时仍然存在问题)
如果您确实能够在本地克隆上测试升级,那么你已经测试过了,成功的才是最靠谱的。