Gentoo: cuando compilar todo es la mejor opción

última modificación:

Gentoo es una distribución de GNU/Linux donde todo el software se compila desde el código fuente en la propia máquina. Nada llega en binario: el kernel, las librerías, el servidor web, el editor de texto. Todo pasa por gcc.

El gestor de paquetes se llama Portage y el comando para usarlo es emerge. Instalar Apache, por ejemplo:

emerge apache

Lo que hace diferente a Gentoo son los USE flags: variables que controlan qué funcionalidades se compilan en cada paquete. Si no necesitas soporte para LDAP en Apache, lo deshabilitas. El binario resultante es más pequeño, tiene menos dependencias y arranca más rápido. Haces lo mismo con cada paquete del sistema y el resultado final es un sistema optimizado exactamente para lo que hace esa máquina (nada más).

En servidores con hardware limitado o en máquinas donde el rendimiento importa, esa diferencia es real y medible.

El extra que te da Gentoo es que el proceso de optimizar y el proceso de aprender son el mismo. Para configurar correctamente los USE flags tienes que entender qué hace cada paquete y qué dependencias necesita. Para compilar el kernel con make menuconfig tienes que saber qué drivers necesitas y cuáles puedes eliminar. Para llegar a un sistema funcional siguiendo el Handbook de Gentoo tienes que entender la creación de particiones, el sistema de archivos, el bootloader y cómo encajan.

Quien instala Gentoo entiende cosas que en Ubuntu simplemente ocurren sin que el usuario las vea. Y de paso tiene el sistema más eficiente posible para su hardware. Para quien quiere control sin el coste de compilar, Arch Linux es la alternativa más cercana.

La primera instalación lleva días. La segunda, horas. El conocimiento, para siempre.