PDF de programación - Introducción a la metadistribución Gentoo Linux

Imágen de pdf Introducción a la metadistribución Gentoo Linux

Introducción a la metadistribución Gentoo Linuxgráfica de visualizaciones

Publicado el 25 de Febrero del 2020
50 visualizaciones desde el 25 de Febrero del 2020
664,4 KB
24 paginas
Creado hace 12a (24/04/2007)
Introducción a la metadistribución Gentoo Linux
Héctor Fernández    trorrr@gpul.org

 

 

Bienvenid@s

 

 

¿Qué es gentoo?

• Es una “distribución” Linux/BSD...

...sin un sistema real de paquetes

• Se basa en un sistema de ports tipo *BSD

• El código fuente se compila según:

• arquitectura de la máquina

(11, las soportadas por gcc)
Posible en otras distribuciones

• necesidades del usuario

No posible en otras distribuciones

 

 

El sentido de gentoo

• ¿Qué sentido tiene si se podría compilar 
normal y pasarle las opciones al configure?

• “algo” tiene que mantener las 
dependencias
• palabras clave unificadas para las flags

 

 

Un poco de historia

• Ligada a los avances de su fundador, 
Daniel Robbins (Nuevo México)

• su primera Linux es una debian en un 
pentium 166
• comienza a usar Stampede Linux
• toma conciencia de que Linux no es 
simplemente código, sino una comunidad 
de gente

 

 

Un poco de historia

• se convierte en desarrollador de Stampede 
creando un formato de paquetes
• voces discordantes
• deja Stampede
• ...y comienza su propia distribución Linux:

• control
• rendimiento (CPU)
• “demonios” (RAM)

 

 

Un poco de historia

• PROBLEMA

1 persona => tiempo limitado => scripts

• sistema de ebuilds

(scripts en bash para automatizar la creación e 
instalación de binarios a partir de código fuente y 
parches)
Los primeros fueron gcc, glibc, binutils...
• unos meses más tarde alcanza la decena 
de desarrolladores y se bautiza como Enoch

 

 

Un poco de historia

• Colabora en la solución de un bug en glibc 
ya solucionado internamente por RedHat
• Enoch se mejora, se interesan más 
desarolladores, y el proyecto se renombra a 
Gentoo Linux
• Daniel compra un Dual Celeron 366, que 
provoca un fallo sin solución en el núcleo, 
haciendo que la máquina se cuelgue.  Esto le 
impide seguir con el desarrollo durante un 
tiempo

 

 

Un poco de historia

• Se pasa a FreeBSD y se da cuenta de que 
se ajusta bastante a la idea que tiene para 
“su distribución”

• Unos meses más tarde retoma el proyecto 
con una máquina nueva aplicando lo 
aprendido de FreeBSD, principalmente el 
sistema de Ports, al que llamará Portage y 
estará escrito en Python

• Gentoo Linux 1.0 liberada en Marzo de 2002

 

 

¿Distribución?

Scripts      +      código fuente      +      parches

Gentoo no es una distribución: es “algo” que sirve 
para que cada usuario se cree su propia distribución

Gentoo Linux es una metadistribución

 

 

¿Por qué “gentoo”

Gentoo (Pygoscelis papua) es el 
pingüino más rápido bajo el 
agua, alcanzando velocidades 
de 36 km/h

 

 

algo más de historia

• Respaldo legal:  Gentoo Foundation

• temas financieros (sponsors, 
donaciones...)
• protección jurídica (protección de las 
licencias sobre el código fuente, marcas 
registradas, artwork...)
• votaciones
• mantenimiento del Contrato Social

 

 

El Contrato Social

• Gentoo deja elegir entre varias opciones

• Gentoo libera todo lo desarrollado

• Gentoo sirve a la comunidad y está hecho 
por la comunidad
• Gentoo es independiente de organizaciones 
y empresas

 

 

Actualmente

• Daniel Robbins fue contratado en Abril 
de 2004 por Microsoft para “ayudar a 
comprender los proyectos de código 
abierto y colectivos (community)”

• en enero de 2006 deja el cargo

• trabaja como CTO en una empresa de 
Nuevo México

 

 

Instalación

• ha cambiado mucho en las últimas versiones

• tradicionalmente no hay instalación, existe 
una livecd con todo lo necesario para 
“instalar manualmente”

• el proceso es muy parecido a crear una 
nueva livecd (salvo que debemos arrancarla 
desde disco duro, no volcarla a un soporte 
extraible)

 

 

Instalación

1. Particionado
2. Copiar o compilar el sistema base (sin núcleo)
3. Generar una copia de Portage
4. Entrar en el nuevo sistema con chroot
5. Compilar el núcleo a medida
    (forma rápida con genkernel)
6. Configuración general del sistema
    (red, contraseña, syslogger, idioma...)
7. Configuración del cargador de arranque

 

 

Instalación

• seguidamente instalaríamos los servicios y 
aplicaciones a través de Portage
• desde la versión 2006.0 existe un instalador 
gráfico (versión GTK o versión Dialog) que 
genera un script que más tarde realizará de 
forma desatendida el proceso de instalación
• (Opinión personal) ¡Así no se aprende!
• Si actualizamos a través de Internet siempre 
estaremos a la última, sin importar la versión 
del CD de instalación

 

 

Contras

• complicado y lento de instalar
• tiempo de instalación de ebuilds
• consumo de CPU al instalar ebuilds
• aplicaciones “desfasadas” rápidamente
• configuraciones manuales
• cuidado al cambiar de versión de gcc
• demasiados ebuilds y cada uno con varias 
versiones
• por lo anterior y porque Portage está hecho 
en Python (lenguaje interpretado), cada vez 
es más lento

 

 

Pros

• control absoluto del sistema
(“si algo está ahí es porque lo has puesto tu”)
• gran posibilidad de aprendizaje
• posibilidad de reparar el sistema en base a 
los conocimientos adquiridos en la instalación
• siempre actualizado
• bajo consumo de CPU y demás recursos
• aumento del 10% en rendimiento (o más...)

 

 

Pros

• uso del juego de instrucciones propio del 
procesador en el que se instale
• existen paquetes ya compilados para 
máquinas poco potentes o para ahorro de 
tiempo (OpenOffice, KDE, Mozilla, MPlayer...)
• elección entre diferentes versiones de un 
mismo “paquete” a instalar
• permisividad configurable individualmenet 
de “paquetes” en pruebas (masked) o 
inestables (hard masked)

 

 

Portage

• es nuestro sistema de paquetes
• escrito en Python
• más de 20000 ebuilds en bash
(y subiendo)
• versiones para MacOS, Solaris y FreeBSD
• se utiliza a través de la herramienta emerge
• existen otras herramientas auxiliares:   
           esearch         eix         kuroo

 

 

Portage

• emerge ­­help
• emerge ­­sync
• emerge ­­search audacity
• emerge ­­searchdesc audio\ editor
• emerge ­­fetchonly audacity
• emerge ­­ask ­­verbose ­­tree audacity
• emerge ­­unmerge audacity
• emerge ­­update ­­ask world 
• emerge ­­update ­­deep ­­newuse world 
• emerge ­­getbinpkg audacity 

 

 

Portage

• fichero /etc/make.conf
• eix

• eix ­I audacity

• etc­update
• kuroo
• genkernel

• genkernel ­­no­mrproper ­­color ­­
menuconfig ­­save­config ­­gensplash all

 

 

Ruegos y preguntas

Gracias por venir

 

Héctor Fernández    trorrr@gpul.org
  • Links de descarga
http://lwp-l.com/pdf17322

Comentarios de: Introducción a la metadistribución Gentoo Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad