sábado, 24 de mayo de 2008

Separar /home

Después de un buen rato de no postear nada (gracias al tupe, kiko y nerdo, otraaa veez) ahora traigo la manera de independizar o separar el directorio /home en otra partición, bueno, doy una breve explicación de beneficios que esto trae:

VENTAJAS DE SEPARAR /home:

La primera ventaja que tendríamos es seguridad, y es que nuestros datos almacenados (de las diferentes cuentas que tengamos) se respetarán siempre, sobre todo cuando actualicemos alguna versión de Ubuntu o nos cambiemos de distro (muchas veces en las actualizaciones globales surgen pequeños errores o pérdida de información).

Con un /home en una partición aparte nos dará la comodidad de que si pro algún motivo se nos "truena" o "tronamos" el sistema, nuestros datos estarán intactos y accesibles una vez que reinstalemos el sistema.

Otra ventaja es que las configuraciones de reproductores, navegadores, cuentas, etc., también se mandtendrán intactas una vez que actualicemos o cambiemos de distro.

COMO ESTÁ EL /home:

Dentro del sistema sabemos que la raíz es / y de ahí van las demas carpetas /usr, /bin, /usr/, /home, todo dentro de una misma partición, ahora lo que se busca es que /home se separe en otra partición y tengamos por un lado el sistema y por el otro nuestros datos, obviamente todos conviviendo.

Ahora vamos a describir las dos maneras mas simples de hacerlo:

Desde la instalación:

Si, una vez que instalemos desde cero un sistema GNU/Linux (Debian, Fedora, Ubuntu, etc., etc., etc.) podemos crear, por medio de Gparted una partición donde al momento de instalar le demos como punto de montaje /home, es decir, tendríamos (sin contar Linux swap, ni nada acerca de la partición de intercambio) las siguients particiones:

a) Linux ext3 con punto de montaje: / (que es donde se instalará todo el sistema)

b) Linux ext3 con punto de montaje: /home (donde irá el home y todos los datos de cuentas).


Pero bueno, esto pasa cuando instalamos desde cero, pero que tal si lo que queremos es independizar el /home pero ya teniendo información en el, se podría hacer un respaldo y reinstalar con el método visto anteriormente, pero tal vez lleve tiempo, recursos y sea un poco tedioso, para eso está el siguiente método:

Independizar home con un sistema ya instalado:

1.- Lo primero que tenemos que hacer es ver crear una partición con formato ext3 (de preferencia), esto con el Gparted, y arrancando desde un disco de Gnu/Linux (puede ser un LiveCd, para más fácil y gŕafico). Simplemente tenemos que redimensionar nuestra partición donde tengamos GNU/Linux instalado y al espacio que quede le asignamos formato ext3.

2.- Ahora si, dentro del sistema abrimos una consola (todo lo haré como root, aunque es preferible hacerlo como usuario de sudo) y tecleamos:

sudo fdisk -l


Nos regresará una lista de dispositivos (particiones) debemos ubicar cual es el que queremos para /home, la sintaxis de los dispositivos es:

/dev/xdy


donde x es una s o h (esto indica el tipo de disco duro que tengamos) y el último valor y es un número de identifiación de la partición.

En este ejemplo usaremos el dispositvo /dev/sda4

3.- Es tiempo de editar el archivo fstab que es el que indica al sistema cuales particiones o carpetas montar al inicio de la computadora:
sudo gedit /etc/fstab


y agregamos al final del archivo

#Independizar home
/dev/sda4 /home ext3 defaults 0 2


En esta instrucción indicamos que al arranque el dispositivo /dev/sda4 lo monte como /home, que el tipo de partición es ext3 y le damos las opciones de arranque de default, y valores 0 y 2 son para comprobaciones de disco al inicio.

Al reiniciar se montará la nueva partición en el directorio /home, pero para no perder los datos que ya tenemos, habrá que hacer lo siguiente:

4.- Creamos una carpeta donde montaremos el /home:

sudo mkdir /home/temp

lo puedes llamar como gustes.

5.- Montar la partición home en el directorio temp:
sudo mount -t ext3 /dev/sda4 /home/temp -o defaults


6.- Copiar el contenido de todas las carpetas de home en /home/temp:

sudo cp -r /home/usuario /home/temp


O también se puede moviendo los datos (aunque nunca lo he hecho así) con:

sudo mv /home/usuario /home/temp

donde usuario es la carpeta personal de la cuenta que querramos copiar, esta instrucción la debemos hacer para cada usuario que tengamos en home y desmontamos el temp

sudo umount /home/temp


7.- Al reinciar no debería haber problemas, pero en mi caso si los hubo, y fue una cuestión de permisos a las carpetas, el error era el siguiente:




















El problema por el cual no me dejaba accesar a la sesión gnome es porque todo el contendio de mi usuario tenia permisos de root, tanto en el propietario como en el grupo, así que lo que hice, después de buscar un rato fue esto:

En una consola (alt+F1) y después de loguearme escribí:

sudo chown -R usuario /home/usuario
sudo chgrp -R usuario /home/usuario


Con un ls -l -a /home/usuario podemos ver que los permisos ahora son del usuario (como debería ser), si queremos reiniciamos y ya podemos iniciar sesión con el /home en otra partición.

FUENTES: http://tuxpepino.wordpress.com/2007/09/18/independizando-el-home/
http://www.ubuntu-es.org/index.php?q=node/29456

2 comentarios:

Anónimo dijo...

Por fin lo conseguiste(aunque nunca me mandaste ru fstab jejeje) ¡¡Buena guia!!! Vientos

Aror99 dijo...

Jejejee es que ese dia Helen y el Hijin andaban con que su cubo y su base y pues ya me puse a hacerlo jejej, pero gracias speakoman, nos estamos viendo