Différences
Ci-dessous, les différences entre deux révisions de la page.
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> | ||