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时也应该在此目录进行。
分享到:
相关推荐
因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。本文首介绍一下diff和patch。然后介绍了制作Patch为单个文件和多个文件进行补丁操作的方法。
详细解释了如何对linux打升级补丁 patch(diff)命令详解 制作 添加和 步骤实例
说到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。diff命令,在制作patch文件的时候,基本上只需要使用到diff -Nau 这个参数,如果比较的是文件夹,还要加上-r参数,所以一般直接使用Naur参数。 ...
关于Linux diff & patch的资料,想深入了解diff的童鞋可以收藏下
linux diff命令、patch制作
1) 在数学上来说:diff/patch,diff是对2个集合求差,patch是求和 ... diff -uNr linux-2.6.xxx linux-2.6.xxx.1 > diff.patch 升级 cp diff.patch linux-2.6.xxx/. cd linux-2.6.xxx patch -p1 < diff.p
补丁方法:将原始的armboot程序包armboot-1.1.0.tgz 解开后,将armboot-org2mini2440.diff文件放到和armboot-1.1.0的同级目录上,不要拷贝到 armboot-1.1.0 目录里面, 进到 armboot-1.1.0 执行如下的patch命令即可...
1) 在数学上来说:diff/patch,diff是对2个集合求差,patch是求和 ... diff -uNr linux-2.6.xxx linux-2.6.xxx.1 > diff.patch 升级 cp diff.patch linux-2.6.xxx/. cd linux-2.6.xxx patch -p1 < diff.p
说到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。diff命令,在制作patch文件的时候,基本上只需要使用到diff -Nau 这个参数,如果比较的是文件夹,还要加上-r参数,所以一般直接使用Naur参数。 ...
用于解析和应用统一差异的库。... python patch-1.16.zip diff.patch 安装 patch.py是自给自足的。 您可以将其复制到您的存储库中,然后从此处使用它。 此设置将始终是可重复的。 但是,如果您需要添加pa
本讲是编程系列讲座的第一讲,主要讲述 Linux 平台上的 C 语言环境,包括编译器、 调试器、Make、Diff、Patch 等。其目的是通过介绍 Linux 上 C 语言编程的基本工具 以及一些新手必须掌握的技巧,迅速引导新手入门,...
linux下有两个经常使用的命令patch
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 语言环境,包括编译器、 调试器、Make、Diff、Patch 等。其目的是通过介绍 Linux 上 C 语言编程的基本工具 以及一些新手必须掌握的技巧,迅速引导新手入门,以避免走弯路。
案例3:使用diff和patch工具打补丁 案例4:iptables基本管理 案例5:filter过滤和转发控制 案例6:防火墙扩展规则 案例7:配置SNAT实现共享上网 案例8:常用系统监控命令配置与使用Zabbix监控系统
用于Zip(Jar,Apk)文件Diff&Patch的C ++库和命令行工具; 创建最小增量/差异; 支持(Apk v1标志)& & 您可以使用此库(和Android NDK)来增量更新Apk。 (不支持zip64,仅支持解码代码;从属库 , 和 。) [] ...
diff -uN tcl8.5.2/ tcl8.5a4/ > tcl.patch
主要涉及shell脚本中文本处理常见命令,diff/patch查找文本差异,字符串截取cut、tr、uniq等