日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

如何為L(zhǎng)inux生成和打上patch_Linux教程

編輯Tag賺U幣
教程Tag:linuxpatch添加

通過diff工具生成補(bǔ)丁, patch工具打上補(bǔ)丁.

在使用diff之前, 你需要保留一份未修改過的源碼, 然后在其它地方修改源碼的一份拷貝. diff對(duì)比這兩份源碼生成patch. 修改過的源碼必須保留原來的文件名, 例如, 如果你修改源碼中的a.c文件, 那么, 修改后的文件還是名為a.c, 在修改之前你可以復(fù)制a.c為a.orig.c進(jìn)行備份.

diff命令必須在整個(gè)Linux源碼的根目錄的上一級(jí)目錄中執(zhí)行.

1. 為單個(gè)文件生成補(bǔ)丁

diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c linux-2.6.28.8/net/sunrpc/svc.c

這條命令會(huì)產(chǎn)生類似如下的輸出, 你將它重定向到一個(gè)文件中, 這個(gè)文件就是patch.

— linux-2.6.28.8/net/sunrpc/svc.orig.c 2009-03-17 08:50:04.000000000 +0800
+++ linux-2.6.28.8/net/sunrpc/svc.c 2009-03-30 19:18:41.859375000 +0800
@@ -1050,11 +1050,11 @@ svc_process(struct svc_rqst *rqstp)

參數(shù)詳解:
-u 顯示有差異行的前后幾行(上下文), 默認(rèn)是前后各3行, 這樣, patch中帶有更多的信息.
-p 顯示代碼所在的c函數(shù)的信息.

2. 為多個(gè)文件生成補(bǔ)丁

diff -uprN linux-2.6.28.8.orig/net/sunrpc/ linux-2.6.28.8/net/sunrpc/

這條命令對(duì)比了linux-2.6.28.8.orig/net/sunrpc/和linux-2.6.28.8/net/sunrpc/兩個(gè)目錄的源碼差異. 不像只需要單個(gè)文件, 如果修改多個(gè)文件, 那么就需要拷貝整個(gè)Linux源碼樹.

參數(shù)詳解:
-r 遞歸地對(duì)比一個(gè)目錄和它的所有子目錄(即整個(gè)目錄樹).
-N 如果某個(gè)文件缺少了, 就當(dāng)作是空文件來對(duì)比. 如果不使用本選項(xiàng), 當(dāng)diff發(fā)現(xiàn)舊代碼或者新代碼缺少文件時(shí), 只簡(jiǎn)單的提示缺少文件. 如果使用本選項(xiàng), 會(huì)將新添加的文件全新打印出來作為新增的部分.

3. 打補(bǔ)丁

生成的補(bǔ)丁中, 路徑信息包含了你的Linux源碼根目錄的名稱, 但其他人的源碼根目錄可能是其它名字, 所以, 打補(bǔ)丁時(shí), 要進(jìn)入你的Linux源碼根目錄, 并且告訴patch工具, 請(qǐng)忽略補(bǔ)丁中的路徑的第一級(jí)目錄(參數(shù)-p1).

patch -p1 < patch1.diff

來源:網(wǎng)絡(luò)搜集//所屬分類:Linux教程/更新時(shí)間:2011-12-08
相關(guān)Linux教程