Linux制作补丁与应用
时间:2010-12-12 来源:purple_river
在网上经常看到补丁,发现不用不行了,赶紧学习一下,实际上就是学习一下 diff 和 patch 两个程序的用法,不学不知道,还真发现一些问题,记录在案吧.
1)单个文件补丁:两个文件
制作: diff –uN from-file to-file >to-file.patch
使用: patch –p0 < to-file.patch
复原: patch –RE –p0 < to-file.patch
2) 两个目录做补丁:
diff –uNra from-dir to-dir >to-docu.patch
重要提示: -a会把全部文件做补丁,含二进制;如果没有指定-a,则只能为文本做补丁.
收到补丁的人,有原始目录,还有补丁,经典用法:
进入需要打补丁的目录!这一点很重要!然后:
patch –p1 < to-docu.patch
撤销补丁:恢复原状:
patch –RE –p1 <to-docu.patch
理解 -p0 -p1...
p后目的数字是几,就从 patch中文件中的文件路径去掉几个前导/,例如:
-p1 下:
boot/aaa/bbb/123.txt
就忽略 boot/
-p2 下:
就忽略 boot/aaa/
=======================================================
遇到了问题:
目标文件夹中的0长度文件,在diff时候,没有作出来!被忽略了,怎么办?
找了挺长时间,一直没有找到解决方案!以后慢慢来吧.