Patch檔案的生成和使用
通過diff工具生成補丁, patch工具打上補丁. 在使用diff之前, 你需要保留一份未修改過的原始碼, 然後在其它地方修改原始碼的一份拷貝. diff對比這兩份原始碼生成patch. 修改過的原始碼必須保留原來的檔名, 例如, 如果你修改原始碼中的a.c檔案, 那麼, 修改後的檔案還是名為a.c, 在修改之前你可以複製a.c為a.orig.c進行備份. diff命令必須在整個Linux原始碼的根目錄的上一級目錄中執行. 1. 為單個檔案生成補丁 diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c linux-2.6.28.8/net/sunrpc/svc.c 這條命令會產生類似如下的輸出, 你將它重定向到一個檔案中, 這個檔案就是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) 引數詳解: -u 顯示有差異行的前後幾行(上下文), 預設是前後各3行, 這樣, patch中帶有更多的資訊. -p 顯示程式碼所在的c函式的資訊. 2. 為多個檔案生成補丁 diff -uprN linux-2.6.28.8.orig/net/sunrpc/ linux-2.6.28.8/net/sunrpc/ 這條命令對比了linux-2.6.28.8.orig/net/sunrpc/和linux-2.6.28.8/net/sunrpc/兩個目錄的原始碼差異. 不像只需要單個檔案, 如果修改多個檔案, 那麼就需要拷貝整個Linux原始碼樹. 引數詳解: -r 遞迴地對比一個目錄和它的所有子目錄(即整個目錄樹). -N 如果某個檔案缺少了, 就當作是空檔案來對比. 如果不使用本選項, 當diff發現舊程式碼或者新程式碼缺少檔案時, 只簡單的提示缺少檔案. 如果使用本選項, 會將新新增的檔案全新列印出來作為新增的部分. 3. 打補丁 生成的補丁中, 路徑資訊包含了你的Linux原始碼根目錄的名稱, 但其他人的原始碼根目錄可能是其它名字, 所以, 打補丁時, 要進入你的Linux原始碼根目錄, 並且告訴patch工具, 請忽略補丁中的路徑的第一級目錄(引數-p1). patch -p1
相關文章
- git 生成patch和使用patchGit
- 如何使用git 生成patch 和打入patchGit
- 關於Eclipse生成和匯入Patch檔案.Eclipse
- 使用adpatch打patch時log檔案生成目錄
- patch檔案的製作與使用
- matlab開啟和生成使用.p檔案和exe檔案Matlab
- 如何使用diff 和 patch 命令對檔案進行協作?
- 差異檔案(diff)和補丁檔案(patch)簡介
- Linux中patch檔案的產生與使用Linux
- jvm 生成javacore和heapdump檔案JVMJava
- 使用Mavne生成可以執行的jar檔案JAR
- 使用stub快速生成自定義檔案
- coredump檔案生成,以及GDB工具使用
- Oracle使用SQL*Plus生成html檔案OracleSQLHTML
- nodejs生成多層目錄和生成檔案的通用方法NodeJS
- MATLAB生成.coe檔案和.mif檔案程式碼示例Matlab
- linux和window下生成任意大小的檔案Linux
- 我是如何使用freemarker生成Word檔案的?
- python讀取和生成excel檔案PythonExcel
- 使用dompdf/dompdf實現生成pdf檔案
- cmake使用教程(四)-檔案生成器
- 一個自動遞增生成目錄和檔案的cop檔案類
- 生成 api檔案API
- SSIS 生成檔案
- 利用IDEA和exe4j生成exe檔案及資原始檔和so、dll檔案的放置Idea
- PyCharm GUI介面開發和exe檔案生成PyCharmGUI
- Spring原始碼:使用Thymeleaf生成PDF檔案Spring原始碼
- PHP怎麼使用命令列生成檔案?PHP命令列
- 混淆器生成檔案的作用
- 如何製作patch檔案及如何打patch 附帶linux打補丁命令Linux
- Git 打補丁– patch 和 diff 的使用(詳細)Git
- Git 打補丁-- patch 和 diff 的使用(詳細)Git
- 使用java程式碼啟動generator生成相關的檔案Java
- 使用TSM備份30天前生成的檔案的指令碼指令碼
- 如何生成csr檔案
- 流式生成Excel檔案Excel
- java 生成 excel檔案JavaExcel
- POI生成EXCEL檔案Excel