Cómo mover el /home a otra partición

Para qué poner el /home en otra partición
Cómo mover el /home a otra partición

Es una práctica muy frecuente el Linux (y Linux permite este tipo de ejercicios) el de poner el directorio /home en otra partición distinta a la del todo el sistema. El directorio /home contiene a los distintos usuarios que tienen acceso a la máquina (si lo hubiese varios), sus escritorios preferidos, las configuraciones de esos escritorios y toda la información generada y almacenada por los distintos usuarios. El trabajo y las horas de trabajo de los usuarios van a parar a este directorio; de ahí su importancia.

Poner el /home en otra partición es como llevar un backup permanentemente actualizado de esa información. Cualquier cosa que le suceda al sistema, el /home, en esta modalidad, quedará resguardado y recuperarlo no requerirá de horas de reinstalaciones y reconfiguraciones.


Consideraciones previas
Ubuntu
Para mover el /home se requiere de una partición del tipo linux (ext3) vacía que el usuario previamente se habrá encargado de generar o limpiar. También, este tuto, asume que el usuario sabe qué partición quiere usar como /home: la hda5, hda6, hda8, etc... y que sabe en qué partición está Tuquito: hda3, hda4, etc. En el caso de ignorar lo que son las particiones dirigirse a esta belleza de tuto de la tuquipedia:

Mover el /home implica mover KDE y todos sus archivos, entonces lo primero que haremos es cerrar todas las aplicaciones de KDE por las dudas, o al menos aquellas aplicaciones que requieren una lectura constante, por ejemplo AMAROK.


Reconociendo el entorno
Firefox
Abriremos una consola y nos logearemos como root.

NOTA los signos $ y # no hay que copiarlos, el signo $ quiere decir que hay que hacerlo como usuario normal (sin privilegios de administrador) y el # quiere decir que hay que hacerlo como root (el más capo-ronga que puede hacer de todo en el sistema )


$ su

A continuación revisaremos el archivo /etc/fstab para saber qué nombre le puso Tuquito a la partición que queremos usar como nuevo /home y dónde la podemos encontrar.

# more /etc/fstab

Aparecerá el encabezado del /etc/fstab y a continuación algo como esto:

   #  <file system>         <mount point>   <type>  <options>      <dump>  <pass>
   /dev/hda7  /  ext3  defaults,errors=remount-ro  0  1
   /dev/hda9  none  swap  sw  0  0
   proc /proc  proc  defaults  0  0
   none /proc/bus/usb   usbdevfs  rw   0 0
   none /media/a: supermount dev=/dev/fd0,fs=vfat,sync  0  0
   /dev/hda1 /media/WindowsXP1 ntfs-fuse auto,user,exec,uid=1000,gid=1000 0 0
   /dev/hda2 /media/WindowsXP2 ntfs-fuse auto,user,exec,uid=1000,gid=1000 0 0
   /dev/hda5 /media/Linux1 auto auto,user,exec 0 0
   /dev/hda6 /media/Linux2 auto auto,user,exec 0 0
   /dev/hda8 /media/Linux3 auto auto,user,exec 0 0


NOTA El # en los archivos quiere decir que es un comentario (no hay que darle bola solo esta para que no interfiera con las configuraciones )

Lo que hace el /etc/fstab es llamar manejadores o drives, programas que se encargan de administrar las particiones. Estos programas tienen el mismo nombre que la partición en cuestión y todos se encuentran el el directorio /dev.

Acá podemos ver que el programa /dev/hda7 maneja la raíz "/" de Tuquito, que es lo mismo que decir que Tuquito está en la partición hda7.

Ahora pongamos por caso que deseamos mover el /home a la partición hda5, entonces nos fijamos a dónde apunta el programa /dev/hda5 (dijimos que el programa tiene el mismo nombre que la partición en cuestión). Al observar notaremos que Tuquito ha nombrado a la hda5 como Linux1 y la puso en /media/Linux1. ¡Listo! ya sabemos dónde está la partición que deseamos dentro del esquema de directorios de Tuquito. Si quisiéramos, ha hacer un “cd /media/Linux1” estaríamos dentro de la partición hda5. Para precisar y ampliar su conocimientos sobre el fstab, la Tuquipedia provee este completísimo tuto:


Moviendo el /home
terminal

Copiamos el directorio usuario con todo su contenido a /media/Linux1. ¡Ojo! respetar los modificadores -af.

# cp -af /home/usuario /media/Linux1/usuario

Cambiamos los propietarios de Linux1 y todos sus directorios hijos de root a usuario

# chown -R usuario:usuario /media/Linux1

Marcamos el nuevo usuario creando un nuevo archivo vacío de texto para constatar luego si se activó la partición correcta. Como ambos usuarios son copias uno de otro, no tendremos manera de compararlos; al crear un nuevo archivo crearemos una diferencia entre ambos.

# touch /media/Linux1/usuario/nuevohome.txt

Entonces el nuevo estado de cosas debe consistir en que en /media/Linux1 tiene que haber una copia del directorio usuario, o sea, que debe quedar /media/Linux1/usuario/...etc.... y dentro de usuario un nuevo archivo llamado nuevohome.txt. Y que el propietario de Linux1 y sus directorios hijos debe ser el usuario.

Editar el /etc/fstab
música

$ sudo nano /etc/fstab

En el /etc/fstab agregar debajo de la línea que corresponde a la partición que queremos usar como nuevo home lo siguiente: /dev/hda5 /home ext3 defaults 0 1

ejemplo:


 .....
/dev/hda5 /media/Linux1 auto auto,user,exec 0 0
/dev/hda5 /home ext3 defaults 0 1
 ......


Desactivamos con "#" la línea que corresponde a la partición que usaremos como /home y dejaremos la nueva línea activa

ejemplo:


.....

#/dev/hda5 /media/Linux1 auto auto,user,exec 0 0

/dev/hda5 /home ext3 defaults 0 1

......


nota: es imperativo no borrar la línea desactivada por si hay que recuperar el /home que usábamos por defecto.

Guardamos con la combinación ctrl+o, y para salir ctrl+x

salimos de consola presionando Ctrl+Alt+F7 modo gráfico de tu usuario. y reiniciamos.


Comprobaciones
navegadores
Si Tuquito toma bien la nueva configuración, aparecerá KDE como siempre, no notaremos ninguna diferencia. Para ello iremos a /home/usuario y nos fijaremos si existe el archivo vacío nuevohome.txt. De ser así, hemos activado el /home en otra partición.

Si Tuquito no toma la nueva partición, nos pedirá el usuario y el password; entonces en usuario hay poner “root” y en password “tuquito” o el password que corresponda al root en el caso de que se haya cambiado. Entonces se nos aparecerá el KDE de root. Llamar a una consola y editar el /etc/fstab para revertir las activaciones e inactivaciones de las líneas antes mencionadas. De esa forma recuperaremos la antigua configuración.

nota: Una vez activada la nueva partición se pueden usar la líneas del /etc/fstab para conmutar entre ambas configuraciones. Esto le será útil para renombrar o borrar el antiguo /home. Si decide borrar el antiguo /home, entonces podrá borrar la línea /dev/hda5 /media/Linux1 auto auto,user,exec 0 0 del /etc/fstab. Lo prudente, claro está, es dejar el viejo /home un tiempo mientras probamos la nueva configuración.


Como borrar el viejo /home
extensiones
Una vez que hemos quedado satisfechos con la nueva partición caemos en la cuenta que tenemos dos directorios de casi el mismo tamaño y con el casi mismo contenido; uno de ellos está sobrando. Entonces procederemos al borrado del antiguo /home. El concepto de “borrado” debe ser entendido como el de “vaciado”. El directorio /home no se borra sino que todo su contendio. Esto se debe a que una vez que en el fstab le hemos indicado que la nueva partición se debe encontrar en /home, al borrar éste el sistema no encontrará dónde montarla cada vez que se inicie. Entonces es sumamente importante no borrar el /home, sino todo su contenido. Para ello no logeamos como root y:

cd /home

 rm -R *

13 comentarios - Cómo mover el /home a otra partición

@gran_inquisidor +2
buenisimo muchas gracias lo guardo a favoritos asi cuando en la comu preguntan como hacerlo les recomiendo tu post
@Dark6914
gracias por compartir ojala nunca lo tenga que hacer pero si algun dia tendre en cuenta tu post
@alx741
muy útil tener particiones especificas, te salva de muchas
@kmm165 +1
Lo has hecho muy complejo para mi gusto, yo lo hago de otra forma, imaginate que quieres que /media/disco1/kike sea la direccion /home/kike, pues te vas a /home y creas un enlace simbolico:

$ cd /home/
$ mv kike kike2
$ ln -s /media/disco/kike .

Asi de simple, no hace falta tocar el fstab, pero bueno, es solo otra idea alternativa.
@zapallo10
kmm165 dijo:Lo has hecho muy complejo para mi gusto, yo lo hago de otra forma, imaginate que quieres que /media/disco1/kike sea la direccion /home/kike, pues te vas a /home y creas un enlace simbolico:

$ cd /home/
$ mv kike kike2
$ ln -s /media/disco/kike .

Asi de simple, no hace falta tocar el fstab, pero bueno, es solo otra idea alternativa.



como hago para que las carpetas predeterminadas del ubuntu, documentos, descargas,musica, etc pueda reempalzarlas por las que viene por defectos, ya tengo en otra particion las mismas?
@kmm165
zapallo10 dijo:
kmm165 dijo:Lo has hecho muy complejo para mi gusto, yo lo hago de otra forma, imaginate que quieres que /media/disco1/kike sea la direccion /home/kike, pues te vas a /home y creas un enlace simbolico:

$ cd /home/
$ mv kike kike2
$ ln -s /media/disco/kike .

Asi de simple, no hace falta tocar el fstab, pero bueno, es solo otra idea alternativa.



como hago para que las carpetas predeterminadas del ubuntu, documentos, descargas,musica, etc pueda reempalzarlas por las que viene por defectos, ya tengo en otra particion las mismas?


Las copias? las mueves?, la pregunta es enserio?
@godlocky +1
Yo siempre Uso una que me cree aparte... Asi cuando cambio la distro no tengo ningun problema con la info, En la home no guardo nada!
@Ragazzi
y lo copio y modifico el /etc/passwd?
@kmm165
Ragazzi dijo:y lo copio y modifico el /etc/passwd?


Modificar el /etc/passwd/ para que?? ahi solo estan almacenadas las claves de los usuarios, que tiene que ver??