patch diff 补丁文件

标签: patch 补丁 diff -p0  -p1
11人阅读 评论(0) 收藏 举报
分类:
diff 和 patch 是一对工具,使用这对工具可以获取更新文件与历史文件的差异,并将更新应用到历史文件上。在数学上说,diff就是对两个集合的差运算,patch就是对两个集合的和运算。在数学上我们知道: A - B = C, 这样我们知道 A、B、C中任意两个数都可以得到第三个数:
下面我们以linux-3.0内核举例说明:
如下图所示,linux目录下有从官网下载的内核源码linux-3.0还有经过自己DIY重新改过的linux内核linux-3.0.changed


通过diff命令,生成自己命名的补丁文件。
diff —Nuar linux-3.0 linux-3.0-changed > linux-3.0-patch



此时三个文件的关系是:
linux-3.0  + linux-3.0-patch =linux-3.0-changed

保存patch补丁后,每次只需使用如下命令,就能给文件打上补丁 :

patch -p0 <linux-3.0-patch

patch -p1 <../linux-3.0-patch
两个命令的区别如图:


-R能将打过补丁的文件还原:
patch -R -p0 < linux-3.0-patch

再一次牢记这四个命令
diff  -Nuar linux-3.0 linux-3.0-changed > linux-3.0-patch
patch -p0 <linux-3.0-patch
patch -p1 <../linux-3.0-patch
patch -R -p0 < linux-3.0-patch

查看评论

补丁的制作和使用:diff和patch

原理现在有一个文件file1,通过修改file1得到了文件file2,然后用diff工具比较file1和file2的差异,得到一个补丁文件file.patch,它记录了两个文件的不同之处,patch工...
  • exbob
  • exbob
  • 2011-07-15 20:14:06
  • 2056

diff && patch 命令制作补丁

diff 命令diff可以比较两个文件,并可同时记录下二者的区别。制作补丁时的一般用法和常见选项为: diff 【选项】 源文件(夹) 目的文件(夹) -r:递归,设置后diff会将两个不同...
  • ZCF1002797280
  • ZCF1002797280
  • 2015-10-28 14:36:01
  • 3172

Linux下使用diff和patch制作及打补丁(已经实践可行!)

在做开发的过程中难免需要给内核及下载的一些源码打补丁,所以我们先学习下Linux下使用如如何使用diff制作补丁以及如何使用patch打补丁。 通过diff命令比较出新旧版本之间的差异,并以pa...
  • tao_627
  • tao_627
  • 2016-10-26 22:37:25
  • 2983

diff & patch 制作及打补丁(两种生成补丁的方式(git和diff))

生成patch过程: 1. Git branch a 2. git checkout a 3. modify 4. git commit -am 5. git diff ...
  • u011784994
  • u011784994
  • 2016-10-27 12:16:46
  • 5889

补丁制作与应用—diff和patch命令的使用

谈及linux补丁(patch)及其patch操作,自然而然地觉其复杂,故一直存敬畏之心,所以也就一直远离它。但像做嵌入式linux开发,有时候patch是无法绕过的。 对于补丁制作与应用,实际上就...
  • mrwangwang
  • mrwangwang
  • 2013-07-22 15:53:01
  • 1003

关于binary diff / patch 差分补丁工具的那些事

差异工具 差异工具,其实就是·····有点难解释,看下面吧,相信你很快就懂了。 这个工具叫做binary diff / patch 顾名思义大概就是二进制比较和打补丁 看那个下划线就知道这个工...
  • Mr_xin321
  • Mr_xin321
  • 2016-01-03 21:00:06
  • 2126

Linux的diff和git diff生成patch/打patch

一、Linux的diff生成patch和打patch 1、单个文件生成patch  #  diff -up xxx/a.txt yyy/b.txt  > mypatch_1  参数解释:   -u:显...
  • u010164190
  • u010164190
  • 2017-04-27 19:25:06
  • 3032

Linux下使用diff/patch制作/使用补丁文件

首先介绍一下diff和patch。在这里不会把man在线文档上所有的选项都介绍一下,那样也没有必要。在99%的时间里,我们只会用到几个选项。所以必须学会这几个选项。 1、diff     ----...
  • cnlamo
  • cnlamo
  • 2014-09-06 09:40:37
  • 498

生成单个/多个补丁,打补丁用法

通过diff工具生成补丁, patch工具打上补丁. 在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必...
  • yhcs1213
  • yhcs1213
  • 2015-10-21 16:10:14
  • 928

diff 和 patch 的入门(及 Windows 下的用法)

自从我开始使用 Git 以及接触 Linux 之后,我发现我越来越离不开 Linux 上那些方便好用的工具。比如 diff &patch。     如果修改了开源代码,为了方便分享(如提交漏洞)或自...
  • vigour1000
  • vigour1000
  • 2014-04-05 12:22:52
  • 3274
    个人资料
    等级:
    访问量: 447
    积分: 93
    排名: 142万+
    文章分类
    文章存档