Če ste že dolgo uporabnik Linuxa, bi vedeli, da imajo distribucije Linuxa edinstvene različice in da ima vsaka različica posebno kodno ime. Jedro Linuxa ima tudi različne številke različic, ki delujejo kot identifikator serije, ki ji jedro pripada. Vendar pa obstaja razlika med tem, kako so bile različice jedra oblikovane prej in kako jih Linus Torvalds imenuje zdaj.

Na koncu boste bolje seznanjeni s shemo različic jedra Linuxa in občutili boste več udobno branje številk različic jedra in prepoznavanje različnih funkcij, povezanih z a posebna izdaja.

Tradicionalno urejanje različic jedra Linuxa

Ko je Linus prvič začel razvijati jedro, je uporabljeni sistem za urejanje različic preprosto sestavljala shema naraščajočih spremenljivk, ki se je začela z ničlo (0.x). Na začetku je bil Linus edini, ki je delal na projektu, in ta sistem za urejanje različic je zadostoval potrebi po dokumentiranju in distribuciji novih izdaj jedra.

Tukaj je nekaj izdaj jedra, ki so sledile tej shemi poimenovanja:

Avtorstvo slike: Wikipedia

Kasneje, ko je več razvijalcev začelo prispevati k projektu, se je povečalo število revizij in popravkov močno povečala, je bilo odločeno, da ta shema različic ni primerna za programsko opremo, kot je a jedro. In od različice 1.0 je Linus sprejel novo shemo z nekaj dodatnimi spremenljivkami.

Uvedba bolj opisnega sistema za vodenje različic

Leta 1994 je Linus z izdajo jedra Linuxa 1.00 začel uporabljati nov sistem za ustvarjanje različic, ki je v sintaksi uporabljal tri spremenljivke: "a.b.c". Te spremenljivke (a, b in c) predstavljajo glavno izdajo, manjšo izdajo in številko revizije za določeno izdajo jedra.

Za primer vzemite jedro Linuxa 1.1.95. Lahko ga dekodirate kot prvo večjo izdajo, prvo manjšo izdajo in 95. revizijo.

Takrat so tudi manjše številke različice označevale stabilne izdaje jedra, lihe pa razvojne izdaje. Pomembno je bilo imeti ločene veje, da so lahko razvijalci dodajali in testirali nove funkcije v jedru, ne da bi to vplivalo na stabilno vejo.

Razvijalci jedra dodajajo in izboljšujejo nove funkcije v razvojni veji, dokler ne postane dovolj stabilno, da se izda kot jedro LTS. Jedro LTS 3.2 je bilo razvito s stabilizacijo novih funkcij v različici 3.1 in podobno je bilo razvito novo razvojno jedro 3.3 se je razvejalo iz 3.2, da bi naredilo prostor za nove funkcije, ki bi bile nato predstavljene v Linux 3.4.

Od jedra Linuxa 2.4 naprej je četrta spremenljivka v imenu jedra označevala izdaje popravkov. Lahko rečete, da je različica 2.4.37.10 deseta izdaja popravkov za jedro 2.4.37.

Izdaja popravka ne pomeni števila težav, popravljenih v izdaji jedra. Namesto tega šteje, kolikokrat je bilo posodobljeno jedro izdano po popravku najdenih težav.

Do Linuxa 2.6 se je uporabljal ta sistem za določanje različic in je bil učinkovit pri razlikovanju določene različice od drugih. Dodajanje števila revizij in izdaj popravkov v številko različice je bilo opisno, vendar je pomenilo daljše in bolj zapletene različice jedra. In spet je bila potrebna nova in boljša shema.

Kako se zdaj imenujejo različice jedra Linuxa?

Z različico Linuxa 3.0 je Linus opustil četrto spremenljivko iz številke različice. Zdaj je različica jedra oblikovana v skladu s sintakso: a.b.c, kjer so a, b in c število večjih izdaj, manjših izdaj oziroma število revizij. Ta shema različic je podobna tisti, ki se uporablja med izdajama jedra 1.0 in 2.4.

Zaradi napredka v sistemi za nadzor različic, lahko sodelujoči zdaj nemoteno delajo na stabilnih vejah in dodajajo nove funkcije, ne da bi pomotoma uničili že delujoče, stabilne izdaje. Zato je uporaba sodih in lihih manjših številk različice za stabilne in proizvodne veje jedro je postalo odveč po uvedbi različice jedra 4.0 in prve izdaje LTS (4.1) v the 4.x serija je imela liho manjšo številko različice.

Morda boste opazili tudi nekaj znakov na koncu številke različice, na primer rcX. Kandidati za pregled (ali na kratko "rc") so predogledne izdaje in različice jedra pred popravki, ki jih morajo razvijalci popraviti, da odstranijo napake in druge težave. To so nadomestek za razvojne izdaje, ki so bile prej označene z liho številko podrazličice.

Čeprav so te izdaje posebej rezervirane za razvijalce jedra, da lahko popravijo prijavljene težave in implementirajo nove funkcije, lahko tudi prenesite in preizkusite te kandidate za pregled jedra, če želite, vendar na splošno ni priporočljivo, saj je tukaj večina razvoja zgodi. Najnovejša predogledna različica jedra v času tega pisanja je 5.19-rc6.

Za ustvarjanje novih različic se predhodna spremenljivka poveča, ko vrednost spremenljivke doseže določeno število. Na primer, glavna različica se posodobi na naslednjo številko, kadar koli se število manjših različic približa 20.

Linus omenjen v njegova pošta za razvoj jedra 5.0 da je preprosto posodobil glavno številko na pet, ker je število manjših izdaj postalo preveliko, da bi ga prešteli na prste na rokah in nogah (20!). Podobno glede na kernel.org, se številka glavne različice poveča, ko je številka za prvo piko videti »prevelika«. Končna različica jedra v 3.x serija je bila 3.19 in zadnji večji 4.x serija jedra je bila 4.20, ki je bila nato povišana na 5.0.

Od različice 3.0, jedro Linuxa sledi tej shemi različic in se je izkazala za učinkovito že v treh večjih izdajah jedra (različice 3.x, 4.x, in 5.x).

Prepoznavanje izdaje jedra Linuxa s številkami različic

Glede na ogromno število izdanih različic jedra Linuxa obstaja potreba po ustreznem sistemu za prepoznavanje in razlikovanje določene različice od drugih. Z novo shemo za določanje različic jedra je zdaj mogoče učinkovito prepoznati in primerjati različice jedra ter zlahka ugotoviti, katera različica jedra je najnovejša in katera je bila izdana prej.

Če želite preveriti različico jedra Linuxa, ki je trenutno nameščena v vašem sistemu, lahko to storite z uporabo uname, ukaza Linux, ki vam omogoča seznam informacij, povezanih s sistemom. Odvisno od distribucije, ki jo uporabljate, se lahko številka različice, ki jo prikaže uname, razlikuje od dejanskih različic jedra Linuxa.