`

Linux Patch 制作方法 diff和patch

 
阅读更多

Linux Patch 制作方法 diff和patch

http://bbs.voip88.com/forum.php?mod=viewthread&tid=108&fromuid=7

 

 

使用diff/patch为代码打补丁 
1.diff的使用 
diff可以完成比较功能,生成补丁文件 
格式::diff [option] oldfile newfile 
常用的option选项有: 
-r 对目录进行递归处理 
-u 输出统一格式,diff有"传统"和"统一"两种格式,现在一般使用"统一"格式,比较而言,统一格式生成的文件大,但包含了更多的信息,有利于阅读与定位 
-N 补丁中包含整个新文件 
-a 补丁中包含二进制文件 
缺省时,diff向标准输出打印,所以一般都重定向到文件并以patch为后缀,也就是所谓的补丁文件 
举例: 
/* oldfile hello.c */ 
void main() 

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



/* newfile hello-new.c */ 
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 <patchfile 

如果patch失败,patch会把成功的行打上补丁,失败的行存为以.rej为后缀的文件折,并生成原文件的备份,如果成功则不生成备份。 -b选项可以指定后缀名。 
注意:运行patch所在的目录应该与用diff生成补丁的时候一致。例如,上面在hello-1.0目录的上层目录生成补丁文件,patch时也应该在此目录进行。

分享到:
评论

相关推荐

    Linux下Patch的应用和制作方法

    因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。本文首介绍一下diff和patch。然后介绍了制作Patch为单个文件和多个文件进行补丁操作的方法。

    linux 打补丁patch 详解

    详细解释了如何对linux打升级补丁 patch(diff)命令详解 制作 添加和 步骤实例

    详解Linux patch命令参数及用法

    说到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。diff命令,在制作patch文件的时候,基本上只需要使用到diff -Nau 这个参数,如果比较的是文件夹,还要加上-r参数,所以一般直接使用Naur参数。 ...

    linux diff & patch

    关于Linux diff & patch的资料,想深入了解diff的童鞋可以收藏下

    linux diff命令详解

    linux diff命令、patch制作

    如何使用diff和patch

    1) 在数学上来说:diff/patch,diff是对2个集合求差,patch是求和 ... diff -uNr linux-2.6.xxx linux-2.6.xxx.1 &gt; diff.patch  升级  cp diff.patch linux-2.6.xxx/.  cd linux-2.6.xxx  patch -p1 &lt; diff.p

    armboot-org2mini2440.diff patch补丁包

    补丁方法:将原始的armboot程序包armboot-1.1.0.tgz 解开后,将armboot-org2mini2440.diff文件放到和armboot-1.1.0的同级目录上,不要拷贝到 armboot-1.1.0 目录里面, 进到 armboot-1.1.0 执行如下的patch命令即可...

    嵌入式系统/ARM技术中的如何使用diff和patch

    1) 在数学上来说:diff/patch,diff是对2个集合求差,patch是求和 ... diff -uNr linux-2.6.xxx linux-2.6.xxx.1 &gt; diff.patch  升级  cp diff.patch linux-2.6.xxx/.  cd linux-2.6.xxx  patch -p1 &lt; diff.p

    linux patch 命令小结(收藏)

    说到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。diff命令,在制作patch文件的时候,基本上只需要使用到diff -Nau 这个参数,如果比较的是文件夹,还要加上-r参数,所以一般直接使用Naur参数。 ...

    python-patch:解析和应用统一差异的库

    用于解析和应用统一差异的库。... python patch-1.16.zip diff.patch 安装 patch.py是自给自足的。 您可以将其复制到您的存储库中,然后从此处使用它。 此设置将始终是可重复的。 但是,如果您需要添加pa

    Linux编程环境 介绍 Linux开发基础

    本讲是编程系列讲座的第一讲,主要讲述 Linux 平台上的 C 语言环境,包括编译器、 调试器、Make、Diff、Patch 等。其目的是通过介绍 Linux 上 C 语言编程的基本工具 以及一些新手必须掌握的技巧,迅速引导新手入门,...

    diff-and-patch.zip_Linux/Unix编程_Unix_Linux_

    linux下有两个经常使用的命令patch

    Linux命令搜索工具linux-command.zip

    diff、diffstat、file、find、git、gitview、ln、locate、lsattr、mattrib、mc、mcopy、mdel、mdir、mktemp、mmove、mread、mren、mshowfat、mtools、mtoolstest、mv、od、paste、patch、rcp、rhmask、rm、slocate...

    Linux编程入门之C语言环境

    主要讲述 Linux 平台上的 C 语言环境,包括编译器、 调试器、Make、Diff、Patch 等。其目的是通过介绍 Linux 上 C 语言编程的基本工具 以及一些新手必须掌握的技巧,迅速引导新手入门,以避免走弯路。

    Linux安全设置实践.

    案例3:使用diff和patch工具打补丁 案例4:iptables基本管理 案例5:filter过滤和转发控制 案例6:防火墙扩展规则 案例7:配置SNAT实现共享上网 案例8:常用系统监控命令配置与使用Zabbix监控系统

    ApkDiffPatch:用于Zip(Jar,Apk)文件Diff&Patch的C ++库和命令行工具; 创建最小的deltadifferential; 支持Jar标志(apk v1标志)和apk v2,v3标志

    用于Zip(Jar,Apk)文件Diff&Patch的C ++库和命令行工具; 创建最小增量/差异; 支持(Apk v1标志)& & 您可以使用此库(和Android NDK)来增量更新Apk。 (不支持zip64,仅支持解码代码;从属库 , 和 。) [] ...

    tcl.patch

    diff -uN tcl8.5.2/ tcl8.5a4/ &gt; tcl.patch

    Linux文本处理命令合集

    主要涉及shell脚本中文本处理常见命令,diff/patch查找文本差异,字符串截取cut、tr、uniq等

Global site tag (gtag.js) - Google Analytics