Snap
De Asso Val Libre
Sommaire
Attention
Les applications installées via snap
- sont mises à jour indépendamment du système de base
- sont monolithiques (sans dépendances fortes) / occupent plus d'espace disque
- ne sont pas nécessairement aussi «intégrées» que des applications installée via paquets.
- certaines fonctionnalités fournies par des extensions «externes» peuvent ne pas être intégrées dans le snap.
- consulter la page associée au snap sur le magasin snap, par exemple https://snapcraft.io/obs-studio / des informations complémentaires de configuration peuvent être indiquées
- les tutoriels de configuration avancée d'application ne sont pas nécessairement valides dans le cas d'installation via snap.
Principes
Cloisonnement
- Par construction et pour sécurisation, les snaps sont cloisonnés et ne peuvent accéder, par défaut, à toutes les ressources de la machine (dossiers, périphériques, ...)
- Ce paramétrage est variable et configurable, selon la conception de chaque snap.
- Pour décloisonner, il est nécessaire d'activer les «connexions» nécessaires (cf snap connections)
- Strict
- Utilisé par la majorité des snaps. Les snaps strictement confinées s'exécutent de manière totalement isolée et ne peuvent par conséquent accéder à vos fichiers, réseau, processus ou à aucune autre ressource système sans demander un accès spécifique via une interface (voir ci-dessous).
- Le confinement strict utilise les fonctionnalités de sécurité du noyau Linux, notamment AppArmor, seccomp et les namespaces, pour empêcher les applications et les services d'accéder au système plus vaste.
- Classique
- Permet d’accéder aux ressources de votre système de la même manière que les packages traditionnels. Pour vous protéger contre les abus, la publication d'un snap classique nécessite une approbation manuelle, et l'installation requiert l'argument de ligne de commande --classic.
- Devmode
- Un mode spécial pour les créateurs de snap et les développeurs. Un devmode snap s'exécute comme un snap strictement confiné avec un accès complet aux ressources système et génère un résultat de débogage permettant d'identifier les interfaces non spécifiées. L'installation nécessite l'argument de ligne de commande --devmode. Les snaps Devmode ne peuvent pas être publiés sur le canal stable, n'apparaissent pas dans les résultats de la recherche et ne sont pas actualisés automatiquement.
Structuration
- fichier snap
- Une application snap est fourni par un fichier snap
- dans /var/lib/snapd/snaps
- squasfs
- Chaque fichier .snap est une image/archive squashfs (système de fichier compressé)
- montage
- L'activation d'une application snap est réalisée par montage de cette image
- dans /snap/
- snapshots
- Lors du retrait d'une application snap, une sauvegarde/snapshot est créée
- dans /var/lib/snap/snapshots/ (fichiers .zip)
Install
- Exemple(s)
snap install hello-world / 77Mo snap install snap-store snap install vlc
Ils ont choisi Snap
Lorsque les développeurs d'application préférent diffuser en snap (plutôt que paquet deb, rpm ou flatpak), il est donc envisageable de faire confiance et de suivre le mouvement ;-) Ou encore, lorsque Canonical (à l'origine de la technologie snap) propose une image «validée» Ubuntu donc...
C'est le cas pour (liste évidemment non exhaustive, cela évolue en permanence) :
Descriptif | |
---|---|
Bitwarden | Gestionnaire sécurisé de mot de passe (application, appli, extensions navigateurs) |
Brave | Navigateur internet |
Chromium | Navigation internet |
Docker | Virtualisation, conteneurisation d'applicatifs |
Firefox | Navigation internet |
VLC | Lecteur et serveur multimédia multi-plateforme très populaire |
- ... Skype, Teams
Suggestions
Peuvent également être installés en snap (et non plus apt) :
- Les jeux en général, pas besoin d'intégration système forte, et souvent complexes en dépendances et donc instabilité probable en paquet
Mises à jour
- La mise à jour des snap est automatique (par interrogation de la source de diffusion des snaps)
- Il est possible de paramétrer un peu mais pas indispensable
- Depuis peu, l'utilisateur reçoit une notification (bureau) lui indiquant qu'une mise à jour est en attente/envisageable
- La mise à jour efective automatique ne se produit que lorsque le snap n'est pas en cours d'utilisation
snap changes ID Status Spawn Ready Summary 1194 Done today at 01:24 CEST today at 01:24 CEST Actualiser automatiquement le paquet Snap "brave" 1195 Done today at 12:18 CEST today at 12:18 CEST Installer le paquet Snap "battalion" from "edge" channel 1196 Done today at 12:33 CEST today at 12:33 CEST Supprimer le paquet Snap "battalion"
Find
SnapCraft
TOP 5
Une sélection maximale de 5 liens pour en savoir plus...
- http://debian-facile.org/doc:systeme:snap (FR)
- https://snapcraft.io/docs (UK)
- https://snapcraft.io/tutorials/advanced-snap-usage (UK)