Flatpak, který umožňuje instalovat aplikace bez ohledu na distribuci a její vydání, je ve Fedoře podporovaný už více než rok a jsou pro něj k dispozici desítky aplikací. Nicméně repozitáře flatpaků jsou poněkud roztříštěné. Každý upstreamový projekt si provozuje svůj (GNOME, KDE, LibreOffice,...). To by rád změnil Flathub, který má ambici stát se centrálním repozitářem pro flatpaky a nabízet nejnovější verze přímo od upstreamových vývojářů. Jeho vývoj je teprve v počátcích, ale už nabízí docela slušnou sadu aplikací, např.: GnomeMpv, Hexchat, Pithos, Chromium, Torcs, Bluefish, Audacity, Corebird, Darktable, TuxPuck, Freeciv, FeedReader, Frozen Bubble, Lollypop, Nautilus, Recipes, Inkscape, MegaGlest, MyPaint, Picard, SuperTux, Wesnoth, OpenArena... Další aplikace navíc přibývají každým dnem.
Používáte-li Fedora 25 Workstation a novější, můžete si stáhnout soubor flathub.flatpakrepo, poklikat na něj a pomocí GNOME Software přidat mezi repozitáře. Po další aktualizaci metadat by se měly aplikace z Flathubu objevit v katalogu. Flathub si můžete přidat také následujícím příkazem:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Flathub také nově obsahuje další populární témata GTK v podobě rozšíření běhového prostředí. Odstraňuje tak jeden z nedostatků Flatpaku, kdy bylo podporováno pouze výchozí téma Adwaita. Momentálně jsou k dispozici témata Ambiance, Arc, Arc Dark, , Arc Darker, Breeze, Breeze Dark a Greybird.
17. 5. 2017 at 15:14
Ako je to s doveryhodnostou binariek? Fedora binarky su podpisane, ale kto podpisuje flatpakove balicky? Prislusny vydavatel – teda GnomeMpv, Hexchat, Pithos, Chromium, Torcs, Bluefish, Audacity, Corebird, Darktable, TuxPuck, Freeciv, FeedReader, Frozen Bubble, Lollypop, Nautilus, Recipes, Inkscape, MegaGlest, MyPaint, Picard, SuperTux, Wesnoth alebo OpenArena?
17. 5. 2017 at 16:27
Flatpaky jsou podepsané. Když se podíváte do toho souboru .flatpakrepo, kterým se repozitář nastavuje, zjistíte, že tam je mimo jiné veřejný GPG klíč, kterým se potom podpisy ověřují.
Aby se Flatpak dostal do Flathubu, musí projít review, správce by měl být důvěryhodný (někdo přímo z projektu) a flatpaky jsou sestavované přímo ze zdrojáků, takže to je hodně podobné tomu, jak fungují oficiální repozitáře třeba ve Fedoře.
17. 5. 2017 at 15:20
A objeví se po přidání Flathubu aplikace v něm obsažené v GNOME Software nebo to je ještě rozpracované?
17. 5. 2017 at 16:31
Objeví. Jen nevím přesně, jestli to je hned po přidání nebo je potřeba počkat na nějaký pravidelný update metadat. Každopádně stačí restart procesu gnome-software a pak to má člověk okamžitě vždy. Pokud chcete vylistovat aplikace z Flathubu, stačí dát vyhledat „flathub“.
17. 5. 2017 at 15:29
Také není příliš user-friendly, že člověk musí psát dlouhé jméno „org.audacityteam.Audacity“, namísto jen audacity.
A žel to ani nefunguje spolehlivě..
[david@david-pc ~]$ flatpak install flathub org.audacityteam.Audacity
Required runtime for org.audacityteam.Audacity/x86_64/stable (org.gnome.Platform/x86_64/3.24) is not installed, searching…
Found in remote flathub, do you want to install it? [y/n]: y
Installing: org.gnome.Platform/x86_64/3.24 from flathub
[david@david-pc ~]$ flatpak run org.audacityteam.Audacity
audacity: error while loading shared libraries: libFLAC++.so.6: cannot open shared object file: No such file or directory
17. 5. 2017 at 16:36
Příkazovou řádku není nutné používat. Jak píšu výše, funguje to pěkně i v GNOME Software.
K tomu problému: je možné, že některá aplikace nefunguje. Flathub je zatím v počátcích vývoje, mají tam už nějaké CI, ale to AFAIK testuje jenom to, jestli se aplikace v pořádku sestaví, ne, jestli taky úplně funguje. Pokud nějaká aplikace nefunguje, mělo by se to nahlásit jejímu vývojáři/správci. Každá aplikace má na Githubu pod projektem Flathub repozitář, kde by to mělo jít.
17. 5. 2017 at 15:45
Tak smutně koukám jak Linux čím dál více windowsovatí. Vždyť flatpak ničí jednu z výhod Linuxu, že pro X programů nebylo třeba X knihoven(tj že si sebou každý program tahal všechny knihovny které potřebuje), ale všechny programy používaly sdílené knihovny ;( okolo kterých byly linkované.
17. 5. 2017 at 16:56
Jenže bohužel toto je jediná správná cesta jak prosadit Linux na desktopu a mít nějaký rozumný (free as in freedom) „App Store“ který bude fungovat napříč distribucemi. S podporou sandboxingu to myslím projde.
Nějaké ty knihovny však FlatPak sdílet umí, pokud vím (např. zrovna Gnome části).
17. 5. 2017 at 17:02
Proč windowsovatí? Bundlování je jinde běžné taky. Podívejte se třeba na takové BSD ports. A bundluje se i v Linuxu. Ve Fedoře není úplně málo balíčků, které mají bundlované knihovny (třeba Chromium nebo Firefox, já mám taky jeden balíček, kde je bundlovaná knihovna). Samozřejmě dynamické linkování je velmi efektivní ve spotřebě paměti, opravách chyb, zvláště těch bezpečnostních, ale v době, kdy se kola softwarového vývoje roztáčí čím dál rychleji, je čím dál složitější se jej držet a víc se projevují jeho nedostatky.
Můžeme před tím zavřít oči a tvrdit, že bundlování není akceptovatelné, a postupně ztratit jakoukoliv relevanci nebo přijít s něčím, co dává autorům softwaru flexibilitu bundlování, ale pořád zachovává některé výhody tradičního přístupu jako sdílení bezpečnostně citlivých komponent nebo aktualizační mechanismus. A o to se Flatpak snaží.
Pokud nebudou věci jako Flatpak, tak upstreamoví vývojáři budou čím dál víc distribuovat software nějakým šíleným custom způsobem např. v podobě obrovských binárek stažených kdoví odkud, což je úplně ta nejhorší varianta.
18. 5. 2017 at 10:04
> dynamické linkování je velmi efektivní ve spotřebě paměti, opravách chyb
ved to… tu nasobne zabratu ramku by som do istej miery ozelel, ale ta bezpecnost ma trapi
17. 5. 2017 at 21:31
A nesdílí více flatpakových aplikací stejné runtime knihovny? Např. když budou dvě aplikace chtít c++ stdlib verze 123, tak by se měla načíst do paměti jen jednou, ne?
Jedině, když budou chtít různou verzi, tak jich bude v paměti více.. Což je teda blbé z bezpečnostního i výkonnostního hlediska, ale zase na druhou stranu mnohem lepší, než co dělají prakticky všichni tvůrci velkého SW (třeba takový Mentor a jejich Modelsim) – že prostě k instalaci přibalí vlastní verze knihoven a s těmi se to pak spouští (aktualizace pak samozřejmě neproběhne nikdy).
Důvod, proč to dělají, je zřejmý – potřebují zajistit, aby to prostě vždy fungovalo a nemají zdroje na tvorbu balíčků pro všechny hlavní distribuce (a u každé několik verzí) a testování s desítkami různých runtimů. A Flatpak právě toto řeší a nabízí kompromis pro obě strany..
27. 5. 2017 at 21:56
Jak zde již bylo zmíněno, základní knihovny jsou sdíleny v rámci Flatpak Runtimes. Momentálně je k dispozici Freedesktop runtime, obsahující základní knihovny z linuxového userlandu a GNOME runtime, obsahující GTK/GNOME knihovny; na KDE runtime se pracuje.
Viz: http://flatpak.org/runtimes.html