PS:最近测试一套比较新的开源ERP,对系统软件版本要求很新,CentOS7也没这么新的开发包,也不喜欢编译安装(洁癖)。想起了Fedora来,之前有台测试机Fedora22,就想把它更新到最新的Fedora24。该版本glibc 更新到2.23,GCC编译器更新到6.1了,够新!折腾了下,跨版本升级成功。注意:此操作只合适开发和测试环境,不能在生产环境这样折腾。Fedora是新技术试验场,不合适用于生产环境的。
一、使用 DNF 插件升级系统:
升级前的版本截图:
1、更新系统
# dnf update --refresh
2、安装插件
# dnf install dnf-plugin-system-upgrade
3、下载Fedora24版本的更新包
# dnf system-upgrade download --releasever=24 --allowerasing
(如果某些依赖不满足,升级将终止,可添加 --allowerasing
选项跳过。这可能是第三方源还未进行更新,建议卸载这些依赖不满足的包。添加 --best
选项,可查看依赖问题的详细信息。)
4、重启执行升级操作
# dnf system-upgrade reboot
升级后的版本截图:
二、升级后的操作:
1、更新系统配置文件:
更新后,RPM将备份配置文件。搜索 .rpmnew (新配置) .rpmsave (旧配置),根据需要进行修改。或使用 rpmconf 工具进行处理。
# rpmconf -a
2、清理旧软件包:
# dnf repoquery --unsatisfied
(列出依赖问题的包,可以酌情删除这些包)
# dnf repoquery --duplicated
(列出重复的包,一般的包不会有重复存在)
# dnf list extras
(列出已从源中删除的包,可能包含第三方源的包)
解决升级后的问题,如果您升级后,系统有问题,可能需要以下步骤:
3、重建RPM数据库:
如果您使用RPM/DNF工具时出现警告,可能需要重建RPM数据库。
# rpm --rebuilddb
4、使用 distro-sync 解决依赖问题:
system upgrade 工具默认使用 distro-sync 升级系统。如果您的系统有些未升级的包有依赖问题,可手动执行 distro-sync。这会同步源的软件包(某些包会降级)。
# dnf distro-sync
# dnf distro-sync --allowerasing
(允许删除依赖损坏的包。)