1、安裝 Fedora8
安裝過程中需要注意的是:要選擇簡體中文安裝界面,這樣中文相關軟件(如輸入法等)和中文語言包才會被缺省安裝。否則等安裝完成後再手工安裝這些東西將會非常繁瑣。
另外,如果你想親自編譯這些軟件包,安裝系統時,在選擇軟件包時,要把“軟件開發”選上,否則在下面的步驟裡你就無法編譯 RPM 包了。不過,本文提供了已經編譯好的 RPM 包,所以,不想自己編譯的朋友也可以不安裝開發包。
安裝完畢後,第一次引導後的配置系統時,我一般會禁用 SELinux,一則因為這玩意對一般個人桌面系統沒啥必要,更重要的是它會給你以後手工安裝的一些軟件的運行造成麻煩(比如,一些不是用 RPM 包安裝的動態庫(如 flash 插件等)無法加載,必須使用復雜的 chcon 命令改變相關安全屬性後才可以加載)。
下面,就是用 yum 安裝所有的官方升級包。建議升級前先修改 /etc/yum.conf 文件(紅色行):
[main]
cachedir=/home/joe/fc8/yum
keepcache=1
debuglevel=2......
這樣 yum 將不會刪除下載回來的 RPM 包,而把它保留在 cachedir 指定的另一個分區的目錄裡;當你下次重新安裝 Fedora 後升級時,就不用重新下載一遍這些文件了。
安裝、升級完畢後,我們就要開始對一些軟件包進行與中文相關的修改了。下面的操作都必須以 root 用戶登錄執行。
2、FreeType:激活 bytecode interpreter 和 subpixel rendering
從 Fedora 的官方 FTP (ftp://download.fedora.RedHat.com/)或 HTTP (http://download.fedora.redhat.com/)服務器下載最新的 FreeType 源碼包,如 freetype-2.3.5-3.fc8.src.rpm(http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/source/SRPMS/freetype-2.3.5-3.fc8.src.rpm)。然後重新編譯和安裝 RPM 包(注意在編譯時要加上激活 bytecode interpreter 和 subpixel rendering 的選項):
# rpmbuild --rebuild --with bytecode_interpreter --with subpixel_rendering \ --define='dist .zfc8' freetype-2.3.5-3.fc8.src.rpm
# cd /usr/src/redhat/RPMS/i386
# rpm -Fvh freetype*.rpm
下載:
freetype-2.3.5-3.zfc8.i386.rpm(http://sandajian.googlepages.com/freetype-2.3.5-3.zfc8.i386.rpm)
freetype-devel-2.3.5-3.zfc8.i386.rpm(http://sandajian.googlepages.com/freetype-devel-2.3.5-3.zfc8.i386.rpm)
freetype-demos-2.3.5-3.zfc8.i386.rpm(http://sandajian.googlepages.com/freetype-demos-2.3.5-3.zfc8.i386.rpm)
3、Cairo:點陣字體“偽粗體”(Embolden)算法的優化
從 Fedora 的官方 FTP 或 HTTP 服務器下載最新的 Cairo 源碼包,如 cairo-1.4.10-2.fc8.src.rpm(http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/source/SRPMS/cairo-1.4.10-2.fc8.src.rpm)。下載 sunmoon1997 提供的補丁(http://sandajian.googlepages.com/cairo-1.4.10-fake-bitmap-glyph.patch),這個補丁對特定條件下點陣字體“偽粗體”算法進行了優化。修改 cairo.spec 以包含這個補丁。然後重新編譯和安裝 RPM 包:
# cd /usr/src/redhat/SPECS# rpmbuild -ba --define='dist .zfc8' cairo.spec
# cd ../RPMS/i386
# rpm -Fvh cairo*.rpm
下載(從源代碼編譯:rpmbuild --rebuild --define='dist .zfc8' cairo-1.4.10-2.zfc8.src.rpm)(http://sandajian.googlepages.com/cairo-1.4.10-2.zfc8.src.rpm):
cairo-1.4.10-2.zfc8.i386.rpm(http://sandajian.googlepages.com/cairo-1.4.10-2.zfc8.i386.rpm)
cairo-devel-1.4.10-2.zfc8.i386.rpm(http://sandajian.googlepages.com/cairo-devel-1.4.10-2.zfc8.i386.rpm)