红联Linux门户
Linux帮助

把你的Fedora升级到Fedora 24版本

发布时间:2016-06-25 23:12:42来源:FZUG作者:FZUG

Fedora 24已经发布。该版本更新 glibc 至 2.23,更新编译器至 GCC 6,更新 GNOME 3.20,并包含许多安全更新和 Bug 修复。喜欢使用新版本的用户,可以使用以下方式升级系统。


使用 DNF system upgrade 插件升级

$ sudo dnf update --refresh  # 更新系统
$ sudo dnf install dnf-plugin-system-upgrade  # 安装插件
$ sudo dnf system-upgrade download --releasever=24  # 下载包
$ 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

# systemctl isolate multi-user.target  # 切换至 TUI
# dnf upgrade
# dnf clean all
# dnf distro-sync --releasever=24 --setopt=deltarpm=false \
--disablerepo=\* --enablerepo=fedora --enablerepo=updates --nogpgcheck
# touch /.autorelabel
建议清理  /var/cache/yum ,  /var/cache/dnf ,  /var/cache/mock ,  /var/lib/mock  等目录。


升级至 Rawhide

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


本文永久更新地址:http://www.linuxdiyf.com/linux/21841.html