Control de usuario
Patrocinadores
Estadísticas
Miembros:
325.577
Online:
2.473
Hilos:
1.351.531
Mensajes:
23.924.602
Stats

Índice de foros PC Software libre

[Hilo Oficial] Gentoo Linux

Descubre todo el poder del software libre: Linux, OpenOffice, GNU...

Moderadores: metalgear, coyote

codestation
Avatar de usuario
#include <pspsdk.h>
 
Mensajes: 1480
Registrado: 26 Abr 2008
Ubicación: /dev/negi

[Hilo Oficial] Gentoo Linux

Mensajepor codestation 04 Feb 2010 19:40

Imagen



¿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ísticas

Portage: 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ón

Gentoo 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:

Autobuilds de gentoo (livecd generado semanalmente que provee un entorno minimo con el cual comenzar la instalación)
http://www.gentoo.org/main/en/where.xml

SystemRescueCd (livecd basado en gentoo que contiene variadas herramientas de administración/reparación)
http://www.sysresccd.org/Download

Knoppix (livecd basado en Debian GNU/Linux)
http://www.knoppix.net/get.php

nota: no descargen el live-dvd 10.0 de gentoo pues este no esta pensado para hacer instalaciones.


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.*:
  • fdisk es una herramienta que permite crear/borrar particiones en el disco aunque su uso es algo complicado, aquí se puede ver como es su funcionamiento.
  • cfdisk es otra herramienta parecida a fdisk con la diferencia de que cuenta con una interfaz en ncurses para el particionado lo cual lo hace muy sencillo de utilizar y la recomiendo sobre el uso de fdisk.

    El número y tamaño de las particiones ya queda de parte del usuario pero un punto a tener en cuenta es que tamaño de los temporales al compilar un paquete grande (fuentes + codigo objeto) puede llegar a ocupar 1 GiB o más, es por ello que hay que tenerlo en cuenta al asignarle el espacio a "/" (o a /var/tmp si se decide hacer una partición separada). Como ejemplo coloco un esquema de particionado que he utilizado en otros equipos:

    /dev/sda1 ( /boot ) : 32MiB
    /dev/sda2 ( / ) : 20 GiB
    /dev/sda5 ( /home ) : generalemte uso el resto del espacio disponible para /home
    /dev/sda6 ( swap ) : opcional si no se requiere, la mitad de la RAM o un poco más/menos en caso de contar con poca memoria, o del tamaño de la RAM del equipo en caso de que sea una portatil y se necesite suspender a disco.

    nota: /home está en sda5 en vez de sda3 ya que he creado una partición extendida y sda5/sda6 están definidas como particiones lógicas. Esto es solo una *recomendación personal* ya que en caso de necesitarse más particiones simplemente bastaría con redimensionar /home y crear la partición en el espacio libre. No es necesario seguir este esquema de particionado e incluso se puede utilizar una sola partición "/" que contenga todo.

  • mkfs.*: luego de realizar el particionado hay que darles el formato adecuado, para ello está el mkfs: mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.reiserfs, etc (ya se entendió la idea :p ). Por ejemplo, tomando el esquema de particionamiento que coloqué anteriormente el formato se puede realizar de la siguiente forma:
    Código: Seleccionar todo
    mkfs.ext2 /dev/sda1
    mkfs.ext4 /dev/sda2
    mkfs.reiserfs /dev/sda5
    mkswap /dev/sda6


    nota: igual que en la nota anterior, el usuario es libre de escoger el sistema de archivos que mejor le convenga. La unica restricción es que si se va a utilizar grub-1 la partición que contiene /boot no puede ser ext4, para ello se puede crear una partición aparte para /boot con otro formato como ext2/ext3 o usar grub-2 (actualmente en estado hard-masked en portage)

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.
Código: Seleccionar todo
# 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.

Código: Seleccionar todo
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
Código: Seleccionar todo
# 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
Código: Seleccionar todo
# 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:
Código: Seleccionar todo
# 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
Código: Seleccionar todo
wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2


Luego se procede a descomprimir el tarball:
Código: Seleccionar todo
#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:

Código: Seleccionar todo
# 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:
Código: Seleccionar todo
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=271942

Proximamente 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 uso

Como 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 eselect
TODO: 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/
Ultima edición por codestation el 22 Feb 2010 05:32, editado 5 veces

capitanquartz
Avatar de usuario
>$ sudo rm -rf /
 
Mensajes: 4508
Registrado: 06 Jul 2007
Ubicación: /dev/null

Mensajepor capitanquartz 04 Feb 2010 19:43

Gentoo rulez! :D :D :D

¡¡Muy buena iniciativa!!

coyote
Avatar de usuario
wtf u saying?
 
Staff
Moderador
 
Mensajes: 18847
Registrado: 10 Dic 2000
Ubicación: совиет русиа

Mensajepor coyote 04 Feb 2010 20:09

Por fin!! Gentoo, esa gran desconocida. Al hilo chinchetado va...
archlinux · kde · opera · diaspora · mis pcs · normas · f.a.q · preguntas frecuentes
las peticiones por mp para desarchivar hilos serán ignoradas
canal #elotrolado en freenode (irc)
Imagen Imagen Imagen

Donato
Avatar de usuario
ingeniando
 
Mensajes: 2258
Registrado: 05 Nov 2005
Ubicación: Móstoles

Mensajepor Donato 04 Feb 2010 20:25

Al final lo has hecho!! jeje
Si no te importa, pon tambien a funtoo ya que es basicamente gentoo en casi* todo, lo unico que cambia es que portage esta basado en git y algun detalle mas!

Toni trauma
Adicto
 
Mensajes: 473
Registrado: 13 Nov 2006

Mensajepor Toni trauma 04 Feb 2010 20:31

Ostia, que recuerdos...

elchicosinhada
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 1217
Registrado: 11 Ago 2005

Mensajepor elchicosinhada 04 Feb 2010 22:40

Durante 2 años estuve en gentoo... Que grande es la distro, pero me ponía nervioso esperar tanto cada vez que tenía que instalar un paquete...

Cory
Avatar de usuario
Haciendo Bitcoin
 
Mensajes: 1858
Registrado: 18 Abr 2006
Ubicación: México D.F.

Mensajepor Cory 04 Feb 2010 23:58

Tiene mucho que no uso esta distribución, la ultima vez que le di una oportunidad fue hace unos 2 años y el compilar algo se me hacia eterno en mi equipo (mi equipo es viejo, quizá por eso), le volveré a dar una oportunidad pronto. Por cierto, sin animo de entrar en flames deberías de advertir el tiempo necesario para tener el sistema funcionando
"Dejame dormir si la vida es sueño... O soñamos vivir?... Quien me sueña a mi?"
Imagen
Imagen
Imagen

codestation
Avatar de usuario
#include <pspsdk.h>
 
Mensajes: 1480
Registrado: 26 Abr 2008
Ubicación: /dev/negi

Re:

Mensajepor codestation 05 Feb 2010 04:08

Cory escribió:Tiene mucho que no uso esta distribución, la ultima vez que le di una oportunidad fue hace unos 2 años y el compilar algo se me hacia eterno en mi equipo (mi equipo es viejo, quizá por eso), le volveré a dar una oportunidad pronto. Por cierto, sin animo de entrar en flames deberías de advertir el tiempo necesario para tener el sistema funcionando


No le veo lo de flame, toda critica constructiva al hilo se agradece :) . Si a lo del sistema funcionando te refieres a no necesitar del live-cd y arrancar Gentoo con su propio kernel pues diría que en menos de una hora se puede hacer sin ningún contratiempo, vamos que la instalación de gentoo visto sin mucho detalle es bajar y descomprimir 3 tarballs (stage3, portage y las fuentes del kernel), configurar 5-10 ficheros, compilar grub/cron/syslog/e2fsprogs, compilar el kernel, crearte un fstab y un menu.lst y reiniciar.

Respecto a los tiempos de compilación, con mi procesador: Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz y un disco duro WD de 5400rpm el kernel tarda en compilarse:
Código: Seleccionar todo
real    11m6.351s
user    15m27.081s
sys     1m23.702s

Y mi portatil ya tiene como 3 años desde que la compré (e imagino mucho más tiempo desde que salio al mercado).

Si en cambio te refieres a un entorno de escritorio pues eso ya depende de que WM o DE quiera el usuario y de la cantidad de USEs que tenga activos. En todo caso ya ire actualizando el 1er post con tiempos de compilación de paquetes importantes (glibc, gcc, xorg, gtk+, qt, kdelibs, xulrunner, etc) con mi procesador y con otro más antiguo de un solo nucleo para que tengamos una idea general de cuanto tiempo tardan en compilarse los paquetes en otros procesadores más nuevos/viejos.

Cory
Avatar de usuario
Haciendo Bitcoin
 
Mensajes: 1858
Registrado: 18 Abr 2006
Ubicación: México D.F.

Mensajepor Cory 05 Feb 2010 04:15

Bueno yo me refería a dejar el sistema funcionando con un DE como KDE o GNOME, si se usa un WM como openbox o fluxbox supongo que todo sera más rápido.
Por increíble que parezca yo sigo en un procesador mono núcleo Intel(R) Pentium(R) 4 CPU 3.20GHz y compilar GNOME tardo lo suyo
"Dejame dormir si la vida es sueño... O soñamos vivir?... Quien me sueña a mi?"
Imagen
Imagen
Imagen

codestation
Avatar de usuario
#include <pspsdk.h>
 
Mensajes: 1480
Registrado: 26 Abr 2008
Ubicación: /dev/negi

Re:

Mensajepor codestation 05 Feb 2010 04:31

Cory escribió:Bueno yo me refería a dejar el sistema funcionando con un DE como KDE o GNOME, si se usa un WM como openbox o fluxbox supongo que todo sera más rápido.
Por increíble que parezca yo sigo en un procesador mono núcleo Intel(R) Pentium(R) 4 CPU 3.20GHz y compilar GNOME tardo lo suyo

Sacando un poco de info de mis logs, tomando el paquete inicial y final del grupo se puede sacar un tiempo estimado:
Xorg + Qt + KDE (un 40% de la suite)
Código: Seleccionar todo
Mon May 25 00:40:56 2009 >>> x11-proto/xproto-7.0.14
Mon May 25 01:24:17 2009 >>> x11-drivers/xf86-input-keyboard-1.3.2
xorg: ~30-40 minutos
Thu Dec  3 18:24:12 2009 >>> x11-libs/qt-core-4.6.0
Thu Dec  3 19:47:07 2009 >>> x11-libs/qt-assistant-4.6.0
qt: ~1:30h
Thu Dec  3 21:07:18 2009 >>> kde-base/kdelibs-4.3.4
Fri Dec  4 02:06:02 2009 >>> kde-base/kdebase-meta-4.3.4
kde: ~5:00h (kdebase, kdeutils, kenetwork, kdegraphics y alguna otra aplicacion kde suelta)


No puedo poner tiempos de cuando puse gnome ya que instalé muchas cosas salteadas y no se refleja bien en los logs.

Siguiente

Volver a Software libre

¿Quién está conectado?

Usuarios navegando por este foro: No hay usuarios registrados visitando el foro y 0 invitados