| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| organiser_data_utilisateurs [Le 10/04/2022, 05:16] – [Ressources communes à plusieurs personnes ?] 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>BROUILLON administration partitions optimisation}} | {{tag>administration partitions optimisation}} |
| Son sujet dédié sur le forum : https://forum.ubuntu-fr.org/viewtopic.php?id=2070904 | |
| ====== 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 |
| | |
| | <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.\\ |
| vous simplifiera la maintenance à long terme.** | vous simplifiera la maintenance à 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… ) |
| ===== 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… )\\ | |
| * 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ée 2 dossiers, l'un visible nommé ''noubie-1000'' ; l'autre caché nommé ''.Trash-1000''\\ | → crée 2 dossiers, l'un visible nommé ''noubie-1000'' ; l'autre caché nommé ''.Trash-1000''\\ |
| |
| * **Appropriation des 2 dossiers** par Noubie : | * **Appropriation des 2 dossiers** par Noubie : |
| <code>sudo chown $USER:$USER /media/DATA/{$USER-$UID,.Trash-$UID}</code> | <code>sudo chown $USER:$USER /media/DATA/{$USER-$UID,.Trash-$UID}</code> |
| → ces dossiers appartiennent dorénavant à Noubie, qui peut donc écrire-modifier-supprimer **dans** ces dossiers.\\ | → ces dossiers appartiennent dorénavant à Noubie, qui peut donc écrire-modifier-supprimer **dans** ces dossiers.\\ |
| Cette organisation des dossiers sur une partition n'est jamais qu'une application basique des droits et permissions Linux,\\ | Cette organisation des dossiers sur une partition n'est jamais qu'une application basique des droits et permissions Linux,\\ |
| même organisation qu'on trouve dans un dossier ''/home''. | même organisation qu'on trouve dans un dossier ''/home''. |
| | </note> |
| | <note warning>Plutôt que de créer //une// corbeille //par// utilisateur, on //pourrait// n'en créer qu'une seule utilisable par quiconque accédant à cette partition :\\ |
| | **c'est donc une pratique à évaluer en fonction de vos besoins de confidentialité entre utilisateurs**.\\ |
| | Il s'agira alors de créer un dossier ''.Trash'' tout court avec des droits d'écriture pour tous mais la restriction de l'effacement au seul propriétaire d'un élément :\\ |
| | <code>cd /media/DATA |
| | sudo mkdir .Trash |
| | sudo chmod 1777 .Trash</code> |
| | C'est un dossier accessible à n'importe qui en écriture ( comme par ex. ''/tmp'' ) : **c'est un risque à évaluer en fonction de votre contexte de sécurité**\\ |
| | sachant que l'accès au point de montage parent peut se restreindre à un groupe de votre choix en particulier.\\ |
| | \\ |
| | → //je dirais// que c'est une méthode de corbeille à réserver à des partitions situées « hors système » : clé usb, disques externes, amovibles~nomades. |
| </note> | </note> |
| ==== Création des liens symboliques en lieu et place des dossiers usuels ==== | ==== Création des liens symboliques en lieu et place des dossiers usuels ==== |
| * **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=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 : |
| * **déplacer** : c'est au clic droit couper / coller ou au clavier [ Ctrl ] + [ X ] puis [ Ctrl ] + [ V ] dans l'emplacement de destination\\ ou à la souris glisser-déposer les éléments entre 2 fenêtres de votre explorateur de fichiers, l'une ouverte sur ''/home/$USER'', l'autre sur ''/media/DATA/$USER-$UID'' | * **déplacer** : c'est au clic droit couper / coller ou au clavier [ Ctrl ] + [ X ] puis [ Ctrl ] + [ V ] dans l'emplacement de destination\\ ou à la souris glisser-déposer les éléments entre 2 fenêtres de votre explorateur de fichiers, l'une ouverte sur ''/home/$USER'', l'autre sur ''/media/DATA/$USER-$UID'' |
| d'un explorateur de fichiers à l'autre il pourra y avoir des nuances dans les procédures.\\ | d'un explorateur de fichiers à l'autre il pourra y avoir des nuances dans les procédures.\\ |
| Consultez les documentations et préférences de votre explorateur de fichiers ( Nautilus, Dolphin, Nemo, Caja, Thunar… )\\ | Consultez les documentations et préférences de votre explorateur de fichiers ( Nautilus, Dolphin, Nemo, Caja, Thunar… )\\ |
| pour vous assurer des bons gestes et raccourcis. | pour vous assurer des bons gestes et raccourcis.\\ |
| | \\ |
| | Voir [[https://forum.ubuntu-fr.org/viewtopic.php?id=2074175|cette discussion]] **pour (ré)activer l'option « créer un lien » dans Nautilus**. |
| </note> | </note> |
| === Précaution concernant le dossier « Bureau » === | === Précaution concernant le dossier « Bureau » === |
| - **ou encore, ne déplacez pas ni ne liez** le dossier Bureau pour l'instant, mais seulement les autres dossiers ( retenir alors que ce dossier reste stocké dans la même partition que votre système ).\\ | - **ou encore, ne déplacez pas ni ne liez** le dossier Bureau pour l'instant, mais seulement les autres dossiers ( retenir alors que ce dossier reste stocké dans la même partition que votre système ).\\ |
| \\ | \\ |
| | //Note : dans un environnement de bureau 100% Gnome ( ≠ Ubuntu ) le dossier ''~/Bureau'' n'existe pas forcément.//\\ |
| \\ | \\ |
| * __adaptation des commandes **pour le cas 3**__ : | * __adaptation des commandes **pour le cas 3**__ : |
| |
| 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… |
| |
| \\ | \\ |
| Suivant l'exemple de cette page, pour //Lairneur//, les options d'une telle ligne de montage ( pour un système de fichiers //ntfs// ) dans //fstab// ressembleraient à | Suivant l'exemple de cette page, pour //Lairneur//, les options d'une telle ligne de montage ( pour un système de fichiers //ntfs// ) dans //fstab// ressembleraient à |
| <code>UUID=<uuid_d'une_partition_ntfs> /point/de/montage_ntfs ntfs uid=1001,gid=1001,dir_mode=755,file_mode=644,utf8,windows_names 0 0</code> | <code>UUID=<uuid_d'une_partition_ntfs> /point/de/montage_ntfs ntfs uid=1001,gid=1001,umask=022,dmask=022,fmask=133 0 0</code> |
| Pour //Noubie//, les //uid// et //gid// seraient 1000.\\ | Pour //Noubie//, les //uid// et //gid// seraient 1000.\\ |
| Chaque utilisateur ( sous Linux ) **doit** alors disposer de sa propre partition //ntfs//, et chaque partition de son propre point de montage, puisque tout cela est monté dès le démarrage système.\\ | Chaque utilisateur ( sous Linux ) **doit** alors disposer de sa propre partition //ntfs//, et chaque partition de son propre point de montage, puisque tout cela est monté dès le démarrage système.\\ |
| ou | ou |
| <code>ln -s /point/de/montage_ntfs/{plusieurs,dossiers,séparés,par,virgule} /home/$USER/</code> | <code>ln -s /point/de/montage_ntfs/{plusieurs,dossiers,séparés,par,virgule} /home/$USER/</code> |
| …la présence du ''/'' après ''$USER'' est primordiale : elle indique qu'on crée des liens **nommés comme** leur cible **dans** le dossier ''/home/$USER/''.</note> | …la présence du ''/'' après ''$USER'' est primordiale : elle indique qu'on crée des liens **nommés comme** leur cible **dans** le dossier ''/home/$USER/''.\\ |
| | \\ |
| | **Problème réglé pour Nautilus sous 22.04** → voir [[https://forum.ubuntu-fr.org/viewtopic.php?id=2074175|illustration]]</note> |
| C'est ce que propose plus ou moins [[tutoriel:partitions_communes_windows_ubuntu|cette doc']], discutable sur certains points :\\ | C'est ce que propose plus ou moins [[tutoriel:partitions_communes_windows_ubuntu|cette doc']], discutable sur certains points :\\ |
| * l'utilisation de //nofail// et la désactivation //de la mise à jour des dossiers xdg// **qui priveront l'utilisateur d'avertissements en cas d'incident**\\ | * l'utilisation de //nofail// et la désactivation //de la mise à jour des dossiers xdg// **qui priveront l'utilisateur d'avertissements en cas d'incident**\\ |