Auteur Sujet: Snap, Flatpak et AppImage les nouveaux format d’application sous Linux  (Lu 60020 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Snap, Flatpak et AppImage : il y a concurrence pour le renouvellement de l'installation des applications sous Linux

L'objectif de Snap comme Flatpak est de fournir un environnement « bac à sable » (sandbox) sûr, isolé du reste du système, dans lequel les utilisateurs peuvent exécuter des applications non validées par les dépôts de la distribution (des versions de test, par exemple). Les applications utilisent des appels de fonctions spécifiques pour contrôler les périphériques matériels ou accéder aux fichiers de l'utilisateur, et demande à l'utilisateur sa permission avant de donner accès.

Les applications Snap et AppImage viennent avec TOUTES leurs "dépendances", "runtimes" et "bibliothèques" contenues dans le paquet, ce sont donc des applications assez lourdes, mais il est possible de faire fonctionner n'importe quel version à coté de n'importe quelle autre version et sur n'importe quel Linux.
Flatpak est un peu moins lourd que Snap, car il existe une collection de "runtimes" et de "bibliothèques" partagés entre plusieurs applications du système.

Snap et AppImage ont l'avantage sur Flatpak de pouvoir fonctionner sur un serveur (sans interface graphique) alors que Flatpak est dédié aux linux avec interface graphique.

Flatpak a l'avantage sur Snap d'être 100% open source, même si il est poussé par Red Hat et que le développeur de Flatpak est salarié de Red Hat.

Snap est créé par et sous licence Canonical qui gère le store.

AppImage est indépendant. Pas de store, pour corriger les bugs et éviter les failles de sécurité, il faudra aller chercher soi-même les nouvelles versions quand elles sortent.


Les principales différences des 3 format d’application qui veulent remplacer les .deb et les .rpm :

- Snap : l’application est sandboxée (isolée du kernel) via AppArmor. Utilisable en environnement serveur et internet des objets. Le logiciel ne peut utiliser que les bibliothèques incluses dans son package.

- Flatpak : l’application est sandboxée via BubbleWrap. S’appuie sur des éléments d’une session graphique pour fonctionner => inutilisable sur un serveur. Les Flatpaks peuvent tous deux utiliser des bibliothèques incluses dans le package et des bibliothèques partagées provenant d’un autre Flatpak.

- AppImage : Les programmes AppImage ne sont pas en mode bac à sable et ne nécessitent pas de droits root pour s'exécuter. AppImage offre donc moins de sécurité. Utilisable en environnement serveur. Le logiciel ne peut utiliser que les bibliothèques incluses dans son package (comme snap). Molotov.tv est disponible sous Linux uniquement en AppImage.

Les 3 formats sont tous les 3 pris en charge par les principales distributions Linux, ce n'est donc pas un point qui va les différencier.



Canonical a publié une nouvelle infographie pour vanter son format '.snap' :

L'infographie de Canonical explique :
- Plus de 4100 snaps sont disponibles au téléchargement
- 41 distribution linux supporte les snap



Nh3xus

  • Réseau Deux Sarres (57)
  • Abonné MilkyWan
  • *
  • Messages: 3 299
  • Sarrebourg (57)
Snap, Flatpak
« Réponse #1 le: 04 novembre 2018 à 01:27:14 »

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Snap, Flatpak
« Réponse #2 le: 04 novembre 2018 à 07:52:54 »
L'article pointe des défaut de jeunesse.

-Login: Je ne comprends toujours pas pourquoi je dois avoir un compte pour installer les paquets instantanés.

Il n'est maintenant plus nécessaire d'avoir un compte pour installer des Snap gratuites

Il n’est pas non plus facile de savoir dans le centre logiciel si le package provient de snap ou du référentiel standard.

Aujourd'hui, c'est bien indiqué dans le centre logiciel : il y a une ligne "Source" qui indique "Boutique des snap" si c'esr un snap ou "ubuntu-cosmic-main" si c'est un paquet DEB.

Exemple avec Firefox au format DEB :


Firefox au format Snap : (je regrette au passage e fait que la description soit en Anglais)


(observez la taille de Firefox au format Snap, car toutes les dépendances sont embarquées)

Les problèmes indiqués (pas accès aux fichiers) sont aussi du passé : aujourd'hui de nombreuses application phares sont proposées par défaut en snap. Il reste possible de prendre la version qui n'est pas dans les snap via un apt install.

Personnellement je reproche d'autre choses :
- un temps de lancement plus long des SNAP par rapport à un paquet DEB. Certains comparatif disent qu'il n'existe plus, il faudrait que je teste de nouveau.
- impossibilité de bloquer les mises à jour automatiques (sauf si paquet installé manuellement, ce qui est compliqué, il faut récupérer un fichier .snap et un fichier .assert.
- pas de miroir local possible pour une entreprise (si les serveurs n'ont pas d’accès à Internet, il faut mettre un proxy)
- pas de source code repository (problème présent aussi bien pour Snap que Flatpak ou AppImage) : il n'est pas simple de vérifier que le binaire correspond aux source, alors que c'est possible pour les paquets .deb traditionnels.

C'est un prés les même défaut que ceux du store de Windows 10... (lui aussi demandait de se connecter à l'époque de Windows 8 pour télécharger une application gratuite)

Snap, Flatpak ou AppImage permettent d'améliorer la sécurité (exécution dans un bac a sable), demander de permissions pour les ressources utilisées (une application ne peut pas utiliser votre webcam sans votre accord), ils permettent à un éditeur d'adresser facilement toutes les distributions linux, cela permet d'avoir différentes version d'un même logiciel (pour Snap et AppImage) mais il y a des régressions que je trouve inacceptable et on s'éloigne un peu du modèle Debian ou tout binaire a son code source à coté. Est-ce nécessaire pour que Linux dépasse 2% des système exploitation PC de bureau ?

A noter que le sandboxing n'est pas obligatoire et Skype ne l'utilise pas :


Mais d'autres logiciels propriétaire comme Spotify l'utilise :

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Snap, Flatpak et AppImage les nouveaux format d’application sous Linux
« Réponse #3 le: 04 novembre 2018 à 09:31:40 »
Comparaison d'AppImage, Snap et Flatpak
(il met bien en valeur le format AppImage)


Source : https://github.com/AppImage/AppImageKit/wiki/Similar-projects#comparison

minidou

  • Abonné Orange Fibre
  • *
  • Messages: 403
  • FTTH 1 Gb/s sur Nantes (44)
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #4 le: 12 novembre 2018 à 19:40:21 »
(il met bien en valeur le format Appimage)

Oui, il "oublie" de mettre des croix rouges lorsqu'Appimage est moins bien (Update mechanism) ...

C'est normal que "Can run without sandboxing" soit un objectif ?

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #5 le: 06 septembre 2019 à 14:15:28 »
Un an après, je vois qu'il y a de plus en plus de paquets mis dans Snap, par Canonical.

Je pense qu'il veulent à terme supprimer les .deb (les paquets traditionnels) sur Ubuntu

Exemple LibreOffice est sur SnapCraft, mais ce n'est pas "The document fondation", l'éditeur de LibreOffice qui l'a mis, mais Canonical: https://snapcraft.io/libreoffice (sympa, permet d'avoir toujours la dernière version, la version 6.3)

Bien sur la version LibreOffice sur Snap co-existe avec la version .deb qui est toujours mis à jour (mise à jour de sécurité uniquement, les correctifs sont rétro-porte par Canonical sur les versions qui ne sont plus supportées par "The document fondation" :
LibreOffice 6.2 pour Ubuntu 19.04
LibreOffice 6.0 pour Ubuntu 18.04
LibreOffice 5.1 pour Ubuntu 16.04

Par contre Ubuntu envisage en effet de remplacer le paquet classique de Chromium par une « boite vide » qui renverrait alors vers le snap correspondant. On n'aurait donc plus le choix.

Bref, je vois bien arriver un Ubuntu sans aucune application .deb pré-installées et les applications snap qui sont les seules versions disponibles. Les paquets .deb traditionnels restant pour assurer la compatibilité avec des application qui n'existent pas dans Snap.

Il reste un problème: il faut être connecté à Internet : https://bugs.launchpad.net/snapstore/+bug/1767118
(pour les paquets traditionnels, il est facile pour une société de faire son propre miroir, cf liens sur https://ubuntu.lafibre.info/#new-mirror)

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #6 le: 07 septembre 2019 à 22:27:59 »
Exemple: Comment installer Le dernière version de LibreOffice ?

Dans "Logiciels Ubuntu", chercher LibreOffice. Faire attention de prendre la version dont la source indique "Boutique des snap" :




L'installation ne remplace pas la version de LibreOffice dans des paquets .DEB : Toutes les applications sont en double :



Il est possible de lancer simultanèment deux versions différentes de LibreOffice.

Exemple sous Ubuntu 18.04 avec toutes les mises à jour au 7 septembre 2019 :
- LibreOffice Writer 6.3.0.4 est la version installée par les Snap
- LibreOffice Writer 6.0.7.3 est une version "Ubuntu 18.04.9" qui intègre les derniers correctifs de sécurité, sont rétro-porte par Canonical - cette version date du 20 août 2019 et corrige une faille sur LibreLogo (rendu graphique vectoriel).


Vous pouvez bien sur désinstaller les applications de la version LibreOffice 6.0 dans "Logiciels Ubuntu"

Edit: La version snap et flatpak de LibreOffice ont toutefois des soucis si vous souhaitez utiliser Base avec un driver SGBD écrit en Java ou si vous utilisez des extensions Java/Python.

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #7 le: 25 septembre 2019 à 22:12:57 »
La taille des mises à jour Linux me semble être problématique avec Snap / Flatpak et Appimage

Sous Windows, une mise à jour majeur de Firefox prend environ 30 Mo :

Mise à jour de Firefox 68.0.2 à 69.0 sous Windows 7 :


Mais les versions intermédiaires de Firefox, qui sortent en moyenne tous les deux semaines, prennent de 2 à 10 Mo :

Mise à jour de Firefox 69.0 à 69.0.1 sous Windows 7 :


Sous Linux, il faut tout télécharger à chaque mise à jour, même mineure.

Mise à jour de Firefox 69.0 à 69.0.1 avec APT :


Avec Snap, Flatpak et Appimage la taille explose.

Exemple avec la mise à jour de Firefox 69.0 à 69.0.1 avec Snap :


Télécharger des mises à jour de 2 à 10 Mo sous Windows, vs 222 Mo tous les deux semaines, cela fait une grosse différente qui n'est plus négligeable.

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #8 le: 25 septembre 2019 à 22:14:51 »
Bien sur il y a la solution de ne pas faire chaque mise à jour mineure.

Je m'étonne de deux choses :

1/ Pourquoi Linux Mint n'utilise pas la version Firefox inclut dans la base Ubuntu qu'il utilise ? Pourquoi en faire une nouvelle version ?

2/ Pourquoi Linux Mint ne propose pas la mise à jour 69.0.1 ?



butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 590
  • FTTH orange
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #9 le: 25 septembre 2019 à 23:12:31 »
Intéressant je ne connaissais pas.

Par contre on perd pour moi ce qui faisait la force d'un linux: le côté modulaire et léger!

La à chaque fois on sera forcé de tout retélécharger, d'avoir potentiellement x versions d'une même librairie installée...
Bref de la lourdeur, et un manque d'optimisation.

Après ça permet d'avoir une certaine uniformisation et donc des logiciels plus facilement portable entre les différentes distributions...
Bref mitigé

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 896
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #10 le: 26 septembre 2019 à 01:49:36 »
Mint propose bien la MAJ mineure de Firefox : https://mint.pkgs.org/19.1/mint-upstream-amd64/firefox_69.0.1+linuxmint1+tina_amd64.deb.html

Le dépôt n'était peut-être pas encore à jour ?
« Modifié: 26 septembre 2019 à 02:52:01 par renaud07 »

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #11 le: 26 septembre 2019 à 09:34:04 »
C'est probablement la raison.

J'ai reçu la mise à jour ce matin.

J'utilisais ce miroir :


Le choix ne se fait que par le débit avec mint :


Alors que sur Ubuntu, on peut regarder la fraîcheur des dépôts sur https://launchpad.net/ubuntu/+archivemirrors