Hlavní navigace

Záplatujte jádro za provozu s Ksplice

Petr Krčmář 7. 9. 2010

Je známo, že linuxové stroje dokáží běžet léta bez nutnosti restartu. Bohužel existuje jeden pádný důvod, kvůli kterému musíte restart občas provést: výměna jádra. Ať už chceme nebo ne, bezpečnostní chyby se objevují a je kvůli nim občas třeba rebootovat do opraveného jádra. S Ksplice už to není třeba.

Pokud pomineme chyby v hardware, dokáže Linux běžet spoustu let bez zastavení. Za normálních okolností není vůbec potřeba systém restartovat ani vypínat. Dokud se neobjeví vážný bezpečnostní problém v jádře. Pak následuje stažení nového jádra, instalace a restart.

Podle následující statistiky, která pochází od společnosti Ksplice, Inc., je potřeba kvůli opravám v jádře restartovat v průměru jednou měsíčně.

Takové restarty jsou jednak otravné, ale hlavně firemní zákazníky stojí čas a tedy i peníze. Hlídání bezpečnostních chyb, plánované odstávky serverů kvůli restartům a podobně. To vše řeší projekt Ksplice.

Už žádné restarty

Ksplice umožňuje patchovat jádro za jízdy. Jedná se o softwarový nástroj, který dokáže hlídat informace o bezpečnostních dírách, stahovat pro ně záplaty a za plného běhu systému tyto záplaty zavádět. Celý Ksplice se skládá z několika úrovní nástrojů: grafického rozhraní, řádkových ovládacích utilit a nízkoúrovňových utilit pro přípravu patchů.

Celý proces pak funguje tak, že utilita sama hlídá repositář na serveru a sleduje nové binární patche proti podporovaným distribučním jádrům. Pokud se nějaké nové záplaty objeví, utilita je sama stáhne a zeptá se na jejich zavedení. Pak je na několik milisekund zastaven běh systému, zavedou se záplaty a vše se zase spustí. Aplikace i celý systém běží vesele dál, jen jádro má některé funkce přemapované novými, tentokrát už záplatovanými verzemi.

Pokud používáte podporované distribuční jádro, pak je celý proces naprosto automatizovaný a uživatel do něj nemusí vůbec zasahovat. Ale i když používáte jádro vlastní, není nic ztraceno. Můžete si vytvářet vlastní patche. Budete k tomu potřebovat jen zdrojové kódy původního jádra (běžícího), zdrojové kódy záplat a kompilátor.

Program ksplice-create sám přeloží původní jádro, zkontroluje si, že je to skutečně tatáž věc, která právě běží v paměti, do zdrojových kódů zavede patche a udělá druhou kompilaci. Pak si oba výsledky porovná a vytvoří binární patche, přesně takové, jaké byste stahovali ze serveru. Zavedení hotových binárních patchů provedete pomocí  ksplice-apply.

Ksplice je plně open-source a je k dispozici pod licencí GNU GPL 2. Vyvíjí jej už zmíněná společnost Ksplice, Inc., která pro něj také nabízí vlastní komerční repositáře Uptrack s příslušnými patchi. Cenová politika je velmi příznivá, platí se necelých 80 Kč měsíčně, což není nijak závratná cena. Příjemné také je, že pro Ubuntu a Fedoru je služba dostupná zdarma, takže uživatelé těchto systémů mohou vesele ksplicovat. Kromě toho je podpora dostupná pro jádra z distribucí RHEL, CentOS, Debian, CloudLinux a připravuje se podpora SLES. Pokud si chcete na těchto distribucích Ksplice jen vyzkoušet, můžete sáhnout po třicetidenním přístupu zdarma.

Jednoduché a rychlé jako facka

Pokud jste se rozhodli si Ksplice zkusit, navštivte stahovací sekci na Ksplice.com. Já jsem vše testoval na Ubuntu 10.04 LTS a k dispozici jsou přímo .deb balíčky pro tři poslední verze Ubuntu. Balíčky stačí jednoduše stáhnout a nainstalovat. Balíček si do systému přidá repositář a stáhne z něj další tři balíky. Tím je instalace hotová.

Výhodou Ksplice je, že kvůli němu nemusíte provádět žádné úpravy jádra, úvodní restarty ani nic podobného. Ihned po instalaci se v oznamovací oblasti objeví ikonka, která označuje běžící Ksplice.

Pokud se vedle ní objeví vykřičník, pak to znamená, že jsou k dispozici nové záplaty. Stačí kliknout a už se vám otevře okno s jejich seznamem.

Každá záplata má své označení a stručný popis toho, jaké chyby opravuje.

Pak už stačí jen kliknout na Install all updates a záplatování se rozeběhne. Instalace záplat trvá jen několik sekund a poté program oznámí, že se vše povedlo a můžete jej zavřít. Máte záplatováno.

Ksplice samozřejmě nesupluje klasické aktualizace systému, takže je stále třeba instalovat novější verze všech balíčků. Jen restartovat kvůli novému jádru už nemusíte. Pozor ovšem na to, že veškeré úpravy se nacházejí jen v paměti, takže restartem o ně přijdete. Samozřejmě se pak při dalším startu Ksplice zase nainstalují.

Pár tipů navíc

Pokud chcete, aby se vás aplikace už na nic neptala a chcete vše nechat na ní, stačí do souboru etc/uptrack/uptrack.conf přidat volbu

autoinstall = yes

a program už bude záplaty stahovat a instalovat bez zásahu uživatele.

Kromě samotného grafického manažera obsahuje Ksplice také několik řádkových utilit. Ty se hodí zejména v případě, že chcete celou technologii nasadit na serveru, kde nemáte grafické rozhraní. Program uptrack-upgrade provede záplatování jádra všemi dostupnými záplatami, proti tomu uptrack-remove umí odstraňovat záplaty, které vám způsobují problémy. K odstranění vám bude stačit znát číslo záplaty, případně můžete pomocí parametru --all odstranit všechny a dostat tak jádro do původního stavu. Posledním příkazem je uptrack-show, který vám ukáže všechny právě zavedené záplaty.

Jednodušeji už to nejde

Na celém Ksplice je příjemná především jednoduchost. Stáhnete si jeden balíček a vaše jádro už bude vždy aktuální. Musím také vyzdvihnout to, že firma Ksplice nabídla repositáře pro Ubuntu a Fedoru zdarma. Pravděpodobně se bude jednat o velmi důležitý impuls v popularizaci celé věci. Navíc ani ceny pro serverové systémy nejsou nijak závratné a za pár desetikorun měsíčně můžete ušetřit spoustu času a energie.

Přestože je podporována jen část těch nejznámějších distribucí, ani pro uživatele těch ostatních není nic ztraceno. Pokud používáte na více serverech stejnou distribuci s jedním jádrem, můžete si vytvářet záplaty jen jednou a distribuovat si je po všech najednou. Většina výhod Ksplice vám i přesto zůstane.

Zdroje

Našli jste v článku chybu?

7. 9. 2010 10:15

„Kde to jsme ? Ve windowsech ?“
No nevím, kde jsou ostatní, ale ty jsi zjevně mimo :-)


7. 9. 2010 8:08

První, co mě napadlo, bylo, že by to vydavatelé distribucí měli co nejrychleji okopírovat :)

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Pečete cukroví a zbyl vám bílek?

Pečete cukroví a zbyl vám bílek?

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

120na80.cz: Boreliózu nelze žádným testem prokázat

Boreliózu nelze žádným testem prokázat

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání