Mover la carpeta /home a un disco nuevo en Ubuntu 18.04 LTS

Publicado por P. Ruiz en

Con el paso del tiempo, la información se va acumulando en nuestros discos duros hasta el punto de que supone un problema. En esos casos, la solución puede pasar por remangarnos y hacer limpieza a fondo, eliminando todos esos archivos que, probablemente, no volvamos a utilizar jamás.

Sin embargo, el precio por unidad de almacenamiento en los discos duros va disminuyendo casi a diario y, a cambio de una cantidad de euros bastante razonable, podemos evitar ponernos tan drásticos. Al fin y al cabo, añadiendo un nuevo disco al sistema podemos evitar la desazón que nos produce borrar algo que podemos necesitar en un futuro.

Por ese motivo, hoy vamos a aprender a añadir un nuevo disco al sistema y conseguir que todo el contenido de la carpeta /home (la que contiene todos los archivos de los usuarios) se mueva hasta él. Así, al mismo tiempo liberamos el espacio que estaban ocupando en el directorio principal. Y lo que es mejor, lo conseguiremos sin reinstalar el sistema y sin que se note la diferencia una vez terminado el trabajo.

Una precaución que debemos tener en cuenta es que la carpeta de los usuarios no debe estar cifrada. De lo contrario, no podrán iniciar sesión una vez concluido el trabajo.

Tampoco debes olvidar hacer una copia de seguridad de tus datos antes de comenzar. Piensa que un contratiempo podría hacerte perder toda la información del equipo.

Aunque el proceso es muy sencillo, queremos explicarlo con mucho detalle para que no puedas perderte. Por eso, vamos a dividirlo en varias etapas que permitan seguirlo de una forma muy sencilla. Serán las siguientes:

  • Habilitar la cuenta del usuario root.

  • Preparar el disco nuevo.

  • Cerrar la sesión actual e iniciar sesión como root.

  • Montar el disco nuevo y copiar en él la carpeta /home actual.

  • Modificar el punto de montaje predeterminado de la carpeta /home.

  • Reiniciar y limpiar

Bueno, pues si estás listo, comencemos…

Habilitar la cuenta del usuario root

Una precaución importante para alcanzar nuestro objetivo es que ninguno de los archivos contenidos en la carpeta /home se encuentre en uso. La forma más sencilla es trabajar con la cuenta root, cuyos archivos se encuentran dentro de la carpeta /root. Sin embargo, por motivos de seguridad, esta cuenta se encuentra deshabilitada en Ubuntu.

Nosotros la habilitaremos siguiendo las indicaciones del artículo Habilitar la cuenta de root en Ubuntu 18.04 LTS e iniciar sesión gráfica. Después, una vez terminada la tarea, recurriremos a las indicaciones del mismo artículo para deshabilitarla.

Preparar el disco nuevo

Para la explicación de hoy, supondremos que la parte hardware ya está resuelta. Es decir, que ya has abierto el ordenador y has conectado correctamente un nuevo disco duro en su interior.

Lo normal es que, una vez conectado físicamente el disco al ordenador, al arrancarlo por primera vez, la BIOS lo detecte automáticamente. Si no es así, deberás recurrir a la documentación de tu ordenador para habilitar la detección automática de dispositivos.

Es bastante habitual que los discos nuevos vengan formateados de fábrica. Si es así, tendrá una sola partición, que estará formateada en NTFS.

En cualquier caso, lo primero que tendremos que hacer será iniciar sesión como habitualmente y ejecutar la herramienta Discos de Ubuntu. Para lograrlo, comenzaremos por hacer clic sobre el elemento Mostrar aplicaciones del Escritorio.

También puedes pulsar la tecla Windows de tu teclado.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-001

Cuando se muestre el Panel de actividades, comenzaremos a escribir el nombre del programa para buscarlo. También podemos hacer clic sobre el botón Todas y, a continuación, volveremos a hacer clic sobre el icono de Discos.

Aquí elegiremos el primer método y, cuando aparezca su icono, hacemos clic sobre él.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-001

Cuando se abra la ventana Discos, identificamos el disco nuevo y hacemos clic sobre él.

Aquí podemos comprobar el tamaño, el formato actual y el archivo de dispositivo asignado, entre otras características. Como puedes ver en la imagen, en nuestro ejemplo, el formato que tiene en este momento el disco es ext4, y se encuentra asociado a /dev/sdb. Sin embargo, esto puede ser diferente en tu caso particular.

Características del disco nuevo.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-002

En cualquier caso, tanto si el disco no tiene formato, como si su formato es diferente de ext4, lo siguiente será darle formato. Incluso si ya dispone del formato adecuado, volver a formatearlo te asegurará que eliminas todo su contenido y lo dejas listo para la tarea que vamos a realizar.

Por lo tanto, el siguiente paso será hacer clic sobre el botón que representa unos engranajes…

Y en el menú que aparece, elegir la opción Formatear

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-003

Al hacerlo, obtendremos una nueva ventana titulada Formatear volumen. En ella, elegiremos las características del nuevo formato. En este caso, nos aseguramos de que el tipo sea Disco interno para usarlo solamente con sistemas Linux (Ext4) y le asignamos un nombre que nos permita identificarlo (en este caso, hemos escrito Nuevo)

Cuando hayamos concluido, hacemos clic sobre el botón Formatear

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-004

A continuación, el sistema nos avisa de que el proceso de formateo destruirá los datos que pudiera contener el disco con anterioridad.

Si estamos seguros de seguir adelante, hacemos clic sobre el botón Formato.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-005

Al tratarse de una tarea administrativa, antes de continuar, se nos solicita la contraseña de administración.

La escribimos y hacemos clic sobre el botón Autenticar o pulsamos la tecla Intro.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-006

Poco después, comprobaremos que el disco ha sido formateado y que presenta la información correcta.

Ya podemos cerrar la ventana Discos.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-007

Cerrar la sesión actual e iniciar sesión como root

Como hemos dicho más arriba, para evitar que ninguno de los archivos contenidos en la carpeta /home se encuentre en uso, debemos realizar la tarea con la cuenta root que de forma predeterminada, guarda sus archivos en la carpeta /root.

Por lo tanto, comenzaremos cerrando la sesión actual. Hacemos clic sobre el área de notificaciones y, en el menú que aparece, desplegamos las opciones de la cuenta de usuario actual.

En su interior, elegimos la opción Cerrar la sesión

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-008

Al hacerlo, aparece una ventana que nos informa de que, si no hacemos nada, la sesión se cerrará dentro de un minuto. Esto nos ofrece la oportunidad de cambiar de opinión pulsando la tecla Cancelar.

También podemos cerrar la sesión, inmediatamente, haciendo clic sobre Cerrar la sesión.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-009

De esta forma, se habrán cerrado todos los archivos que dependen de la sesión actual y el sistema nos presentará la pantalla de autenticación de GDM.

Sin embargo, ahora, en lugar de escribir la contraseña, pulsamos la combinación de teclas Alt + Control + F3.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-010

Al hacerlo, veremos que la interfaz gráfica desaparece y nos encontramos únicamente en una consola de texto.

Para volver a la consola gráfica sólo tenemos que usar la combinación de teclas Alt + Control + F2.

A continuación, iniciaremos sesión con la cuenta root. Ten en cuenta que esto sólo funcionará si antes hemos seguido el artículo que mencionábamos más arriba para habilitar la cuenta del administrador.

Escribimos el nombre del usuario (root) y la contraseña que le hayamos asignado.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-011

Montar el disco nuevo y copiar en él la carpeta /home actual

El siguiente paso será montar el disco nuevo, de forma temporal, para hacer una copia del contenido completo de la carpeta /home actual.

Para lograrlo, necesitaremos dos cosas: una carpeta donde realizar el montaje y el archivo de dispositivo al que se encuentra vinculado el nuevo disco duro.

Para crear la carpeta, bastará con utilizar el comando mkdir, escribiendo algo parecido a esto:

mkdir /mnt/home

Así, habremos creado una nueva carpeta llamada home, dentro de la carpeta actual mnt, que es donde suelen crearse todas las carpetas de montaje para dispositivos.

No hace falta incluir sudo porque ya estamos ejecutando las ordenes como root.

Escribimos la orden y pulsamos la tecla Intro.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-012

En cuanto al archivo de dispositivo, cuando formateamos el disco más arriba, pudimos observar que se trataba de /dev/sdb1. Lógicamente, en tu sistema podrá ser diferente, pero, si no tomaste nota en su momento, siempre puedes recurrir al siguiente comando para consultarlo:

blkid

 

blkid determina el sistema de archivos, la etiqueta, el archivo de dispositivo y el identificador (UUID) de los dispositivos de bloque presentes en el equipo.

Comprobamos que, en nuestro caso, el archivo de dispositivo es, efectivamente, /dev/sdb1.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-013

Después de esto, estaremos listos para montar el disco, para lo que escribiremos algo como esto:

mount /dev/dsb1 /mnt/home

Aunque la orden podrá cambiar si tu disco se encuentra vinculado a un archivo de dispositivo diferente o si has decidido darle otro nombre a la carpeta de montaje.

Una vez que escribamos la orden, pulsamos la tecla Intro.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-014

Si todo ha sido correcto, sólo queda copiar el contenido de la carpeta /home actual en el disco que acabamos de montar. Para lograrlo, basta con escribir una orden como esta:

cp -av /home/* /mnt/home

El argumento a nos permite preservar la estructura y los atributos que tenían los archivos originales. El argumento v muestra cada uno de los archivos copiados.

Escribimos el comando y pulsamos la tecla Intro.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-015

… Al hacerlo, comprobaremos que se copian todos los archivos originales a su nuevo destino.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-016

Una vez completado el trabajo, podemos desmontar la unidad con lo que, además, nos aseguramos de que se escriben los datos que puedan haber quedado en la memoria intermedia. Lo conseguimos escribiendo la siguiente orden:

umount /mnt/home

Desmontamos el dispositivo.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-017

Modificar el punto de montaje predeterminado de la carpeta /home

Ya estamos casi listos. Sólo nos falta decirle al sistema operativo que, ahora, la carpeta /home se encuentra en un lugar diferente.

Para lograrlo, sólo tenemos que modificar el archivo fstab, que es donde se leen los parámetros de montaje de dispositivos durante el arranque del sistema.

Podemos editar su contenido con cualquier editor de textos. Por ejemplo, usando nano:

nano /etc/fstab

Escribimos el comando y pulsamos la tecla Intro.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-018

Cuando tengamos el contenido del archivo en pantalla, nos desplazamos hasta el final y añadimos una línea como esta (bueno, yo he añadido también un comentario sobre ella):

UUID=8a16df88-af15-4118-9642-e9e9d10f6b14  /home  ext4  defaults  0  2

Como es lógico, deberás cambiar el valor UUID por el de tu disco. Recuerda que lo obtuvimos con el comando blkid.

En cuanto al resto de opciones, debemos indicar la ruta donde se montará el dispositivo (como es lógico, indicaremos /home), el sistema de archivos utiliza (ext4), las opciones de montaje (defaults representa las opciones predeterminadas), el valor 0, para el programa dump (que se encarga de hacer copias de seguridad) ignore el dispositivo, y el valor 2 para indicar la prioridad de comprobación del sistema de archivos (lo normal es que el sistema de archivos raíz tenga prioridad 1 y el resto 2).

Cuando hayamos terminado, salimos del editor nano pulsando la combinación de teclas Control + X.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-019

Al salir, nano nos pregunta si queremos guardar los cambios. Lógicamente, la respuesta debe ser .

Pulsamos la tecla S.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-020

Como última precaución, nano nos ofrece la posibilidad de cambiar el nombre del archivo, por si no queremos reescribirlo.

Como preferimos reescribirlo, pulsamos la tecla Intro.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-021

El último paso consistirá en cambiar el nombre de la carpeta /home actual, para evitar que aparezcan dos ubicaciones con el mismo nombre la próxima vez que reiniciemos (algo que produciría un error). También podríamos eliminarla pero, por cuestiones de seguridad, no lo haremos hasta que comprobemos que todo ha funcionado correctamente.

El comando que usaremos para cambiar el nombre de la carpeta será el siguiente:

mv /home /home-old

Yo he elegido /home-old, pero tú puedes usar el nombre que prefieras.

Escribimos el comando y pulsamos la tecla Intro.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-022

Después de esto, estaremos listos para reiniciar el equipo y comprobar que todo funciona.

Reiniciar y limpiar

Reiniciar el equipo desde la consola es tan sencillo como usar el siguiente comando:

reboot

Unos instantes después de pulsar la tecla Intro comenzará el reinicio.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-023

Cuando se complete, volverá a aparecer la pantalla de autenticación y, si todo ha funcionado correctamente, no tendremos dificultad en iniciar sesión con nuestro usuario habitual.

Después, para comprobar que los dispositivos se han montado de forma correcta, podemos utilizar el siguiente comando, que nos aporta información sobre los dispositivos de almacenamiento de bloques disponibles:

lsblk -fm

De nuevo, escribimos el comando y pulsamos la tecla Intro.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-024

El argumento f nos ofrece información sobre los sistemas de archivos instalados y el argumento m nos informa de quién es su propietario, su tamaño, etc.

Comprobamos que la carpeta /home se encuentra montada en el lugar correcto

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-025

También puedes abrir la carpeta principal del usuario, para comprobar que todo está en su sitio.

Contenido de la carpeta principal de la cuenta de usuario actual.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-026

Si todo es correcto, ya podemos borrar los datos de la carpeta /home original (que ahora se llama /home-old) y la carpeta que creamos para montar de forma temporal el disco nuevo (/mnt/home). En ambos casos, recurriremos al comando rm:

sudo rm -R /mnt/home
sudo rm -R /home-old

Eliminamos las carpetas.

Mover-la-carpeta-home-a-un-disco-nuevo-en-Ubuntu-18-04-LTS-027

Como último detalle a tener en cuenta, deberíamos volver a deshabilitar la cuenta de root, tal y como indicábamos en el artículo Habilitar la cuenta de root en Ubuntu 18.04 LTS e iniciar sesión gráfica.

Bueno, pues esto es todo por el momento. Espero que te resulte útil.