linux生成目录间补丁,linux打补丁 patch

1.diff的使用

diff可以完成比较功能,生成补丁文件

格式::diff [option] oldfile newfile

常用的option选项有:

-r 对目录进行递归处理

-u

输出统一格式,diff有"传统"和"统一"两种格式,现在一般使用"统一"格式,比较而言,统一格式生成的文件大,但包含了更多的信息,有利于阅读与定位

-N 补丁中包含整个新文件

-a 补丁中包含二进制文件

缺省时,diff向标准输出打印,所以一般都重定向到文件并以patch为后缀,也就是所谓的补丁文件

举例:

void main()

{

printf("hello the world!\n");

}

void main()

{

printf("HELLO THE WORLD!\n");

}

使用以下命令生成补丁文件hello.patch

$diff -u hello.c hello-new.c >hello.patch

diff可以对整个目录进行比较,生成补丁文件

例如有hello-1.0 和hello-1.1两个目录,其中hello-1.1为hello-1.0的更新

命令:

$diff -ruNa hello-1.0 hello-1.1

>hello-1.1.patch

2.patch的使用

把补丁运用到原代码上的命令为patch

patch [-b] suffix

如果patch失败,patch会把成功的行打上补丁,失败的行存为以.rej为后缀的文件折,并生成原文件的备份,如果成功则不生成备份。

-b选项可以指定后缀名。

注意:运行patch所在的目录应该与用diff生成补丁的时候一致。例如,上面在hello-1.0目录的上层目录生成补丁文件,patch时也应该在此目录进行。

1.现在假设你把你补丁的压缩文件解压到/patch目录下,解压后的文件名为:xxxx.patch

2.然后进入你内核源文件的文件夹,假设为:/root/linux-2.6.x/

cd /root/linux-2.6.x/

3.进行打补丁,命令如下:patch -Np1 -i /patch/xxxx.patch

4.成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值