fedora24 dnf用系统升级
fedora24 dnf用系统升级
江水滔滔 发表于1年前
fedora24 dnf用系统升级
  • 发表于 1年前
  • 阅读 17
  • 收藏 0
  • 点赞 0
  • 评论 0

1、dnf-plugin-system-upgrade是用于处理系统升级的dnf软件包管理器的插件。 这是推荐的Fedora 21及更高版本的升级方法。

DNF系统升级可以使用类似于用于脱机程序包更新的机制将系统升级到较新版本的Fedora。 在系统正常运行时下载更新的软件包,然后系统重新启动到特殊环境(实现为systemd目标)以进行安装。 一旦更新的软件包的安装完成,系统将重新启动到新的Fedora版本。

备份您的重要数据。 每个系统更改都有潜在风险,需要准备。 如果您更新工作站,下载Workstation Live映像并确保您的硬件(图形卡,wifi等)与最新的内核和驱动程序兼容是明智的。

2、使用桌面或dnf的标准更新程序更新系统:

sudo dnf upgrade --refresh

建议重新启动计算机,特别是如果你刚刚安装了一个新的内核。请注意,如果您使用非默认plymouth启动主题,则会出现问题。 如果您这样做,请按照问题说明,以确保您的升级不会受到影响。如果您已经完成了任何自定义配置(手动或通过第三方工具),请在/etc/dnf/dnf.conf中双重检查您的DNF配置,建议您在更新和升级系统之前将其还原为默认配置。

3、安装dnf-plugin-system-upgrade包:

$ sudo dnf install dnf-plugin-system-upgrade

4、下载更新的软件包:

$ sudo dnf system-upgrade download --refresh --releasever = 24

如果要升级到不同的系统版本,请更改--releasever = number。 大多数人都想升级到最新的稳定版本,这是24,但如果你正在运行Fedora 22,你可能想升级到Fedora 23.你也可以使用25升级到分支或生皮,升级到Rawhide (警告:那些不是稳定版本)。

如果某些软件包具有不满足的依赖性,则升级将拒绝继续,直到您再次使用额外的--allowerasing选项运行它。 这通常发生在从尚未发布更新的存储库的第三方存储库安装的软件包。 请仔细研究输出,并检查哪些包将要删除。 它们都不是系统功能的基础,但其中一些可能对您的生产力很重要。

在不满足依赖性的情况下,如果在命令行中添加--best选项,有时可以看到更多详细信息。

5、触发升级过程:

 $ sudo dnf system-upgrade reboot

这将立即重新启动您的机器。 系统应该使用相同的内核再次引导到Fedora,但是这一次,升级过程出现在启动屏幕上。

6、等待升级过程完成。

经常问的问题

1、如何报告我通过升级找到的问题?

首先看看常见的F24错误或常见的F25错误,以检查这个问题是一个非常突出的问题,我们已经知道。 如果不存在,请搜索现有的错误报告。 如果您没有看到符合您症状的报告,可以从搜索页面上提交新报告。 请按照本README和man dnf.plugin.system-upgrade中提到的错误报告指示操作。

2、DNF系统升级是否验证其在升级期间运行或安装的软件?

是。 用于较新Fedora版本的程序包签名密钥发送到较旧的Fedora版本,以允许DNF验证其下载软件包的完整性。 您可以使用--nogpgcheck参数禁用此功能(如果您出于任何原因需要这样做)(不推荐,那么您会被恶意软件的攻击打开)。

3、第三方存储库中的包是否会升级?

是的,如果他们像常规的DNF存储库一样设置,并且不硬编码存储库路径。 常用的第三方存储库通常工作正常,但如果您尝试在官方Fedora发行版之前或之后升级,他们可能尚未更新其存储库路径,DNF可能无法找到其软件包。 这通常不会阻止升级成功运行,您可以稍后从第三方存储库更新包。

4、我可以从end of life版本升级吗?

 请注意,Fedora强烈建议在任何情况下,不要在任何生产系统或连接到公共互联网的任何系统上运行end of life版本。 您不应该允许生产Fedora部署到end of life。

考虑到这一点,如果您在系统上安装了比Fedora 20更新的End-of-Life版本,您不能只是丢弃或重新部署,您可以尝试升级它,虽然这是一个较少测试, 支持操作。 您可以尝试通过中间版本进行升级,直到达到当前支持的版本,或尝试在单个操作中升级到当前支持的版本。 不可能肯定地说明哪种方法更可能成功。

如果您尝试在一个操作中跨多个版本升级,请阅读下一个答案。

如果您安装了Fedora 20或更早版本,则无法单独使用DNF系统升级。 你必须使用裸dnf或yum至少部分升级。 您可以以这种方式升级到Fedora 21,然后使用DNF系统升级来升级剩余部分,也可以使用裸dnf或yum尝试整个升级。 注意这种方法本身不是官方推荐的升级机制。 说实话,任何从Fedora 20或更早版本升级都是“自担风险”。

5、我可以一次升级多少个版本?

最常见的情况是只升级一个版本(例如Fedora 23到Fedora 24)。 然而,在新版本发布后的第一个月左右,从最后一个版本到该版本的升级是“支持”的,因为我们在Fedora版本标准中包括这个场景,测试它 最少清洁安装支持的软件包集合,并将处理在此类升级中发现的错误。 Fedora版本生命周期是专门为提供这个大约一个月的宽限期,所以你可以选择升级长寿命系统只有每两个版本一次,而不是每次发布。

不支持两个以上版本的升级,并且在此类升级中遇到的问题可能不被视为重大错误。 注意,跨越两个以上版本的任何升级必须是从生命周期版本升级,因此前面的问题也适用于此。

在新版本发布后一个月左右,最后一个版本发布为生命终止,此时上一个问题适用。 不过,在发布到期后,该升级仍然很可能成功运行一段时间。

在多个发行版之间升级时,您可能会发现需要手动导入目标发行版签名密钥。 Fedora版本通常只有安装的下两个版本的软件包签名密钥(因为它们在N + 3版本分支之前就已经到期)。 在Fedora 22之前,并不是每个版本都有下一个版本的密钥。 如果dnf抱怨缺少密钥,这是你必须做的。

6、我可以使用DNF系统升级来升级到预发布(例如测试版)吗?

是。 应该总是可以尝试这样的升级。 当然,这个功能与预发布的任何其他方面一样,都受到临时破坏,一般来说,所述释放越早,越不可能没有问题地工作。

可选的升级后任务

这些是成功升级后可以执行的任务。 它们主要面向高级用户。 如果你是一个每天不使用终端的用户,你不需要担心这个。更新系统配置文件

大多数配置文件存储在/ etc中。 如果有任何更新,并且你以前碰到过这些文件,RPM将使用.rpmnew后缀(新的默认配置文件)或.rpmsave后缀(备份的旧配置文件)创建新文件。 您可以搜索这些文件,通过更改,并确保您的自定义更改仍然包括,并应用新的默认值。 一个试图简化这个的工具是rpmconf。 安装软件包,然后将其用作:

$ sudo rpmconf -a

请在其手册页中查看更多信息。

清理旧的包

您可以看到具有破坏依赖关系的软件包列表,如下所示:

$ sudo dnf repoquery --unsatisfied

理想情况下应该没有。 如果有一些,请考虑删除它们,因为他们不可能正常工作。

您可以看到重复的包(安装了多个版本的包),如下所示:

$ sudo dnf repoquery --duplicated

对于普通软件包,只应安装最新版本。 但是可以有规则的例外,只删除你确定不再需要的。某些软件包可能会保留在您的系统上,而这些软件包已从存储库中删除。使用命令:

$ sudo dnf list extras

如果您不使用这些,您可以考虑删除它们。 请注意,此列表仅在您具有完全更新的系统时有效。 否则,您将看到已不在存储库中的所有已安装的软件包,因为有一个较新的更新可用。 所以在执行这些操作之前,请确保您已运行sudo dnf update并再次生成额外的软件包列表。 此外,此列表可能包含从尚未发布更新的存储库的第三方存储库安装的软件包。 这通常包括例如 RPM Fusion或Dropbox。

$ sudo dnf autoremove

但要注意dnf决定不再需要包,如果你没有明确要求安装它,没有其他需要它。 这并不意味着包不是有用的,或者你不使用它。 只有删除你确定你不需要的。 PackageKit中有一个已知的错误,它不会将软件包标记为用户安装,请参阅错误1259865.如果您使用PackageKit(或GNOME Software,Apper等)进行安装,则此输出可能会列出重要的应用程序和系统软件包。

解决升级后问题

如果您的升级系统出现问题,请仅执行这些步骤。 它不应该在绝大多数升级中需要。重建RPM数据库

如果在使用RPM / DNF工具时看到警告,您的数据库可能由于某种原因已损坏。 它是可能的重建它,并看看是否解决你的问题。 总是备份/ var / lib / rpm / first。 要重建数据库,请运行:

$ sudo rpm --rebuilddb

使用distro-sync解决依赖性问题

系统升级工具默认使用分发同步方法。 如果您的系统部分未升级或您看到一些程序包依赖性问题,您可以尝试通过手动运行另一个分区同步来解决它。 这试图使您安装的软件包与当前启用的软件库完全相同的版本,即使它意味着降级一些软件包:

$ sudo dnf distro-sync

更强的变体还允许删除不能满足包依赖性的包。 在确认之前,请务必仔细查看要删除的包:

$ sudo dnf distro-sync --allowerasing

使用最新的SELinux策略重新标记文件

如果您看到由于当前SELinux策略而不允许某些操作的警告,则可能是某些文件使用SELinux权限进行了错误标签的情况。 这可能发生在一些错误的情况下,或者如果你在过去的某个时间点禁用了SELinux。 您可以通过运行重新标记整个系统:

$ sudo touch /.autorelabel

并重新启动。 下次启动将需要很长时间,并将检查和修复所有您的文件上的所有SELinux标签。

如果您已安装Fedora并想将安装升级到当前版本,则有两种基本方法:

使用dnf系统升级自动升级

    升级系统的首选方法是使用dnf系统升级实用程序进行自动升级。有关执行自动升级的信息,请参阅Fedora Wiki dnf系统升级。

手动重新安装

    您可以手动升级到最新版本的Fedora,而不是依赖dnf系统升级。这包括引导安装程序,就像执行一个干净的安装,让它检测您的现有Fedora系统,并覆盖根分区,同时保留其他分区和卷上的数据。同样的过程也可以用来重新安装系统,如果需要的话。有关详细信息,请参见第12.1节“手动系统升级或重新安装”。

警告

在执行升级或重新安装系统之前,请始终备份数据,无论您选择哪种方法。

3.2、下载引导和安装映像
Fedora项目提供针对特定用例定制的不同风格。选择最适合您的Fedora风格,或者您可以在安装之后通过自定义来构建自己的风格,或者使用第9.1.1节“创建Kickstart文件”中所述的kickstart文件。 Kickstart安装需要netinstall介质类型或直接安装引导方法,如PXE; kickstarts不支持与实时图像。
有关Fedora Workstation,Fedora Cloud,Fedora Server和可用介质类型的更多信息,请参阅第2章下载Fedora。
您还可以选择一个Fedora Spin,其中包含最喜欢的替代桌面或工具,用于专门的任务,位于http://spins.fedoraproject.org。

共有 人打赏支持
粉丝 2
博文 2
码字总数 4102
×
江水滔滔
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: