歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux入門教程:從Fedora 21升級到Fedora 22

Linux入門教程:從Fedora 21升級到Fedora 22

日期:2017/2/28 13:53:19   编辑:Linux教程

閱讀目錄

  • 引言
  • 先將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

Copyright © Linux教程網 All Rights Reserved