Яка мета патчів ядра Linux?


21

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

Яка мета цього пластиру? Завжди виправити відповідне ядро ​​перед його компілюванням, або привести колишню версію ядра, оновлену з ядром, яке відповідає патчу (в цьому випадку 3.12.22)?

Відповіді:


31

Мета - зекономити багато трафіку.

Linux тарбол становить близько 75 Мб, тоді як патчі зазвичай мають лише кілька КБ.

Отже, якщо ви збираєте власне ядро ​​та оновлюєте його до кожної нової другої версії в день його випуску, замість того, щоб повторно завантажувати новий тарбол 75 Мб для кожного незначного оновлення, ви просто завантажуєте (наприклад) основний тарбол для даної версії раз, а потім патч для тієї версії, яку ви насправді хочете. Коли з'явиться оновлення, ви повторно використовуєте вже завантажений основний тарбол.

linux-3.14.tar.xz+ patch-3.14.{1..n}.xzзагалом менше 100 МБ.

linux-3.14.tar.xz+ linux-3.14.{1..n}.tar.xz- це кілька разів 100MB.

Немає недоліків на виправлення, кінцевий результат однаковий, якщо ви не зробите щось не так.


9
Як написано, це не зовсім відповідає на питання. Щоб бути ясним, мета виправлення полягає в тому, щоб застосувати його до версії n-1 джерела "оновить" його до версії n. Перевагою є те , що він економить багато трафіку, так як відповідь описує.
Девід Річербі

1
Я не носій мови. Але перевага мені якось занадто слабко звучить. Збереження пропускної здатності / трафіку важливо для будь-якого сервера. Це має призначення.
frostschutz

Частина, на яку ви не відповіли явно, полягає в тому, що "Завжди виправити відповідне ядро ​​перед його компілюванням, або привести колишню версію ядра в оновлену версію з ядром, якому патч відповідає (в цьому випадку 3.12.22)? " patch-3.12.22 має бути оновлений з версії 3.12.21 до .22, не застосовуватися до джерел 3.12.22 перед їх компілюванням.
Девід Річербі

Патчі, як правило , для .0, наприклад VERSION = 3 PATCHLEVEL = 12 -SUBLEVEL = 0 +SUBLEVEL = 22. Прикро було б пройти 20 патчів ...
frostschutz

Чим така схема економії трафіку була б кращою, ніж наприклад, маючи клон git у сховищі та робити, git pullколи виходить нова версія?
Руслан

5

Вони називаються "патчетом". Патчет - це групи патчів, які обслуговують однаковий функціонал, пов'язані між собою або реалізують функцію поетапно. Зокрема, це різниця між основною ревізією ядра (XY) та наступними незначними редакціями / технічним обслуговуванням (XY Z ) з кількома пропозиціями:

  • Економте місце на серверах.
  • Збережіть пропускну здатність.
  • Будучи легко застосовною і розповсюджуваною

Пам'ятайте, що ці patchsets є поступовими. Спочатку слід застосувати патч .1 перед патчем .2, а після цього можна застосувати .3.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.