그래서 여기에 내 문제가 있습니다. 최근에 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
물론 이 작업을 수행하려면 먼저 디렉터리를 정리해야 합니다. 두 번째로 실행하면 유용한 결과가 제공되지 않습니다.
의견에서 언급했듯이 이 특별한 경우에는 사실을 알 수 있습니다.어느거부는 매우 큰 문제이므로 충돌을 수동으로 해결하려고 해서는 안 됩니다. 기본 타르볼과 패치와 정확히 일치하는 버전을 얻어야 합니다. 귀하가 나열한 정확한 버전은 실행 시 오류가 표시되지 않습니다.
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
그러나 이것은 당신이 기대했던 패치 출력을 제공합니다.