Linux カーネルのパッチの目的は何ですか?

Linux カーネルのパッチの目的は何ですか?

Linuxカーネルのバージョンごとに、ダウンロード可能なパッチファイルがあります。たとえば、Linux-3.12.22 について対応するパッチ3.12.22

そのパッチの目的は何ですか? 対応するカーネルをコンパイルする前に常にパッチを適用するためですか、それとも、以前のカーネル バージョンを、パッチが一致するカーネル (この場合は 3.12.22) で最新のものにするためですか?

答え1

目的は大量のトラフィックを節約することです。

Linux の tarball は約 75 MB ですが、パッチは通常数 KB しかありません。

したがって、独自のカーネルをコンパイルし、新しいマイナー バージョンがリリースされた日に更新する場合は、マイナー更新ごとに新しい 75 MB の tarball を再ダウンロードするのではなく、(たとえば) 特定のバージョンのメイン tarball を一度ダウンロードし、次に実際に必要なバージョンのパッチをダウンロードするだけです。更新がある場合は、すでにダウンロードしたメイン tarball を再利用します。

linux-3.14.tar.xz+patch-3.14.{1..n}.xz合計で 100MB 未満です。

linux-3.14.tar.xz+はlinux-3.14.{1..n}.tar.xz100MBの数倍です。

パッチを当てることに欠点はなく、何か間違ったことをしない限り、最終結果は同じになります。

答え2

これらは「パッチセット」と呼ばれます。パッチセットは、同じ機能を提供するか、関連しているか、段階的に機能を実装するパッチのグループです。特に、これらはカーネルのメジャーリビジョン (XY) とそれに続くマイナー/メンテナンスリビジョン (XY) の違いです。) にはいくつかの提案があります:

  • サーバーのスペースを節約します。
  • 帯域幅を節約します。
  • 簡単に適用および配布できる

これらのパッチセットは増分的であることに留意してください。まずパッチ .2 の前にパッチ .1 を適用し、その後に .3 を適用できます。

関連情報