Linux E X P R E S

Facebook

Snappy Ubuntu – k čemu je dobré další Ubuntu?

ubuntu.png

V prosinci minulého roku byla uvedena nová „odnož“ Ubuntu. Snappy Ubuntu do Ubuntu Core přidalo transakční aktualizace z Ubuntu Phone. Co z toho vzešlo? A k čemu je vlastně takové Snappy Ubuntu dobré?


Co je uvnitř?

Využití se nabízí více, primárním úkolem Snappy Ubuntu je nicméně nasazování do cloudu a do  zařízení spadajících do Internetu věcí. Kromě toho se také perfektně hodí pro využití v kombinaci s kontejnery Docker. Jak jsem zmínil už v úvodu, základem Snappy Ubuntu je minimální systém Ubuntu Core, do kterého byly implementovány transakční aktualizace.

To je způsob aktualizací, který byl původně vyvinut pro Ubuntu Phone a zajišťuje to, že aplikace nemají možnost provádět změny v systémových souborech, popř. souborech dalších aplikací. Přesněji řečeno, systém má svůj oddíl, do kterého nemůže žádná aplikace zapisovat. Oddíly určené pro systém jsou dva a po aktualizacích jádra se střídají, takže je vždy zajištěna možnost snadného návratu k funkční verzi třeba po rozbité aktualizaci.

V případě instalace aplikací je situace oproti běžným distribucím odlišná. Každá aplikace má svůj soubor, který vše potřebné pro její běh už obsahuje. To umožnilo kromě zbavení se problémů se závislostmi jednoduše implementovat tzv. delta aktualizace, které výrazně sníží množství přenesených dat – stahují se jen rozdílové soubory (tedy to, co se mezi nainstalovanou a novou verzí změnilo).

Správa Softwaru se provádí pomocí nového nástroje Snappy, který nahrazuje běžné apt-get. Základy jeho použití si ukážeme níže. Vytváření balíčků pro Snappy je oproti klasickému balíčkování pro Debian (popř. i jiné distribuce) velice jednoduché, jestli si to chcete vyzkoušet, tak nejlepší možností je využít dokumentaci.

Jak si nové Ubuntu „osahat“?

Jak už z popisu vyplývá, Snappy Ubuntu není určeno pro použití klasického operačního systému. Pro odzkoušení je ideální nainstalovat jej do virtuálního počítače (nejjednodušší bude využít kvm) a ovládat jej přes lokální SSH. Ač to bude vyžadovat pár příkazů v terminálu, tak jde o triviální úkony, které zvládne i začátečník.

Na začátek budeme potřebovat nainstalovat kvm, pro Ubuntu/Debian a jejich deriváty takto:

sudo apt-get install qemu-kvm

Ve Fedoře pak pomocí:

sudo yum install qemu-kvm

Nyní stáhneme poslední verzi (označené Alfa 2) obrazu určeného pro platformu amd64 (běžné PC):

wget http://cdimage.ubuntu.com/ubuntu-core/preview/ubuntu-core-alpha-02_amd64-virt.img

Poté už stačí vytvořit virtuální počítač příkazem kvm (ve fedoře kvm nahraďte za qemu-kvm):

kvm -m 512 -redir :9022::22 ubuntu-core-alpha-02_amd64-virt.img

kde si za parametr m podle potřeby dosadíte velikost přiřazené paměti RAM v MB (doporučuji aspoň 256 MB).



Po spuštění by se mělo otevřít okno QEMU, kde za pár vteřin nabootuje snappy. Pro přihlášení použijte ubuntu jako přihlašovací jméno i heslo. Poté máte k dispozici terminál tak, jak jej znáte z ostatních distribucí. Jestliže se okno virtuálního počítače neotevřelo, tak se na něj připojte pomocí SSH:

ssh -p 9022 ubuntu@localhost

Jako správce balíčků se ve Snappy Ubuntu používá „snappy“ (při pokusu o spuštění apt-get vás na to systém upozorní). Zkuste si nainstalovat poslední verzi jádra a třeba aplikaci Docker:

sudo snappy update-versions sudo snappy update ubuntu-core sudo snappy install docker

a pro dokončení aktualizace jádra (ubuntu-core) ještě restartujte systém pomocí sudo reboot. A třeba si po restartu všimnete, že vám na nové verzi jádra něco nefunguje, tak není nic jednoduššího než pomocí sudo snappy rollback ubuntu-core nainstalovat zpět jádro staré. Takto to bude fungovat se všemi balíky a doufám, že se tahle fíčurka jednou dostane i do běžných linuxových distribucí.

Pár slov závěrem

Bude zajímavé sledovat, kdy (a jestli) se začnou první zařízení se Snappy Ubuntu objevovat. Určitě mnohem dříve ale bude dostupné pro vyzkoušení v některých cloudech (Amazon, Microsoft Azure…). Postupný přechod na podobný mechanismus aktualizací očekávám i v dalších distribucích. V kombinaci s využitím sandboxu by to znamenalo vyšší míru zabezpečení a eliminaci problémů se závislostmi.

Diskuze (0) Nahoru