阅读目录
- 引言
- 先将Fedora 21的所有软件包更新到最新状态
- 安装fedup软件包
- 升级系统
- 解决系统升级过程出错的问题
- 重启系统
- 新系统的变化
引言
Fedora 22于5月26日发布,带有不少新特性。yum 包管理系统被完全淘汰,全面使用 dnf 进行替代。Wayland 的应用更进一步,gdm 已经默认使用 wayland 了,但是 gnome-session 依然默认使用 Xorg 。以前每次升级新版本都是从头开始安装,但这一次,我使用了从 Fedora 21 升级到 Fedora 22 的策略,没有从头进行安装。升级过程很顺利,升级完成后,我的所有系统配置和美化方案都还在,而且我感觉 Fedora 22 比 Fedora 21 漂亮了很多。下面展示我的升级过程。
先将Fedora 21的所有软件包更新到最新状态
第一步是先将Fedora 21的所有软件包更新到最新状态。使用一条 sudo dnf update
命令即可:
sudo dnf update
其实在 Fedora 21 中就可以使用 dnf 进行软件包的管理了,只不过在 21 中是 dnf 和 yum 并存,而在 Fedora 22 中是完全抛弃了 yum 。dnf 命令和 yum 命令几乎是完全兼容的,切换起来没有难度。
安装fedup软件包
此次升级的工具是 fedup 。该软件包需要自己安装,命令如下:
sudo dnf install fedup
升级系统
第三步就是升级系统了。直接使用如下命令:
sudo fedup --network 22
解决系统升级过程出错的问题
本以为一切升级过程会一切顺利,结果升级过程中出现了意外。错误提示为“UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 32-34: ordinal not in range(128)”。意思很清楚,说的是 python 语言对 ascii 字符的解析错误。在网上使用该错误信息进行搜索,发现这是 python 脚本编写的问题,在 Python 脚本中加入如下代码可解决问题:
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
这说明 fedup 软件包还存在一点点缺陷,这个 Bug 我已经提交了。但是我自己不可能去修改 fedup 的脚本。我是如何解决这个问题的呢?很简单,将系统语言改成英文即可。升级完成后再修改成中文。也就是说,中文系统在升级的过程中会出错,而英文的不会。
重启系统
重启系统,在 Grub 的启动界面中选择第一项,如下图:
然后等待升级的完成,这个需要点时间。
新系统的变化
升级过程很顺利,升级后的系统也很稳定。升级的系统和新安装的系统的区别就是尽量保持了用户的配置。比如我升级后的系统连壁纸都没有变,而新安装的系统则是有另外一套壁纸。但是 Fedora 22 和 Fedora 21 相比还是有点小变化,窗口主题没有了, gnome-tweak-tool 里也没办法设置窗口主题了,只能设置 GTK+ 主题。因此,我告别了 clearlooks ,选择了默认的主题。而 Fedora 22 的默认主题和之前的版本相比,确实漂亮很多。如下图,左侧是 gnome-terminal 的界面,黑色的,右边是 firefox 的界面,白色的,窗口边缘都有淡淡的光晕,看着很舒服:
更多Fedora相关信息见Fedora 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=5
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/129820.htm