linux fedora升级操作

我自横刀向天笑,去留肝胆两昆仑。这篇文章主要讲述linux fedora升级操作相关的知识,希望能为你提供帮助。


【linux fedora升级操作】请参考??官方维基??。

使用 DNF system upgrade 插件升级

$ sudo dnf update --refresh# 更新系统
$ sudo dnf install dnf-plugin-system-upgrade# 安装插件
$ sudo dnf system-upgrade download --refresh --releasever=[23|24|rawhide]# 下载包
$ sudo dnf system-upgrade reboot# 重启执行升级操作

如果某些依赖不满足,升级将终止,可添加 ??--allowerasing??? 选项删除依赖损坏的包。这可能是第三方源还未进行更新。建议卸载这些依赖不满足的包。添加 ??--best?? 选项,可查看依赖问题的详细信息。


升级后操作
  • 更新系统配置文件:
    更新后,RPM将备份配置文件。搜索 ???.rpmnew???(新配置) ??.rpmsave???(旧配置),根据需要进行修改。或使用 ??rpmconf?? 工具进行处理。
$ sudo rpmconf -a

  • 清理旧软件包:
$ sudo dnf repoquery --unsatisfied# 列出依赖问题的包,可以酌情删除这些包
$ sudo dnf repoquery --duplicated# 列出重复的包,一般的包不会有重复存在
$ sudo dnf list extras# 列出已从源中删除的包,可能包含第三方源的包
$ sudo dnf autoremove# 删除不需要的包

注意:DNF 不需要一个包,是根据您是否明确要求安装它来决定的。这不意味着这个包是无用的。您需要删除您确实不需要的包。注意,??PackageKit??? 有个已知的 Bug,它并不标记包是用户安装。如果您使用 ??PackageKit???(或 ??GNOME Software???, ??Apper?? 等)安装包,则这些包可能会列出,甚至会包含重要的应用程序和系统软件包,务必要十分小心。


解决升级后的问题
如果您升级后,系统有问题,可能需要以下步骤。
  • 重建RPM数据库:
    如果您使用RPM/DNF工具时出现警告,可能需要重建RPM数据库。
$ sudo rpm --rebuilddb

  • 使用 ??distro-sync??? 解决依赖问题:
    ???system upgrade??? 工具默认使用 ??distro-sync??? 升级系统。如果您的系统有些未升级的包有依赖问题,可手动执行 ??distro-sync??。这会同步源的软件包(某些包会降级)。
$ sudo dnf distro-sync
$ sudo dnf distro-sync --allowerasing# 允许删除依赖损坏的包,务必进行确认

  • 重新标记 SELinux 标签:
    如果某些行为被禁止并收到 SELinux 警告,可能有些文件标签不正确。
$ sudo touch /.autorelabel
$ reboot


手动升级

升级至 fc24
$ sudo systemctl isolate multi-user.target# 切换至 TUI
$ sudo dnf upgrade
$ sudo dnf clean all
$ sudo dnf distro-sync --releasever=24 --setopt=deltarpm=false \\
--disablerepo=\\* --enablerepo=fedora --enablerepo=updates --nogpgcheck
$ sudo touch /.autorelabel

建议清理 ??/var/cache/yum???, ??/var/cache/dnf???, ??/var/cache/mock???, ??/var/lib/mock?? 等目录。


升级至 Rawhide
$ sudo dnf upgrade
$ sudo dnf install dnf-plugins-core fedora-repos-rawhide
$ sudo dnf config-manager --set-disabled fedora updates updates-testing
$ sudo dnf config-manager --set-enabled rawhide
$ sudo dnf clean -q dbcache plugins metadata
$ sudo dnf distro-sync --releasever=rawhide --setopt=deltarpm=false --nogpgcheck
$ sudo touch /.autorelabel


参考:

  • ??Upgrading??
  • ??DNF system upgrade??




    推荐阅读