Какова цель патчей ядра Linux?

Какова цель патчей ядра Linux?

Для каждой версии ядра Linux доступен файл патча для загрузки. Например,linux-3.12.22имеет соответствующийпатч-3.12.22.

Какова цель этого патча? Всегда патчить соответствующее ядро ​​перед его компиляцией или обновить предыдущую версию ядра до ядра, которому соответствует патч (в данном случае 3.12.22)?

решение1

Цель — сэкономить много трафика.

Размер tar-архива Linux составляет около 75 МБ, тогда как патчи обычно имеют размер всего несколько КБ.

Так что если вы компилируете свое собственное ядро ​​и обновляетесь до каждой новой второстепенной версии в день ее выпуска, вместо повторной загрузки нового 75-мегабайтного tarball для каждого второстепенного обновления, вы просто загружаете (например) основной tarball для данной версии один раз, а затем патч для версии, которая вам действительно нужна. Когда есть обновление, вы повторно используете уже загруженный основной tarball.

linux-3.14.tar.xz+ patch-3.14.{1..n}.xzв общей сложности менее 100 МБ.

linux-3.14.tar.xz+ linux-3.14.{1..n}.tar.xz— это несколько раз по 100 МБ.

Никаких недостатков в патче нет, конечный результат идентичен, если только вы не сделаете что-то неправильно.

решение2

Они называются "patchset". Patchset — это группы патчей, которые обслуживают одну и ту же функциональность, связаны между собой или реализуют функцию пошагово. В частности, это разница между основной ревизией ядра (XY) и последующими второстепенными/обслуживающими ревизиями (XYЗ) с несколькими предложениями:

  • Экономьте место на серверах.
  • Экономьте пропускную способность.
  • Легко применимый и распространяемый

Помните, что эти патчи являются инкрементальными. Сначала вам нужно применить патч .1 перед патчем .2, а после этого вы можете применить .3.

Связанный контент