Flatpak - pour quoi faire ?

Bonjour,

je me posais une question. Quel est l’intérêt du flatpak, qu’apporte-t-il vraiment de plus?

1 J'aime

https://flatpak.org/

concurrent de Snap, AppImage, etc.

L’intérêt avoir une seule manière de packager quelque soit la distrib Linux, non dépendant de systemd. Les développeurs ne s’occupent plus que de packager pour flatpak, et toute distribution qui supporte cette virtualisation d’application se retrouve avec la même version.

1 J'aime

Et ça ne dépend pas de l’architecture matérielle ?

1 J'aime

le paquet flatpak lui-même non.
le reste, j’en sais rien, et je ne trouve pas d’infos

1 J'aime

Le problème c’st que le site de flatpak n’est pas super clair quand à la sécurité par exemple. C’est un peu comme avoir des informations sur le vaccin pfizer, en dehors de pfizer aucune info vraiment serieuse.

j’ai trouvé peu de comparatif utile. La notion de sandbox me laisse dubitatif.

Alors je sais que tu as une dent contre systemd.

mais les packaging des distributions sont bien plus ancien que systemd.
les packages des distributions dépendent aussi souvent de leur propre architecture, FHS vs non FHS, posix vs non posix, etc, etc…

d’autre part on parle de desktop application: est-ce poste de travail, ou application GUI graphique?
Quid des distribution qu’on utilise pour faire des serveurs?

Ca me fait penser à google app pour android. Et de fait le même niveau de fiabilité et de sécurité.

et ensuite qu’en est-il des dépendances qui elles sont relative à du matériel?

enfin, l’histoire du sandbox, c’est une couche supplémentaire, donc une diminution de la disponibilité des ressources. Ou plutot, c’est un intermédiaire de plus qui prend sa commission au passage sur les ressources.

j’ajouterais, que entre appimage, snap et flatpak, quand on les ecoute tout est pour le mieux dans le meilleur des monde.

mais si on prend le principe genre Appimage, un fichier une appli. ce qui veut dire qau’on peut avoir dasn plusieurs appimage la meme chose, en plusieurs exemplaires; gourmand en espace disque, quid des cas de conflit entre deux appli qui vont utiliser les me^mes types de dependances qui vont devoir utiliser la meme ressource?

de plus, on sait ce qu’il en est de snapd, et flatpak est plutot clairement du meme type de snapd, donc, il est à prévoir que les defaut de snapd et ce qu’on lui reproche d’etre aussi ce qui va arriver à flatpak.

perso, je reste très dubvitatif en terme de qualité, de fiabilité et surtout de sécurité. l’objectif etant plutot de « vendre ». de plus, les trois système semble plutot opaque sur certains point (snapd en particulier).

IL a d’ailleurs d’importante critiques sur flatpak concernant la sécurité.

Car au final la simplification est plutot du coté des editeurs. Hors, les editeurs, en dehors de ce qui se trouve entre le clavier et la chaise, sont la partie la moins fiable de l’informatique.

1 J'aime

Effectivement, et Flatpak permet l’utilisation des libraries packages avec l’applicatif ou celle du système ce qui réduit drastiquement le poids, par contre le revers de la médaille j’ai plus de stabilité et de plus récentes applications avec Snap (qui lui empaquete tous le nécessaires, quitte à doubler/tripler/quadru… les bibliothèque au finale).

Après pour moi l’autre différence importante les Sanp s’appuie sur Apparmor pour le sandobxing, alors que Flatpak s’appuie sur les namespaces.

Leur gros avantages c’est de pouvoir installer des choses proprement et de façon fonctionnelle sans se préoccuper de l’existant et de permettre de faciliter leur maintient en sécurité ( si on n’a confiance aux équipes en charge de l’empaquetage bien évidemment), se taper des compilation à la mano ou l’utilisation de dépôts PPA ou autre sur sa machine … très peu pour moi.

J’ai besoin de maintenir les dernières versions de plusieurs logiciels à jour, je n’ai donc d’autre choix que d’utiliser les Snaps.

Après pour le côté systemd … :sweat_smile: je fais avec au taff, alors sur ma machine …

1 J'aime

En théorie le système de sandbox de Flatpak fait partie de ses avantages intéressants. Dans la pratique j’ai l’impression qu’on doit de toutes façons très souvent la désactiver pour que les applications fonctionnent correctement.


Pour ma part je ne m’intéresse pas plus à Flatpak qu’à AppImage et Snap.

Un des grandes forces des distributions Linux en général et de Debian en particulier c’est leurs excellents gestionnaires de paquets natifs. Abandonner ces systèmes de paquets en faveur de conteneurs ou de binaires statiques, de mon point de vue c’est une grosse régression.

4 J'aime

Moi, non + !

On est d’accord !

Mais là, encore, c’est un point de vue… d’autres te diraient qu’être agnostique côté distribution, c’est « vachement bien quand même » !

1 J'aime

Ouais, mais ça on le faisait depuis des années déjà avec de bêtes archives .tar.gz :stuck_out_tongue:

Par exemple pour avoir Pitivi à jour


flatpak list
Name                                          Application ID                           Version       Branch      Installation
Freedesktop Platform                          org.freedesktop.Platform                 20.08.14      20.08       system
Mesa                                          org.freedesktop.Platform.GL.default      21.1.4        20.08       system
openh264                                      org.freedesktop.Platform.openh264        2.1.0         2.0         system
GNOME Application Platform version 3.38       org.gnome.Platform                                     3.38        system
Pitivi                                        org.pitivi.Pitivi                        2021.05       stable      system
Codecs                                        org.pitivi.Pitivi.Codecs                               stable      system

Pour mettre à jour automatiquement une tâche au calendrier quotidien

/etc/cron.daily/ze-flatpak

#!/bin/sh
#
echo ' Mise à jour Flatpak'
/usr/bin/flatpak update -y
echo '**********************************************************'
echo ' listage des Flatpak'
/usr/bin/flatpak list
1 J'aime

C’est aussi ce que je pensais. Ces trois systèmes de packages me laisse surtout penser que c’est une facilité pour les développeurs, et que cela permet d’abaisser les standards de qualité, notamment vis à vis de la sécurité.

2 J'aime

https://lafibre.info/tutoriels-linux/snap-flatpak/

1 J'aime

As-tu à minima un exemple d’applications sérieuses pratiquant ce laxisme côté sécurité ?

Lorsque je regarde ce que les équipes travaillant sur des applications comme Gimp, Pitivi, etc … propose dans leur snap j’ai pas l’impression que la sécurité soit mis de côté.

il ne faut pas penser (ou laisser penser que les applications sand boxée (si on peu les appeler ainsi) ne sont pas à comparé avec les paquets souvent fourni dans des PPA et provenant par fois d’envie (et c’est très bien de leur part) de gars de distribuer un trucs non présent nativement dans des distributions.

Pour moi c’est du pareil au même avec les containers dockers, certains sont limite niveau sécurité d’autres sont très bien fait (faut juste bien analyser).

3 J'aime

Je ne parlais pas de laxisme encore que. Je parlais du fait que les socles correspondant sont tous assez critiqués coté sécurité, notamment flatpak (inutilisable sur un serveur apparemment du fait de la nécessité d’apps graphiques et très critiqué dernièrement), appimage qui n’est pas très sécurisé au regard de ce que je peux voir sur les forums à droite ou à gauche, et snap qui semble le mieux securisé des trois.
pour docker on sait qu’il y a pas mal de problème aussi (pas mal de lien sur google, dont celui de wikipedia , je met le lien de ce dernier uniquement pour ne pas surcharger Sécurité de Docker — Wikipédia)

Pour flatpak, je pensais plutôt à sa comparaison vis à vis d’une installation classque debian.

Pour ce qui est des PPA, je n’en utilise pas et j’essaye d’éviter d’en utiliser.

et coté sécurité il y a toujours un certain degré de laxisme; car du fait des contraintes que cela implique, on préfère souvent passer à coter, et c’est ce que j’ai constaté depuis près de 20 ans que je m’intéresse à la sécurité, et 15 ans que j’y suis directement impliqué.

en fait, je me souvient des grandes discussions autour de java, qui devait aboutir à des programmes unique pour tous les systèmes, et on s’aperçoit aujourd’hui qu’on est loin du compte avec bien trop souvent d’un nivellement par le bas coté sécurité et fiabilité d’ailleurs.

du fait des écarts entre les différentes distribution, je ne pense pas qu’on puisse avoir un système de package unique de distribution sur tous les linux (disons les principaux) et qu’au final on ne finit juste que par avoir une multitude de système de distribution de package avec tous les problèmes qu’engendre ce type de situation.

1 J'aime

À mon avis, tant mieux.

On n’a bien sûr pas besoin d’avoir des centaines de systèmes de paquets distincts, mais en avoir une poignée de « concurrents » permet d’expérimenter plus de choses et de couvrir plus efficacement des situations radicalement différentes.

Et contrairement à ce qu’on raconte ça ne complexifie pas tant que ça le travail des devs upstream (j’en fais d’ailleurs partie) qui ont rarement besoin de proposer plusieurs formats de distribution pour leur application si ce n’est une archive des sources et parfois un binaire pré-compilé sur des libs pas trop récentes.

Au contraire même, vu que maintenant on leur demande de fournir en plus de ça un Flatpak, et une AppImage, et un Snap…

La référence donnée par Thierrybo me paraît exhaustive. J’ajouterais juste quelques remarques :

  • les trois « packaging » Appimage, Flatpak et snap incorporent pour chaque application toutes les dépendances qu’elle nécessite, ce qui permet d’éviter de les installer juste pour un essai, mais gonfle fortement leur volume (on duplique les dépendances, et en outre on va conserver dans une vieille appli de vieilles versions buggées de certaines d’entre elles)
    Bref test bien plus facile mais gros encombrement et abandon de l’idée d’un système à jour

  • Appimage et Flatpak diffèrent par des nuances décrites dans la référence de Thierrybo.
    Snap par contre est selon moi extrêmement dangereux car il correspond à une stratégie de M. Shuttleworth possesseur d’Ubuntu : au lancement, l’appli Snap efface les autres installateurs, avec pour résultat qu’elle oblige désormais à passer sous les fourches caudines du « magasin d’applications » ubuntu.
    Bref, vous installerez ce qu’on vous permettra d’installer -et les développeurs auront… ou non la permission d’apporter leur appli dans le magasin. Pour l’instant, sans encore payer.
    Pour moi ce mouvement est une véritable catastrophe pour Linux.
    Une distribution comme Mint par exemple a explicitement décidé de supprimer le support Snap rien que sur ce critère.

Ma position : Appimage ou Flatpak, pourquoi pas pour un essai (les versions sont rarement aussi à jour que dans apt, pour la plupart de mes applis), mais Snap, surtout, surtout pas!

H.

4 J'aime

non, pas vraiment. ça serait même plutôt l’inverse.
tout va dépendre du mainteneur qui devra faire le nécessaire.
ça ne dépendra plus de la distribution, avec des règles plus ou moins conservatrices concernant les paquets.

Pour le complot Shuttleworth, je suis pas convaincu.
ça fait maintenant une éternité que snap existe et on a rien vu.
je peux comprendre l’idée derrière mais il semblerait qu’ils aillent un peu trop loin pour pas grand chose. faciliter la mise à jour de paquets me semble intéressant, notamment pour certains utilisateurs. est-ce qu’il faut pousser à utiliser massivement les snaps, c’est autre chose.
ça serait pas la première fois qu’Ubuntu tente un truc pour faire demi tour plus tard.

1 J'aime

Exactement. Et donc dans le paquet il y aura fatalement un mainteneur qui ne le fera pas.

Je suis bien marri de cette remarque, moi qui suis horrifié par le complotisme. Mais la référence que je donne (Mint) est un fait, pas un complot. Et la raison de leur mouvement est explicitement celle-là.

Personnellement, étant sous Debian, je m’en balance des évolutions d’Ubuntu, aujourd’hui.
Mais avec le courant de pensée qui donne à croire qu’Ubuntu « c’est plus facile », pour moi il est clair que des milliers de lemmings vont basculer sur les snaps, et toute la question va être de savoir si les développeurs suivront ou pas. Franchement, je crains le pire.

J’ai travaillé toute ma vie dans l’industrie européenne : un lieu où il n’y a pas de complot, mais des stratégies.
Shuttleworth ne complote pas : il a une stratégie pour rentrer dans son investissement.
Et il me paraît parfaitement clair que celle-ci passe par les snaps gérés uniquement par Ubuntu : un marché aux applications genre Apple, où les développeurs devront montrer patte blanche, pour certains payer un jour, et d’ici très peu d’années, vendre des licences logicielles sur lesquelles Shuttleworth prendra un pourcentage, bien sûr.

Lorsque ce jour sera arrivé, Linux sera toujours open source mais sans plus aucune application utile, et on passera tous par le marché Snap de Shuttleworth, tout-à-fait similaire à ceux d’Apple et Google.

Ce n’est pas un complot, c’est une stratégie. J’oserai même dire que si je travaillais moi-même chez Shuttleworth, c’est exactement ce que je ferais -je l’approuverais!

Lorsque je vois qu’ici même, sur Debian-Fr, on n’est pas conscient de ce mouvement, c’est peu de dire que je crains le pire.

3 J'aime

+1
Ce n’est pas comme s’il n’y avait pas eu d’autres cas: SUn, Mysql, Java, etc…

1 J'aime