Obre el menú principal

Moure /home a altra partició

Pendent de traducció. Text original a https://help.ubuntu.com/community/Partitioning/Home/Moving


Aquesta guia ofereix instruccions detallades per a la migració de la carpeta del sistema /home cap a una partició en el disc dur dedicada a tal efecte. Configurar la carpeta /home en una partició separada és beneficiós perquè les configuracions d'usuari, els fitxers personals i l'escriptori es mantindran si s'actualitza el sistema, es torna a instal·lar Ubuntu o altra distribució (com ara Lliurex). Això funciona perquè /home conté una subcarpeta per a cada usuari amb els fitxers que contenen totes les dades i la configuració de eixe usuari.

Es pot dir a Ubuntu què use una partició diferent per a home triant durant el procés d'instal·lació "particionat manual" i especificant que vols que el punt de muntatge de la partició diferent siga /home. Assegureu-vos de no formatar la partició /home durant el procés i de que els usuaris creats coincidisquen amb els que hi havia al la carpeta /home prèvia.

Aquesta guia seguirà 6 passos bàsics:

1. Configuració de la nova partició
2. Edició del fitxer fstab per tal de muntar la nova partició en el punt /media/home (només mentre dura el procés) i reinici del sistema.
3. Utilització de rsync per migrar totes les dades de /home cap a /media/home.
4. Edició de fstab de nou per tal què la nova partició es munte com a /home en comptes de /media/home però no reiniciar encara.
5. Canviar el nom de l'original /home a /old_home i reiniciar el sistema.
6. Esborrar /old_home.

La guia està escrita de tal manera què en qualsevol moment si hi ha una falla en el sistema, tall d'energia o un reinici a l'atzar, no tindrà un impacte negatiu en el sistema. També estaria protegint contra la possibilitat que l'usuari elimine accidentalment el seu /home en el procés.

Configuració de la nova partició

Abans de configurar la partició, primer s'ha de crear una nova. Això es pot fer amb Gparted o qualsevol altre programa de gestió de particions. Normalment, qualsevol distribució autònoma de linux (Live CD) porta l'aplicació Gparted instal·lada. Quan creeu una nova partició és molt recomanable que siga del tipus ext3 o ext4 (el mateix que tingueu per al sistema de fitxers /) per albergar la nova carpeta /home. Memoritzeu o anoteu la ubicació de la partició, serà una cosa com /sda3 o /hda5 o alguna cosa semblant.

Trobar el UUID de la partició

El uuid (Universally Unique Identifier) és un identificador per a les particions el qual es pot trobar obrint d'una línia d'ordres i escrivint la següent ordre:

sudo blkid

Alternativament, per a algunes versions anteriors d'Ubuntu l'ordre "blkid" podria no funcionar de manera que aquesta podria ser utilitzada en el seu lloc:

sudo vol_id -u <partition> 

per exemple, si la partició és /dev/sda3, l'ordre seria

sudo vol_id -u /dev/sda3

Ara només cal prendre nota (o copiar i enganxar en un arxiu de text) el UUID de la partició que voleu que siga la nova partició /home.

Edició del fitxer fstab

El fitxer fstab és un arxiu utilitzat per explicar a Ubuntu quines particions ha de muntar en l'arrencada. Els següents comandaments duplicaran l'actual fstab, afegiran l'any, el mes i el dia al final del nom de fitxer, compararan els dos arxius i obriran el fitxer per editar-lo.

1. Dupliqueu l'actual fstab:

sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

2. Compareu els dos arxius per confirmar que la còpia de seguretat coincideix amb l'original:

cmp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

3. Obriu l'original fstab amb un editor de text:

gksu gedit /etc/fstab 

i afegiu les següents línies a l'arxiu (substituiu el "????????" amb el número UUID de la partició preparada per a /home).

# (identifier)  (location, eg sda5)   (format, eg ext3 or ext4)      (some settings)
UUID=????????   /media/home    ext3          nodev,nosuid       0       2

NOTA: En l'exemple anterior, la partició especificada és ext3, però si la vostra és una partició ext4, heu de canviar la part de dalt que diu "ext3" per "ext4" (a més de la substitució de ?????? amb el UUID correcte). També teniu en compte que si esteu utilitzant Kubuntu, Xubuntu o Lubuntu és possible que tingueu de reemplaçar "gedit" amb "kate", "Mousepad" o "Leafpad", respectivament. Són els editors de text inclosos en les dites distribucions. 4. Tanqueu l'editor alçant els canvis a l'arxiu 'fstab i després escriviu la següent ordre:

sudo mkdir /media/home

Aquesta ordre crea un directori nou, usat més tard per muntar temporalment la nova partició (al final del procediment aquest directori es pot eliminar).

Ara podeu reiniciar l'ordinador. Ara, el sistema hauria de muntar la nova partició a /media/home. Més tard, editarem de nou el fstab de manera que aquest punt de muntatge de la partició és només temporal.

Per assegurar-vos que la partició està muntada, munteu tots els sistemes de fitxers declarats en fstab amb:

sudo mount -a

Copiar la carpeta /home a la nova partició

A continuació es copien amb l'ordre rsync tots els arxius, directoris i subdirectoris de l'actual directori /home a la nova partició:

sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.

L'opció --exclude='/*/.gvfs' impedeix rsync de queixar-se per no ser capaç de copiar gvfs, però crec que és opcional. Fins i tot si rsync es queixa, copiarà tota la resta igualment (cliqueu aquí per més informació sobre això) Aquesta ordre pot tardar molt de temps en realitzar-se, depenent de la quantitat de dades que hi haja en la carpeta /home.

Comprovació de la còpia

Ara haurieu de tenir dues còpies duplicades de les dades del directori principal, l'original es troba a /home i el nou duplicat ubicat a /media/home. Haurieu de confirmar que tots els arxius i directoris s'han copiat amb èxit. Una forma de fer-ho és utilitzant l'ordre diff:

sudo diff -r /home /media/home

L'única diferència que hauria d'existir són els directoris exclosos /.gvfs esmentats anteriorment.

Preparing fstab for the switch

We now need to modify the fstab again to point to the new partition and mount it as /home. So again on a command-line {{{ gksu gedit /etc/fstab }}} and now edit the lines you added earlier, changing the "/media/home" part to simply say "/home" so that it looks like this: {{{

  1. (identifier) (location, eg sda5) (format, eg ext3 or ext4) (some settings)

UUID=???????? /home ext3 nodev,nosuid 0 2 }}}

Then, press Save, close the file but don't reboot just yet.

Moving /home into /old_home

As long as you have not rebooted yet, you will still see 2 copies of your /home directory; the new one on the new partition (currently mounted as /media/home) and the old one still in the same partition it was always in (currently mounted as /home). We need to move the contents of the old home directory out of the way and create an empty "placeholder" directory to act as a mount point for our new partition.

Type the following string of commands in to do all this at once: {{{ cd / && sudo mv /home /old_home && sudo mkdir /home }}}

By default, when you open a terminal window it places you within your home directory. Typing cd / takes us to the root directory and out of home so we can then use the sudo mv command to essentially rename /home into /old_home, and finally create a new, empty /home placeholder.

With your fstab now edited to mount your new partition to our /home placeholder and the original /home now called /old_home, reboot your computer. Your new partition will mount as /home and everything should look exactly the same as it did before you started.

Deleting the old Home

You can delete your old home directory with: {{{ cd / sudo rm -r /old_home }}} Be careful with the above command as mistyping it could result in the deletion of other files and directories.

Technical Notes and Resources

Rsync was chosen over cp and find|cpio because it seemed to maintain permissions.

http://ubuntu.wordpress.com/2006/01/29/move-home-to-its-own-partition/

http://ubuntuforums.org/showthread.php?t=46866

Different filesystems on the same disk

If you're moving from Windows and your new home partition is going to be an old ntfs partition (the D: disk) while you convert the C: disk to a journaling partition where you install Linux, this won't work, there will be a huge load on the processor. You should convert the two partitions to ext3 or ext4 or keep both partitions as ntfs (I haven't checked this last option). But working with two different filesystems on the same drive simultaneously doesn't seem to be a good option.