Páginas

lunes, 26 de noviembre de 2012

Gentoo Intro



//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/gentoo­release 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.

 27­2­06 gentoo­es “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.




{EMERGE}







  



   














/* GRP */



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).






#     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://gentoo­wiki.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