Particiones en Linux

Cuando te decides a instalar cualquier distribución GNU/Linux por primera vez vas a ciegas. No porque no haya información en internet para saber lo que tienes que hacer, sino precisamente por todo lo contrario. Hay mucha, demasiada información. Y el problema es que GNU/Linux evoluciona, como todo en esta vida, y sin embargo, muchos de los artículos que puedes encontrar en Internet ya no son válidos. Pero, en cualquier caso, no debes tener miedo, si algo sale mal, no te preocupes, puedes empezar de nuevo. Instalar Ubuntu, Linux Mint, o cualquier otra distribución no supone mas de media hora, yo diría que menos. Así que, si te equivocas o el sistema no ha quedado a tu gusto, no tienes mas que volver a poner la memoria USB y empezar de nuevo. Llegados a este punto, el objetivo de este artículo, es indicar las mejores prácticas a la hora de establecer las particiones en Linux y porque deberías hacerlo así.

Y es que como he comentado, en general, la primera vez que te enfrentas a una instalación GNU/Linux, no te planteas la posibilidad de realizar un particionamiento avanzado. Y no porque sea difícil, porque no lo es, sino, simplemente, porque eso de avanzado parece que asusta. Con un poco de criterio, y teniendo las ideas claras, te puede quedar tu sistema perfectamente encajado. Y, esto es así, por que la mayoría de los asistentes que utiliza las distribuciones para hacer el particionamiento, son muy intuitivos.

Particiones en Linux

Particiones en Linux

¿Porque disponer las particiones en Linux utilizando el particionamiento avanzado?

Si estás utilizando una distribución de Linux tipo Standard Release, es decir, que cada cierto tiempo se libera una nueva versión, seguro que vas a querer cambiar de versión.

En ese caso, si no has separado /home del resto del sistema, cuando vayas a instalar una nueva versión, perderás toda esa documentación.

Además, en determinados casos es recomendable, que determinadas particiones tengan diferentes formatos de archivo. E incluso obligatorio. Asi para /boot/efi, es necesario que el sistema de archivos sea fat32. Mientras que para otras particiones como por ejemplo, /boot dependiendo de tu sistema recomienda ext2.

Actualmente, y utilizando Grub2 es indiferente que el sistema de archivos de /boot sea ext2, ext3 o ext4.

En cuanto a la memoria de intercambio, Swap, hasta la fecha, era necesario que fuera en una partición independiente. Actualmente, algunas distribuciones están barajando utilizar un archivo.

Esquema recomendado de particiones en Linux

Una vez ya estás convencido de lo interesante que es tener tus sistema repartido en diferentes particiones, veamos cual es el esquema para establecer las particiones en Linux, y las razones para hacerlo.

El esquema recomendado de particionamiento es el siguiente,

Particion Tamaño
Swap = RAM
/boot 250 MB
/boot/efi 150 MB
/ 30 GB
/home

Swap

La partición swap debe ser de al menos 256 MB. Se utiliza para el caso de no disponer suficiente memoria RAM. En esos casos la información de tu sistema se guarda en la partición swap.

Antes, la cantidad de memoria SWAP estaba directamente relacionada con la cantidad de memoria RAM. Actualmente, la cantidad de memoria RAM se determina en función de la carga del sistema, y no de la memoria RAM del sistema.

En la siguiente tabla se puede encontrar la cantidad de memoria swap recomendada en función de la cantidad de memoria RAM y de si tu vas a querer hibernar el sistema. Esta recomendación, es especialmente importante en equipos con poca memoria RAM, es decir, con 1GB o menos.

RAM SWAP SWAP con hibernación
menos de 2 GB 2xRAM 3xRAM
Entre 2 y 8 GB RAM 2xRAM
Entre 8 y 64 GB 4 GB(*) o mas 1,5xRAM
Mas de 64 GB 4 GB(*) o mas No rec. hiber.

(*) Esta es la recomendación de Red Hat. Sin embargo, a mi me parece incoherente con el rango inmediatamente inferior. Creo que sería mas correcto establecer 8GB de RAM, para el caso de 8 GB hacia arriba.

En el límite entre los rangos definidos anteriormente, hay que ser conservadores. Pero desde luego, si los recursos de tu sistema lo permiten, aumentar el espacio de intercambio puede conducir a un mejor rendimiento del sistema.

/boot

Aquí se encontrará el núcleo de tu sistema operativo, junto con otros archivos que se utilizan durante el proceso de arranque.

Respecto al tamaño, indicar que para la mayoría de los usuarios con 250 MB, es mas que suficiente.

Cada núcleo de Linux ocupa de forma aproximada unos 30 MB en el /boot. Debes tener en cuenta esto a la hora de dimensionar esta partición.

Solo es necesario realizar una partición para /boot en el caso de instalar un sistema RAID.

/

Aquí es donde va todo nuestro sistema operativo.

Respecto al tamaño, esto dependerá de el uso que le vayas a dar a tu equipo. La recomendación de Red HAt es que sea como mínimo de 3.0 GB.

En general, yo siempre le doy un tamaño mínimo de 20 GB, aunque últimamente he incrementado esto a 30 GB. Cada vez las aplicaciones requieren mas espacio.

/home

Aquí es donde se almacena toda la información de los usuarios. Y aquí quiero hacer especial hincapié en que se refiere a toda la que generamos. Y es que, además de los archivos que nosotros ponemos de forma consciente, también aparecen otros, que se generan por nuestra actividad. Me refiero a los archivos de caché, miniaturas (thumbnails), etc, a los que me referiré posteriormente.

En lo que se refiere al tamaño, la recomendación de Red Hat es de 100 GB. Aquí dependerá, evidentemente del uso que le vayas a dar a tu dispositivo.

/boot/efi

Los sistemas con UEFI deben de tener un tamaño de entre 50 y 150 MB. Y deben tener su propia partición, por que, tal y como hemos comentado anteriormente, necesitan un sistema de archivos específico fat32.

Consejos

  • Cifrado. Aquellas particiones que vayan a contener información sensible deben estar cifrados por cuestiones de seguridad. De esta manera, evitaremos que personas ajenas puedan acceder a la información contenida en esas particiones. Por regla general deberías considerar cifrar /home, como mínimo.
  • El directorio /var/ lo utilizan diferentes aplicaciones, entre la que hay que destacar Apache y MariaDB. Hay que tener en cuenta este detalle a la hora de dimensionar el sistema.
  • En el caso de que haya diferentes usuarios es recomedable que /var/ y /tmp se encuentren en su propia partición.
  • En el caso de /tmp, se puede controlar realizando limpiezas programadas para evitar tener problemas con que estos directorios lleguen a ocupar demasiado espacio. Así, se pueden utilizar aplicaciones como tmpreaper que elimina aquellos archivos a los que no se ha tenido acceso durante un determinado periodo de tiempo.
  • Aquí también quiero hacer una especial mención a los directorios ~/.cache/thumbnails, que se puede convertir en un verdadero monstruo llegando a ocupar GB. Y lo mismo se puede decir de ~/.cache/mozilla y ~/.cache/google-chrome. Pero por razones distintas

Conclusiones

Este tema de las particiones en Linux es mas importante de lo que puedas pensar. Es necesario dedicarle un tiempo y tener claro, que particiones realizar y que tamaño darles. De lo contrario, te puedes encontrar con que has llenado una partición y no puedes continuar trabajando. Esto tampoco es mayor problema, porque siempre tienes la posibilidad de redimensionar las particiones con GParted.


Más información,