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 构建源码并运行

至此,证明打补丁成功。