Ако сте корисник Линук-а дуго времена, знали бисте да дистрибуције Линук-а имају јединствене верзије и да свака верзија има одређено кодно име. Линукс језгро такође има различите бројеве верзија, који служе као идентификатор за серију којој кернел припада. Међутим, постоји разлика између начина на који су верзије кернела формиране раније и како их Линус Торвалдс сада именује.
На крају ћете бити боље упознати са шемом верзионисања Линук кернела и осећаћете се више удобно читање бројева верзија језгра и идентификовање различитих карактеристика повезаних са а специфично издање.
Традиционална верзија Линук кернела
Када је Линус први пут почео да развија језгро, коришћени систем верзионисања једноставно се састојао од растуће шеме променљиве која почиње са нулом (0.к). У почетку је Линус био једини који је радио на пројекту, а овај систем верзионисања је био довољан за документовање и дистрибуцију нових издања кернела.
Ево неких издања кернела која су пратила ову шему именовања:
Касније, како је све више програмера почело да доприноси пројекту и броју ревизија и закрпа значајно повећана, одлучено је да ова шема верзионисања није погодна за софтвер као што је а кернел. А почевши од верзије 1.0, Линус је усвојио нову шему са неколико додатних променљивих.
Увођење више дескриптивног система верзионисања
Године 1994, са издавањем Линук кернела 1.00, Линус је почео да користи нови систем за верзионисање који је користио три варијабле у синтакси: "а.б.ц". Ове варијабле (а, б и ц) представљају главно издање, мање издање и број ревизије за одређено издање кернела, респективно.
Узмимо Линук кернел 1.1.95 као пример. Можете га декодирати као прво веће издање, прво мање издање и 95. ревизију.
У то време, чак и мањи бројеви верзија означавали су стабилна издања кернела, док су непарни представљали развојна издања. Било је важно имати одвојене гране како би програмери могли да додају и тестирају нове функције у кернелу без утицаја на стабилну грану.
Програмери кернела додају и побољшавају нове функције у развојној грани све док не постане довољно стабилан да буде објављен као ЛТС кернел. ЛТС кернел 3.2 је развијен стабилизацијом нових функција у верзији 3.1, и сходно томе, новим развојно језгро 3.3 се одвојило од 3.2 да би направило место за нове карактеристике које би тада биле уведене у Линук 3.4.
Почевши од Линук кернела 2.4, четврта променљива у имену кернела означавала је издања закрпе. Можете рећи да је верзија 2.4.37.10 десето издање закрпе за кернел 2.4.37.
Издање закрпе не значи број проблема закрпљених у издању кернела. Уместо тога, он броји колико је пута ажурирано језгро објављено након закрпе пронађених проблема.
Све до Линук 2.6, овај систем верзионисања је коришћен и био је ефикасан у разликовању одређене верзије од других. Додавање броја ревизија и издања закрпа у броју верзије било је описно, али је значило да имамо дуже и сложеније верзије кернела. И опет је била потребна нова и боља шема.
Како се сада називају верзије Линук кернела?
Са Линук верзијом 3.0, Линус је избацио четврту променљиву из броја верзије. Сада се верзија кернела формира према синтакси: а.б.ц, где су а, б и ц главно издање, мање издање и број ревизија, респективно. Ова шема верзија је слична оној која се користи између 1.0 и 2.4 издања кернела.
Због напретка у системи контроле верзија, сарадници су сада могли неприметно да раде на стабилним гранама и додају нове функције без случајног укидања већ активних, стабилних издања. Због тога је употреба парних и непарних минор бројева верзија за стабилне и производне гране кернел је постао сувишан након увођења кернела верзије 4.0 и првог ЛТС издања (4.1) у тхе 4.к серија је имала непаран мањи број верзије.
Можда ћете приметити и неке знакове на крају броја верзије, нпр рцКс. Кандидати за преглед (или скраћено „рц“) су издања за преглед и верзије кернела пре закрпе које програмери треба да закрпе да би уклонили грешке и друге проблеме. Ово су замена за развојна издања која су претходно била означена непарним мањим бројем верзије.
Иако су ова издања посебно резервисана за програмере кернела како би могли да поправе пријављене проблеме и имплементирају нове функције, такође можете преузмите и тестирајте ове кандидате за преглед кернела ако желите, али то се генерално не препоручује с обзиром на то да је ту највећи део развоја деси. Најновија верзија за преглед кернела у време писања овог текста је 5.19-рц6.
Да бисте креирали нове верзије, претходна променљива се повећава када вредност променљиве достигне одређени број. На пример, главна верзија се ажурира на следећу цифру кад год се број мањих верзија приближи 20.
Линус који се помиње у његов 5.0 развојни маил језгра да је једноставно променио главни број на пет јер је број мањих издања постао превелик да би се могао избројати на прстима на рукама и ногама (20!). Слично, према кернел.орг, главни број верзије се повећава када број после прве тачке почне да изгледа „превелик“. Коначна верзија кернела у 3.к серија је била 3.19 и последња велика 4.к серија кернела је била 4.20, која је затим повећана на 5.0.
Од верзије 3.0, Линук кернел прати ову шему верзионисања и показало се да је ефикасна током три главна издања кернела (верзије 3.к, 4.к, и 5.к).
Идентификовање издања Линук кернела помоћу бројева верзија
С обзиром на велики број издатих верзија Линукс кернела, постоји потреба за одговарајућим системом за идентификацију и разликовање одређене верзије од осталих. Са новом шемом за верзионисање кернела, верзије кернела се сада могу ефикасно идентификовати и поредити, и лако је знати која је верзија језгра најновија, а која је раније објављена.
Ако желите да проверите верзију Линук кернела која је тренутно инсталирана на вашем систему, то можете учинити помоћу унаме, Линук команде која вам омогућава да наведете информације везане за систем. У зависности од дистрибуције коју користите, број верзије приказан унаме може се разликовати од стварних верзија Линук кернела.