¿Que es Gentoo?Gentoo es una metadistribución basada tanto en GNU/Linux como FreeBSD, la cual puede ser optimizada y personalizada automáticamente para cualquier aplicación o necesidad. Al contrario de las distribuciones binarias convencionales, el usuario compila el código fuente del programa localmente de acuerdo a una configuración establecida, todo ello de una manera automatizada. Gentoo (al igual que Arch Linux) se basa en el sistema de
rolling release (sin versión de distro), y ofrece soporte para 10 arquitecturas: x86, amd64, alpha, arm, hppa, ia64, ppc, s390, sh y sparc.
La primera versión fue creada por Daniel Robbins bajo el nombre de Enoch Linux en diciembre del año 1999 para luego cambiar su nombre a Gentoo Linux y lanzar la versión 1.0 en marzo de 2002. El nombre Gentoo proviene del nombre en inglés del pingûino papúa el cual se le conoce como el nadador más veloz de toda la especie de pingûinos.
CaracterísticasPortage: es el corazón de Gentoo y desempeña las funciones del manejador de paquetes. Está escrito en python/bash y fue inspirado en el sistema de ports de FreeBSD, aunque cuenta con caracteristicas más avanzadas como lo son la gestión de dependencias, afinamiento preciso de los paquetes a gusto del administrador, instalaciones falsas al estilo OpenBSD, cajas de arena durante la compilación, desinstalación segura, perfiles de sistema, paquetes virtuales, gestión de los ficheros de configuración y múltiples ranuras para distintas versiones de un mismo paquete.
Con solamente hacer un
emerge paquete, portage descargará las fuentes, contruirá e instalará el paquete adaptado sus especificaciones, optimizado para su hardware y con las funciones adicionales que desee estén activadas, y las que no, desactivadas. Si desea actualizar todo el sistema solo bastará con hacer
emerge -uD world para que portage resuelva las dependencias y actualice el software que así lo requiera. Al hacer
emerge –sync, portage se conectará a Internet para sincronizar el “
árbol portage” el cual es una colección completa de scripts llamados de ahora en adelante
ebuilds, utilizados para crear e instalar los paquetes. Actualmente existen más de 14.000 ebuilds disponibles y se agregan/actualizan más ebuilds de manera constante.
Adicionalmente a Portage existen otros manejadores de paquetes no oficiales los cuales pueden suplir a portage si no se está a gusto con el, ellos son
paludis y
pkgcore.
Parámetros USE: en Gentoo un parámetro
USE es una representación de una opción para el sistema. Las USE afectan la manera en que los paquetes son construidos e instalados, y de igual manera afecta la cantidad de dependencias necesarias para que este funcione. Por ejemplo
net-im/pidgin cuenta con 26 USE y algunas de ellas habilitan/desabilitan opciones en tiempo de compilación: por ejemplo desabilitando
gstreamer probablemente pidgin no sea capaz de reproducir sonidos pero tambien se evita la dependencia de gstreamer y todas las dependencias asociadas a ese programa.
Escoger las USE es muy importante pero también es bastante sencillo. Se pueden declarar tanto de manera global para que todos los paquetes sean afectados o de manera individual para tener un mayor control sobre las opciones de cada paquete.
Overlays: así como en muchas distros es común el uso de repositorios de terceros, esto también es posible en gentoo gracias a los overlays. Un overlay no es más que una representación a menor escala del árbol de portage, pudiendo contener ebuilds para nuevos paquetes u actualizaciones del los ebuilds existentes que aún no han sido puestos en el árbol principal. Su uso es tan sencillo como ver los overlays existentes con
layman -L (previa instalación del paquete layman) y agregarlo con
layman -a <overlay> para ser usado desde portage de manera transparente. Cabe destacar que también es posible crear un overlay local con ebuilds mantenidos por uno mismo y ser utilizado por portage de la misma forma.
InstalaciónGentoo es una de las pocas distribuciones que no posee un instalador (GUI o CLI) para realizar la instalación del sistema base (llegó a tener uno pero fue abandonado al poco tiempo) por lo tanto se tiene que realizar totalmente a mano.
Medio de instalación: En Gentoo a diferencia de la mayoría de las distros, no necesitas tener el medio oficial para realizar la instalación. De hecho la mayoria de los live-cd se pueden utilizar para este proposito, lo unico a tener en cuenta es que este provea el kernel de la misma arquitectura que se piensa instalar (x86, amd64, etc), algunos ejemplos pueden ser:
Particionamiento y montaje: Una vez que se haya arrancado del livecd lo siguiente es particionar el/los discos. Dependiendo del livecd escogido se pueden tener varias herramientas para este proposito:
gparted: disponible en SystemRescueCd, Knoppix y en la mayoria de los livecd con entorno gráfico. Es muy sencillo de usar y permite particionar y dar formato al mismo tiempo.
fdisk/cfdisk + mkfs.*:nota: antes de continuar, si su livecd no ha ajustado la fecha/hora del sistema correctamente, este es el mejor momento para hacerlo y así evitar posibles problemas en el futuro. # ver la fecha
date
# poner la fecha del sistema, por ejemplo para poner "23:30 del 21 de febrero del 2010"
date 022123302010
Preparación del sistema base: Luego de terminar el particionado se crea un punto de montaje y se monta la partición para comenzar la "instalación", por ejemplo vamos a crear el punto en /mnt/gentoo, montar la partición definida por nosotros como "/" y movernos a ella.
mkdir /mnt/gentoo
mount /dev/sda2 /mnt/gentoo
cd /mnt/gentoo
Ya que ninguno de los livecd contiene las herramientas para continuar la instalación deberemos descargar un stage3 de internet. El stage3 por decirlo de alguna manera es un tarball que contiene el sistema base ya preparado poder utilizar gentoo. Estos se actualizan constantemente cada pocos dias, es por ello que no es incluido en el livecd minimal de gentoo.
nota: historicamente tambien han existido los stages 1 y 2 con los cuales se podia partir de allí para crear un stage3, a dia de hoy este tipo de instalación ya no está soportada y se recomienda usar un stage3.Para descargar un stage3, pueden hacerlo desde un navegador web desde la pagina de
mirrors, links2 y wget son buenas opciones (tambien se puede hacer desde un navegador grafico pero deben asegurarse de guardar el tarball en /mnt/gentoo).
La ruta donde se encuentrán los stage3 en el mirror es
"/releases/<arquitectura>/current-stage3/stage3-<arquitectura>-<fecha>.tar.bz2", por ejemplo:
Descargando un stage3 desde el listado de mirrors con links
# asegurarse de que el directorio actual sea /mnt/gentoo (o el nombre que hayan escogido)
links http://www.gentoo.org/main/en/mirrors2.xml # usando links
Descargando un stage3 para amd64 de fecha 20100121 desde el mirror gentoo.arcticnetwork.ca
# asegurarse de que el directorio actual sea /mnt/gentoo (o el nombre que hayan escogido)
wget http://gentoo.arcticnetwork.ca/releases/amd64/current-stage3/stage3-amd64-20100121.tar.bz2 #usando wget
Luego de esto solo queda descomprimir el tarball:
# x=extraer, v=más info, j=descomprimir bzi2, p=conservar permisos (importante), f=archivo a extraer
tar xvjpf stage3-*.tar.bz2
Preparación del arbol portage: para obtener el tarball del arbol portage usaremos las mismas instrucciones del stage3 para descargarlo, solo que en este caso la ruta en el mirror seria "/snapshots/portage-latest.tar.bz2", por ejemplo:
Descargando el snapshot más reciente del arbol de portage desde el mirror gentoo.osuosl.net
wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2
Luego se procede a descomprimir el tarball:
#C = indica la ruta a la cual extraer el contenido del tarball
tar xjvf portage-latest.tar.bz2 -C /mnt/gentoo/usr
Entrando en Gentoo via chroot:: Antes de entrar a Gentoo debemos preparar el entorno para que nuestro chroot funcione correctamente, por ejemplo que funcione la red, tener acceso a los discos y al kernel, para ello necesitaremos copiar el fichero resolv.conf del livecd a nuestra partición además de montar /proc y /dev a nuestra partición:
# L = para asegurarse de que no copie un enlace simbolico sino el fichero en si
cp -L /etc/resolv.conf /mnt/gentoo/etc/
# Aqui se está montando un nuevo /proc para el chroot
mount -t proc none /mnt/gentoo/proc
# En este caso bind hace que el contenido de dev esté
# disponible tanto fuera como dentro del chroot
mount -o bind /dev /mnt/gentoo/dev
Una vez que los preparativos esten listos, para entrar en el chroot solo bastan 3 comandos:
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
El primer comando nos permite entrar en el chroot, mientras que los otros dos crean las variables del entorno y la cargan en memoria respectivamente.
nota: siempre que se ingrese a un sistema gentoo via chroot es importante ejecutar env-update y source /etc/profile para que se usen las variables del entorno del sistema interno y no del livecd/sistema externo.nota: si estas instalando desde SystemRescueCD, existe un problema actualmente en el que algunas variables del entorno del livecd son pasadas al chroot resultando en compilaciones fallidas. Si este es el caso ejecute "unset path" luego de entrar al chroot y/o "SHELL=/bin/bash chroot /mnt/gentoo /bin/bash" como comando para entrar al chroot para así evitar futuros problemas durante la instalación. http://bugs.gentoo.org/show_bug.cgi?id=271942Proximamente en
[Hilo Oficial] Gentoo linux, episodio 4:
Configuración de portage: つづく
TODO: recomendaciones a la hora de la instalación (in progress).TODO: explicación de los ficheros de configuración.Mantenimiento y usoComo en todas las distribuciones, Gentoo trae por defecto un conjunto de herramientas y ficheros de configuración pensados para automatizar la configuración de portage así como de componentes clave del sistema. El fichero más importante de una instalación Gentoo vendría a ser el
make.conf, en la cual esta definida toda la configuración de portage así como las diversas opciones de compilación para nuestros paquetes. En cuanto a las herramientas,
emerge es el encargado de instalar y desinstalar paquetes, mientras que
eselect es una herramienta de administración modular que se encarga de los daemons, variables de entorno y selección de aplicaciones por defecto.
TODO: configuraciónes recomendadas antes/despues del primer arranque (baselayout, openrc)TODO: explicación de como usar portage correctamente (make.conf, /etc/portage/*, y demás)TODO: explicación del uso de eselectTODO: herramientas recomendadas y otras utilidades de gentoo (euse, qlop, revdep-rebuild, etc-update, dispatch-conf, eix, equery, eclean, etc)Enlaces de interes:
Sitio web oficial:
http://www.gentoo.org/Planet Gentoo:
http://planet.gentoo.org/Foro oficial:
http://forums.gentoo.org/Gentoo Wiki (no oficial):
http://en.gentoo-wiki.com/Vista web de Portage(no oficial)
http://gentoo-portage.com/Gentoo Handbook
http://www.gentoo.org/doc/en/handbook/Manual del desarrollador
http://devmanual.gentoo.org/Kernel-seeds: explica de forma detallada como configurar un kernel, además de proveer archivos de configuración actualizados y preseleccionados para compilar un kernel x86/x86_64 para Gentoo
http://kernel-seeds.org/