Linux E X P R E S

Facebook

Minimalistická distribuce Alpine Linux

Alpine Linux

Alpine Linux je speciální linuxová distribuce koncipovaná tak, aby byla malá, jednoduchá a bezpečná. Na konferenci InstallFest 2017 o ní hovořil Petr Krčmář. 


Na co další linuxovou distribuci?

Linuxových distribucí existuje spousta. Ty klasické, používané pro servery a desktopy, obsahují ohromné množství programů a technologií, které jsou sice užitečné, ale ne vždy to je to, co potřebujeme. Mnohdy je tak rozsáhlá množina softwaru zbytečná a komplikuje nastavení systému ke konkrétnímu účelu.

Tehdy je lepší sáhnout po distribucích, u nichž platí, že méně je více. Jednou z nich je Alpine Linux, o němž na konferenci InstallFest 2017 hovořil Petr Krčmář. Je to distribuce relativně málo známá, ale není to tak, že to byla nějaká „další“, nově vzniklá distribuce. Její první verze totiž vyšla už v roce 2006.

Petr Krčmář při přednášce o distribuci Alpine Linux Petr Krčmář při přednášce o distribuci Alpine Linux

Alpine Linux se představuje

Na začátku byl Linux Router Project (LRP) – tedy projekt linuxového routeru (jako je dnes třeba OpenWrt), vzniklý v roce 1997 a vyvíjený do roku 2002. Tento linuxový systém se vešel na disketu a byl schopen běžet čistě z operační paměti (data byla uložena na RAMdisku).

Forkem LRP vznikl framework LEAF (Linux Embedded Appliance Framework). Do určité míry žije dodnes a má podobu několika různých specifických distribucí (Bering, Oxygen, Lince...). Jako fork se zrodil Alpine Linux, aktivně vyvíjená distribuce pro poměrně širokou škálu účelů.

Alpine Linux je distribuce nekomerční, nezávislá na jiných distribucích či nějakých konkrétních subjektech. Kromě linuxového jádra jsou jejími základními stavebními kameny knihovna musl (standardní knihovna binárně kompatibilní s GNU libc) a program BusyBox.

Základ distribuce je velmi malý (vejde se do kontejneru 8 MB, instalace do virtuálního serveru zabírá cca 53 MB, na fyzický server okolo 302 MB), k dispozici je ale poměrně široká škála instalovatelných balíčků. Proto lze Alpine Linux použít pro řadu účelů, od velmi jednoduchých embedded systémů (routery, firewally apod.), přes systémy složitější (domácí multimediální centra…), servery (a kontejnery), až po v podstatě plnohodnotné desktopy.

Základ distribuce Alpine Linux (slajd z prezentace) Základ distribuce Alpine Linux (slajd z prezentace)

Jedním z hlavních cílů distribuce je vysoká bezpečnost. Té se kromě dodržování všech obvyklých zásad dosahuje také zapracováním neoficiálních patchů grsecurity/PaX. Bezpečnostní záplaty pro Alpine Linux jsou k dispozici po dobu dvou let od vydání verze.

Je otázka, jak se na této praxi projeví zpřísnění politiky grsecurity, kdy mimo jiné už nebudou zveřejňovány staré patche.

Alpine Linux pod kapotou

Kromě již zmíněných součástí Alpine Linux obsahuje init systém OpenRC (nikoli tedy kontroverzní systemd, čím dál častější u běžných distribucí), správce zařízení mdev, šifrovací knihovnu LibreSSL a balíčkový systém apk-tools.

Balíčky APK pro Alpine Linux jsou v podstatě jen balíčky vytvořené nástrojem tar, zkomprimované nástrojem gzip a elektronicky podepsané.

Alpine Linux se nyní vydává pro architektury x86, x86_64, ARMhf a AArch64, připravují se i ppcel64 a s390x (pracuje se na tom v IBM). Distribuce má vývojovou, průběžně aktualizovanou větev edge, stabilní verze se vydávají dvakrát ročně.

K dispozici je kromě jiného i speciální verze pro Raspberry Pi, obsahující v jádře veškerou potřebnou hardwarovou podporu. Toto jádro však neobsahuje výše zmíněné bezpečnostní patche.

Jedno ze zrcadel pro Alpine Linux již delší dobu běží na FIT ČVUT. Nově je hlavní zrcadlo, z něhož se synchronizují všechna ostatní, umístěno u českého spolku vpsFree.cz (i když to vzhledem k plánované změně struktury zrcadel tak asi nezůstane).

Jak si vyzkoušet Alpine Linux

Nejjednodušší je využít prostředí chroot, kde lze během pár sekund získat prostředí – ovšem za předpokladu, že se nekontrolují klíče, což není bezpečné. „Na alpinelinux.org/keys najdete veřejné klíče, které slouží k ověření podpisů. Takže správný postup je, je stáhnout, ověřit jejich otisky a ověřit balíček apk-tools. Ten už potom, pokud mu dáte klíče někam do adresáře, umí ty balíky ověřit, že jsou správně podepsané,“ vysvětluje Petr Krčmář.

Praktická ukázka (snímek z videozáznamu) Praktická ukázka (snímek z videozáznamu)

Alpine Linux pro virtuály lze spustit například pomocí qemu. Také ten startuje velmi rychle. Po startu je systém v čistém stavu, prakticky úplně prázdný. „Běží tady jen getty a syslog, nic víc. Opravdu tam nic dalšího není. Nemá to ani IP adresu, ani nahozené rozhraní, nic.“ Vše je potřeba připravit pomocí nástroje setup-alpine, tím se teprve zprovozní síť, nastaví heslo uživatele root, časová zóna atd.

Odkazy k článku:

Diskuze (3) Nahoru