5 lecciones aprendidas instalando Gentoo

gentoo-user
si no eres más o menos así, no sabrás usar Gentoo ;oP

Desde hace más de un año que instalé Gentoo por primera vez, he instalado esta distro alguna vez más. En el transcurso de las instalaciones, se aprende. Desde mi primer intento de instalación (fracasado), hasta hoy, que instalo Gentoo casi de manera rutinaria, ha supuesto para mí un recorrido apasionante por GNU/Linux en general y por Gentoo en particular. Hice este mismo recorrido de profundidad en Debian hace muchos años, y en Arch hace 5 años, ahora lo estoy haciendo en Gentoo. No soy programador (de hecho no conozco ningún lenguaje de programación, tan sólo un poco de HTML), ni hacker, lo que demuestra que Gentoo no es una distro linux para piratas zumbados. Empecé con Ubuntu en 2005, como tanta gente.

Hace ya unos meses publiqué una guía de instalación de Gentoo, que he mantenido, corregido, depurado y probado hasta hoy y que sigue siendo mí método básico de instalación.

https://rootsudo.wordpress.com/2014/09/14/manual-casi-facil-para-instalar-gentoo-paso-a-paso/

Hace unas semanas, volví a instalar Gentoo en un nuevo equipo y deseo compartir aquí algunas lecciones aprendidas.

***********************************************************

Hice una instalación en la que por error elegí un perfil inadecuado:

eselect profile list

[3] default/linux/amd64/13.0/desktop

este es un perfil básico para desktop genérico, pero el problema es que yo, aunque no quería instalar Gnome, tiendo a instalar muchas aplicaciones de Gnome, simplemente porque me gustan o estoy acostumbrado a ellas, y tuve problemas de bloqueo de paquetes al haber incoherencias entre las etiquetas USE de paquetes que necesitaban udev, otros que necesitaban systemd (pues necesitaban Gnome) etc. Fui capaz de resolver los bloqueos, pero como estaba en el inicio de una instalación decidí hacer las cosas bien desde el principio y reinstalar desde cero con un perfil adecuado a mis necesidades.

Lección 1:

Antes de instalar Gentoo, es importante saber qué tipo de sistema operativo quieres tener. Una de las grandes potencias de Gentoo es su versatilidad y capacidad de personalización, pero precisamente esa potencia supone complejidad, pues hay que tener claro qué se va a instalar para evitar entrar en el «apasionante» mundo de los bloqueos generados casi siempre por incoherencias entre perfiles, USE’s del make.conf, y USE’s de dependencias.

Así por ejemplo, en mi caso que soy básicamente un usuario Gnome, incluso aunque no lo instalé, como es el caso en este momento que tecleo desde un Gentoo con el perfil:

[5] default/linux/amd64/13.0/desktop/gnome/systemd
con systemd habilitado
con i3
y con XFCE4
(elijo desde el xinit con cual arrancar desde consola)

no he instalado Gnome como entorno de escritorio, pero tengo instalados muchos programas de Gnonme que me gustan (Monitor del sistema, Gnome Terminal, gThumb, Totem, etc) por lo que mi perfil adecuado es ese, o sea con Gnome+systemd, con lo que todo va como la seda, y las USE son coherentes con Gnome y con Systemd.
Además de que XFCE4 va perfecto, sin problemas de permisos para accesos, políticas del sistema, etc.

***********************************************************

Al instalar añadí a las USE que trae por defecto el make.conf las siguientes «alsa X y systemd» con lo que me quedó así:

USE=»bindist mmx sse sse2 alsa X systemd»

Lección 2:

recomiendo añadir siempre «alsa» y «X» a las USE del make.conf, para que todos los paquetes se compilen para tener sonido ALSA y para que funcionen bajo el servidor gráfico. Salvo en el caso, lógicamente, que se desee un sistema de servidor, sin audio y que no se vaya a utilizar el entorno gráfico. Creo que esto también es útil para evitar problemas como que VLC se instale sin GUI, dado que todo paquete «sabrá» que va a residir en un entorno X.

Y reflexionar si se quiere instalar Systemd. Si se llega a esa conclusión, o se va a instalar Gnome o paquetes Gnome (GTK) yo recomiendo añadir la USE «systemd» al make.conf

***********************************************************

Siempre que se hagan modificaciones en las USE de make.conf, y lógicamente si se hace un cambio de perfil, es ESENCIAL hacer una actualización completa del sistema, para que se integren las modificaciones USE en la compilación de todos los paquetes. Sí, ya sé que es un coñazo y que tardará mucho en recompilar todo lo que haya que recompilar, pero Gentoo no es una distro Linux para cagaprisas ;o)

Lección 3:

Por lo tanto, hágase:

sudo emerge -avDN @world

sudo emerge --depclean

y a esperar.

***********************************************************

Como yo he instalado Systemd pues:

no hay que olvidarse de habilitar systemd en la compilación del Kernel:

Gentoo Linux --->
Support for init systems, system and service managers --->
[*] systemd

sin decirle al kernel que soporte systemd no funcionará, lógicamente.

Si no se ha instalado ya systemd se instala:

sudo emerge -a systemd

Lección 4:

para evitar problemas de bloqueos entre systemd y udev, sacamos a este último de «world», así:

sudo emerge --deselect sys-fs/udev

de manera que no se instale y no se pegue con systemd.

y por si a alguno se le olvida, recordad que hay que agregar systemd en el arranque añadiéndolo a /etc/default/grub

# Append parameters to the linux kernel command line
GRUB_CMDLINE_LINUX=»init=/usr/lib/systemd/systemd»

ya sólo hay que regenerar el grub.cfg para que integre los cambios y en el siguiente arranque se inicie systemd en vez de OpenRC.

sudo grub2-mkconfig -o /boot/grub/grub.cfg

***********************************************************

Al instalar systemd hay algunos cambios que hacer, pues los servicios (no esenciales) que estuviesen habilitados para el arranque en OpenRC no tienen porqué estar habilitados en systemd, por lo que hay que activarlos.

Lección 5:

En mi caso yo uso DHCPCD, por lo que lo habilito para el arranque son systemd:

sudo sytemctl enable dhcpcd

(es muy cómodo pues automáticamente sin tener que instalar gestores de redes me asigna una IP al ethernet así como a mi tarjeta wifi a través de wpa_supplicant).

Véase: conectar a internet por wifi desde consola (wpa supplicant + DHCPCD)

Configuro el idioma, juego de caracteres y el teclado para systemd:

localectl set-keymap es

localectl set-locale LANG="es_ES.UTF-8"

localectl set-x11-keymap es

(esto es para español de España, tú, lógicamente, pones el tuyo)

***********************************************************

Eso es todo por hoy. Espero que os sirvan estas 5 pequeñas lecciones que he aprendido instalando y configurando Gentoo.

Besos piratas de hacker zumbao.

gentoo10-15

Anuncio publicitario

19 opiniones en “5 lecciones aprendidas instalando Gentoo”

  1. Muy interesante para quienes gustamos de Linux y estamos en Gentoo ahora, hombre, Gentoo es apta tanto para hackers como para usuarios como nosotros, digo, la distro no distingue el uso que uno le dara, no lo tomes a mal es una critica constructiva. Y si quieres corregir para que quede bien chulo, donde dice «casi de marera» deberia decir «casi de manera».

    Ahora va mi preguntonta: porque te has inclinado a Systemd en vez de OpenRC ?

    Saludos.

    1. gracias por la corrección de la errata, ya está 🙂
      en cuanto a Systemd no lo he instalado porque tenga quedas de OpenRC, que es excelente, pero Systemd es el futuro, y ya el presente, y hay que adaptarse a los tiempos.
      Un saludo.

  2. Hola:
    Una curiosidad ¿Qué ventaja ves a gentoo respecto a archlinux o derivadas? lo digo porque arch y derivadas también son rolling releease, tienen muchos paquetes si incluimos AUR son bastante personalizables y las instalaciones de paquetes son más rápidas, desde mi desconocimiento parece que gentoo es dificilísimo para el uso diario, si por ejemplo un día cambia la versión de gnome supongo que compilar la actualización del escritorio costará muchas horas, mientras que en manjaro una actualización grande puede ser solo una hora, no es ninguna crítica repito es desde mi desconocimiento ya que parece que gentoo ería mas para investigación y superordenadores.
    ¿Es bastante menos dificil funtoo por ejemplo?
    Saludos.

    1. Hola Ferman,
      Arch es mi distro principal desde hace 5 años, o sea que podrás suponer que de Arch sólo puedo decir una cosa: «es la mejor distro que existe». La peculiaridad de Gentoo es que es una distro no precompilada, y permite «customizar» el sistema operativo al hardware como ninguna. Pero no es mejor ni peor que Arch. Yo con Arch he aprendido casi todo lo que sé de Linux, y Gentoo supone para mí un paso más de aprendizaje, pues te adentras en el mundo de las distro que hay que compilar.
      Funtoo no es más fácil que Gentoo, es una variante también no precompilada.
      Gentoo es genial si quieres aprender más de Linux, pero no te supondrá ninguna ventaja significativa sobre Arch.
      Un saludo.

    2. Personalización, diría yo.
      Yo tambén usé Arch, me pasé a ella desde Debian porque quería quitarme de enmedio toda la «morralla» que instalan las distros más generalistas pero que nunca uso, y eso que Debian no instala demasiada si empiezas a instalar los paquetes básicos y vas añadiendo sólo lo que necesitas, pero por ejemplo Arch, pese a ser más personalizable que Debian, me instalaba sí o sí, CUPS, y yo no tengo impresora; o dependencias de Gnome antes de que hubiese empezado a instalar ni un solo programa GTK. Con Gentoo sólo tuve que deshabilitar la etiqueta de compilación «gtk», «cups» y todas las que no me interesban, y al instalar los paquetes me los compilaba sin todo ese código añadido. El resultado es que mi Gentoo es la distro más rápida que he tenido nunca.
      Es verdad que la compilación de paquetes gordos como GCC, o las bibliotecas QT pueden llevar más de una hora, también es cierto que mi ordenador es ya un poco viejo, un i3 de los primeros, por lo que supongo que en un i5 o un i7 de los últimos 2 o 3 años el proceso debe de ser el doble o el triple, si no más, de rápido.
      Mir, yo más molesto que lo de las compilaciones (que si ajustas la variable «niceness» para evita que se te «coma» el procesador, puedes actualizar o instalar desde una consola mientras sigues usando tu equipo y apenas lo vas a notar) encuentro el tener que leerse las «noticias» que te da Portage, el gestor de paquetes de Gentoo, para enterarte de si tal versión nueva requiere editar cual fichero de configuración, porque a veces, si no está pendiente de eso, puedes encontrarte con algún problema, como que una actualización no se deje compilar o algo así. Al final siempre encuentras la solución si te pasa eso, ya que la documentación de Gentoo, es, yo diría que junto con la de Arch, de lo mejor que hay, aunque en inglés, que siempre es un poco molesto porque en español tardaríamos la mitad, pero bueno; también los foros de Gentoo, tanto el hispano como el americano la gente es bastante enrollada y suelen ayudar bastante, a diferencia de ciertos foros un pelín bordes de otras distros, como Debian… (y mira que sigo considerando a Debian una de las mejores distros, pero sus foros, por lo menos los hispanos, podrían ser más comprensivos con los que no somos informáticos).

      1. Recuerdo que lo poco que interactué en los foros de Debian hace años, encontré más gente borde por metro cúbico de foro que en cualquier otra comunidad Linux. Es curioso esto.

  3. Hola:
    El tema de las uses debe ser complicadísimo porque una use, por ejemplo kde puedes en el make.conf tenerla, tenerla con -kde o no tenerla, dado que hay muchísimas uses ¿Qué diferencia hay entre tenerla en el make.conf no tenerla o tenerla con -? supongo que cada paquete tendrá unas use obligatorias en tal caso si las tienes en el make.conf con signo menos te exigirá agregarlas al menos al package.use o no te dejará instalar el paquete, podría ser que esa use obligatoria del paquete no la tengas en ningún sitio entonces ¿te obligará portage a ponerla o la usará por la fuerza? luego el paquete tendrá uses voluntarias y supongo que si las tienes con signo – no se aplicarán, pero igual si son voluntarias y no las tienes puestas explícitamente en el perfil, make.conf o package.use no las aplica.
    En resumen que debe ser muy complejo el tema de las uses.
    Saludos.

    1. Hola,
      es cierto que es complejo todo el sistema USE. En principio es importante el perfil adecuado, pues eso te determina la «política USE» general del sistema. Luego puedes hacer matizaciones en el make.conf, donde no es lo mismo poner una USE positiva, que no ponerla, que ponerle el negativo delante. Positivo es forzar esa active en los paquetes que puedan llevarla, negativo es no usarla en los que puedan llevarla, y si no pones nada, prevalece el perfil o lo que le digas a Portage en un emerge concreto.
      En fin, sí, es complejo, pero es de las potencias de Gentoo y forma parte de la inigualable capacidad de personalización a nivel de compilación de Gentoo. Ninguna otra distro llega a eso.
      Un saludo.

  4. Hola:
    Con tantas uses que hay pasará también que un paquete tiene alguna use opcional y en tu sistema no la has puesto ni positiva ni negativa ¿qué hace entonces portage la aplica o no la aplica?
    Entiendo que cada paquete tiene unas uses obligatorias y si no las encuentra portage te exige modificar el package.use, el otro día estuve jugando con funtoo en una carpeta y al probar emerge -pv xorg-server salió el cartel de que era necesario cambiar las use en cuatro paquetes. copiando lo que decía al /etc/portage/package.use luego ya desapareció el cartel, estas uses entiendo que eran obligatorias pero las que sean voluntarias con tantas que seguro que entre el perfil, el make.conf y el package.use alguna no la tienes por lo que o te preguntará portage que hacer con ella o hará algo por defecto.
    Desde luego me parece increíble que portage se aclare con tantas variables y sea capaz de descargar las fuentes, compilarlas con un montón de variables diferentes, calcular dependencias e instalar los paquetes. También tiene que ser muy complejo la actualización de gentoo ¿lo actualizáis todos los días?
    Saludos.

    1. La potencia esencial de Gentoo reside en Portage. Es verdad que es complejo el sistema USE, pero Portage lo maneja muy eficazmente.
      Yo actualizo Gentoo cada lunes, y nunca tengo problema alguno. Como tú mismo dices, si Portage detecta que se necesita alguna modificación en package.use, en package.accept_keywords, package.unmask, etc, te lo dice y ya está.
      Los problemas en Gentoo suelen venir si se dan dos condiciones, que mezcles muchos paquetes de la rama estable con la testing (autorizandolos en package.accept_keywords) y que no actualices con frecuencia. Esto puede llegar a generar bloqueos y conflictos de dependencias cruzadas que pueden ser un infierno de resolver.
      Manteniéndose en estable, y autorizando con cabeza paquetes testing, por ejemplo las gentoo-sources, no tiene porqué haber ningún problema.
      Un saludo.

  5. Hola:
    Por curiosidad ¿cuanto tiempo te cuesta actualizar el sistema? supongo que cuando llega una versión nueva del escritorio estará horas actualizando al tener que volver a compilar por ejemplo gnome o kde o el que uses.
    Saludos.

    1. La actualización normal del sistema, que yo hago cada lunes, lleva algunos minutos, no hay problema. Y la actualización de entornos de escritorio pequeños como i3 o xfce (que apenas se actualiza) no suele ser pesada.
      Pero eso sí, si tienes un entorno como Gnome, que pasa de Testing a Estable cada seis meses, a ese sí que le costará varias horas de compilación, dependiendo del microprocesador que tengas. Yo, la última vez que actualicé un Gnome, lo dejé compilando toda la noche, y por la mañana ya estaba 😉
      En Gentoo no hay que tenerle miedo a compilar, forma parte de su esencia. Y como las máquinas son estúpidas, si de vez en cuando tienes que dejarlas trabajando una noche, no hay problema.
      Un saludo.

  6. Buenas, yo aquí si ando sufriendo instalando Gentoo ya llevo 1 día y medio

    Estuve siguiendo tanto la wiki como esta otra guía —>

    https://rootsudo.wordpress.com/2014/09/14/manual-casi-facil-para-instalar-gentoo-paso-a-paso/

    Con la cual tuve uno que otro inconveniente

    1 – Yo solo uso OpenRC porque systemd en mi pc. Es volver una distro una Pentium pro con la inseguridad de Windows me, con el alto consumo y lentitud de Windows Vista.

    2 — Yo uso btrfs para mi partición raíz y en la wiki tampoco dicen que primero se debe instalar btrfs-progs antes de usar genkernel

    Yo tuve que descargar un archivo de configuración del núcleo genérico para la arquitectura que instale, desde

    https://gitweb.gentoo.org/proj/genkernel.git/tree/arch/

    Debido a que por más que configurada con el Make menuconfig jamás me acepto las configuraciones y siempre me decía que el procesador seleccionado no existía. Tampoco es que con /proc/cpu info. Solo dice que mi cpu es amd Athlon, de la familia 15, modelo 67

    Y con esa información no aparece en el. Make menú config y no sirve ni selección amdk7 ni amdk8, así que use el archivo de configuración genérico después de haber estado como 6 horas seleccionando las cosas del núcleo

    Después que logre hacer que el genkernel me funcionara con el siguiente comando

    genkernel – -kernel-config=/usr/src/linux/kernel-config – – splash – – all-ramdisk-module all

    Así si Compilo ahora indica que quizás deba pasar ciertos argumentos para poder initialization correctamente :

    vga=791 splash=silent,theme: console=tty1 quiet

    dobtrfs

    rootfstype=ext4

    Deberían ser agregados a la lista de parámetros de inicio

    Parámetro requerido:
    root=/dev/$ROOT

    debe ser especificado en /etc/fstab

    Pero en fin luego configure el /etc/fstab para que montará poder uuid y luego instalale GRUB2 y genere su configuración después de haber editado el /etc/default/grub

    Y bueno a la final
    Grub cae en en grub rescue porque intenta meterse en una partición que no existe y que además no está especificada en ninguna parte

    Y cuando logre usar grub desde el grub rescue con los siguiente comandos

    ls
    ls (hd1,msdos1)/
    set prefix=(hd1,msdos1)/grub
    set root=(hd1,msdos1)
    insmod normal
    normal

    Luego quedé en
    >> Determining root device…
    >> Mounting /dev/sda3 as root
    >> Using mount -t btrfs -o ro
    mount: mounting /dev/sda3 on /new boot failed: No such device

    ¡¡ Could not mount specified ROOT, try again

    ¡¡ Could not find the root block device in.
    ¡¡ Please specify another value or:
    ¡¡ — press enter for the same
    ¡¡ — type «shell» for a shell
    ¡¡ — type «q» to skip…
    root block device() ::

    Y bueno no se que se supone que se debe hacer para poder usar la distro. Es decir que inicie correctamente desde GRUB2

    1. Hola,
      instalar Gentoo de por sí ya tiene cierta complejidad. Yo por eso recomiendo hacer siemopre para empezar una instalación lo más standar posible, o sea, particiones ext4, instalación bios (no uefi), usar genkernel, y openrc.
      Si así consigues una instalación correcta, ya podrás después entrar en casos particulares. En Gentoo, conviene ir pasito a pasito, y no intentar a la primera otros sistemas de archivos, o encriptación de disco, etc, etc.
      Un saludo.

      1. Buenas ya solucione varios puntos.

        Principalmente el de btrfs era que no los había marcado con asteriscos excepto el que decía dangerous fue el único que no active

        Luego procedí con las opciones para el controlador Privativo de nvidia y finalmente genere el núcleo

        Lo extraño fueron 2 cosas, la primera no se porque pero mi Bios se reinicio así que el GRUB al que entraba era de otro disco duro. No del que había configurado en la instalación ya eso lo solucione.

        Lo otro fue que la partición raíz durante la instalación me dio un UUID y luego de que logre iniciar mi Gentoo. El UUID era distinto así que tuve que cambiarlo nuevamente o si no me montaba la partición raíz en modo de solo lectura

        De resto actualmente ando buscando como hacer o instalar manualmente desde el «.run» de nvidia de la versión de los controladores 304.134 ya que esta es la última versión donde está soportada mi GPU «Nvidia GeForce 6200 TurboCache»

        Pero emerge solo quiere instalar la versión 375.26 de dichos controladores

      2. Hola muy buenas despues de 7 dias, habia logrado todo lo que queria
        1 – Instalar Gentoo

        2 – Descargar compilar e instalar :
        Sistema Base +
        Sistema Grafico Xorg (X11) +
        Controladores parcheados sin mtrr para mi legada gpu 304.134
        Lxdm (Gestor de Sesion) +
        Wine + PlayOnLinux + Steam para Windows
        Steam para Linux

        3 – Despues de eso, me di cuenta que varios de los juegos que tengo en mi Steam, solo funcionan en distribuciones de 64 Bits.

        Pero como me dio pereza volver a hacer todo, migre a Slackware64 14.2

        De todos modos en el foro de Gentoo deje como resolvi lo de la GPU

  7. Hola. Antes que nada compartir mi experiencia de aprendizaje en instalacion y configuracion de Gentoo.

    Honestamente cuando comence instalaciones por medio de entornos de comandos (Arch, Debian, etc) me costo mucho trabajo, hasta el grado en el que cuando instalaba Arch en cada equipo que pasaba para mi uso personal, se me hacia muy rutinario por la configuracion que me habia aprendido a rutina y tenia que agregar en cada configuracion Manual para tener un sistema operativo mas «Personalizado» a comparacion de distros como Ubuntu, Bunsen, Fedora, etc… Sin embargo todo cambio cuando me orille a Gentoo.

    Hoy puedo decir a una semana de haberlo «toreado» en entorno de instalacion, que es lo mas cabreado en cuestion de seleccion de caracteristicas para tu equipo… Tengo que decir que con Debian se me complico, y obvio aprendi, pero con Gentoo tuve que aprender de cada version de instalacion del Handbook, aprendi como el triple comparado con Debian y con Arch.

    Satisfactoriamente, en este preciso instante, instale gentoo de manera completa y exitosa, y puedo decir que me siento orgulloso en haber optado por una distro como esta; tan preciosa, tan escalable y minuciosamente personalizable hasta el mas diminuto grano que conforma su sistema (Kernel, entorno de actualizacion, flags, y todo!)

    Se que a muchos no les importara esto que escribo, pero quiero compartirlo porque me siento tan feliz de haber aprendido mucho en el proceso de instalacion, y eso que ADMITO que llevo atrasado varios pendientes escolares y laborales que requieren de mi equipo de computo, y lo anterior por no rendirme a dejar mi equipo personalizado a mi preciso gusto.

    Quiero resumirles a los que se quieren dedicar a probar Gentoo:
    *Podras instalar Gentoo si solo lo haces con sed de conocimiento y con un extra de paciencia (bueno es mi caso, padezco de poca tolerancia a ser paciente)
    *Fracasar en mas de un proceso de instalacion (Me llevo doce intentos de instalacion)
    *LEER HASTA LO MAS MINIMO QUE PUEDAS!

    Todo vale la pena, y lo vale lo que mas te cuesta.
    Gracias por leer!
    P.D. disculpen faltas de acentuacion y puntuacion, pero tengo teclado ingles en este equipo que por cierto no es mio!

    Y como siempre digo: Fracasar no significa un jamas

    Animense colegas a probar esta bella Distro.

  8. Por experiencia, los perfiles systemd daran bloqueos circulares (openssl y algun otro si no recuerdo mal) de paquetes si bindist o -bindist esta en global flags. La use flag bindist, lo unico que hace es intentar encontrar un paquete ya compilado (binario) de lo que sea que estes intentando instalar.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: