Cuando instamos Linux hay dos formas de hacerlo. La «rápida», montando todo el sistema en una única partición raíz principal /, y la «correcta», configurando durante la instalación distintos puntos de montaje para cada una de las partes de esta distro. De todos los directorios que se crean cuando instalamos Linux, uno de los más importantes es /home, el directorio donde se guardan todos los archivos personales de los usuarios. Si lo montamos en /, este compartirá espacio del disco duro con el resto del sistema. Y si lo montamos en una partición independiente, tendrá su espacio asignado, nada se lo quitará y los datos estarán ahí siempre. El problema llega cuando, por un mal cálculo, este espacio se nos queda pequeño.
De la misma manera que sucede en la mayoría de los sistemas operativos, una correcta distribución de las ubicaciones de disco para el almacenamiento de datos es algo clave. Aunque en un principio, el proceso de instalación y en los primeros pasos con este software puede aparecer un tanto intrascendente, seguro que es algo que vamos a agradecer en el futuro. Las razones de todo ello son varias, empezando por tener un mayor control sobre el almacenamiento de nuestros datos privados, por un lado, y de los contenidos del sistema por otro.
A su vez y a medida que vayamos dando uso en este caso a nuestra distribución de Linux elegida, una buena distribución de los contenidos en diferentes ubicaciones, también nos permitirá ahorrar espacio en la unidad de disco principal. Sin embargo, si hemos hecho una instalación rápida de la distro, quizá nos veamos en la obligación de realizar algunas modificaciones posteriores. Precisamente para todo esto que os comentamos, os vamos a hablar de una serie de cambios en Linux que seguro os serán de mucha ayuda.
En concreto nos disponemos a cambiar todo lo almacenado /home a otra partición o unidad de disco para así poder utilizar el espacio de los discos duros de una manera más organizada y efectiva.
Qué es la carpeta /home de Linux
Todos los archivos personales de una distro Linux se guardan, por lo general, dentro del directorio /home. Aquí se encuentran los directorios de todos los usuarios, y dentro del mismo todos los archivos personales (Escritorio, documentos, descargas, etc) de cada uno de ellos.
Puede que en un principio pensemos que igual 20 GB o 30 GB pueden ser suficientes para la carpeta /home. Y si tenemos otro disco duro u otra partición donde guardar, por ejemplo, las descargas y los juegos seguramente sí lo sea. Sin embargo, si empezamos a usar de forma intensiva este directorio lo más seguro es que en poco tiempo nos quedemos sin espacio.
Cuando esto ocurre podemos optar por dos opciones. La primera de ellas es limpiar el directorio para liberar espacio, borrar lo que no sirva y mover a otras unidades los archivos y carpetas que más ocupen, o elegir una nueva partición, u otro disco, donde montar el directorio /home. A continuación, vamos a ver cómo hacer esto último.
Y es que cada vez es más habitual instalar en nuestro equipo nuevas unidades de disco adicionales para así ahorrar espacio en el principal. Esto quiere decir que tendremos la posibilidad de mover ciertos contenidos, como es el caso que nos ocupa en Linux ahora, a estas nuevas unidades o particiones para ti disponer de una buena cantidad de espacio adicional en el disco principal. Todo dependerá de las necesidades de cada caso, pero no cabe duda de que el movimiento vamos a llevar a cabo a continuación os será de enorme ayuda a muchos.
Precauciones antes de empezar
Como vamos a ver, el proceso para mover los datos es muy sencillo y apenas tiene riesgos. En caso de que algo salga mal, siempre podremos volver a la configuración anterior para acceder a los datos. Sin embargo, por seguridad, nunca está de más llevar a cabo una serie de configuraciones extra que nos ayuden a recuperar nuestro Ubuntu si, por error, colocamos mal la carpeta personal.
Lo primero es hacer una copia de seguridad de todos los datos personales que guardemos en esta partición. Descargas, fotos, documentos, vídeos… todo lo que pueda tener algún valor para nosotros deberíamos copiarlo a otro disco duro o a una memoria USB. Por si acaso. Si nos lo podemos permitir (por temas de espacio), incluso deberíamos copiar toda la partición /home.
Además, también debemos realizar una copia de seguridad del fichero fstab. O, al menos, de la línea de montaje de /home. De esta manera, si al modificarlo luego no funciona, podemos restaurar sus valores originales y volver a usar la partición que usábamos al principio. Siempre que vayamos a hacer estos cambios nunca está de más llevar a cabo estas sencillas copias de seguridad. Unos segundos pueden ahorrarnos horas de trabajo posteriores.
Quizá aquí el método más sencillo para hacer una copia de seguridad de la carpeta /home, es precisamente a la que os vamos a describir a continuación. Esta copia no será de enorme utilidad en el caso de que tengamos algún problema en el proceso nos vamos a describir más adelante. Primero vamos a crear el directorio donde copiar /home.
sudo mkdir /home.copia
Ahora lo que vamos a hacer es llevar a cabo la copia de seguridad como tal en la nueva carpeta que acabamos de crear anteriormente.
sudo cp -av /home/* /home.copia
Llegados a este punto debemos tener en consideración que el parámetro A se usa para indicar al sistema operativo que copie el contenido de la carpeta /home manteniendo la estructura original de directorios. Aquí se incluyen tanto los atributos como los permisos existentes. Por otro lado el parámetro V nos servirá para que el sistema muestre en pantalla el proceso en sí.
Cómo mover el directorio /home y sus datos a otra partición
Para llevar a cabo esta sencilla tarea vamos a necesitar principalmente dos cosas: la primera de ellas será un Live-USB de Ubuntu, o de cualquier otra distro, y la segunda un disco duro o una partición más grande donde vayamos a mover /home.
Si no tenemos la partición ya hecha debemos crearla. Os recomendamos el gestor de particiones gparted para crear la partición y, de paso, memorizar el punto de montaje que tendrá la nueva partición. Estos son los elementos en los que debemos fijarnos a la hora de establecer un nuevo punto de montaje para /home.
Lo primero que vamos a hacer va a ser configurar el nuevo punto de montaje de /home dentro del fstab. Para ello, lo que debemos hacer en nuestra distro Ubuntu principal es ejecutar el siguiente comando para entrar en la configuración de fstab:
sudo gedit /etc/fstab
Aquí tendremos que añadir lo siguiente al final del archivo de texto para establecer el nuevo punto de montaje:
/dev/sdb1 /home ext4 defaults 0 2
Os recomendamos, además, borrar la línea del punto de montaje antiguo, ya que de dejar las dos puede haber problemas. Así, dejaremos solo el nuevo punto de montaje de /home.
Debemos cambiar /dev/sdb1 por el punto de montaje que corresponda con la nueva partición de nuestro PC. También podemos usar el UUID en su lugar.
Listo. Ya tenemos la mitad del proceso realizado. Ahora el siguiente paso será apagar el ordenador, introducir el Live USB que hemos dicho que necesitaríamos antes y arrancaremos el sistema con él. No debemos entrar en nuestra distro principal ya que al no tener nuestro directorio /home original faltarán datos y configuraciones.
Una vez arranquemos la distro Live, lo único que nos quedará hacer es copiar todos los archivos de nuestro directorio /home original a la otra partición. Podemos hacerlo manualmente desde el explorador de archivos con un copiar y pegar o desde terminal con comandos como cp o mv. Lo que más cómodo nos resulte.
Puede que tengamos que ejecutar «sudo nautilus» para abrir un explorador con permisos de escritura y lectura sobre las demás unidades.
Una vez que todos los datos de la carpeta /home ya estén en la nueva partición o el nuevo disco duro, ya podemos reiniciar. Extraemos el Live-USB y, cuando arranque nuestra distro principal veremos cómo todo está como siempre, con la diferencia de que ahora nuestra distro /home es más grande y utiliza la nueva partición o disco duro.
Como último paso, os recomendamos borrar la carpeta /home antigua para evitar problemas y confusiones.
Posibles problemas
Como hemos visto, el proceso no es, para nada, complicado. Es una práctica muy común entre los usuarios que, por problemas de espacio, necesitan instalar otro disco duro o liberar espacio de la unidad principal. Sin embargo, es posible que nos encontremos con algunos errores y problemas comunes, como, por ejemplo:
- Permisos incorrectos. Este error puede aparecer cuando la partición de destino no tiene los permisos correctos. Nuestros datos estarán guardados sin problemas, pero algunos programas no podrán leerlos, ni guardar archivos en la nueva unidad. Debemos solucionarlo configurando los permisos adecuadamente.
- Problemas con enlaces simbólicos. Si tenemos creados enlaces simbólicos, es probable que estos dejen de funcionar debido a que ya no van a apuntar al mismo directorio. Para solucionarlo, tendremos que actualizar a mano esos enlaces.
- Falta de espacio. Es posible que estemos intentando mover la partición /home a un disco duro, o partición, más pequeño, y que este no tenga espacio suficiente. Debemos asegurarnos de que tenemos espacio de sobra.
- Problemas al copiar. Aunque es raro, es posible que algún archivo se pierda en el proceso de copia, o no se copie directamente. Por ello, es importante asegurarnos de que todos los archivos se han copiado correctamente.
Por todo ello, siempre recomendamos hacer una copia de seguridad de los archivos de la /home vieja antes de copiarlos a la nueva. Y no eliminar los originales hasta asegurarnos de que todo está correcto.
Formatear y montar bien las unidades
Como os hemos mostrado, es posible mover la partición de una unidad a otra para tener más espacio, o simplemente mejor rendimiento. No obstante, es un proceso que puede dar problemas de permisos, o de configuración, a la hora de intentar usar el nuevo punto de montaje.
Nuestra recomendación es que, si no tienes nada que perder y no te importa instalar Linux desde cero, es formatear el PC e instalar el sistema, aprovechando el momento de crear y asignar las particiones para elegir el nuevo punto de montaje para la unidad /home. De esta forma, además de hacer limpieza a Linux, evitaremos posibles problemas heredados por haber movido la partición de un lugar a otro.
Eso sí, os recordamos que, si vamos a formatear, perderemos todos los datos del disco duro. Aquí se incluye, además del propio sistema operativo, todas las configuraciones de los programas que tengamos instalados (ya que se guardan en este directorio), así como todos los datos personales que hayamos tenido en el PC. Por lo tanto, os recomendamos encarecidamente hacer una copia de seguridad de toda esta información para evitar que se pierda en el proceso.
Una vez tengamos nuestro Linux de nuevo en marcha, podemos restaurar los datos que hemos guardado para tener nuestro sistema ya con todo.
SSD vs HDD, ¿dónde es mejor tener /home?
Cuando vamos a comprar un disco duro debemos elegir si queremos comprar un disco duro normal, de los de siempre, con platos magnéticos, o un SSD. Las unidades de almacenamiento en estado sólido, SSD, son mucho más rápidas que los discos duros normales, pero también el precio por gigabyte es mayor.
Si nos estamos quedando sin espacio, y debemos mover la carpeta personal de nuestro Linux, debemos preguntarnos ¿merece la pena aprovechar un disco duro viejo, o mejor invertir en un SSD más grande? La carpeta /home no solo guarda los archivos personales, sino que también guarda configuraciones y accede a determinados ficheros. Si instalamos Linux en un SSD, pero la carpeta personal la tenemos en un disco duro normal, estaremos perdiendo rendimiento.
Por tanto, siempre que podamos permitirlo, mejor montar esta partición en un SSD. Y si podemos eliminar de nuestro PC los discos mecánicos, mucho mejor.