![linux下如何打补丁](https://linux22.com/image/74624/linux%E4%B8%8B%E5%A6%82%E4%BD%95%E6%89%93%E8%A1%A5%E4%B8%81.png)
我正在尝试使用命令构建内核make
。我需要应用补丁。所有补丁都存在于该SOURCES
目录中,我已将其提取linux-3.8.0
到另一个目录中。我有大约 900 个补丁文件。文件夹*.c
中的文件具有linux-3.8.0
指定名称,但在其相应的补丁文件中具有目录中的abc.c
名称。001abc.c
SOURCES
我正在 Fedora 16 中构建。如何应用补丁?
答案1
补丁文件的名称应该不重要。 (通常)重要的是要修补的文件的名称,如修补程序文件本身的前两行中所定义。
举个例子
--- /tmp/file.original 2015-10-08 13:02:28.171436259 +0100
+++ /tmp/file 2015-10-08 13:02:31.167408397 +0100
@@ -1,3 +1,3 @@
This is the file
-This is the original file
+This is the patched version of the file
This is the file
这表明要打补丁的文件是/tmp/file
,并且可以应用补丁patch -p0 < patch_file
。
答案2
您可以通过对两个文件夹执行 a 操作来创建补丁diff
,然后使用该patch
命令应用它。最好在两个文件夹中使用相同的文件名,以便更容易进行比较。
您还可以使用类似的工具融合比较文件夹,然后选择要在其他文件夹中修补/更改的更改。