Linux下生成patch和打patch
转自:http://blog.csdn.net/dl0914791011/article/details/17299103
通过diff工具生成补丁, patch工具打上补丁.
在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须保留原来的文件名, 例如, 如果你修改源码中的a.c文件, 那么, 修改后的文件还是名为a.c, 在修改之前你可以复制a.c为a.orig.c进行备份.
1.为单个文件生成补丁
$ diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c linux-2.6.28.8/net/sunrpc/svc.c > patch
这条命令会产生类似如下的输出, 你将它重定向到一个文件中, 这个文件就是patch.
diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c -- ::04.000000000 +
+++ linux-2.6.28.8/net/sunrpc/svc.c -- ::41.859375000 +
@@ -, +, @@ svc_process(struct svc_rqst *rqstp)
2.为多个文件生成补丁
$ diff -uprN linux-2.6.28.8.orig/net/sunrpc/ linux-2.6.28.8/net/sunrpc/ > patch
这条命令对比了linux-2.6.28.8.orig/net/sunrpc/和linux-2.6.28.8/net/sunrpc/两个目录下的所有源码差异.
3.打补丁
$ patch -p1 < patch1.diff
diff命令必须在整个Linux源码的根目录的上一级目录中执行.
4. 示例
$ diff -uparN linux-2.6.31.3 linux-2.6..3_1/ > mypatch
$ cd linux-2.6.31.3
$ patch -p1 < mypatch
注意点:
1. 打patch时,参数-p1, 是1而不是l. 为什么忽略第一级目录,因为工程的下面树状结构相同,但是工程名未必相同,所以打patch时候可以通过p1来避免这个问题。这个可以通过查看patch内容来决定具体执行patch的路径。
2.
Linux下生成patch和打patch的更多相关文章
- linux下生成core dump文件方法及设置
linux下生成core dump文件方法及设置 from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...
- 1.Linux下生成密钥
1.Linux下生成密钥 ssh-keygen的命令手册,通过”man ssh-keygen“命令: 通过命令”ssh-keygen -t rsa“ 生成之后会在用户的根目录生成一个 “.ssh”的文 ...
- random and password 在Linux下生成crypt加密密码的方法,shell 生成指定范围随机数与随机字符串
openssl rand -hex n (n is number of characters) LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head ...
- Linux下生成动态链接库是否必须使用 -fPIC 的问题[转]
在 Linux 下制作动态链接库,“标准” 的做法是编译成位置无关代码(Position Independent Code,PIC),然后链接成一个动态链接库.经常遇到的一个问题是 -fPIC 是不是 ...
- linux下生成https的crt和key证书
今天在配置kibana权限设置时,kibana要求使用https链接. 于是总结了一下linux下openssl生成 签名的步骤: x509证书一般会用到三类文,key,csr,crt Key 是 ...
- linux下生成core dump文件方法及设置【转】
转自:http://blog.csdn.net/mrjy1475726263/article/details/44116289 源自:http://andyniu.iteye.com/blog/196 ...
- linux下生成core dump文件方法
core 文件的简单介绍 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”).我们可以认为 co ...
- linux下生成rsa密钥的方法
首先生成密钥,用命令ssh-keygen –t rsa 运行后可以一直空格,生成密钥,id_rsa和id_rsa.pub文件 ,默认放在/root/.ssh/下,.ssh文件是隐藏的,要显示隐藏文件才 ...
- Linux下生成openssl自签名证书
校验证书是否被 CA 证书签名,正确的情况: $ openssl verify -CAfile /etc/kubernetes/cert/ca.pem /etc/kubernetes/cert/kub ...
随机推荐
- VIM正则表达式。
看了那个30分钟正则表达式入门.但是是在VIM使用过程中偶尔会出现达不得想要效果的情况.后面百度了下,确然,VIM的正则还是有点区别的. 转自:http://www.cppblog.com/kefen ...
- Java 性能优化实战记录(1)---定位并分析耗cpu最多的线程
1) jps 列出相关的java进程, 以及对应的pid 也可以使用如下命令来尝试 ps aux | grep java --color 2) top -Hp <pid> ...
- 264. Ugly Number II
Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...
- POJ 1502 MPI Maelstrom
MPI Maelstrom Time Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other) Total ...
- sgu548 Dragons and Princesses 贪心+优先队列
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=548 题目意思: 有一个骑士,要经过n个房间,开始在第一个房间,每个房间里面有龙或者 ...
- C与Python变量的区别
C中变量有类型,代表一定内存. 而Python变量只是封装过的指针,没有类型.如果不指向对象,就没有意义,更谈不上类型. python中 a=b,和C中 a=b是完全不同的两个操作.前者只是指针(引用 ...
- leetcode 136. Single Number ----- java
Given an array of integers, every element appears twice except for one. Find that single one. Note:Y ...
- Apahce的虚拟用户认证及server-status页
一.Apache虚拟用户认证配置 编辑配置文件加入如下内容: <Directory "/www/htdoc/fin"> Options None AllowOverri ...
- 谷歌浏览器chrome与firefox的冲突(未解之谜)
那年,公司开发了一套在线制作电子书的系统 e-textbook. 我负责小学电脑科教材在线题目的制作. 利用 ps制作剪裁好图片,导入系统,制作题目,并通知同事添加代码. 检测时,却发现有一道图片拖放 ...
- 【C++11】30分钟了解C++11新特性
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 什么是C++11 C++11是曾经被叫做C+ ...