Dacă sunteți utilizator Linux de mult timp, ați ști că distribuțiile Linux au versiuni unice și fiecare versiune are un nume de cod specific. Nucleul Linux are, de asemenea, numere de versiune diferite, care acționează ca un identificator pentru seria căreia îi aparține nucleul. Cu toate acestea, există o diferență între modul în care versiunile de kernel au fost formate mai devreme și cum le numește Linus Torvalds acum.
Până la sfârșit, veți fi mai familiarizat cu schema de versiuni a nucleului Linux și vă veți simți mai mult citirea confortabilă a numerelor versiunii kernelului și identificarea diferitelor caracteristici asociate cu a eliberare specifică.
Versiunea tradițională a kernelului Linux
Când Linus a început pentru prima dată să dezvolte nucleul, sistemul de versiuni folosit a constat pur și simplu dintr-o schemă de variabile incrementale începând cu zero (0.x). Inițial, Linus a fost singurul care a lucrat la proiect, iar acest sistem de versiune a fost suficient pentru a documenta și a distribui versiuni noi de kernel.
Iată câteva dintre versiunile de kernel care au urmat această schemă de denumire:
Mai târziu, pe măsură ce mai mulți dezvoltatori au început să contribuie la proiect și la numărul de revizuiri și patch-uri a crescut semnificativ, sa decis că această schemă de versiuni nu era potrivită pentru software precum a nucleu. Și începând cu versiunea 1.0, Linus a adoptat o nouă schemă cu câteva variabile suplimentare.
Introducerea unui sistem de versiuni mai descriptiv
În 1994, odată cu lansarea nucleului Linux 1.00, Linus a început să folosească un nou sistem de versiuni care a folosit trei variabile în sintaxă: „a.b.c". Aceste variabile (a, b și c) reprezintă ediția majoră, ediția minoră și, respectiv, numărul de revizuire pentru ediția specifică a nucleului.
Luați ca exemplu nucleul Linux 1.1.95. Îl puteți decoda ca prima versiune majoră, prima versiune minoră și cea de-a 95-a revizuire.
La acea vreme, chiar și numerele minore de versiune indicau lansări stabile ale nucleului, în timp ce cele impare reprezentau lansări de dezvoltare. Era important să existe ramuri separate, astfel încât dezvoltatorii să poată adăuga și testa funcții noi în nucleu fără a afecta ramura stabilă.
Dezvoltatorii de kernel adaugă și îmbunătățesc noi funcții în ramura de dezvoltare până când devine suficient de stabil pentru a fi lansat ca nucleu LTS. Nucleul LTS 3.2 a fost dezvoltat prin stabilizarea noilor caracteristici din versiunea 3.1 și, în mod similar, un nou nucleul de dezvoltare 3.3 s-a ramificat din 3.2 pentru a face loc noilor caracteristici care urmau să fie apoi introduse în Linux 3.4.
Pornind de la kernel-ul Linux 2.4, o a patra variabilă din numele nucleului a indicat lansările de patch-uri. Puteți spune că versiunea 2.4.37.10 este cea de-a zecea lansare a patch-urilor pentru nucleul 2.4.37.
O lansare de patch nu înseamnă numărul de probleme corecţionate într-o lansare de kernel. În schimb, numără de câte ori a fost eliberat un nucleu actualizat după corectarea problemelor găsite.
Până la Linux 2.6, acest sistem de versiune a fost folosit și a fost eficient pentru a distinge o anumită versiune de altele. Adăugarea numărului de revizii și a lansărilor de patch-uri în numărul versiunii a fost descriptivă, dar a însemnat să aveți versiuni de nucleu mai lungi și mai complexe. Și, din nou, era necesară o schemă nouă și mai bună.
Cum sunt denumite acum versiunile de kernel Linux?
Cu versiunea Linux 3.0, Linus a renunțat la a patra variabilă din numărul versiunii. Acum, versiunea kernel este formată conform sintaxei: a.b.c, unde a, b și c sunt ediția majoră, ediția minoră și, respectiv, numărul de revizuiri. Această schemă de versiuni este similară cu cea utilizată între versiunile nucleului 1.0 și 2.4.
Datorită progreselor în sisteme de control al versiunilor, colaboratorii ar putea acum să lucreze fără probleme pe ramuri stabile și să adauge noi funcții fără a distruge accidental versiunile stabile deja funcționale. Prin urmare, utilizarea numerelor de versiune minore pare și impare pentru ramurile stabile și de producție ale nucleul a devenit de prisos după introducerea versiunii 4.0 a nucleului și prima lansare LTS (4.1) în cel 4.x seria avea un număr minor de versiune impar.
De asemenea, s-ar putea să observați câteva caractere la sfârșitul numărului de versiune, cum ar fi rcX. Candidații de revizuire (sau „rc” pe scurt) sunt versiuni de previzualizare și versiuni pre-patch ale nucleului pe care dezvoltatorii trebuie să le corecteze pentru a elimina erorile și alte probleme. Acestea sunt un înlocuitor pentru versiunile de dezvoltare care au fost anterior notate cu un număr de versiune minor impar.
Deși aceste versiuni sunt rezervate special dezvoltatorilor de kernel, astfel încât aceștia să poată remedia problemele raportate și să implementeze noi funcții, puteți, de asemenea, să descărcați și testați acești candidați de revizuire a nucleului, dacă doriți, dar, în general, nu este recomandat, având în vedere că aici este locul în care se dezvoltă cea mai mare parte. se întâmplă. Cea mai recentă versiune de previzualizare a nucleului la momentul scrierii acestui articol este 5.19-rc6.
Pentru a crea versiuni noi, variabila anterioară este incrementată atunci când valoarea unei variabile atinge un anumit număr. De exemplu, versiunea majoră este actualizată la următoarea cifră ori de câte ori numărul de versiuni minore se apropie de 20.
Linus menționat în mail-ul său de dezvoltare a nucleului 5.0 că pur și simplu a actualizat numărul major la cinci, deoarece numărul de eliberări minore a devenit prea mare pentru a număra pe degete de la mâini și de la picioare (20!). În mod similar, conform kernel.org, numărul versiunii majore este incrementat atunci când numărul de după primul punct începe să pară „prea mare”. Versiunea finală a nucleului în 3.x seria a fost 3.19 și ultima majoră 4.x Seria de kernel a fost 4.20, care a fost apoi crescută la 5.0.
Din versiunea 3.0, nucleul Linux a urmat această schemă de versiuni și s-a dovedit a fi eficientă atâta timp cât trei versiuni majore de kernel (versiuni 3.x, 4.x, și 5.x).
Identificarea unei versiuni de kernel Linux folosind numerele de versiune
Având în vedere numărul mare de versiuni de kernel Linux lansate, este nevoie de un sistem adecvat pentru a identifica și diferenția o anumită versiune de celelalte. Cu noua schemă de versiune a nucleului, versiunile de nucleu pot fi acum identificate și comparate în mod eficient și este ușor să știi care versiune de kernel este cea mai recentă și care a fost lansată mai devreme.
Dacă doriți să verificați versiunea kernel-ului Linux instalată în prezent pe sistemul dvs., puteți face asta folosind uname, o comandă Linux care vă permite să enumerați informațiile legate de sistem. În funcție de distribuția pe care o rulați, numărul versiunii afișat de uname poate fi diferit de versiunile reale de kernel Linux.