Organiser les données du ( ou des ) utilisateurs « humains » d'un système

D'après https://doc.ubuntu-fr.org/organiser_data_utilisateurs#home_ou_le_repertoire_personnelhomeuser

Une méthode plus granulaire et robuste à long terme

L'idée est de traiter séparément les 2 familles de données concernant les utilisateurs :

Quelques intérêts immédiats :

  1. les données cachées bénéficient de la rapidité du support de stockage du système ( ssd, nvme ),
  2. ces données spécifiques sont hébergées à l'intérieur du système auquel elles correspondent,
  3. 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 ).
  4. 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 :

  1. la « fonction » des données d'un point de vue logiciel,
  2. 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… )

D'où les qualificatifs :

Séparer les données visibles ( agnostiques ) des données cachées ( spécifiques )

Rappelons les prérequis :

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, avec ces 2 différences :

La structure adéquate se résume donc à un couple de dossiers appartenant à chaque « humain » utilisateur potentiel, enregistré dans le système, où chaque humain rangera ses affaires :

$UID est la variable renvoyant l'identifiant numérique de l'utilisateur.

Cet identifiant numérique est porté par l'élément lui-même pour indiquer son utilisateur propriétaire, contrairement à l'$USER ( le nom littéral ) qui est relatif au système local.

Les correspondances $UID↔$USER sont consignées dans le fichier /etc/passwd.

Une fois mise en place cette structure, il n'y a plus qu'à

Implications et conséquences de cette organisation des données

Celles des liens symboliques. On évoque souvent le terme « raccourci » pour en simplifier l'idée car c'est un pointeur très puissant.

…liste non exhaustive qui peut déjà nourrir votre imagination quant aux possibilités offertes.

D'un point de vue graphique, visuel, un lien symbolique prend la même icône que l'élément qu'il cible, agrémentée d'une petite flèche ou d'un maillon ( forme et taille variable selon les thèmes d'icônes ).

Dans le retour d'une commande ls -l ~ un lien symbolique prendra cette forme :

lrwxrwxrwx 1 $USER $USER   28 janv. 11 19:17 Nom_du_lien -> /chemin/vers/élément/ciblé

l'idée de « cible » est explicitement signifiée par la flèche ; les droits « ouverts » sont restreints par ceux de la cible.

Ces signes distinctifs empêchent la confusion entre lien symbolique et élément « classique » fichier ou dossier.

Mise en œuvre