web-dev-qa-db-ja.com

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

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

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

21
Elena

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

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

そのため、独自のカーネルをコンパイルし、リリース日に新しいマイナーバージョンにアップデートする場合、マイナーアップデートごとに新しい75MBの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.xzは100MBの数倍です。

パッチを適用することの欠点はありません。何か間違ったことをしない限り、最終結果は同じです。

31
frostschutz

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

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

これらのパッチセットはインクリメンタルであることに注意してください。最初にパッチ.2の前にパッチ.1を適用し、その後.3を適用する必要があります。

5
Braiam