| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| organiser_data_utilisateurs [Le 17/11/2022, 21:56] – [Création des liens symboliques en lieu et place des dossiers usuels] Coeur Noir | organiser_data_utilisateurs [Le 14/04/2026, 23:13] (Version actuelle) – mise en forme (inachevée) -> effort svp | màj lien internes krodelabestiole |
|---|
| {{tag>administration partitions optimisation}} | {{tag>administration partitions optimisation}} |
| | |
| ====== Organiser les données du ( ou des ) utilisateurs « humains » d'un système ====== | ====== Organiser les données du ( ou des ) utilisateurs « humains » d'un système ====== |
| | |
| **L'objectif de cette page est de proposer une méthode de « rangement » //alternative// des affaires personnelles des utilisateurs**. Cette méthode, en stockant « hors système » la partie visible des données utilisateurs tout en laissant « dans le système » la partie [[dossiers_et_fichiers_caches|cachée]] des données utilisateurs, amène un gain de polyvalence et de robustesse, voire de performances, dans de nombreuses situations.\\ | **L'objectif de cette page est de proposer une méthode de « rangement » //alternative// des affaires personnelles des utilisateurs**. Cette méthode, en stockant « hors système » la partie visible des données utilisateurs tout en laissant « dans le système » la partie [[dossiers_et_fichiers_caches|cachée]] des données utilisateurs, amène un gain de polyvalence et de robustesse, voire de performances, dans de nombreuses situations.\\ |
| Un fil dédié à cette page sur le forum : https://forum.ubuntu-fr.org/viewtopic.php?id=2070904\\ | Un fil dédié à cette page sur le forum : https://forum.ubuntu-fr.org/viewtopic.php?id=2070904 |
| \\ | |
| | <note important>Certaines recommandations décrites très en détail sur cette page ne font pas toujours consensus.\\ |
| | En outre la création d'une partition ''home'' séparée n'est plus aussi largement recommandée qu'elle a pu l'être (elle n'est plus proposée lors de l'installation), et la mise en place de liens symboliques introduit un niveau de complexité qui n'est pas strictement nécessaire du fait de l'existence à cet effet des **variables [[:variables_d_environnement#xdg-user-dirs]]**. |
| | |
| | Pour la présentation d'une méthode a priori plus simple et sans doute plus orthodoxe, ou en complément de celle-ci, n'hésitez pas à consulter la page //[[:partitions_data|Déployer ses données personnelles sur un espace de stockage dédié]]//.</note> |
| **Elle requiert** :\\ | **Elle requiert** :\\ |
| * une installation qui compte au moins 2 partitions : l'une dédiée au système, installé classiquement ( la racine / entière ) ; l'autre pour l'instant « vide » qui accueillera une partie des données utilisateurs ( les visibles ).\\ | * une installation qui compte au moins 2 partitions : l'une dédiée au système, installé classiquement ( la racine / entière ) ; l'autre pour l'instant « vide » qui accueillera une partie des données utilisateurs ( les visibles ).\\ |
| **Elle fait appel** : | **Elle fait appel** : |
| * essentiellement et finalement aux [[lien_physique_et_symbolique|liens symboliques]]\\ | * essentiellement et finalement aux [[lien_physique_et_symbolique|liens symboliques]]\\ |
| * à des notions //relativement// basiques : [[partitions|partition]], [[montage|montage]], [[mount_fstab|fstab]]\\ | * à des notions //relativement// basiques : [[:partitions|partition]], [[:montage]], ''[[:fstab|/etc/fstab]]''\\ |
| * à rien qui serait //exclusif// à ×buntu, c'est transposable dans d'autres OS Linux.\\ | * à rien qui serait //exclusif// à ×buntu, c'est transposable dans d'autres OS Linux.\\ |
| **À qui s'adresse-t-elle** ?\\ | **À qui s'adresse-t-elle** ?\\ |
| |
| …**il n'y a ni bonnes ou mauvaises méthodes, il y en a seulement de plus adaptées que d'autres en fonction du contexte des utilisateurs.** | …**il n'y a ni bonnes ou mauvaises méthodes, il y en a seulement de plus adaptées que d'autres en fonction du contexte des utilisateurs.** |
| | |
| ===== La situation par défaut ===== | ===== La situation par défaut ===== |
| | |
| ==== Le dossier /home à la racine du système ==== | ==== Le dossier /home à la racine du système ==== |
| | |
| Dans l'[[arborescence|arborescence]] des dossiers d'un système Linux, ''/home'' sert à héberger les répertoires personnels des utilisateurs « humains » créés dans ce système. //Généralement// ceux qui disposent d'une session graphique dans le système.\\ | Dans l'[[arborescence|arborescence]] des dossiers d'un système Linux, ''/home'' sert à héberger les répertoires personnels des utilisateurs « humains » créés dans ce système. //Généralement// ceux qui disposent d'une session graphique dans le système.\\ |
| //Toutes// les données concernant //tous// les utilisateurs « humains » sont rangées dans ce dossier ''/home'', cet emplacement relève d'une norme attendue par l'écrasante majorité des logiciels que vous utiliserez sur ce système. | //Toutes// les données concernant //tous// les utilisateurs « humains » sont rangées dans ce dossier ''/home'', cet emplacement relève d'une norme attendue par l'écrasante majorité des logiciels que vous utiliserez sur ce système. |
| | |
| ==== $HOME ou le répertoire personnel /home/$USER ==== | ==== $HOME ou le répertoire personnel /home/$USER ==== |
| | |
| <note>**$HOME** est une variable qui désigne le répertoire personnel de l'utilisateur courant, soit le dossier ''/home/$USER''.\\ | <note>**$HOME** est une variable qui désigne le répertoire personnel de l'utilisateur courant, soit le dossier ''/home/$USER''.\\ |
| **$USER** est la variable qui désigne l'utilisateur courant.\\ | **$USER** est la variable qui désigne l'utilisateur courant.\\ |
| **Dans ces conditions certes moins ordinaires mais pas rares du tout, une partition dédiée aux données agnostiques des utilisateurs\\ | **Dans ces conditions certes moins ordinaires mais pas rares du tout, une partition dédiée aux données agnostiques des utilisateurs\\ |
| vous simplifiera la maintenance à long terme.** | vous simplifiera la maintenance à long terme.** |
| |
| |
| |
| |
| ===== Une méthode plus granulaire et robuste à long terme ==== | ===== Une méthode plus granulaire et robuste à long terme ==== |
| Ici l'idée est de traiter séparément les 2 familles de données concernant les utilisateurs :\\ | |
| * **ne laisser dans $HOME //que//** - ou essentiellement, majoritairement - les **données cachées, spécifiques** ( configurations, paramètres… )\\ | Ici l'idée est de traiter séparément les 2 familles de données concernant les utilisateurs : |
| | * **ne laisser dans $HOME //que//** - ou essentiellement, majoritairement - les **données cachées, spécifiques** ( configurations, paramètres… ) |
| * placer dans **une partition dédiée**, distincte du système les **données visibles, agnostiques** ( documents ou médias ). | * placer dans **une partition dédiée**, distincte du système les **données visibles, agnostiques** ( documents ou médias ). |
| |
| Quelques intérêts immédiats : | Quelques intérêts immédiats : |
| - les données cachées bénéficient de la rapidité du support de stockage du système ( ssd, nvme ),\\ | - les données cachées bénéficient de la rapidité du support de stockage du système ( ssd, nvme ), |
| - ces données spécifiques sont hébergées à l'intérieur du système auquel elles correspondent, | - ces données spécifiques sont hébergées à l'intérieur du système auquel elles correspondent, |
| - l'autre emplacement qui contient les données visibles ( non spécifiques à un OS et ses logiciels ) est facilement et rapidement exploitable depuis tout OS ( Linux ).\\ | - l'autre emplacement qui contient les données visibles ( non spécifiques à un OS et ses logiciels ) est facilement et rapidement exploitable depuis tout OS ( Linux ). |
| - **Toutes ces données continuent d'être accessibles depuis le répertoire personnel, les habitudes de navigation de l'utilisateur ne sont pas changées.** | - **Toutes ces données continuent d'être accessibles depuis le répertoire personnel, les habitudes de navigation de l'utilisateur ne sont pas changées.** |
| |
| **Cette méthode organise les données utilisateurs à travers 2 critères** :\\ | **Cette méthode organise les données utilisateurs à travers 2 critères** : |
| - la « fonction » des données d'un point de vue logiciel,\\ | - la « fonction » des données d'un point de vue logiciel, |
| - la « nature » des supports de stockage,\\ | - la « nature » des supports de stockage, |
| **optimisant à la fois** leur gestion **physique** ( taille, performance, adaptation des stockages ) et leur gestion **logique** ( conforter les données spécifiques dans leur système, protéger les données agnostiques, associer un utilisateur à ses données qu'importe la diversité et concurrence des contextes… )\\ | **optimisant à la fois** leur gestion **physique** ( taille, performance, adaptation des stockages ) et leur gestion **logique** ( conforter les données spécifiques dans leur système, protéger les données agnostiques, associer un utilisateur à ses données qu'importe la diversité et concurrence des contextes… ) |
| |
| D'où les qualificatifs :\\ | D'où les qualificatifs :\\ |
| * **granulaire** on détermine plus précisément, sélectivement et prudemment ce qui est « partagé » ( entre systèmes, utilisateurs ou supports ), en fonction des intérêts et attentes de l'un ou l'autre,\\ | * **granulaire** on détermine plus précisément, sélectivement et prudemment ce qui est « partagé » ( entre systèmes, utilisateurs ou supports ), en fonction des intérêts et attentes de l'un ou l'autre,\\ |
| * **robuste** la partition dédiée aux données visibles des utilisateurs devient un emplacement quasiment « immuable » : tout autour peut changer, elle, reste en place //ad vitam aeternam// sous cette forme, quoi qu'il arrive « autour ».\\ | * **robuste** la partition dédiée aux données visibles des utilisateurs devient un emplacement quasiment « immuable » : tout autour peut changer, elle, reste en place //ad vitam aeternam// sous cette forme, quoi qu'il arrive « autour ». |
| |
| | ==== Séparer les données visibles (agnostiques) des données cachées (spécifiques) ==== |
| |
| ==== Séparer les données visibles ( agnostiques ) des données cachées ( spécifiques ) ==== | |
| Rappelons **les prérequis** : | Rappelons **les prérequis** : |
| * on a la **racine « entière »** d'un système sur une partition ( le dossier ''/home'' inclus ) | * on a la **racine « entière »** d'un système sur une partition ( le dossier ''/home'' inclus ) |
| * on a **déjà** attaché une autre partition à ce système, montée dans ''/media/DATA'' //( opération réalisable dès l'installation du système\\ | * on a **déjà** attaché une autre partition à ce système, montée dans ''/media/DATA'' //(opération réalisable dès l'installation du système\\ |
| ou //post//-installation via création du dossier ''/media/DATA'' puis ajout d'une ligne de montage au fichier ''/etc/fstab'' )//\\ | ou //post//-installation via création du dossier ''/media/DATA'' puis ajout d'une ligne de montage au fichier ''[[:fstab|/etc/fstab]]'')//\\ |
| * pour l'instant ''/media/DATA'' ne contient pas de données ( par ex. c'est un support de stockage récemment ajouté à votre machine ). | * pour l'instant ''/media/DATA'' ne contient pas de données (par ex. c'est un support de stockage récemment ajouté à votre machine). |
| |
| Il s'agit **dans un premier temps** d'organiser une « structure » de dossiers adéquate dans ''/media/DATA'' et, scoop, c'est la même structure qu'un **$HOME**,\\ | Il s'agit **dans un premier temps** d'organiser une « structure » de dossiers adéquate dans ''/media/DATA'' et, scoop, c'est la même structure qu'un **$HOME**,\\ |
| * **Créer des liens symboliques** dans **$HOME** pour remplacer les éléments qu'on vient de déplacer : | * **Créer des liens symboliques** dans **$HOME** pour remplacer les éléments qu'on vient de déplacer : |
| <code>ln -s /media/DATA/$USER-$UID/{Bureau,Documents,Images,Modèles,Musique,Public,Téléchargements,Vidéos} /home/$USER/</code> | <code>ln -s /media/DATA/$USER-$UID/{Bureau,Documents,Images,Modèles,Musique,Public,Téléchargements,Vidéos} /home/$USER/</code> |
| Pense-bête : [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22620276#p22620276|autre exemple]].\\ | Pense-bête : [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22620441#p22620441|autre exemple]].\\ |
| |
| Ces 2 opérations sont tout à fait réalisables « en graphique » depuis votre explorateur de fichiers habituel : | Ces 2 opérations sont tout à fait réalisables « en graphique » depuis votre explorateur de fichiers habituel : |
| |
| Côté Linux il s'agira toujours de monter cette « partition data » à un endroit opportun, **montage qui devra utiliser des options adaptées** afin que le système Linux « ajoute » des droits et permissions à ces données.\\ | Côté Linux il s'agira toujours de monter cette « partition data » à un endroit opportun, **montage qui devra utiliser des options adaptées** afin que le système Linux « ajoute » des droits et permissions à ces données.\\ |
| Évidemment ces options varient selon qu'il s'agit de ntfs ou (ex)fat ( certaines sont abordées dans la doc' [[mount_fstab|fstab]]. )\\ | Évidemment ces options varient selon qu'il s'agit de NTFS ou (ex)FAT (certaines sont abordées sur la page ''[[:fstab|/etc/fstab]]'').\\ |
| Sans option de montage adaptée, Linux attribue les systèmes de fichiers « étrangers » à //root:root// avec droits //rwxrwxrwx// ce qui est loin d'être pratique au quotidien… | Sans option de montage adaptée, Linux attribue les systèmes de fichiers « étrangers » à //root:root// avec droits //rwxrwxrwx// ce qui est loin d'être pratique au quotidien… |
| |