Was ist der Zweck von Patches des Linux-Kernels?

Was ist der Zweck von Patches des Linux-Kernels?

Für jede Linux-Kernel-Version steht eine Patch-Datei zum Download bereit. Zum Beispiel:linux-3.12.22verfügt über eine entsprechendePatch-3.12.22.

Was ist der Zweck dieses Patches? Soll der entsprechende Kernel immer vor dem Kompilieren gepatcht werden oder soll eine frühere Kernel-Version auf den aktuellen Stand des Kernels gebracht werden, auf den der Patch zutrifft (in diesem Fall 3.12.22)?

Antwort1

Der Zweck besteht darin, viel Verkehr zu sparen.

Das Linux-Tarball ist etwa 75 MB groß, während die Patches normalerweise nur wenige KB groß sind.

Wenn Sie also Ihren eigenen Kernel kompilieren und am Tag der Veröffentlichung auf jede neue Nebenversion aktualisieren, müssen Sie nicht für jedes Nebenupdate ein neues 75 MB großes Tarball herunterladen, sondern laden beispielsweise nur einmal das Haupt-Tarball für eine bestimmte Version und dann den Patch für die Version herunter, die Sie tatsächlich möchten. Bei einem Update verwenden Sie das bereits heruntergeladene Haupt-Tarball erneut.

linux-3.14.tar.xz+ patch-3.14.{1..n}.xzliegt insgesamt unter 100 MB.

linux-3.14.tar.xz+ linux-3.14.{1..n}.tar.xzist ein Vielfaches von 100 MB.

Das Patchen hat keine Nachteile, das Endergebnis ist identisch, sofern Sie nichts falsch machen.

Antwort2

Diese werden als „Patchset“ bezeichnet. Patchsets sind Gruppen von Patches, die dieselbe Funktionalität bieten, miteinander in Beziehung stehen oder eine Funktion schrittweise implementieren. Diese sind insbesondere der Unterschied zwischen einer Hauptrevision des Kernels (XY) und nachfolgenden Neben-/Wartungsrevisionen (XYZ) mit mehreren Vorschlägen:

  • Sparen Sie Platz auf den Servern.
  • Sparen Sie Bandbreite.
  • Leicht anwendbar und verteilbar

Denken Sie daran, dass diese Patchsets inkrementell sind. Sie müssen zuerst Patch .1 anwenden, bevor Sie Patch .2 anwenden können. Danach können Sie Patch .3 anwenden.

verwandte Informationen