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

0 Membres et 1 Invité sur ce sujet

Trellen

  • Abonné Orange Fibre
  • *
  • Messages: 196
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #36 le: 26 novembre 2019 à 16:46:51 »
OStree rend les mises à jour plus efficaces que les traditionnels gestionnaires de paquets
dnf a une option deltarpm qui fait la même chose
apt possède également debdelta mais il me semble que ce n'es pas utilisé par debian/ubuntu
pacman vient de perdre son option de delta pour raisons de sécurité (plutôt prévenir que guérir selon les devs)

Dans l'ensemble on peut voir qu'ils ont quand même expérimenté avec le concept.
Les avis ont l'air plutôt partagés sur l'intérêt réel des deltas, ça ne m'étonne pas que Canonical n'utilise pas ce procédé pour snap vu qu'ils refusent de l'utiliser pour apt.

vivien

  • Administrateur
  • *
  • Messages: 47 076
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #37 le: 26 novembre 2019 à 16:52:00 »
Un autre point problématique : pas moyen de forcer la mise à jour des Snap graphiquement ou de les bloquer !

Le "Gestionnaire de mise à jour" se limite aux fichiers .deb :
 

Les mise à  jour Snap sont réalisées automatiquement au démarrage et on n'a pas de possibilité de bloquer ces mises à jour  (par exemple si on est en 4G), contrairement aux mises à jour .deb

Pas facile pour un non expert d'imaginer que malgré les paramètres de cette fenêtre ses applications Snap seront mises à jour :

Trellen

  • Abonné Orange Fibre
  • *
  • Messages: 196
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #38 le: 26 novembre 2019 à 17:19:04 »
Les mise à  jour Snap sont réalisées automatiquement au démarrage et on n'a pas de possibilité de bloquer ces mises à jour  (par exemple si on est en 4G), contrairement aux mises à jour .deb
selon la doc il est seulement possible de désactiver la recherche de mise à jour en connection limité : https://snapcraft.io/docs/keeping-snaps-up-to-date
Use refresh.metered to pause and re-enable the refresh process when NetworkManager detects a metered connection, such as an LTE link with a limited data plan.

On peut remarquer que ce comportement est dépendant de NetworkManager, à voir si ça fonctionne sans...
à noter aussi que le comportement par défaut est le fonctionnement des mises à jour
By default, refresh is enabled when a metered connection is detected.

Je ne comprends vraiment pas la stratégie de Canonical avec snap, aucune des décisions qu'ils prennent n'a de sens.

vivien

  • Administrateur
  • *
  • Messages: 47 076
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #39 le: 26 novembre 2019 à 17:59:00 »
Sortir des gestionnaires de paquets avec des dépendances qui font qu'une application est disponible dans une version différente pour chaque version supporté de l'OS.

La plupart des applications exceptés certaines comme Firefox, c'est une version différente pour chaque version supporté d'Ubuntu / Debian.

Vous imaginez si c'était la même chose sous Android ?

Les applications dasn les .deb ou les .rpm, il n'y a pas de possibilité de les exécuter dans une sandbox, alors que les appli Android, iOS, MacOS et Windows (via le windows store) sandbox les applications et demandent une autorisation pour avoir accès à la webcam ou aux fichiers.

C'est ces besoins qui ont fait naitre le format AppImage. Un même fichier va marcher avec n’importe quelle distribution dans n'importe quelle version, le rêve !

AppImage a deux grandes faiblesses :
- Pas de mises à jour centralisée et souvent pas de mises à jour du tout (les paquets qui savent se mettre à jour comme Molotov sont un exception et souvent cela ne fonctionne pas bien cf Pb de MAJ Molotov TV).
- On télécharge une application comme un .exe sur Internet : on n'est pas sur de son authenticité alors qu'on a une sécurité élevé sur la provenance avec les .deb / .rpm.
Ces deux régressions ont fait que AppImage ne s'est jamais démocratisé.

Ces pour ces raisons que Snap (Canonical), Flatpak (RedHat) ont été crée par deux des grands acteurs de Linux pour démocratiser l’utilisation de Linux auprès du grand public avec un concept qui a fait ses preuves sur les autres plateformes. Les concepts sont presque identiques, on peut penser qu'une fois la guerre terminée, un seul va survivre.  Que va faire Debian à terme ?

Il est impossible de télécharger un Snap / flatpak et le stocker sur une clée usb pour l’utiliser ou le partager hors ligne.
Ce comportement est le même que sous Android / iOS / MacOS ou le store Microsoft.
Cela choque par contre dans le libre, car on n'a plus accès aux sources et il faut faire confiance à l'éditeur qui a crée le paquet Snap / flatpak.
On a les mêmes limitations que sur les autres OS qui ont un store unique.

Si vous souhaitez installer un vieux PC avec de veilles applications, c'est facile avec les paquets traditionnels, que ce soit les .exe sous Windows ou les .deb / .rpm.
Par contre avec Snap, Flatpak, c'est impossible. C'est comme quand vous testez votre vieux Smartphone avec Android version 2.x ou 3.x : vous ne pouvez plus rien télécharger / faire, il est bon pour la poubelle.

La lenteur de démarrage d'une application Snap, Flatpak vs native est aussi un problème pour les petites configuration. C'est particulièrement visible pour des petites application comme la calculatrice (avec une clean install Ubuntu, la calculatrice est un paquet Snap).

A noter que flatpak permet de configurer un store alternatif et Snap non (officiellement, c'est pas encore).

Bref, il y a des bonnes idées, mais appliquer les solutions des OS propriétaires tel que, ce n'est pas forcément la bonne solution et on voit aussi la difficulté qu'a Microsoft pour basculer les applications Win32 en "Métro" (le nouveau nom est "Applications Windows" et remplace le terme "Metro").

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #40 le: 26 novembre 2019 à 20:13:06 »

 alors que les appli Android, iOS, MacOS et Windows (via le windows store) sandbox les applications et demandent une autorisation pour avoir accès à la webcam ou aux fichiers.


Snap et Flatpak n'ont conceptuellement rien a voir avec ce qui se fait sur Windows/Android/iOS/MacOS.
Snap et Flatpak sont plus proches de  ce qu'on fait avec Docker et les containers en général: on embarque avec l'application tout une partie de l'OS (l'userland) qu'elle a besoin pour fonctionner et on l'exécute dans un environnement isolé.

On ne fait pas ce genre de 'sandboxing' sur Android/iOS/Mac/Windows et la notion d'autorisation d'accès aux périphériques ou autres n'a rien a voir avec ca.

Le problème de Linux c'est qu'il y a trop de distro différentes incompatibles entre elles et que les apps dépendent souvent d'autres apps via tout un graphe de dépendance qui peut être compliqué. Un créateur d'app ne peut 'cibler' une version d'OS car il n'y a pas un seul OS. Du coup il va peut-être cibler une famille comme Debian/Ubuntu/etc mais la encore il aura des soucis avec les dépendances.

Meme la lib de base, la 'libc' peut-être différente et incompatible d'un Linux a un autre.

Apres franchement ce débat est de nos jours limité aux apps pour Linux Desktop ou aux applications "anciennes". Toutes les applications modernes du moment n'ont pas besoin de ces systèmes de 'packaging' car elle produisent un binaire unique qui ne dépend que d'une version minimum du noyau (linux kernel). C'est a la compilation (génération du binaire) que les dépendances sont résolues et intégrées donc c'est le développeur qui s'occupe de ca et l'appli n'aura pas de souci si l'administrateur ne tient a jour les dépendances car il n'y en a pas.

Le problème  subsiste qu'en Linux desktop a cause de la pléthore d' environnements graphiques déférents (GNOME, KDE, etc).

On peut contourner ce problème avec les containers ( https://github.com/mviereck/x11docker ) c'est bien mieux isolé que Snap/Flatpak/etc mais pour le moment moins 'user friendly' donc réservé a un public averti.

vivien

  • Administrateur
  • *
  • Messages: 47 076
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #41 le: 04 décembre 2019 à 10:08:39 »
Mise à jour du support Flatpak sous Ubuntu : J'ai été mort de rire en lisant le changelog - les modifications ne concernent que Snap.


renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 345
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #42 le: 04 décembre 2019 à 16:06:15 »
Elle est pas mal celle là^^

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #43 le: 04 décembre 2019 à 17:13:00 »
c'est un patch de GNOME pas spécifique a FlatPak.

vivien

  • Administrateur
  • *
  • Messages: 47 076
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #44 le: 04 décembre 2019 à 17:32:59 »
Les modifications ne concernant que Snap, pourquoi mettre à jour le paquet "gnome-software-plugin-flatpak" qui est indépendant et d'ailleurs pas installé de base sous Ubuntu (c'est moi qui l'ai installé pour rajouter des applications Flatpak)

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #45 le: 04 décembre 2019 à 20:39:02 »
Les modifications ne concernant que Snap, pourquoi mettre à jour le paquet "gnome-software-plugin-flatpak" qui est indépendant et d'ailleurs pas installé de base sous Ubuntu (c'est moi qui l'ai installé pour rajouter des applications Flatpak)

question de dépendances. si tu regarde bien le correctif vient de l'upstream (corrigé dans gnome-software  -> propagé dans Debian -> propagé dans Ubuntu).

comme tu as installé Flatpak et gnome-software-plugin-flatpak, "gnome-software" doit être mis a jour et la dépendance se propage par"gnome-software-plugin-flatpak".
Ca n'a rien a voir avec Flatpak directement donc.

enfin je le comprend comme ca, c'est souvent prise de tete les arbres de dépendances des paquets. ;D

spider-mario

  • Abonné Salt 10Gb/s symétrique
  • *
  • Messages: 1
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #46 le: 16 janvier 2020 à 10:03:43 »
Il est impossible de télécharger un Snap / flatpak et le stocker sur une clée usb pour l’utiliser ou le partager hors ligne.
Ce comportement est le même que sous Android / iOS / MacOS ou le store Microsoft.
Cela choque par contre dans le libre, car on n'a plus accès aux sources et il faut faire confiance à l'éditeur qui a crée le paquet Snap / flatpak.
On a les mêmes limitations que sur les autres OS qui ont un store unique.

http://manpages.ubuntu.com/manpages/cosmic/man1/flatpak-create-usb.1.html

vivien

  • Administrateur
  • *
  • Messages: 47 076
    • Twitter LaFibre.info
Snap, Flatpak et Appimage les nouveaux format d’application sous Linux
« Réponse #47 le: 16 janvier 2020 à 10:40:11 »
Merci, cela existe, même si une connexion est quand même nécessaire.

Autre limitation : Impossible d'installer un vieux paquet par faire des tests.

flatpak create-usb [OPTION...] MOUNT-PATH REF...

Copie les applications et / ou les exécutions REF spécifiées sur le support amovible monté sur MOUNT-PATH, ainsi que toutes les dépendances et métadonnées nécessaires à leur installation. C'est une façon de transférer des flatpaks entre des ordinateurs qui ne nécessitent pas de connexion Internet. Après avoir utilisé cette commande, la clé USB peut être connectée à un autre ordinateur et flatpak install préférera s'installer à partir de celle-ci plutôt qu'Internet, si les références sont les plus récentes disponibles. Pour que ce processus fonctionne, un ID de collection doit être configuré sur les télécommandes appropriées sur les ordinateurs source et de destination, et sur le serveur distant.

Chaque argument REF est un identifiant complet ou partiel au format ref flatpak, qui ressemble à "(app | runtime) / ID / ARCH / BRANCH". Tous les éléments, à l'exception de l'ID, sont facultatifs et peuvent être omis, y compris les barres obliques, de sorte que la plupart du temps, il vous suffit de spécifier l'ID. Toute partie laissée de côté sera comparée à ce qui est installé, et s'il y a plusieurs correspondances, un message d'erreur listera les alternatives.

Par défaut, cela recherche à la fois les applications installées et les runtimes avec la REF donnée, mais vous pouvez limiter cela en utilisant l'option --app ou --runtime.

Toutes les REF doivent être dans la même installation (utilisateur, système ou autre). Sinon, il est ambigu de savoir quelles références de métadonnées de référentiel mettre sur le lecteur USB.

Par défaut, flatpak create-usb utilise .ostree / repo comme répertoire de destination sous MOUNT-PATH mais si vous spécifiez un autre emplacement à l'aide de --destination-repo, un lien symbolique sera créé pour vous dans .ostree / repos.d. Cela garantit que dans les deux cas, le référentiel sera trouvé par flatpak (et d'autres consommateurs de libostree) pour les opérations d'installation / mise à jour.

Sauf si elle est remplacée par les options --system, --user ou --installation, cette commande recherche à la fois l'installation à l'échelle du système et celle par utilisateur pour REF et les erreurs si elles existent dans plusieurs.