Se sei un utente Linux da molto tempo, sapresti che le distribuzioni Linux hanno versioni uniche e ogni versione ha un nome in codice specifico. Il kernel Linux ha anche diversi numeri di versione, che fungono da identificatore per la serie a cui appartiene il kernel. Tuttavia, c'è una differenza tra il modo in cui le versioni del kernel sono state formate in precedenza e il modo in cui Linus Torvalds le chiama ora.

Alla fine, avrai più familiarità con lo schema di controllo delle versioni del kernel Linux e ti sentirai di più leggere comodamente i numeri di versione del kernel e identificare le varie funzionalità associate a a rilascio specifico.

Il tradizionale controllo delle versioni del kernel Linux

Quando Linus ha iniziato a sviluppare il kernel, il sistema di controllo delle versioni utilizzato consisteva semplicemente in uno schema di variabili incrementali che iniziava con zero (0.x). Inizialmente, Linus era l'unico a lavorare al progetto e questo sistema di controllo delle versioni era sufficiente per documentare e distribuire i nuovi rilasci del kernel.

instagram viewer

Ecco alcune delle versioni del kernel che hanno seguito questo schema di denominazione:

Credito immagine: Wikipedia

Più tardi, quando più sviluppatori hanno iniziato a contribuire al progetto e al numero di revisioni e patch aumentato in modo significativo, è stato deciso che questo schema di controllo delle versioni non era adatto a software come a nocciolo. E a partire dalla versione 1.0, Linus ha adottato un nuovo schema con alcune variabili aggiuntive.

Introduzione di un sistema di controllo delle versioni più descrittivo

Nel 1994, con il rilascio del kernel Linux 1.00, Linus iniziò ad utilizzare un nuovo sistema di versionamento che impiegava tre variabili nella sintassi: "a.b.c". Queste variabili (a, b e c) rappresentano rispettivamente la versione principale, la versione secondaria e il numero di revisione per la versione specifica del kernel.

Prendi il kernel Linux 1.1.95 come esempio. Puoi decodificarlo come prima versione principale, prima versione secondaria e 95a revisione.

A quel tempo, anche i numeri di versione minori indicavano versioni stabili del kernel, mentre quelle dispari rappresentavano versioni di sviluppo. Era importante avere rami separati in modo che gli sviluppatori potessero aggiungere e testare nuove funzionalità nel kernel senza influenzare il ramo stabile.

Gli sviluppatori del kernel aggiungono e migliorano nuove funzionalità nel ramo di sviluppo fino a quando non diventa abbastanza stabile da essere rilasciato come kernel LTS. Il kernel LTS 3.2 è stato sviluppato stabilizzando le nuove funzionalità nella versione 3.1 e, allo stesso modo, un nuovo il kernel di sviluppo 3.3 si è ramificato da 3.2 per far posto a nuove funzionalità che sarebbero state poi introdotte Linux 3.4.

A partire dal kernel Linux 2.4, una quarta variabile nel nome del kernel indicava le versioni delle patch. Si può dire che la versione 2.4.37.10 è la decima versione di patch per il kernel 2.4.37.

Una versione di patch non significa il numero di problemi corretti in una versione del kernel. Invece, conta il numero di volte in cui un kernel aggiornato è stato rilasciato dopo aver corretto i problemi rilevati.

Fino a Linux 2.6, questo sistema di controllo delle versioni veniva utilizzato ed era efficace nel distinguere una versione specifica dalle altre. L'aggiunta di conteggi di revisione e rilasci di patch nel numero di versione era descrittivo, ma significava avere versioni del kernel più lunghe e complesse. E ancora una volta, era necessario uno schema nuovo e migliore.

Come vengono denominate ora le versioni del kernel Linux?

Con Linux versione 3.0, Linus ha eliminato la quarta variabile dal numero di versione. Ora, la versione del kernel è formata secondo la sintassi: a.b.c, dove a, b e c sono rispettivamente la versione principale, la versione secondaria e il conteggio delle revisioni. Questo schema di controllo delle versioni è simile a quello utilizzato tra le versioni del kernel 1.0 e 2.4.

A causa degli avanzamenti in sistemi di controllo della versione, i contributori ora possono lavorare senza problemi su branch stabili e aggiungere nuove funzionalità senza interrompere accidentalmente le versioni stabili già funzionanti. Pertanto, l'utilizzo di numeri di versione minori pari e dispari per i rami stabili e di produzione di kernel è diventato superfluo dopo l'introduzione della versione 4.0 del kernel e la prima versione LTS (4.1) in il 4.x la serie aveva un numero di versione minore dispari.

Potresti anche notare alcuni caratteri alla fine del numero di versione, come rcX. I candidati alla revisione (o "rc" in breve) sono versioni di anteprima e versioni pre-patch del kernel che gli sviluppatori devono correggere per rimuovere bug e altri problemi. Questi sono un sostituto per i rilasci di sviluppo che erano stati precedentemente indicati da un numero di versione minore dispari.

Sebbene queste versioni siano specificamente riservate agli sviluppatori del kernel in modo che possano risolvere i problemi segnalati e implementare nuove funzionalità, puoi anche farlo scarica e testa questi candidati alla revisione del kernel se lo desideri, ma generalmente non è raccomandato considerando che questo è il luogo in cui la maggior parte dello sviluppo accade. L'ultima versione di anteprima del kernel al momento della stesura di questo articolo è 5.19-rc6.

Per creare nuove versioni, la variabile precedente viene incrementata quando il valore di una variabile raggiunge un numero specifico. Ad esempio, la versione principale viene aggiornata alla cifra successiva ogni volta che il conteggio delle versioni secondarie si avvicina a 20.

Linus menzionato in la sua posta di sviluppo del kernel 5.0 che ha semplicemente aggiornato il numero maggiore a cinque perché il numero di rilasci minori è diventato troppo grande per contare su dita delle mani e dei piedi (20!). Allo stesso modo, secondo kernel.org, il numero della versione principale viene incrementato quando il numero dopo il primo punto inizia a sembrare "troppo grande". La versione finale del kernel in 3.x la serie era 3.19 e l'ultima major 4.x la serie del kernel era 4.20, che è stata poi aumentata a 5.0.

Dalla versione 3.0, il kernel Linux ha seguito questo schema di controllo delle versioni e si è dimostrato efficiente per tutto il tempo di tre versioni principali del kernel (versioni 3.x, 4.x, e 5.x).

Identificazione di una versione del kernel Linux utilizzando i numeri di versione

Considerando l'enorme numero di versioni del kernel Linux rilasciate, è necessario un sistema adeguato per identificare e differenziare una versione specifica dalle altre. Con il nuovo schema di controllo delle versioni del kernel, le versioni del kernel possono ora essere identificate e confrontate in modo efficace ed è facile sapere quale versione del kernel è l'ultima e quale è stata rilasciata in precedenza.

Se vuoi controllare la versione del kernel Linux attualmente installata sul tuo sistema, puoi farlo usando uname, un comando Linux che ti consente di elencare le informazioni relative al sistema. A seconda della distribuzione in esecuzione, il numero di versione visualizzato da uname potrebbe essere diverso dalle versioni effettive del kernel Linux.