//GENTOO Linux
{INTRO}
➔ Distribución orientada a usuarios con cierta
experiencia en el sistema operativo GNU/Linux.
➔ Diseñada para ser modular, portable, fácil
de mantener, flexible y OPTIMIZADA para la máquina del usuario.
➔ Genera sus aplicaciones y utilidades desde
el código fuente. Pero además, podemos encontrar binarios (GRP) para diversas
arquitecturas de aplicaciones muy pesadas de compilar.
➔ Está siendo desarrollada activamente.
➔ La versión 1.0 de esta distribución se lanzó
el 21 de Marzo del 2002.
➔ A partir de la versión de mantenimiento 1.4
(11 de Septiembre de 2003) cambió la nomenclatura de las versiones. Ahora
tienen el formato del año en que se libera la versión seguido del ordinal de la
release en ese año. La versión más reciente es la 2006.0 (27 de Febrero de
2006).
La numeración de las
versiones se mantiene a pesar de la nueva nomenclatura por años. Podemos
comprobarlo en el archivo /etc/gentoorelease que contiene la siguiente cadena
de caracteres: “Gentoo Base System version 1.6.14”
//GENTOO Linux
{INSTALACIÓN}
La instalación de GENTOO
viene explicada al detalle en un documento llamado HANDBOOK el cual se puede
seguir casi al detalle. Este documento viene adjunto en el LiveCD de
instalación.
Para realizar dicha
instalación podemos utilizar distintos métodos, el más frecuente consiste en
utilizar el LiveCD de Gentoo, pero también se podría realizar desde una
instalación previa de otra distribución de GNU/Linux, un LiveCD como puede ser
Knoppix, etc... Estos métodos alternativos de instalación están comentados en
el siguiente documento:
El LiveCD de Gentoo podemos
obtenerlo aquí
➔ Minimal Install CD: Contiene un kernel con
gran cantidad de módulos que deberemos cargar dependiendo de nuestras
necesidades, también contiene un sistema base. Requiere conexión a Internet
para completar la instalación.
➔ Universal Install CD: Contiene todo lo
necesario para completar la instalación de Gentoo sin necesidad de acceder a
Internet. (No disponible para x86 desde la v2006.0)
➔ Package CD: No es un CD de instalación,
sino que contiene paquetes precompilados (GRP) para facilitarnos la instalación
de algunas aplicaciones como OpenOffice.org, KDE, GNOME...
La instalación de Gentoo
puede ser comenzada desde uno de los 3 Stages base que comentamos a
continuación.
27206 gentooes “También es la primera vez
que se libera el instalador gráfico de Gentoo Linux, el cual debuta en el
LiveCD x86 y que reemplazará por completo a los CDs Universal y de paquetes
precompilados.”
//GENTOO Linux
{STAGES }
Los stages de instalación
son puntos a partir de los cuales se realiza la instalación del sistema.
Son específicos para cada arquitectura.
Podremos descargar los
tarball de Internet o copiarlos del Universal Install CD en el momento de la
instalación.
➔Stage1:Particionamiento/Configuración del
sistema de archivos, Sincronización del árbol de Portage, Bootstrap,
Compilación del sistema, Compilación del kernel y Configuración final.
➔ Stage 2: Stage 1 con
el Bootstraping realizado.
➔ Stage 3: Stage 2 con
la compilación del sistema realizada.
En el handbook de
instalación se explica cómo instalar Gentoo a partir del Stage 3, esto cambió
en Noviembre de 2005 debido a los problemas que ocasionaba a los usuarios
comenzar desde otro stage. Opcionalmente se puede recompilar el sistema con
flags de compilación personalizadas (CFLAGS y USE flags) una vez finalizada la
instalación. Los tarballs de los stages 1 y 2 continuan disponibles.
Es necesario comprender que
podemos comenzar la instalación desde cualquiera de los stages no teniendo que
realizar los anteriores.
GENTOO Linux
{EMERGE}
Es la utilidad principal
para controlar el sistema de paquetes de Gentoo llamado Portage. Se trata de un
comando bastante complejo con gran cantidad de parámetros y modificadores y está
programado en Python.
Funcionamiento básico:
Cuando queremos instalar una aplicación o librería...
➔ emerge descarga el código fuente de dicha
aplicación, así como el de otras aplicaciones o librerías necesarias para
satisfacer dependencias.
➔ Una
vez todo ha sido descargado, se descomprime, se compila y se instala en un
entorno de seguridad llamado sandbox.
➔ Finalmente, una vez la instalación se ha
realizado correctamente en el sandbox, los archivos son instalados en el
sistema.
Parámetros útiles:
-a --ask: Solicita
confirmación antes de emerger.
-v --verbose: Muestra
información de los paquetes que se van a instalar.
-u --update: Actualiza los
paquetes a la versión más actualizada disponible en stable. -p --pretend:
Muestra los paquetes que se van a instalar pero no realiza la instalación.
-D --deep: En conjunción con
--update fuerza a actualizar, si es posible, también el árbol de dependencias
del paquete que se desea actualizar.
-s --search: Busca en
Portage la cadena de caracteres que pasemos como parámetro. -C --unmerge: Borra
el paquete indicado.
Gentoo Reference Platform fue introducido en la v1.4 de Gentoo. Se
trata de precompilados
de paquetes
particularmente grandes y populares (OpenOffice.org, KDE, GNOME, Xorg...) e
incluso de algunas aplicaciones menores y librerías.
Estos paquetes podemos encontrarlos en el
Package CD y en diversos repositorios de Internet.
Para hacer uso de ellos:
➔
Package
CD: Debemos exportar la variable PKGDIR apuntándola
a la ruta donde tengamos montado dicho CD de datos y emerger con el
parámetro -k (--usepkg) o -K (--usepkgonly).
# export
PKGDIR=”/mnt/cdrom”
# emerge k nombre_del_paquete
Con el parámetro -k el paquete se instalará desde el código fuente si la
versión de este es posterior a la del GRP. El parámetro -K fuerza
a instalar desde el GRP haya o no versión posterior en código fuente.
➔ Repositorio de Internet: Exportaremos la variable PORTAGE_BINHOST apuntándola a la
URL del servidor donde estén alojados los binarios y emergeremos con los
parámetros -gk (--getbinpkg --usepkg).
#
export PORTAGE_BINHOST=”ftp://buildhost/gentoo”
# emerge gk nombre_del_paquete
//GENTOO Linux
{+/-}
/* A FAVOR */
➔
Permite una mayor optimización de los
paquetes gracias a los USE Flags y CFLAGS.
➔
Gentoo es
una meta-distribución, lo que significa que tenemos el completo control
sobre qué paquetes son o no instalados y de esta manera podemos instalar el
sistema a nuestro gusto.
➔
Gran cantidad de documentación en Internet:
➔
http://www.gentoo.org/doc/es/list.xml
➔
http://gentoowiki.com
➔
Una vez
instalada, GENTOO es “Versionless”. i.e. Si instalamos desde la
versión 2005.0, se libera la 2005.1 y actualizamos el sistema. Entonces la
versión también se actualiza. La finalidad de las versiones es para mantener
actualizados los paquetes de instalación de GENTOO.
/* EN CONTRA */
➔
La
instalación es muy larga y compleja. Como posible solución podemos instalar una
distribución derivada de Gentoo llamada VidaLinux (VLOS)
que utiliza el instalador Anaconda y dispone de Portage como sistema de
paquetes.
➔ La compilación de algunos paquetes supone una
importante carga para el sistema y una importante espera para el usuario. Como
posible solución, disponemos de paquetes precompilados GRP, un sistema
de caché para la compilación llamado ccache y de un sistema de
compilación distribuida llamado distcc.
//PORTAGE
{INTRO}
/*
PORTAGE */
Es el sistema de administración de paquetes
que utiliza Gentoo. Está basado en el sistema de paquetes de BSD llamado
ports.
Portage está desarrollado en Python y
para acceder a sus prestaciones lo hacemos mediante el comando emerge antes
mencionado.
Posee
una serie de caracteríasticas avanzadas tales como:
➔ Gestión de dependencias.
➔ Falsas instalaciones.
➔ Sandbox durante la compilación.
➔ Desinstalación segura.
➔ Paquetes virtuales (system, world...).
➔ Gestión de ficheros de configuración (etc-update).
➔ Slots para instalar distintas versiones de un mismo
paquete.
➔ “Personalización” de los paquetes (USE Flags y CFLAGS).
La
versión actual de Portage y sobre la que vamos a dar detalles es la 2.0.
//PORTAGE
{CFLAGS}
/* CFLAGS */
Se trata de flags de compilación de C, se asocian normalmente con
opciones de compilación de GCC. Se utilizan para “personalizar” y optimizar
aplicaciones cuando las construimos desde su código fuente (compilación). Este
dato es relevante a la hora de hablar de GENTOO pues la gran mayoría de los
paquetes se construyen así.
En GENTOO se utilizan frecuentemente para especificar la arquitectura de
nuestro computador, esta información es importante para GCC porque le indica
cómo optimizar la compilación.
CFLAGS Frecuentes:
➔
-O : Activa la optimización básica.
➔
-O2 : Activa el siguiente nivel de optimización. Es
tan seguro como -O y mejora algunos aspectos de la compilación.
➔ -O3 : Nivel de optimización superior al -O2. No debe ser activado en sistemas
con poca memoria o escaso espacio en disco. Incrementa el tamaño de los
binarios resultantes por lo que tardan más en ser cargados desde disco aunque
luego en memoria sean más eficaces. Este nivel es conocido por generar errores
en algunos paquetes.
➔
-march
: Aquí se especifica el nombre por el que
conoce GGC la arquitectura de nuestro computador.
➔
-pipe :
Indica al GCC que no debe crear archivos
temporales sino que debe utilizar pipes para pasar datos a las
funciones.
//PORTAGE
{USE Flags}
/* USE */
Portage nos
permite, mediante la variable USE, seleccionar qué características del paquete
queremos incluir en su compilación de tal manera que podremos deshabilitar
aquellas que no nos resulten útiles obteniendo un paquete más ligero.
Para hacer ésto hacemos uso de las USE Flags que podremos activar
y desactivar mediante diversos métodos.
Encontraremos descripciones de cada USE Flag en /usr/portage/profiles/use.desc
o en este enlace: http://www.gentoo.org/dyn/use-index.xml
A la
variable USE podemos acceder a través del archivo /etc/make.conf (donde
introducimos las USE que serán globales a todos los paquetes) o bien a la hora
de hacer un emerge de la siguiente manera:
# USE=”xine
dvd” emerge av
mplayer
Existe
también la posibilidad de crear el archivo /etc/portage/package.use
donde introduciremos una lista de los paquetes y las USE que desearemos
activar/desactivar para cada uno con respecto a las globales de /etc/make.conf
Para activar/desactivar las USE de /etc/make.conf disponemos de
aplicaciones como ufed o euse (perteneciente
al paquete gentoolkit).
//PORTAGE
{USE Flags}
//PORTAGE
{/etc/make.conf}
No hay comentarios:
Publicar un comentario