sábado, 14 de marzo de 2009

Crear una partición /home separada

Tanto si quieres actualizar Guadalinex desde una versión mas antigua a otra mas moderna, como si lo que quieres es reinstalar el sistema, puede ser buena idea pasar de tener todo el sistema en una sola partición /   a tenerlo en distribuido en dos particiones: una para /  y otra para /home. Para ello he encontrado estos tutoriales en los que me voy a basar para escribir el mio propio: crear-una-partición-home-separada o independiza-tu-home

- ¿ Que se necesita ?: - el live cd de Guadalinex y conexión a internet para instalar algunos programas (gparted y grsync) ; o un cd live de PartedMagic, que tiene gparted , grsync, nautilus, y un editor de textos entre otros programas.

Resumiendo los pasos son tres:
A- Redimensionar (disminuir) una partición existente y crear una partición para la nueva /home
B- Copiar el contenido de la carpeta /home inicial en la nueva partición /home
C- Añadir la nueva partición /home al archivo fstab para que se automonte al iniciar el "nuevo" sistema.

A- Redimensionar (disminuir ) una partición existente , para posteriormente tener espacio donde crear una nueva partición en la que montar la nueva /home. Básicamente puede haber tres casos:

1- Con una partición ext3: Crear la partición /home a partir del espacio liberado tras disminuir el tamaño de la partición /      (  La nueva partición /home debe tener al menos el mismo tamaño que tiene la carpeta /home inicial, siendo lo aconsejable crearla del mayor tamaño posible, para poder seguir añadiendole archivos, vídeos, fotos, etc ). En este caso tienes que reiniciar el pc bien desde un live cd de PartedMagic o con el live cd de Guadalinex y luego instalar Gparted u Grsync con Synaptic. No se puede hacer desde Gparted instalado en el sistema en el disco duro, pues para redimensionar las particiones éstas tienen que estar desmontadas. Si usas el live cd de Guadalinex y luego instalas Gparted, éste queda instalado temporalmente en la memoria, no en el disco duro, con lo cual si que puedes desmontar la partición / del disco duro.

2-Con una partición fat32: También se puede conseguir espacio para la nueva partición /home a partir de una partición en formato fat32 que tengas instalada para intercambiar archivos entre linux y windows, si tienes ambos sistemas operativos en el mismo pc. En este caso si que se puede redimensionar esta partición fat32 y luego crear la nueva partición /home, desde Gparted instalada en el sistema en el disco duro, pues si que se puede desmontar la partición fat32 sin que deje de funcionar el sistema.

3- Con una partición ntfs: También se puede conseguir espacio para la nueva partición /home a partir de una partición en formato ntfs donde tengas instalado el sistema Windows ( en este caso antes de tocar esa partición deberías, desde el mismo windows, hacer una defragmentación de ella ). En este caso si que se puede desmontar la partición ntfs y redimensionarla, y luego crear la partición nueva, sin necesidad de usar para ello el cd live, sino desde el sistema instalado en el disco duro.

En cualquiera de los casos anteriores, hay que disminuir el tamaño de una partición, para en el espacio liberado crear una nueva partición /home. Ojo con todo ello, aconsejo hacer si se puede copia de seguridad de la partición que se vaya a disminuir de tamaño, y no cambiar el nombre (número) de la partición /, para que el archivo /boot/grub/menu.lst la siga reconociendo igual.

En resumen, para crear la nueva partición con Gparted ( como ejemplo en el caso 1):
- reiniciar el pc con el live cd ( en el caso 1) o en el guadalinex instalado en el disco duro ( en los casos 2 y 3)
- instala gparted, si no lo tienes ya: Para eso abrimos un terminal y escribimos:   sudo aptitude update && sudo aptitude install gparted ntfsprogs ( ntfsprogs solo es necesario si vamos a actuar sobre una partición ntfs, que suele ser donde tenemos instalado el sistema Windows-xp)
- Iniciar Gparted: una vez instalado Gparted presionamos Alt+F2 y escribimos: gksudo gparted, (para iniciarlo con permisos de root): Se inicia Gparted
- la partición que se vaya a redimensionar tiene que estar desmontada: En teoría al iniciar el con el Live Cd de Guadalinex el mismo NO debería montar nuestras particiones existentes, en caso contrario debemos desmontar la partición a modificar, para esto abrimos un terminal y escribimos:
sudo umount /dev/sda1 (En tu caso reemplaza "sda1" por la partición a redimensionar).
- anota el nombre de la partición que vamos a redimensionar ( por ejemplo /dev/sda1 )
- redimensionar : elige la partición y da a resize/move;
- y crear nueva partición: selecciona el tamaño que quieras, y en el espacio vacío selecciona "nuevo", y tipo de archivos: ext3
- aplica los cambios, y anota con cuidado el nombre de la nueva partición /home creada ( por ejemplo /dev/sda5 ), y sal de gparted

Para realizar los siguientes pasos hay que saber muy bien el nombre de las particiones, en este ejemplo los nombres serán los siguientes:
/dev/sda1 : de la partición principal / ,en la que esta la carpeta /home antigua que "colgaba" de la partición / ,
/dev/sda5 : el de la nueva partición /home independiente. ( recuerda que pueden variar, y que en tu equipo puede ser sdaX o hdaX ).

También hay que fijarse en el punto de montaje, en este ejemplo la partición /home independiente se monta en /media/disk
B- Copiar el contenido de /home en la nueva partición:

1-Se puede hacer desde el cd live ( Guadalinex o PartedMagic ) con el que has hecho la nueva partición, con el programa grsync. ( Cuidando de copiar la partición /home del sistema instalado en el disco duro, no la /home del live cd )

2-Se puede hacer desde el Guadalinex instalado en el disco duro: con el programa grsync, o con PyBackPack.

3-También se puede hacer con la terminal: cierra la sesión gráfica, pasando a una consola (ctrl-alt-F1): en el login pon el nombre de tu usuario y tu contraseña, y teclea :cp -av /home/usuario /media/disk/home ( pero cambiando /media/disk por el nombre con el que en tu sistema se te monte la nueva partición). Una vez copiada la carpeta /home a la nueva partición, para volver al entorno gráfico, pulsa ctrl-alt-F7.

Las opciones -av del comando cp (copiar ) significan:
- a Equivalente a utilizar las opciones -dpR:
----> d Copiar los enlaces simbólicos tal cual son, en lugar de copiar los archivos a los que apuntan.
----> p Preservar los permisos, el usuario y el grupo del archivo a copiar.
----> R Copiar directorios recursivamente ( copiar los archivos y subdirectorios con sus archivos y subdirectorios y sucesivamente)
- v Da información en pantalla sobre los archivos que se van copiando.

Una vez copiado el contenido de la primitiva carpeta /home en la nueva partición /home, podremos y debemos cambiar el nombre a la primitiva carpeta /home, para que el sistema no "vea" dos directorios home.
 C- añadir la nueva partición al archivo fstab para que se automonte al iniciar el "nuevo" sistema: Es el momento de indicarle al sistema que nuestra carpeta /home/usuario no esta ya dentro de la partición principal (/), ahora esta en la nueva partición /home  ( /dev/sda5 ) <--- recordar que esto es solo un ejemplo, en tu equipo puede ser sdaX o hdaX.

Para que se monte la partición nueva cada vez que se inicie el equipo debemos modificar el archivo fstab, que se encuentra en /etc/fstab. Para editarlo abrimos un terminal y escribimos: sudo gedit /etc/fstab (nos pide la contraseña de root)

Una vez abierto Gedit vamos a agregar la siguiente línea:
/dev/sda5 /home ext3 nodev,nosuid 0 2
Guardamos los cambios (Control+S) y salimos (Control+Q). Después de reiniciar ya deberíamos estar usando la nueva partición /home, separada de la partición /

----------------------------

Si algo sale mal y quieres volver a dejar todo "como estaba":

Volveríamos a editar el archivo /etc/fstab de la misma forma que en el paso anterior, y borraríamos la línea: /dev/sda5 /home ext3 nodev,nosuid 0 2 Guardamos los cambios (Control+S) y salimos (Control+Q). Después de reiniciar ya deberíamos estar usando otra vez la carpeta /home/usuario, colgada de la partición / , pero ademas tendríamos una partición nueva con una copia del contenido de la carpeta /home/usuario.

Si todo ha ido bien, y tenemos la partición /home/usuario separada de la partición / , y comprobamos que el sistema "acepta" esa nueva partición como la carpeta /home/usuario, entonces podemos borrar la primitiva carpeta /home/usuario ( que previamente le habíamos cambiado de nombre ) que esta en la partición /

Ojo: en versiones mas modernas de Ubuntu y derivadas en vez del formato ext3 se usa ext4, por lo que en estos casos hay que, allá donde en lo dicho arriba aparece ext3, poner ext4.

--------------------------------------------------------

11 comentarios:

  1. Amigo me gusto el tuto, pero tengo algunas dudas, siempre e trabajado con Windows. y yo tengo 2 discos duros. uno de 80 . que lo tengo para la unidad "C" y Otro de 160 para la "D".

    Yo quiero que linux quede completo en el "C" pero que los documentos me los agarre de la carpeta que ya tengo creada en el "D".

    Como tendria que hace en este caso

    ResponderEliminar
  2. - En el disco 1 ( que era el C en windows ) instalas Guadalinex, con tres particiones: una para / ( ext3 o ext4 ) otra para /home ( ext3 o ext4 ) y otra para swap ( en formato swap )
    - En el proceso de instalación ( elige la instalación personalizada manual, para poder elegir como y que formatear, y que no formatear ), ten cuidado y asegurate de mantener sin formatear el 2ª disco duro, y con eso solo, una vez tengas instalado Guadalinex, desde él podrás acceder a todo lo que tengas en el 2º disco duro.

    ResponderEliminar
  3. Se puede crear un home en una particion fat32 para poder comprtir los documentos desde linux y desde windows?

    ResponderEliminar
  4. Kamandio:

    No, /home es un directorio ( que puede estar o no estar en una partición separada de la partición raiz / ) del sistema Linux y por ello no puede estar en una partición fat32.

    Lo que si que se puede tener es una partición fat32 ( o ntfs ) montada en /media/ y que dicha partición pueda ser vista y usada para guardar documentos, videos, música, etc, tanto por linux como por windows.

    ResponderEliminar
  5. Gracias por esto hatteras, me sera util.

    ResponderEliminar
  6. Que buen tuto, pero tengo una duda tonta pero...

    /home es lo mismo si escribo /Home con mayúscula.. u otra palabra?

    Salu3

    ResponderEliminar
  7. Mint13
    Linux reconoce las mayúsculas y minúsculas tanto para nombrar archivos, directorios o particiones, de forma que, por ejemplo, no son el mismo directorio; video, Video, VIDEO, ViDeO. Por defecto el sistema llama a la partición /home y no /Home.

    ResponderEliminar
  8. Hey, gracias por la respuesta.
    Las personas que usamos linux somos todos buena onda por lo que he visto. :)
    Ayer encontré otro tuto en inglés, es el que estoy aplicando ahora, le dejo el link por si acaso.
    https://help.ubuntu.com/community/Partitioning/Home/Moving
    Salud4

    ResponderEliminar
  9. Buenos dias Hatteras:
    Despues de leer la entrada me gustaría preguntarte por la swap, ¿no hace falta crear ninguna?.
    Muchas gracias y saludos

    ResponderEliminar
  10. pedrozgz:
    El tema está hecho partiendo de la base de que se instaló el sistema con las particiones / ( y /home como un subdirectorio ) y swap, y que se quiere pasar a tener /home en una partición aparte de la / ; no se nombra a la partición swap, ya que ésta no se toca.
    La partición swap puede no ser absolutamente necesaria si se tiene un pc con mucha memoria, pero aún en este caso yo instalaría el sistema con una partición swap; hoy en dia los pc suelen tener un disco duro con muchos gigas, por lo que reservar 2 gigas para la swap no suele ser un "desperdicio" aún suponiendo que no fuera necesario. Siempre recomiendo instalar el sistema con las tres particiones: /, /home y swap.

    ResponderEliminar
  11. Gracias Capitán, como siempre, muy completo. Aunque no me hacía falta todo, sólo la parte de cambiar /home a una partición diferente, lo leí todo porque siempre está bien contrastar. Eso que hice salió bien aunque me quedé un poco perplejo cuando ví que tenía la otra /home, la que colgaba de /, en Lugares. Nada, como tú dices al final, la borré al ver que el sistema había asimilado la nueva y todo perfecto. Por cierto, para que conste, lo he hecho sobre otro sistema que he incluido en la máquina, PCLinuxOS FullMonty, y ha salido todo perfecto, como era de esperar. Lo digo por si a alguien se le plantea la duda y cree que en su GNU/Linux puede no funcionar, que le quede claro que es para todas las distribuciones. Saludos, a seguir bien...

    ResponderEliminar

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.