Ayer el usuario Martín me preguntaba (fuera del blog) sobre cómo montar nuestro directorio HOME en otro disco (que no partición) diferente. Éste me indica que con Ubuntu, (que quiere abandonar por LMDE) sí podía hacerlo en el momento de la instalación, pero que con LMDE no encuentra en el instalador el modo de hacerlo.
El hecho de que esta posibilidad de situar nuestra carpeta HOME en otro disco diferente a la hora de instalar el sistema con LMDE no se pueda, que tan solo nos ofrezca posibilidad de hacerlo en las particiones contenidas en el disco donde se instale el sistema, es algo en que no me había fijado, pero cambiar el punto de montaje de nuestro /home es algo muy fácil de hacer y podemos hacerlo en el momento que más nos plazca.
Pienso que al igual que Martín, a más de uno le puede interesar el tener nuestro HOME en otro disco por completo a parte. Por ello paso a explicar cómo hacerlo fácilmente y de forma completamente gráfica y sobre todo sin necesidad de eliminar (alguna basurilla si se quiere) nada de nada.
Aunque el artículo pueda parecer largo y complicado, todo se puede reducir en tres sencillos pasos. Largo puede ser, pero nada complicado. Pero como creo que de lo que se trata no es de hacer algo, sino más bien de comprender lo que se está o se quiere hacer, por ello me he explayado algo en algunos puntos. De cualquier modo, aun así, si hay algo que no se entienda... bien pues ya preguntareis. Para los socios es gratis...jejeje.
Un punto fundamental para los que quieran hacerlo con el sistema ya en uso desde hace tiempo es que el disco que vayamos a utilizar no esté siendo usado como fuente de información de nada. Expliquemos esto un poco...
...Supongamos que el disco que queremos utilizar para montar nuestro HOME es el disco llamado y montado en nuestro sistema como /Local_Cine. Supongamos entonces también que hasta este momento lo hemos estado utilizando para que nuestro Gestor Torrent ubicase los archivos descargados.
Aclaro, que el proceso que voy a describir seguidamente no necesita de formateos ni eliminación de archivos ni nada por el estilo.
Pero claro está, ese disco del ejemplo que se montaba en /Local_Cine luego se montará en /home. Ello supone que cuando utilicemos nuestro Gestor Torrent, éste no encontrará por ningún lado un disco montado en la ubicación que tenia asignada /Local_Cine, donde descargar los archivos. Ya que para él y para todo el sistema ya no existe, aunque claro está todo sigue estando exactamente igual. Tan solo ha cambiado en nombre de la "calle" que antes se llamaba "Santo Domingo" y ahora "Santo José"...y el pobre cartero ya se ha perdido jeje.
En el caso de ser tan solo unos cuantos programas que apuntaran al ejemplo /Local_Cine sería sencillo cambiarles las rutas predefinidas para que apuntaran luego al /home/donde se quiera... Pero en el caso de ser muchos, puede ser un tostón el tener que reapuntarlos todos. Así que si se tiene uno libre de excesivo "apuntamientos" mejor que mejor.
Si la instalación es limpia, lógicamente la configuración de usuario es nueva, y nada habrá que apunte a nada y por lo tanto podemos poner nuestro HOME donde queramos que nuestro usuario no echará de menos a nada.
El ejemplo que expondré hoy es llevar mi carpeta HOME de mi sistema Xfce (lo siento te tocó a ti como conejillo de indias jeje) que esta ubicada en la raíz de éste, a mi otro disco físico completamente distinto y a una partición de éste, etiquetado como Local_B y que está a rebosar de datos, cerca de 90 GB.
Con esto quiero hacer ver, que no es necesario tener el disco que vallamos a utilizar vacío. Puede ya contener los datos que queramos. Eso sí, no debe contener ninguna carpeta llamada home. No por nada, simplemente por no embarullar la cosa.
Pues bueno pasemos al meollo de la cuestión...
Paso 1º
Iniciamos nuestra sesión con normalidad.Si tenemos porquería que limpiar lo hacemos ya que ganaremos tiempo y espacio...me estoy refiriendo a vaciar la papelera, eliminar los archivos descargados que no necesitemos, etc., tan solo en estas dos ubicaciones pueden haber una ingente cantidad de GB. GB que pueden no sernos ya necesarias y que pueden hacer (en el caso de mantenerlas) que el proceso descrito más adelante se alargue más de lo esperado. Mi carpeta de usuario no llega a 5 GB, pero si tú tienes la mala praxis de meterlo todo el la tulla, puede ser que te encuentres que ésta tenga un volumen de infarto.
Lo que haremos es abrir nuestro explorador de archivosThunar, Nautilus, Caja, Nemo, o el que estemos utilizando y entrar en la /home/
Nota: Asegúrate de tener el disco donde queremos colocar nuestro HOME montado. En este caso sería el disco /Local_B.
Una vez abierto el navegador de archivos dirígete a tu carpeta /home/ y entra dentro de ella. Dentro de esta tienes que ver tu carpeta de usuario,
Clicamos en ella con el botón derecho del mouse y seleccionamos Crear archivo Comprimido...utilizaremos el formato por defecto tar.gz .
Al seleccionar una ruta donde alojar el archivo empaquetado aconsejo que sea ya la del disco que queremos utilizar para montar nuestra /home. En el caso de este ejemplo es : /Local_B, donde quedará alojado el archivo empaquetado como se muestra en la imagen.
Te preguntarás el porqué de empaquetar nuestra carpeta de usuario y no copiarla directamente al disco deseado. ¿Si? pues hagamos un inciso para explicar ésto...
Te diré, que ésta es la forma en la que a mi el tiempo en Linux me ha enseñado para portar y mantener los atributos de los archivos de una forma fácil, rápida y sencilla. Si empaquetas un archivo...al desempaquetarlo en cualquier otro usuario o lugar, éste mantendrá (esto es muy importante y también puede ser peligroso) los atributos originales intactos. A parte de esto, al estar empaquetado lo podemos copiar donde queramos sin importar el contenido de éste.
¿Quieres aun par de ejemplos prácticos? ¿no?...da igual ahí van de todos modos:
- Prueba a copiar un simple enlace simbólico en un Pendrive. Recibirás un error al respecto impidiendo dicha copia. Ahora coge ese mismo enlace simbólico y empaquetaló. Una vez empaquetado prueba entonces a meter ese archivo empaquetado en el Pendrive. Verás entonces que no hay problema alguno en meterlo en el Pendrive y portarlo donde quieras.
- Otro caso y más acorde con temas que nos ocupa:
Mete un Script que tenga la opción de ejecutar como un programa activada en un Pendrive. Verás que automáticamente este atributo del Script (en el Pendrive) ha desaparecido. Si haces lo mismo pero con el Script empaquetado, ese atributo y los otros se mantendrán intactos, dando a lugar, que al ser desempaquetado donde tú quieras, sus atributos serán idénticos a los originales.
Bueno habiendo explicado un poco ésto, sigamos con nuestra portabilidad de la carpeta HOME...
Nota importante: Si te da error de permiso a la hora de empaquetar, esto será debido a que no puede acceder a una carpeta oculta que se crea en nuestra carpeta de usuario llamada .gvfs que está normalmente vacía pero que es inaccesible, tanto para el usuario normal como para el root en el caso de querer copiarla o comprimirla no nos será posible.
Si se te da este caso, no te queda otra que empaquetar desde el terminal.
Tranquilo, lo haremos igual de fácil si cabe. Abre un terminal en la ubicación donde quieres desempaquetar el archivo una vez creado. Luego pon el siguiente comando:
- tar -cvzf archivo.tar.gz --exclude=.gvfs /home/TuUsuario
Por si te interesa te diré que el parámetro --exclude=.gvfs lo que viene hacer es que el empaquetador evite esa carpeta.
Paso 2º
Mientras se empaqueta nuestra carpeta de usuario (dependiendo su tamaño el proceso puede tardar un poco), debemos de mirar de averiguar el número UUID ( Identificador Universalmente Único) del disco donde se montará nuestro HOME.
Éste está compuesto por un código de 32 dígitos hexadecimales compuesto de las siguientes series (8 – 4 – 4 – 4 –12)
Es necesario saber primero que nombre de dispositivo tiene el disco /Local_B. Para ello podemos abrir la Utilidad de Discos o Gparted y comprobamos que ruta y letra tiene asignada ese disco.
Como se puede ver en la imagen en este caso el disco Local_B tiene asignado el dispositivo /dev/sdc2
No explicaré aquí el motivo del por que utilizar UUID en vez de la ruta del dispositivo /dev/sdc2 que podría funcionar perfectamente, pero si quieres saber el porqué del uso de UUID puedes leerlo aquí: Montar discos y particiones
Teniendo el dato de su dispositivo, en muy fácil entonces averiguar que UUID le pertenece.
Para ésto abrimos un Terminal y ponemos el siguiente comando:
- ls -l /dev/disk/by-uuid
Como se ve en la captura, este comando nos listará todos los dispositivos con su correspondiente UUID. Tan solo nos queda buscar la letras sdc2 asignada al dispositivo que nos interesa para ver cual es su UUID. Una única e irrepetible secuencia de 32 dígitos, que en este caso es:
b21e5aba-9c86-425b-a7df-4741deaada57
Tomamos buena nota de esa secuencia. Luego ejecutamos el siguiente comando para editar el archivo fstab con nuestro editor de texto favorito, que es donde tendremos que añadir ese código:
- sudo mousepad /etc/fstab
Nota: Es aconsejable realizar una copia de este archivo antes de ser modificado.
# /etc/fstab: static file system information.
#
proc /proc proc defaults 0 0
# /dev/sdb1
UUID=401956bf-9f9f-4e5b-8700-67f64f0c3e48 / ext4 rw,errors=remount-ro 0 1
# /dev/sdb5
UUID=34f312e4-5ad2-43b0-8209-5ceac911bd5c swap swap sw 0 0
UUID=8037cb70-c8c8-4b83-b92f-7570d50ab679 /media/Local_A ext4 defaults 0 0
UUID=b21e5aba-9c86-425b-a7df-4741deaada57 /media/Local_B ext4 defaults 0 0
Podemos explicar un poco lo que se ve en ella:
- 1 Disco de punto de montaje del sistema de archivos. Identificado claramente por /
- 2 Partición swap
- 3 Disco de datos Local_A (Será montado al inicio de sesión)
- 4 Disco de datos Local_B (Será montado al inicio de sesión, este es el que usaré para el ejemplo)
Montar discos y particiones
La nueva línea a incluir en este caso y en esa lista sería esta:
UUID=b21e5aba-9c86-425b-a7df-4741deaada57 /home ext4 defaults 0 2
quedando así:
# /etc/fstab: static file system information.
#
proc /proc proc defaults 0 0
# /dev/sdb1
UUID=401956bf-9f9f-4e5b-8700-67f64f0c3e48 / ext4 rw,errors=remount-ro 0 1
# /dev/sdb5
UUID=34f312e4-5ad2-43b0-8209-5ceac911bd5c swap swap sw 0 0
UUID=8037cb70-c8c8-4b83-b92f-7570d50ab679 /media/Local_A ext4 defaults 0 0
UUID=b21e5aba-9c86-425b-a7df-4741deaada57 /home ext4 defaults 0 2
En mi caso, yo ya tenía esa línea UUID de ese disco agregada en mi fstab para que me montara el disco /media/Local_B al arrancar mi sesión. Lo único que he tenido que hacer es cambiar ese montaje /media/Local_B por /home y listo.
En tu caso, si no lo tienes ya incluidos, tienes que añadirla como se mostró anteriormente con la siguiente estructura. Y que explicaré paso a paso pero brevemente (para que se entienda) la formación y composición de ésta línea:
Empezamos por el identificador que ya sabemos de lo que se trarta:
UUID=
Más el código hexadecimal que le corresponde que hemos averiguado anteriormente:
UUID=b21e5aba-9c86-425b-a7df-4741deaada57
Más la ruta de montaje:
UUID=b21e5aba-9c86-425b-a7df-4741deaada57 /home
Más el sistema de archivo que utiliza:
UUID=b21e5aba-9c86-425b-a7df-4741deaada57 /home ext4
Más los permisos asignado de montaje. Utilizaremos los de por defecto:
UUID=b21e5aba-9c86-425b-a7df-4741deaada57 /home ext4 default
Más la opciones de respaldo a 0 :
UUID=b21e5aba-9c86-425b-a7df-4741deaada57 /home ext4 default 0
Por último, más el modo del sistema de chequeo del disco a 2 :
UUID=b21e5aba-9c86-425b-a7df-4741deaada57 /home ext4 default 0 2
Espero haberme explicado bien.
Una vez añadida la nueva línea guardamos y cerramos este archivo.
Paso 3º
Lo siguiente que nos queda es ir al disco en cuestión, donde alojemos el archivo empaquetado de nuestra carpeta de usuario y lo desempaquetaremos clicando en él, con el botón derecho del mouse y seleccionando Extraer aquí...:Como se puede ver en la captura la extracción de la carpeta de usuario frannoe se está realizando en el disco Local_B, el cual está lleno de carpetas y archivos...,
...recalco este hecho para mostrar que el proceso carece de peligro alguno ya que no se elimina nada ni se toca. Simplemente se cambia la asignación de montaje de un disco a otro, manteniéndose la carpeta original del usuario afectada intacta.
Una vez terminada la extracción en el disco indicado, accedemos en la carpeta de Usuario recién extraída y dentro de ésta entramos en la carpeta Escritorio. Dentro de la carpeta Escritorio creamos un archivo nuevo con el nombre que más variopinto nos parezca.
Esto puede parecer una pijotada, pero verás que no lo es tanto cuando te explique el motivo de la creación de dicho archivo.
Tienes que tener en cuenta que tu carpeta /home original sigue estando en el directorio (normalmente el raíz) donde estaba con su capeta de usuario también original intacta.
Cuando reinicies el sistema, si todo va bien no recibirás ningún tipo de error o aviso, simplemente tu sesión arrancará...
Si arranca desde tu /home antiguo verás el escritorio como lo tenías.
Si arranca desde tu /home nuevo verás el escritorio como lo tenías.
Con lo cual, a simple vista no verás si el proceso ha funcionado y está el /home montado en el disco que preparaste o no.
Pero si creas en la carpeta Escritorio de tu carpeta de Usuario recientemente desempaquetada, un archivo como se explicó anteriormente, pues nada más arrancar la sesión, si ves ese archivo en el escritorio sabrás que el proceso se ha realizado correctamente ya que en la carpeta original de tu Escritorio no existe.
Una pijadita que te ahorrará tener que buscar esa información de uno u otro modo, haciéndotelo saber milésimas después de arrancar la sesión.
Para finalizar, nada mas nos queda que reiniciar el sistema y esperar a que nuestra sesión arranque con normalidad. Si recibimos algún error al intentar iniciar ésta referente a que no encuentra la carpeta /home/usuario saldremos de ella y comprobaremos que es lo que hemos hecho erróneamente.
Como todo sigue estando donde está, tan solo tendremos que poner el archivo fstab como estaba para que arranque con el /home original.
Bueno ya está, todo este proceso no nos llevará más de 15 minutos. Todo dependerá del tamaño de nuestra carpeta de usuario a la hora de empaquetarla.
Son tres pasos realmente sencillos de llevar a buen termino y sin riego alguno.
La ventajas son muchas. Por ejemplo podemos tener 3 distros en nuestro sistema y todos compartir la misma carpeta /home. Lo único a tener en cuenta en este caso es que los nombres de usuarios no pueden coincidir en ninguna. Si por ejemplo en la distro de LMDE MATE mi usuario es frannoe, en la distro de Xfce no puede también ser frannoe si compartimos el mismo /home, podría utilizar para diferenciarlos para que no entren en conflicto xfcfrannoe, y en mi distro SoluOS solufrannoe, etc. Con lo cual tendría un punto de montaje de mi carpeta /home con los siguientes usuarios, cada uno para sus respectivas distros: frannoe, xfcfrannoe y solufrannoe. ¿Simple verdad?. Sí simple y practico de mantener y de realizar.
Para finalizar, queda por mostrar que siguiendo los pasos indicados al reiniciar el sistema la sesión de Xfce arranca con el /home ubicado donde se esperaba.
Como se puede ver en la captura el archivo chivato se ve en el escritorio y como se puede ver también, Thunar muestra a la carpeta /home que ahora es contenedora del antiguo disco Local_B que ya no existe ya que ahora es /home, lleno aún de toda la información que contenía pero con una carpeta más...la del usuario frannoe
Terminado el ejemplo dejaré todo como lo tenía en un par de minutos...
...editaré nuevamente el archivo fstab, eliminaré la nueva línea introducida, restituiré la que remplace y listo...todo tal y como lo tenía. Fácil ¿no?