S?bado, 28 de marzo de 2015

Cuando instalamos un Sistema Operativo GNU/Linux, sabemos que lo primero que debemos hacer para poder utilizarlo es dar formato, si es que aún no lo tiene, al dico duro (HDD). A continuación instalamos el SO. Finalmente nos ponemos a trabajar y lo habitual es que guardemos nuestros archivos en carpetas dentro del propio disco. En los sistemas GNU/Linux, como por ej. Ubuntu, las cuentas de los usarios se ubican en el directorio /home, que por defecto se instala en el directorio raíz "/". Si en un momento dado nos quedamos sin espacio, si se nos estropea el disco o si tenemos un problema grave que nos obliga a formatear el disco o a reinstalar el SO, corremos el riesgo de perder todo nuestro trabajo, a no ser claro está que tengamos una copia de seguridad.
Si realizamos una o varias particiones en el disco, aunque físicamente tengamos un único disco, el SO verá tantos discos como particiones le hayamos hecho. De tal forma que podemos instalar el directorio raíz “/” en una de ellas y el /home en otra. De esta manera si fuese necesario reinstalar el SO, o formatear la partición en la que está instalado, las demás particiones se comportarán como discos distintos y no se verán afectadas.

Vamos a ver un método para cambiar la ubicación de nuestro /home, independientemente de si lo tenemos en el directorio raíz “/” o en otro directorio.

 

PROCEDIMIENTO

1. Comprobamos las unidades o particiones actuales en nuestro sistema.

2. Decidimos en que partición o en que disco vamos a ubicar nuestro /home

3. Haremos una copia de seguridad del /home (es aconsejable, aunque no es imprescindible)

4. Creamos un directorio temporal /mnt/home

5. Montamos la partición  que albergará nuestro /home en el directorio temporal /mnt/home

6. Copiamos el /home actual al directorio temporal /mnt/home

7. Comprobamos que la copia de los archivos se ha realizado correctamente, incluyendo los permisos correspondientes.

8. Desmontamos el directorio temporal /mnt/home

9. Editamos el archivo fstab para incluir el nuevo punto de montaje de /home

10. Reiniciamos el equipo.

11. Eliminaremos el directorio temporal /mnt/home

 


COMENZAMOS


1 . Comprobamos las unidades o particiones actuales en nuestro sistema.

Encendemos el equipo, entramos en nuestra cuenta de usuario, nos vamos a una terminal y tecleamos:

sudo blkid


con lo que obtendremos una salida "similar" a la siguiente (dependerá de la estructura de directorios de nuestro Sistema)

/dev/sda1: UUID="238214e1-8fae-4483-b13f-5e5f622cfbcc" TYPE="ext4"
/dev/sda2: UUID="e926c534-9315-434c-91bc-edc6adb331ca" TYPE="swap"


sda identifica el tipo de disco que tenemos instalado. Si tuviésemos varios discos, cada uno vendría identificado como sd seguido por una letra: sda, sdb, sdc…o como hda, hdb… dependiendo del tipo de disco. Y cada partición viene identificada por un número; en este ejemplo, sda1, sda2.

UUID (Universally Unique Identifier) es un identificador único asociado al disco/partición. Este valor es único para cada disco y cambia cada vez que demos formato al mismo, por lo que deberemos tener esto presente.

TYPE es el tipo de partición (ntfs, vfat, ext4, ext3, swap), en este caso ext4.

Según el ejemplo,  /dev/sda1 es la partición donde tenemos nuestra instalación de Ubuntu y es donde inicialmente se encuentran el directorio raíz (root o /) y el directorio /home. En la partición /dev/sda2 se ubica la memoria de intercambio (swap).

 

2. Decidimos en que partición o en que HDD vamos a ubicar nuestro /home.

Podemos utilizar la herramienta Gparted para crear, definir el tamaño y tipo de partición sobre el disco duro actual, o bien para dar formato a un nuevo disco. Se encuentra en el Centro de software de Ubuntu.

Finalizada la preparación de la nueva partición o del nuevo disco duro, comprobamos la estructura de particiones/discos, de nuevo tecleando en la terminal

sudo blkid


Ahora vemos que ya nos aparece una nueva partición /dev/sda3Tendremos presente la información que nos muestra ya que la vamos a necesitar para establecer la nueva ubicación del /home.

/dev/sda1: UUID="cade8df9-bc05-4e1f-8684-ab11df7dbf6d" TYPE="ext4"
/dev/sda2: UUID="48f6fac2-ec88-4525-946b-afe1438cb5f0" TYPE="swap"
/dev/sda3: UUID="g6dsa2e2-7281-4ba0-8e32-7385f6ac4b30" TYPE="ext4"

 

3. Inicialmente podemos optar por hacer una copia de seguridad del /home.

Podemos hacerla en el directorio raíz "/", en otra partición, en un disco externo, DVD, unidad de red.

Creamos un directorio donde copiaremos el contenido:

sudo mkdir /home.copia/


hacemos la copia.

sudo cp -av /home/* /home.copia/


-   es un simple quión que precede a las opciones del comando

a   equivalente a (dpR) indica que debe copiar el contenido del /home manteniendo la estructura original de directorios, incluyendo atributos y permisos.

v   (verbose) indica que se mostrará en pantalla el proceso de copia).

(MUY IMPORTANTE: Debemos poner /home/* para que se copie el contenido en /home.copia, de no hacerlo así lo que ocurriría es que se copiaría el directorio /home dentro de /home.copia, en lugar de copiarse su contenido, con lo que el resultado final sería /home.copia/home)

 

4. Creamos un punto de montaje temporal para el /home

El directorio /mnt  se utiliza normalmente para montajes temporales de unidades (discos duros y particiones) en el sistema.

sudo mkdir /mnt/home

 

5. Montamos la nueva unidad (partición o disco) que albergará nuestro /home en el directorio temporal.

Utilizamos la información sobre la partición, proporcionada anteriormente por el comando blkid

sudo mount  /dev/sda3    /mnt/home

 

6. Hacemos una copia del /home  actual en el punto de montaje temporal   /mnt/home

sudo cp -av  /home/*   /mnt/home

(MUY IMPORTANTE: Debemos poner  /home/*  para que se copie el contenido en  /mnt/home, de no hacerlo así lo que ocurriría es que se copiaría el directorio  /home  dentro de  /mnt/home   en lugar de copiar su contenido, con lo que el resultado final sería  /mnt/home/home)

 

7. Comprobamos que la copia de los archivos se ha realizado correctamente, incluyendo los permisos correspondientes.

ls -l  /mnt/home/nombre_usuario

El comando anterior nos proporciona una lista de directorios y carpetas indicando, entre otra información, el propietario de los mismos y el tipo de permisos. Si hemos realizado la copia tal y como se indica en el punto (6.) no debería haber ningún problema.

 

8. Desmontamos el punto de montaje temporal.

sudo umount /mnt/home

 

9. Editamos el archivo fsbab para indicar el nuevo punto de montaje del /home

fstab es un archivo de configuración que se encuentra dentro del directorio  /etc  que indica al SO cómo se montarán las particiones para que se pueda acceder a su contenido. En la terminal tecleamos

sudo gedit /etc/fstab


Tomando la información que nos ha proporcionado anteriormente el comando blkid y siguiendo el ejemplo de nuestra estructura de particiones/directorios, la línea a incluir tendrá el formato:


Archivo  fstab


IMPORTANTE: debemos tener en cuenta que los parámetros asociados a la nueva línea que indica el punto de montaje del /home , <options>, <dump> y <pass> pueden variar dependiendo de la versión del SO. Si no ponemos los parámetros correctos corremos el riesgo de que al reiniciar no se monte el /home.


Guardamos los cambios en el archivo fstab

 

10. Reiniciamos el equipo.
Ahora tendremos el directorio /home ubicado en la partición /dev/sda3, que a ojos del SO es otro disco diferente, totalmente independiente del directorio raíz "/". Podremos reinstalar el SO e incluso formatear el directorio raíz sin que nuestro /home se vea afectado.

 

11. Eliminaremos el directorio temporal /mnt/home.

Si todo ha salido bién eliminamos el directorio temporal /mnt/home y si lo deseamos también podemos eliminar la copia de seguridad /home.copia que hicimos en un principio.

 

♦ El procedimiento es el mismo tanto si  /home está ubicado originalmente en el directorio raíz "/", en una partición del mismo disco, o en otra partición/disco.

 

 


Tags: independizar home, fstab, partición, punto de montaje

Publicado por Greiscool @ 18:05  | Linux
Comentarios (0)  | Enviar
Comentarios
- Eres libre de dejar un comentario, pero solo será publicado si eres respetuoso.
- Si deseas hacer una consulta expón con claridad e indica tu "nick" para que pueda dirigirme a tí en la respuesta.
- No indiques tu e-mail en el comentario: miarroba no permite la edición de comentarios así que por tu seguridad no serán publicados comentarios en los que aparezca el e-mail.
- Si deseas contactar por e-mail puedes escribirme a libertadtux[arroba]gmail[punto]com
 
Licencia Creative Commons
Libertad TUX
por Rober (Greiscool) se encuentra bajo una Licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España