所以这是我的问题我最近下载了 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
寻呼机传输输出和错误,例如less
:gzip -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
但这确实给了我你希望得到的补丁输出。