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,

10 comentarios en “Particiones en Linux

  1. Buen artículo Lorenzo, aclara algunos puntos interesantes. Tengo una pregunta, para el caso de alguien que quiera desarrollar por ejemplo sitios web con la instalación necesaria de LAMP y demás programas los 30GB serán suficientes para no tener complicaciones a futuro?

    1. Hola Sergio,
      Depende de lo que quieras hacer. Si solo es desarrollar sitios Web seguro que te sobra. Sin embargo, si lo quieres utilizar como servidor web en producción, dependerá el uso que le des, cuantas páginas soporte, el tráfico, etc. Las imágenes, y todo esto. Pero desde luego, si vas a utilizarlo solo para desarrollar, te sobra seguro.
      Un saludol.

  2. Hola Lorenzo, tengo una duda sobre la partición «/boot/efi», es la 1º vez que oído hablar de ella y menos que tuviera que ser en FAT32…, supongo que sera para instalar los sistemas Linux en Placas base con el «uefi» activado.
    Mi placa lo tiene pero como desconocía su funcionamiento en la 1º instalación que hice particioné el disco principal con tabla de particiones «msdos» en lugar de «gpt».
    Mi pregunta es ¿Si quisiera instalar con uefi y particiones gpt? ¿tendría que borrar todo el disco? salvando datos claro.
    y ¿todas las distribuciones Linux soportan ya uefi?

    Gracias

    1. Hola Lorenzo, yo también tengo una duda similar. Mi placa actual es UEFI pero la anterior no. Estoy usando las particiones en modo heredado. Estoy pensando en reinstalar mis distribuciones Linux y Windows con UEFI pero sin cambiar el disco a GPT y no he encontrado la manera sin borrar las particiones. Si no voy a crear un RAID de discos ¿hay que crear una partición /boot/efi para cada disco? Si comparto el disco con Windows ¿habrá en total 3 partíciones UEFI? ¿la partición /boot/efi debe de ir después de las 2 de Windows (efi y msr)?

  3. Gracias Lorenzo

    Yo hago otro tipo de configuraciones.

    / en ext4 100 Gb incluyendo /home menos /home/usuario/Documentos que va en otra partición

    /videoXX xfs en particiones de/video 250 Gb para multimedia (250 Gbs se reparan en un tiempo «humano» cuando es el caso) y XFS me aguanta mas el calor valenciano en verano.

    /home recoge las configuraciones, así que yo prefiero cifrar solo /home/usuario/Documentos, y ponerlo en otra partición. Además si tienes varias distribuciones instaladas, se comparte sin problemas, no como home.

    Swap lo que tengas de memoria mas un poquito (16 Gb para mis 12 Gb de RAM) porque no la uso en vivo, y así hay espacio suficiente para suspender.

    Y huyo de EFI, resulta que GRUB clásico detecta MS WOS, y va mejor que el GRUB – EFI en mis sistemas.

    Me falta probar rEFind sustituyendo a GRUB, pero no le veo la ventaja, por lo que leo, de momento

    Pero eso sería para otro artículo sobre métodos de arranque.

    Y ya que estamos un artículo sobre LXC Containers, plantillas, de VPN, LAMP, Correo etc e incluso como instalar en ellos otros SOs como Freedos, ReactOS o Android-x86 o incluso usando qemu+LXC Android-ARM o raspbian, y como gestionarlo desde virt-manager como GUI, de momento no existe, o no lo encuentro en la web, ni en inglés ni en castellano, por si te apetece el tema.

    1. Convergencia evolutiva será, yo he llegado prácticamente a las mismas conclusiones que tu Miquel. Salvo en la RAM, para el uso que le doy y eso que veo video4K, nomalmente le dejo un generoso 1’5Gb de Swap por sistema, del que no suele usar ni al 3%. De hecho, rara vez he llegado a usar 5Gb de RAM, de los 6 con que cuenta la máquina. Ahora mismo te escribo desde un sistema sin Swap, aunque tampoco recomiendo esta práctica. Saludos

  4. Hola, Lorenzo. Felicidades por tus actividades de difusión en Gijón. Ojalá algún día recorra toda España (la que huele a caña, tabaco y brea, jajajaja).

    Excelente artículo. Ojalá hubiera llegado hace 15 años, jajaja. No, hombre, es broma. Qué padre por fin tener claro el tema de las particiones, que yo lo tuve que aprender a base de prueba y error y más errores, jajajaja. Pero así terminé amando Linux, claro.

    Solo te hago un chiquicomentario: Yo empecé haciendo mis particiones en máquinas que ya cuentan con Windows reinstalado; no lo borraba porque para los impuestos en México, el odioso S.O, de Microsfoft es imprescindible. Sin embargo, el dejar en dos particiones este S.O. me obligaba a usar solo una partición primaria para Linux y otra para hacer particiones extendidas. Entonces tuve que elegir poner /boot en la partición primaria y el resto de las particiones en la extendida… ¿qué opinas o qué recomiendas?

    Un saludo y un abrazo, y ¡mucho éxito en todo lo que hagas!

  5. Quiero instalar Ubuntu 18.04 y me escuchado que ahora el swap pasa a ser una particion a un archivo swapfile. En este caso ya no seria necesario crear una particion para swap ??? por que no se como seria hacerlo en distribuciones que usan swapfile…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *