首頁 > 軟體

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

2020-06-16 17:44:07

閱讀目錄

  • 引言
  • 先將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 的介面,白色的,視窗邊緣都有淡淡的光暈,看著很舒服:


IT145.com E-mail:sddin#qq.com