openSUSE使用教程給內(nèi)核源代碼打補(bǔ)丁
內(nèi)核源碼升級(jí)可能使某個(gè)補(bǔ)丁失效,所以并不是一個(gè)補(bǔ)丁可以"補(bǔ)"所有版本內(nèi)核的。如果補(bǔ)丁無(wú)法在新內(nèi)核上使用,有兩種情況,一是內(nèi)核已經(jīng)被收入內(nèi)核不必再"補(bǔ)",或者補(bǔ)丁已經(jīng)對(duì)新版內(nèi)核代碼失效。不管如何,如果出現(xiàn)錯(cuò)誤請(qǐng)搜索或根據(jù)原補(bǔ)丁自行制作新補(bǔ)丁。
openSUSE使用教程選擇需要的補(bǔ)丁
這是考驗(yàn)?zāi)銓?duì)系統(tǒng)了解的時(shí)候,地球上硬件和補(bǔ)丁眾多,具體什么系統(tǒng)和硬件選擇什么補(bǔ)丁并不在本文檔討論范圍中。但選擇需要補(bǔ)丁的標(biāo)準(zhǔn)很簡(jiǎn)單,首先是硬件需要,其次是功能需要,***是心理需要。沒(méi)必要把找到的所有補(bǔ)丁全部打上,極端一點(diǎn)說(shuō),補(bǔ)丁越多,系統(tǒng)越慢。
硬件需要是根據(jù)你的硬件來(lái)選擇補(bǔ)丁,小部分硬件使用原始內(nèi)核會(huì)出現(xiàn)功能不同程度的紊亂或衰弱,也有的并不影響正常使用,只不過(guò)在日志中不斷報(bào)錯(cuò);此時(shí)可以用補(bǔ)丁修復(fù)這種情況。
在 kernel-source 的 src.rpm 中有大量的補(bǔ)丁存在,解壓 patches 開(kāi)頭的幾個(gè) bz2 壓縮文件。先 root 權(quán)限 lsmod 看看已經(jīng)加載哪些模塊,再找找那些補(bǔ)丁文件名中有沒(méi)有帶其中某個(gè)模塊名稱。如果有,再核對(duì)系統(tǒng)架構(gòu)以及其他信息。不必每個(gè)文件名都仔細(xì)看,大體瀏覽下有印 象就可以。如果你是 Acer 的筆記本那么文件名中帶 ibm asus 的基本與你無(wú)關(guān);同理,如果你是 32 位的系統(tǒng),文件名中帶 x86_64 ia64 ppc 的補(bǔ)丁對(duì)你也沒(méi)有意義;如果你使用 AMD CPU 和芯片組那就不必看名稱帶 intel 字樣的補(bǔ)丁。實(shí)在拿不準(zhǔn)是否需要該補(bǔ)丁,可以點(diǎn)開(kāi)看看文件開(kāi)頭的注釋信息。
切記,如果你對(duì)自己的硬件只有大概的了解,可以先不打或少打幾個(gè)你認(rèn)為是必要的硬件方面補(bǔ)丁,出現(xiàn)問(wèn)題再根據(jù)日志的提示,搜索看是不是需要某個(gè)補(bǔ)丁,然后打上補(bǔ)丁重新編譯。功能需要是某些軟件需要補(bǔ)丁實(shí)現(xiàn)自己的功能,為了使這些軟件正常運(yùn)行而不得不打補(bǔ)丁,比如下面要提到的 Bootsplash 補(bǔ)丁。如果你對(duì)這些也不了解,也可以等出了問(wèn)題再搜索看看。心理需要是對(duì)某些補(bǔ)丁出于各種原因產(chǎn)生感情依賴,不打該補(bǔ)丁會(huì)導(dǎo)致用戶進(jìn)入惡劣心境。為避免嚴(yán)重的不可預(yù)知的后果,此時(shí)應(yīng)該打相應(yīng)補(bǔ)丁避免此類情況發(fā)生。
openSUSE使用教程常見(jiàn)補(bǔ)丁系
MM系補(bǔ)丁:
http://kernel.org/patchtypes/mm.html
由 2.6 維護(hù)者 Andrew Morton 整理的一系列補(bǔ)丁,有很多對(duì)內(nèi)核部件的升級(jí)和硬件兼容補(bǔ)丁。非常重要且常用。
AC系補(bǔ)丁:
http://kerneltrap.org/forum/linux/kernel/2.6/ac
一套由 Redhat 的 Alan Cox 維護(hù)的補(bǔ)丁集。一般是增加硬件支持的補(bǔ)丁。
CK系補(bǔ)丁:
http://members.optusnet.com.au/ckolivas/kernel/
一套由 Con Kolivas 維護(hù)的補(bǔ)丁集。含大量性能優(yōu)化補(bǔ)丁,針對(duì)桌面和服務(wù)器各有一套。如果你想給系統(tǒng)提速,可以挑選使用其中部分補(bǔ)丁,全部使用可能導(dǎo)致死機(jī)。
openSUSE使用教程SUSE 常用補(bǔ)丁
Apparmor 補(bǔ)丁- 配合 Novell Apparmor 軟件,作為 SUSE 特有安全模塊。
Bootsplash 補(bǔ)丁- 開(kāi)機(jī)進(jìn)入系統(tǒng)時(shí)的動(dòng)畫(huà)。
flush-o-fat 補(bǔ)丁 - 寫(xiě)入 FAT 格式硬盤加 -o 提速參數(shù),不加此補(bǔ)丁可能無(wú)法自動(dòng)掛載 FAT 格式移動(dòng)硬盤。
openSUSE使用教程打補(bǔ)丁的順序和方法
順序
打補(bǔ)丁有順序,一般是先打官方提供的增量升級(jí)補(bǔ)丁,其次是硬件需要的補(bǔ)丁,之后是功能需要補(bǔ)丁。心理需求補(bǔ)丁的優(yōu)先級(jí)在所有補(bǔ)丁之上,甚至遠(yuǎn)遠(yuǎn)高于內(nèi)核源代碼本身。
使用 src.rpm 才需要增量升級(jí)補(bǔ)丁,作用是將增量升級(jí)原有內(nèi)核源碼至新版本;自行下載的原始內(nèi)核可以是***的,不必走這一步。
openSUSE使用教程單個(gè)補(bǔ)丁文件
單個(gè)補(bǔ)丁文件可能有如下后綴 .diff .patch 或者沒(méi)有后綴,本質(zhì)上都是純文本文件,可用文本編輯器打開(kāi)修改。補(bǔ)丁方法如下:
#cd /usr/src/linux-版本號(hào)#patch -p1 -i /路徑/補(bǔ)丁文件名
例如,我對(duì)自行下載的純凈內(nèi)核打單文件補(bǔ)丁 bootsplash ,實(shí)現(xiàn)開(kāi)機(jī)進(jìn)入 X 前的動(dòng)畫(huà),下載到適合***版本內(nèi)核的補(bǔ)丁,文件是 /home/truth/new/patches/bootsplash-2.6.18.diff
#cd /usr/src/linux-2.6.18#patch -p1 -i ~truth/new/patches/bootsplash-2.6.18.diff
openSUSE使用教程gz/bz2 格式的補(bǔ)丁
并不是所有 gz/bz2 壓縮文件都可以用下面方式打上補(bǔ)丁。這類文件必須僅僅包含一個(gè)以上單文件補(bǔ)丁,不應(yīng)含其它雜質(zhì);所以用本方法應(yīng)先打開(kāi) gz/bz2 壓縮包檢查是否符合條件。這種補(bǔ)丁方法本質(zhì)上就是按照壓縮包內(nèi)文件名升序排列的順序挨個(gè)打上單文件補(bǔ)丁。使用命令為:
#cd /usr/src/linux-版本號(hào)gz 壓縮包: #zcat 路徑/文件名.gz | patch -p1bz2 壓縮包: #bzcat 路徑/文件名.bz2 | patch -p1
這里用上面提到的使用官方 src.rpm 的源碼作為例子,內(nèi)核增量補(bǔ)丁是從 src.rpm 解壓出來(lái)的 patches.kernel.org.tar.bz2 在 /home/truth/new/patches/ 目錄
#cd /usr/src/linux-2.6.16#bzcat ~truth/new/patches/patches.kernel.org.tar.bz2 | patch -p1
有些壓縮包中的補(bǔ)丁對(duì)所在路徑有要求,一般將它們放到 /usr/src/ 目錄即可。關(guān)于 patch 命令更多用法請(qǐng) info patch ,本文不作深究。
【編輯推薦】
- 硬盤安裝openSUSE11的具體實(shí)現(xiàn)
- 介紹lupa的4個(gè)openSUSE設(shè)置源
- Opensuse源列表推薦
- openSUSE安裝源軟件指南
- openSUSE mplayer編譯安裝的實(shí)現(xiàn)過(guò)程