Gentoo comentado por un debianista

Este es un articulo que como se van a dar cuenta es esscrito por un fiel seguidor de debian, aunque para la instalación uso el instalador grafico que a los verdaderos gentooistas no nos gusta, nos presenta una verdad grande con gentoo se
necesitan conocimientos de Linux, lo que el no toma en cuenta es que si realmente quieres aprender a fondo Linux debes instalar Gentoo apesar de que necesitas grandes conocimientos de Linux hay mucha información disponible para poder trabajar con Gentoo así que yo si recomiendo gentoo si lo que quieres es salir completamente del área de que todo lo hacen por ti y que debes aprender a hacerlo, si no quieres aprender te recomiendo Ubuntu, Suse, Mandriva, etc.

Bueno aqui les dejo el post de la experiencia de un debianita sobre gentoo.


» Hace unos meses, me instalé una gentoo en mi sistema. Pensando en ello, escribí un texto pensado para ser publicado en libertonia. Este texto hay que verlo con la «inocencia» de pocas semanas de uso y mi opinión ha variado algo desde entonces (pero eso sería tema para una nueva entrada).

Hace años que me declaro debianita. Conforme los años pasan, mi punto de vista a porqué uso debian ha variado. En la actualidad, uso debian porque es lo que conozco. Tengo un sistema instalado y funcionando en debian y no tengo ni mucho espacio en el PC, ni tiempo para pelearme con una nueva instalación (y sobre todo con un nuevo sistema de instalación/configuración, del sistema operativo y de las aplicaciones de uso habitual). Es decir estoy con Debian pero no me siento atado a ella, simplemente lo uso (en el trabajo tengo Suse, y a mi padre le instalé una Mandrake primero y ahora una Ubuntu.

Ahora solo me pongo la túnica naranja en los ceremoniales.

¿qué tiene debian de malo? Nada. Cada vez estoy más convencido de la frase «linux es linux es linux es linux»(tm) Pero hay cosas que no me terminan de ajustar:

* En el camino que recorre un programa desde el desarrollador original hasta el usuario, introduce a un desarrollador debian. Eso es bueno, porque impone un control de calidad estricto al paquete que llega pero todos sabemos que la velocidad de una cadena de montaje es la del elemento más lento. En muchas ocasiones, pueden existir retrasos de meses hasta que llegue al repositorio de debian (Cosas como monodevelop, y mono en general, de muy alta velocidad de desarrollo es una tortura usarlos en debian con los repositorios oficiales). Se podrían usar fuentes extraoficiales, pero dependiendo del paquete puede aumentar la inestabilidad del sistema.
* Perl en paralelo. Los paquetes con módulo de perl hay que adaptarlos a mano de los disponibles en CPAN. Por lo que solo hay una pequeña muestra de los mismos disponibles en debian. Si empleamos la utilidad «cpan» para bajar directamente el paquete que necesitamos, no es capaz de interactuar con el sistema de debian y terminaremos teniendo instalado el mismo paquete dos veces (uno por debian y otro por cpan).
* Control de versiones de paquetes. Puede resultar más o menos dificil instalar un paquete con una vesión no estándar. Normalmente es de locos querer tener un programa con dos versiones distintas simultáneas pero no es tan raro en las librerías. Donde un programa (mal diseñado por otra parte) exija emplear la libreria v2.3.1.4.2 ni una más ni una menos. (Constantemente está aptitude luchando al actualizar con programas que exigen la librería versión 1 que tienen un conflicto con programas que requieren la misma libreria versión1.1).

(reconozco que la programación es importante para mi)

Circustancias de la vida, un disco duro nuevo y un periodo un par de semanas disponible me ha hecho considerar el probar otras distribuciones.

Recientemente he estado en Barcelona y asistí a una charla sobre Gentoo. La verdad es que el charlista tenía buena labia y me convenció a probar de nuevo gentoo. (ya hubo un desastroso intento, narrado en otra ocasión). Y siguiendo sus consejos emprendí la tarea de pelearme con «la bestia» de nuevo. A partir de ahora, mis impresiones sobre la misma. (tras un par de meses de uso).

Gentoo es una distribución que requiere conocimientos elevados en administración de linux y configuración. Empecemos por el principio. La instalación se efectúa ejecutando un LiveCD que contiene un par de instaladores y programas precompilados. El instalador es malo y peligroso. En mi caso, no comprobó la integridad de los datos de particionamiento de los discos duros (yo le dije que empleara el espacio sobrante) y directamente me fusiló una partición con windows y cuando vio que la cosa no encajaba me dió un error (lo lógico hubiera sido hacerlo al reves, comprobar si la información es correcta y actuar si no hay errores en los datos). Al final me instalé gparted en debian y hice la nueva partición previa la instalación. Juré en arameo. La configuración del teclado, idioma y los datos de red (que en mi equipo están asignadas manualmente) me fueron preguntados durante el proceso de instalación, pero finalmente no llegaron a copiarse en los ficheros de configuración del nuevo sistema instalado. Así que me encontré sin eñes y sin red. Y tras jurar en griego esta vez, tuve que recordar cómo se configuraban estas cosas (tras darme cuenta que algunos ficheros en /etc están cambiados de sitio, respecto debian).

emerge es la utilidad equivalente apt-get y aunque hecho de menos mi aptitude. No es dificil de manejar en los casos habituales. Y aqui llegamos al topicazo de gentoo: con gentoo te pasas todo el día compilando, el micro está recalentado por tanto esfuerzo, los discos duros se gastan antes por esfuerzos de compilación constante, etc. Antes de continuar explicaré un poco de que va esto del portage y a que viene estas historietas de terror. Creo que la idea fundamental de gentoo (digan lo que digan ciertos gentoozas) es eliminar intermediarios entre el desarrollador del programa que sea y el usuario (este era justamente uno de los problemas que citaba en debian). Según gentoo, es el desarrollador original del programa el que debe corregir los fallos de seguridad del mismo y dar nuevas funcionalidades. La calidad final del programa es la que le de este desarrollador original y gentoo tiene como en Star Trek obligación de no intervención en el código. Aunque los programas pueden distribuirse por el programador como ejecutables directo es práctica común y más en programas de cierta entidad tener disponibles el código fuente. Los desarrolladores de Gentoo lo que hacen es elaborar un fichero llamado ebuild con instrucciones para bajarse y compilar el programa que deseamos de forma automática. emerge que es inteligente toma dicho fichero y lo hace por nosotros. Normalmente cuando ocurre un cambio menor de versión, las instrucciones contenidas en el ebuild se pueden reciclar fácilmente. Con lo cual se pueden mantener al día fácilmente todo el conjunto de ebuilds que contiene gentoo. Hay un mecanismo de seguridad y es que los nuevos ebuilds permanecen 30 dias en cuarentena en un repositorio inestable (en nomenclatura gentoo: enmascarado). Pasado ese tiempo, si no hay problemas salta a la versión estable (ummmm, copiado de debian 😉 Hasta ahora, parece que le he dado la razón a las habladurías de las «semper compilacionis». Aunque potencialmente podría darse el caso de tener versiones nuevas de los programas instalados muy frecuentemente y tener que compilar mucho, la realidad experimentada por mi es que rara vez he tenido que instalar más de 2 programas cada vez que actualizo el sistema (osea unos 5 minutos por cada 3 días). Paquetes como el open office, pueden tardar en un equipo moderno una noche, pero afortunadamente OO no hay que actualizarlo semanalmente, ni mensualmente. Un administrador avezado empleará profusamente instrucciones como nice para que no aparezca un impacto en la carga del micro.

Hay una segunda información que mencionar sobre la compilación. Esta se puede personalizar: por un lado podemos aportar opciones al compilador para que el código generado se ajuste a ciertas optimizaciones (yo soy bastante escéptico sobre mejoras apreciables en equipos de sobremesa, ya que los micros modernos contienen optimizaciones hardware a la hora de ejecutar código diseñado para micros más antiguos) y por otro lado podemos indicar que opciones queremos que se empleen en la instalación/bajada/compilación de los programas. Por ejemplo, si un ebuild diera la opción de lenguaje español, podríamos compilar exclusivamente para este lenguaje sacando del ejecutable los demás. Es indudable que bajar/compilar/instalar es más lento que bajar e instalar, pero en un sistema moderno los tiempos de compilación son asumibles siempre y cuando no se instalen, prueben y borren los programas compulsivamente. En equipos estables es poco frecuente la instalacion de software nuevo. Por cierto, todo el sistema de ebuilds y utilidades se denomina Portage.

Hecho de menos debconf. Para el que no sepa de que va es el mecanismo de debian para gestionar configuraciones. Primero aportan una configuración general para un usuario medio (decidido por el desarrollador del paquete), segundo te hace preguntas según el «nivel de dificultad» que tengas seleccionado tomando las demás con su valor por defecto y en caso de actualización del paquete recuerda las opciones dadas anteriormente. Gentoo tiene un mecanismo de control de conflictos en la configuración (etc-update) bastante espartana pero muy potente y en los casos que he visto las configuraciones tiene que hacerselas uno mismo. (esto me ha hecho sufrir un poco con las X window).

El sistema de gestión de dependencias de ebuilds es para mi gusto espartana. Los paquetes tienen listas de sus dependencias directas (los paquetes que necesitan para que el mismo funcione) pero no presenta las dependencias inversas (los paquetes que dependen de uno). Además no hay una lista de dichas dependencias precalculadas, así que en todo proceso relacionado con el portage, la primera operación es construir el arbol de dependencias. A la hora de desinstalar un paquete no borra aquellas dependencias que fueron instalados exclusivamente para satisfacer el paquete y es necesario posteriormente correr una utilidad que busque paquetes sueltos para borrarlos. (En debian apt-get no se encarga tampoco de borrar las dependencias automáticas, aunque aptitude si lo hace ya. Para borrar paquetes sin hijos en debian está deborphan y orphaner). Por otra parte, como el nombre y números de paquetes en un fichero depende de las opciones de compilación de cada usuario, no existe un buscador de ficheros en internet que dandole el nombre de un fichero te diga que paquete lo instala (si existe un buscador local que te dice los ficheros instalados en tu máquina donde están y que paquete lo ha instalado, pero si necesitas un fichero y está en un paquete que no has instalado no tienes esa ayuda).

Quedan muchas cosas por comentar pero pocas ganas para continuar, así que voy a indicar que aunque en principio no es necesario compilar un kernel a la medida, al final me he encontrado con ebuilds que quería instalar que buscaba información en /usr/src/linux así que me he compilado uno y solucionado (tienen una utilidad de construcción de kernels «genkernel» que en su opción para tontos genera un kernel similar al de los LiveCDs con cientos de módulos que tarda una eternidad en compilarse y otra en arrancar; tras una prueba terminé personalizandolo a mi equipo).

Otro aspecto, y que prometo que será de verdad el último, es que aunque abogan por el software libre y tienen un manifiesto similar al de debian, incorporan dentro de portage cosas como flash, los drivers de nvidia o java (ops, este párrafo lo escribí antes de que liberasen java ;-). De forma que no es necesario efectuar virguerías para instalar dicho software.

Un amigo correligionario de debian me preguntó ¿entonces me recomiendas gentoo? Mi respuesta fue «de ninguna manera». Gentoo es una distribución de un perfil elevado donde mucho se configura a mano y me parece pensado por y para programadores. Las ventajas de velocidad, desde mi punto de vista no justifican los conocimientos necesarios en administración. ¿para quién es gentoo entonces? Gentoo es una distro muy joven frente a las clásicas (Debian 1993, Mandriva 1998, Suse 1994 y Gentoo 2002) por lo que tiene experiencia respecto a las decisiones y fallos de diseño que las otras tienen. Es lógico pensar que fueron tenidas en cuenta para idear gentoo. Yo recomendaría gentoo exclusivamente a aquellos que las distribuciones actuales les presentan limitaciones por motivos de diseño (y por supuesto, si pueden comprobar de antemano que dicha limitación no aparece en gentoo 🙂

Por ahora seguiré jugando con mi gentoo. 😉

4 thoughts on “Gentoo comentado por un debianista

  • el 2007/04/09 a las 7:05 am
    Permalink

    gentoo es para masoquistas…. nadie lo duda… ni vos creo jejeje PERO como siempre PERO aprendes lo que no aprendes en otras distros… si tu onda es SABER pero enserio SABER de linux Gentoo es la onda… si lo queres como usuario final ahi esta ubuntu 😀

    Respuesta
  • el 2007/04/09 a las 8:13 am
    Permalink

    La verdad estoy de acuerdo con vos, en un inicio gentoo es para masoquistas pero a medida que te familiarisas con la distro ya no tenes tanto clavo.

    Respuesta
  • el 2009/02/28 a las 6:33 pm
    Permalink

    Gentoo es un sabor mas de GNU/Linux, con el aprenderas mas cosas que con otras distros, en un principio te parecera un poco complicado, pero despues no la vas a querer dejar, su mayor fuerte es su manual, el handbook y su comunidad

    «gentoo es para masoquistas», no es asi, si uno tiene las ganas y el tiempo para instalarla y dejarla funcional, no deberia ser asi

    Respuesta
  • el 2009/05/08 a las 5:45 pm
    Permalink

    Gentoo Linux es para entusiastas

    Una vez estás en Gentoo, ninguna otra distro tiene un significado especial.

    gentoo-users.org

    SaludOS

    Respuesta

Responder a sirgt Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.