Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
snap [Le 14/04/2019, 10:37]
109.190.150.105 Mise à jour du lien
snap [Le 28/06/2025, 16:20] (Version actuelle)
krodelabestiole mise en forme / le wiki devrait être autonome, copier les infos plutôt que ces "références" pointant ailleurs
Ligne 1: Ligne 1:
-{{tag>xenial ​application format paquet}} +{{tag>Jammy application format paquet}} 
----- +{{ :​icons:​snapcraft-primary-icon--dark.png?​140|Logo snap}} 
 ====== Format Snap ====== ====== Format Snap ======
  
-Le format **snap** ​vise à permettre ​l'​installation ​de nouvelles versions ​de logiciels dans les systèmes Linux, tout en apportant aux développeurs ​la facilité de distribution,​ la fiabilité et la sécurité.+Le format **[[wpfr>​Snap_(gestionnaire_de_paquets)|snap]]** permet ​l'​installation de logiciels dans les systèmes Linux, tout en facilitant leur distribution pour les développeurs.
  
-Avec le format snap, pour recevoir des nouvelles versions de logiciels, les utilisateurs n'​auront plus à mettre en jeu la stabilité de leur système par l'​ajout de dépôts personnels (PPA). Ils pourront récupérer un paquet ''​.snap''​ distribuée par l'​éditeur via le gestionnaire de paquets **Snappy**. L'​application s'​exécute ensuite de manière isolée, ce qui accroît la stabilité et la sécurité du système. Le paquet ''​.snap''​ inclut ​l'application et peut contenir aussi ses dépendances ; en contrepartie d'​un ​paquet ​plus lourdceux-ci peuvent donc faire cohabiter plusieurs versions de mêmes dépendances au sein d'un même système Linux et en facilite ​la distribution en ligne et hors ligne.+Un paquet ''​.snap''​ inclut ​une application et ses dépendances ​et les isole du reste du système ​; en contrepartie d'​un ​volume ​plus élevéil permet de faire cohabiter plusieurs versions de mêmes dépendances au sein d'un même système Linux, indépendamment de la version de celui-ci.\\ 
 +En pratique, ceci permet, ​en empaquetant une application au format snap, de la rendre disponible sur absolument toutes les [[:​distributions]] GNU/Linux.
  
-Les paquets ​''​.snap''​ ne remplacent pas les paquets ''​.deb''​ classiques ​le cœur du système Ubuntu (noyau, environnements graphiques, logiciels de base) continue ​d'être géré à l'aide des paquets issus de Debian. Les paquets ''​.snap''​ s'​ajoutent à l'​existant afin de fournir ​un mode de distribution sûr pour les logiciels tiers ou les versions non validées par le système (la dernière version de votre logiciel préféré par exemple).+Les paquets ​**snap** sont pour la plupart centralisés sur la plateforme [[https://​snapcraft.io/​|Snapcraft]] et disponibles sur Ubuntu depuis le [[:snap store|centre ​d'applications]],​ aussi appelé //​[[https://​snapcraft.io/snap-store|Snap Store]]//, et qui est lui-même "un snap".
  
-<​note>​[[Canonical]] ​a développé le système Snappy pour permettre son utilisation sur le marché des serveurs et de l'internet des objets ; les développeurs ​d'applications graphiques vont peut-être davantage privilégier le système [[Flatpak]],​ développé spécifiquement pour l'​utilisation graphique sur ordinateur personnel, et très bien intégré à [[Gnome Shell]].</​note>​+**Snap** et son dépôt principal snapcraft sont maintenus par [[:Canonical]]l'éditeur ​d'Ubuntu.
  
-===== Qu'est ce qu'un snap ? =====+Les paquets ​''​.snap''​ ne remplacent pas toujours les paquets ''​[[:​deb|.deb]]''​ classiques : le cœur du système Ubuntu (noyau, environnements graphiques) reste géré à partir des paquets issus de [[:​distributions#​Debian]].\\ 
 +Mais en facilitant la distributions des applications pour toutes les [[:​distributions]] Linux, **snap** donne accès à une logithèque beaucoup plus importante que ce qui était logistiquement possible avec le format [[:deb]] seul. 
  
-Un snap +Par ailleurs grâce au format **snap**les utilisateurs n'ont plus à mettre ​en jeu la sécurité ​et la fiabilité de leur système par l'ajout de dépôts personnels ([[:PPA]]).
-  ​est un système de fichier [[wpfs>​SquashFS]] contenant le code de l'​application et un fichier spécifique de métadonnées ''​snap.yaml''​. Il est en lecture seule etune fois installé, dispose d'une zone accessible ​en écriture. +
-  * est autonome. Il inclut ​la plupart des bibliothèques ​et des outils dont il a besoin et peut être mis à jour ou restauré sans affecter le reste du système+
-  * est séparé du reste du système d'​exploitation et des autres applications grâce à des mécanismes de sécurité, mais il peut échanger du contenu et fonctionner avec d'​autres snaps suivant des règles précises contrôlées ​par l'utilisateur et les paramétrages généraux du système d'​exploitation.+
  
-===== Installer ​une application ​snap =====+<note tip> 
 +Il existe ​une alternative communautaire à **snap**, il s'agit de **[[:​Flatpak]]**,​ dont le dépôt principal est [[https://​flathub.org/​|Flathub]]. 
 +</​note>​
  
-Depuis [[:xenial| Ubuntu 16.04 LTS]] vous pouvez directement installer des applications ​snap.+===== Nature et propriétés d’un ​snap =====
  
-Pour cela il suffit ​de passer ​par la [[:software-center|logithèque ​ubuntu]] comme pour les autres applications.+Un snap combine un système de fichiers compressés [[wpfr>​SquashFS]] contenant le code de l'​application associée et un fichier spécifique de métadonnées ''​snap.yaml''​. Il est en lecture seule. Une fois installé, il dispose d'une zone accessible en écriture. 
 + 
 +Un snap est autonome :​ 
 +  * il inclut la plupart des bibliothèques et des outils dont il a besoin ; 
 +  * il peut être mis à jour ou restauré sans affecter le reste du système. 
 + 
 +De plus un snap est séparé du reste du système d'​exploitation et des autres applications grâce à des mécanismes ​de sécurité. Il peut néanmoins échanger du contenu et fonctionner avec d'​autres snaps suivant des règles précises contrôlées ​par l'​utilisateur et les paramétrages généraux du système d'​exploitation. 
 + 
 +<note important>​Les applications installées au format snap occupent habituellement plus d'​espace disque que celles qui émanent des dépôts officiels. La commande suivante donne une idée de l'​espace utilisé : <code bash>​snap info <​nom-du-programme></​code></​note>​ 
 + 
 +===== Installer snapd ===== 
 +Snap est pré-installé dans Ubuntu depuis la version 16.04 LTS au sein de la configuration bureau (« Desktop »)(([[http://​www.webupd8.org/​2015/​04/​ubuntu-desktop-to-eventually-switch-to.html|Ubuntu Desktop To Eventually Switch To Snap Packages By Default]]. Article publié le 03/04/2015 sur Web Upd8.))(([[https://​askubuntu.com/​questions/​618471/​why-is-ubuntu-moving-to-snap-packages|Why is Ubuntu moving to Snap packages?]] Sujet publié le 05/05/2015 sur le forum AskUbuntu. Évocations de l’intérêt de l’approche Snap en coexistence avec les paquets Debian.)), mais non au sein de la configuration serveur. 
 + 
 +Vous pouvez l'​installer avec la commande suivante : 
 +  sudo apt install snapd 
 + 
 +<note warning>​Si votre serveur est un [[wpfr>​Serveur dédié virtuel|VPS]] hébergé sur un serveur hôte avec [[wpfr>​OpenVZ|OpenVZ]],​ Snap ne fonctionnera pas ou fonctionnera de manière dégradée. La commande suivante permet de connaitre la technologie de virtualisation sous-jacente :​ 
 +  systemd-detect-virt 
 +  # au besoin, faire précéder la commande de : sudo 
 +  # retour attendu dans le cas de OpenVZ : openvz 
 +</​note>​ 
 +===== Installer une application snap ===== 
 +Désormais vous pouvez directement installer des applications snap en passant par la [[:​gnome-software|logithèque Ubuntu]] comme pour les autres applications.
  
 ==== Pré-requis ==== ==== Pré-requis ====
 +Il faut commencer par [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​snapd]]** sur votre système (normalement,​ il est pré-installé sur Ubuntu).
 +
 +Il faut aussi penser à définir le //nombre de versions qui seront conservées//​ pour chaque logiciel livré en technique snap sous peine d'en retrouver un nombre important et de constater que la RAM consommée est volumineuse.
 +La valeur par défaut est 3. Une valeur de deux se révèle suffisante. ​
 +  sudo snap set system refresh.retain=2
 +  ​
 +D'​**autres astuces pratiques** peuvent être consultées dans ce [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22384729#​p22384729|post]].
 +
 +==== Utilisation ====
 +Le service ​ d’intégration de **Snap** dans la Logithèque Ubuntu est inclus dans les distributions récentes d'​Ubuntu. Pour gérer les paquets au format Snap depuis la logithèque,​ il suffit de vous rendre sur [[https://​snapcraft.io/​snap-store|la page officielle du Snap Store]] et de cliquer sur le bouton **[ install ]**.
 +
 +Voici les lignes de commandes équivalentes :​
  
-Il faut commencer par [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **snapd** sur votre système (normalement,​ il est pré-installé sur Ubuntu depuis la version [[:​xenial|16.04 LTS]]).+  sudo snap install snap-store 
 +  sudo apt-get update
  
 ==== En ligne de commande ==== ==== En ligne de commande ====
  
 Vous pouvez aussi passer par un [[:​terminal]] pour installer une application snap : Vous pouvez aussi passer par un [[:​terminal]] pour installer une application snap :
-<​code>​ +  ​sudo snap install nom_du_snap
-sudo snap install nom_du_snap +
-</​code>​+
  
-Plus d'​informations ​et la liste des options de la commande **snap** en consultant le manuel (''​man snap''​).\\ +Plus d'​informations, dont la liste des options de la commande **snap**, sont disponibles ​en consultant le manuel (''​man snap''​).\\ 
-Notamment, il peut-être intéressant d'​utiliser l'​option //​--classic//​ qui évite le confinement… et permet par exemple d'​imprimer ​sur les imprimantes disponibles((https://​forum.kubuntu-fr.org/​viewtopic.php?​id=2030312)):​ +Il peut être notamment ​intéressant d'​utiliser l'​option //%%--classic%%// qui évite le confinement… et permet par exemple d'​imprimer ​vers des imprimantes disponibles(([[https://​forum.kubuntu-fr.org/​viewtopic.php?​id=2030312|Pas d'​imprimante dans Gimp]]. Question publiée le 05/09/2018 sur le forum Kubuntu francophone et résolue.)): 
-<​code>​ +  sudo snap install --classic nom_du_snap
-sudo snap install --classic nom_du_snap ​ +
-</​code>​+
  
-===== Mise à jour des applications ​snaps  =====+===== Mise à jour des applications ​ =====
  
-En ligne de commande : +==== Cas général ====
-<​code>​sudo snap refresh</​code>​+
  
-===== Logiciels ​===== +Mise à jour des applications : 
-Quelques logiciels ​disponibles sous Snap :+ 
 +Les applications se mettent ​ à jour automatiquement au démarrage de l'​ordinateur par le [[:​systemd|service]] snapd et régulièrement toutes les six heures. La vérification est possible par cette commande [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22840295#​p22840295|snap refresh --time]]. 
 +Le déclenchement immédiat peut être provoqué par cette commande 
 +  sudo snap refresh 
 + 
 +==== Mise à jour du magasin d'​application snap-store ​==== 
 + 
 +Lorsque le magasin d’application Snap Store doit être mis à jour, l'​opération ''​snap refresh''​ ne fonctionne pas. 
 + 
 +L'​utilisateur est généralement alerté par un message « **mise à jour du snap "​snap-store"​ en attente** » à l’ouverture de sa session. 
 + 
 +En effet, la commande ''​snap refresh''​ ne permet pas de mettre à jour le magasin d'​application qui reste actif tout au long de l'​opération. Il est donc nécessaire de désactiver le magasin avant de lancer la mise à jour. Cela peut se faire en ligne de commande comme suit :​(([[https://​askubuntu.com/​questions/​1412575/​pending-update-of-snap-store | Pending Update of Snap Store]]. Question publiée le 06/06/2022 sur le forum Ask Ubuntu et résolue.)) 
 +  snap-store --quit 
 +  snap refresh 
 + 
 +===== Applications ===== 
 + 
 +Voici une liste non exhaustive d'​applications ​disponibles sous Snap :
  
   * [[:​Blender]]   * [[:​Blender]]
   * Brackets   * Brackets
 +  * [[:Brave]]
 +  * [[:​croc|Croc,​ partage de fichiers/​répertoires en pair à pair]]
   * [[:​gravit-designer|Gravit Designer]]   * [[:​gravit-designer|Gravit Designer]]
   * [[firefox|firefox]]   * [[firefox|firefox]]
-  * [[gimp|gimp]]+  * fractal, client pour réseau ​[[Matrix]] 
 +  * [[:GIMP]]
   * Hiri   * Hiri
   * [[:​handbrake|handbrake]]   * [[:​handbrake|handbrake]]
Ligne 60: Ligne 112:
   * Mailspring   * Mailspring
   * [[:​Minetest]]   * [[:​Minetest]]
 +  * [[:Okular]] : l'​afficheur de documents
 +  * [[:​keepassxc]]
 +  * [[:Signal]]
   * [[:Skype]]   * [[:Skype]]
   * [[:​Spotify]]   * [[:​Spotify]]
   * [[:​Supertuxkart]]   * [[:​Supertuxkart]]
-  * [[:​Telegram]]+  * [[:telegram|Telegram]]
   * [[:VLC]]   * [[:VLC]]
  
-Quelques Logiciels ​disponibles ​sous Snap, en tapant ​+La commande suivante affiche une liste de //​logiciels ​disponibles ​et suggérés//​ au format ​Snap : 
-<​code>​snap find</​code>​ +  snap find
- +
-Liste des logiciels installés sur votre ordinateur, en tapant : +
-<​code>​snap list</​code>​+
  
 +La commande suivante affiche la liste des //logiciels installés//​ au format Snap dans le système :
 +  snap list
  
 ===== Suppression ===== ===== Suppression =====
-Pour supprimer un paquet : 
-<​code>​sudo snap remove mon_logiciel</​code>​ 
-===== Voir aussi ===== 
  
-  * [[https://​snapcraft.io/​ | site officiel]] +==== Supprimer un paquet ====
-  * [[https://​uappexplorer.com/​snaps | logithèque non officielle de snaps ]]+
  
 +La suppression d’un paquet snap est commandée par :
 +  snap remove mon_logiciel
 +Cela conserve le profil utilisateur (instantané ou « snapshot ») pendant 30 jours.
 +
 +La suppression d’un paquet snap et de tous les profils utilisateur associés est commandée par :
 +  snap remove --purge mon_logiciel
 +
 +La suppression d’une version d’un paquet snap, identifiée par son numéro de révision, est commandée par :
 +  snap remove --purge mon_logiciel --revision=numéro_révision
 +<​note>​La version et le numéro de révision peuvent être retrouvés par la commande ''​snap list''​ ou ''​snap info mon_logiciel''​.</​note>​
 +
 +Les instantanés – les derniers profils conservés quand on supprime un snap – sont affichés par :
 +  snap saved
 +Ils peuvent être supprimés individuellement en indiquant le numéro d’instantané (ou numéro de « snapshot ») visé :
 +  snap forget numéro_snapshot
 +
 +==== Faire du ménage de manière radicale ====
 +
 +Référence : [[https://​superuser.com/​questions/​1310825/​how-to-remove-old-version-of-installed-snaps|How to remove old version of installed snaps]]. Question publiée le 04/04/2018 sur le forum SuperUser et résolue.
 +
 +<note important>​Attention :​ la commande indiquée supprime immédiatement tous les paquets snap désactivés.</​note>​
 +
 +=== Évaluer la place occupée par les snap ===
 +
 +Espace disque occupé par chaque paquet snap installé :​
 +  sudo du -csh /snap/* | sort -rh
 +  # affichage trié ici par ordre décroissant sur le volume d’espace disque occupé
 +
 +Espace disque occupé par chaque version installée d’un paquet snap donné :
 +  sudo du -csh /​snap/​nom_du_snap/​* | sort -rh
 +
 +=== Vérifier la liste des snap qui seront supprimés ===
 +
 +Afficher les paquets snap installés, actifs ou non :
 +  snap list --all
 +
 +Repérer les lignes avec la note //​désactivé//​ (ou, sur un système en anglais : //​disabled//​). Par la suite, adapter les commandes par le terme approprié.
 +
 +Veillez à conserver au moins une version de paquet snap à l’état non //​désactivé//​. En effet la commande proposée par la suite supprimera sans distinction tous les paquets snap indiqués en argument.
 +
 +Afficher la liste des paquets qui seront supprimés :​
 +  LANG=C snap list --all | awk '/​disabled/​{print}'​
 +  # la spécification ici de la variable LANG permet un filtre sur le terme anglais "​disabled"​
 +
 +=== Suppression proprement dite ===
 +
 +Si la liste vous convient, vous pouvez saisir la commande suivante :
 +  LANG=C snap list --all | awk '/​disabled/​{print $1, $3}' | while read snapname revision ; do echo $snapname $revision ; sudo snap remove --purge "​$snapname"​ --revision="​$revision"​ ; done
 +ou, en version sur plusieurs lignes :
 +  LANG=C snap list --all |\
 +    awk '/​disabled/​{print $1, $3}' |\
 +    while read snapname revision
 +    do
 +      echo $snapname $revision
 +      sudo snap remove --purge "​$snapname"​ --revision="​$revision"​
 +    done
 +
 +Vous pourrez constater le gain de place avec les commandes suivantes :​
 +  # espace disque global :
 +  df -h
 +  # espace disque par paquet snap :
 +  sudo du -csh /snap/* | sort -rh
 +
 +==== Supprimer et bloquer les paquets snap ====
 +
 +Vous ne souhaitez plus utiliser les paquets snap pour diverses raisons ? **C'​est possible**.
 +<note important>​Rappel : évaluez l’existence d’une version en [[deb|paquet Debian]] pour les applications dont vous voudriez une alternative.</​note>​
 +
 +Références :​
 +  * [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22458861#​p22458861|Supprimer et bloquer les snaps]]. Procédure pas à pas partagée le 28/05/2021 sur le forum Ubuntu francophone ([[https://​archive.wikiwix.com/​cache/​index2.php?​url=https%3A%2F%2Fforum.ubuntu-fr.org%2Fviewtopic.php%3Fpid%3D22458861%23p22458861#​federation=archive.wikiwix.com&​tab=url|archive]]).
 +  * [[https://​haydenjames.io/​remove-snap-ubuntu-22-04-lts/​|Remove Snap Ubuntu 22.04 LTS]]. Article (**en anglais**) de Hayden James publié le 01/10/2023 sur Blog Linux. Mention supplémentaire sur l’utilisation de **apt**.
 +
 +===== Suivi des paquets installés =====
 +
 +<​note>​Les commandes et le script ''​shell''​ mentionnés dans cette section sont identiques à ceux de la section [[snap#​Suppression|Suppression]] supra.</​note>​
 +
 +L'​application ne fait pas nécessairement un ménage parfait. Il faut s'​assurer que des paquets désactivés n'ont pas été conservés :​
 +  LANG=C snap list --all | grep "​disabled"​
 +Pour chaque ligne trouvée, il faut supprimer le paquet devenu inutile avec la commande :
 +  snap remove nom_logiciel --revision=9999
 +en renseignant le numéro de révision (exemple ici : 9999) par la bonne valeur qui a été obtenue.\\
 +Il est possible d'​automatiser ce travail via ce petit script(([[https://​askubuntu.com/​a/​1040131/​385361|How to remove disabled (unused) snap packages with a single line of command?]] Question publiée le 15/05/2018 sur le forum AskUbuntu et résolue.)) :​
 +<file - bin/​supprime-snap-désactivé.sh>​
 +#!/bin/sh
 +
 +LANG=C snap list --all | awk '/​disabled/​{print $1, $3}' |
 +    while read snapname revision ; do
 +        snap remove "​$snapname"​ --revision="​$revision"​
 +    done
 +</​file>​
 +
 +===== Répertoires de référence =====
 +
 +Un système d’exploitation présente une arborescence de dossiers et fichiers organisés par défaut. En l’occurrence les fichiers de configuration sont habituellement trouvés dans le dossier **/etc**, les journaux (« log files ») dans le dossier **/​var/​log**.
 +
 +Les emplacements de ces dossiers et fichiers de référence pour une application installée via Snap sont différents de l’usage du système hôte.
 +
 +Comme David Clinton l’explique dans son article (en anglais) sur FreeCodeCamp.org(([[https://​www.freecodecamp.org/​news/​managing-ubuntu-snaps/#​understanding-the-snap-file-system|How to manage Ubuntu Snaps: the stuff no one tells you]]. Article de David Clinton publié le 19/08/2019 sur FreeCodeCamp.org ([[https://​archive.wikiwix.com/​cache/​index2.php?​url=https%3A%2F%2Fwww.freecodecamp.org%2Fnews%2Fmanaging-ubuntu-snaps%2F%23understanding-the-snap-file-system#​federation=archive.wikiwix.com&​tab=url|archive]]).)),​ les répertoires suivants sont à considérer lors du déploiement de logiciel à partir de paquet snap :
 +  * ''/​snap/''​ :​ dossiers virtuels, en lecture seule, des applications snap en exécution (fichiers snap « montés ») ;​
 +  * ''/​var/​snap/''​ :​ données et fichiers de configuration associés aux applications snap en exécution ;​
 +  * ''/​var/​lib/​snapd/''​ :​ base du démon Snap et entrepôt des fichiers snap récupérés ;​
 +  * ''/​home/​$USER/​snap/''​ : ​ données et fichiers de configuration de la session utilisateur ''​$USER''​.
 +
 +Scénario :​ je souhaite modifier les modèles de [[:Gimp]].
 +  * La documentation indique que le fichier concerné, //​templaterc//,​ est normalement situé dans le répertoire ''/​etc/​gimp/​2.10/''​ ou ''/​home/​$USER/​gimp/​…''​.
 +  * Dans le cas d’une installation de Gimp par Snap, le fichier associé à ma session utilisateur ''​$USER''​ sera disponible dans ''/​home/​$USER/​snap/​gimp/​105/​.config/​GIMP/​2.10''​ (ici, 105 correspond au numéro de révision de la version active de Gimp dans le système utilisé).
 +
 +Dans le cas de l’installation standard d'une application snap, l'​accès est restreint aux répertoires et fichiers de l'​utilisateur,​ stockés dans le dossier de ce dernier. L'​accès par les liens symboliques qui pointent à l'​extérieur des répertoires de l'​utilisateur est refusé. Cela correspond à la notion de //​confinement//​.
 +
 +===== Contournement des répertoires =====
 +
 +==== Approches en mode avancé ====
 +
 +  * Technique en mode « bind »(([[https://​askubuntu.com/​questions/​1040194/​how-to-use-snap-packages-when-home-is-not-home-user|How to use Snap Packages when $HOME is not /​home/​$USER?​]] Question posée le 25/05/2018 sur le forum AskUbuntu et résolue.)) :​ elle repose sur le montage des dossiers ciblés par lien physique (option ''​--bind''​ de la commande ''​mount''​). Dans le cas particulier des dossiers racine des utilisateurs,​ une montée de version de Snapd est préconisée,​ avec une configuration spécifique du chemin des dossiers utilisateur à l’issue de la mise à niveau :
 +
 +  # mise à jour de Snapd
 +  snap refresh --channel=latest/​edge snapd
 +  # déclaration pour Snap d’un chemin personnalisé des dossiers racine utilisateur (ici : /local/home à la place de /home)
 +  snap set system homedirs=/​local/​home/​
 +
 +  * Technique en mode « développement »(([[https://​snapcraft.io/​docs/​snap-confinement|Snap confinement]]. Documentation officielle de Canonical Snapcraft. Dernière mise à jour : juillet 2023.)) : elle consiste en l’installation d’un paquet snap avec l’option spécifique ''​--devmode''​. Cette option est normalement réservée à une étape de développement (avant mise en production). Elle réduit le confinement et étend l’accès du programme snap aux ressources du système :
 +
 +  snap install --devmode mon_logiciel
 +
 +  * Montage des partitions sur des points accessibles à un logiciel en snap : ''​$HOME/'',​ ''/​media/'',​ ''/​mnt/''​ ou ''/​run/​media/''​. La documentation officielle de Snapcraft peut aussi être consultée en matière de gestion des interfaces(([[https://​snapcraft.io/​docs/​interface-management|Interface management]]. Documentation officielle de Canonical Snapcraft. Dernière mise à jour : janvier 2024.)).
 +
 +
 +==== Extension du confinement ====
 +
 +Les applications snap permettent malgré tout d'​utiliser normalement deux autres répertoires :​ **/mnt** et **/media**.
 +Les sous-répertoires peuvent être quelconques. Ils doivent être accessibles par les applications standard de l'​utilisateur.
 +
 +Cette utilisation est laissée à la discrétion de chaque application. Elle est valable pour l’ensemble des utilisateurs définis et futurs. Les règles de base sont les suivantes :​
 +  * accès non prévu par l'​application ;​
 +  * accès prévu systématiquement par l'​application ;​
 +  * accès demandé au moment de l'​installation de l'​application ;​
 +  * accès à activer après l'​installation.
 +
 +Pour savoir si une application « mon_application » peut utiliser ces répertoires,​ saisir la commande suivante :
 +  snap connections mon_application | grep removable
 +
 +La ligne de retour affichera l'​état :​
 +  removable-media ​          ​mon_application:​removable-media ​ :​removable-media ​                 -
 +Ce retour indique que la fonctionnalité est prévue mais qu'​elle n'est pas activée.
 +
 +Pour activer la fonctionnalité,​ il est nécessaire de connaître un mot de passe administrateur. L’appartenance au groupe //sudo// n’est pas requise. Voici la commande à saisir :
 +  snap connect mon_application:​removable-media :​removable-media
 +  ​
 +Si la commande répond "//​erreur :​ trop d'​arguments pour la commande//",​ faire <code bash>​snap connect mon_application:​removable-media</​code>​
 +
 +Une nouvelle extraction de l'​état (cf. commande supra) rapportera une réponse sans équivoque :​
 +  removable-media ​          ​mon_application:​removable-media ​ :​removable-media ​                 manual
 +
 +<​note>​Le connecteur [[https://​snapcraft.io/​docs/​cups-control-interface|cups-control]] permet de gérer l'​imprimante.</​note>​
 +
 +===== Voir aussi =====
  
 +  * [[https://​snapcraft.io/​docs |Canonical Snapcraft]] :​ documentation officielle en anglais.
 +  * [[https://​open-store.io/​ |OpenStore]] :​ logithèque officielle de programmes snap pour Ubuntu Touch.
 +  * [[https://​snapcraft.io/​store |Snap Store]] : logithèque officielle de programmes snap pour Linux, hébergée par Canonical.
  • snap.1555231074.txt.gz
  • Dernière modification: Le 14/04/2019, 10:37
  • par 109.190.150.105