Linux E X P R E S

Facebook

OpenAlt 2016 + Flatpak

Flatpak

Letošní ročník konference OpenAlt je za námi, pojďme se podívat, jaký byl. Druhá část článku je věnována technologii Flatpak, o níž na konferenci hovořil Jiří Eischmann.


OpenAlt 2016 je za námi…

...i když vlastně ještě není. Jako poslední bod programu se dnes večer (od 20:30 v brněnském kině Scala) koná Noc otevřeného softwaru v umění. Kapacita kina je již několik dní zcela vyčerpána, zájem je tedy velký. Ale vraťme se na začátek.

Stánek ukazující DDoS Protector v akci Stánek ukazující DDoS Protector v akci

Pod společným názvem OpenAlt pokračují od roku 2014 dvě původně samostatné konference: LinuxAlt (koná se od roku 2006) a Openmobility (od roku 2010). Konferenci pořádá stejnojmenný spolek, místem konání je areál Fakulty informačních technologií VUT v Brně.

Také pro letošní rok byl naplánován velmi bohatý program přednášek, workshopů, filmů a dalších aktivit probíhajících v osmi paralelních proudech. U stánků v předsálí a na dalších místech v areálu si člověk mohl pohovořit se zástupci partnerských firem (a třeba získat nové pracovní místo), prohlédnout si zajímavá technická řešení (řadu z nich přímo v akci) nebo třeba vypít výbornou kávu zdarma.

Bylo otevřeno i muzeum výpočetní techniky, kde jsou vystaveny počítače doslova od „dřevních dob“ (přesněji od mechanických kalkulátorů).

Nabitý program přinesl zpočátku drobné problémy, protože se účastníci nestíhali přesouvat mezi jednotlivými sály (přestávky mezi přednáškami byly příliš krátké). To se ale podařilo vyřešit důslednější kontrolou dodržování limitů na délku přednášek. Podobně se povedlo vyřešit i občasné potíže s internetovým připojením.

Účastníci workshopu o programování ESP8266 pomocí PlatformIO Účastníci workshopu o programování ESP8266 pomocí PlatformIO

Celkově lze konferenci hodnotit jako velice podařenou a je třeba ocenit organizátory za hladké zvládnutí akce tohoto rozsahu. Kdo se konference nemohl zúčastnit, bude se moci brzy podívat na videozáznamy, které by měly být pro většinu programu k dispozici.

Flatpak – revoluce v distribuci linuxových aplikací?

Mezi velmi aktuální témata poslední doby patří distribuční systém Flatpak. Na konferenci OpenAlt o něm hovořil Jiří Eischmann (můžete si přečíst jeho článek o GNOME 3.22, kde se Flatpaku také věnuje). Tato technologie, ve svých počátcích známá pod pracovním názvem XDG App, má za cíl snadnou instalaci desktopových aplikací nezávisle na konkrétní distribuci a izolovaně od zbytku systému.

Jiří Eischmann hovoří o Flatpaku Jiří Eischmann hovoří o Flatpaku

Princip je takový, že každá aplikace běží jako kontejner v izolovaném prostředí (sandboxu) a v této podobě se i šíří. Oproti klasickým kontejnerům, které si s sebou nesou kompletní systém (všechny knihovny a další komponenty), spoléhá Flatpak na tzv. runtimes. Runtime je základní prostředí pro běh aplikace (systémové knihovny, grafické prostředí apod.), které se mezi aplikacemi sdílí.

Sdílením prostředí se ušetří jak operační paměť, tak i úložný prostor a zmenší se velikost instalačních balíčků.

Aktuálně je potřeba, aby aplikace fungovaly, umožňovat omezený přístup mimo sandbox, například do domovského adresáře uživatele. V budoucnu by ale měly aplikace přistupovat ven pouze přes kontrolované rozhraní: portál. K aplikaci mohou být přibaleny i knihovny a další závislosti a také exportované soubory (ukládají se na jiná místa souborového systému než samotná aplikace). To vše dohromady tvoří aplikační bundle.

Vpravo stánek s kávou, vlevo stánek spolku vpsFree.cz Vpravo stánek s kávou, vlevo stánek spolku vpsFree.cz

Co už najdeme k dispozici jako Flatpak

Již dříve jsme informovali o tom, že je touto cestou k dispozici kancelářský balík LibreOffice. Hodně daleko je s přípravou aplikací pro Flatpak projekt GNOME – týká se to například aplikací Evince, Rhythmbox, Gedit, Calculator a řady dalších. Nezahálejí ani vývojáři aplikací z KDE, pro Flatpak jsou připraveny kupříkladu Okular, Dolphin nebo KAlgebra. Ze skupiny grafických aplikací lze zmínit například GIMP, Inkscape nebo Scribus.

Možnost připravit aplikace závisí na tom, do jaké míry jsou připravena potřebná prostředí pro běh (runtimes) a co nejdříve také portály pro přístup mimo sandbox.

K čemu je to dobré

Někdo se může ptát, k čemu je to dobré. Klasický způsob distribuce softwaru přes balíčky přece dobře funguje. Ano, funguje, ale v řadě případů nevyhovuje. Například tehdy, pokud chceme mít nainstalováno více verzí téže aplikace. Další problém je, že má aplikace standardně přístup k celému systému (pokud není omezena něčím, jako je SELinux nebo AppArmor).

Flatpak tyto problémy poměrně obstojně řeší. Lze si nainstalovat libovolný počet verzí stejné aplikace a tyto verze si vzájemně nijak nepřekážejí. Běh v izolovaném prostředí pak zamezí aplikaci dělat v systému věci, které by dělat neměla.

Soutěž o ceny od partnerů konference Soutěž o ceny od partnerů konference

Další výhodou je, že lze distribuovat aplikace přímo k uživatelům, bez nutnosti připravovat pro každou linuxovou distribuci (a její verzi) samostatný balíček. Naopak zjevnou nevýhodou je samozřejmě větší náročnost na paměť i úložný prostor.

Jak si vyrobit aplikační bundle

K vytvoření balíku pro Flatpak jsou potřeba jak soubory samotné aplikace, tak také SDK (software development kit), obsahující runtime a nástroje pro sestavení. Aplikační bundle se potom vytváří na základě souboru metadata, do kterého se specifikuje, jak má aplikace vypadat.

Flatpak umožňuje instalovat aplikace nejen do systému jako celku (pro všechny uživatele), ale i jen pro uživatele, který aplikaci instaluje. Nejsou tak potřeba administrátorská práva a uživatel si může testovat aplikace podle potřeby.

Shrnutí

Flatpak je velmi nadějným způsobem distribuce aplikací – může hrát na desktopech podobnou roli, jakou hraje u serverových aplikací Docker. Bude samozřejmě záležet na tom, jak ho přijmou tvůrci aplikací, ale i tvůrci desktopových prostředí, kteří pro Flatpak připravují runtimes a portály.

Tito lidé (organizátoři, dobrovolníci a další) pro vás OpenAlt připravili Tito lidé (organizátoři, dobrovolníci a další) pro vás připravili letošní OpenAlt

Diskuze (0) Nahoru