- 論壇徽章:
- 0
|
==================================================
Keywords: Fedora Core, Upgrade, yum
Author: whyglinux (whyglinux AT hotmail DOT com)
Date: 2006-04-05
==================================================
目錄
- 1. 前言
- 2. 準(zhǔn)備工作
- 2.1. 升級 yum
- 2.2. 升級 FC4 kernel
- 2.2.1. 確認(rèn)當(dāng)前 kernel 的版本號
- 2.2.2. 升級 kernel
- 2.2.3. 重啟系統(tǒng)
- 2.2.4. 刪除舊 kernel
- 2.3. 重建 RPM 數(shù)據(jù)庫
- 3. 用 yum 升級系統(tǒng)
- 3.1. 升級 fedora-release
- 3.2. 升級到 FC5
- 3.3. 檢查文件安全屬性
- 3.4. 啟動 FC5
- 4. 事后工作
- 4.1. 刪除 FC4 kernel
- 4.2. 刪除 iiimf
- 5. 后記
復(fù)制代碼
1. 前言
使用 Fedora Core 4 (FC4) 有一段時間了,覺得 FC4 用起來也越來越順手:無論是收發(fā) E-mail、網(wǎng)頁瀏覽、文檔書寫等一些日常行為,還是進(jìn)行程序開發(fā),在 FC4 中都能流暢、順利地進(jìn)行。另外,感覺到 Gnome 界面的易用性在一些方面已經(jīng)超過了 Windows。Fedora 項目的開發(fā)充滿了活力,版本更新較快,而且每一次更新都有較大的進(jìn)步,這說明了社區(qū)開發(fā)模式的成功,也使我們對 Fedora 項目充滿了希望和期待。
不過,在使用 FC4 的過程中也感覺到了一些不完善的地方,比如在輸入法方面(FC4提供的默認(rèn) iiimf 輸入法對 emacs、dia 等軟件的多語言輸入支持還不完善)、在對新版 GTK+ 的支持方面(新版 GTK+ 需要的 Cairo 2D 圖形庫還不被包含在 FC4 中)、其它軟件包方面(很多版本已經(jīng)有些落后,有的存在著兼容性問題,如 wxGTK)等。我期待著在 FC5 中能夠解決這些問題(至少能夠部分解決)。因此,在 FC5 正式發(fā)布(2006-03-20)不久,就把我的系統(tǒng)從 FC4 升級到了 FC5,看看是否能改正我上面提到的一些缺陷,也想看看這次又給我們帶來什么驚喜。
之所以是升級而不是重裝是因為我的系統(tǒng)上已經(jīng)裝有很多的其它的應(yīng)用程序,而升級一般可以避免再次安裝這些程序。另外,系統(tǒng)升級主要是用 yum 進(jìn)行的。yum 是 Redhat/Fedora 的在線升級和軟件包管理工具,在 FC 下一般可用它替代原來 Redhat 的 up2date 工具。
使用 yum 進(jìn)行系統(tǒng)升級的好處是可以避免從網(wǎng)上下載 FC5 的 5 個很大的光盤鏡像文件并刻錄 CD 的麻煩(雖然從硬盤安裝可以不要刻錄光盤,但還是麻煩);yum 可以自動檢查需要升級的軟件包、下載并安裝。缺點是比起光盤安裝或更新方式一般要花費更長的時間。
需要說明的是用 yum 升級系統(tǒng)的過程中可能會出現(xiàn)一些錯誤或警告。有些警告或錯誤無關(guān)緊要,不會影響升級過程;有些錯誤會中斷升級過程,需要安裝者處理完這些錯誤之后才能繼續(xù)進(jìn)行安裝。因此,用 yum 升級系統(tǒng)需要一定的 Linux 系統(tǒng)的使用經(jīng)驗,對 Linux 新手來說推薦用這種方式--對于新手,還是從光盤安裝或者升級比較方便。還有,在線升級對網(wǎng)絡(luò)速度和空余的硬盤空間也有一定的要求。我的系統(tǒng)在升級過程中最大用了 2.3 GB,升級完成后比升級前多占用了 1.5 GB 的硬盤空間。
按照下面的步驟做好準(zhǔn)備工作之后再進(jìn)行升級可以最大限度地避免升級過程中出現(xiàn)的一些錯誤,使升級能夠順利地進(jìn)行。
升級系統(tǒng)需要 root 權(quán)限,在下面出現(xiàn)的命令前 # 表示這些命令是以 root 身份執(zhí)行的。
如果你發(fā)現(xiàn)了本文中的錯誤,或者對本文有什么感想或建議,可通過 whyglinux AT hotmail DOT com 郵箱和作者聯(lián)系。
2. 準(zhǔn)備工作
2.1. 升級 yum
上陣之前,先把自己使用的兵器擦亮:
# yum upgrade yum
2.2. 升級 FC4 kernel
是的,沒錯,在升級到 FC5 之前,首先要升級的是 FC4 的 kernel。這是因為低于 2.6.14 版的 kernel 的存在在升級的過程中會出現(xiàn)類似下面的依賴關(guān)系錯誤,而這些錯誤會中斷升級過程:
- Error: Package initscripts needs kernel < 2.6.12, this is not available.
- Error: Package kudzu needs kernel < 2.6.13, this is not available.
復(fù)制代碼
因此,如果 FC4 kernel 的版本號低于 2.6.14,應(yīng)該進(jìn)行 kernel 升級。升級為新的 FC4 的內(nèi)核之后,再把這些影響升級的舊內(nèi)核刪除,以保持升級的順利進(jìn)行。
2.2.1. 確認(rèn)當(dāng)前 kernel 的版本號
下面的命令可以查看當(dāng)前使用的內(nèi)核的版本號:
# uname -r
如果 FC4 kernel 的版本號不低于 2.6.14,那么可以略過下面升級 FC4 kernel 的過程,直接進(jìn)行“2.2.4. 刪除舊 kernel”的工作。
2.2.2. 升級 kernel
# yum upgrade kernel
2.2.3. 重啟系統(tǒng)
# reboot
ALERT! 重要:在內(nèi)核升級完成后應(yīng)該立即重新啟動系統(tǒng),讓系統(tǒng)使用新的內(nèi)核。只有這樣做了之后,才能進(jìn)行下面的刪除舊內(nèi)核的工作。
重啟后應(yīng)該再檢查內(nèi)核的版本號,確認(rèn)其應(yīng)該在 2.6.14 以上。
2.2.4. 刪除舊 kernel
首先列出當(dāng)前系統(tǒng)中安裝的所有 kernel (包括當(dāng)前正在使用的內(nèi)核):
# rpm -q kernel kernel-smp kernel-devel kernel-smp-devel | sort
根據(jù)上面列出的內(nèi)容,一一刪除除當(dāng)前使用的 kernel 之外的所有舊的 kernel。例如,刪除名為 kernel-2.6.12-1.1381_FC3 的 kernel 可以這么做:
# yum remove kernel-2.6.12-1.1381_FC3
其它的舊內(nèi)核軟件包的刪除依次類推。注意不要把當(dāng)前正在使用的內(nèi)核也刪除了。
2.3. 重建 RPM 數(shù)據(jù)庫
# rpm --rebuilddb
雖然這一步不是必須的,但是這樣做可以防止 RPM 數(shù)據(jù)庫中可能存在的一些潛在錯誤影響升級的進(jìn)行。
至此,準(zhǔn)備工作就做好了。下面正式進(jìn)入向 FC5 的升級階段。
3. 用 yum 升級系統(tǒng)
3.1. 升級 fedora-release
可直接從 Fedora Core 的鏡像網(wǎng)點中進(jìn)行升級安裝。比如:
# rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/fedora-release-5-5.noarch.rpm
在我的更新過程中出現(xiàn)了下面的依賴關(guān)系錯誤導(dǎo)致升級 fedora-release 失。
- error: Failed dependencies:
- fedora-release = 4 is needed by (installed) yum-fedorafaq-4-2006.02.03.noarch
復(fù)制代碼
解決方法就是把依賴軟件包(yum-fedorafaq-4-2006.02.03.noarch)刪除:
# yum remove yum-fedorafaq-4-2006.02.03
然后再重新執(zhí)行上面升級 fedora-release 的 rpm 命令。在你的升級過程中也可能遇不到這個問題。
注:在以后的升級過程中出現(xiàn)類似依賴關(guān)系錯誤的時候可按照上面的方式處理。
3.2. 升級到 FC5
# yum -y upgrade
如果想把上面升級過程中出現(xiàn)的信息記錄下來(比如記錄到 FC4_to_FC5_upgrade.txt 文件中)以便日后查看,同時仍然能在屏幕上顯示這些信息,可以這樣做:
# yum -y upgrade 2>&1 | tee FC4_to_FC5_upgrade.txt
之后,yum 會檢查系統(tǒng)上現(xiàn)存的軟件包,根據(jù)它們的依賴關(guān)系確定要更新或安裝的軟件列表,然后下載相應(yīng)的軟件包并更新或安裝。升級過程會自動進(jìn)行,除非出現(xiàn)依賴關(guān)系等錯誤中斷這個過程。被中斷之后,應(yīng)該刪除有依賴關(guān)系的軟件包之后再重新進(jìn)行升級。
升級過程需要的時間很長,其長短與原來安裝的內(nèi)容和網(wǎng)速都有關(guān)。在我的個人用的 P4 1.8 256MB 機(jī)器上花費了將近 7 個小時才完成。
在升級的過程中,也可能還出現(xiàn)很多警告或者錯誤(其中關(guān)于 selinux 方面的居多)。只要它們不中斷升級過程就沒關(guān)系,可暫時不理會它們。
升級完成后現(xiàn)不要著急啟動系統(tǒng)。如果在原來的 FC4 系統(tǒng)中開啟了 selinux 的話,首先要進(jìn)行下面“檢查文件安全屬性”的操作(如果不清楚 selinux 是怎么回事,或者不清楚是否開啟了 selinux,那也請進(jìn)行下面的操作)。
3.3. 檢查文件安全屬性
# /sbin/fixfiles relabel
這是因為升級之后 selinux 的許可策略可能不正確,會導(dǎo)致 FC 的窗口管理器 metacity 不能啟動,所以這一步最好要在啟動系統(tǒng)之前做一下(啟動之后也可)。
你知道如果窗口管理器失去作用的會怎樣嗎?我就經(jīng)歷過:這時你可以執(zhí)行程序,但是程序窗口不能被擴(kuò)大縮小、不能被移動,就象一個現(xiàn)代人突然回到了石器時代、無力施展之感。失去了才知道它的重要性,這一經(jīng)歷使我對總是在背后默默工作的窗口管理器有了更直觀更深刻的認(rèn)識。
3.4. 啟動 FC5
終于可以啟動新系統(tǒng)了:
# reboot
啟動、登陸之后映入眼簾的就是煥然一新、藍(lán)色基調(diào)的 GNOME 桌面,鼠標(biāo)風(fēng)格也有了變化,F(xiàn)edora 項目也第一次有了自己的徽標(biāo)。想了解徽標(biāo)的含義嗎?看看 [url=http://www.redhat.com/magazine/014dec05/features/fedora/
]這里[/url] 吧。
4. 事后工作
4.1. 刪除 FC4 kernel
新系統(tǒng)正常啟動之后,原來的 FC4 kernel 已經(jīng)沒有用了,你可以把它們刪除:
# yum remove kernel*FC4
4.2. 刪除 iiimf
原來的 iiimf 輸入法也已經(jīng)沒有存在的必要了,可以把它刪除:
# yum remove iiimf*
5. 后記
我在升級完成后,還遇到了 Fontset 的錯誤,導(dǎo)致新的輸入法無法在 emacs 等軟件中輸入漢字。最后發(fā)現(xiàn)是中文字體上存在問題,經(jīng)過卸載、重新安裝后問題得到解決。
可見,在升級的過程中確實存在著不少問題。因此建議盡量從光盤安裝或者升級系統(tǒng),最好是重新安裝系統(tǒng),這樣會得到一個比較“干凈”的系統(tǒng),在安裝過程中也較少會出問題。
最后談一談使用 FC5 的感想,它解決了我前面提到的問題了嗎?回答是肯定的:
- FC5 中提供了 GTK+ 2.8.15,版本非常新,解決了原來裝了新版本的 GTK+ 后帶來的兼容性問題(Cairo 2D 圖形庫已經(jīng)被包含在 FC5 中了)。對我來說,這個版本的 GTK+ 能夠穩(wěn)定地使用一段時間了。
- SCIM (Smart Common Input Method,智能通用輸入法平臺) 徹底解決了 Linux 系統(tǒng)上的多語言輸入問題,而且其使用的方便性是以前的各種輸入法無法比擬的!癝CIM 是 *nix 平臺下最為出色的中文輸入法”,此話信然。如果說還有什么不滿意的話,那就是希望能夠象 Windows 下的輸入法一樣為漢字增加手寫識別功能。
- 原來多使用 Mozilla 瀏覽網(wǎng)頁,感覺很好。之所以不用 Firefox 是因為 Firefox 上的字體太難看了。但是在 FC5 上已經(jīng)不存在這個問題了。而且在 FC5 的 Release Notes 已經(jīng)明確提到:The Mozilla application suite is deprecated,所以把網(wǎng)頁瀏覽器又切換到了 Firefox,結(jié)果驚異地發(fā)現(xiàn):Firefox 有了長足的進(jìn)步,使用舒適,感覺良好。只是在穩(wěn)定性上似乎還存在著一些不足之處。
以上是我比較關(guān)心的幾點。對我來說,F(xiàn)C5 已經(jīng)能很好地滿足我目前的需求(感謝 Fedora 項目)。在其它方面 FC5 也做了很多變動和改進(jìn),具體可參考 Fedora Core 5 Release Notes 的說明。 |
|