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édentesRévision précédente
Prochaine révision
Révision précédente
snap [Le 28/06/2025, 16:20] – mise en forme / le wiki devrait être autonome, copier les infos plutôt que ces "références" pointant ailleurs krodelabestiolesnap [Le 09/02/2026, 11:16] (Version actuelle) – [Pré-requis] rien à voir avec la RAM. krodelabestiole
Ligne 49: Ligne 49:
  
 ==== 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+Il faut commencer par [[:deb#installer_un_paquet_deb|installer le paquet]] ''[[apt>snapd]]'' sur votre système (il est cependant pré-installé sur Ubuntu). 
-La valeur par défaut est 3. Une valeur de deux se révèle suffisante. + 
 +Penser à définir le //nombre de versions qui seront conservées// pour chaque logiciel livré en snap sous peine d'en retrouver un nombre important et de constater un important espace de stockage consommé.\\ 
 +La valeur par défaut est ''3''. Une valeur de ''2'' se révèle suffisante. 
   sudo snap set system refresh.retain=2   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]].+D'autres //astuces pratiques// sont proposées dans ce [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22384729#p22384729|message]].
  
 ==== Utilisation ==== ==== Utilisation ====
Ligne 71: Ligne 72:
  
 Plus d'informations, dont la liste des options de la commande **snap**, sont disponibles 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'').\\
-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.)):+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.)):
   sudo snap install --classic nom_du_snap   sudo snap install --classic nom_du_snap
  
Ligne 102: Ligne 103:
   * [[:Brave]]   * [[:Brave]]
   * [[:croc|Croc, partage de fichiers/répertoires en pair à pair]]   * [[:croc|Croc, partage de fichiers/répertoires en pair à pair]]
-  * [[:gravit-designer|Gravit Designer]] 
   * [[firefox|firefox]]   * [[firefox|firefox]]
   * fractal, client pour réseau [[Matrix]]   * fractal, client pour réseau [[Matrix]]
Ligne 224: Ligne 224:
 ===== Répertoires de référence ===== ===== 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**.+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. 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 lexplique 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 :+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 ») ;   * ''/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/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 ;+  * ''/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''.   * ''/home/$USER/snap/'' :  données et fichiers de configuration de la session utilisateur ''$USER''.
  
-Scénario : je souhaite modifier les modèles de [[:Gimp]].+Par exemple, si on 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/…''.   * 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 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//. 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//.
Ligne 244: Ligne 244:
 ==== Approches en mode avancé ==== ==== 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 :+  * 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   # mise à jour de Snapd
Ligne 251: Ligne 251:
   snap set system homedirs=/local/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 loption 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 laccès du programme snap aux ressources du système :+  * 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   snap install --devmode mon_logiciel
Ligne 260: Ligne 260:
 ==== Extension du confinement ==== ==== Extension du confinement ====
  
-Les applications snap permettent malgré tout d'utiliser normalement deux autres répertoires : **/mnt** et **/media**+Les applications **snap** permettent malgré tout d'utiliser normalement trois autres répertoires : ''/mnt'', ''/media'' et ''/run'' qui est le point de montage  automatique implicite à partir de la version [[:resolute|Resolute 26.04]]
-Les sous-répertoires peuvent être quelconques. Ils doivent être accessibles par les applications standard de l'utilisateur.+Les sous-répertoires peuvent être quelconques. Ils doivent être accessibles par les applications standards 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 : 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 :
Ligne 290: Ligne 290:
   * [[https://snapcraft.io/docs |Canonical Snapcraft]] : documentation officielle en anglais.   * [[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://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.+  * [[https://snapcraft.io/store |Snap Store]] : logithèque officielle de programmes snap pour Linux, hébergée par [[:Canonical]].