我现在正在从 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
我不建议这样做,因此它对系统来说根本不安全。
它可能会破坏系统,您可能无法启动它,并且要恢复它会遇到很多麻烦。
为什么要中断安装?