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
¿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 comotmpreaper
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 ocuparGB
. 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,
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?
https://atareao.es/tutorial/raspberry-pi-primeros-pasos/lamp-raspberry-pi/
Mucho menos, una rasberry pi hace un excelente servidor LAMP, incluso en un container LXC, y bajo una VPN si quieres mas seguridad.
https://stackoverflow.com/questions/23427129/how-do-i-backup-move-lxc-containers/34194341#34194341
https://serverfault.com/questions/349544/how-much-memory-is-required-for-base-lamp-setup?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
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.
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
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)?
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.
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
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!
Hola,
Toda la documentación que he revisado al respecto, habla de poner el /boot en la primaria, y el resto en la extendida, tal y como tu comentas.
un saludo.
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…
Saludos, por favor, estoy buscando los pasos para particionar, hay un artÃculo que menciona eso, pero no me dice el formato en el cual deben estar las particiones básicas, solo dice que ———»»»> la primera va en FAT32, pero las otras no sé sin son EXT u otros formatos….me podéis aclarar…..————-»»»»»»»Si el disco está vacÃo, hacemos clic en el sÃmbolo de suma que hay abajo a la izquierda y creamos las particiones. Según lo explicado aquÃ, lo tendrÃamos que dejar asÃ:
• /boot/efi: tamaño de 300mb y formateada en FAT32. Con el clic derecho tenemos que marcarla como partición de arranque. En el punto de montaje veremos justamente /boot/efi, o algo parecido, ya que puede variar de un instalador a otro.