Zelfs veel Linux-gebruikers zijn zich er niet van bewust dat er veel verschillende soorten Linux-kernels zijn. Natuurlijk zijn er de eeuwige release candidate-kernels, waar Linus Torvalds voortdurend aan werkt, maar dan zijn er ook nog de kernels die we elke dag op onze desktops, servers en clouds gebruiken. De belangrijkste hiervan voor hardware ontwerpers en programmeurs zijn de lange-termijn ondersteuning (LTS) kernels. Dus wanneer hun hoofdonderhouder, Linux-kernelontwikkelaar en -leider Greg Kroah-Hartman, zegt: “#Linux 5.10 zal de volgende Longterm (aka LTS) #kernel zijn (en dus minstens twee jaar ondersteund worden, maar uiteindelijk zijn het er vaak zes).” Dat is nogal wat.
Er is niets zo bijzonders aan de aanstaande Linux 5.10 kernel. Toegegeven, een oude geheugenfunctie, die dateert uit de tijd dat 286 processoren zoemden in computers, is eruit gehaald. Maar tot nu toe zijn er geen belangrijke nieuwe functies, zoals Linux 5.6’s WireGuard, opgenomen. We kunnen 5.10 in december 2020 verwachten.
Nee, het echte belang van 5.10 komt voort uit het simpele feit dat het een LTS versie is.
Een LTS bevat back-ported bug fixes voor oudere kernel trees. Niet alle bug fixes worden geïmporteerd. Maar alle belangrijke worden teruggeporteerd naar dergelijke kernels. Ze worden, vooral voor oudere kernels, meestal niet zo vaak uitgebracht. Het doel van LTS is om het voor ontwikkelaars, vooral van apparaten, gemakkelijker te maken om Linux te gebruiken zonder zich zorgen te hoeven maken over beveiligingsproblemen die lang nadat een kernel is uitgebracht zijn ontdekt. Dat is van vitaal belang voor Linux-gebaseerde apparatenbouwers, omdat het jaren kan duren om een enkele gadget te bouwen.
Wat deze release nog interessanter maakt, is dat het Android open-sourceproject (AOSP) steeds dichter in de buurt komt van het kunnen opstarten en gebruiken van de mainline Linux-kernel. Met Linux 5.10 kan Android eindelijk een pure Linux-distributie worden, in plaats van een zeer nauwe neef.
In totaal zijn er vijf verschillende soorten Linux-kernelreleases: Prepatch of release candidates (RC), Mainline, Stable, LTS, en de verschillende Linux-distributiekernels.
RC moet worden gecompileerd vanaf de broncode en bevat bug fixes en nieuwe features. Deze worden onderhouden en uitgebracht door Linus Torvalds.
Torvalds onderhoudt ook de Mainline tree, waarin alle nieuwe mogelijkheden worden geïntroduceerd. Nieuwe mainline kernels, zoals 5.10, worden om de paar maanden uitgebracht.
Wanneer de mainline kernel voor algemeen gebruik wordt vrijgegeven, wordt deze als “stabiel” beschouwd. Bug fixes voor een stabiele kernel worden teruggeporteerd van de mainline tree en toegepast door een aangewezen stable kernel maintainer. Doorgaans zijn er slechts een paar kernel-releases met bugfixes totdat de volgende mainline kernel beschikbaar komt.
Elke Linux-distributie onderhoudt zijn eigen versie van de kernel. Zo is bijvoorbeeld de kernel van Red Hat Enterprise Linux (RHEL) niet helemaal hetzelfde als die van SUSE Linux Enterprise Server (SLES), enzovoort.
De LTS zijn uniek omdat zij de enige zijn waarin serieuze beveiligingspatches altijd worden teruggeplaatst. Elke LTS heeft een gegarandeerde ondersteuning van ten minste twee jaar, maar het is gebruikelijk dat ze zes jaar worden ondersteund.
Gerelateerde verhalen:
- Toekomst Linux-ondersteuning op lange termijn verduidelijkt
- Linux 5.9: Geen game-changer, maar een goede, solide Linux-kernel
- Commit 1 million: De geschiedenis van de Linux-kernel