Ubuntuサーバーにパッチファイルを適用する

Ubuntuサーバーにパッチファイルを適用する

Ubuntuサーバーカーネルにパッチファイルを適用する方法を説明できる人はいますか?応募しようこれtcp_collapse_max_bytesUbuntuサーバーのTCP通信オプションでオプションを有効にするパッチファイル。フォローするこれ答えを聞いて申請しようとしましたが、.patch同じエラーが発生しました。

私のステップは次のとおりです。まず、ディレクトリをカーネルソースフォルダに変更します。

cd /usr/src/linux-headers-5.15.0-58-generic

その後、コマンドを実行します。patch -p0 ~/file.patch

しかし、次のメッセージが表示され、パッチするファイルを入力するように求められます。

can't find file to patch at input line 44
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
...
...
File to patch: 

間違ったディレクトリで作業しているようですが、わかりません。

答え1

ソースコードをダウンロードし、ダウンロードしたソースコードをパッチする必要があることがわかりました。何らかの理由で理解できません。このコードは/usr/src/公式Linuxの正確なコードではありません。 (私のVPSプロバイダがそれを修正した可能性があります)。フォローするこれら手順に従ってパッチを適用してコードをダウンロードし、カーネルをコンパイルしてインストールします。

それで、次のステップが役に立ちました。

  1. たとえば、公式ウェブサイトから適切なLinuxカーネルソースコードをダウンロードします。kernel.org

  2. カーネルを解凍してディレクトリを変更します。cd linux-5.15.**

  3. パッチ適用patch -p1 < path/to/patch/0014-add-a-sysctl-to-enable-disable-tcp_collapse-logic.patch

  4. パッチ付きカーネルをコンパイルしてインストールします。ディストリビューションによっては、この手順は若干異なる場合があり、一部の依存関係が必要になる場合があります。ただし、通常、次のコマンドが関連しています。

make menuconfig

make

手順4はLinuxディストリビューションによって異なり、カーネルをコンパイルしてインストールするために追加のパッケージをインストールする必要があるかもしれません。

関連情報