[home] deplacer sur une autre partition

Résolu
Bonjour,
Mandriva 2006

Sur le hdb2 j'ai le repertoire racine ainsi que le home.
le home est trop gros aujourd'hui je voudrais le deplacer

j'ai suivi exemple sur un site, pour le copier sur une nouvelle partition exemple hda3 en ext3.

maintenant que j'ai copié ton mon /home sur la partition hda3 dans /mnt/home.new
je voudrais que mon systeme reconnaisse ce home là par défaut.

Comment dois je faire ?
merci

24 réponses

Résumé de la discussion

La problématique consiste à déplacer le répertoire /home sur une nouvelle partition (hda3 en ext3) sous Mandriva 2006 et à le faire reconnaître comme répertoire personnel par défaut. La solution principale revient à modifier /etc/fstab pour monter /dev/hda3 sur /home avec le système de fichiers ext3 et les options defaults, puis démonter l'ancien point et monter le nouveau. Des précautions comme démonter le point, vérifier le type et les droits, et s'assurer que /home contient les répertoires utilisateurs avant le redémarrage, et de corriger les liens symboliques ou les permissions si nécessaire. En pratique, plusieurs utilisateurs vérifient d'abord la copie en montant temporairement sur /mnt/home avant le redémarrage afin que le montage automatique au démarrage assure l'accès au nouveau /home.

Bobot (l’IA à votre service)
  1. tu a juste à aller le changer dans /etc/fstab
    c'est tout ce qui te manque pour finir ta procédure.

    et tu modifies par exemple
    /dev/hdb2 /home ext2 defaults 1 2
    en
    /dev/hda3 /home ext2 defauts
    3
    1. Re, Michel > lami20j

      Je ne comprends pas pourquoi ces anomalies apparaissent ("Cela ne ressemble pas à une table de partition", "partition ... frontière de cylindre").
      Peut-être aurais-je dû t'indiquer qu'il s'agit d'une machine virtuelle ?

      # mount
      /dev/mapper/VolGroup00B-LogVol00B on / type ext3 (rw,grpquota,usrquota)
      proc on /proc type proc (rw)
      sysfs on /sys type sysfs (rw)
      devpts on /dev/pts type devpts (rw,gid=5,mode=620)
      /dev/vda1 on /boot type ext3 (rw)
      tmpfs on /dev/shm type tmpfs (rw)
      /dev/sda on /mnt/home type ext3 (rw)
      none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
      sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
      /dev/hdc on /media/CentOS_5.4_Final type iso9660 (ro,noexec,nosuid,nodev,uid=500)
      0
      1. Modérateur
        Re,

        Il faut créer une partition sur sda avec la taille totale de disque.
        Ensuite il faut monter la partition sur un répertoire pour copier dedans dans le /home déjà existant de ton système

        Affiche le résultat de
        mount


        0
        1. Re lami20j,

          Oui, c'est bien mon objectif : 1To pour /home
          Je placerai en commentaire "/dev/sda /mnt/home ext3 defaults 1 2" lorsqu'on rentrera dans les opérations, car je m'en sert actuellement.
          Il y existe donc une partition et un système de fichier (ext3) et c'est opérationnel.
          Voici les infos :

          # df -h
          Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
          /dev/mapper/VolGroup00B-LogVol00B
          18G 3,6G 13G 22% /
          /dev/vda1 99M 25M 69M 27% /boot
          tmpfs 1013M 0 1013M 0% /dev/shm
          /dev/sda 858G 350M 814G 1% /mnt/home
          /dev/hdc 3,8G 3,8G 0 100% /media/CentOS_5.4_Final

          --------------
          # du -sh /home
          79M /home
          0
          1. Re lami20j,

            Oui, c'est bien mon objectif : 1To pour /home
            Je placerai en commentaire "/dev/sda /mnt/home ext3 defaults 1 2" lorsqu'on rentrera dans les opérations, car je m'en sert actuellement.
            Il y existe une partition et un système de fichier (ext3) et c'est opérationnel.
            Voici les infos :

            # df -h
            Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
            /dev/mapper/VolGroup00B-LogVol00B
            18G 3,6G 13G 22% /
            /dev/vda1 99M 25M 69M 27% /boot
            tmpfs 1013M 0 1013M 0% /dev/shm
            /dev/sda 858G 350M 814G 1% /mnt/home
            /dev/hdc 3,8G 3,8G 0 100% /media/CentOS_5.4_Final

            --------------
            # du -sh /home
            79M /home
            0
            1. Modérateur
              Re,

              Disque /dev/sda ne contient pas une table de partition valide

              -----------------
              cat /etc/fstab

              .........................................
              /dev/sda /mnt/home ext3 defaults 1 2


              sda c'est le disque de 1 To
              Veux-tu assigner 1To pour /home ?

              Ce que j'ai mis en gras, dans ton fstab, il faut pour le moment le mettre en commentaire.
              Il faudra d'abord partitionner et créer un système de fichier sur la partition pour pouvoir la monter. On verra ça apprès. Réponds à ma question et affiche aussi le résultat de
              df -h
              du -sh /home

              0
              1. Bonjour lami20j,

                Décidément, tu es en veille! Merci d'avance. Voici les infos:

                # fdisk -l

                Disque /dev/vda: 21.4 Go, 21474836480 octets
                255 heads, 63 sectors/track, 2610 cylinders
                Unités = cylindres de 16065 * 512 = 8225280 octets

                Périphérique Amorce Début Fin Blocs Id Système
                /dev/vda1 * 1 13 104391 83 Linux
                /dev/vda2 14 2610 20860402+ 8e Linux LVM

                Disque /dev/sda: 935.7 Go, 935765429760 octets
                255 heads, 63 sectors/track, 113767 cylinders
                Unités = cylindres de 16065 * 512 = 8225280 octets

                Disque /dev/sda ne contient pas une table de partition valide

                Disque /dev/sdb: 64.4 Go, 64436811264 octets
                64 heads, 32 sectors/track, 61451 cylinders
                Unités = cylindres de 2048 * 512 = 1048576 octets

                Cela ne ressemble pas à une table de partition.
                Probablement vous avez sélectionné le mauvais périphérique.

                Périphérique Amorce Début Fin Blocs Id Système
                /dev/sdb1 ? 3213 939662 958924038+ 70 DiskSecure Multi-Boot
                La partition 1 ne se termine pas sur une frontière de cylindre.
                /dev/sdb2 ? 953737 1841713 909287957+ 43 Inconnu
                La partition 2 ne se termine pas sur une frontière de cylindre.
                /dev/sdb3 ? 110223 110223 5 72 Inconnu
                La partition 3 ne se termine pas sur une frontière de cylindre.
                /dev/sdb4 1290241 1290266 25945 0 Vide
                La partition 4 ne se termine pas sur une frontière de cylindre.

                Les entrées de la table de partitions ne sont pas dans l'ordre du disque

                -----------------
                cat /etc/fstab
                /dev/VolGroup00B/LogVol00B / ext3 grpquota,usrquota,rw 0 1
                LABEL=/boot /boot ext3 defaults 1 2
                tmpfs /dev/shm tmpfs defaults 0 0
                devpts /dev/pts devpts gid=5,mode=620 0 0
                sysfs /sys sysfs defaults 0 0
                proc /proc proc defaults 0 0
                /dev/VolGroup00B/LogVol01B swap swap defaults 0 0
                /dev/sda /mnt/home ext3 defaults 1 2
                0
                1. Bonjour,

                  Après avoir assigné /dev/sda à /mnt/home comme répertoire personnel (dans /etc/fstab, /etc/default/useradd), tout est OK.

                  Maintenant, je souhaite assigner /dev/sda à /home comme répertoire personnel.
                  Est-ce possible? "/home" a-t-il un statut particulier?

                  En faisant :
                  - en root
                  mount /dev/sda /home
                  cp -vRp /home/* /home/
                  useradd -D -b /home

                  - modification du(des) répertoire(s) personnel(s) dans /etc/fstab
                  damned, je ne connais toujours pas Perl, donc je ferai sous éditeur

                  - dans /etc/fstab
                  /dev/sda /home ext3 defauts 1 2

                  - rédemarrer

                  est-ce OK?
                  Merci Michel
                  0
                  1. Modérateur
                    Salut,

                    Après avoir assigné /dev/sda
                    Non, ce n'est pas Ok.
                    Affiche le résultat de
                    fdisk -l  
                    cat /etc/fstab


                    Je vais regarder ce soir.
                    0
                2. salut,

                  Non il y a aucun probleme, je suis débutant.

                  bonne soirée et merci
                  fabrice
                  0
                  1. Modérateur
                    Au lieu de

                    puisque je ne connaît pas que connais ton niveau - ne la prends pas mal

                    lire

                    puisque je ne connaît pas ton niveau - ne la prends pas mal
                    0
                    1. re,

                      je me reponds à moi meme,

                      pour le /etc/passwd cette ligne suffit :

                      fabss:x:500:500:fabrice:/mnt/home/fabss:/bin/bash

                      et pour, "est ce que la commande" "useradd -D -b /mnt/home" sufit ? oui

                      j'ai besoin des 2 lignes ci-dessous pour faire pointer mon syteme

                      bon j'espere que c'est ça ......

                      bonne soirée
                      0
                      1. Modérateur
                        Donc tu modifies le fichier /etc/passwd avec un editeur de texte si tu veux (j'ai mis une commande puisque je ne connaît pas que connais ton niveau - ne la prends pas mal )

                        Ensuite la commande useradd -D -b /mnt/home modifie le fichier /etc/default/useradd (je me repete ), et comme ça chaque nouveau utilisateur aura son répertoire dans /mnt/home.

                        Mais ce n'ai pas obligatoire. Tu peux utiliser l'option -d de la commande useradd pour spécifier le répertoire.
                        
                        useradd -d /mnt/home/fabss fabss


                        Il ne faut pas oublier qu'il créer le point de montage et d'ajouter la ligne le concernant dans /etc/fstab
                        0
                    2. Bonjour,

                      En fait, j'ai bien compris toutes les manoeuvres mais il me manquait de faire pointer la config du systeme vers le /mnt/home.

                      j'ai bien compris cette ligne :
                      - établire la configuration par défaut pour les utilisateurs

                      useradd -D -b /mnt/home

                      Mais par contre celle ci est plus complexe :
                      perl -pi.orig -e 's/(?=\/home\/fabss)/\/mnt/' /etc/passwd

                      En fait, tu changes le chemin de /home en /mnt/home dans le /etc/passwd sans ouvir "vi" par exemple. Est ce bien celà ?
                      Et avec un editeur de texte ça aurait donné quoi ?

                      Maintenant si j'installe une débian sur le hda1, et que je veux recupérer mon user fabss sur /mnt/home/fabss du hda3,
                      est ce que la commande "useradd -D -b /mnt/home" sufit ?

                      Merci de votre réponse
                      0
                      1. Modérateur
                        Salut,

                        En fait, j'ai bien compris toutes les manoeuvres mais il me manquait de faire pointer la config du systeme vers le /mnt/home.

                        C'est à peu prés ça.

                        j'ai bien compris cette ligne :
                        - établire la configuration par défaut pour les utilisateurs

                        useradd -D -b /mnt/home


                        Il y a un fichier /etc/default/useradd qui peut être modifié avec un éditeur de texte, mais comme on a la posibilité d'utiliser la commande useradd, je la préfère.

                        Mais par contre celle ci est plus complexe :
                        perl -pi.orig -e 's/(?=\/home\/fabss)/\/mnt/' /etc/passwd

                        En fait, tu changes le chemin de /home en /mnt/home dans le /etc/passwd sans ouvir "vi" par exemple. Est ce bien celà ?
                        Et avec un editeur de texte ça aurait donné quoi ?


                        Ici jipicy te fera une commande avec sed, moi j'utilse perl. En fait perl c'est un langage de programmation et dans ce cas je l'ai utilisé en ligne de commande. Tu peux bien sûr utiliser un editeur de texte comme vi par exemple.


                        Maintenant si j'installe une débian sur le hda1, et que je veux recupérer mon user fabss sur /mnt/home/fabss du hda3,
                        est ce que la commande "useradd -D -b /mnt/home" sufit ?


                        Tu peux faire d'une manière que n'importe quel linux tu as, le home pointe vers /mnt/home

                        En ca cas tu dois installer le système Linux sans attribué une partition pour /home (à savoir que /home existera quand même dans la racine / et que l'utilisateur crée à l'installation aura son répertoire dans /home et pas /mnt/home).

                        1° tu devras ajoute dans /etc/fstab la ligne concernant /mnt/home

                        2° la commande useradd -D -b /mnt/home va configurer le répertoire ou les utilisateurs auront leur répertoire personnel le moment de la création avec useradd new_user (en ce cas tu auras /mnt/home/new_user )
                        0
                    3. re,

                      Bonne nouvelle ça a marché ;), je remercie principalement lami20j.
                      Sinon j'ai 2 ou 3 problemes, klamav veut plus dl les bases je viens de le desinstall et reinstall, dans konqueror pour ouvrir le rep /mnt/home/fabss je dois l'associer sur chaque repertoire.

                      je pense que tout ça est configurable ;)

                      sinon je te donne

                      bash-3.00$ cat /etc/passwd
                      root:x:0:0:root:/root:/bin/bash
                      bin:x:1:1:bin:/bin:/bin/sh
                      daemon:x:2:2:daemon:/sbin:/bin/sh
                      adm:x:3:4:adm:/var/adm:/bin/sh
                      lp:x:4:7:lp:/var/spool/lpd:/bin/sh
                      sync:x:5:0:sync:/sbin:/bin/sync
                      shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
                      halt:x:7:0:halt:/sbin:/sbin/halt
                      mail:x:8:12:mail:/var/spool/mail:/bin/sh
                      news:x:9:13:news:/var/spool/news:/bin/sh
                      uucp:x:10:14:uucp:/var/spool/uucp:/bin/sh
                      operator:x:11:0:operator:/var:/bin/sh
                      games:x:12:100:games:/usr/games:/bin/sh
                      nobody:x:65534:65534:Nobody:/:/bin/sh
                      rpm:x:13:101:system user for rpm:/var/lib/rpm:/bin/false
                      messagebus:x:14:105:system user for dbus:/:/sbin/nologin
                      haldaemon:x:15:106:system user for hal:/:/sbin/nologin
                      vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
                      xfs:x:70:70:system user for xorg-x11:/etc/X11/fs:/bin/false
                      rpc:x:71:71:system user for portmap:/:/bin/false
                      clamav:x:72:72:system user for clamav:/var/lib/clamav:/bin/sh
                      rpcuser:x:73:73:system user for nfs-utils:/var/lib/nfs:/bin/false
                      gdm:x:74:74:system user for gdm:/var/lib/gdm:/bin/false
                      fabss:x:500:500:fabrice:/mnt/home/fabss:/bin/bash
                      kluser:x:501:501::/var/db/kav:/sbin/nologin

                      et bash-3.00$ ls -l /mnt/home
                      total 20
                      drwx--x--x 79 fabss fabss 4096 mar 21 19:32 fabss
                      drwx------ 2 root root 16384 mar 21 18:37 lost+found

                      voila et merci encore pour le boulot ;)
                      bonne soirée
                      0
                      1. Modérateur
                        Salut,

                        si ça marche c'est très bien.

                        Cependant il faut comprendre pourquoi ça marche (mais ça c'est à toi de voir).

                        Je me permets de te conseiller de lire la documentation pour découvrir par toi même. Tu auras plus des satisfactions.

                        Pour les 2,3 problèmes que tu as ce n'est pas vraiment important,et oui tout est configurable.

                        lami20j
                        0
                    4. salut lami,

                      Juste une petite question, la ligne ci-dessous je dois la mettre dans fstab, c'est bien celà ?

                      perl -pi.orig -e 's/(?=\/home\/fabss)/\/mnt/' /etc/passwd

                      Merci de ta réponse
                      fabrice
                      0
                      1. Modérateur
                        Salut,

                        Je me permet de répondre à sa place.
                        Non, il faut que tu tapes cette comande dans une console en tant que "root".
                        En fait elle permet de changer l'assignation de ton répertoire personnel dans le fichier "/etc/passwd" et ce sans avoir à l'ouvrir avec un éditeur de texte quelconque...
                        0
                    5. Modérateur
                      Re,

                      j'ai fait copier coller depuis le message de tuasjusteoubliede

                      incorrect
                      /dev/hda3 /mnt/home ext3 defauts 1 2 

                      donc au lieu de defauts écrit defaults

                      correct
                      /dev/hda3 /mnt/home ext3 defaults 1 2 
                      0
                      1. oki je te remercie,

                        je pense faire tout cela demain, je te tiens au courant.

                        merci et bonne soirée
                        ;)
                        0
                        1. Modérateur
                          Salut,

                          Donc l'objectif c'est d'avoir hda3 en home pour ton système, et que par défaut chaque utilisateur aura son répertoire personel dans le home de hda3.

                          En root

                          - création de répertoire home dans /mnt
                          mkdir /mnt/home/

                          - montage de la partition hda3

                          mount /dev/hda3 /mnt/home

                          - copier le répertoire de fabss dans /mnt/home/

                          cp -vRp /home/fabss /mnt/home/


                          - établire la configuration par défaut pour les utilisateurs

                          useradd -D -b /mnt/home

                          Ca veut dire qu'à la création d'un utilisateur avec la la commande useradd utilisateur son répertoire personel sera crée dans /mnt/home et pas dans /home

                          - modification de répertoire personnel dans /etc/fstab
                          perl -pi.orig -e 's/(?=\/home\/fabss)/\/mnt/' /etc/passwd  

                          - ajoute dans /etc/fstab

                          /dev/hda3 /mnt/home ext3 defauts 1 2

                          - rédemarre ton pc et essaie de te connecter avec fabss (mais avant de faire ça affiche le résultat de :

                          useradd -D

                          cat /etc/passwd

                          ls -l /mnt/home
                          )
                          0
                          1. salut,

                            bash-3.00$ cat /etc/passwd
                            root:x:0:0:root:/root:/bin/bash
                            bin:x:1:1:bin:/bin:/bin/sh
                            daemon:x:2:2:daemon:/sbin:/bin/sh
                            adm:x:3:4:adm:/var/adm:/bin/sh
                            lp:x:4:7:lp:/var/spool/lpd:/bin/sh
                            sync:x:5:0:sync:/sbin:/bin/sync
                            shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
                            halt:x:7:0:halt:/sbin:/sbin/halt
                            mail:x:8:12:mail:/var/spool/mail:/bin/sh
                            news:x:9:13:news:/var/spool/news:/bin/sh
                            uucp:x:10:14:uucp:/var/spool/uucp:/bin/sh
                            operator:x:11:0:operator:/var:/bin/sh
                            games:x:12:100:games:/usr/games:/bin/sh
                            nobody:x:65534:65534:Nobody:/:/bin/sh
                            rpm:x:13:101:system user for rpm:/var/lib/rpm:/bin/false
                            messagebus:x:14:105:system user for dbus:/:/sbin/nologin
                            haldaemon:x:15:106:system user for hal:/:/sbin/nologin
                            vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
                            xfs:x:70:70:system user for xorg-x11:/etc/X11/fs:/bin/false
                            rpc:x:71:71:system user for portmap:/:/bin/false
                            clamav:x:72:72:system user for clamav:/var/lib/clamav:/bin/sh
                            rpcuser:x:73:73:system user for nfs-utils:/var/lib/nfs:/bin/false
                            gdm:x:74:74:system user for gdm:/var/lib/gdm:/bin/false
                            fabss:x:500:500:fabrice:/home/fabss:/bin/bash
                            kluser:x:501:501::/var/db/kav:/sbin/nologin

                            bash-3.00$ ls -l /home
                            total 8
                            drwx--x--x 79 fabss fabss 8192 mar 20 18:52 fabss

                            merci
                            0
                            1. Modérateur
                              Salut,

                              affiche ici s'il te plaît

                              cat /etc/passwd


                              ls -l /home

                              et je te dirai la marche à suivre commande par commande.

                              lami20j
                              0
                              1. Contributeur
                                Bonsoir,

                                As-tu créé ton point de montage ?
                                mkdir /mnt/mandriva-home
                                par exemple
                                car je ne sais pas si tu peux créer directement /mnt/home
                                et ensuite peut-être renommer /mnt/mandriva-home en /home
                                mv /mnt/mandriva-home /home

                                Et modifier aussi ton fstab en conséquence.

                                A+.
                                0
                                • 1
                                • 2