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 15/02/2022, 16:57]
iznobe [Création d'une partition de données personnelles sous Ubuntu]
utilisateurs:ubuntu18a:partition_de_donnees [Le 03/03/2022, 17:05] (Version actuelle)
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. +
- +
-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 . +
- +
- +
-Ce tutoriel décrit la marche à suivre pour mettre ses données personnelles sur le disque dur. +
- +
-Pour simplifier notre approchenous décrirons le processus pour un seul utilisateurS'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 unique, le 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/​$USER && 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.1644940676.txt.gz
  • Dernière modification: Le 15/02/2022, 16:57
  • par iznobe