打补丁patch 命令使用

http://www.cnblogs.com/huanghuang/archive/2011/07/14/2106402.html

patch 命令用于打补丁,补丁文件是使用diff产生的
patch 命令语法

patch [ -b [ -B Prefix ] ] [ -f ] [ -l ] [ -N ] [ -R ] [ -s ] [ -v ] [ -c | -e | -n ] [ -d Directory ] [ -D Define ] [ -F Number ] [ -i PatchFile ] [ -o OutFile ] [ -p Number ] [  -r RejectFile ] [ -x Number ] [ File ]

patch 命令失败或拒绝接受补丁时,会产生一个和原文件同名,以".rej"为后缀的差异文件。    
使用 -b 时,会产生一个和原文件同名,以".orig"为后缀的备份文件。

常使用的 patch 参数:
-p: 指定目录级别(从路径全称中除去几层目录)如,如果补丁文件包含路径名称 /curds/whey/src/blurfl/blurfl.c
那么:-p 0 使用完整路径名 -p 1 除去前导斜杠,留下 curds/whey/src/blurfl/blurfl.c。 -p 4 除去前导斜杠和前三个目录,留下 blurfl/blurfl.c。

-d :Directory 打补丁前,更改当前目录到指定目录
-i :PatchFile 指定补丁文件,而不是从标准输入中读取补丁信息
-R :逆向补丁,这个选项在防止打错补丁很有用处

补丁的产生一般用 diff命令比较a文件和b文件

diff -Nrua a b > c.patch

如:

diff -Nrua linux-2.6./Makefile linux-2.6./Makefile >c.patch
cat c.patch

--- linux-2.6.14/Makefile 2008-07-30 16:54:20.000000000 +0800 +++ linux-2.6.26/Makefile 2008-07-14 05:51:29.000000000 +0800 @@ -1,8 +1,8 @@ VERSION = 2 PATCHLEVEL = 6 -SUBLEVEL = 14 +SUBLEVEL = 26 EXTRAVERSION = -NAME=Affluent Albatross +NAME = Rotary Wombat # *DOCUMENTATION* # To see a list of typical targets execute "make help"

--- 的文件表示将被打补丁的文件 如:linux-2.6.14/Makefile +++ 的文件表示补丁来源文件   如:linux-2.6.26/Makefile

应用

ls c.patch linux-2.6. linux-2.6.
cd linux-2.6.
patch -p1 <../c.patch

如果有多个补丁要打,则应该注意打补丁的顺序!

摘自:http://blog.ednchina.com/mcu_study/146725/message.aspx

打补丁patch 命令使用的更多相关文章

  1. Linux-使用patch命令给uboot打补丁(3)

    patch:修改文件,让用户对原文件打补丁 用法        patch -p[剥离层级]  <[补丁文件] 打补丁示例: u-boot-1.1.6_jz2440.patach补丁文件给u-b ...

  2. Linux-学习patch命令打补丁,diff命令制作补丁(3)

    patch:通过补丁文件,来对原文件打补丁 diff:      比较两个文件,然后生成一个补丁文件 1.patch用法    patch -p[剥离层级]  <[补丁文件] 2.patch命令 ...

  3. linux下patch命令使用详解---linux打补丁命令

    http://blog.csdn.net/pashanhu6402/article/details/51849354 语 法:patch [-bceEflnNRstTuvZ][-B <备份字首字 ...

  4. diff命令和patch命令

    diff命令和patch命令 Linux就这个范儿 2.9.5 文件对比命令——diff diff命令搭建网站离不开数据库,在Linux系统上我们使用源码安装了MySQL服务器.不久我们发现 Goog ...

  5. 【转】patch命令

    原文网址:http://bbs.chinaunix.net/thread-1945698-1-1.html patch给文件1应用补丁文件变成另外一个文件2(需要先用"diff 文件1 文件 ...

  6. linux中patch命令 -p 选项

    patch命令和diff命令是linux打补丁的成对命令,diff 负责生产xxxxx.patch文件,patch命令负责将补丁打到要修改的源码上.但是patch命令的参数-p很容易使人迷惑,因为对- ...

  7. 补丁(patch)的制作与应用

    命令简介 用到的两个命令是diff和patch. diff diff可以比较两个东西,并可同时记录下二者的区别.制作补丁时的一般用法和常见选项为: diff [选项] 源文件(夹) 目的文件(夹) - ...

  8. Linux patch命令详解

    Linux patch命令 Linux patch命令用于修补文件. patch指令让用户利用设置修补文件的方式,修改,更新原始文件.倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行.如果配合 ...

  9. 找不同diff-打补丁patch

    Q:为什么要找不同,为什么要打补丁? A: 在Linux应用中,作为DBA,我们知道MySQL跑在Linux系统之上,数据库最重要的追求就是性能,“稳”是重中之重,所以不能动不动就是换系统或是换这换那 ...

随机推荐

  1. HTML5:离线存储(缓存机制)-IndexDB

    https://www.w3.org/TR/IndexedDB/ .. <!DOCTYPE html> <html> <head> <meta charset ...

  2. 使用HIBERNATE的SQL查询并将结果集自动转换成POJO

    在某些场合下,我们可能想使用HIBERNATE的框架提供的SQL查询接口,但是,由于实体没有做映射,HIBERNATE不能把结果集转换成你想要的List<POJO>,本文讨论如何在这种情况 ...

  3. 《Java核心技术卷二》笔记(二)文件操作和内存映射文件

    文件操作 上一篇已经总结了流操作,其中也包括文件的读写.文件系统除了读写以为还有很多其他的操作,如复制.移动.删除.目录浏览.属性读写等.在Java7之前,一直使用File类用于文件的操作.Java7 ...

  4. [IT扫盲]软件测试时期版本的称呼

    有时候搞不懂,还没发布时的软件怎么会就有那么多版本,今天彻底想了解一下. 早有人写好了. 请参考这里: http://baike.baidu.com/view/707808.htm#1_2 测试版 α ...

  5. [办公应用]我的WORD文档表格操作不灵活 无法调整列宽

    最近同事的一个word文档中的表格操作非常不灵活,用鼠标直接调整列宽时总觉得很不灵活.她的操作系统为XP,office 为微软office 2003. 我首先检查了木马,检查了输入法等,结果都没有问题 ...

  6. sql in查询排序

    1.默认下,使用select xxx where in(xx,xx)查询,返回结果是按主键排序的,如果要按in()中值的排列顺序,可以这样做:   select * from talbe where ...

  7. win7硬盘安装ubuntu双系统——注意项

    WIN7 下硬盘安装ubuntu 12.04 博客分类: ubuntu   仅为网络上的资料整理 资料引用:http://www.ctocio.com.cn/35/12325035.shtml htt ...

  8. placeholder属性实现text标签默认值提示用户

    <input type="text" class="searchTxt" id=this.id+"-searchTxt" placeh ...

  9. Image Formats

    http://www.html5rocks.com/en/tutorials/speed/img-compression/ https://developers.google.com/speed/we ...

  10. C++ builder的文件操作

    在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:1.基于C的文件操作:2.基于C++的文件操作:3.基 ...