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时也应该在此目录进行。
分享到:
相关推荐
在IT行业中,`diff`和`patch`是两个非常重要的工具,主要用于版本控制和软件更新。它们在源码管理和软件开发领域中起着至关重要的作用。`diff`用于比较两个文件或目录的差异,而`patch`则用来应用这些差异,从而更新...
本文将详细介绍如何在 Linux 环境下制作和应用补丁,旨在帮助读者掌握这一实用技巧。 ## 二、基础知识简介 ### 1. diff `diff` 命令用于比较两个文件或目录之间的差异,并生成补丁文件。补丁文件记录了源文件与...
- `patch-2.6.tar.gz`和`patches3.0.tgz`可能分别包含针对Linux内核2.6和3.0的补丁文件,每个`.diff`文件对应源代码的一个或多个更改。 3. **解压和应用补丁**: - 对于`patch-2.6.tar.gz`和`patches3.0.tgz`,...
Linux 打补丁 Patch 是一种常用的方法来升级 Linux 内核版本。下面是关于 Linux 打补丁 Patch 的详细解释。 什么是补丁? ---------------- 补丁是一个文本文档,包含了在两个不同版本的源代码树之间的变化。补丁...
因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。本文首介绍一下diff和patch。然后介绍了制作Patch为单个文件和多个文件进行补丁操作的方法。
Linux diff和patch是GNU Diffutils软件包的一部分,这些工具用于展示、比较和合并文件的差异。了解diff的原理和使用方式,可以帮助用户有效地管理和同步文件更改。diff命令可以比较文件之间的差异,并以多种格式输出...
说到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。diff命令,在制作patch文件的时候,基本上只需要使用到diff -Nau 这个参数,如果比较的是文件夹,还要加上-r参数,所以一般直接使用Naur参数。 ...
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
Linux下的Patch工具是一种用于管理软件源代码差异和更新的实用程序,主要由两部分组成:`diff`和`patch`。这两个工具可以帮助开发者快速找出源代码之间的差异,并将这些差异应用到原始代码上,以便更新或回滚代码到...
### Linux初学者Patch使用指南详解 #### 一、Patch简介及历史背景 Patch是一种用于比较两个文件或目录之间差异,并将这些差异应用到另一个文件或目录中的工具。它最初是在网络带宽有限的时代被广泛采用的,目的是...
### Linux Diff 命令详解 #### 一、概述 `diff` 是 Linux 下一个非常实用...掌握 `diff` 的使用方法,对于日常开发工作和系统管理都是非常有用的。无论是进行代码审查还是进行版本控制,`diff` 都能提供高效的支持。
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
在Linux系统中,`patch`命令是一个非常重要的工具,用于将源代码的差异(通常由`diff`工具生成)应用到现有的源代码库上,从而实现对软件的更新或修复。本文将深入探讨`patch`命令的用法及其在实际场景中的应用实例...
补丁方法:将原始的armboot程序包armboot-1.1.0.tgz 解开后,将armboot-org2mini2440.diff文件放到和armboot-1.1.0的同级目录上,不要拷贝到 armboot-1.1.0 目录里面, 进到 armboot-1.1.0 执行如下的patch命令即可...
通过以上介绍,我们可以看到`patch`命令在Linux系统中扮演着重要的角色,尤其是在软件开发过程中用于快速应用和撤销代码补丁。掌握好`patch`命令的基本用法和选项设置对于高效地管理和维护项目非常重要。同时,结合`...
该文件中包含diff和patch的相关选项。 - 配置Quilt的命令示例如下: ``` cat>~/.quiltrc QUILT_DIFF_ARGS="--no-timestamps --no-index --color=auto" QUILT_REFRESH_ARGS="--no-timestamps --no-index" QUILT...
总的来说,这个"patch安装包"是为了改善WiFi驱动在Linux系统上的移植和性能,对于熟悉Linux内核开发和设备驱动编程的开发者来说,理解和使用这个工具是至关重要的。通过熟练掌握patch的应用,可以有效地提高开发效率...
在Linux和Unix环境中,Shell命令是用户与操作系统交互的基础工具,其中`diff`和`patch`是两个非常实用的命令,主要用于文件和目录的比较以及应用补丁。这两个命令在软件开发、版本控制以及系统维护中起着至关重要的...
说到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。diff命令,在制作patch文件的时候,基本上只需要使用到diff -Nau 这个参数,如果比较的是文件夹,还要加上-r参数,所以一般直接使用Naur参数。 ...