Obre el menú principal

Moure /home a altra partició

Aquest artícle és una traducció lliure. 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.

Nota idea.png
Aquest procediment val per al cas que ja tingueu instal·lat Ubuntu amb la carpeta /home en la mateixa partició. Durant el procés d'instal·lació d'Ubuntu, es pot dir a Ubuntu què use una partició diferent per a home triant "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.

Nota clasica.png NOTA: 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.

Si esteu migrant des de Windows i la nova partició on voleu ficar el /home és una antiga partició ntfs (per exemple, la unitat D:) i heu instal·lat linux on estava C: però amb una partició ext3 o ext4, això no funciona. Serà una càrrega enorme per al processador. Haurieu de convertir les dues particions a ext3 o ext4, però treballar amb dos sistemes d'arxius diferents en la mateixa unitat al mateix temps no sembla ser una bona opció.

Trobar el UUID de la partició

El uuid (Universally Unique Identifier) és un identificador per a les particions el qual es pot trobar obrint una línia d'ordres (CTRL + ALT + T) 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 clasica.png 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).

Reinici del sistema

Ara podeu reiniciar l'ordinador. 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 serà 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ò).

Nota idea.png
Aquesta ordre pot tardar molt de temps en realitzar-se, depenent de la quantitat de dades que hi haja en la carpeta /home


Nota clasica.png NOTA: S'ha triat rsync abans que cp o find|cpio perquè sembla mantenir permisos. Per a més informació sobre això:

http://ubuntu.wordpress.com/2006/01/29/move-home-to-its-own-partition/
http://ubuntuforums.org/showthread.php?t=46866


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. Aquesta ordre pot tardar molt de temps en realitzar-se, depenent de la quantitat de dades que hi haja en la carpeta /home.

Preparació d'fstab per al canvi

Ara hem de modificar el fstab del nou per apuntar a la nova partició i muntar-la com a /home. Així que de nou en una línia d'ordres:

gksu gedit /etc/fstab

i ara editeu les línies afegides abans, canviant la part on diu /media/home per, simplement, /home. De manera que, en el nostre exemple quedaria així:

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

A continuació, alceu l'arxiu i tanqueu gedit, però no reinicieu encara.

Canvi de nom de /home a /old_home

Sempre que no torneu a arrencar, seguireu veient 2 còpies de la carpeta /home; una, a la nova partició (actualment muntada com /media/home) i l'altra, en la mateixa partició que estava (actualment muntada com /home). Heu de moure el contingut del directori /home anterior a un altre lloc i crear una carpeta nova buida que actuarà com un punt de muntatge per a la vostra nova partició.

Escriviu la següent cadena de comandaments per fer tot això alhora:

cd / && sudo mv /home /old_home && sudo mkdir /home

Per defecte, quan s'obre una finestra de terminal, aquesta se situa en el directori personal. En escriure cd / ens porta al directori arrel i fora de /home, així que es pot usar l'ordre sudo mv per tal de, essencialment, canviar el nom de /home a /old_home i, finalment, crear una carpeta /home nova i buida (la qual marcarà la posició de la nova partició).

Amb el fstab ara editat per muntar la partició nova al nostre marcador de posició /home i, la original /home canviada de nom a /old_home, reinicieu l'equip. La nova partició es muntarà com a /home i tot hauria d'estar exactament igual que estava abans de començar (amb la diferència que ara les dades de /home estaran en una partició diferent de la resta de dades del sistema de fitxers).

Eliminació de l'antic /home

Una vegada s'ha comprovat que tot està correcte, podeu esborrar la carpeta amb l'anterior /home amb:

 cd /
sudo rm -r /old_home 
Nota idea.png
Aneu amb compte amb l'ordre anterior ja que alguna errada d'escriptura podria donar lloc a l'eliminació d'altres arxius i directoris.