INICIO
independizar el /home PDF Imprimir Correo electrónico
LINUX - GENERAL

Cuando tenemos un cambio de versión de Ubuntu, o incluso cambiamos de distro, lo normal para quien no tenga un home independiente es instalar las aplicaciones después de instalar el propio sistema. Y después de esto hay que configurarlo todo: el panel, el fondo de pantalla, los bookmarks de firefox, los temas y extensiones de firefox y thunderbird, las teclas de VLC, skins de distintos programas… y un largo etcétera.

 

Una vez que tienes soltura con el sistema y lo has hecho varias veces, no cuesta mucho. Quizá en una tarde lo tengáis todo listo. ¿Y si os digo que podéis hacer una instalación nueva en aproximadamente unos 30 minutos? Incluyendo la instalación del sistema, de las aplicaciones y de configurarlo todo.

¿Más ventajas? Si el ordenador es compartido, no sólo se quedará a salvo de nuevas instalaciones tu home, sino el de todas las cuentas que tenga el propio sistema.

Pues eso se consigue usando un home en otra partición: tenerlo todo configuradito cuando instalemos el sistema o sus aplicaciones.

Preparando particiones

Tanto si lo vas a hacer cuando instales tu próxima distro/versión, como si lo quieres hacer ya, lo primero es preparar las particiones para alojarlo. Mi consejo es que para el sistema no le deis un espacio excesivo. Ubuntu por ejemplo necesita unos 4 GB. Como vamos a instalar aplicaciones después, podemos darle un colchón de 4 GB, es decir unos 8 GB para el sistema. Esta cantidad obviamente puede variar según distro o necesidades personales. Otro detalle es que, a diferencia de Windows, la partición del sistema de GNU/Linux no necesita ser primaria, puede serlo o puede ser extendida, no hay problema.

Otra partición obligada es la swap. Existe una regla que dice que hay que darle un tamaño del doble de lo que tengamos en RAM. Esto hoy por hoy es falso. La regla venía muy bien en el pasado cuando había poca memoria, pero si la seguimos es un desperdicio innecesario con los ordenadores actuales. Cualquiera puede tener 2 GB de RAM y asignar 4 GB de swap es un crimen. En principio con una swap de 1 GB es más que suficiente.

Un detalle. Si usáis o queréis usar la opción de hibernar vuestro sistema, la partición swap sí debe tener un tamaño un tanto más específico. Como mínimo el tamaño de la RAM y lo más recomendado es que sea 1,5 veces dicho tamaño. Es decir, si tenemos 2 GB de RAM, pues la swap la hacemos de 3 GB. Esto es debido a que hay ciertas implementaciones que para hibernar hace uso de la swap para descargar todo lo que hay en la memoria RAM, por esto es necesario esos requerimientos de espacio en dicha partición.

Si por contra no tenéis mucho espacio y no queréis “desperdiciarlo” tanto, o bien no usáis la opción de hibernar, podéis dejar la swap con 1 GB como os comenté antes.

Finalmente nuestro home. ¿Consejo? Dale todo lo que puedas bajo tus propias necesidades. Si sólo vas a tener tu sistema GNU/Linux, dale todo lo que te quede de espacio libre. Si estás particionando para compartir Windows y GNU/Linux, tendrás que reservar algo para Windows (por ejemplo juegos). Esto es bajo vuestro propio criterio, tenéis libertad absoluta para definir su espacio.

Bien, una vez explicadas las necesidades de las particiones toca particionar. Si aún sois neonatos en este mundillo y estáis familiarizados con Partition Magic u otra herramienta de particionamiento, podéis usarla sin problema. Otra alternativa es usar una alternativa libre y muy parecida como GParted. Tenéis un tutorial para usarlo aquí.

Un último detalle antes de pasar al siguiente punto: Para las particiones de sistema y home, formateadlas como “ext3“, para la de swap como “linux swap

Caso 1: Independizando en un sistema limpio

Si lo estáis haciendo para una instalación limpia de vuestro sistema, a la hora de instalarlo tan sólo tenéis que señalar cada partición para el fin con el que ha sido concebida. Tenéis más detalles en el manual de instalación de Feisty.

Ya habéis acabado el tutorial xD

Caso 2: Independizando en un sistema en uso

Esto es algo más complejo, pero no os preocupéis, no en exceso. Lo primero que tenemos que hacer es identificar el nombre de nuestra partición home. Escribimos en consola el siguiente comando:

$ sudo fdisk -l

Y nos devolverá un listado de los discos duros que tenemos, junto con sus respectivas particiones. Tenéis que identificar la partición como hdxy o sdxy, donde la x es una letra que identifica el disco duro (”a” es el primer disco, “b” el segundo…) y la “y“‘ un número que identifica la partición. La diferencia entre sdxy y hdxy es que el primero es un SATA y el segundo un IDE.

Otra forma de verlo, quizá más clara para los noveles es con el propio gparted: seleccionas el disco, pinchas en la partición y podrás ver su identificación con el “código” que os he comentado antes.

Caso 2: Independizando en un sistema en uso

Bien, ya sólo falta que el sistema monte nuestro home de forma automática cada vez que se inicie. Para esto tan sólo tenemos que editar un archivo (/etc/fstab) donde están las instrucciones de los puntos de montaje de cada partición. Así pues lo abrimos como superusuario (podéis usar otro editor de texto):

$ sudo gedit /etc/fstab

Imaginemos que la partición home la hemos identificado como sda4. Nos colocamos al final del archivo (por ejemplo) y agregamos las siguientes líneas:

# Entrada /dev/sda4 (partición /home):
/dev/sda4 /home ext3 defaults 0 2

Ya sabéis que me gusta dar algunas explicaciones para que sepáis lo que estáis haciendo, de esta forma tomaréis más soltura con el sistema. Os explico la segunda línea, ya que la primera es un mero comentario:

  • /dev/sda4: Le decimos al sistema qué partición es la que va a montar, dónde se encuentra.
  • /home: Es el punto de montaje, la “carpeta” dentro de toda la estructura de directorios.
  • ext3: El tipo de ficheros que tiene la partición.
  • defaults: Es una opción que engloba a varias: lectura y escritura, privilegios para usuarios que no sea el root, permite ejecución de ficheros, se monta durante el inicio del sistema, no permite montar/desmontar particiones a usuarios sin privilegios de root y alguna más.
  • 0: Es un valor booleano (lógico, verdadero/falso) para un detalle un tanto técnico, no merece la pena comentarlo.
  • 2: Es otro valor lógico para permitir (o no) la comprobación del sistema de ficheros con fsck. Este valor indica que sí lo permite.

Como veis el tema de la seguridad en los sistemas GNU/Linux es muy alta y sobre todo muy configurable para que se adapte a distintas necesidades.

Bien, después de esta cuña informativa, seguimos con lo nuestro. Una vez agregada la línea de montaje, guardamos el fichero y lo cerramos.

Caso 2: Guardar el home actual en el nuevo

En teoría todo este punto no es necesario, ya que el propio sistema una vez reinicies debería mover los datos al nuevo /home. Sin embargo he leído que en ocasiones y bajo ciertas circunstancias el sistema no lo hace bien y el usuario puede perder los datos. Para evitarlo vamos a asegurarnos de que no sea así y vamos a copiar los datos en el futuro nuevo /home.

Para conservar tooooodo lo que tenéis en vuestro home actual (el que aún está ligado al sistema), tan sólo tenéis que copiarlo y pegarlo a la partición de vuestro futuro home (el independiente). Para ello vamos a montar la unidad manualmente y lo vamos a copiar.

Para montarla primero creamos una carpeta, donde queramos pero fuera de nuestra carpeta personal, por ejemplo en “/home” y la voy a llamar “pepino

$ sudo mkdir /home/pepino

Ahora vamos a montar la partición que hemos creado en esa carpeta, es decir, accederemos a la partición a través de “pepino“:

$ sudo mount -t ext3 /dev/sda4 /home/pepino -o defaults

No os voy a explicar ese comando, ya que es fácilmente deducible de la explicación de la línea del fstab. Ahora podéis comprobar que podéis entrar desde Nautilus por ejemplo a través de la carpeta “/home/pepino“. Meteros dentro.

Ahora en otro otro nautilus, os colocáis en /home (un nivel por encima de vuestra carpeta personal), copiad todas las carpetas que haya (tantas como cuentas creadas en el sistema excepto root), menos “pepino” que es donde vamos a copiar las carpetas, y pegadlas en el otro nautilus (en “/home/pepino“).

Antes de finalizar si queréis podéis desmontar la partición, no es necesario aunque así sabéis cómo desmontarla manualmente:

$ sudo umount /home/pepino

Por último comentar que si tenéis algún archivo de root en algún home de algún usuario, no se os copiará. En teoría no deberíais tener ficheros de root ahí dentro a no ser que lo haya puesto el propio superusuario o bien a una mala política de aplicaciones como Automatix. De querer conservarlos tendréis que copiarlos como administrador.

Listo todo. La próxima vez que reiniciéis tendréis vuestra carpeta personal en una partición aparte.

Conclusión

Una vez lo hayáis hecho e instaléis una nueva versión de Ubuntu o de cualquier otro sistema, comprobaréis el trabajo que os habéis ahorrado gracias a este detalle.

Hay que decir que también se puede hacer esto mismo con otras carpetas de interés como /boot o /usr. Es también muy práctico, aunque el hacerlo en /home destaca más ya que es mucho más útil.

Recomendamos este y otros tutoriales de entre tuxes y pepinos.

Ultima actualización ( 29 de Febrero de 2008 )