Particiones en GNU Linux
En la web hemos tratado la instalación de diferentes distribuciones GNU Linux y FreeBSD. Una de la partes principales de dichos tutoriales, es lo referido a la creación de particiones de disco y su respectivo montaje sobre diversas ubicaciones. El fin de éste artículo es explicar con más detalle dicho proceso.
Particiones en GNU Linux
Los discos duros son unidades periféricas, que se conectan a la placa base de nuestro PC, mediante conexiones (bus) IDE o SATA. Actualmente los discos sólidos son los que están, poco a poco, sustituyendo a los viejos discos rígidos, que hasta ahora predominaban en el mercado. Cuando instalamos un sistema operativo sobre ellos, se tienen que crear particiones, aplicando un formato de bajo nivel. Dichas particiones deben tener un sistemas de archivos o ficheros. El sistema operativo tratará cada partición como si fuese un disco independiente.
Sistemas de ficheros habituales
En GNU Linux se trabajan con una serie de sistemas de ficheros, vamos a ver los más habituales:
- Ext4, es el sustituto de ext3. Se trata de un sistema de ficheros transaccional. Entre las mejoras que incluye están el soporte para volúmenes de hasta 1024 PiB, menos uso de la CPU, mejoras en la velocidad de escritura y lectura.
- Btrfs, también está pensado para sustituir ext3. Permite empaquetado eficiente en espacio de archivos pequeños y directorios indexados. Asignación dinámica de inodos, esto permite que no se fije un número máximo de ficheros. Permite la creación de instantaneas o snapshots. Compresión. No hace falta desmontar el sistemas de ficheros para comprobarlo. Ha sido creado por Oracle.
- XFS, es ya un clásico, ya que se creó a principios de los años 90 del siglo pasado. Soporta hasta 8 exabytes, utiliza journaling, es ideal para particiones LVM.
- ReiserFS, utiliza journaling, esto es, previene el riesgo de corrupción del sistemas de archivos. Podemos redimensionar el sistemas de ficheros sin tener que desmonstar la unidad. Aún así para disminuir su espacio sí tiene que estar desmontado. Tiene algunas otras limitaciones, ya que no permite el proceso de desfragmentación, entre otras.
- FAT32 y NTFS, son sistemas de ficheros típicos de Microsoft Windows, no se usan en sistemas tipo UNIX.
- Espacio de intercambio o SWAP. Es una zona de disco que se usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física. Es una partición clave, ya que libera momentaneamente de la memoria volátil, procesos poco activos. Y de ésta manera poder asignar dicha memoria a procesos más importantes. No se ha de abusar de ésta partición, ya que al ir sobre disco, el proceso es lento.
Puntos de montaje
Una vez ya sabemos que sistema de ficheros nos va mejor, tenemos que conocer los diferentes puntos de montaje que necesitamos. Las particiones se «montan» sobre directorios. Lo más básico es tener dos particiones, una para la unidad SWAP y la otra sobre la raíz del sistema o «/«. En la mayoría de instalaciones ésta elección es denominada «para novatos» Veamos primero como se divide el sistema directorios. Se parte siempre desde la raíz, y de allí «cuelgan» una serie de carpetas, que pueden tener subcarpetas y ficheros. Los principales son, de manera rápida:
- /bin Contiene los binarios, esto es, los ejecutables necesarios para el funcionamiento del sistema operativo.
- /boot Es donde están ubicados los ficheros necesarios para el arranque del sistema, pero no los de configuración. Aquí se almacenan todos los ficheros que cargan primero, justo antes de cargar el kernel, como por ejemplo GRUB o LILO. Es recomendable que tenga su propia partición.
- /dev Recordad que en todos los sistemas tipo UNIX, todo es un fichero. Por lo que los dispositivos de hardware también se tratan como si fuesen un fichero, y se encuentran almacenados aquí. Al acceder, por ejemplo, a una unidad Flash USB, estamos accediendo a su fichero, tanto en la lectura como en la escritura.
- /etc Es un directorio clave, ya que aquí se encuentran los ficheros de configuración del sistema operativo, aunque también se pueden complementar con algunos otros ficheros ubicados en /home.
- /home Su función es almacenar la totalidad de los ficheros de los usuarios, exceptuando root. Tal y como hemos visto en la línea anterior, también se ubican ficheros de configuración para cada usuario.
- /lib Contiene bibliotecas compartidas, necesarias para los ejecutables ubicados en /bin y /sbin
- /mnt Aquí se ubican los puntos de montaje de los periféricos, como discos duros externos.
- /media Es muy similar a /mnt y tiene las mismas funciones.
- /opt Aquí se ubican los programas que añaden los usuarios, diferentes de los del sistema operativo.
- /proc Se trata de un sistema archivos virtual. Devuelve información sobre diferentes procesos y aplicaciones que están funcionando en nuestro sistema operativo.
- /root Es el directorio del superusuario.
- /sbin Almacena ficheros ejecutables que sólo pueden ejecutar el usuario root y los administradores del sistema.
- /srv Algunas distribuciones utilizan éste directorio para ubicar ciertos servicios. Ejemplo de ello sería un servidor web /srv/www o un servidor ftp /srv/ftp.
- /tmp Es donde se almacenan los ficheros temporales. Por normal general al reiniciar el sistema se elimina la información ubicada aquí.
- /usr Contiene los ficheros de la mayoría de programas instalados.
- /var Ubica generalmente información que varía con el funcionamiento del sistema. También incluye en muchos casos los directorios raíz de servidores web o colas de correo.
- /sys Es similar a /proc, aquí podemos encontrar información del kernel, de las particones, etcétera.
Particionado ideal
Como todo en la vida depende. Es decir, por ejemplo, si vamos a utilizar el disco para una distribución GNU Linux o FreeBSD para nuestro PC, que sólo utilizaremos para el día a día, esto es, mirar correos, navegar por Internet y cosas por el estilo, supongamos que tenemos un disco de 512 GB de disco duro y 4 GB de memoria volátil, un particionado recomendable sería el siguiente:
- Lo ideal para la partición SWAP es asignarle el número de GB de memoria volátil multiplicado por dos. En éste caso sería 8 GB de espacio.
- Tal y como he comentado antes me gusta tener el directorio /boot por separado en una partición. No ocupa mucho espacio, realmente con 1 GB tendremos de sobra.
- Para que el usuario tenga espacio de sobra para sus películas, fotos, vídeos y otras cosas, le daremos a carpeta /home, 518 GB de espacio.
- A la raíz del sistema, donde irá todo lo demás, asignaremos el resto, esto es, unos 23 GB, espacio más que de sobra.
Para que se entienda más, voy a utilizar una distribución Debian 8 «Jessie», y aplicando lo comentado antes, quedaría así:
Hay que recalcar que /boot tiene que ser marcado como arrancable o «bootable«.
Una vez instalado el sistema, si utilizamos el comando fdisk, veremos el resultado:
En otros casos, por ejemplo, un servidor web, tendríamos que crear un punto de montaje independiente para /var o /usr, depende donde ubiquemos los proyectos webs.
Espero que os haya parecido interesante. Si tenéis alguna duda dejad un comentario ; )
Buen articulo, aunque hay una cosa que no estoy de acuerdo. Es el tema de la swap, yo por costumbre hasta 1 GB de ram siempre meto el doble en una instalación, Pero cuando tenemos 2 Gb me gusta solo hacerla de 2 Gb y de ahi para arriba nunca hago mas de 4 GB, por lo general de unos 3. Cuando ya tenemos tanta ram en el pc es innecesario tener tanto swap, es improbable que se vaya a usar. y 8GB es una barbaridad, solamente pondría en algún caso excepcional donde haga falta.
Y sobre la partición boot, pasa algo parecido, por lo general entre 300-500 MB sobra. Ademas yo por costumbre nunca la pongo (excepto haga falta UEFI si o si) ya que es mas molestia que bien. Claro eso me pasa por ir tocando a cada poco y rompo las cosas con facilidad. Saludos
Hola sli,
Coincido contigo en que quizás la partición /boot está un poco sobredimensionada., quizás con 512 MB tendía de sobra. No coincido en el tema de la SWAP, en mi caso, y entiendo que en el caso de mucha gente, gracias a STEAM, mi laptop tiene que soportar juegos que utilizan mucha gráfica, CPU y memoria, y creeme, con 8 GB voy justito. Idem para servidores de BBDD , con varias instancias, que tiene que soportar también mucha carga. En cualquier caso siempre es mucho mejor tener 16 GB de memoria volátil, que mucha SWAP.
Un saludo y gracias por comentar.
Unos de esos artículos propios para imprimir 😉
Gracias Yoyo,
Aunque creo que si nos podemos ahorrar el papel pues mejor! hay que cuidar el planeta ; )
Excelente articulo, siempre me ha dado dudas este tema de particiones en Linux, y cuales son las recomendables , principalmente para el tema de PCs, siempre me ha tocado utilizar la clásica dos particiones para novatos, jajaja.
Como dicen para servidores he leido ciertas particularidades como crear una partición solo para logs , para evitar que los logs ( en caso de errores o ataques ) llenen una partición del sistema por ejemplo.
Muchas gracias, primera vez en la pagina pero ya empezando a seguir en Tw y agregada a favoritos la Web
Gracias por tus comentarios Marlon. Existen diferentes tipos de sistemas de particiones, siempre podemos escoger uno que se adapte a nuestras necesidades 🙂
Saludos!
Excelente artículo!!
Gran blog, me ha servido de mucho.
Feliz 2016!!
Me alegro Alberto : )
Feliz 2016 para ti también!
Buen artículo. Se me presenta una duda respecto a la partición /boot.
Tengo un ordenador con Windows 10 instalado antes, y cuando miro en las particiones hay una que se llama EFI. Según he leido, Ubuntu en las versiones recientes permite utilizar esa partición. ¿Tendría sentido entonces crear una nueva partición /boot?
Gracias
Excelente, desacuerdo en lo del SWAP, pero es normal igual por eso estamos en GNU/Linux.
Gracias amigo.
Hola muy buen post, una duda que siempre he tenido y es el echo de hacer aparte la partición /home, luego cuando vallas a instalar alguna otra distribución como tendrías que hacer para que la instalación te reconociera tu partición ya echa de home y no te cree otra nueva??? La verdad es que yo siempre he formateado todo por el simple echo que no se hacerlo. No se si me he explicado bien. Jejeje.
Gracias de nuevo, muy buen blog y podcast.
Un saludo
Hola!
Cuando instalas una nueva distribución si quieres compartir alguna partición de otra distribución anterior, lo has de indicar, ya que por defecto no las utilizarás. En cualquier caso no te recomiendo compartir /home, ya que en las carpeta de usuario se guardan archivos importantes de configuración. Como por ejemplo las llaves ssh. En cambio si puedes utilizar crear una nueva, por ejemplo /DATOS, que puedes compartir entre todas las distribuciones.
Espero que te haya servidor de ayuda.
Saludos!
Hola, primero que todo quiero agradecer al creador del artículo porque está muy bueno y claro. Segundo a Bestriper me gustaría decirle que para usar la partición /home creada en otra instalación lo que debes hacer es al momento de la instalación poner el mismo nombre usuario y la misma contraseña que usabas para la /home así el sistema te va a dejar ingresa a ella sin problemas. Lo que sí debes tener en cuenta es que al no borrar la /home quedan muchos archivos de configuración de los usuarios que a la larga te pueden traer problemas de funcionamiento en el S.O.
Hermano muy buen articulo – Felicitaciones
Gracias Juan Carlos.
Saludos!
Hola, como comentario, /boot no admite sistemas de archivos BTFRS,XFS, etc… creo que ext2, 3 ó 4
salu2