Siguiendo un poco con la línea de mi artículo anterior, quería hablar sobre la archiconocida Gentoo cuyo nombre ha funcionado muy bien como espantapájaros de usuarios noveles. Por lo menos ésa fue mi sensación al escuchar sobre ella por primera vez; sin embargo, estaba seguro que, en algún momento, sería capaz de instalarla.
Una vez liberado del miedo de probarla, seguía la cuestión de la paciencia: cada paquete se instala compilando el código fuente. De esta manera, podría decirse que Gentoo gana la fama de una distribución netamente para expertos con tiempo libre o muy fanáticos de la informática. Resulta ser que, hoy en día, eso esté algo lejos de la realidad. Por supuesto se necesita tiempo y conocimientos pero tampoco tanto debido a ordenadores más potentes y más información accesible.
Para empezar, cuento mi experiencia y luego os daré una introducción sobre la instalación y uso del sistema. Probé Gentoo como un entretenimiento más que un cambio. Mi primera instalación fue un fracaso, ni siquiera arrancaba. La segunda duró muy poco hasta que empezaron a aparecer dependencias rotas y cosas por el estilo que no sabía solucionar. La siguiente funcionó y la dejé como sistema alternativo, pues no me animaba a tener que recompilar todo para actualizar el sistema. Finalmente, un problema que venía arrastrando hacía tiempo, hizo que migrara completamente de mi bastante duradero Archlinux: la impresora USB no funcionaba de ninguna manera y, por otro lado, en Gentoo iba de maravilla. Sin pensarlo dos veces fue mi excusa perfecta y preparé una nueva instalación, la que estoy usando ahora desde hace un año aproximadamente.
Sin embargo, con fallar, no me refería a resultados catastróficos que dañaran fuertemente al ego. Fácilmente se puede lograr armar el sistema pues no es más que una serie de comandos. Lo importante y, quizás difícil, es comprender su mantenimiento y saber accionar frente a problemas (o saber buscar la solución).
El primer obstáculo notable está en configurar correctamente Linux o usar, aunque no me parece igual de emocionante, genkernel. Luego es cuestión de saber elegir las etiquetas USE que van conforme al sistema que uno pretende armar. Personalmente, considero que esos dos pasos son los que más fallos pueden traer y los que demandan más dedicación pues no se configura a partir de un patrón encontrado en internet, sino que es algo bastante más personal y particular de cada usuario.
Para comenzar, en el proceso de instalación, no existe una imagen de CD/DVD de instalación tal como las distribuciones populares. Tampoco tendría sentido que lo haya, ya que la instalación consiste en obtener un comprimido con el sistema base (podríamos compararlo con lo que se obtiene al terminar el libro de Linux From Scratch) y el gestor de paquetes, Portage. Los CDs y DVDs disponibles sólo facilitan un sistema huésped para copiar el sistema y el gestor de paquetes y, posteriormente, compilar lo que sea necesario. Viendo que el proceso, en su esencia, no es más que copiar, pegar y compilar, podríamos sospechar que es posible lograrlo desde cualquier otro sistema que tengamos instalado. Y la respuesta es sí. De hecho, es bastante sencillo hacerlo.
Ahora sí, la instalación propiamente dicha consta seguir los pasos sugeridos por el manual (hay que destacar la variedad de plataformas que soporta, por lo tanto en los enlaces me referiré a amd64): preparar particiones, descomprimir el sistema base y el gestor de paquetes, configurar la conexión de red, modificar los archivos que sean necesarios de /etc y, lo más importante, preparar el gestor de paquetes y compilar todos los programas necesarios. Dicho así parece muy sencillo, pues en realidad, como dije previamente, no es muy complicado.
Supongamos haber seguido los pasos básicos de instalación y haber llegado al primer punto crítico: la instalación del núcleo. En su manual dan buenos detalles para su configuración sobre lo que debe ir marcado y sobre algunas cosas opcionales. La ventaja de compilar nosotros mismos el núcleo es que podemos seleccionar lo mínimo e indispensable para el arranque de nuestro ordenador y seleccionar como módulos todo aquello que pueda ser cargado dentro del sistema para, de esta manera, disminuir el tiempo de carga reduciendo el volumen del núcleo. Mi manera de configurar el núcleo de cero es partir por las secciones más básicas (General Setup, Processor type and features, Power management, Networking support, Device drivers y File Systems) y tildar todo lo que estoy seguro de tener o necesitar y, en lo que tengo dudas, consultar en la ayuda para saber de qué se trata. Luego es cuestión de probar si funciona todo como corresponde. Por ejemplo, si no arranca el sistema, será cuestión de ver qué problema indica; en el caso que mencione algún problema con la partición, podría estar mal configurada la parte correspondiente a los dispositivos SATA.
Una vez completada la configuración e instalación del núcleo ya podría decirse que estamos a un paso de completar la instalación (de hecho, luego de instalar o configurar el gestor de arranque, ya podríamos iniciar el sistema). Quedaría preparar nuestro /etc/make.conf e instalar las aplicaciones que queramos. En ese archivo encontraremos las condiciones en la que trabajará Portage en la instalación y descarga de paquetes. Algunas variables son:
- CFLAGS, CXXFLAGS y CHOST: son valores que requiere GCC a la hora de compilar. Se puede encontrar una lista que se adecúa para cada procesador aquí.
- USE: particulariza nuestras instalaciones de paquetes compilando programas para cierto propósito o con cierta característica. En make.conf se definen globalmente mientras que se pueden definir para algún paquete en particular dentro de /etc/portage/package.use. Supongamos querer instalar algún programa de manipulación de imágenes y queremos usar archivos JPG, entonces tendremos que agregar una etiqueta USE que corresponda a este tipo de archivos. También es posible evitar que se instalen características especiales restringiendo etiquetas. Por ejemplo, no queremos instalar un entorno de KDE en el sistema ni sus librerías podríamos agregar a USE -kde. Una lista de parámetros USE se encuentra en /usr/portage/profiles/use.desc.
- LINGUAS: establece los idiomas preferidos a la hora de instalar programas. En nuestro caso debería ser es en donde obligatoriamente iría enpara los casos donde no haya otro idioma disponible.
A partir de ahora resta instalar las aplicaciones con Emerge como con cualquier otro gestor de paquetes y esperar. Sin embargo, hay que tener en cuenta la importancia del mantenimiento de este gestor de paquetes. Existe un paquete llamado gentoolkit que se encarga de ello. Podríamos mencionar eix, buscador de paquetes; dispatch-conf, para actualizar archivos de configuración; revdep-rebuild, para solucionar problemas con dependencias rotas; entre otros. En la wiki de Gentoo incluyen un artículo muy completo relacionado al mantenimiento.
Finalmente, no olvidemos mencionar la actualización. Se puede llevar a cabo fácilmente con el siguiente comando:
emerge -uaDNv world
Donde: u es actualizar, a pregunta antes de instalar, D revisa los paquetes en su completitud incluyendo sus dependencias, N vuelve a instalar paquetes que se vean afectados por cambios de la variable USE y v brinda más información sobre cada paquete.
En fin, por más que quisiera agregar, una parte se puede llevar a cabo gracias a la información pero, la parte restante, se hace con la experiencia. Hacía tiempo sentía dar unas palabras sobre Gentoo y creo haber dicho lo que quería decir. Como venía diciendo, se puede decir que Gentoo no es extremadamente difícil ni complicado de mantener aunque tampoco es tan simple. Eso sí, tiene un tanto más de complicación que el resto de las distribuciones pero nada para temerle demasiado. Para cerrar lo único que me queda por decir es: si hacía tiempo teníais ganas de instalarla y disponéis tiempo, no tenéis excusa.
Simplemente hacedlo.