分类: LINUX
2008-07-02 15:52:41
1.diff的使用
diff可以完成比较功能,生成补丁文件
格式::diff [option] oldfile newfile
常用的option选项有:
-r 对目录进行递归比较
-u 输出统一格式
-N 比较目录时若一个目录文件缺失,视之为空文件
-a 将所有文件视为文本文件,逐行比较
$diff -u postlogin.c postlogin-new.c >test.patch
2.patch的使用
patch -pnum
src/vsftpd-2.0.1/postlogin.c
-p0 src/vsftpd-2.0.1/postlogin.c
-p1 vsftpd-2.0.1/postlogin.c
若无-p参数使用无路径信息的文件名postlogin.c。
如果patch失败,patch会把成功的行打上补丁,失败的行存为以.rej为后缀的文件,并生成原文件的备份,如果成功则不生成备份。
注意:运行patch所在的目录应该与用diff生成补丁的时候一致。若目录不一致请使用-p参数改变相对路径。
3.rpmbuild的使用
.src.rpm的源码包安装后将会在/usr/src/中展开源码文件,下面简单说一下如何使用rpmbuild重构修改后的源码。方法很简单:进入SPECS目录,里面有软件对应的包信息文件,如果添加了补丁做必要的修改,然后使用
rpmbuild -ba test.spec