Для каждой версии ядра 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.