如何获取我们应用的补丁的日志?

如何获取我们应用的补丁的日志?

所以这是我的问题我最近下载了 linux 内核补丁 3.4.101 并使用以下命令将此补丁直接应用于基础 3.4.0:

$ cd /kernel source directory
$ gzip -cd ../path to patch/patch-3.4.101 | patch -p1

我得到了一些失败的帅哥……但由于补丁太大,我无法分析所有的帅哥和拒绝……所以这是我的主要问题:

如何获取此修补过程的完整日志?

答案1

patch失败时,它将失败的位保存在.rej文件中。

由于您已经运行了它,因此您将拥有这些文件。您可以使用 找到它们find . -name \*.rej

要获得实际的日志,您必须通过patch寻呼机传输输出和错误,例如lessgzip -dc patch.gz | patch -p1 2>&1 | less。不维护已成功应用的补丁部分的任何日志,因此在运行patch后无法获取完整的日志。patch当然,要使其工作,您需要首先清理目录:如果第二次运行,它将不会提供有用的结果。

请注意,正如评论中提到的,在这种特殊情况下,您得到的事实任何拒绝是一个非常大的问题,您不应该尝试手动解决冲突:确保您获得基本 tarball 和补丁的精确匹配版本。当我运行时,您列出的确切版本没有显示任何错误

rm -rf linux-3.4
tar xzvf ~/Downloads/linux-3.4.tar.gz
cd linux-3.4
gzip -dc ~/Downloads/patch-3.4.101.gz | patch -p1 2>&1 | less -S

但这确实给了我你希望得到的补丁输出。

相关内容