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
utilisateurs:ubuntu18a:partition_de_donnees [Le 12/09/2019, 16:04]
Theon [Créer les répertoires pour les utilisateurs de ubuntu] ortho
utilisateurs:ubuntu18a:partition_de_donnees [Le 03/03/2022, 17:05]
bruno ancienne révision (Le 03/03/2022, 17:03) restaurée
Ligne 1: Ligne 1:
-Début de création d'une page de documentation +<note warning>Ancienne ​page d'un utilisateur ​banniNe pas contribuermerci.</note>
-<note important>​D'​abord sachez que je n'ai rien compris à la logique expliquée pour créer une page dans la documentation. +
-Mon astuce: Dans une application de l'​ordinateur,​ j'​écris intégralement le nom  que je colle dans google... +
-Par exemple  +
-**https://​doc.ubuntu-fr.org/​utilisateurs/​ubuntu18a/​partition_de_données**.  +
-Cela ouvre une grille de saisie. +
- +
-A priori, il faut alors cliquer sur l'​enveloppe qui est en haut à droite . +
-cela semble marcher... +
-</​note>​ +
-<note warning>J'​attend une semaine avant de mettre des données au cas où la page serait éphémère et disparaitrait sans préavis â la fin du mois.</​note>​ +
- +
-<note tip>​J'​espère que vous pourrez accéder à ce document pour contribuer à son élaboration puis â sa maintenance.</​note>​ +
- +
-__________________ +
- +
-{{tag>​disque_dur partitions}} +
--------- +
-====== Création ​d'une partition de données personnelles sous  Ubuntu ====== +
- +
-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. +
- +
- +
-Ce tutoriel décrit la marche à suivre pour mettre ses données personnelles sur le disque dur. +
- +
-Pour simplifier notre approche, nous décrirons le processus pour un seul utilisateur. ​S'il y a plusieurs utilisateurs sur le système, il suffit ​ de rejouer le scénario ​ à chaque ajout d'​utilisateur. +
- +
-=====Création des partitions===== +
- +
-Il faut donc créer une partition **sur le disque dur**, que nous appellerons **Commun1**,​ par convention. Pour cela il suffit d'​utiliser [[:​gparted]],​ De créer au besoin une table de partition puis  une partition (par exemple au format ext4)  et lui donner l'​étiquette **Commun1**.\\ +
- +
- +
-=====Monter la partition automatiquement au démarrage d'​Ubuntu===== +
-La partition doit être montée automatiquement au démarrage. Le fichier **/​etc/​fstab** doit  être modifié. Il est possible de le faire en ligne de commandes. Ces commandes ne sont plus à refaire. La partition sera automatiquement montée au prochain boot.  +
-==== Soit montage à partir du label de la partition. ==== +
-Il est possible de monter une partition des disques internes en utilisant le label comme référence. Il y a une unicité garantie puisque ubuntu refuse de mettre en route lorsque ​ deux partitions ​ sur des disques internes ​ ont un label identique. +
-<​code>​ +
-##  Cette séquence fabrique le point de montage, met à jour le fichier /etc/fstab et monte la partition. +
-##  Il est nécessaire de définir les deux paramètres suivants: +
-LABEL=Commun1 ​        ##### Il  faut renseigner la valeur LABEL par le label qui a été mis lors du formatage. +
-MOUNTPOINT=/​$LABEL ​   #### Le point de montage est à définir. ​  Le mettre directement dans la partition racine est possible. Pour ceux qui souhaitent le mettre ailleurs, il faut alors préciser le point de montage. +
-    +
-sudo mkdir $MOUNTPOINT +
-echo "​LABEL=$LABEL ​  ​$MOUNTPOINT ext4 defaults ​ 0   2 " | sudo tee -a /​etc/​fstab +
-sudo mount -L $LABEL +
-tail -2 /​etc/​fstab ​  +
- </​code>​ +
- +
-==== Soit montage à partir du nom de la  partition. ==== +
-Il n'​est ​pas possible de monter une partition des disques internes en utilisant le nom  comme référence. Bien qu'il soit uniquele numéro final est fluctuant et peut changer lors de renumérotation ( **sgdisk -s**) Il est donc nécessaire d'​utiliser le UUID qui est unique.  +
-<code> +
-##  Cette séquence fabrique le point de montage, met à jour le fichier ​/etc/fstab et monte la partition. +
-##  Il est nécessaire de définir les deux paramètres suivants: +
-DISK=sdXN ​  ##### Il  faut renseigner la valeur DISK par le nom de la partition qui a été créée lors du formatage. +
-MOUNTPOINT=$(echo /$DISK | tr '​[:​lower:​]'​ '​[:​upper:​]'​) ​   ###Le point de montage est à définir. ​  Le mettre directement dans la partition racine est possible. Pour ceux qui souhaitent le mettre ailleurs, il faut alors préciser le point de montage.  +
-    +
-sudo mkdir $MOUNTPOINT +
-echo "​UUID=$(lsblk -n -o uuid /​dev/​$DISK) ​    ​$MOUNTPOINT ​ ext4  defaults,​errors=remount-ro ​ 0 2" | sudo tee -a  /​etc/​fstab +
-sudo mount -v /​dev/​$DISK +
-tail -2 /etc/fstab  +
-</code> +
- +
- +
- +
- +
- +
-=====Créer les répertoires pour les utilisateurs de ubuntu ===== +
- +
-Lorsqu'​il a plusieurs utilisateurs,​ il peuvent avoir chacun leur propre partition. Ils peuvent aussi stocker leur données dans une partition commune. Chacun ayant un sous-répertoire personnel. Quelque que soit  la méthode retenue pour la fabrication des liens, il est nécessaire de fabriquer un point d'​entrée par utilisateur. Cette fabrication nécessite d'​avoir des droits administrateur. +
-Or, tous les utilisateurs ne sont pas obligatoirement administrateur. ​ La séquence de fabrication du point d'​entrée est isolée du déplacement des données.  +
-La séquence de création d'un utilisateur est décrite en ligne de commande : +
-<​code>​ +
-## Création des répertoires des utilisateurs. ​ Il peut y avoir plusieurs utilisateurs dans une même partition. +
-##   ​Pré-requis. Ce script considère que tous les utilisateurs ont déjà été créés. Cependant il est possible d'en créer d'​autres ultérieurement. +
-##  Création de l'​utilisateur principal +
-LABEL=Commun1 ​ ##   ​OU ​  ​LABEL=SDXN ​  par exemple SDB1 +
-MOUNTPOINT=/​$LABEL +
-## Les deux commandes sont regroupées pour se prémunir d'une erreur de frappe dans le mot de passe +
-sudo mkdir $MOUNTPOINT/​$UTILISATEUR && sudo chown $USER:$USER $MOUNTPOINT/​$USER +
-## +
-## Création des autres utilisateurs: ​   Commande à faire autant de fois qu'il y a d'​utilisateurs actuellement connus. +
-##                                      Commande à faire à chaque fois qu'un nouvel utilisateur est créé. +
-sudo mkdir $MOUNTPOINT/​Nom-D'​un-Utilisateur && sudo chown Nom-D'​un-Utilisateur:​Nom-D'​un-Utilisateur $MOUNTPOINT/​Nom-D'​un-Utilisateur +
-</​code>​ +
- +
- +
-=====Raccourci vers les dossiers du Dossier Personnel===== +
- +
-Trois méthodes sont connues. ​  Elles seront toutes les trois décrites. +
-La première est à favoriser. Elle ne nécessite pas un reboot à chaque création d'un nouvel utilisateur. +
-La seconde est basée sur des liens symboliques,​ Tout se passe chez l'​utilisateur. Mais les liens symboliques semblent ne pas très bien fonctionner avec les nouvelles applications. ​   La poubelle semble aussi ne pas très bien fonctionner. +
-La troisième est au niveau supérieur. Mais chaque ajout d'​utilisateur nécessite un reboot de l'​ordinateur pour prise en compte des modifications. +
- +
-==== Installation de liens par  l'​afficheur du bureau ==== +
-**Chaque utilisateur est capable de réaliser le transfert de ses propres données.**. Aucune commande en mode administratif n'est nécessaire. Voici les commandes à faire  +
- +
-<​code>​ +
-##​Prérequis à l'​exécution du déplacement des données +
-##     Avoir créé ​ et monté une partition ext4 avec une étiquette Commun1 +
-##     Avoir créé le point d'​entrée de l'​utilisateur +
-##     Avoir fermé ses applications afin que les fichiers puissent être déplacés. +
-## +
-LABEL=Commun1 ​        +
-MOUNTPOINT=/​$LABEL ​  +
-## +
-## Cette séquence transfère automatiquement les données de l'​utilisateur. +
-## +
-for i  in  Bureau ​ Téléchargements Modèles Public ​ Documents ​ Musique ​ Images ​ Vidéos ​          +
-do +
-    echo " " && echo " Début de déplacement des données existantes de  $i" && ​   sleep 5   +
-    mv -iuv  /​home/​$USER/​$i $MOUNTPOINT/​$USER ​  +
-done +
-## liste  pour vérifier +
-   ​ls ​ -ls /​home/​$USER +
-   ​ls ​ -ls $MOUNTPOINT/​$USER +
-   </​code>​ +
-Ces commandes ne traitent pas les erreurs du style manque de place disque, répertoires ou fichiers déjà existants. +
- +
-Il faut traiter ces situations manuellement. +
-  +
-Il faut s'​assurer que les répertoires entrées ont bien été supprimés avant de passer à la suite. +
- +
-En pratique, il n'y a pas d'​erreur lorsque l'​installation est récente. Cependant, cela peut arriver. ​ Donc la suite n'​est ​ pas enchaînée automatiquement afin de permettre à l'​utilisateur de finir le travail. +
- +
-Lorsque les huit répertoires ​ sont enfin vides et supprimés, il faut prévenir l'​affichage du bureau pour prise en compte. +
- +
-Cela se fera encore en ligne de commandes. +
- +
-<​code>​ ## Mise à jour du fichier de directives de l'​utilisateur +
-if [ -f "/​home/​$USER/​.config/​user-dirs.dirs.SAVE"​ ] +
-   ​then +
-        echo "​sécurité déjà faite"​ +
-   ​else +
-        cp -v /​home/​$USER/​user-dirs.dirs ​ /​home/​$USER/​user-dirs.dirs.SAVE +
-fi +
-##sed '/​^XDG_/​d'​ /​home/​$USER/​.config/​user-dirs.dirs >   ​fichier.tmp ​ && mv -f fichier.tmp /​home/​$USER/​.config/​user-dirs.dirs +
-xdg-user-dirs-update --set DESKTOP ​    ​$MOUNTPOINT/​$USER/​Bureau +
-xdg-user-dirs-update --set DOCUMENTS ​  ​$MOUNTPOINT/​$USER/​Documents +
-xdg-user-dirs-update --set PICTURES ​   $MOUNTPOINT/​$USER/​Images +
-xdg-user-dirs-update --set TEMPLATES ​  ​$MOUNTPOINT/​$USER/​Modèles +
-xdg-user-dirs-update --set MUSIC       ​$MOUNTPOINT/​$USER/​Musique +
-xdg-user-dirs-update --set PUBLICSHARE $MOUNTPOINT/​$USER/​Public +
-xdg-user-dirs-update --set DOWNLOAD ​   $MOUNTPOINT/​$USER/​Téléchargements +
-xdg-user-dirs-update --set VIDEOS ​     $MOUNTPOINT/​$USER/​Vidéos +
-xdg-user-dirs-gtk-update +
-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. +
- +
-==== 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. +
-    +
-   +
-Elle ne traite pas d'​autres dossiers que certaines applications ​ installent discrètement en standard ​ dans le répertoire /home. +
- +
-Dans l'​ensemble,​ ces applications ont souvent une séquence d'​initialisation qui aurait pu demander le lieu de stockage des données.  +
- +
-La résolution du problème passe par 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. +
-Les applications thunderbird et mozilla sont susceptibles d'​être candidates à ce style de déplacement. +
- +
-**Chaque utilisateur pourra déplacer ses propres données.** +
- +
-Ce déplacement se fera en ligne de commandes. A titre d'​exemple:​ +
-<​code>​ +
-LABEL=Commun1 +
-MOUNTPOINT=/​$LABEL +
-## Recopie des données de l'​utilisateur. +
-for i   ​in ​   .thunderbird ​  ​.mozilla ​   ####### ​ Bureau ​ Téléchargements ​   Modèles ​ Public ​ Documents ​ Musique ​ Images ​ Vidéos ​    +
-do +
-   #​Vérifions la présence d'un lien symbolique identique à celui qu'on veut créer +
-    ls -ls /​home/​$USER/​$i >​$HOME/​FIC.tmp ​  +
-    if grep -q "> $MOUNTPOINT/​$USER/​$1"​ $HOME/​FIC.tmp  +
-       ​then +
-           echo "Le traitement ​ est déjà fait pour $i" ​    +
-       ​else ​   +
-           echo " " && echo " Début de déplacement des données existantes de  $i" && ​   sleep 5   +
-           mv -iu  /​home/​$USER/​$i $MOUNTPOINT/​$USER ​  +
-           sudo ln -s $MOUNTPOINT/​$USER/​$i ​ /​home/​$USER ​     +
-    fi +
-done +
-## liste  pour vérifier +
-ls -als /home/$USER | grep lrwx +
-ls -als $MOUNTPOINT/​$USER +
-</​code>​ +
-Les risques d'​erreurs et les rectifications sont identiques au contexte précédant.  +
- +
-**Un utilisateur pourra demander à un administrateur de déplacer ​ ses  données.** +
- +
-Ce déplacement se fera en ligne de commandes. A titre d'​exemple:​ +
-<​code>​ +
-LABEL=Commun1 +
-MOUNTPOINT=/​$LABEL +
-UTILISATEUR=NomDeL'​Utiliseur +
-## Recopie des données de l'​utilisateur. +
-for i  in   ​.thunderbird ​  ​.mozilla ##### Bureau ​ Téléchargements ​   Modèles ​ Public ​ Documents ​ Musique ​ Images ​ Vidéos ​    +
-do +
-    #Vérifions la présence d'un lien symbolique identique à celui qu'on veut créer +
-    ls -ls /​home/​$UTILISATEUR/​$i >​$HOME/​FIC.tmp ​  +
-    if grep -q "> $MOUNTPOINT/​$UTILISATEUR/​$1"​ $HOME/​FIC.tmp  +
-       ​then +
-              echo "Le traitement ​ est déjà fait pour $i" ​    +
-        else    +
-              echo " " && echo " Début de déplacement des données existantes de  $i" && ​   sleep 5   +
-              sudo mv -iu  /​home/​$UTILISATEUR/​$i $MOUNTPOINT/​$UTILISATEUR ​  +
-              sudo chown $UTILISATEUR:​$UTILISATEUR -Rv $MOUNTPOINT/​$UTILISATEUR/​$i  +
-              sudo ln -s $MOUNTPOINT/​$UTILISATEUR/​$i ​ /​home/​$UTILISATEUR ​     +
-     fi +
-done +
-## liste  pour vérifier +
-ls -als /​home/​$UTILISATEUR | grep lrwx +
-ls -als $MOUNTPOINT/​$UTILISATEUR  +
-</​code>​ +
-Les risques d'​erreurs et les rectifications sont identiques au contexte précédant. +
- +
- +
- +
-====    Installation de liens dans l'O.S. de base ==== +
-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. +
- +
-Voici les commandes à faire: +
- +
-<​code>​ +
-##​Prérequis à l'​exécution du déplacement des données. +
-##     Avoir créé ​ et monté une partition ext4 avec une étiquette Commun1. +
-##     Avoir créé le point d'​entrée de l'​utilisateur. +
-##     Avoir fermé ses applications afin que les fichiers puissent être déplacés. +
-## +
-# Chemin du Disque de Données, qu'on a fait en point de montage dans /​etc/​fstab +
-PARTNAME=Commun1 ​         # C'est le label du disque +
-MOUNTPOINT=/​$PARTNAME ​    # C'est le point de montage de la partition. Il peut être modifié si ce choix ne convient pas. +
-+
-# Liste des Utilisateurs à qui créer les Liens. Remplacer les nom_de_XX_utilisateur par les bons noms d'​utilisateurs. +
-#             Faire autant de lignes que d'​utilisateurs requis (ils doivent déjà être créés et exister dans /home !!) +
-UTILISATEUR[0]='​nom_de_premier_utilisateur'​ +
-UTILISATEUR[1]='​nom_de_deuxieme_utilisateur'​ +
-UTILISATEUR[2]='​nom_de_troisieme_utilisateur'​ +
-UTILISATEUR[3]='​nom_de_quatrieme_utilisateur'​ +
-+
-# Liste des Liens à Créer +
-tabFolder[0]='​Bureau'​ +
-tabFolder[1]='​Documents'​ +
-tabFolder[2]='​Images'​ +
-tabFolder[3]='​Modèles'​ +
-tabFolder[4]='​Musique'​ +
-tabFolder[5]='​Public'​ +
-tabFolder[6]='​Téléchargements'​ +
-tabFolder[7]='​Vidéos'​ +
-tabFolder[8]='​.mozilla' ​      ##### C'est selon le choix. Il faut aussi que cette application ait fonctionné chez les utilisateurs. +
-tabFolder[9]='​.thunderbird' ​  ##### C'est selon le choix. Il faut aussi que cette application ait fonctionné chez les utilisateurs. +
- +
-# Boucle pour passer dans chaque UTILISATEUR. +
-for i in ${!UTILISATEUR[@]} +
-do  +
-    # se mettre dans le dossier personnel de l'​utilisateur. +
-    echo "​Début de traitement pour ${UTILISATEUR[i]}" ​    +
-    # boucle pour  faire tous les liens de cet utilisateur. +
-    for j in ${!tabFolder[@]} +
-    do +
-        #Vérifions la présence d'un lien symbolique identique à celui qu'on veut créer.  +
-        if grep -q "​$MOUNTPOINT/​${UTILISATEUR[i]}/​${tabFolder[j]}"​ /​etc/​fstab +
-            then     echo "Le traitement ​ est déjà fait pour ${tabFolder[j]}" ​    +
-        else    +
-            echo " " && echo "​Début de déplacement des données existantes de  ${tabFolder[j]}"​ && ​   sleep 5  +
-            sudo mkdir -v $MOUNTPOINT/​${UTILISATEUR[i]}/​${tabFolder[j]}  +
-            if [ -d "​$MOUNTPOINT/​${UTILISATEUR[i]}/​${tabFolder[j]}"​ ] +
-            then       +
-                 sudo mv -iuv  /​home/​${UTILISATEUR[i]}/​${tabFolder[j]} $MOUNTPOINT/​${UTILISATEUR[i]}  +
-                 sudo mkdir -v /​home/​${UTILISATEUR[i]}/​${tabFolder[j]} +
-                 if [ -d "/​home/​${UTILISATEUR[i]}/​${tabFolder[j]}"​ ] +
-                 ​then ​  +
-                       sudo chown ${UTILISATEUR[i]}:​${UTILISATEUR[i]} ​ $MOUNTPOINT/​${UTILISATEUR[i]}/​${tabFolder[j]} +
-                       echo "​$MOUNTPOINT/​${UTILISATEUR[i]}/​${tabFolder[j]} ​  /​home/​${UTILISATEUR[i]}/​${tabFolder[j]} none bind " | sudo tee -a /​etc/​fstab +
-                 ​else +
-                       echo "​Probablement encore des fichiers dans le répertoire /​home/​${UTILISATEUR[i]}/​${tabFolder[j]}"​ +
-                 fi +
-            else +
-                echo "​Erreur de création du répertoire $MOUNTPOINT/​${UTILISATEUR[i]}/​${tabFolder[j]}"​ +
-            fi +
-         fi +
-    done +
-done +
-## listons la référence. +
-cat /​etc/​fstab +
-</​code>​ +
- Ces commandes tentent de faire certains contrôles afin de permettre de relancer après correction. +
- +
-**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. +
-  +
- +
-  +
- +
  • utilisateurs/ubuntu18a/partition_de_donnees.txt
  • Dernière modification: Le 03/03/2022, 17:05
  • par bruno