上QQ阅读APP看书,第一时间看更新
2.3 给软件打补丁
在计算机软件中,补丁是用来修复代码中的漏洞的。软件中的补丁表示与源代码之间的不同之处。接下来,我们从原始源代码创建补丁,然后应用补丁。
创建补丁的第一步是备份原始源代码,通常是将它另存为.orig文件,以cello.c为例。首先备份cello.c,然后修改cello.c中的内容,如图2-4所示,我们修改了源代码中的描述。
图2-4 备份并修改源码
查看两个源码文件的不同之处,如图2-5所示。
图2-5 查看两个源码文件的不同
将两个源码的不同之处保存到cello-output-first-patch.patch中。
# diff -Naur cello.c.orig cello.c > cello-output-first-patch.patch
为了验证打补丁的效果,将cello.c文件恢复为原始源代码,如图2-6所示。
图2-6 恢复cello.c初始内容
将补丁文件重定向到补丁,给源码打补丁,如图2-7所示。
图2-7 给源码打补丁
从图2-7cat命令的输出中可以看到补丁已成功构建并运行,如图2-8所示。
图2-8 构建源码并运行
至此,证明打补丁成功。