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
Dernière révision Les deux révisions suivantes
utilisateurs:ubuntu18a:partition_de_donnees [Le 28/09/2019, 14:30]
Theon [Créer les répertoires pour les utilisateurs de ubuntu] correction étourderie
utilisateurs:ubuntu18a:partition_de_donnees [Le 03/03/2022, 17:03]
bruno supprimée
Ligne 21: Ligne 21:
 Souvent les ordinateurs portables sont équipés d'un SSD de petite taille et d'un disque dur de taille conséquente. Une des difficultés que l'on rencontre est l'​obligation de mettre ​ /home sur le disque dur.  Cela oblige à faire une installation non automatique et à avoir une perte de performance pour l'​accès aux fichiers de paramétrage et de cache des diverses applications. Souvent les ordinateurs portables sont équipés d'un SSD de petite taille et d'un disque dur de taille conséquente. Une des difficultés que l'on rencontre est l'​obligation de mettre ​ /home sur le disque dur.  Cela oblige à faire une installation non automatique et à avoir une perte de performance pour l'​accès aux fichiers de paramétrage et de cache des diverses applications.
 Il semble plus simple de laisser faire une installation totalement standard sur le SSD puis de fabriquer le plus rapidement possible une partition dédiée aux données personnelles sur le disque dur. Il semble plus simple de laisser faire une installation totalement standard sur le SSD puis de fabriquer le plus rapidement possible une partition dédiée aux données personnelles sur le disque dur.
 +
 +Cela est aussi valable lorsqu ' on possede plusieurs disques dur , et confere plusieurs avantages selon les cas , dont les principaux sont :
 +  * faciliter l ' utilisation standard ainsi que la navigation dans l' arborescence des fichiers de chaque utilisateur du systeme .
 +  * limiter les ecritures sur le SSD peut aussi etre une utilisation derivée pour les fichiers temporaires par exemple , mais n ' entre pas dans le cadre de cette page .
 +  * la Mise a jour ( et la reinstallation ) d ' un OS n ' affecte pas les données personnelles puisqu ' elle sont situées dans une ou d ' autres partitions .
 +  * le cloisonnement simplifie la maintenance et evite la perte de données en cas de perte de l ' OS .
 +  * le manque de place dans une des partitions de données ​ n ' affecte pas le systeme .
 +  * il est possible dans le cadre d ' une installation multi-OS de profiter facilement dans chacun des systemes de ces partitions de données .
 +  * Plusieurs partitions de données peuvent etre regroupées et accessibles a partir du dossier $USER en toute transparence pour les utilisateurs et en facilite l' acces , meme en presence de plusieurs disques .
  
  
Ligne 47: Ligne 56:
 tail -2 /​etc/​fstab  ​ tail -2 /​etc/​fstab  ​
  </​code>​  </​code>​
 +
 +<note warning>​Les applications [[:​snap|snap]] ( confinées ) n'​accèdent pas à la racine de la partition système.\\
 +\\
 +Au mieux elles accèdent à ''/​home'',​ ''/​media'',​ ''/​run/​media''​ et ''/​mnt''​ à condition d'​avoir été préalablement connectées\\
 +aux interfaces ''​removable-media''​ et ''​home''​. Situation par défaut, et options, variables selon les snap.\\
 +\\
 +Puisqu'​Ubuntu ne propose certaines applications qu'en snap ( Chromium, Firefox à partir de 22.04 ),\\
 +envisagez de préférence vos points de montage dans ''/​home''​ ou ''/​media''​.\\
 +\\
 +**Astuce** : Pour éviter de potentiels conflits avec des noms d'​utilisateurs existants ( ou à venir ), utilisez des //​majuscules//​ pour nommer vos points de montage puisque le système, lui, n'​utilise que des //​minuscules//​ pour nommer les dossiers utilisateurs,​ par exemple ''/​home/​USERS-MEDiA''​ ou ''/​media/​BiBLiOTHEQUE''​
 +</​note>​
  
 ==== Soit montage à partir du nom de la  partition. ==== ==== Soit montage à partir du nom de la  partition. ====
Ligne 147: Ligne 167:
 cat /​home/​$USER/​.config/​user-dirs.dirs</​code>​ cat /​home/​$USER/​.config/​user-dirs.dirs</​code>​
  
-Il ne reste plus qu'à changer d'​utilisateur pour prise en charge. Il faut fermer la session et en ouvrir une nouvelle. ​   Il est aussi possible de faire cette commande ​ **sudo skill -KILL -u $USER **  pour une exécution immédiate.+Il ne reste plus qu'à changer d'​utilisateur pour prise en charge. Il faut fermer la session et en ouvrir une nouvelle. ​   Il est aussi possible de faire cette commande ​ **sudo skill -KILL -u $USER **  pour une exécution immédiate.\\ 
 +<note warning>​La suppression des dossiers usuels dans le répertoire personnel « laissera sur le carreau » un certain nombre de logiciels\\ 
 +qui n'​utilisent pas les normes //XDG// ou //​freedesktop//​ pour repérer ces emplacements ( ils ne lisent pas\\ 
 +le contenu de ''​user-dirs.dirs''​ qu'il faut voir comme une carte d'​orientation,​ un plan ).\\ 
 +\\ 
 +Au pire de tels logiciels re-créeront des dossiers dans ''/​home/​$USER/''​ lorsqu'​ils en auront besoin\\ 
 +( or c'est justement là qu'on ne veut plus « stocker » directement des données ! )\\ 
 +ou au mieux demanderont à l'​utilisateur de préciser un chemin.\\ 
 +\\ 
 +**Rappel** aussi : le fichier ''​user-dirs.dirs''​ est une résultante,​ un rapport, ça n'est pas un fichier de configuration.\\ 
 +Il est mis à jour à chaque ouverture de session. Si pour quelconque raison la partition ''​$MOUNTPOINT/​$USER/''​ n'est pas présente, le fichier est vidé des chemins.\\ 
 +Et comme ''/​home/​$USER''​ ne contient ni dossiers usuels ou liens vers eux, il restera désespérément vide à chaque ouverture de session suivante,​\\ 
 +tant que ''​user-dirs.dirs''​ n'aura pas été réparé manuellement,​\\ 
 +ou tant que ''​xdg-user-dirs-gtk-update''​ ne trouvera pas les éléments usuels déjà placés dans ''/​home/​$USER''​ ( dossiers ou liens ).\\ 
 +\\ 
 +Bref, cette façon de faire me paraît fragile et potentiellement déconcertante.</​note>​
  
 ==== Installation de liens chez l'​utilisateur ==== ==== Installation de liens chez l'​utilisateur ====
-La technique décrite précédemment est parfaite. Elle traite huit dossiers classiques. ​  Elle supprime les dossiers du répertoire **home**. Cela peut se révéler déstabilisant pour la référence officielle qui a acté que c'​était toujours présent dans **/home**. Cependant elle permet d'​accéder directement aux données sans avoir besoin de consulter la partition /home . C'est donc plus performant. +<del>La technique décrite précédemment est parfaite. Elle traite huit dossiers classiques. ​  Elle supprime les dossiers du répertoire **home**. Cela peut se révéler déstabilisant pour la référence officielle qui a acté que c'​était toujours présent dans **/home**.</​del>​ La technique 4.1 précédente est loin d'​être parfaite puisqu'​en supprimant les dossiers usuels du ''/​home/​$USER'',​ elle pousse les applications non XDG à re-créer les éléments manquants ( FIXME exemples ? ) <del>Cependant elle permet d'​accéder directement aux données sans avoir besoin de consulter la partition /home . C'est donc</​del> ​plus performant ​( FIXME comment, pourquoi ? Elles « passent » déjà par la partition ''/​home''​ pour lire dans ''/​home/​$USER''​ leurs propres configurations …et le fichier ''​user-dirs.dirs''​ )
-   +
   ​   ​
-Elle ne traite pas d'​autres dossiers que certaines applications ​ installent discrètement en standard ​ dans le répertoire /home.+Elle ne traite pas d'​autres dossiers que certaines applications ​ installent discrètement en standard ​ dans le répertoire ​''​/home/​$USER''​ ( comme par ex. un dossier ~/PDF ).
  
-Dans l'​ensemble,​ ces applications ont souvent une séquence d'​initialisation qui aurait pu demander le lieu de stockage des données. ​+<del>Dans l'​ensemble,​ ces applications ont souvent une séquence d'​initialisation qui aurait pu demander le lieu de stockage des données.</​del>​ La plupart des applications permettent, via leurs préférences,​ de définir les chemins pour les dossiers qu'​elles utilisent par défaut. Si ça n'est pas proposé « graphiquement » via leurs préférences,​ c'est potentiellement accessible via leur propre « base de registres » ( le ''​about:​config''​ de Firefox, ou les clés ''​gsettings''​ pour les appli'​s gtk, qu'on peut manipuler graphiquement via ''​dconf-editor''​ ). Certaines moins aimables codent ces chemins « en dur » et dans ce cas, à part demander aux dév's plus de souplesse, y'a pas grand'​chose à faire…
  
-La résolution du problème passe par la création de  [[https://​doc.ubuntu-fr.org/​lien_physique_et_symbolique|liens symboliques]] +<del>La résolution du problème passe par</​del>​ Une approche plus robuste consiste en la création de  [[https://​doc.ubuntu-fr.org/​lien_physique_et_symbolique|liens symboliques]] Cette technique est aussi valable pour les huit répertoires traités plus haut. Elle semble simple. Cependant les liens logiques peuvent dysfonctionner pour certaines applications ​( FIXME exemples ? )
-Cette technique est aussi valable pour les huit répertoires traités plus haut. Elle semble simple. Cependant les liens logiques peuvent dysfonctionner pour certaines applications.+
 Les applications thunderbird et mozilla sont susceptibles d'​être candidates à ce style de déplacement. Les applications thunderbird et mozilla sont susceptibles d'​être candidates à ce style de déplacement.
 +<note warning>​Tous les systèmes de fichiers n'​acceptent pas la création de liens : on ne peut pas //écrire// un lien symbolique façon Linux sur du NTFS, on peut par contre //cibler// un élément qui se trouve sur du NTFS //depuis// un lien symbolique écrit sur de l'​EXT4.\\
 +Les droits et permissions se transfèrent entre liens et cibles, un lien « prend » les propriétés de sa cible.\\
 +\\
 +La technique des liens symboliques me paraît plus robuste car :\\
 +⋅ elle laisse les éléments usuels dans ''/​home/​$USER''​ ( sous forme de liens et non plus de dossiers )\\
 +⋅ elle ne nécessite pas forcément de ré-écrire ''​user-dirs.dirs''​ ou au pire il s'​agira du contenu « standard » de ce fichier.</​note>​
  
 **Chaque utilisateur pourra déplacer ses propres données.** **Chaque utilisateur pourra déplacer ses propres données.**
Ligne 178: Ligne 217:
            echo " " && echo " Début de déplacement des données existantes de  $i" && ​   sleep 5  ​            echo " " && echo " Début de déplacement des données existantes de  $i" && ​   sleep 5  ​
            mv -iu  /​home/​$USER/​$i $MOUNTPOINT/​$USER  ​            mv -iu  /​home/​$USER/​$i $MOUNTPOINT/​$USER  ​
-           sudo ln -s $MOUNTPOINT/​$USER/​$i ​ /​home/​$USER ​    ​+## 
 +## Oh misère ! 
 +##         sudo ln -s $MOUNTPOINT/​$USER/​$i ​ /home/$USER 
 +## 
 +## Là en fait à chaque fois tu crées un lien nommé $USER dans /home, le prochain ( de cible $i ) écrasant le précédent ! 
 +## Or c'est DANS /home/$USER que tu veux créer plusieurs liens, là tu dois impérativement « descendre » dans le dossier : 
 +## 
 +           ln -s $MOUNTPOINT/​$USER/​$i ​ /​home/​$USER/​ 
 +## 
 +## le dernier / est capital ici. Et pas besoin de sudo vu que c'est $USER qui écrit dans /​home/​$USER 
 +##
     fi     fi
 done done
Ligne 206: Ligne 255:
               sudo mv -iu  /​home/​$UTILISATEUR/​$i $MOUNTPOINT/​$UTILISATEUR  ​               sudo mv -iu  /​home/​$UTILISATEUR/​$i $MOUNTPOINT/​$UTILISATEUR  ​
               sudo chown $UTILISATEUR:​$UTILISATEUR -Rv $MOUNTPOINT/​$UTILISATEUR/​$i ​               sudo chown $UTILISATEUR:​$UTILISATEUR -Rv $MOUNTPOINT/​$UTILISATEUR/​$i ​
-              ​sudo ln -s $MOUNTPOINT/​$UTILISATEUR/​$i ​ /​home/​$UTILISATEUR ​    +##             
 +## même blague qu'au dessus ​              
 +##            ​sudo ln -s $MOUNTPOINT/​$UTILISATEUR/​$i ​ /​home/​$UTILISATEUR ​     
 +## 
 +              sudo ln -s $MOUNTPOINT/​$UTILISATEUR/​$i ​ /​home/​$UTILISATEUR/​
      fi      fi
 done done
Ligne 218: Ligne 271:
  
 ====    Installation de liens dans l'O.S. de base ==== ====    Installation de liens dans l'O.S. de base ====
 +<note warning>​Bon ben là c'est moi qui suis limité : je ne comprends pas du tout ce tu proposes ici.\\
 +Vu le titre je m'​attendais à des //mount bind// mais ça a l'air d'​être autre chose… ou pas ?\\
 +Éclaircissement ou exemple bienvenus.
 +</​note>​
 Ce traitement ne peut se faire qu'en mode administration. L'​ordinateur doit être relancé pour prise en compte des modifications effectuées dans le fichier /etc/fstab. L'​administrateur peut aussi se définir dans la liste de déplacement. Ce traitement ne peut se faire qu'en mode administration. L'​ordinateur doit être relancé pour prise en compte des modifications effectuées dans le fichier /etc/fstab. L'​administrateur peut aussi se définir dans la liste de déplacement.
  
Ligne 289: Ligne 346:
 **Il est nécessaire de rebooter afin de prendre en compte cette liaison au niveau O.S.** **Il est nécessaire de rebooter afin de prendre en compte cette liaison au niveau O.S.**
  Cela va permettre de faire fonctionner immédiatement la corbeille. Cependant, plein de points de montage seront affichés.  Cela va permettre de faire fonctionner immédiatement la corbeille. Cependant, plein de points de montage seront affichés.
 +
 +<note warning>​Tu évoques le dossier **~/​Bureau** dans tes exemples : lui tant qu'il fait l'​objet d'un affichage graphique ( selon l'env. de bureau utilisé - icônes sur l'​écran bureau )\\
 +il n'est ni déplaçable,​ ni effaçable.\\
 +Pour agir sur le dossier //Bureau// d'un $USER, il faut que sa session //​graphique//​ **ne** soit **pas** lancée.\\
 +Agir donc depuis une **console**,​ ou depuis la session graphique d'un **autre** utilisateur.</​note>​
    
  
  • utilisateurs/ubuntu18a/partition_de_donnees.txt
  • Dernière modification: Le 03/03/2022, 17:05
  • par bruno