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


21

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

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

回答:


31

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

Linuxのtarballは約75MBですが、パッチには通常数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.xzは100MBの数倍です。

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


9
書かれているように、これは質問にまったく答えません。明確にするために、パッチの目的は、ソースのバージョンn-1に適用して、バージョンnに「アップグレード」することです。利点は、答えは説明として、それは、多くのトラフィックを節約するということです。
デビッドリチャービー14年

1
私はネイティブスピーカーではありません。しかし、アドバンテージはどういうわけか私には弱すぎます。帯域幅/トラフィックの節約は、どのサーバーにとっても重要です。目的があります。
frostschutz 14年

明示的に答えなかった部分は、「対応するカーネルをコンパイルする前に常にパッチを適用するか、パッチが一致するカーネル(この場合、3.12.22)で以前のカーネルバージョンを更新することですか? 」patch-3.12.22は、バージョン3.12.21から.22にアップグレードするものであり、3.12.22ソースをコンパイルする前に適用するものではありません。
デビッドリチャービー14年

パッチは通常.0、例えばVERSION = 3 PATCHLEVEL = 12 -SUBLEVEL = 0 +SUBLEVEL = 22です。... 20のパッチを通過する迷惑だろう
frostschutz

そのようなトラフィック節約スキームは、例えばリポジトリのgit cloneを持ちgit pull、新しいバージョンがリリースされたときに行うよりも優れているでしょうか?
ルスラン14年

5

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.