Poslední vydání Ubuntu bývají poměrně nudná a kromě nových balíčků nic moc nepřináší. Teď se ale chystá jedna velká změna – na první pohled neviditelná, ale důležitá. A také poměrně nepřehledná, proto se ji pokusíme co nejlépe vysvětlit. Jde o to, že u některých instalací LTS (prodloužená podpora) varianty Ubuntu se bude automaticky povyšovat linuxové jádro. Veškerý následující text se vztahuje pouze k LTS vydáním, počínaje Ubuntu 16.04.
Současná situace
Dosud to fungovalo tak, že LTS vydání Ubuntu přišla s určitou verzí kernelu a na té zůstávala. Jádro se samozřejmě trochu záplatuje a probíhají drobné úpravy, ale to mění jen číslo verze úplně na konci. Pro příklad, v Ubuntu 16.04 je to aktuálně jádro verze 4.4.0-51. Uživatelé však mají možnost využít tzv. hardware enablement stack (HWE), což je v podstatě jádro a X server z poslední řadové (ne-LTS) verze Ubuntu. Jak název říká, hlavním důvodem využití této možnosti je podpora nového hardwaru ze strany linuxového jádra. To je celkem známá věc.
Méně už se ví o tom, že pár měsíců po vydání další LTS verze se vezme její kernel a přidá se do všech instalací předchozí LTE verze, které využívají nějaký HWE. Tento kernel už v systému zůstane do konce pětileté podpory, tedy ještě necelé tři roky, a jinak než svépomocí ho uživatel povýšit nemůže. Instalace, které žádný HWE nevyužily, zůstávají na úplně prvním kernelu, ale v budoucnu samozřejmě povýšit mohou. Dodejme, že první desetinkové vydání, např. 16.04.1, nový kernel nepřináší, to až ty další.
Co se změní?
Od verze 16.04.2, která vyjde v únoru 2017, se začne aplikovat nový systém, který vývojáři nazývají rolling HWE kernel. Jde o to, že všechny instalace využívající HWE kernel budou každý půlrok (přibližně únor a srpen) automaticky povyšovány na nový HWE kernel. Volbu, zda do HWE jít nebo ne, tedy bude třeba lépe promyslet, protože bude každý půlrok znamenat i potenciální problémy s povýšením. I když systém nějak bude možné ukecat, aby kernel povyšoval, tak je třeba počítat s tím, že starší HWE kernely už nebudou aktualizované a záplatované.
Člověka hned nemusí napadnout, že se to vztahuje i na instalační obrazy. Pokud si nainstalujete verzi 16.04.2, tak ta už přichází s HWE kernelem a tedy se automaticky upisujete k povyšování. Pokud tedy budete chtít zůstávat na základním kernelu, je třeba instalovat z obrazu verze 16.04, popř. 16.04.1. Tyto obrazy v současnosti bývají schované někde na FTP a většinou se automaticky nabízí obrazy nejnovější. Asi by se změnou modelu bylo dobré nabízet obě verze vedle sebe, s patřičným upozorněním.
Nutno dodat, že u serverové verze Ubuntu je to trochu jinak. U každé verze budou k dispozici dvě varianty. Jedna vždy bude mít základní kernel, druhá ten aktuální. U druhé to tedy bude fungovat tak, jak jsme uvedli v předchozích dvou odstavcích.
Co když se něco rozbije?
Aktuálně se doporučuje na HWE povyšovat pouze tehdy, pokud to uživatel z konkrétního důvodu požaduje. I když kompatibilita bývá hodně testována, samozřejmě se může stát, že nový kernel něco rozbije. Typicky může jít o grafické ovladače, zejména ty proprietární. To je problém, se kterým je třeba počítat a jde o hlavní nevýhodu nového řešení. I když jsou problémy relativně vzácné, Ubuntu LTS zkrátka je distribuce, od které uživatelé očekávají stabilitu a bezproblémový chod.
Částečným řešením bude možnost otestovat kernel ještě před tím, než dojde k ostrému nasazení. K tomuto účelu bude určena nová větev zvaná Edge. Nový kernel by v ní měl být k dispozici už několik měsíců před ostrým nasazením. Samozřejmě, většina uživatelů Edge nebude řešit, ale pokud si třeba alespoň jeden z tisíce dá tu práci, kernel předem vyzkouší a nahlásí problémy, může to s vyladěním kernelu a kompatibility hodně pomoct. Edge pro Ubuntu 16.04.2 už je k dispozici, jde o jádro verze 4.8.
Nejasnosti zůstávají
V plánech na přechod se však nacházejí určité nejasnosti. Uvádí se např: Bez ohledu na to, zda uživatelé zůstanou u předchozího modelu nebo přejdou na rolling HWE, bude požadováno povýšení na poslední HWE stack doručený s finálním desetinkovým vydáním LTS,
píše se v plánu. To by znamenalo, že po dvou a něco letech by LTS vydání Ubuntu podporovalo pouze jednu verzi kernelu a povýšení by se nešlo vyhnout. To by byl v případech, kdy jsou jakékoliv zásahy do systému nežádoucí, docela velký problém. Také by nebylo zrovna fér měnit pravidla v rámci již probíhajícího cyklu. Stránka s přehledem doby podpory však stále uvádí, že by Ubuntu 16.04 LTS se základním kernelem mělo být podporováno až do dubna 2021. Totéž ukazuje také grafické schéma výše.
Z plánů také není úplně zřejmé, zda se bude povyšovat pouze kernel nebo také zobrazovací server X.Org (později třeba Mir). Termíny HWE kernel a HWE stack jsou totiž často zaměňovány. Obě komponenty jsou však do značné míry provázané a dá se předpokládat, že zobrazovací server bude povyšován též. Byť třeba ne úplně s každým povýšením kernelu. Nevýhodou HWE je, že nepodporuje Canonical Livepatch – patchování jádra za běhu systému. To zatím umí pouze základní kernel.
Vývojáři budou mít víc času na ladění
Pro uživatele je změna nepříliš výhodná, protože přinese zejména starosti a nejistotu. Důvodem přechodu na nový systém je hlavně snížení nároků na vývojové kapacity. Dosud vývojáři museli spravovat až čtyři verze jádra zároveň, dnes to budou maximálně dvě. A to není vše. Kernely navíc budou používány v době, kdy ještě budou podporovány přímo ze strany vývojářů Linuxu, čímž vývojářům Ubuntu odpadne další kus práce. Zjednodušeně můžeme říct, že vývojáři budou mít tak třetinu práce oproti předchozímu systému.
A nebo, pokud na to chcete koukat z té pro uživatele lepší stránky, budou mít třikrát více času na správu jedné verze jádra, které tak bude vyladěnější než dosud. I když změna uživatelům ubere možnosti volby, nakonec může distribuci prospět. Ale to ukáže až čas. Bude záležet na tom, jak se komunita zapojí do testování, jak bude probíhat koordinace s výrobci grafických karet atp. Také by bylo vhodné, aby Canonical o poměrně významné změně začal uživatele víc informovat.