使用 dnf 中断从 Fedora 22 到 23 的升级过程是否安全?

使用 dnf 中断从 Fedora 22 到 23 的升级过程是否安全?

我现在正在从 Fedora 22 升级到 23,使用dnf.

fedoraproject.org 上有一个基本上如何做到这一点的指南:https://fedoraproject.org/wiki/DNF_system_upgrade

系统现已重新启动,并且dnf正在安装软件包,但是,我需要中断升级过程。

我有点担心的问题是,断电重启后升级能否正常恢复。

这样做是否安全,或者我的安装最终会出现乱码,即杂种Fedora 22 和 23 的?

答案1

因此,正如我在问题中所描述的那样,在“清理”过程中,我的计算机断电了 - 尽管很优雅,但dnf并没有很好地应对。

清理阶段会从系统中删除旧软件包,因为新软件包已经安装。当尝试执行dnf distro-sync.虽然它会修复软件包冲突,但不会降级某些软件包。

我的系统 - 或者更具体地说dnf仍然假设它在 Fedora 22 上,它有点是且不同时;但事实上它这很有帮助。

因为较新的软件包已经安装,并且一些旧的软件包已被删除,所以推送到较新的版本更有意义,因为 Fedora 22 已经缺少软件包(因为更新已经清理)。

运行时dnf distro-sync --releasever=23您会遇到dnf不想卸载某些(新)软件包的情况,因为它们受到保护。

这个问题可以通过dnf distro-sync --disableplugin=protected_packages --releasever=23.原因是,一些已安装的 fc23 软件包已经存在并受到保护(dnf例如,其中之一就是它本身)。但是老的fc22 软件包dnf尚未清理。它仍然被安装和保护。

由于升级过程几乎在删除旧文件的过程中停止,因此 fc22 和 fc23 版本之间分别存在大量版本冲突。

其中一些冲突可以通过使用额外的--allowerasing开关来避免,这有点帮助。但最终,我不得不自己消除大部分冲突,这意味着逐个包地消除有问题的冲突。 我最终texlive-*在继续之前删除了所有软件包,它加快了升级 - 失败 - 重试的过程,并使检查已安装的软件包变得更加容易。

最终,dnf upgrade --refresh --releasever=23 --allowerasing安装了一堆升级,并向我指出了剩余的几个版本错误。之后,启动进入 Fedora 23 就没有问题了。


应该注意的是,如果我处于过程的“安装”/“升级”阶段,当发生电源故障时,解决方案会有所不同。我可能会发行版同步回 Fedora 22,删除所有 fc23 软件包并重新开始。

答案2

我不建议这样做,因此它对系统来说根本不安全。

它可能会破坏系统,您可能无法启动它,并且要恢复它会遇到很多麻烦。

为什么要中断安装?

相关内容