Ако сте потребител на Linux от дълго време, ще знаете, че дистрибуциите на Linux имат уникални версии и всяка версия има специфично кодово име. Ядрото на Linux също има различни номера на версията, които действат като идентификатор за серията, към която принадлежи ядрото. Въпреки това, има разлика между начина, по който са били формирани версиите на ядрото по-рано и начина, по който Линус Торвалдс ги наименува сега.
До края ще сте по-запознати със схемата за управление на версиите на ядрото на Linux и ще почувствате повече удобно четене на номерата на версиите на ядрото и идентифициране на различните функции, свързани с a конкретно издание.
Традиционното управление на версии на ядрото на Linux
Когато Линус за първи път започна да разработва ядрото, използваната система за управление на версиите се състоеше просто от схема на нарастваща променлива, започваща с нула (0.x). Първоначално Линус беше единственият, който работеше по проекта, и тази система за версии беше достатъчна за необходимостта от документиране и разпространение на нови версии на ядрото.
Ето някои от версиите на ядрото, които следват тази схема на именуване:
По-късно, тъй като повече разработчици започнаха да допринасят за проекта и броят на ревизиите и корекциите нарасна значително, беше решено, че тази схема за версии не е подходяща за софтуер като a ядро. И започвайки от версия 1.0, Линус прие нова схема с няколко допълнителни променливи.
Въвеждане на по-описателна система за версии
През 1994 г., с пускането на ядрото на Linux 1.00, Линус започна да използва нова система за версии, която използва три променливи в синтаксиса: "a.b.c". Тези променливи (a, b и c) представляват съответно основното издание, второстепенното издание и номера на ревизията за конкретното издание на ядрото.
Вземете ядрото на Linux 1.1.95 като пример. Можете да го декодирате като първо основно издание, първо второстепенно издание и 95-та ревизия.
По онова време дори второстепенните номера на версиите означаваха стабилни издания на ядрото, докато нечетните представляваха издания за разработка. Беше важно да има отделни клонове, така че разработчиците да могат да добавят и тестват нови функции в ядрото, без да засягат стабилния клон.
Разработчиците на ядрото добавят и подобряват нови функции в клона за разработка, докато не стане достатъчно стабилен, за да бъде пуснат като LTS ядро. LTS ядрото 3.2 беше разработено чрез стабилизиране на новите функции във версия 3.1 и по подобен начин нов ядрото за разработка 3.3 се разклони от 3.2, за да направи път за нови функции, които след това ще бъдат въведени в Linux 3.4.
Започвайки от ядрото на Linux 2.4, четвърта променлива в името на ядрото обозначава изданията на корекцията. Можете да кажете, че версия 2.4.37.10 е десетата версия на корекцията за ядро 2.4.37.
Изданието на корекцията не означава броя на проблемите, коригирани в версия на ядрото. Вместо това той отчита колко пъти е било пуснато актуализирано ядро след корекция на откритите проблеми.
До Linux 2.6 тази система за версии се използваше и беше ефективна при разграничаването на конкретна версия от другите. Добавянето на брой ревизии и издания на корекции в номера на версията беше описателно, но означаваше да имате по-дълги и по-сложни версии на ядрото. И отново беше необходима нова и по-добра схема.
Как се наименуват сега версиите на ядрото на Linux?
С Linux версия 3.0 Линус изпусна четвъртата променлива от номера на версията. Сега версията на ядрото се формира според синтаксиса: a.b.c, където a, b и c са съответно основното издание, второстепенното издание и броят на ревизиите. Тази схема за версии е подобна на тази, използвана между версиите на ядрото 1.0 и 2.4.
Поради напредъка в системи за контрол на версиите, сътрудниците вече могат безпроблемно да работят върху стабилни клонове и да добавят нови функции, без случайно да прекъсват вече работещите, стабилни версии. Следователно, използването на четни и нечетни второстепенни номера на версиите за стабилни и производствени клонове на ядрото стана излишно след въвеждането на ядрото версия 4.0 и първата LTS версия (4.1) в на 4.x серията имаше нечетен второстепенен номер на версия.
Може също да забележите някои знаци в края на номера на версията, като rcX. Кандидатите за преглед (или накратко „rc“) са издания за предварителен преглед и предварителни корекции на ядрото, които разработчиците трябва да коригират, за да премахнат грешки и други проблеми. Те са заместител на изданията за разработка, които преди това бяха обозначени с нечетен второстепенен номер на версия.
Въпреки че тези издания са специално запазени за разработчиците на ядрото, така че те да могат да коригират докладваните проблеми и да внедрят нови функции, вие също можете изтеглете и тествайте тези кандидати за преглед на ядрото, ако желаете, но обикновено не се препоръчва, като се има предвид, че тук е по-голямата част от разработката случва се. Последната предварителна версия на ядрото към момента на писане е 5.19-rc6.
За да създадете нови версии, предходната променлива се увеличава, когато стойността на променлива достигне определено число. Например основната версия се актуализира до следващата цифра, когато броят на второстепенните версии се доближи до 20.
Линус споменат в неговата поща за разработка на ядрото 5.0 че той просто актуализира основното число до пет, защото броят на второстепенните издания стана твърде голям, за да се преброи на пръстите на ръцете и краката (20!). По същия начин, според kernel.org, номерът на основната версия се увеличава, когато числото след първата точка започне да изглежда „твърде голямо“. Окончателната версия на ядрото в 3.x серия беше 3.19 и последната голяма 4.x серията на ядрото беше 4.20, която след това беше увеличена до 5.0.
От версия 3.0, ядрото на Linux следва тази схема за версии и се оказа ефективна за цели три основни версии на ядрото (версии 3.x, 4.x, и 5.x).
Идентифициране на издание на ядрото на Linux с помощта на номера на версията
Имайки предвид големия брой пуснати версии на ядрото на Linux, има нужда от подходяща система за идентифициране и разграничаване на конкретна версия от останалите. С новата схема за управление на версиите на ядрото версиите на ядрото вече могат ефективно да се идентифицират и сравняват и е лесно да се разбере коя версия на ядрото е най-новата и коя е издадена по-рано.
Ако искате да проверите версията на ядрото на Linux, която е инсталирана в момента на вашата система, можете да направите това с помощта на uname, команда на Linux, която ви позволява да изведете информация, свързана със системата. В зависимост от дистрибуцията, която използвате, номерът на версията, показан от uname, може да е различен от действителните версии на ядрото на Linux.