Že se pomalu spouští je pravda (především poprvé, pak už tak moc ne). Že je "horší než flatpak" není ani pravda ani nepravda, záleží, jak definujete slovo horší. Že jediný market je od 1 firmy není pravda vůbec (resp. je pravda, že funguje jediný snap store, ale nejsou v něm balíky od jediné firmy). Závislost na AppArmoru není "problém" protože prakticky všechny oficiálně podporované distribuce kromě RedHatovských (tj. Ubuntu. SUSE, Debian, Arch...) AppArmor mají. Problém je spíš na straně RedHatu, že ho neumožňuje zapnout.
> Že je "horší než flatpak" není ani pravda ani nepravda, záleží, jak definujete slovo horší
Horší: menejcenný ktorý má menšiu hodnotu, kvalitu, závažnosť a pod. • druhotriedny (menej významný, kvalitný; op. prvotriedny): podradný umelec; druhoradá, druhotriedna kvalita tovaru • nekvalitný • horší • slabší (op. dobrý, kvalitný): menejcenný, nekvalitný, horší tovar; horší, slabší pracovný výsledok • treťotriedny (pomerne zlej kvality, hodnoty): treťoradý význam; treťotriedny hotel • pochybný • pokútny • pejor. brakový • kniž. obskúrny (ktorý má malú, podozrivú hodnotu): pridelili mu pochybnú, pokútnu prácu; braková, obskúrna literatúra • nezávažný (menej významný): nezávažný problém
Z pohľadu používateľa jediný market a nútené upgrady je niečo objektívne horšie - to je teritórium, kam sa do tejto miery neodvážilo ani Apple (majú jediný market, ale nie nútené upgrady). Rovnako to, že je Snap pomalší, že z jeho pohľadu horšie. Že to robí bordel v domovskom priečinku, je horšie. Z pohľadu power usera, že mi to robí bordel v mountoch je problém, ktorý robí používanie niektorých nástrojov ťažším. To fakt treba opakovať takéto základné veci v každej diskusii?
> Že jediný market je od 1 firmy není pravda vůbec (resp. je pravda, že funguje jediný snap store, ale nejsou v něm balíky od jediné firmy)
Toto je už pokus o prekrúcanie. Je pravda že jediný market od 1 firmy, bodka. To, že tam sú balíky od jednej firmy, je irelevantné; aj na fyzickom trhu máte ponuky od viacerých výrobcov. Je to identická situácia ako na mobilných zariadeniach Apple.
> Závislost na AppArmoru není "problém" protože prakticky všechny oficiálně podporované distribuce kromě RedHatovských (tj. Ubuntu. SUSE, Debian, Arch...) AppArmor mají. Problém je spíš na straně RedHatu, že ho neumožňuje zapnout.
Zaujímavé, že Flatpak tento problém nemá, tak to nie je problém Redhatovských distribúcií, ale Snapu. Keďže LSM (Linux Security Modules) je modulárny systém, Flatpak k nemu pristupuje ako k modulárnemu systému a používa ten, ktorý je dostupný, čo bráni Snapu robiť to isté?
> Z pohľadu používateľa jediný market a nútené upgrady je niečo objektívne horšie - to je teritórium, kam sa do tejto miery neodvážilo ani Apple (majú jediný market, ale nie nútené upgrady). Rovnako to, že je Snap pomalší, že z jeho pohľadu horšie. Že to robí bordel v domovskom priečinku, je horšie. Z pohľadu power usera, že mi to robí bordel v mountoch je problém, ktorý robí používanie niektorých nástrojov ťažším. To fakt treba opakovať takéto základné veci v každej diskusii?
Nucené upgrady ve snapu do jisté míry záleží na baliči. Dobře připravený balík má major verze v různých kanálech. Pokud nemá, je to v podstatě stejná situace, jako s balíky deb nebo rpm: ty taky de facto musíte aktualizovat ať chcete nebo nechcete. Bordel v home to nedělá, je tam jedna složka snap a všechno ostatní je v ní. Bordel v mountech... jak se to vezme. V Linuxu jako mount vypadá tolik věcí, že když nějaké nástroje spoléhají jenom na to, co se jeví jako mount, tak je spíš problém ve špatné koncepci takových nástrojů.
> Toto je už pokus o prekrúcanie. Je pravda že jediný market od 1 firmy, bodka. To, že tam sú balíky od jednej firmy, je irelevantné; aj na fyzickom trhu máte ponuky od viacerých výrobcov. Je to identická situácia ako na mobilných zariadeniach Apple.
Zatímco u flatpaku máte... Flathub a tečka. Ano, teoreticky je možné mít i jiné app story, v praxi to nikdo nedělá. Stejně jako u klasických balíků máte repozitáře distra a hotovo (teoreticky je i PPA, COPR apod, ale jejich používání je tak riskantní, že v mnoha případech to rozhodně nelze doporučit a už vůbec ne např. na pracovním počítači.)
> Zaujímavé, že Flatpak tento problém nemá, tak to nie je problém Redhatovských distribúcií, ale Snapu. Keďže LSM (Linux Security Modules) je modulárny systém, Flatpak k nemu pristupuje ako k modulárnemu systému a používa ten, ktorý je dostupný, čo bráni Snapu robiť to isté?
Nic mu v tom nebrání, protože Flatpak nepoužívá LSM vůbec. Používá jenom seccomp, namespaces a cgroups jako nejmenší možné jmenovatele. Snap používá to samé plus navíc AppArmor. Je tedy lépe zabezpečený, než Flatpak. Když ale budete používat snap na RH a derivátech, tak prostě AppArmor nevyužije a bude se chovat přesně stejně, jako flatpak.
>Zatímco u flatpaku máte... Flathub a tečka.
https://fedoramagazine.org/an-introduction-to-fedora-flatpaks/
https://wiki.gnome.org/Apps/Nightly
Pak provozuju ještě svůj registry pro pár lidí, protože způsob jakým do něj balím aplikace neodpovídá požadavkům Flathubu.
Tohle všechno se Snapem moc nejde.
> Nucené upgrady ve snapu do jisté míry záleží na baliči. Dobře připravený balík má major verze v různých kanálech. Pokud nemá, je to v podstatě stejná situace, jako s balíky deb nebo rpm: ty taky de facto musíte aktualizovat ať chcete nebo nechcete. Bordel v home to nedělá, je tam jedna složka snap a všechno ostatní je v ní. Bordel v mountech... jak se to vezme. V Linuxu jako mount vypadá tolik věcí, že když nějaké nástroje spoléhají jenom na to, co se jeví jako mount, tak je spíš problém ve špatné koncepci takových nástrojů.
Aj dobre pripravený balík môže mať rovnaký bug v rôznych kanáloch, pre upstream nemusí byť priorita to opraviť, ale konkrétne pre vás to môže byť fatálne.
S normálnymi systémami - dnf, apt, flatpak - máte niekoľko možností:
- nemusíte updatovať vôbec nič
- môžete updatovať selektívne, danú aplikáciu napinujete a nikdy sa neupdatne.
Napríklad relatívne nedávno fedora urobila update wpa_supplicant na verziu 2.10. Táto verzia má problémy s niektorými chipsetmi a výsledkom je, že sa počítač nepripojí k wifi. Samozrejme, používateľ sa radšej pripojí k wifi so staršou verziou ako nepripojí s novšou, a nie je problém zakázať aktualizáciu tohto balíčku, pokiaľ si to chlapci nevyriešia.
(Btw, otázka na ľudí z Redhatu: "Lubomir Rintel" je skutočný človek, ktorý reálne rieši bugy? Nikdy som nevidel že by položil doplňujúcu otázku k nahlásenému problému, nebodaj priradený bug vyriešil, vždy bol ponechaný vyhniť bez reakcie. Nie je to iba označenie na bugy, že jedného dňa sa k tomu možno niekto dostane?)
A takýchto príkladov by som mal viac, vrátane proprietárnych aplikácií, kam sa bug dostal do stable na niekoľko rokov a chlapci sa zbadali, až keď im zákazníci prestali platiť maintenance (keď už zostávajú na starej verzii bez možnosti update...).
Čo sa týka mountov... koncepcia nástrojov je správna, zneužívanie mount pointov nie je. Naozaj nie je nutné mountovať desiatky squasfs images; ešte aj ten flatpak zvláda svoje bind mounty realizovať vovnútri namespace svojich sandboxov a nezaťažovať tým aplikácie mimo sandboxu.
> Zatímco u flatpaku máte... Flathub a tečka. Ano, teoreticky je možné mít i jiné app story, v praxi to nikdo nedělá. Stejně jako u klasických balíků máte repozitáře distra a hotovo (teoreticky je i PPA, COPR apod, ale jejich používání je tak riskantní, že v mnoha případech to rozhodně nelze doporučit a už vůbec ne např. na pracovním počítači.)
Viacero repozitárov a viacero verejných repozitárov sú dve veľmi odlišné veci.
Na flatpaku vám stačí http server a môžete si urobiť svoj vlastný repozitár. Môžete mať svoje repo vovnútri vašej organizácie, ktoré hostuje vaše interné aplikácie a nikto vám do toho nebude kecať alebo nejako obmedzovať, ani za to nemusíte platiť nejaké členské. Na pracovné počítače ako robené.
Presne toto bolo možné aj s apt a yum/dnf a presne toto nie je možné so snap.
> Nic mu v tom nebrání, protože Flatpak nepoužívá LSM vůbec. Používá jenom seccomp, namespaces a cgroups jako nejmenší možné jmenovatele. Snap používá to samé plus navíc AppArmor. Je tedy lépe zabezpečený, než Flatpak. Když ale budete používat snap na RH a derivátech, tak prostě AppArmor nevyužije a bude se chovat přesně stejně, jako flatpak.
Existujúca SELinux politika sa týka flatpaku, či sa mu to páči alebo nie, v enforcing mode (default) to nie je opt-in. Pokiaľ by nespolupracoval, tak by nedostal ani len socket na dbus.
Takže váš záver, že snap je lepšie zabezpečený je nesprávny.
Používá jenom seccomp, namespaces a cgroups jako nejmenší možné jmenovatele. Snap používá to samé plus navíc AppArmor. Je tedy lépe zabezpečený, než Flatpak.
S tímhle tvrzením bych byl opatrný. Že se používá nějaká technologie navíc, neznamená, že je to automaticky bezpečnější. On je tam dost podstatný rozdíl v konceptu. Flatpak je díky namespaces, cgroups... by default dost izolovaný a v tom kontejneru vytváříte jen díry, kde potřebujete. Naopak Snap je by default otevřený (proto to může běžet v legacy módu s prakticky neomezeným přístupem, toho u Flatpaku nedosáhnete) a AppArmor politikou to uzavíráte tam, kde nechcete, aby byl přístup. Nejde tedy tvrdit, že by Snap byl bezpečnější než Flatpak, protože má navíc AppArmor. Mně naopak to zabezpečení Flatpaku přijde jednodušší a transparentnější, což má obecně pozitivní vliv na bezpečnost. Je to ale zase za cenu toho, že není tak flexibilní jako u Snapu.
Snap není otevřený by default, jak jste na tohle přišel? Snap má režim classic, který je otevřený, ale není to výchozí režim, je to zvláštní režim "mimo" a u každého jednotlivého balíku se musí zvlášť povolit při instalaci. Pak je tam "devmode", který je taky otevřený s chybovými hláškami, ale to je výhradně pro ladění a pro normální instalaci balíků se nepoužívá. Ve výchozím nastavení je snap totálně uzavřený a otevírají se v něm jednotlivé "díry" stejně jako ve flatpaku, akorát, že kromě toho všeho, co používá flatpak, to navíc využívá AppArmor (pokud ho distro podporuje).
Asi jsem se špatně vyjádřil. Nemyslel jsem to, jak je určitá aplikace ve výchozí instalaci izolovaná, ale to, že Flatpak je de facto kontejner, který je díky namespaces sám o sobě dost izolovaný od zbytku systému a tuto izolaci nejde jen tak vypnout, ale prostě do ní jen děláte cesty, aby byla aplikace schopná komunikovat mimo sandbox. Snap AFAIK namespaces na sandboxing nepoužívá, proto tam není nějaká "zabudovaná" izolace, ale spoléhá se AppArmor a Seccomp, které ale jdou "vypnout" a pak to celé běží neizolované jako classic mode (což u Flatpaku možné není).
Snap bez AppArmor není tak izolovaný jako Flatpak, takže prostě nelze tvrdit, že je bezpečnější, protože používá ten samý sandboxing a navrch ještě AppArmor. Ta struktura sandboxingových mechanismů je jiná a není to porovnatelné tak, že jedna konkrétní technologie jednomu chybí a je tak méně bezpečný.