必威体育Betway必威体育官网
当前位置:首页 > IT技术

linux下patch文件的使用.md

时间:2019-08-14 13:43:17来源:IT技术作者:seo实验室小编阅读:62次「手机版」
 

patch文件

linux下patch文件的使用

通过diff工具生成补丁, patch工具打上补丁.在使用diff之前,需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须保留原来的文件名, 例如, 如果你修改源码中的a.c文件, 那么, 修改后的文件还是名为a.c, 在修改之前你可以复制a.c为a.orig.c进行备份.

diff生成补丁

 $ diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c linux-2.6.28.8/net/sunrpc/svc.c > xx.patch

这条命令会产生类似如下的输出, 你将它重定向到一个文件中, 这个文件就是patch.

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

-u 显示有差异行的前后几行(上下文), 默认是前后各3行, 这样, patch中带有更多的信息.

-p 显示代码所在的c函数的信息.

为多个文件生成补丁时,通常将多个文件分别组织在源文件目录及新文件目录中,然后利用diff命令生成补丁

 $ diff -uprN linux-2.6.28.8.orig/net/sunrpc/ linux-2.6.28.8/net/sunrpc/ > patch

这条命令对比了linux-2.6.28.8.orig/net/sunrpc/和linux-2.6.28.8/net/sunrpc/两个目录下的所有源码差异.

参数详解:

-r 递归地对比一个目录和它的所有子目录(即整个目录树).

-N 如果某个文件缺少了, 就当作是空文件来对比. 如果不使用本选项, 当diff发现旧代码或者新代码缺少文件时, 只简单的提示缺少文件. 如果使用本选项, 会将新添加的文件全新打印出来作为新增的部分.

打补丁

生成的补丁中包含路径信息,打补丁时需要查看patch文件,一般是第一行,检查patch文件包含在几层目录中,然后对应于patch命令的 -p几,-p后边的数字表示忽视几层目录 <后边为patch文件的路径

$ patch -p1 < patch1.patch

相关阅读

hosts文件配置

要求:配置 域名和IP的映射关系到hosts文件。IP:     110.123.11.0地址:  https://lucky.com:16015/app/html/index1.htm步骤:1、w

程序员别唬我系列之:二进制文件

二进制文件和文本文件有什么区别?程序员经常说:“哥,你也别用明文写文件啊,至少也要写成二进制文件啊”。程序员经常说:“哥,这篇文章数

迅雷快传是什么软件 迅雷快传分享文件的方法介绍(图文

由于115网盘不支持大众分享了,所以很多用户都转战了迅雷快传。今天小编就为大家介绍一下迅雷快传怎么用。   首先,目前的迅雷快传

亲测有效 Xmind8 Pro 最新版破解教程(序列号|破解文件)

一、下载XMindCrack.jar文件:(百度云的如果被屏蔽了,请留下邮箱,抽空会发给你) 百度云(https://pan.baidu.com/s/1x5Y4FFG61MTOCFTHs

QT CreatorLNK1104:无法打开文件"\.obj"

在一个项目中,打开项目之后,进行qmake,然后编译,居然出现了错误 开发环境是: win7(x64) Qt 5.7.0 Qt Creator MSVC 2013 参考资料的

分享到:

栏目导航

推荐阅读

热门阅读