適用したパッチのログをどのように取得しますか?

適用したパッチのログをどのように取得しますか?

だからここに私の問題があります。最近、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もちろん、これを行うには、まずディレクトリをクリーンアップする必要があります。 2番目に実行すると、有用な結果は得られません。

コメントで述べたように、この特別なケースでは事実がわかります。どの拒否は非常に大きな問題なので、競合を手動で解決しようとしないでください。基本的なタールボールとパッチと正確に一致するバージョンを入手する必要があります。あなたがリストした正確なバージョンは実行時にエラーを表示しません。

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

しかし、これはあなたが期待したパッチ出力を提供します。

おすすめ記事