Вы находитесь на странице: 1из 198

Manuales Gentoo Linux/x86

Sven Vermeulen Autor Grant Goodyear Autor Roy Marples Autor Daniel Robbins Autor Chris Houser Autor Jerry Alexandratos Autor Seemant Kulleen Desarrollador Gentoo x86 Tavis Ormandy Desarrollador Gentoo Alpha Jason Huebel Desarrollador Gentoo AMD64 Guy Martin Desarrollador Gentoo HPPA Pieter Van den Abeele Desarrollador Gentoo PPC Joe Kallar Desarrollador Gentoo SPARC John P. Davis Editor Pierre-Henri Jondot Editor Eric Stockbridge Editor Rajiv Manglani Editor Jungmin Seo Editor Stoyan Zhekov Editor Jared Hudson Editor Colin Morey Editor Jorge Paulo Editor Carl Anderson Editor Jon Portnoy Editor Zack Gilburd Editor Jack Morgan Editor Benny Chuang Editor Erwin Editor Joshua Kinard Editor Tobias Scherbaum Editor Xavier Neys Editor Gerald J. Normandin Jr. Revisor Donnie Berkholz Revisor Ken Nowack Revisor Lars Weiler Contribuidor John Christian Stoddart Traductor Jos Luis Rivero Traductor Pgina actualizada 22 de mayo, 2012 Contenido:

Instalando Gentoo En esta parte aprender cmo instalar Gentoo en su sistema. 1. Acerca de la instalacin Gentoo Linux Este captulo presenta el mtodo de instalacin documentado en este manual.

2. Escoger el medio de instalacin adecuado

Se puede instalar Gentoo de muchas maneras diferentes. Este captulo explica cmo instalar Gentoo usando el CD de Instalacin mnimo. 3. Configuracin de su red Para poder bajar las fuentes ms actuales, debe configurar la red. 4. Preparando los discos Para poder instalar Gentoo, debe crear las particiones necesarias. Este captulo describe como particionar un disco para uso futuro. 5. Instalando los archivos de instalacin Gentoo Las instalaciones Gentoo funcionan con un archivo stage3. En este captulo describimos como descomprimir el archivo stage3 y configurar Portage. 6. Instalando el sistema base de Gentoo Luego de instalar y configurar el stage3, el resultado eventual es que tiene un sistema base Gentoo a su disposicin. Este captulo describe cmo progresar hacia este estado. 7. Configurando el kernel El ncleo Linux es el eje de cada distribucin. Este captulo explica cmo configurarlo. 8. Configurando su sistema Har falta modificar algunos archivos importantes de configuracin. En este captulo pasaremos revista a estos archivos y explicaremos como proceder. 9. Instalando herramientas necesarias para el sistema Tal como hemos mencionado anteriormente, Gentoo se trata de poder escoger. En este captulo ayudaremos a escoger e instalar algunas herramientas importantes. 10. Configurando el gestor de arranque Existen varios gestores de arranque para la arquitectura x86. Cada uno tiene su propia configuracin. Procederemos paso a paso al configurar el gestor de arranque segn sus necesidades. 11. Finalizando su instalacin Gentoo Estamos casi listos. Crearemos uno (o ms) usuarios para el sistema. 12. Y ahora qu? Y ahora que tenemos un sistema Gentoo, qu sigue? Trabajando con Gentoo Aprenda cmo trabajar con Gentoo: instalacin de software, configuracin de variables, cambiando el comportamiento del sistema Portage, etc. 1. Introduccin al sistema Portage Este captulo explica los pasos "sencillos" que un usuario definitivamente necesita saber para mantener el software en su sistema. 2. Los parmetros USE Los parmetros USE son un aspecto muy importante de Gentoo. En este captulo, aprender a trabajar con ellos y entender cmo los parmetros USE interactan con su sistema. 3. Caractersticas de Portage Descubra las caractersticas de Portage, como el soporte para la compilacin distribuida, ccache y ms. 4. Scripts de arranque Gentoo usa un formato especial de guiones de inicio, que, entre otras

caractersticas permite decisiones basadas en dependencias y guiones virtuales. Este captulo explica todos estos aspectos y explica cmo trabajar con estos guiones. 5. Variables de entorno Con Gentoo puede fcilmente manejar las variables de entorno del sistema. Este captulo explica como hacerlo, adems de describir las variables usadas ms frecuentemente. Trabajando con Portage "Trabajando con Portage" cubre en profundidad la herramienta de manejo de software de Gentoo, el sistema Portage. 1. Archivos y directorios Una vez que quiera conocer a Portage en profundidad, har falta saber donde almacena sus archivos y datos. 2. Configuracin por medio de variables Portage es completamente configurable por medio de diversas variables que pueden ajustarse en un archivo de configuracin o como variable de entorno. 3. Mezcla de ramales de software Gentoo permite el uso de software en distintos ramales, dependiendo de su estabilidad o de su soporte por arquitectura. "Mezcla de ramales de software" informa como estos estos pueden ser configurados y como redefinir esta separacin de manera individual. 4. Herramientas adicionales de portage Portage trae algunas herramientas adicionales que sirven para mejorar su experiencia con Gentoo an ms. Siga adelante para descubrir como usar dispatch-conf y otras herramientas. 5. Divergiendo del rbol oficial "Divergiendo del rbol oficial" proporciona algunos trucos acerca de como usar su propio rbol Portage, como sincronizar solo las categoras que le interesa, inyeccin de paquetes y ms. 6. Caractersticas avanzadas de Portage A medida que transcurre el tiempo, Portage evoluciona y madura cada vez ms. Continuamente se agrega funcionalidad adicional - en gran parte dirigida hacia usuarios avanzados. Esta seccin detallar algunas de estas caractersticas especficas. Configuracin de Redes en Gentoo Una gua amplia para trabajar con redes en Gentoo. 1. Inicindonos Esta es una gua para poner a funcionar rpidamente el interfaz de red en la mayora de situaciones comunes. 2. Configuracin Avanzada Aqu aprenderemos como funciona la configuracin - debe estar enterado de esto antes de aprender sobre redes modulares. 3. Trabajo Modular con Redes Gentoo permite un trabajo flexible con la red - aqu explicamos como escoger diferentes clientes DHCP, configurar la unin de interfaces, hacer puentes, redes virtuales (VLANs) y ms. 4. Redes Inalmbricas Las redes inalmbricas pueden ser truculentas. Esperamos ponerlas a funcionar!

5. Agregando Funcionalidad

Si quiere aventurarse, puede agregar sus propias funciones para trabajar con redes. 6. Manejo de Redes Para usuarios de computadores porttiles o los que mudan su computador de red en red.

A. Instalando Gentoo
1. Acerca de la instalacin Gentoo Linux
1.a. Introduccin Bienvenido! Primero de todo, bienvenido/a a Gentoo. Est a punto de entrar en un mundo de flexibilidad y rendimiento. Gentoo es la flexibilidad en s. Cuando instalas Gentoo, esto queda claro varias veces, puede elegir cunto quieres compilar tu mismo, cmo instalar Gentoo, que gestor de registro prefieres, etc. Gentoo es una metadistribucin moderna, rpida, con un diseo limpio y flexible. Gentoo est hecha alrededor del software libre y no oculta a sus usuarios qu hay bajo la alfombra. Portage, el sistema de mantenimiento de paquetes que usa Gentoo, est escrito en Python, por lo que el cdigo fuente es fcil de visualizar y modificar. El sistema de paquetes de Gentoo se basa en el cdigo fuente (aunque tambin soporta paquetes precompilados) y para configurar Gentoo se utilizan archivos de texto plano. En otras palabras, abierto a cualquiera. Es muy importante que entienda que la flexibilidad es lo que hace que Gentoo funcione. Intentamos no forzarle a entrar en algo que no le guste. Si cree en algn momento que lo estamos haciendo mal, por favor, enve su opinin. Cmo est estructurada la instalacin? La instalacin de Gentoo puede verse como un procedimiento de 10 pasos, los correspondientes a los captulos 2 a 11. Cada paso da como resultado un cierto estado:

Tras el paso 1, te encontrar en un entorno funcional preparado para instalar Gentoo Despus del paso 2, la conexin a Internet estar funcionando y lista para instalar Gentoo. Tras el paso 3, sus discos duros estarn preparados para alojar tu instalacin de Gentoo Tras el paso 4, el entorno de instalacin estar preparado y se encontrar dentro de un entorno chroot. Despus del paso 5, los paquetes principales, que son los mismos en toda instalacin de Gentoo, estarn instalados Tras el paso 6, el ncleo Linux estar compilado.

Despus del paso 7, la mayora de los archivos de configuracin de tu sistema Gentoo estarn preparados Tras el paso 8, las herramientas de sistema necesarias (podr elegirlas de una hermosa lista) estn instaladas. Al finalizar el paso 9, el gestor de arranque elegido estar instalado y configurado y estar dentro de su nueva instalacin de Gentoo. Tras el paso 10, se encontrar dentro de su nueva Gentoo.

Cuando se le pide una eleccin especial, intentamos explicar lo mejor posible los pros y contras. Tambin propondremos una opcin por defecto, identificada con "Por defecto:" en el ttulo. Las otras posibilidades se titulan "Alternativa:". Pero no crea que la opcin por defecto es la que recomendamos. Es la que pensamos que la mayora de usuarios van a utilizar. Algunas veces se puede seguir un paso opcional. Estos pasos son marcados como "Opcional: " y no son necesarios para instalar Gentoo. Sin embargo, algunos pasos opcionales dependen de una decisin tomada previamente. Le informaremos cuando se d el caso, tanto cuando tome la decisin, como cuando se describa el paso opcional. De qu opciones dispongo? Puede instalar Gentoo de diferentes formas. Puede descargar e instalar uno de nuestros CDs de instalacin, desde otra distribucin, desde un CD de arranque ajeno a Gentoo (como Knoppix), desde un arranque por red, desde un disquete de arranque,etc. Este documento abarca la instalacin utilizando un CD de instalacin de Gentoo o, en algunos casos, instalacin por red. La instalacin asume que quiere instalar la ltima versin de cada paquete. Nota: Para encontrar ayuda acerca de otros procedimientos de instalacin, incluyendo el uso de CDs ajenos a Gentoo, por favor, lea nuestra Gua de Instalacin Alternativa. Si quiere realizar una instalacin sin conexin a la red, debera leer los Manuales Gentoo 2008.0 el cual contiene las instrucciones de instalacin para un entorno sin conexin a la red. Tambin tenga en cuenta que, si est planeando utilizar GRP (Gentoo Reference Platform, una coleccin de paquetes precompilados que pueden ser utilizados justo despus de la instalacin de Gentoo), debe seguir las instrucciones correspondientes a los Manuales Gentoo 2008.0 sin conexin a la red. Tambin ofrecemos un documento sobre Consejos y trucos en la instalacin de Gentoo que tambin puede ser til. Si es un usuario Gentoo experimentado y simplemente necesita una breve lista de comprobacin sobre la instalacin, lea libremente la Gua de Instalacin Rpida, disponible en nuestros Recursos de Documentacin si su arquitectura tiene este documento disponible. Tambin existen otras posibilidades: puede compilar el sistema completo desde el principio o utilizar un entorno pre-compilado para tener el sistema listo en poco tiempo.

Y, por supuesto, tambin hay soluciones intermedias con las cuales no se compila todo el sistema pero se empieza desde un sistema bastante completo. Problemas? Si tiene algn problema con la instalacin (o con el documento de instalacin), por favor, visite nuestro Sistema de seguimiento de errores y compruebe si el error es conocido. Si no lo es, por favor cree un informe sobre l para que podamos encargarnos de l. No tenga miedo de los desarrolladores que estn asignados a sus informes, normalmente no se comen a nadie. Acurdese que, a pesar de que el documento que est leyendo es especfico de la arquitectura, est tambin contiene referencias a otras arquitecturas. Esto es as porque el manual de Gentoo tiene partes extensas de cdigo que son comunes para todas las arquitecturas (para evitar duplicar esfuerzos y el desgaste de los recursos de desarrollo). Intentaremos reducir esto al mnimo para evitar la confusin. Si no est seguro que el problema es de usuario (algn error que haya cometido al despistarse y no leer la documentacin cuidadosamente) o un problema de software (algn error que ha cometido despistndose al probar la instalacin y/o documentacin), es libre de entrar en #gentoo-es en irc.freenode.net. Por supuesto, es bienvenido de todas formas :) Si tiene cualquier pregunta concerniente a Gentoo, eche un vistazo a las Preguntas de Uso Frecuente, disponibles en la Documentacin de Gentoo. Tambin puede mirar los FAQs en nuestros foros. Si no encuentras la respuesta aqu, pregunta en #gentoo-es, nuestro canal IRC en irc.freenode.net. S, algunos de nosotros somos frikis que an usan el IRC :-)

2. Escoger el medio de instalacin adecuado


2.a. Requisitos de Hardware Introduccin Antes de empezar, enumeraremos los requerimientos de hardware necesarios para instalar con xito Gentoo en su mquina.
Requisitos de Hardware

Minimal CD LiveCD CPU i486 o superior i686 o superior Memoria 256 MB 512 MB Espacio en disco 2.5 GB (no incluye el espacio de intercambio) Espacio de intercambio Al menos 256 MB 2.b. Los CDs de instalacin de Gentoo Introduccin

Los CDs de instalacin de Gentoo son CDs arrancables que contienen un entorno Gentoo auto-contenido. Permiten arrancar Linux desde el CD. Durante el proceso de arranque se detecta el hardware y se cargan los controladores apropiados. Estos discos son mantenidos por los desarrolladores de Gentoo. Todos los CDs de instalacin le permiten arrancar, configurar la red, inicializar las particiones y empezar a instalar Gentoo desde Internet. CD Minimal de instalacin Gentoo El CD Minimal de instalacin se conoce cmo install-x86-minimal-<release>.iso y solo necesita cerca de 140 MB de espacio en disco. Puede utilizar este CD para instalar Gentoo, pero nicamente con una conexin activa a Internet. El archivo comprimido (tarball) Stage3 Un archivo comprimido stage3 contiene un entorno Gentoo mnimo, que permite continuar la instalacin de Gentoo con las instrucciones de este manual. Anteriormente, el manual de Gentoo describa la instalacin utilizando uno de los tres archivos de stage. Aunque Gentoo sigue ofreciendo los archivos stage1 y stage2, el mtodo de instalacin oficial utiliza el archivo stage3. Si est interesado en llevar a cabo la instalacin de Gentoo utilizando stage1 o stage2, por favor lea las preguntas frecuentes sobre Cmo instalo Gentoo utilizando un archivo stage1 o stage2? Los tarballs de stage3 puede descargarse desde ${release-dir/}current-stage3/ en cualquiera de nuestros servidores rplica oficiales y no se proporcionan con el LiveCD. 2.c. Descargar, Grabar y Arrancar un CD de instalacin Gentoo Descargar y Grabar los CDs de instalacin Gentoo Ha elegido usar un CD de instalacin Gentoo. Empezaremos por descargar y grabar el CD que eligi. Ya hablamos anteriormente de los distintos CD de instalacin disponibles, pero dnde podemos encontrarlos? Puede descargar cualquiera de los CDs desde uno de nuestros servidores rplica. Los CD de instalacin se encuentran en el directorio releases/x86/autobuilds/current-iso/. Dentro del directorio encontrar los llamados archivos ISO. Estos son imgenes de CD completas que puede grabar en un CD-R. En caso que quiera saber si el archivo que descarg est corrupto, puede verificar la suma de control MD5 de su archivo y compararla con la que nosotros proporcionamos (una como install-x86-minimal-<release>.iso.DIGESTS). Puede revisar las sumas de control con md5sum de Linux o con md5sum en Windows. Otra manera de verificar la validez de la descarga es usar GnuPG para revisar la firma criptogrfica que proporcionamos (el nombre del archivo termina con .asc). Descargue el archivo de firma y obtenga las claves pblicas:

Listado de Cdigo 3.1: Obtener la clave pblica

$ gpg --keyserver subkeys.pgp.net --recv-keys 96D8BF6D 2D182910 17072058

Ahora verificamos la firma: Listado de Cdigo 3.2: Verificar los archivos


(Verificar la firma criptogrfica) $ gpg --verify <downloaded iso.DIGESTS.asc> (Verificar la suma de control) $ sha1sum -c <downloaded iso.DIGESTS.asc>

Para grabar el o los ISOs descargados, debe seleccionar grabar/quemar sin formato. Cmo hacerlo depende del programa. Aqu hablaremos de cdrecord y K3B; puede encontrar mayor informacin en las Preguntas de Uso Frecuentes sobre Gentoo.

Con cdrecord, simplemente escriba cdrecord dev=/dev/hdc (reemplace /dev/hdc con la ruta de su unidad CD-RW). Con K3B, seleccione Herramientas > Grabar Imagen CD. Luego busque el archivo ISO dentro del rea 'Imagen a Grabar'. Por ltimo presione el botn comenzar.

Arrancar el CD de instalacin Una vez que ha grabado sus CDs de instalacin, es hora de arrancarlos. Retire todos los CD de sus unidades, reinicie el sistema y entre en el BIOS. Esto se logra por lo general oprimiendo la tecla Supr, F1 o Esc, dependiendo del BIOS. Dentro del BIOS, cambie el orden de arranque para que intente arrancar primero desde el CD-ROM. Regularmente se encuentra dentro de "CMOS Setup". Si no lo hace, su sistema arrancar desde el disco duro e ignorar el CD-ROM. Coloque el CD de instalacin en la unidad CD-ROM y reinicie. Deber ver un smbolo de espera de rdenes. En esta pantalla puede oprimir la tecla Intro para empezar el proceso de arranque con las opciones predefinidas, o arrancar el CD de instalacin con opciones personales especificando un ncleo seguido por las opciones de arranque y luego oprimir la tecla Intro. Cuando se muestra el smbolo de lnea de comandos de inicio, se tiene la opcin de mostrar los ncleos disponibles (F1) y las opciones de inicio (F2). Si no se realiza ninguna seleccin en 20 segundos (sea mostrar informacin o arrancar un ncleo) el LiveCD optar por iniciar desde disco. Esto permite a las instalaciones reiniciar e intentar usar el entorno instalado sin tener que quitar el CD de su bandeja (algo que ser de gran utilidad en instalaciones remotas). Ahora que hablamos de especificar un ncleo, en nuestros CDs de instalacin, ofrecemos varios de ellos. El ncleo por defecto es gentoo. Otros ncleos son especficos para algunas necesidades de hardware y las variantes -nofb deshabilitarn el framebuffer. Ms adelante encontrar una breve descripcin de los ncleos disponibles: Ncleo Descripcin

gentoo El ncleo 2.6 predeterminado con soporte para mltiples CPUs gentoo-nofb Igual que gentoo pero sin soporte para framebuffer memtest86 Para verificar su memoria RAM para errores Tambin puede pasarle opciones al ncleo. Estas representan configuraciones opcionales que puede activar o desactivar. Opciones hardware: acpi=on Esta opcin carga ACPI y adems provoca que el demonio acpid arranque cuando se inicia el CD. Esto solamente es necesario si nuestro sistema necesita ACPI para funcionar correctamente. No es necesario para el soporte Hyperthreading (Multihilo). acpi=off Desactiva ACPI por completo. Esto es til en algunos sistemas antiguos, y tambin es un requisito para utilizar APM. Esto deshabilita el soporte Hyperthreading de su procesador. console=X Activa el acceso a una consola serie desde el CD. La primera opcin es el dispositivo, normalmente ttyS0 en x86, seguido de las opciones de conexin separadas por comas. Las opciones por defecto son: 9600,8,n,1. dmraid=X Permite el envo de opciones al dispositivo de mapeo del subsistema RAID. Las opciones deben ir entre comillas dobles. doapm Carga el soporte para el controlador APM. Necesita que tambin se utilice acpi=off. dopcmcia Carga el soporte para el hardware PCMCIA y Cardbus y adems provoca que cardmgr de pcmcia se arranque al iniciar el CD. Esto solamente es necesario cuando arranque desde un dispositivo PCMCIA/Cardbus. doscsi Esto carga el soporte de la mayora de controladoras SCSI. Tambin es necesario para casi todos los dispositivos USB, ya que utilizan el subsistema SCSI del ncleo. sda=stroke Esto le permite particionar el disco entero aunque su BIOS se incapaz de gestionar discos grandes. Esta opcin solamente se utiliza para ordenadores con BIOS antiguas. Sustituya sda por el dispositivo que necesite esta opcin. ide=nodma Fuerza la desactivacin de DMA en el ncleo y es necesario para algunos chipsets IDE y tambin para algunos drivers de CDROM. Si el sistema sufre problemas leyendo desde el CDROM IDE, pruebe esta opcin. Esto evita tambin que la configuracin de hdparm se ejecute. noapic Desactiva el controlador de interrupciones APIC (Advanced Programmable Interrupt Controller) que est presente en placas nuevas. Se sabe que provoca algunos errores con el hardware antiguo. nodetect

Desactiva toda la deteccin automtica que realiza el CD, incluyendo la deteccin de dispositivos y DHCP. Esto es til para depurar errores cuando falla un CD o un driver. nodhcp Deshabilita DHCP en las tarjetas de red detectadas. Esto es til para redes nicamente con direcciones estticas. nodmraid Desactiva el soporte para el dispositivo de mapeo RAID, como por ejemplo el que se utiliza en placas con controladores RAID IDE/SATA. nofirewire Desactiva la carga de mdulos Firewire. Solamente es necesario si el hardware Firewire est causando algn tipo de problema con el arranque del CD. nogpm Desactiva el soporte gpm de ratn para consola. nohotplug Desactiva la carga de los guiones de inicio de hotplug y coldplug durante el arranque. Esto es til para depurar los fallos en el CD o el driver. nokeymap Deshabilita la seleccin del mapa de teclado que se emplea para seleccionar los teclados apropiados que no son US. nolapic Deshabilita el APIC local en los ncleos monoprocesador. nosata Desactiva la carga de los mdulos Serial ATA. Esto es til si el sistema tiene problemas con el subsistema SATA. nosmp Desactiva SMP, o Multiproceso Simtrico (Symmetric Multiprocessing), en los ncleos con SMP activo. Esto es til para la depuracin de errores relacionados con SMP en algunos drivers y placas base. nosound Desactiva el soporte de sonido y la configuracin del volumen. til para sistemas donde el sonido cause problemas. nousb Desactiva la carga automtica de mdulos USB. til para depurar errores relacionados con USB. slowusb Aade algunas pausas adicionales en el proceso de arranque para los CDROMs USB ms lentos, como el IBM BladeCenter. Administracin de Volmenes/Dispositivos: dolvm Activa el soporte para la administracin lgica de volmenes. Otras opciones: debug Activa el cdigo de depuracin. Esto podra ser un poco lioso, ya que muestra muchos datos por pantalla. docache

Esto guarda en cach la parte completa del entorno de ejecucin del CD en RAM, lo cual le permite desmontar /mnt/cdrom y montar otro CDROM. Esta opcin requiere que disponga (al menos) del doble de memoria RAM libre que el tamao que tiene CD. doload=X Esto indica al ramdisk inicial que cargue el mdulo que se indica as como las dependencias. Sustituya X por el nombre del mdulo. Se pueden indicar varios mdulos en una lista separados por medio de comas. dosshd Inicia sshd durante el arranque, lo cual es muy til para instalaciones remotas o sin atencin permanente. passwd=foo Configura lo que venga despus del igual como la contrasea de root, la cual ser necesaria para dosshd ya que desactivamos la contrasea de root por defecto. noload=X Esto indica al ramdisk inicial que no realice la carga de un determinado mdulo que podra estar causando problemas. La sintaxis es la misma que doload. nonfs Desactiva la ejecucin de portmap/nfsmound durante el arranque. nox Esto provoca que el LiveCD no cargue automticamente las X, dejndole en la lnea de comandos. scandelay Provoca que el CD se detenga 10 segundos durante ciertos periodos del arranque para permitir que se inicien los dispositivos lentos y estn listos para utilizarse. scandelay=X Permite especificar un determinado retardo, en segundos, durante ciertos periodos del arranque para permitir a los dispositivos lentos que se inicialicen y estn listos para usarse. Se sustituye X por el nmero de segundos de la pausa. Nota: El CD comprobar las opciones "no*" antes que las opciones "do*", as que puede sobreescribir cualquier opcin en el orden exacto en que las especifique. Ahora arranque su CD, seleccione un ncleo (si no est contento con el ncleo predeterminado gentoo) y las opciones de arranque. Por ejemplo, aqu le mostramos como arrancar el ncleo gentoo, con el parmetro dopmcia: Listado de Cdigo 3.3: Arrancar un CD instalacin
boot: gentoo dopcmcia

Despus ver otra pantalla de arranque y una barra de progreso. Si est instalando Gentoo en un sistema con un teclado no americano, asegrese de pulsar Atl-F1 para cambiar al modo "verbose" y seguir el cursor. Si no se hace ninguna seleccin en 10 segundos, la opcin predefinida (teclado americano) ser la utilizada y el proceso de arranque continuar. Cuando se complete el proceso de arranque, automticamente se registrar en el Gentoo Linux "Live" como "root", el super usuario. Tendr el indicador del root ("#") en la consola actual y tambin podr cambiarse a otras consolas presionando Alt-F2, AltF3 y Alt-F4. Para regresar a la consola en la que empez presione Alt-F1. Contine ahora Configurando Hardware Adicional.

Configurando Hardware Adicional Cuando arranca el CD de instalacin, trata de detectar todos los dispositivos de hardware y cargar los mdulos apropiados en el kernel para soportar este hardware. En la gran mayora de casos, hace muy buen trabajo. Sin embargo, en algunos casos puede que no cargue automticamente los mdulos del kernel necesarios. Si falla la auto-deteccin PCI con algn hardware de su sistema, trate de cargar el mdulo apropiado manualmente. En el siguiente ejemplo trataremos de cargar el mdulo 8139too (que da soporte a ciertos tipos de interfaces de red): Listado de Cdigo 3.4: Cargar mdulos del kernel
# modprobe 8139too

Opcional: Cuentas de Usuarios Si planea darle a otras personas acceso a su entorno de instalacin o si quiere platicar con alguien usando irssi sin privilegios de root (por razones de seguridad), har falta crear las cuentas de usuario necesarias y cambiar la contrasea de root. Para cambiar la contrasea de root, use passwd: Listado de Cdigo 3.5: Cambiar la contrasea de root
# passwd New password: (Escriba su nueva contrasea) Re-enter password: (Escrbala de nuevo)

Para crea una cuenta de usuario, primero escribimos sus credenciales, y luego su contrasea. Se usan useradd y passwd para estas tareas. En el siguiente ejemplo, crearemos un usuario llamado "juan". Listado de Cdigo 3.6: Crear una cuenta de usuario
# useradd juan # passwd juan New password: (Escriba la contrasea de juan) Re-enter password: (Escriba otra vez la contrasea de juan)

Puede cambiar su identificador de usuario desde root para usar la del nuevo usuario usando su: Listado de Cdigo 3.7: Cambiar de usuario
# su - juan

Opcional: Viendo la documentacin mientras se hace la instalacin Si quiere ver el manual de Gentoo durante la instalacin, asegrese de haber creado una cuenta de usuario (consulte Opcional: Cuentas de Usuarios). Luego presione Alt-F2 para ir a un nuevo terminal e ingrese al sistema. Puede ver el manual usando links, pero solo despus de haber completado el captulo Configurar su red (de lo contrario no podr usar Internet para ver el documento):

Listado de Cdigo 3.8: Ver la Documentacin en Lnea

# links http://www.gentoo.org/doc/es/handbook/handbook-x86.xml

Puede regresar a la consola original presionando Alt-F1. Opcional: Iniciar el Demonio SSH Si quiere permitirle a otros usuarios el acceso a su mquina durante la instalacin de Gentoo (quiz porque esos usuarios le vayan a ayudar, o incluso lo hagan por usted), necesitar crear una cuenta de usuario para ellos e incluso darles la contrasea de root (slo si confa totalmente en ese usuario). Para arrancar el demonio SSH, ejecute el siguiente comando: Listado de Cdigo 3.9: Iniciar el demonio SSH
# /etc/init.d/sshd start

Para poder usar sshd, primero necesita configurar su red. Contine en el captulo Configurar su Red.

3. Configuracin de su red
3.a. Auto Deteccin de la Red Es posible que simplemente funcione? Si su sistema est conectado a una red Ethernet con un servidor DHCP, es muy probable que la configuracin de red se haya detectado automticamente. En ese caso, debera ser capaz de trabajar con los con los comandos que hacen uso de la red y que estn en el CD de instalacin, son: ssh, scp, ping, irssi, wget y links, entre otros. Si la red ya ha sido configurada el comando /sbin/ifconfig debera listar algunas interfaces de red adems de lo, como eth0: Listado de Cdigo 1.1: /sbin/ifconfig para una tarjeta de red funcionando
# /sbin/ifconfig (...) eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::50:ba8f:617a/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 collisions:1984 txqueuelen:100 RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb) Interrupt:11 Base address:0xe800

Opcional: Configure el Proxy

Si accede a Internet a travs de un proxy, podra necesitar configurar la informacin del proxy durante la instalacin. Es muy sencillo definir un proxy: tan solo necesita definir la variable que contiene la informacin del mismo. En la mayora de los casos, puede definir las variables usando simplemente el host del servidor. Por ejemplo, asumimos que el proxy se llama proxy.gentoo.org y el puerto es el 8080. Listado de Cdigo 1.2: Definiendo los servidores proxy
(Si el proxy filtra el trfico HTTP) # export http_proxy="http://proxy.gentoo.org:8080" (Si el proxy filtra el trfico FTP) # export ftp_proxy="ftp://proxy.gentoo.org:8080" (Si el proxy filtra el trfico RSYNC) # export rsync_proxy="rsync://proxy.gentoo.org:8080"

Si su proxy requiere un nombre de usuario y una contrasea, debera usar la siguiente sintaxis para la variable: Listado de Cdigo 1.3: Aadiendo usuario/contrasea a la variable del proxy
http://nombreusuario:contrasea@proxy.gentoo.org:8080

Probando la red Puede intentar hacer ping hacia el servidor DNS de su ISP, (que se encuentra en /etc/resolv.conf) y un sitio web a su eleccin, con la intencin de asegurarse que sus paquetes llegan a la red, la resolucin de nombres DNS esta funcionando correctamente, etc ... Listado de Cdigo 1.4: Ms pruebas de la red
# ping -c 3 www.gentoo.org

Est su conexin funcionando? En ese caso, puede saltarse el resto de esta seccin y continuar con Preparando los discos. De lo contrario, mala suerte, tendr que perseverar un poco ms :) 3.b. Configuracin Automtica de Red Si la red no funciona inmediatamente, algunos medios de instalacin le permitirn usar net-setup (para redes estndar o sin cables), pppoe-setup (para usuarios de ADSL) o pptp (para usuarios de PPTP disponible para x86, amd64, alpha, ppc y ppc64). Si su medio de instalacin no contiene ninguna de estas herramientas, contine con Configuracin Manual de la Red.

Los usuarios de redes estndar deberan continuar con Por defecto: Usando netsetup Los usuarios de ADSL deberan continuar con Alternativa: utilizar PPP Los usuarios de PPTP deberan continuar con Alternativa: Usando PPTP

Por defecto: Usando net-setup

El sistema ms simple de configurar una red, si no se consigui hacerlo automticamente, es ejecutar el guin net-setup: Listado de Cdigo 2.1: Ejecutando el guin net-setup
# net-setup eth0

net-setup le har algunas preguntas sobre su entorno de red Cuando lo haya completado, debera disponer de una conexin de red funcionando. Pruebe su conexin de red como se especific anteriormente Si los resultados son positivos, felicidades! Ahora est listo para instalar Gentoo. Sltese el resto de esta seccin y contine con Preparando los discos. Si su conexin de red sigue sin funcionar, contine con Configuracin Manual de la Red. Alternativa: utilizar PPP Asumiendo que requiere PPPoE para conectar a Internet, los CDs de instalacin (en cualquiera de sus versiones) ha sido pensado para facilitarle el trabajo incluyendo ppp. Use el guin pppoe-setup proporcionado para configurar su conexin. Se le pedir el dispositivo de red que esta conectado a su mdem adsl, su nombre de usuario y su contrasea, las IPs de sus servidores DNS y si requiere un firewall bsico o no. Listado de Cdigo 2.2: Utilizar ppp
# pppoe-setup # pppoe-start

Si algo va mal, asegrese que ha tecleado correctamente su nombre de usuario y su contrasea mirando /etc/ppp/pap-secrets o /etc/ppp/chap-secrets y asegrese que esta haciendo uso del dispositivo de red correcto. Si su dispositivo de red no existe, deber cargar los mdulos de red apropiados. En ese caso, debera continuar con Configuracin manual de la Red dnde explicaremos como cargar los mdulos de red apropiados. Si todo funcion, contine con Preparando los Discos. Alternativa: Usando PPTP Si requiere soporte PPTP, puede usar pptpclient que se incluye en nuestros CDs de instalacin. Pero primero debe asegurarse que su configuracin es correcta. Edite /etc/ppp/pap-secrets o /etc/ppp/chap-secrets ya que contiene la combinacin correcta de usuario/contrasea: Listado de Cdigo 2.3: Editar /etc/ppp/chap-secrets
# nano -w /etc/ppp/chap-secrets

Ajuste ahora /etc/ppp/options.pptp si es necesario: Listado de Cdigo 2.4: Editar /etc/ppp/options.pptp


# nano -w /etc/ppp/options.pptp

Cuando todo est listo, tan solo ejecute pptp (junto con las opciones que podra haber configurado en options.pptp) para conectar al servidor:

Listado de Cdigo 2.5: Conectar a un servidor por lnea telefnica


# pptp <server ip>

Ahora contine con Preparando los discos. 3.c. Configuracin Manual de la Red Cargando los mdulos de red apropiados Cuando el CD de instalacin arranca, intenta detectar todos sus dispositivos hardware y carga los mdulos del ncleo (controladores) apropiados para darles soporte. En la gran mayora de los casos, hace un muy buen trabajo. No obstante, en algunos casos, puede no cargar automticamente los mdulos del ncleo que necesita. Si net-setup o pppoe-setup fallaron, entonces puede asumir sin ningn riesgo que su tarjeta de red no se encontr en el acto. Esto significa que tendr que cargar los mdulos del ncleo apropiados manualmente. Para descubrir qu mdulos del ncleo proporcionamos para la red, use ls: Listado de Cdigo 3.1: Buscar los mdulos apropiados
# ls /lib/modules/`uname -r`/kernel/drivers/net

Si encuentra un driver para su tarjeta de red, use modprobe para cargar el mdulo del ncleo: Listado de Cdigo 3.2: Usar modprobe para cargar el mdulo ncleo
(Como ejemplo, cargaremos el mdulo pcnet32) # modprobe pcnet32

Para confirmar si su tarjeta de red se detecta ahora, use ifconfig. Una red detectada debera desembocar en algo como esto: Listado de Cdigo 3.3: Comprobar la disponibilidad de su tarjeta de red, xito
# ifconfig eth0 eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Si de todas formas recibe el siguiente error, la tarjeta de red no est detectada: Listado de Cdigo 3.4: Comprobar si la disponibilidad de su tarjeta de red fracas
# ifconfig eth0 eth0: error fetching interface information: Device not found

Si tiene mltiples tarjetas de red en su sistema stas recibirn el nombre eth0, eth1, etc. Asegrese que la tarjeta de red que quiere utilizar funciona correctamente y recuerde emplear el nombre correcto a lo largo de este documento. Asumiremos que la tarjeta de red eth0 va a ser la utilizada.

Asumiendo que ya se tiene disponible una tarjeta de red detectada, puede reintentar netsetup o pppoe-setup otra vez (que deberan funcionar ahora), pero para los que tengan problemas, explicaremos como configurar su red manualmente. Seleccione una de las siguientes secciones basndose en su configuracin de red.

Usando DHCP para adjudicacin de IP automtica Preparando el Acceso Inalmbrico (Wireless) si tiene una tarjeta inalmbrica. Entendiendo la terminologa de red explica lo que necesita conocer sobre redes. Utilizando ifconfig y route explica como configurar su red manualmente.

Usando DHCP DHCP (Protocolo de Configuracin Dinmica de Anfitrin) hace posible recibir automticamente su informacin de red (Direccin IP, mscara de red, direccin de broadcast, pasarela, servidores de nombres etc.). Esto solo funciona si dispone de un servidor DHCP en su red (o si su proveedor le ofrece servicio DHCP). Para conseguir que su interfaz de red reciba esta informacin automticamente use dhcpcd: Listado de Cdigo 3.5: Usando dhcpcd
# dhcpcd eth0 Algunos administradores de red requieren que utilice el nombre del equipo y el dominio que proporciona el servidor DHCP. Si es el caso, utilice # dhcpcd -HD eth0

Si esto funciona (pruebe hacer ping a algn servidor en Internet, como Google), entonces lo tiene todo configurado y listo para continuar. Sltese el resto de esta seccin y contine con Preparando los Discos. Preparando la Red Inalmbrica Nota: Existe soporte para iwconfig en CDs de instalacin para las arquitecturas x86, amd64 y ppc. Todava puede conseguir que sus extensiones funcionen siguiendo las instrucciones del proyecto linux-wlan-ng. Si est empleando una tarjeta inalmbrica (802.11), quiz necesite configurar sus opciones antes de ir ms all. Para revisar la configuracin inalmbrica actual de su tarjeta, puede utilizar iwconfig. Ejecutando iwconfig debera mostrar algo como esto: Listado de Cdigo 3.6: Mostrar la configuracin inalmbrica actual
# iwconfig eth0 eth0 IEEE 802.11-DS ESSID:"GentooNode" Mode:Managed Frequency:2.442GHz Access Point: 00:09:5B:11:CC:F2 Bit Rate:11Mb/s Tx-Power=20 dBm Sensitivity=0/65535 Retry limit:16 RTS thr:off Fragment thr:off Power Management:off Link Quality:25/10 Signal level:-51 dBm Noise level:-102 dBm Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:237 Invalid misc:350282 Missed beacon:84

Nota: El nombre de dispositivo de algunas tarjetas de red inalmbricas puede ser wlan0 o

ra0 en lugar de eth0. Ejecute iwconfig sin ms parmetros para determinar cual es el nombre de dispositivo correcto. La mayora de usuarios, solamente tendr que modificar dos configuraciones, el ESSID (Nombre de red inalmbrica) o la clave WEP. Si el ESSID y la direccin del Punto de Acceso mostradas son correctas y el Punto de Acceso y su mquina no estn utilizando WEP, su red inalmbrica est funcionando. Si necesita cambiar su ESSID, o aadir una clave WEP, puede utilizar los siguientes comandos: Nota: Si la red inalmbrica est configurada para usar claves WPA o WPA2, tendr que usar wpa_supplicant. Para ms informacin acerca de la configuracin de redes inalmbricas en Gentoo Linux, por favor lea el captulo Redes Inalmbricas del Manual Gentoo. Listado de Cdigo 3.7: Cambiar ESSID y/o aadiendo una clave WEP
(Esto asigna el nombre de "GentooNode" a nuestra red) # iwconfig eth0 essid GentooNode (Esto asigna una clave WEP hexadecimal) # iwconfig eth0 key 1234123412341234abcd (Esto asigna una clave ASCII , aadiendo al principio "s:") # iwconfig eth0 key s:some-password

Puede volver a comprobar la configuracin inalmbrica utilizando iwconfig. Una vez que tenga la conexin funcionando, puede continuar configurando las opciones de red de nivel IP como se describe en la siguiente seccin (Entendiendo la terminologa de red) o utilizar la herramienta net-setup como hemos descrito anteriormente. Entendiendo la terminologa de red Nota: Si conoce su direccin IP, direccin de broadcast, mscara de red y los servidores de nombres, entonces puede saltarse esta subseccin y continuar con Usando ifconfig y route. Si todo lo anterior falla, tendr que configurar su red manualmente. No tenga miedo, est lejos de ser difcil. Pero vamos a explicarle ciertos conceptos de red que necesitar para ser capaz de configurar su red satisfactoriamente. Cuando haya ledo esto, conocer que es una pasarela, para que sirve una mscara de red, como se forma una direccin de broadcast y porqu necesita servidores de nombres. En una red los hosts estn estn identificados por su direccin IP (direccin del Protocolo de Internet). Tal direccin es una combinacin de cuatro nmeros entre 0 y 255. Bien, como mnimo as es como las percibimos. En realidad, tal direccin IP consiste de 32 bits (unos y ceros). Vamos a ver un ejemplo: Listado de Cdigo 3.8: Ejemplo de una direccin IP
IP Address (numbers): IP Address (bits): 192.168.0.2 11000000 10101000 00000000 00000010 -------- -------- -------- -------192 168 0 2

Cada direccin IP es nica para ese host, tan lejos como redes accesibles estn a su disposicin (por ejemplo, todos los hosts a los que se pueda conectar, deben tener direcciones IP nicas). Para ser capaz de hacer la distincin entre hosts dentro de una red, y hosts fuera de una red, la direccin IP est dividida en dos partes: la parte de red y la parte de host. La separacin esta anotada en la mscara de red, una conjunto de unos seguidos de un conjunto de ceros. La parte de la IP que quedan enmascarados sobre los unos es la parte de red, la otra es la parte de host. Como es normal, la mscara de red, puede ser anotada como una direccin IP. Listado de Cdigo 3.9: Ejemplo de una separacin red/host
IP-address: Netmask: 192 168 0 2 11000000 10101000 00000000 00000010 11111111 11111111 11111111 00000000 255 255 255 0 +--------------------------+--------+ Network Host

En otras palabras, 192.168.0.14 es parte de nuestra red de ejemplo, pero 192.168.1.2 no lo es. La direccin de broadcast es una direccin IP con la misma parte de red que su red, pero con solo unos como parte de host. Cada host en su red escucha esta direccin IP. Esto verdaderamente sirve para la transmisin de paquetes. Listado de Cdigo 3.10: Direccin de Broadcast
IP-address: 192 168 0 2 11000000 10101000 00000000 00000010 Broadcast: 11000000 10101000 00000000 11111111 192 168 0 255 +--------------------------+--------+ Network Host

Para ser capaz de navegar por Internet, debera conocer qu host comparte la conexin a Internet. Este host se llama la pasarela. Puesto que es un host estndar, tiene direcciones IP estndar (por ejemplo 192.168.0.1). Anteriormente afirmamos que cada host tiene su propia direccin IP. Para ser capaz de alcanzar este host por un nombre (en vez de la direccin IP) necesitara un servicio que traduzca un nombre (como dev.gentoo.org) a una direccin IP (como 64.5.62.82). Tal servicio se le conoce como servicio de nombres. Para usar tal servicio, debe definir los servidores de nombres necesarios en /etc/resolv.conf. En algunos casos, su pasarela tambin sirve como servidor de nombres. De otro modo, tendr que introducir los servidores de nombres facilitados por su ISP. Para resumir, necesitar la siguiente informacin antes de continuar: Elemento de Red Su direccin IP Ejemplo 192.168.0.2

Mscara de Red Broadcast Pasarela Servidor(es) de nombres Usar ifconfig y route

255.255.255.0 192.168.0.255 192.168.0.1 195.130.130.5, 195.130.130.133

Configurar su red consiste en tres pasos. Primero, nos asignamos una direccin IP usando ifconfig. Entonces configuraremos el ruteo hacia la pasarela usando route. Por ltimo, acabaremos situando las IPs de los servidores de nombres en /etc/resolv.conf. Para asignar una direccin IP, necesitara su direccin IP, la direccin de broadcast y la mascara de red. Entonces ejecute el siguiente comando, substituyendo ${IP_ADDR} con su direccin IP, ${BROADCAST} con su direccin de broadcast y ${NETMASK} con su mscara de red: Listado de Cdigo 3.11: Utilizar ifconfig
# ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up

Ahora configure la ruta usando route. Substituya ${GATEWAY} con la direccin IP de su pasarela: Listado de Cdigo 3.12: Utilizar route
# route add default gw ${GATEWAY}

Ahora abra /etc/resolv.conf con su editor favorito (en nuestro ejemplo, usaremos nano): Listado de Cdigo 3.13: Crear /etc/resolv.conf
# nano -w /etc/resolv.conf

Ahora complete con su(s) servidor(es) de nombres usando la siguiente plantilla. Asegrese que substituye ${NAMESERVER1} y ${NAMESERVER2} con las direcciones apropiadas de servidor de nombres: Listado de Cdigo 3.14: Plantilla /etc/resolv.conf
nameserver ${NAMESERVER1} nameserver ${NAMESERVER2}

Eso es. Ahora compruebe su red haciendo ping a algn servidor de Internet (como Google). Si funciona, felicitaciones entonces. Ahora est listo para instalar Gentoo. Contine con Preparando los Discos.

4. Preparando los discos


4.a. Introduccin a Dispositivos de Bloque Dispositivos de Bloque Examinaremos de forma detallada los aspectos de Gentoo Linux as como Linux en general que tengan que ver con discos, sistemas de ficheros de Linux, particiones y

dispositivos de bloque. Una vez est familiarizado con las entraas de los discos y sistemas de ficheros, le guiaremos a travs del proceso de creacin de particiones y sistemas de ficheros de tu instalacin Gentoo Linux. Para empezar, explicaremos el trmino dispositivos de bloque. Quizs el dispositivo de bloque ms conocido es el que representa la primera unidad de disco llamada /dev/sda. Las unidades SCSI y Serial ATA son etiquetadas mediante /dev/sd*; incluso las unidades IDE son conocidas como /dev/sd* con el nuevo framework libata del kernel. Si est utilizando el antigo framework de unidades, entonces la primera unidad IDE ser /dev/hda. Los dispositivos de bloque mencionados anteriormente representan una interfaz abstracta de disco. Las aplicaciones pueden hacer uso de estas interfaces para interactuar con el disco duro de la mquina sin importar el tipo de unidad que tienes: IDE, SCSI, o cualquier otra. La aplicacin puede simplemente dirigirse al almacenamiento en el disco como a una serie de bloques de acceso aleatorio de 512-bytes situados de forma contigua. Particiones Aunque tericamente es posible utilizar el disco duro completo para albergar la instalacin Linux, esto casi nunca se hace. En su lugar, los dispositivos de bloque enteros se dividen en partes ms manejables y pequeas. En los sistemas stas se llaman particiones. Las particiones se dividen en tres tipos: primarias, extendidas y lgicas. La particin primaria es aquella que almacena su informacin en el MBR (registro principal de arranque). Ya que el MBR puede almacenar hasta 512 bytes, solo pueden definirse cuatro particiones primarias (por ejemplo, desde /dev/sda1 hasta /dev/sda4). Una particin extendida es una particin primaria especial (entendemos que la particin extendida debe ser una de las cuatro posibles particiones primarias) la cual contiene ms particiones. Al principio no exista este tipo de particin, pero como cuatro primarias eran muy pocas, se dise para extender el esquema de particionamiento sin perder la compatibilidad inversa. Una particin lgica es aquella que est dentro de la particin extendida. En otras palabras, estas particiones no se definen dentro del MBR, sino que se declaran dentro de la particin extendida. Almacenamiento avanzado Los CDs de instalacin para x86 proporcionan soporte para LVM2 (en ingls, Logical Volume Management). LVM2 incrementa incrementa la flexibilidad ofrecida por el esquema de particionamiento. Cuando recorramos las instrucciones de instalacin, nos centraremos en particiones "normales", sin embargo, es importante saber que las particiones de tipo LVM2 tambin estn soportadas. 4.b. Diseando un esquema de particionamiento

Esquema de Particionamiento Predeterminado Si no est interesado en disear un esquema de particionamiento particular para tu sistema, puede hacer uso del esquema que utilizaremos en este manual: Particin /dev/sda1 /dev/sda2 /dev/sda3 Sistema de Ficheros ext2 (swap) ext3 Tamao 32M 512M El resto del disco Descripcin Particin de arranque Particin de intercambio Particin de raz

Si est interesado en conocer el tamao que debera tener una particin, o incluso cuantas particiones necesita, continu leyendo. En caso contrario, siga con el particionamiento del disco leyendo Utilizar fdisk para particionar su disco o Utilizar parted para particionar su disco (ambas son herramientas de particionamiento, fdisk es bien conocida y estable, parted es un poco ms reciente pero admite particiones mayores de 2TB). Cuntas? y de qu tamao? El nmero de particiones es altamente dependiente del entorno particular. Por ejemplo, si la mquina tiene muchos usuarios, lo ms probable es que desee tener /home en una particin separada para aumentar la seguridad y facilitar los respaldos. Si est instalando Gentoo para un servidor de correos, debe tener /var en una particin separada ya que es all dnde se almacena todo el correo. Asimismo, una buena eleccin de sistema de ficheros optimizar el rendimiento del equipo. Los servidores de juegos deben disponer de una particin /opt, ya que la mayora de juegos se instalan all. Las razones para estas recomendaciones son similares a las del caso de /home: seguridad y salvaguarda de datos. Es recomendable darle un tamao grande a /usr: no solamente contiene la mayora de las aplicaciones, sino que el propio rbol de Portage ocupa ms de 500 Mbytes, sin contar las fuentes que guarda tambin. Como puede ver, todo depende de lo que quiera conseguir. Tener particiones o volmenes separados tiene las siguientes ventajas:

Puede elegir el mejor sistema de ficheros para cada particin o volumen El equipo en su totalidad quedar sin espacio si una herramienta o aplicacin escribiera datos continuamente al volumen o particin Si es el caso, el tiempo dedicado a las comprobaciones de integridad de sistemas de fichero se reduce ya que las stas pueden ser hechas en paralelo (esta ventaja es mayor con mltiples discos que con mltiples particiones) Podemos mejorar la seguridad montando algunas particiones en modo solo lectura, nosuid (los setuid bits se ignoran), noexec (los bits de ejecucin se ignoran), etc.

Sin embargo, tener mltiples particiones tiene tambin desventajas. Si no se configuran adecuadamente, obtendr un sistema con mucho espacio vaco en una particin y ninguno en otra. Otra contrariedad es que las particiones separadas - especialmente las que se utilizan para puntos de montaje importantes como /usr o /var - a menudo requieren que sea el administrador el que arranque el sistema con un sistema de ficheros de inicio en RAM (initramfs) para montar la particin antes de que otros guiones de inicio se ejecuten. Este no es siempre el caso, por lo que su situacion puede ser diferente.

Tambin, existe un lmite de 15 particiones para SCSI y SATA. Como ejemplo de un esquema de particionamiento usaremos un disco duro de 20 Gb de un porttil para fines de demostracin (incluye servidor web, servidor de correo, gnome, etc.): Listado de Cdigo 2.1: Ejemplo de particionamiento
$ df -h Filesystem Type Size Used Avail Use% /dev/sda5 ext3 509M 132M 351M 28% /dev/sda2 ext3 5.0G 3.0G 1.8G 63% /dev/sda7 ext3 7.9G 6.2G 1.3G 83% /dev/sda8 ext3 1011M 483M 477M 51% /dev/sda9 ext3 2.0G 607M 1.3G 32% /dev/sda1 ext2 51M 17M 31M 36% /dev/sda6 swap 516M 12M 504M 2% (Espacio sin particionar para uso futuro: 2

Mounted on / /home /usr /opt /var /boot <not mounted> Gb)

/usr parece estar bastante llena (83%), pero una vez que todo el software est instalado no tender a llenarse ms. Aunque asignar unos cuantos gigabytes de espacio a /var puede parecer excesivo, recuerde que Portage utiliza esta particin por defecto para compilar paquetes. Si quiere mantener /var de un tamao razonable, cmo 1 GB, necesitar modificar la variable PORTAGE_TMPDIR en /etc/make.conf para apuntar a una particin con espacio libre suficiente para compilar paquetes muy grandes como OpenOffice. 4.c. Utilizar fdisk para particionar su disco Importante: Si su entorno va a utilizar particiones mayores de 2 TB, por favor, utilice las instrucciones comentadas en Utilizar parted para particionar su disco. La herramienta fdisk no puede manejar tamaos tan grandes de particin. Las siguientes instrucciones explican como particionar el disco duro utilizando fdisk. El ejemplo de disposicin de las particiones ha sido mencionado anteriormente: Particin /dev/sda1 /dev/sda2 /dev/sda3 Descripcin Particin de arranque (boot) Particin de intercambio (swap) Particin de raz (root)

Cambie el esquema de particionamiento segn sus propias preferencias. Examinar el esquema de particionamiento actual fdisk es una popular y potente herramienta que permite dividir el disco en particiones. Arranca fdisk sobre tu unidad de disco (en nuestro ejemplo usamos el dispositivo de disco /dev/sda): Listado de Cdigo 3.1: Ejecutar fdisk
# fdisk /dev/sda

Una vez que fdisk est en ejecucin, el programa ofrecer el siguiente smbolo de comandos: Listado de Cdigo 3.2: Smbolo de espera de rdenes de fdisk
Command (m for help):

Teclee p para mostrar el esquema de particionamiento actual: Listado de Cdigo 3.3: Un ejemplo de particionamiento
Command (m for help): p Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders Units = cylinders of 15120 * 512 bytes Device /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5 /dev/sda6 /dev/sda7 /dev/sda8 /dev/sda9 Boot * Start 1 15 50 71 71 210 349 627 905 End Blocks 14 105808+ 49 264600 70 158760 2184 15981840 209 1050808+ 348 1050808+ 626 2101648+ 904 2101648+ 2184 9676768+ Id 83 82 83 5 83 83 83 83 83 System Linux Linux swap Linux Extended Linux Linux Linux Linux Linux

Command (m for help):

Este disco en particular est configurado para albergar siete sistemas de ficheros Linux, cada particin con su correspondiente etiqueta "Linux", as como una particin de intercambio (swap) que aparece con la etiqueta "Linux swap". Eliminar todas las particiones Primero eliminaremos todas las particiones existentes en el disco. Teclee d para eliminar una particin, seguido por intro. Por ejemplo, para borrar una particin existente en /dev/sda1: Listado de Cdigo 3.4: Eliminar una particin
> Command (m for help): d Partition number (1-4): 1

La particin ha sido marcada para su borrado. Ya no aparecer si teclea p, pero no ser eliminada hasta que guarde los cambios realizados. Si comete una equivocacin y desea abortar los cambios realizados, teclee q inmediatamente y pulse intro; las particiones no sern eliminadas. Ahora, asumiendo que intenta eliminar todas las particiones existentes del disco duro, debe teclear p en forma repetida para ver el listado de particiones y pulsar d junto con el nmero de la particin para borrarlas. Finalmente, acabar teniendo una tabla de particiones vaca: Listado de Cdigo 3.5: Una tabla de particiones vaca
Disk /dev/sda: 30.0 GB, 30005821440 bytes

240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System

Command (m for help):

Ahora que la tabla de particiones en memoria del sistema est vaca, estamos preparados para crear nuevas particiones. Utilizaremos el esquema por defecto, tal como hemos acordado anteriormente. Claro est, que no debe seguir estas instrucciones al pe de la letra si no desea tener una tabla de particiones exactamente igual que la nuestra! Crear una particin de arranque En primer lugar debemos crear una pequea particin de arranque. Teclee n para crear esta nueva particin, y luego p para seleccionar una particin primaria, siguiendo por 1 para elegirla como primera particin primaria. Cuando el sistema solicite introducir el primer cilindro, pulse intro y cuando pida definir el valor del ltimo cilindro, teclee +32M para crear una particin de tamao 32 Mb. y configure el flag de iniciable (boot). Listado de Cdigo 3.6: Crear una particin de arranque
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-3876, default 1): (Pulse Intro) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M

Si ahora teclea p, debe ver la siguiente particin en la tabla: Listado de Cdigo 3.7: Una particin creada
Command (m for help): p Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot /dev/sda1 Start 1 End 14 Blocks 105808+ Id 83 System Linux

Necesitamos hacer que esta particin sea arrancable. Teclee a para marcar esta particin como arrancable. Si introduce p de nuevo, ver que un * ha aparecido en la columna "Boot". Crear una particin de intercambio Vamos a crear ahora la particin de intercambio. Para hacerlo, teclee n para crear una nueva particin, y luego p para comunicar a fdisk que debe ser una particin primaria. Entonces teclee 2 para crear la segunda particin primaria, /dev/sda2 en nuestro caso. Cuando el sistema solicite introducir el valor del primer cilindro, pulse intro y cuando

solicite introducir el valor del ltimo, teclee +512M para crear una particin de 512 Mb. Cuando lo haya hecho, teclee t para establecer el tipo de particin, 2 para seleccionar la particin que acaba de crear y entonces 82 para fijar el tipo "Linux Swap". Una vez completados estos pasos la introduccin de p visualizar la tabla de particiones que debe ser similar a sta. Listado de Cdigo 3.8: Listado de particiones despus de la creacin de la particin de intercambio
Command (m for help): p Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot /dev/sda1 * /dev/sda2 Start 1 15 End 14 81 Blocks 105808+ 506520 Id 83 82 System Linux Linux swap

Crear la particin raz En el ltimo lugar, creamos la particin de raz. Introduzca n para crear la nueva particin, p para marcarla como particin primaria. A continuacin teclee 3 para crear la tercera particin primaria, /dev/sda3, segn nuestro ejemplo. Al solicitar la introduccin del valor del primer cilindro de la particin pulsamos intro, mientras que cuando el sistema solicite que introduzcamos el valor del ltimo cilindro, tambin le damos a intro para crear una particin que ocupe todo el espacio restante en el disco. Tras completar todos estos pasos, introducimos p para ver la tabla de particiones que debe parecer mucho a la siguiente: Listado de Cdigo 3.9: Listado de particiones despus de crear la particin de raz
Command (m for help): p Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot /dev/sda1 * /dev/sda2 /dev/sda3 Start 1 15 82 End 14 81 3876 Blocks 105808+ 506520 28690200 Id 83 82 83 System Linux Linux swap Linux

Almacenar la tabla de particiones Para guardar el esquema de particionamiento y salir del fdisk tecleamos w. Listado de Cdigo 3.10: Guardado y salida del fdisk
Command (m for help): w

Ahora que las particiones estn creadas, puede proseguir con la Crear los sistemas de ficheros. 4.d. Utilizar parted para particionar su disco

En este captulo, le guiaremos en la creacin del ejemplo de particionamiento descrito anteriormente en las instrucciones. Al contrario que en el captulo anterior, describiremos el mtodo utilizando la aplicacin parted. Tanto parted como fdisk ofrecen las mismas funciones, por lo que si ya ha particionado su disco utilizando fdisk, puede saltarse esta seccin y continuar con Crear los sistemas de ficheros. La disposicin de particiones que utilizaremos se muestra en la siguiente tabla: Particin /dev/sda1 /dev/sda2 /dev/sda3 Descripcin Particin de arranque Particin de intercambio >Particin raz

Cambie la disposicin de sus particiones para adaptarlas a sus preferencias. Echar un vistazo a la disposicin actual de las particiones La aplicacin parted es de alguna forma una variacin moderna de fdisk. Ofrece una interfaz ms simple para el particionamiento de sus discos y soporta particiones muy grandes (mayores de 2 TB). Arranque parted en su disco (en nuestro ejemplo, utilizaremos /dev/sda): Listado de Cdigo 4.1: Arrancar parted
# parted /dev/sda GNU Parted 2.3 Using /dev/vda Welcome to GNU Parted! Type 'help' to view a list of commands.

Para mostrar todas las opciones que soporta parted, teclee help y pulse la tecla Intro. Por ahora, le pediremos a parted que nos muestre las particiones que estn en uso actualmente en el disco seleccionado. Para hacer esto, se puede utilizar el comando print. Listado de Cdigo 4.2: Una ejemplo de configuracin de particiones mostrado por parted
(parted) print Model: SCSI Block Device Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number 1 2 3 Start 512B 2148MB 3222MB End 2148MB 3222MB 21.5GB Size 2148MB 1074MB 18.3GB Type primary primary primary

File system ext4 linux-swap(v1)

Flags lvm

Opcional: Ajustar la etiqueta GPT La mayora de los discos en los sistemas x86/amd64 estn preparados para utilizar una etiqueta msdos. Sin embargo, si va crear particiones muy grandes (de 2 TB y mayores), deber usar en su disco una etiqueta gpt que significa GUID Partition Type (Tipo de Particin GUID). Si usa parted, puede hacer esto con mklabel gpt: Aviso: Al cambiar el tipo de particin, todas las particiones de su disco sern eliminadas.

Se perdern todos los datos del disco. Listado de Cdigo 4.3: Ajustar la etiuqueta GPT
(parted) mklabel gpt

Eliminar todas las particiones Si no ha hecho esto an, (por ejemplo a travs de la operacin mklabel anterior, o porque el disco es una recientemente formateado), eliminaremos en primer lugar todas las particiones presentes en el disco. Teclee rm <nmero> donde <nmero> es la particin que desea eliminar. Listado de Cdigo 4.4: Eliminar una particin del disco
(parted) rm 2

Haga lo mismo para el resto de particiones que no va a necesitar. Asegrese, sin embargo, de que no comete errores en esta parte ya que parted realiza los cambios inmediatamente (al contrario que fdisk que los deja pendientes, permitiendo al usuario "deshacer" sus cambios antes de salvarlos o salir de fdisk). Crear las particiones Ahora, crearemos las particiones que mencionamos arriba. Esto no va a ser muy difcil usando parted, todo lo que necesitamos es informar a parted sobre los siguientes ajustes:

El tipo de particin que se debe utilizar. Este ser normalmente primary (primaria) en caso de que no vaya a tener ms de cuatro particiones (si usa la etiqueta de particionamiento msdos). De lo contrario, necesitar que su cuarta particin sea extended (extendida) la cual contendr el resto del disco, y deber crear particiones de tipo logical (lgicas) dentro de ella. Si utiliza un disco etiquetado con particin gpt, entonces no tendr lmite en el nmero de particiones primarias que puede crear. El tipo de sistema de ficheros a usar. La aplicacin parted soporta los sistemas de ficheros ms comunes y sabe qu tipo de identificador (ID) de particin necesita para usar en las particiones. Esto no significa que parted vaya a crear un sistema de ficheros en la particin (puede hacer esto con el comando mkpartfs, sin embargo, nosotros usaremos los comandos normales mkfs.* ms adelante para este propsito). El ID de la particin lo utilizan a menudo las aplicaciones de auto deteccin para saber que hacer con una particin en particular. La localizacin en la que comienza la particin (se puede expresar en MB o en GB) La localizacin en la que termina la particin (se puede expresar en MB o en GB)

Una ventaja de parted es que puede usar los tamaos de la particin para encontrar las localizaciones correctas de comienzo y terminacin de forma fcil, como veremos en el prximo ejemplo. Listado de Cdigo 4.5: Crear las particiones
# Crear una particin /boot de 32 MB (parted) mkpart primary ext2 0 32mb Warning: The resulting partition is not properly aligned for best performance.

Ignore/Cancel? i # Crear una particin de intercambio de 512 MB (parted) mkpart primary linux-swap 32mb 542mb # Crear una particin que ocupa todo el disco. # -1s (menos uno s) indica el final del disco (parted) mkpart primary ext4 542mb -1s Warning: You requested a partition from 542MB to 21.5GB. The closest location we can manage is 542MB to 21.5GB. Is this still acceptable to you? Yes/No? y

Puede ahora mostrar (print) la disposicin de las particiones de nuevo, para validar que todo est en su sitio. Cuando est preparado, utilice el comando quit para salir de parted. 4.e. Crear los sistemas de ficheros Introduccin Creadas las particiones, debemos formatearlas para poder colocarles un sistema de ficheros. Si no le importa el tipo de sistema de ficheros que desee utilizar y est conforme con nuestra eleccin por defecto, contine con la seccin Creacin de Sistema de Ficheros en una Particin. En caso contrario, siga leyendo para ver qu sistemas de ficheros puede utilizar ... Sistemas de ficheros El ncleo Linux soporta varios sistemas de ficheros. Explicaremos ext2, ext3, ext4, ReiserFS, XFS y JFS por ser los ms utilizados en sistemas Linux. ext2 es un sistema de ficheros Linux probado, pero no dispone de soporte para transacciones, lo que significa que las comprobaciones rutinarias al arrancar pueden tardar bastante tiempo. Ahora, hay muchas opciones alternativas, sistemas de ficheros de nueva generacin con soporte para transacciones cuya integridad puede ser verificada con mayor rapidez, por lo que gozan de mayor popularidad. Los sistemas de ficheros transaccionales previenen retrasos durante el reinicio del equipo, incluso cuando el sistema de ficheros est en un estado inconsistente. Si desea instalar Gentoo en un disco pequeo (de menos de 4GB), entonces necesitar indicarle a ext2 que reserve suficientes nodos i cuando cree el sistema de ficheros. La aplicacin mke2fs utiliza el ajuste "bytes-per-inode" para calcular cuantos nodos i tendra un sistema de ficheros. Al ejecutar mke2fs -T small /dev/<device> el nmero de nodos i generalmente ser el cudruple para un sistema de ficheros dado ya que su "bytes-per-inode" se reduce de uno cada 16kB a uno cada 4kB. Puede ajustar esto ms tarde utilizando mke2fs -i <ratio> /dev/<device>. ext3 es la versin transaccional de ext2, que proporciona soporte para una rpida recuperacin adems de otros modos mejorados de funcionamiento como registro completo y ordenado de datos. Utiliza un rbol HTree como ndice que permite un alto rendimiento en casi todas las situaciones. En resumen ext3 es un sistema de ficheros muy bueno y fiable. Ext3 est recomendado en sistemas de ficheros para cualquier propsito y cualquier plataforma. Si desea instalar Gentoo en un disco pequeo (de menos de 4GB), entonces necesitar indicarle a ext3 que reserve suficientes nodos i cuando cree el sistema de ficheros. La aplicacin mke2fs utiliza el ajuste "bytes-per-inode" para calcular cuantos

nodos i tendra un sistema de ficheros. Al ejecutar mke2fs -T small /dev/<device> el nmero de nodos i generalmente ser el cudruple para un sistema de ficheros dado ya que su "bytes-per-inode" se reduce de uno cada 16kB a uno cada 4kB. Puede ajustar esto ms tarde utilizando mke2fs -i <ratio> /dev/<device>. El sistema de ficheros ext4 se cre como una bifurcacin en el cdigo (fork) del sistema de ficheros ext3, incorporando nuevas caractersticas, mejoras de rendimiento y eliminacin de los limites de tamao realizando cambios moderados en el formato del disco. Puede trabajar con volmenes de hasta 1 EB y con un tamao mximo de fichero de 16 TB. En lugar de la asignacin de bloques usando mapas de bits que emplean los sistemas de ficheros clsicos ext2/3, ext4 utiliza extents (en ingls), lo cual mejora el rendimiento con los ficheros grandes y reduce la fragmentacin. Ext4 tambin ofrece un algoritmo ms sofisticado de asignacin de bloques (asignacin demorada y asignacin mltiple de bloques) ofreciendo al controlador del sistema de ficheros ms formas de optimizar la disposicin de los datos en el disco. El sistema de ficheros ext4 es un compromiso entre la estabilidad del cdigo para produccin y el deseo de introducir extensiones a un sistema de ficheros que ya casi tiene una dcada. JFS de IBM es un sistema de ficheros de alto rendimiento con soporte transaccional. JFS es un sistema de ficheros ligero, rpido y fiable, basado en un rbol B+ con un buen rendimiento bajo varias condiciones. ReiserFS es un sistema de ficheros B+ (basado en rboles balanceados) que tiene un gran rendimiento, especialmente cuando trata con muchos ficheros pequeos a costa de emplear ms ciclos de CPU. ReiserFS parece tener menos mantenimiento que otros sistemas de ficheros. XFS es un sistema de ficheros transaccional el cual viene con un juego de caractersticas robustas y est optimizado para ser escalable. XFS parece ser menos robusto ante fallos hardware. Creacin de Sistema de Ficheros en una Particin Para crear un sistema de ficheros en una particin o volumen existen herramientas especficas para cada sistema de ficheros: Sistema de Ficheros ext2 ext3 ext4 reiserfs xfs jfs Comando de Creacin mkfs.ext2 mkfs.ext3 mkfs.ext4 mkreiserfs mkfs.xfs mkfs.jfs

Por ejemplo, para formatear la particin de arranque (/dev/sda1 segn el ejemplo) en formato ext2 y la particin de raz (/dev/sda3 segn el ejemplo) en formato ext3, utilizara los siguientes comandos: Listado de Cdigo 5.1: Creacin de un sistema de ficheros en una particin
# mkfs.ext2 /dev/sda1

# mkfs.ext3 /dev/sda3

Y ahora, puede crear sistemas de fichero sobre sus particiones o volmenes lgicos recin creados. Activar la particin de intercambio mkswap es el comando usado para inicializar particiones de intercambio: Listado de Cdigo 5.2: Inicializacin de una particin de intercambio
# mkswap /dev/sda2

Para activar la particin, usa el comando swapon: Listado de Cdigo 5.3: Activando la particin de intercambio
# swapon /dev/sda2

Crea y activa la particin de intercambio con los comandos mencionados arriba. 4.f. Montaje Ahora que las particiones estn inicializadas y albergan sistemas de ficheros, es hora de montarlas. Utiliza el comando mount. No olvides de crear puntos de montaje necesarios para cada particin que has creado. Como ejemplo montamos la particin de raz y de arranque: Listado de Cdigo 6.1: Montaje de particiones
# mount /dev/sda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/sda1 /mnt/gentoo/boot

Nota: Si quiere que su /tmp resida sobre una particin diferente, asegrese de cambiar los permisos despus de montarla: chmod 1777 /mnt/gentoo/tmp. Lo mismo debe ser aplicado a /var/tmp. Tambin necesitamos montar el sistema de ficheros proc (la interfaz virtual del ncleo) en /proc. Pero primero necesitamos situar nuestros ficheros en las particiones. Continue con Instalacin de Ficheros de Instalacin de Gentoo.

5. Instalando los archivos de instalacin Gentoo


5.a. Instalando el Stage comprimido (tarball) Ajustar la Fecha/Hora correcta Antes de continuar debe revisar la fecha y la hora y actualizarlos. Un reloj mal configurado puede traer resultados extraos a futuro! Para comprobar la fecha/hora actual, ejecute el comando date: Listado de Cdigo 1.1: Verificar la fecha/hora

# date Fri Mar 29 16:21:18 UTC 2005

Si la fecha/hora est equivocada, actualcela con el comando date MMDDhhmmAAAA, con la siguiente sintaxis (Mes, Da, hora, minuto y Ao). En este punto, se debera usar la hora UTC. Podr utilizar su propia zona horaria ms adelante. Por ejemplo, para ajustar la fecha y hora a las 16:21 horas del 29 de marzo del 2005: Listado de Cdigo 1.2: Ajustar la fecha/hora UTC
# date 032916212005

Realizando su propia eleccin El prximo paso a llevar a cabo es instalar el tarball del archivo stage3 escogido en su sistema. Tiene la opcin de descargarlo de Internet o, si ha arrancado desde un CD Universal de Gentoo, cpielo desde el propio CD. En la mayora de las ocasiones, el comando uname -m puede ayudarle a decidir que archivo stage tiene que descargar. Los CDs y LiveCDs Minimal no contienen ningn archivo stage3. 5.b. Por defecto: Utilizar un Stage desde Internet Descargando el Stage comprimido (tarball) Vaya al punto de montaje de Gentoo en el que ha montado los sistemas de archivo (probablemente /mnt/gentoo): Listado de Cdigo 2.1: Ir al punto de montaje de Gentoo
# cd /mnt/gentoo

Dependiendo del medio de instalacin, tendremos un par de herramientas disponibles para descargar el stage. Si disponemos de links, podremos navegar por la lista de servidores rplica de Gentoo y escoger el ms cercano a nosotros: escriba links http://www.gentoo.org/main/en/mirrors.xml y pulse intro. Si no tiene links, debera disponer de lynx. Si necesita pasar a travs de un proxy, exporte las variables http_proxy y ftp_proxy: Listado de Cdigo 2.2: Configurar la informacin del proxy para lynx
# export http_proxy="http://proxy.server.com:port" # export ftp_proxy="http://proxy.server.com:port"

A partir de ahora asumiremos que tiene links a su disposicin. Seleccione un servidor rplica cercano. Normalmente los servidores HTTP nos servirn, sin embargo, tambin estn disponibles otros protocolos. Entre en el directorio releases/x86/autobuilds/. En l, Deberan aparecer todos los archivos de stage disponibles para su arquitectura (quiz almacenados en subdirectorios con el nombre de cada subarquitectura). Seleccione uno y pulse D para descargarlo. Cuando haya terminado, pulse Q para cerrar el navegador.

La mayora de usuarios de PC deberan emplear el archivo stage3-i686<release>.tar.bz2. Todos los PCs modernos son considerados i686. Si utiliza una mquina antigua, puede revisar la lista de procesador compatibles con i686 en la wikipedia. Los procesadores antiguos, como son los Pentium, K5, K6 o Via C3 y similares necesitan el stage i586. Los procesadores ms antiguos de i486 no estn soportados. Listado de Cdigo 2.3: Navegar por la lista de servidores rplica con links
# links http://www.gentoo.org/main/en/mirrors.xml (Si necesita soporte para proxy con links:) # links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml

Conviene asegurarse de que ha descargado un archivo stage3 - las instalaciones utilizando un stage1 o stage2 no reciben soporte. Si quiere comprobar la integridad del tarball de stage que ha descargado, utilice md5sum y compare la salida con la suma de comprobacin MD5 que proporciona el servidor rplica. Listado de Cdigo 2.4: Comprobacin de integridad del tarball de stage
# md5sum -c stage3-i686-<release>.tar.bz2.DIGESTS stage3-i686-<release>.tar.bz2: OK

Extraer el Stage comprimido Ahora desempaquetamos el stage descargado en sistema. Usaremos tar para dicha labor y este es el mtodo ms fcil. Listado de Cdigo 2.5: Descomprimir el Stage
# tar xvjpf stage3-*.tar.bz2

Asegrese de usar las mismas opciones xvjpf). La x se usa para Desempaquetar, la v (Verbose)para ver que pasa durante el proceso de extraccin (opcional), la j para Descomprimir con bzip2, la p para Preservar los permisos y la f para decir que extraemos un archivo, no la entrada estndar. Ahora que el stage est instalado sigamos con Instalando Portage. 5.c. Instalando Portage Instalando una imagen de Portage Ahora tiene que instalar una imagen de Portage, es un conjunto de archivos que informan a Portage sobre los programas que puede instalar, que perfiles estn disponibles, etc. Descargar e instalar una imagen de Portage Vaya al punto de montaje donde tiene montado su sistema de ficheros (normalmente /mnt/gentoo):

Listado de Cdigo 3.1: Situndose en el punto de montaje de Gentoo


# cd /mnt/gentoo

Ejecute links (o lynx) y vaya a la lista de servidores rplica de Gentoo. Elija un servidor cercano y abra el directorio snapshots/. De all descargue la ltima imagen de Portage (portage-latest.tar.bz2), seleccionndola y presionando D. Listado de Cdigo 3.2: Comprobar la lista de servidores rplica de Gentoo
# links http://www.gentoo.org/main/en/mirrors.xml

Ahora salga del navegador presionando Q. Ahora dispone de una imagen de Portage guardada en /mnt/gentoo. Si quiere comprobar la integridad de la imagen descargada, utilice md5sum y compare la salida con la suma de comprobacin MD5 que proporciona el servidor rplica. Listado de Cdigo 3.3: Comprobar la integridad de una imagen de Portage
# md5sum -c portage-latest.tar.bz2.md5sum portage-latest.tar.bz2: OK

En el siguiente paso, vamos a descomprimir la imagen de Portage en su sistema de ficheros. Asegrese de utilizar los comandos exactos; la ltima opcin es una C mayscula, no una c. Listado de Cdigo 3.4: Descomprimir la imagen de Portage
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

5.d. Configurando las opciones de compilacin Introduccin Para optimizar Gentoo, tendr que ajustar un par de variables que afectarn el comportamiento de Portage. Todas estas variables se pueden fijar como variables de entorno (usando export) pero eso no es permanente. Para mantener su configuracin, Portage dispone de /etc/make.conf, un fichero de configuracin para Portage. Este es el fichero que editaremos ahora. Nota: Una lista comentada de todas las posibles variables puede encontrarse en /mnt/gentoo/usr/share/portage/make.conf.example. Para una instalacin de Gentoo correcta lo nico que necesita es configurar las variables que se mencionan en las siguientes lneas. Use su editor favorito (en esta gua nosotros usaremos nano. As que empezamos con la modificacin de las variables. Listado de Cdigo 4.1: Abrir /etc/make.conf
# nano -w /mnt/gentoo/etc/make.conf

Como probablemente habr notado, el fichero make.conf.example est estructurado de una manera genrica: Las lneas comentadas empiezan con "#", otras lneas definen

variables usando la sintaxis VARIABLE="contenido". El fichero make.conf utiliza la misma sintaxis. Discutiremos muchas de esas variables ms adelante. CFLAGS y CXXFLAGS Las variables CFLAGS y CXXFLAGS, definen los parmetros de optimizacin para el compilador de C y C++ de gcc respectivamente. Aunque generalmente se definen aqu, tendr el mximo rendimiento si optimiza estos parmetros para cada programa por separado. La razn es que cada programa es diferente. En el fichero make.conf deber definir los parmetros de optimizacin que piense que vayan a hacer su sistema el mejor en todas las situaciones. No coloque parmetros experimentales en esta variable; un nivel demasiado alto de optimizacin puede hacer que los programas se comporten mal (cuelgues, o incluso peor, funcionamientos errneos). No explicaremos todas las opciones posibles para la optimizacin. Pero si quiere conocerlas todas, lase El manual en lnea de GNU o la pgina informacin de gcc (info gcc -- Slo en un sistema Linux funcional). El fichero make.conf tambin contiene una gran cantidad de ejemplos e informacin; no olvide leerlo tambin. El primer parmetro es -march= o -mtune=, el cual especifica el nombre de la arquitectura destino. Las posibles opciones estn descritas en el fichero make.conf.example (como comentarios). Seguida de esta, est el parmetro -O, que especifica la clase optimizacin de gcc. Las clases posibles son s (para tamao optimizado), 0 (para no optimizar), 1, 2 o incluso 3 para la optimizacin de velocidad (cada clase tiene los mismos parmetros que la primera, ms algunos extras). -O2 es la recomendada. Es conocido que -O3 provoca problemas cuando se utiliza globalmente en el sistema, por esto se recomienda mantener siempre -O2. Otros parmetros de optimizacin bastante populares son los -pipe (usando tuberas en lugar de ficheros temporales para la comunicacin entre las diferentes etapas de compilacin). No tiene ningn impacto sobre le cdigo generado, pero usa ms memoria. En sistemas con poca memoria, el proceso del compilador podra ser terminado. En este caso, no use este parmetro. Cuidado con utilizar -fomit-frame-pointer (el cual no mantiene el puntero de macro en un registro para las funciones que no lo necesiten) pues podra tener graves repercusiones en la depuracin de errores en aplicaciones. Cuando defina las variables CFLAGS y CXXFLAGS, debera combinar algunos parmetros de optimizacin, Los valores por defecto que trae el archivo stage3 deberan ser suficientemente buenos. El siguiente ejemplo es simplemente eso, un ejemplo: Listado de Cdigo 4.2: Definir las variables CFLAGS y CXXFLAGS
CFLAGS="-O2 -march=i686 -pipe" # Use la misma configuracin para ambas variables. CXXFLAGS="${CFLAGS}"

Nota: Quiz quiera echar un vistazo a la Gua de Compilacin Optimizada para mayor informacin sobre las distintas opciones de compilacin que afectan al sistema.

MAKEOPTS Con la variable MAKEOPTS definimos cuantas compilaciones paralelas pueden hacerse al mismo tiempo cuando instalamos un paquete. El valor sugerido se obtiene sumando uno a la cantidad de CPUs (o de cores) de su sistema, aunque este valor no es siempre el perfecto. Listado de Cdigo 4.3: MAKEOPTS para un sistema normal de 1-CPU
MAKEOPTS="-j2"

Preparados, listos, ya! Actualice su /mnt/gentoo/etc/make.conf con sus propios parmetros y guarde los cambios (los usuarios de nano deben usar Ctrl-X). Ahora estamos listos para continuar con Instalando el sistema base de Gentoo.

6. Instalando el sistema base de Gentoo


6.a. Chrooting Opcional: Seleccionando servidores rplica Para poder descargar el cdigo fuente rpidamente se recomienda seleccionar un servidor rplica rpido. Portage comprobar en su archivo make.conf la variable GENTOO_MIRRORS y utilizar los servidores que se especifican all. Puede navegar en nuestra lista de rplicas y buscar un servidor (o servidores) que estn cerca de su localizacin (ya que estos suelen resultar los ms rpidos), sin embargo, nosotros le facilitamos una buena herramienta llamada mirrorselect la cual proporciona una interfaz amigable para seleccionar los servidores rplicas que quiera. Simplemente navegue a los servidores rplica que desee y pulse la barra espaciadora para seleccionar uno o ms servidores. Listado de Cdigo 1.1: Utilizar mirrorselect para la variable GENTOO_MIRRORS
# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf

Otra importante configuracin es la variable SYNC en make.conf. Esta variable contiene el servidor rsync que quiere utilizar para actualizar su rbol Portage (la coleccin de ebuilds, guiones que contienen toda la informacin que Portage necesita para descargar e instalar software). Aunque puede introducir manualmente el servidor SYNC, mirrorselect puede encargarse tambin de esto: Listado de Cdigo 1.2: Seleccionar un servidor rsync utilizando mirrorselect
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf

Despus de ejecutar mirrorselect es recomendable que compruebe sus configuraciones en /mnt/gentoo/etc/make.conf. Nota: Si desea seleccionar un servidor SYNC manualmente en make.conf, revise la lista de servidores espejo comunitarios para averiguar el servidor ms cercano. Recomendamos escoger uno de rotacin, como rsync.us.gentoo.org, en vez de uno

individual. Esto ayuda a repartir la carga y agrega seguridad en caso que el servidor espejo individual est fuera de lnea. Copiar la informacin DNS An queda una cosa que hacer antes de entrar en el nuevo entorno, copiar la informacin sobre los DNS en /etc/resolv.conf. Necesita hacer esto para asegurarse de que la red contine funcionando despus de entrar en el nuevo entorno. /etc/resolv.conf contiene los servidores de nombres para su red. Listado de Cdigo 1.3: Copiar la informacin de DNS
(La opcin "-L" es necesaria para asegurarnos que no copiamos un enlace simblico) # cp -L /etc/resolv.conf /mnt/gentoo/etc/

Montar los sistemas de archivos /proc y /dev En breve, cambiaremos la raz de Linux a la nueva localizacin. Para asegurarse de que el nuevo entorno funciona correctamente, necesitaremos disponer de ciertos sistemas de ficheros en la nueva localizacin. Monte el sistema de ficheros /proc en /mnt/gentoo/proc para poder usar la informacin proporcionada por el ncleo dentro del entorno chroot y luego monte el sistema de ficheros /dev. Listado de Cdigo 1.4: Montar /proc y /dev
# mount -t proc none /mnt/gentoo/proc # mount --rbind /dev /mnt/gentoo/dev

Entrando al nuevo entorno Ahora que todas las particiones estn inicializadas y el sistema base instalado, es hora de entrar en nuestro nuevo entorno de instalacin haciendo chrooting en l. Esto significa pasar desde el actual entorno de instalacin (CD de instalacin u otro medio) hacia su entorno de instalacin (o sea, las particiones inicializadas). El enjaulamiento se hace en tres pasos. Primero cambiamos la raz desde / (en el medio de instalacin) a /mnt/gentoo (en sus particiones) usando chroot. Despus crearemos un nuevo entorno usando env-update, el cual, en esencia crea las variables de entorno. Finalmente, cargamos esas variables en memoria tecleando source. Listado de Cdigo 1.5: Entrar al nuevo entorno
# chroot /mnt/gentoo /bin/bash # env-update >> Regenerating /etc/ld.so.cache... # source /etc/profile # export PS1="(chroot) $PS1"

Enhorabuena! Est dentro de su nuevo entorno Gentoo Linux. Por supuesto an no hemos terminado, todava quedan unas cuantas secciones :-)

Si, en cualquier momento, necesita otro terminal o consola para acceder al entorno chroot, todo lo que necesita hacer es ejecutar de nuevo los pasos de arriba. 6.b. Configurar Portage Opcional: Actualizando el rbol Portage Debera actualizar ahora su rbol Portage a la ltima versin. emerge --sync har esto por nosotros. Listado de Cdigo 2.1: Actualizar el rbol Portage
# emerge --sync (Si est utilizando un terminal lento como algunos framebuffers o consolas seriales, puede aadir la opcin --quiet para aumentar la velocidad del proceso:) # emerge --sync --quiet

Si est detrs de un cortafuegos que bloquea el trfico rsync, puede utilizar emergewebrsync el cual descargar e instalar una imagen de Portage para su sistema. Si ha advertido que est disponible una nueva versin de Portage y se debe actualizar, debera hacerlo ejecutando emerge --oneshot portage. Eligiendo el perfil adecuado Primero, una pequea definicin: Un perfil es la piedra inicial de cualquier sistema Gentoo. No solamente especifica unos valores predeterminados para USE, CFLAGS, y otras variables importantes, tambin bloquea del sistema ciertos rangos de versiones de algunos paquetes. Son mantenidos por los desarrolladores de Gentoo. Tiempo atrs, los perfiles raramente los tocaba el usuario. Sin embargo, puede haber situaciones en las cuales sea necesaria un cambio de perfil. Se puede ver el perfil actualmente utilizado con la siguiente orden: Listado de Cdigo 2.2: Comprobar el perfil del sistema
# eselect profile list Available profile symlink targets: [1] default/linux/x86/10.0 * [2] default/linux/x86/10.0/desktop [3] default/linux/x86/10.0/server

Como puede ver, tambin existen sub-perfiles desktop (escritorio) y server (servidor) para algunas arquitecturas. Ejecutando eselect profile list mostrar los perfiles disponibles. Despus de revisar los perfiles disponibles para su arquitectura, puede utilizar uno diferente si lo desea: Listado de Cdigo 2.3: Cambiar de perfil
# eselect profile set 2

Nota: El sub-perfil developer existe especficamente para labores de desarrollo Gentoo Linux. No est diseado para ayudar a establecer entornos generales de desarrollo. Configurando la variable USE La variable USE es una de las ms importantes que Gentoo proporciona a sus usuarios. Muchos programas pueden ser compilados con o sin soporte opcional para ciertas cosas. Por ejemplo, algunos programas pueden ser compilados con soporte gtk, o con soporte qt. Otros programas pueden ser compilados con o sin soporte SSL. Algunos programas pueden ser compilados con soporte framebuffer (svgalib) en lugar de soporte X11 (servidor X). Muchas distribuciones compilan sus paquetes con el mayor soporte posible, aumentando el tamao de los programas y su tiempo de carga, sin mencionar una cantidad enorme de dependencias. Con Gentoo puedes definir con que opciones debe ser compilado un paquete. Ah es donde acta la variable USE. En la variable USE definimos palabras clave que son transformadas a opciones de compilacin. Por ejemplo ssl compilar los programas que lo requieran con soporte ssl.-X quitara el soporte para el servidor X (ntese el signo menos delante). gnome gtk -kde -qt4 compilar sus programas con soporte para gnome (y gtk), pero sin soporte para kde (y qt), haciendo su sistema completamente compatible con GNOME. Los valores por defecto de la variable USE se encuentran en make.defaults, archivos de su perfil. Encontrar los archivos make.defaults en el directorio al cual apunte /etc/make.profile y todos sus directorios padres. El valor predeterminado de configuracin de la variable USE es la suma de todas las configuraciones de USE en todos los archivos make.defaults. Lo que modifique en /etc/make.conf se calcula contra estos valores. Si pone algn valor en su USE, es aadido a la lista por defecto. Si elimina algo en su variable USE, ponindole un signo menos delante, es eliminado de la lista por defecto (si estaba en ella claro). Nunca cambie nada en /etc/make.profile ya que se sobreescribir cuando actualice Portage! Puede encontrar una descripcin completa sobre la variable USE en la segunda parte del Manual de Gentoo Captulo 1: Variables USE. Encontrar una descripcin ms extensa sobre las opciones de la variable USE en su sistema, en /usr/portage/profiles/use.desc. Listado de Cdigo 2.4: Ver las opciones disponibles
# less /usr/portage/profiles/use.desc (Puede desplazarse arriba y abajo utilizando sus teclas de flechas y salir pulsando 'q')

Como ejemplo, se muestran algunas opciones USE para un sistema basado en KDE con DVD, ALSA y soporte para grabar CD's. Listado de Cdigo 2.5: Abrir /etc/make.conf
# nano -w /etc/make.conf

Listado de Cdigo 2.6: Configurar la variable USE


USE="-gtk -gnome qt4 kde dvd alsa cdr"

7. Configurando el kernel

7.a. Zona Horaria Primero necesita seleccionar su zona horaria para que su sistema sepa dnde est localizado. Busque su zona horaria en /usr/share/zoneinfo, cpiela a /etc/localtime. Por favor, evite las zonas horarias /usr/share/zoneinfo/Etc/GMT* ya que los nombres no indican las zonas esperadas. Por ejemplo, GMT-8 es realmente GMT+8. Listado de Cdigo 1.1: Configurar la Zona Horaria
# ls /usr/share/zoneinfo (Supongamos que desea utilizar Europe/Brussels) # cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime (A continuacin ajustamos timezone) # echo "Europe/Brussels" > /etc/timezone

7.b. Instalar las Fuentes Elegir un Ncleo El eje alrededor del cual se construyen todas las distribuciones es el ncleo de Linux. Es la capa entre los programas de usuario y el hardware del sistema. Gentoo proporciona a sus usuarios varias fuentes de ncleos. Una lista completa est disponible en la Gua del Ncleo de Gentoo. Para los sistemas basados en x86 tenemos, entre otros ncleos, gentoo-sources (fuentes del ncleo modificadas para obtener algunas caractersticas adicionales). Elija sus fuentes del ncleo e instlelas usando emerge. Listado de Cdigo 2.5: Instalar unas fuentes del ncleo
# emerge gentoo-sources

Cuando vea en /usr/src ver un enlace simblico llamado linux apuntando a las fuentes del ncleo. En este caso, asumimos que la fuentes del ncleo instaladas apuntan a gentoosources-2.6.34-r1. Su versin podra ser distinta, as que por favor tenga esto presente. Listado de Cdigo 2.2: Visualizar el enlace a las fuentes del ncleo
# ls -l /usr/src/linux lrwxrwxrwx 1 root -> linux-2.6.34-r1 root 12 Oct 13 11:04 /usr/src/linux

Ahora vamos a configurar y compilar las fuentes del ncleo. Puede usar para esto genkernel, que construir un ncleo genrico como el usado por el CD de instalacin. Aqu explicaremos la configuracin "manual", ya que es la mejor manera de optimizar su entorno. Si quiere configurar manualmente su ncleo, contine con Predeterminado: Configuracin Manual. En cambio, si quiere usar genkernel debe leer Alternativa: Usar genkernel. 7.c. Predeterminado: Configuracin Manual Introduccin

Configurar manualmente un ncleo frecuentemente es visto como el procedimiento ms difcil que tiene que realizar un usuario de Linux. Nada ms lejos de la verdad -- despus de configurar un par de ncleos no recordar si fue difcil ;) Sin embargo, una cosa s es cierta: debe conocer su sistema al empezar a configurar el ncleo manualmente. Se puede recolectar mucha informacin instalando pciutils (emerge pciutils), que contiene lspci. Ahora podr usar lspci en el entorno chroot. Puede ignorar tranquilamente los avisos sobre pcilib (como pcilib: cannot open /sys/bus/pci/devices) desplegado por lspci. Alternativamente, puede ejecutar lspci desde un entorno no-chroot. Los resultados son iguales. Tambin puede ejecutar lsmod para ver qu mdulos del ncleo est usando el CD de instalacin (puede darle indicaciones acerca de qu activar). Ahora vaya al directorio de sus fuentes y ejecute make menuconfig. Esto producir un men de configuracin basado en ncurses. Listado de Cdigo 3.1: Invocar a menuconfig
# cd /usr/src/linux # make menuconfig

Aparecer una pantalla con diversas secciones de configuracin. Primero listaremos algunas opciones que debe activar (sino Gentoo no funcionar, o no funcionar bien sin configuracin adicional). Activar Opciones Necesarias Asegrese que todos los controladores vitales para el arranque del sistema (como pueden ser los de SCSI, ...) estn compilados dentro del ncleo y no como mdulos o, de lo contrario, su sistema no ser capaz de arrancar correctamente. Seleccione la familia correcta de procesadores: Listado de Cdigo 3.2: Seleccionar la familia de procesador correcta
Processor type and features ---> (Seleccinelo de acuerdo a su sistema) (Athlon/Duron/K7) Processor family

A continuacin seleccione Maintain a devtmpfs file system to mount at /dev de modo que los ficheros de dispositivo crticos estn disponibles cuanto antes en el proceso de inicio. Listado de Cdigo 3.3: Habilitar soporte devtmpfs
Device Drivers ---> Generic Driver Options ---> [*] Maintain a devtmpfs filesystem to mount at /dev [ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs

Vaya ahora a File Systems y seleccione los soportes para los sistemas de archivos que use. No los compile como mdulos, de otro modo su sistema Gentoo no ser capaz de montar sus particiones. Tambin seleccione Virtual memory y el /proc file system. Listado de Cdigo 3.4: Seleccionar los sistemas de archivos necesarios
File systems --->

(Seleccione una o ms de las siguientes opciones segn las necesite su sistema) <*> Second extended fs support <*> Ext3 journalling file system support <*> The Extended 4 (ext4) filesystem <*> Reiserfs support <*> JFS filesystem support <*> XFS filesystem support ... Pseudo Filesystems ---> [*] /proc file system support [*] Virtual memory file system support (former shm fs) (Habilite el soporte de etiqueta de particin GPT si lo ha utilizado anteriormente) Partition Types ---> [*] Advanced partition selection ... [*] EFI GUID Partition support

Si est usando PPPoE para conectarse a Internet o est usando un mdem dial-up, necesitar las siguientes opciones en el ncleo: Listado de Cdigo 3.5: Seleccionar los controladores PPPoE necesarios
Device Drivers ---> Network device Support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports

Las dos opciones de compresin no le afectan pero no son necesarias, ni para la opcin PPP over Ethernet, tal vez solo sea usada por ppp cuando configure un ncleo en modo PPPoE. Si lo requiere, no olvide incluir el soporte en el ncleo para su tarjeta ethernet: Si tiene un CPU Intel que soporte HyperThreading (tm), o tiene un sistema multi-CPU, debe activar "Symmetric multi-processing support": Listado de Cdigo 3.6: Activar el soporte SMP
Processor type and features ---> [*] Symmetric multi-processing support

Nota: En sistemas multi-ncleo, cada ncleo cuenta como un procesador. Si se dispone de ms de 4GB de RAM, es necesario activar "High Memory Support (64G)". Si usa dispositivos de entrada USB (como un ratn o teclado) no olvide activarlos tambin: Listado de Cdigo 3.7: Activar Soporte para Dispositivos de Entrada USB
Device Drivers ---> USB Devices ---> [*] USB Human Interface Device (full HID) support

Si se quiere soporte para PCMCIA en ordenadores porttiles, no se olvide de activar el soporte para el puente de tarjetas PCMCIA que se encuentre en su sistema: Listado de Cdigo 3.20: Activar el soporte PCMCIA
Bus options (PCI etc.) ---> PCCARD (PCMCIA/CardBus) support ---> <*> PCCard (PCMCIA/CardBus) support (Seleccione 16 bit si necesita soporte para las antiguas tarjetas PCMCIA. La mayora de la gente querr utilizar esto.) <*> 16-bit PCMCIA support [*] 32-bit CardBus support (Seleccione los puentes adecuados a continuacin) *** PC-card bridges *** <*> CardBus yenta-compatible bridge support (NEW) <*> Cirrus PD6729 compatible bridge support (NEW) <*> i82092 compatible bridge support (NEW)

Cuando haya terminado de configurar el ncleo, contine con Compilar e Instalar. Compilar e Instalar Ahora que hemos configurado el ncleo, es hora de compilarlo e instalarlo. Salga de la configuracin y comience con el proceso de compilacin: Listado de Cdigo 6.16: Compilar el ncleo
# make && make modules_install

Al terminar de compilar el ncleo, copie la imagen a /boot. Use cualquier nombre que estime apropiado para el ncleo y recurdelo, ya que le har falta ms adelante al configurar el gestor de arranque. Recuerde reemplazar kernel-2.6.34-gentoo-r1 con el nombre y versin del ncleo. Listado de Cdigo 3.10: Instalar el ncleo
# cp arch/x86/boot/bzImage /boot/kernel-2.6.34-gentoo-r1

(Opcional) Construyendo un sistema de ficheros en RAM para el inicio (Initramfs) Si est utilizando un esquema de particionado especfico en el que las localizaciones de ficheros importantes (como /usr o /var) estn en particiones separadas, entonces necesitar configurar un initramfs de modo que estas particiones se monten antes de que sean necesarias para el arranque. Sin un initramfs, se corre el riesgo de que su sistema no arranque de forma adecuada ya que las herramientas responsables de montar los sistemas de ficheros necesiten informacin que se encuentre en esos sistemas de ficheros. Un initramfs contendr los ficheros necesarios que sern utilizados cuando el ncleo arranque, pero antes de que el control se ceda a la herramienta init. Los guiones contenidos en el initramfs se asegurarn entonces de que las particiones se montan de forma adecuada antes de continuar con el inicio del sistema. Para instalar un initramfs, en primer lugar instle el paquete genkernel, a continuacin, indquele que desea construir un initramfs.

Listado de Cdigo 3.11: Construir un initramfs


# emerge genkernel # genkernel --install initramfs

Si necesita soporte especfico en el initramfs, como lvm o raid, aada las opciones apropiadas a genkernel. Lea genkernel --help para ms informacin, o el siguiente ejemplo que aade soporte para LVM y software RAID (mdadm): Listado de Cdigo 3.12: Construir un initramfs con soporte para LVM y software RAID
# genkernel --lvm --mdadm --install initramfs

El initramfs se almacenar en /boot. Puede encontrar el fichero generado simplemente listando los ficheros que comienzan por initramfs: Listado de Cdigo 3.13: Comprobar el nombre de fichero del initramfs
# ls /boot/initramfs*

Ahora contine con Mdulos del Ncleo. 7.d. Alternativa: Usar genkernel Si est leyendo esta seccin, eligi usar nuestro guin genkernel para configurar el ncleo. Ahora que el rbol de las fuentes del ncleo est instalado, es hora de compilarlo usando nuestro guin genkernel que automticamente construir un ncleo. genkernel trabaja configurando un ncleo prcticamente idntico al ncleo de nuestro CD de instalacin. Esto significa que cuando use genkernel para construir su ncleo, su sistema generalmente detectar todo su hardware en el arranque, tal como lo hace el CD de instalacin. Debido a que genkernel no requiere ninguna configuracin manual del ncleo, es una solucin ideal para esos usuarios que no se sienten cmodos compilando sus propios ncleos. Ahora, veamos como usar genkernel. Primero, haga emerge al ebuild de genkernel: Listado de Cdigo 4.1: Instalar genkernel
# emerge genkernel

Ahora, compile las fuentes del ncleo ejecutando genkernel all Recuerde que genkernel compila un ncleo que soporta casi todo el hardware, esta compilacin tardar un rato en terminar! Observe que si su particin de arranque no usa el sistema de archivos ext2 o ext3, necesitar configurar manualmente su ncleo con genkernel --menuconfig all y agregar soporte para su sistema de archivos en el ncleo (no como mdulo). Los usuarios de LVM2 probablemente querrn aadir tambin el argumento --lvm2. Listado de Cdigo 4.2: Ejecutar genkernel
# genkernel all

Una vez que genkernel haya terminado, un ncleo, un conjunto completo de mdulos y un disco ram de inicio (initramfs) sern creados. Usaremos el ncleo e initrd para configurar un gestor de arranque ms tarde en este documento. Escriba los nombres del ncleo y de initrd ya que los necesitar para el archivo de configuracin del gestor de arranque. El initrd iniciar inmediatamente despus del arranque para realizar la autodeteccin de hardware (igual que en el CD de instalacin) antes que inicie su sistema "real". Listado de Cdigo 4.3: Verificar los nombres del ncleo e initrd creados
# ls /boot/kernel* /boot/initramfs*

7.e. Mdulos del Ncleo Configurar los Mdulos Debe listar los mdulos que quiera cargar automticamente en /etc/conf.d/modules. Puede agregar opciones extra a los mdulos si as lo desea. Para ver todos los mdulos disponibles, ejecute el comando find. No olvide sustituir "<kernel version>" por la versin del kernel que acaba de compilar: Listado de Cdigo 5.1: Ver todos los mdulos disponibles
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less

Por ejemplo, para cargar automticamente el mdulo 3c59x.ko (el driver para una tarjeta de red especfica de la familia 3Com), edite el archivo /etc/conf.d/modules y escriba el nombre del mdulo. Listado de Cdigo 5.2: Editar /etc/conf.d/modules
# nano -w /etc/conf.d/modules modules_2_6="3c59x"

Contine la instalacin con Configurar su Sistema.

8. Configurando su sistema
8.a. Informacin del Sistema de Ficheros Qu es el fstab? En Linux, todas las particiones usadas por el sistema deben estar reflejadas en /etc/fstab. Este fichero contiene los puntos de montaje de esas particiones (donde se encuentran en la estructura del sistema de ficheros), cmo deben ser montadas y con que opciones especiales (automticamente o no, si los usuarios pueden montarlas o no, etc.). Creando el /etc/fstab /etc/fstab usa una sintaxis especial. Cada lnea tiene seis campos, separados por espacios en blanco (espacio(s), tabuladores o una combinacin). Cada campo tiene su propio significado:

El primer campo muestra la particin descrita (la ruta al fichero de dispositivo) El segundo campo muestra el punto de montaje donde la particin debe montarse El tercer campo muestra el sistema de ficheros usado por la particin El cuarto campo muestra las opciones de montaje que debe usar mount al tratar de montar la particin. Como cada sistema de ficheros tiene sus propias opciones de montaje, le animamos a leer la pgina man de mount (man mount) para un listado completo. Cuando existen mltiples opciones se separan por comas. El quinto campo es usado por dump para determinar si la particin necesita ser volcada o no. En general puede dejar esto como 0 (cero). El sexto campo es usado por fsck para determinar el orden en que los sistemas de ficheros deben ser comprobados si el sistema no se apag correctamente. La particin raz debe tener un 1 mientras que el resto puede tener 2 (o 0 en el caso en que la comprobacin del sistema de ficheros no sea necesaria).

Importante: El archivo /etc/fstab que proporciona Gentoo de manera predeterminada no es un archivo fstab vlido. Debe crear su propio /etc/fstab: Listado de Cdigo 1.1: Abrir /etc/fstab
# nano -w /etc/fstab

Vamos a ver como anotar las opciones para la particin /boot. Esto es solo un ejemplo, si su arquitectura no requiere una particin /boot, no lo copie al pie de la letra. En nuestro ejemplo para x86 de particionamiento, /boot es la particin /dev/sda1, con un sistema de ficheros ext2. Esta necesita ser comprobada durante el arranque del sistema, as que necesitamos escribir: Listado de Cdigo 1.2: Un ejemplo de lnea /boot para /etc/fstab
/dev/sda1 /boot ext2 defaults 1 2

Algunos usuarios no quieren que su particin /boot sea montada automticamente para mejorar la seguridad de su sistema. Estos usuarios deberan sustituir defaults por noauto. Esto implica la necesidad de montar manualmente la particin cada vez que se quiera usarla. Aada las reglas que coincidan con su esquema de particionamiento para su dispositivo(s) CD-ROM, y por supuesto, si tiene otras particiones o dispositivos, tambin para stos. Ahora use el ejemplo que tiene a continuacin para crear su /etc/fstab: Listado de Cdigo 1.3: Un ejemplo completo de /etc/fstab
/dev/sda1 /dev/sda2 /dev/sda3 /boot none / ext2 swap ext3 auto defaults,noatime sw noatime noauto,user 1 2 0 0 0 1 0 0

/dev/cdrom

/mnt/cdrom

auto provoca que mount intente adivinar el sistema de archivos (se recomienda para los dispositivos extrables ya que pueden ser creados con distintos sistemas de ficheros) y user hace posible a los usuarios que no pertenezcan a root monten el CD.

Para aumentar el rendimiento, la mayora de usuarios podran querer agregar la opcin noatime como opcin de montaje, que desemboca en un sistema ms rpido, puesto que los tiempos de acceso no son registrados (de todas formas, no necesitar esto en general): Repase su /etc/fstab, guarde los cambios y salga para continuar. 8.b. Informacin de red Nombre de anfitrin, nombre de dominio, etc. Una de las elecciones que un usuario ha de hacer es el nombre de su PC. Esto parece muy fcil, pero muchos usuarios tienen dificultades eligiendo el nombre apropiado para su PCLinux. Para acelerar las cosas, sepa que el nombre que elija puede cambiarlo ms tarde. Para el caso que nos ocupa, puede llamar a su sistema simplemente tux y a su dominio redcasera. Listado de Cdigo 2.1: Ajustar el nombre del anfitrin
# nano -w /etc/conf.d/hostname (Configure la variable hostname con el nombre del anfitrin) hostname="tux"

A continuacin, si se necesita un nombre de dominio, puede configurarse en /etc/conf.d/net. Solamente necesitar un dominio si su ISP o administrador de sistemas se lo indica, o si tiene un servidor DNS pero no DHCP. No necesitar preocuparse por el DNS o nombres de dominios si su red se configura por DHCP. Listado de Cdigo 2.2: Configurar el nombre de dominio
# nano -w /etc/conf.d/net (Asigne la variable dns_domain a su nombre de dominio) dns_domain_lo="homenetwork"

Nota: Si no configura un nombre de dominio, puede librarse del mensaje: "This is hostname.(none)" en las pantalla de inicio editando /etc/issue. Simplemente elimine el texto .\O de ese archivo. Si tiene un dominio NIS (si no conoce que es esto, seguramente es que no tenga uno), necesita definirlo: Listado de Cdigo 2.3: Configurar el dominio NIS
# nano -w /etc/conf.d/net (Asigne la variable nis_domain a su nombre de dominio NIS) nis_domain_lo="my-nisdomain"

Nota: Para ms informacin sobre configuracin de DNS y NIS, por favor lea los ejemplos que se encuentran en /usr/share/doc/openrc-*/net.example.bz2 que se pueden leer utilizando bzless. Adems, tal vez quiera hacer emerge openresolv para manejar su configuracin DNS/NIS. Configurando su Red Antes de llegar a experimentar esa sensacin "Hey, ya lo tengo todo", debes recordar que la red que configuraste en el inicio de la instalacin de Gentoo fue tan solo para la

instalacin. A partir de ahora vamos a configurar la red permanentemente para su sistema Gentoo. Nota: Informacin ms detallada sobre redes, incluyendo temas ms avanzados como unin de interfaces (bonding), puenteo (bridging), redes virtuales 802.1Q o redes inalmbricas est disponible en la seccin Configuracin de redes en Gentoo. Toda la informacin de red esta reunida en /etc/conf.d/net. Este fichero usa una sintaxis directa, aunque no intuitiva, si no se sabe como configurar una red manualmente. Pero no se asuste, se lo explicaremos todo. Podemos encontrar un ejemplo completamente comentado que cubre los distintos tipo de configuraciones en /usr/share/doc/openrc*/net.example.bz2 DHCP se emplea de manera predeterminada. Para que funcione, debe instalar un cliente de DHCP. Esto se describe ms adelante en Instalar las herramientas necesarias para el sistema. No se olvide de instalar un cliente DHCP. Si se necesita configurar la conexin de red porque es necesario incluir opciones de DHCP especficas o porque no utiliza DHCP, abra /etc/conf.d/net con su editor favorito (nano se emplea en este ejemplo): Listado de Cdigo 2.4: Abrir /etc/conf.d/net para su edicin
# nano -w /etc/conf.d/net

Ver el siguiente fichero: Listado de Cdigo 2.5: Archivo /etc/conf.d/net por defecto
# # # # This blank configuration will automatically use DHCP for any net.* scripts in /etc/init.d. To create a more complete configuration, please review /usr/share/doc/openrc-*/net.example.bz2 and save your configuration in /etc/conf.d/net (this file :]!).

Para introducir su propia direccin IP, mscara de red y pasarela, necesita configurar tanto config_eth0 como routes_eth0: Listado de Cdigo 2.6: Configurar manualmente la informacin IP para eth0
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" routes_eth0="default via 192.168.0.1"

Para utilizar DHCP defina, config_eth0: Listado de Cdigo 2.7: Obtener una direccin IP automticamente para eth0
config_eth0="dhcp"

Por favor, consulte /usr/share/doc/openrc-*/net.example.bz2 para ver una lista con todas las opciones disponibles. Consulte la pgina man de su cliente DHCP si necesita configurar opciones especficas. Si tiene varias interfaces de red, repita los pasos anteriores utilizando config_eth1, config_eth2, etc.

Ahora guarde la configuracin y salga para continuar. Inicio automtico de red en el arranque Para disponer de su interfaz de red activada en el arranque, necesita agregarla al nivel de ejecucin por defecto (default). Listado de Cdigo 2.8: Agregar net.eth0 al nivel de ejecucin por defecto (default)
# cd /etc/init.d # ln -s net.lo net.eth0 # rc-update add net.eth0 default

Si tiene distintas interfaces de red, necesitara crear los correspondientes net.eth1, net.eth2 etc, tal y como hizo con net.eth0. Anotando la Informacin de la Red Necesita informar a Linux sobre su red. Esto se define en /etc/hosts y ayuda a transformar los nombres de anfitriones a direcciones IP para aquellas mquinas que no se resuelven a travs de su servidor de nombres (DNS). Se necesita definir la mquina. Adems se definen otras mquinas o redes si no se va a configurar un servidor interno de DNS en la propia mquina: Listado de Cdigo 2.9: Abrir /etc/hosts
# nano -w /etc/hosts

Listado de Cdigo 2.10: Completar la informacin de red


(Esto define la mquina actual) 127.0.0.1 localhost

(Definir mquinas adicionales o la propia red, necesitan tener una IP esttica para definirlas de esta manera.) 192.168.0.5 192.168.0.6 jenny.redlocal jenny benny.redlocal benny

Guarde y salga del editor para continuar. Si no tiene PCMCIA, puede continuar con Informacin del Sistema. Los usuarios de PCMCIA deberan leer el siguiente apartado sobre PCMCIA. Opcional: Hacer funcionar el PCMCIA Los usuarios de PCMCIA deben instalar primero el paquete pcmciautils. Listado de Cdigo 2.11: Instalar pcmciautils
# emerge pcmciautils

8.c. Informacin del sistema Contrasea de administrador (Root) Primero fijamos la contrasea de administrador escribiendo:

Listado de Cdigo 3.1: Configurar la contrasea de administrador


# passwd

Informacin del sistema Gentoo usa /etc/rc.conf para configurar los servicios y el arranque y apagado de su sistema. Abra el fichero /etc/rc.conf y disfrute de todos los comentarios que hay en este fichero. Listado de Cdigo 3.2: Configurar servicios
# nano -w /etc/rc.conf

Cuando haya terminado de configurar estos dos ficheros, gurdelos y salga de su editor. Gentoo utiliza /etc/conf.d/keymaps para gestionar la configuracin del teclado. Edtelo y configure su teclado. Listado de Cdigo 3.3: Abrir /etc/conf.d/keymaps
# nano -w /etc/conf.d/keymaps

Tenga especial cuidado con la variable keymap: porque si selecciona un keymap incorrecto, obtendr extraos resultados al escribir con el teclado. Cuando termine de configurar /etc/conf.d/keymaps, guarde los cambios y salga. Gentoo utiliza /etc/conf.d/hwclock para fijar las opciones del reloj. Edtelo de acuerdo a sus necesidades. Listado de Cdigo 3.4: Abrir /etc/conf.d/hwclock
# nano -w /etc/conf.d/hwclock

Si su reloj de hardware no utiliza UTC, aada clock="local" al archivo. De lo contrario notar como el reloj no funciona correctamente. Cuando haya acabado de configurar /etc/conf.d/hwclock, gurdelo y salga del editor. Debera definir la zona horaria que previamente ha copiado a /etc/localtime en el fichero /etc/timezone de modo que futuras actualizaciones del paquete sys-libs/timezonedata puedan actualizar /etc/localtime de forma automtica. Por ejemplo, si utiliz como timezone Europe/Brussels, debera escribir Europe/Brussels en el fichero /etc/timezone. Configurar localizaciones Probablemente utilice nicamente una o dos localizaciones (locales) en su sistema. Debe especificar las localizaciones que utilizar en el fichero /etc/locale.gen. Listado de Cdigo 3.5: Abrir /etc/locale.gen
# nano -w /etc/locale.gen

A continuacin se muestran dos localizaciones para obtener el ingls de Estados Unidos y el espaol de Espaa con los formatos de carcter asociados (como por ejemplo UTF-8).

Listado de Cdigo 3.6: Especificar sus localizaciones


en_US ISO-8859-1 en_US.UTF-8 UTF-8 es_ES ISO-8859-1 es_ES@euro ISO-8859-15

Nota: Puede seleccionar las localizaciones que desee de la lista que se obtiene ejecutando locale -a. Aviso: Le recomendamos que utilice al menos una localizacin UTF-8 ya que sus aplicaciones pueden necesitarla. El siguiente paso es ejecutar locale-gen. Se generarn las localizaciones que ha especificado en el fichero /etc/locale.gen. Listado de Cdigo 3.7: Ejecutar locale-gen
# locale-gen

Una vez realizado el paso anterior, tendr la posibilidad de ajustar las definiciones que afectan a todo el sistema en el fichero /etc/env.d/02locale: Listado de Cdigo 3.8: Definir la localizacin por defecto del sistema en /etc/env.d/02locale
LANG="es_ES.UTF-8" LC_COLLATE="C"

Y recargue su entorno: Listado de Cdigo 3.9: Recargar el entorno del intrprete de comandos
# env-update && source /etc/profile

Disponemos de una Gua de Localizacin para ayudarle en este proceso. Puede tambin leer nuestra detallada Gua UTF-8 para obtener informacin especfica de cmo habilitar UTF-8 en su sistema. Por favor contine con Instalando las herramientas de sistema necesarias.

9. Instalando herramientas necesarias para el sistema


9.a. Bitcora del Sistema Algunas herramientas no estn incluidas en el archivo stage3 porque varios paquetes proporcionan la misma funcionalidad. Ahora es el momento en que debemos decidir cual queremos instalar. La primera herramienta por la que tiene que decidirse es la que proporciona el registro y las bitcoras para su sistema. Unix y Linux tienen una excelente historia en sus capacidades de registros -- si lo quisiera podra registrar todo lo que pasa en su sistema en bitcoras. Esto sucede con el registro del sistema. Gentoo ofrece varios sistemas de registro para elegir. Estn sysklogd, que es el conjunto tradicional de demonios de bitcoras, syslog-ng, un sistema de bitcora avanzado, y

metalog que es una bitcora de sistemas altamente configurable. Tambin puede haber otros en el Portage - el nmero de paquetes disponibles crece da a da. Si est pensando utilizar sysklogd o syslog-ng quiz quiera instalar posteriormente logrotate ya que estas herramientas no proporcionan ningn mecanismo de rotacin para los archivos de log. Para instalar la bitcora del sistema de su eleccin, use emerge y agrguelo al nivel de arranque predeterminado usando rc-update. El siguiente ejemplo instala syslog-ng. Por supuesto puede sustituirlo por el sistema de bitcora de su eleccin: Listado de Cdigo 1.1: Instalar un sistema de bitcoras
# emerge syslog-ng # rc-update add syslog-ng default

9.b. Opcional: Demonio Cron El siguiente es el demonio cron. Aunque es opcional y no lo requiere su sistema es recomendable instalar uno. Pero qu es un demonio cron? Un demonio cron ejecuta comandos en horarios planificados. Es muy cmodo si necesita ejecutar comandos regularmente (por ejemplo a diario, cada semana o mensualmente). Gentoo ofrece tres posibles demonios cron: dcron, fcron y vixie-cron. Instalar cualquiera es similar a instalar un sistema de bitcoras. Sin embargo dcron y fcron requieren un comando extra de configuracin, que es crontab /etc/crontab. Si no sabe cul escoger, use vixie-cron. Solo proporcionamos vixie-cron para instalaciones sin red. Si quiere otro demonio cron puede esperar e instalarlo ms tarde. Listado de Cdigo 2.1: Instalar un demonio cron
# emerge vixie-cron # rc-update add vixie-cron default (Solo si opt por dcron o fcron) # crontab /etc/crontab

9.c. Opcional: Indexar Archivos Si quiere crear un ndice de su sistema de archivos para habilitar su rpida localizacin usando la herramienta locate, necesita instalar sys-apps/mlocate. Listado de Cdigo 3.1: Instalar mlocate
# emerge mlocate

9.d. Opcional: Acceso remoto Si necesita acceder a su sistema desde un equipo remoto despus de la instalacin, no olvide aadir sshd al nivel de ejecucin por defecto: Listado de Cdigo 4.1: Aadir sshd al nivel de ejecucin por defecto
# rc-update add sshd default

Si necesita acceso via consola serie (lo cual es posible en el caso de servidores remotos), necesitar eliminar el comentario de la seccin de la consola serie en /etc/inittab. Listado de Cdigo 4.2: Editar /etc/inittab
# nano -w /etc/inittab

El siguiente extracto muestra la seccin sin comentarios: Listado de Cdigo 4.3: Eliminar el comentario para las consolas series en inittab
# SERIAL CONSOLES s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100

9.e. Herramientas del Sistema de Archivos Dependiendo del sistema de archivos que se est usando, necesita instalar las herramientas necesarias (para verificar la integridad del sistema de archivos, crear sistemas de archivos adicionales, etc.) Por favor note que las herramientas para manejar sistemas de archivos ext2/ext3 (e2fsprogs) ya se encuentran instaladas como parte del sistema. La siguiente tabla lista las herramientas que necesita instalar segn un sistema de archivos determinado: Sistema de Archivos XFS ReiserFS JFS Herramienta xfsprogs reiserfsprogs jfsutils Comando para Instalar emerge xfsprogs emerge reiserfsprogs emerge jfsutils

9.f. Herramientas de Red Si no necesita herramientas adicionales relacionadas con la red (como ppp o un cliente dhcp) contine con Configuracin del Cargador de Arranque. Opcional: Instalar un Cliente DHCP Si necesita que Gentoo obtenga automticamente una direccin IP para sus interfaces de red, necesita instalar en su sistema dhcpcd (o cualquier otro cliente DHCP) . Si no lo hace ahora, tal vez no pueda conectarse a Internet despus de la instalacin! Listado de Cdigo 6.1: Instalar dhcpcd
# emerge dhcpcd

Opcional: Instalar un Cliente PPPoE Si necesita ppp para conectarse a la red, necesita instalarlo. Listado de Cdigo 6.2: Instalar ppp
# emerge ppp

Ahora contine con Configurar el Cargado de Arranque.

10. Configurando el gestor de arranque


10.a. Realizando su eleccin Introduccin Ahora que su ncleo est configurado y compilado y los archivos de configuracin necesarios han sido llenados correctamente, ha llegado la hora de instalar el programa que iniciar el ncleo cuando arranque el sistema. Este programa es conocido como gestor de arranque. Para x86, Gentoo dispone de GRUB y LILO. Pero antes de instalar un gestor de arranque, le informaremos sobre como configurar la memoria de imagen (framebuffer), siempre que quiera, claro. Con la memoria de imagen puede ejecutar la lnea de comandos de Linux con algunas caractersticas grficas (limitadas) como, por ejemplo, el empleo de un bonita imagen de Gentoo durante el inicio (bootsplash). Opcional: Memoria de imagen (Framebuffer) Si ha configurado su ncleo con soporte framebuffer (o ha utilizado la configuracin predeterminada de genkernel) puede activarlo aadiendo el parmetro video al archivo de configuracin del gestor de inicio. Lo primero que necesita es conocer que tipo de dispositivo de framebuffer est utilizando. Debera usar uvesafb como controlador VESA. El parmetro video controla las opciones de visualizacin. Necesita que se le indique el controlador de framebuffer (vesafb para ncleos 2.6, o vesa para ncleos 2.4) seguido de los parmetro de control que quiera activar. Todas las variables aparecen listadas en /usr/src/linux/Documentation/fb/uvesafb.txt. Las opciones ms utilizadas son: Control Descripcin Asume que su tarjeta grfica puede volver sobre su memoria. (ej. continuar al ywrap principio cuando se aproxima al final) Configura los registros MTRR. n puede ser: 0 - desactivados 1 - no almacenables en cach mtrr:n 2 - write-back 3 - write-combining 4 - write-through Configura la resolucin, la profundidad de color y la tasa de refresco. Por mode ejemplo, 1024x768-32@85 para una resolucin de 1024x768, profundidad de color 32 bit y una tasa de refresco de 85 Hz. El resultado sera algo como: video=uvesafb:mtrr:3,ywrap,1024x768-32@85. Recuerde (o anote) sta configuracin. La necesitar dentro de poco. 10.b. Predeterminado: Usando GRUB

Comprendiendo la terminologa de GRUB La parte ms crtica para la comprensin de GRUB, es el habituarse a la manera en que GRUB se refiere a los discos duros y las particiones. Su particin Linux /dev/sda1 es denominada (hd0,0) por GRUB. Note los parntesis alrededor de hd0,0, que son obligatorios. La numeracin de los discos duros comienza con un cero, en lugar de utilizar una "a" y las particiones empiezan con cero en lugar de con un uno. Advertimos tambin que entre los dispositivos hd, solo se cuentan los discos duros y no los dispositivos atapi-ide como cdroms y grabadoras. Adems, la especificacin es igual para dispositivos SCSI. (Usualmente son asignados nmeros mayores, excepto cuando el bios est configurada para arrancar desde los dispositivos scsi). Cuando se le indica la BIOS que arranque desde un disco duro diferente (por ejemplo, el esclavo primario), ese disco duro se ver como hd0. Asumiendo que tiene un disco duro en /dev/sda y dos ms en /dev/sdb y /dev/sdc, la particin /dev/sdd7 que descrita como (hd1,6). A lo mejor puede sonar raro y bien podra serlo, pero como veremos, GRUB ofrece un mecanismo de terminacin por tabulador que es de gran ayuda para los que tienen una gran cantidad de discos duros y que andan algo perdidos con este esquema de numeracin. Habindole tomado la medida, es hora de instalar GRUB. Instalando GRUB Para instalar GRUB, primero lo instalamos con emerge: Listado de Cdigo 2.1: Instalando GRUB
# emerge grub

Aunque GRUB est instalado, todava necesitamos crear un archivo de configuracin para l e instalar GRUB en nuestro MBR para que pueda arrancar automticamente nuestro ncleo recin creado. Cree el archivo /boot/grub/grub.conf con nano, o cualquier otro editor: Listado de Cdigo 2.2: Creando el archivo /boot/grub/grub.conf
# nano -w /boot/grub/grub.conf

Ahora vamos a escribir el grub.conf. Asegrese de utilizar el nombre de su archivo de imagen del ncleo y, si es necesario, el nombre de su imagen initrd. Nota: Grub asigna las designaciones segn el BIOS. Al cambiar la configuracin del BIOS, cambiarn tambin las designaciones de los dispositivos. Por ejemplo, si cambia el orden de los dispositivos para el arranque, tal vez tenga que cambiar la configuracin grub tambin. Nota: Si su sistema de fichero para root es JFS, deber aadir "ro" a la lnea del ncleo ya que JFS necesita leer su log antes de permitir montajes de lectura-escritura. Listado de Cdigo 2.3: grub.conf ejemplo
# Qu ttulo arrancar por defecto. 0 es el primero, 1 el segundo, etc. default 0

# Cuantos segundos esperar antes de arrancar el ttulo por defecto. timeout 30 # Una bella, hermosa imagen para ensalzar las cosas un poco :) # Comntela si no tiene una tarjeta grfica instalada splashimage=(hd0,0)/boot/grub/splash.xpm.gz title Gentoo Linux 2.6.34-r1 # Particin donde se encuentra la imagen del ncleo (o sistema operativo) root (hd0,0) kernel /boot/kernel-2.6.34-gentoo-r1 root=/dev/sda3 title Gentoo Linux 2.6.34-r1 (rescate) # Particin dnde se encuentra la imagen del ncleo (o sistema operativo) root (hd0,0) kernel /boot/kernel-2.6.34-gentoo-r1 root=/dev/sda3 init=/bin/bb # Las siguientes cuatro lneas solo se usan en caso de arranque dual con un sistema Windows. # En este caso, Windows reside en la particin /dev/sda6. title Windows XP rootnoverify (hd0,5) makeactive chainloader +1

Cuando construya el ncleo Linux, si opta por incluir un initramfs desde el cual iniciar, entonces tendr que cambiar la configuracin haciendo referencia a este fichero initramfs e indicndole donde se encuentra su sistema de ficheros raz en: Listado de Cdigo 2.4: Fragmento de GRUB para construcciones de ncleo con initramfs habilitado
title Gentoo Linux 2.6.34-r1 root (hd0,0) kernel /boot/2.6.34-r1 real_root=/dev/sda3 initrd /boot/initramfs-genkernel-x86-2.6.34-gentoo-r1

Si se utiliza un esquema de particiones y/o imagen de ncleo distinta, haga los ajustes respectivos. Sin embargo, asegrese que cualquier cosa que siga un dispositivo GRUB (tal como (hd0,0)) sea relativa al punto de montaje y no de la raz. En otras palabras, (hd0,0)/grub/splash.xpm.gz es en realidad /boot/grub/splash.xpm.gz ya que (hd0,0) es /boot. Adems, si se eligi utilizar un esquema de particionamiento diferente y no coloc /boot en una particin separada, el prefijo /boot empleado en los ejemplos anteriores, es realmente necesario. Si ha seguido el plan de particionamiento sugerido, el prefijo /boot no es obligatorio, un enlace simblico /bootlo hace funcionar. En resumen, los ejemplos anteriores deberan funcionar si ha definido una particin separada para /boot o no. Si necesita pasar algn parmetro adicional al ncleo, sencillamente agrguelo al final de la lnea de comandos del ncleo. Ya estamos pasando una opcin (root=/dev/sda3 o real_root=/dev/sda3), pero se pueden pasar otras tambin, como el parmetro video del que hablamos previamente.

Si su archivo de configuracin del gestor de arranque contiene el parmetro real_root, use el parmetro real_rootflags para establecer las opciones de montaje del sistema de archivos raz. Si est utilizando un ncleo 2.6.7 o superior y ha puenteado su disco duro porque la BIOS no puede manejar discos duros grandes, necesitar aadir sda=stroke. Los usuarios de genkernel deben saber que sus ncleos usan las mismas opciones de arranque que el CD de instalacin. Por ejemplo, si tiene dispositivos scsi, debera agregar el parmetro doscsi al ncleo. Ahora grabe el archivo grub.conf y salga. An necesita instalar GRUB en el MBR (Master Boot Record) para que GRUB se ejecute automticamente cuando arranque su sistema. Los desarrolladores de GRUB recomiendan utilizar grub-install. Sin embargo, si por alguna razn grub-install no funciona correctamente todava tiene la opcin de instalar GRUB manualmente. Continu con Predeterminado: Configurando GRUB utilizando grub-install o Alternativa: Configurando GRUB a mano, utilizando instrucciones. Predeterminado: Configurando GRUB utilizando grub-install Para instalar GRUB necesita ejecutar el comando grub-install. Sin embargo grub-install no funcionar tal cual se instala, ya que estamos dentro de un entorno chroot. Antes de seguir, necesitar actualizar /etc/mtab, el cual contiene la informacin relativa a todos los sistemas de archivos montados. Afortunadamente hay una manera sencilla de realizar esto, simplemente copie /proc/mounts a /etc/mtab, excluyendo la lnea rootfs si no ha creado una particin separada para boot. El siguiente comando fucionar en ambos casos: Listado de Cdigo 2.5: Crear /etc/mtab
# grep -v rootfs /proc/mounts > /etc/mtab

Ahora podemos instalar GRUB utilizando grub-install: Listado de Cdigo 2.6: Ejecutar grub-install
# grub-install --no-floppy /dev/sda

Si tiene alguna pregunta ms acerca de GRUB, por favor consulte el FAQ de GRUB , la Wiki de GRUB, o lea info grub en su terminal (estos documentos estn en ingls). Continu con Reiniciando el sistema. Alternativa: Configurando GRUB a mano, utilizando instrucciones Para comenzar a configurar GRUB, debe ejecutar los comandos dentro de grub. Se le presentar el intrprete de comandos propio de grub grub>. Ahora necesita ejecutar los comandos necesarios para instalar el registro de arranque de GRUB en su disco duro.

Listado de Cdigo 2.7: Iniciando el intrprete de comandos de GRUB


# grub --no-floppy

Nota: Si su sistema no tiene ningn dispositivo de disquetes, aada la opcin --no-floppy al comando anterior para evitar que grub pruebe los dispositivos (no existentes) de disquetes. En el ejemplo de configuracin queremos instalar GRUB para que lea la informacin de la particin de arranque /dev/sda1, e instala el registro de arranque de GRUB en el MBR (Master boot Record) de su disco duro para que lo primero que veamos aparecer al encender el ordenador sea GRUB. Por supuesto, si no ha seguido el ejemplo de configuracin durante la instalacin, cambie los comandos de acuerdo a su modelo: El mecanismo de completar comandos por tabulacin de GRUB puede utilizarse dentro de GRUB. Por ejemplo, si escribe "root (" seguido de una tabulacin, notar que se le presenta una lista de dispositivos (como pueda ser hd0). Si tecleamos "root (hd0," seguido de una tabulacin recibiremos una lista de particiones disponibles para elegir (como pueda ser hd0,0). Utilizando este mecanismo de completar por tabulacin, configurar GRUB no debera resultar tan duro. Ahora vamos a por ello, configuremos GRUB!. Listado de Cdigo 2.8: Instalando GRUB en el MBR
grub> root (hd0,0) /boot) grub> setup (hd0) grub> quit GRUB) (Especifique donde tiene su particin (Instalamos GRUB en el MBR) (Salimos del intrprete de comandos de

Nota: Si quiere instalar GRUB en una particin concreta en lugar del MBR, debe modificar el comando setup para que apunte a la particin correcta. Por ejemplo, si quiere que GRUB se instale en /dev/sda3, el comando adecuado sera setup (hd0,2). Sin embargo, pocos usuarios querrn hacer esto. Si tiene alguna pregunta ms acerca de GRUB, por favor consulte el FAQ de GRUB , la Wiki de GRUB, o lea info grub en su terminal (estos documentos estn en ingls). Contine con Reiniciando el sistema. 10.c. Alternativa: Utilizando LILO Instalando LILO LILO, representa LInuxLOader, y es el caballito de batalla probado y comprobado de los gestores de inicio de Linux. Sin embargo, carece de algunas caractersticas de GRUB (razn por la cual GRUB actualmente est ganando popularidad). La razn por la cual LILO sigue en uso es que en algunos sistemas, GRUB no funciona mientras que LILO s. Por supuesto tambin se usa porque hay muchos que lo conocen y prefieren seguir con este gestor. De cualquier manera, Gentoo soporta ambos gestores y por lo visto, ha elegido usar LILO. Instalar LILO es fcil, sencillamente use emerge.

Listado de Cdigo 3.1: Instalando LILO


# emerge lilo

Configurando LILO Para configurar LILO, debe crear el archivo /etc/lilo.conf. Use su editor de textos preferido (en el manual usamos nano para ser consistentes) y creemos este archivo. Listado de Cdigo 3.2: Creando /etc/lilo.conf
# nano -w /etc/lilo.conf

Algunas secciones atrs, le pedimos que se acordara del nombre de la imagen del ncleo creado. En el siguiente ejemplo de lilo.conf haremos uso del esquema ejemplo de particionamiento. Asegrese de utilizar el nombre de su archivo de imagen del ncleo y, si es necesario, el nombre de su imagen initrd. Nota: Si su sistema de ficheros para root es JFS, deber aadir la lnea append="ro" despus de cada elemento de arranque, ya que JFS necesita leer su log antes de permitir montajes de lectura-escritura. Listado de Cdigo 3.3: Ejemplo de /etc/lilo.conf

boot=/dev/sda # Instalar LILO en el MBR prompt # Darle al usuario una oportunidad de seleccionar otra opcin timeout=50 # Esperar 5 (cinco) segundos antes de arrancar la opcin por defecto default=gentoo # Al transcurrir el plazo de espera, arrancar la opcin "gentoo" image=/boot/kernel-2.6.34-gentoo-r1 label=gentoo # El nombre de la seccin read-only # Comience con la raz solo lectura. No modifique! root=/dev/sda3 # Ubicacin del sistema raz de archivos image=/boot/kernel-2.6.34-gentoo-r1 label=gentoo.rescue # El nombre de la seccin read-only # Comience con la raz solo lectura. No modifique! root=/dev/sda3 # Ubicacin del sistema raz de archivos append="init=/bin/bb" # Lanzar la shell esttica de rescate de Gentoo # La siguientes dos lneas solo corresponden si hace arranque dual con un sistema Windows. # En este caso, Windows se encuentra en /dev/sda6. other=/dev/sda6 label=windows

Nota: Si usa un esquema de particionamiento o imagen de ncleo distinta, haga los ajustes correspondientes. Cuando construya el ncleo Linux, si opta por incluir un initramfs desde el cual iniciar, entonces tendr que cambiar la configuracin haciendo referencia a este fichero initramfs e indicndole donde se encuentra su sistema de ficheros raz en:

Listado de Cdigo 3.4: Fragmento de LILO para construcciones de ncleo con initramfs habilitado
image=/boot/kernel-2.6.34-gentoo-r1 label=gentoo read-only real_root=/dev/sda3 initrd=/boot/initramfs-genkernel-x86-2.6.34-gentoo-r1

Si hace falta pasar alguna opcin adicional al ncleo, incluya un enunciado append a la seccin. A modo de ejemplo, agregamos un enunciado video para activar framebuffer: Listado de Cdigo 3.5: Utilizar append para agregar opciones al ncleo
image=/boot/kernel-2.6.34-gentoo-r1 label=gentoo read-only root=/dev/sda3 append="video=uvesafb:mtrr,ywrap,1024x768-32@85"

Si est utilizando un ncleo 2.6.7 o superior y ha puenteado su disco duro porque la BIOS no puede manejar discos duros grandes, necesitar aadir sda=stroke. Usuarios de genkernel deben saber que sus ncleos usan las mismas opciones de arranque que el CD de instalacin. Por ejemplo, si tiene dispositivos SCSI, debe agregar doscsi como opcin del ncleo. Ahora, salve el archivo y salga del editor. Para terminar, debe ejecutar el comando /sbin/lilo para poder aplicar /etc/lilo.conf a su sistema (que se instale en el disco). Acurdese de que debe volver a ejecutar /sbin/lilo cada vez que instale un nuevo ncleo o haga cambios en el men. Listado de Cdigo 3.6: Terminando la instalacin de LILO
# /sbin/lilo

Si tiene ms preguntar con respecto a LILO, por favor, consulte su pgina en la wikipedia. Ahora puede continuar con Reiniciando el Sistema. 10.d. Reiniciando el sistema Salga del entorno chroot y desmonte todas las particiones que continen montadas. Despus podemos ejecutar el mgico comando que hemos estado esperando: reboot. Listado de Cdigo 4.1: Desmontar todas las particiones y reiniciar
# exit cdimage cdimage cdimage cdimage ~# ~# ~# ~# cd umount -l /mnt/gentoo/dev{/pts,/shm,} umount -l /mnt/gentoo{/boot,/sys,/proc,} reboot

Por supuesto, no olvide quitar el CD arrancable, o el CD ser arrancado de nuevo en lugar de su nuevo sistema Gentoo.

Una vez que haya reiniciado su instalacin de Gentoo, termnela con Finalizando su instalacin de Gentoo.

11. Finalizando su instalacin Gentoo


11.a. Administracin del Usuario Aadir un Usuario para uso cotidiano Trabajar como root en un sistema Unix/Linux es peligroso y su uso debera evitarse tanto como sea posible. Es por ello que se recomienda encarecidamente aadir un usuario para el uso cotidiano del sistema. Los grupos a los que pertenece el usuario definen que actividades puede realizar. La siguiente tabla muestra una lista de los grupos ms importantes que podra querer utilizar. Grupo audio cdrom floppy games portage usb video wheel Descripcin para ser capaz de acceder a los dispositivos de audio para poder acceder directamente a dispositivos de lectura ptica para poder acceder directamente a los dispositivos de disquete para poder utilizar los juegos para ser capaz de utilizar emerge --pretend como usuario normal para poder acceder a los dispositivos USB para acceder al hardware de captura de vdeo y a la aceleracin por hardware para poder utilizar su

Por ejemplo, para crear un usuario llamado juan que pertenezca a los grupos wheel, users y audio, entre en el sistema como root (solo root puede crear usuarios) y ejecute useradd: Listado de Cdigo 2.2: Aadir un usuario para uso cotidiano
Login: root Password: (Su contrasea de root) # useradd -m -G users,wheel,audio -s /bin/bash juan # passwd juan Password: (Introduzca la contrasea para juan) Re-enter password: (Vuelva a introducir la contrasea para verificar)

Si alguna vez este usuario necesita realizar alguna tarea como root, puede utilizar su para obtener temporalmente privilegios de root. Otra forma es utilizar el paquete sudo el cual, correctamente configurado, es muy seguro. 11.b. Limpieza de disco Eliminar los tarballs Ahora que ya se ha instalado Gentoo y reiniciado, si todo fue bien, puede eliminar el tarball de stage3 y la imagen de Portage. que descarg en su disco duro. Recordamos que se encuentran en el directorio /.

Listado de Cdigo 2.1: Eliminar el tarball stage3


# rm /stage3-*.tar.bz2*

Listado de Cdigo 2.2: Eliminar la imagen de Portage


# rm /portage-latest.tar.bz2*

12. Y ahora qu?


12.a. Documentacin Enhorabuena! Ya tiene funcionando un sistema Gentoo. Pero A donde ir desde aqu? Cules son ahora sus opciones? Qu explorar primero? Gentoo ofrece a sus usuarios muchas posibilidades y, por lo tanto, muchas caractersticas documentadas (y menos documentadas). Definitivamente debera ojear la siguiente parte del Manual de Gentoo titulada Trabajando con Gentoo la cual explica cmo mantener su software al da, cmo instalar ms software, qu parmetros USE hay, cmo funciona el sistema de inicializacin de Gentoo (Gentoo Init system), etc. Si est interesado en la optimizacin de su sistema para uso de escritorio, o quiere aprender cmo configurarlo para que sea un completo sistema de escritorio, consulte nuestra extensa Gua de Configuracin del Escritorio. Adems, quiz tambin quiera utilizar nuestra gua de localizacin para hacer que el sistema se sienta cmo en casa. Tambin disponemos de un Manual de seguridad en Gentoo cuya lectura puede ser muy valiosa. Para obtener un completo listado de toda nuestra documentacin disponible, revise nuestra pgina de Recursos de Documentacin. Por ltimo, tambin tenemos una Wiki Gentoo oficial (en ingls), donde se puede encontrar documentacin adicional ofrecida por la comunidad. 12.b. Gentoo en lnea Por supuesto, siempre ser bienvenido a nuestros Foros de Gentoo o a alguno de nuestros canales de IRC. Tambin tenemos varias listas de correo abiertas a todos nuestros usuarios. La informacin de cmo entrar en las mismas est disponible en esa pgina. Ahora nos callaremos y le dejaremos que disfrute de su instalacin :)

B. Trabajando con Gentoo


1. Introduccin al sistema Portage
1.a. Bienvenido a Portage

Portage es probablemente la ms importante innovacin de Gentoo en la gestin de software. Debido a su potente flexibilidad y una gran cantidad de funcionalidades, es frecuentemente apreciado como la mejor herramienta de gestin de software disponible para Linux. Portage esta completamente escrito en Python y Bash y, por tanto, totalmente a la vista de los usuarios al ser ambos lenguajes interpretados. La mayora de usuarios trabajarn con Portage a travs de la herramienta emerge. Este captulo no pretende duplicar la informacin disponible en la pgina de man sobre emerge. Para una completa informacin sobre las opciones de emerge, por favor, consulte la pgina del manual: Listado de Cdigo 1.1: Leer la pgina del manual sobre emerge
$ man emerge

1.b. El rbol Portage Ebuilds Cuando hablamos sobre paquetes, nos referimos normalmente a programas software disponibles para los usuarios de Gentoo a travs del rbol Portage. El rbol Portage es una coleccin de ebuilds, archivos que contienen toda la informacin que Portage necesita para mantener el software (instalar, buscar, ...). Estos ebuilds residen por defecto en /usr/portage. Cuando se pida a Portage que ejecute alguna accin relacionada con los programas, ste utilizar los ebuilds de su sistema como base. Por tanto, es importante que actualice los ebuilds de su sistema para que Portage conozca el nuevo software, actualizaciones de seguridad, etc. Actualizando el rbol Portage El rbol Portage se actualiza normalmente con rsync, una utilidad rpida de transferencia de archivos incremental. La actualizacin es muy sencilla, ya que la orden emerge proporciona una interfaz para rsync: Listado de Cdigo 2.1: Actualizar el rbol Portage
# emerge --sync

Si no es capaz de realizar rsync debido a restricciones de cortafuegos puede actualizar su rbol Portage a travs de nuestras tres imgenes de Portage generadas diariamente. La herramienta emerge-webrsync automticamente comprueba e instala la ltima en su sistema. Listado de Cdigo 2.2: Ejecutar emerge-webrsync
# emerge-webrsync

Una ventaja adicional de utilizar emerge-webrsync es que permite al administrador descargar nicamente instantneas del rbol portage que estn firmadas con la clave GPG del equipo de ingeniera de versiones de Gentoo. Se puede encontrar ms informacin

sobre esto en la seccin Caractersticas de Portage en Obteniendo instantneas validadas del rbol Portage. 1.c. Mantenimiento de Software Buscar software Para buscar software utilizando el rbol de Portage, puede emplear las funcionalidades de bsquedas propias de emerge. Por defecto, emerge --search devuelve el nombre de los paquetes cuyo nombre coincide (tanto total como parcialmente) con el trmino de bsqueda introducido. Por ejemplo, para buscar todos los paquetes que tengan "pdf" en su nombre: Listado de Cdigo 3.1: Buscar paquetes cuyo nombre tenga pdf
$ emerge --search pdf

Si quiere buscar tambin en las descripciones puede utilizar el parmetro --searchdesc (o -S). Listado de Cdigo 3.2: Buscar paquetes relacionados con pdf
$ emerge --searchdesc pdf

Cuando eche un vistazo al resultado, notar que le proporciona mucha informacin. Los campos son etiquetados claramente con lo cual no entraremos en explicar sus significados. Listado de Cdigo 3.3: Ejemplo de salida de emerge --search
* net-print/cups-pdf Latest version available: 1.5.2 Latest version installed: [ Not Installed ] Size of downloaded files: 15 kB Homepage: http://cip.physik.uni-wuerzburg.de/~vrbehr/cupspdf/ Description: Provides a virtual printer for CUPS to produce PDF files. License: GPL-2

Instalar Software Una vez que haya encontrado el nombre del software que necesite, puede fcilmente instalarlo con emerge: simplemente aada el nombre del paquete. Por ejemplo, para instalar gnumeric: Listado de Cdigo 3.4: Instalar gnumeric
# emerge gnumeric

Muchas aplicaciones dependen unas de otras, esto implica que cualquier intento de instalar un cierto paquete de software podra derivar en la instalacin de varias dependencias. No se preocupe. Portage maneja tambin las dependencias. Si quiere conocer qu instalar Portage cuando le pida que instale un cierto paquete, aada el parmetro --pretend. Por ejemplo:

Listado de Cdigo 3.5: Simular la instalacin de gnumeric


# emerge --pretend gnumeric

Cuando le pida a Portage que instale un paquete, descargar las fuentes necesarias desde Internet (si fuera necesario) y las guardar por defecto en /usr/portage/distfiles. Despus, el paquete ser descomprimido, compilado e instalado. Si quiere que portage solamente descargue las fuentes sin instalarlas, aada la opcin --fetchonly a la orden emerge: Listado de Cdigo 3.6: Descargar el cdigo fuente de gnumeric
# emerge --fetchonly gnumeric

Encontrar la documentacin de un paquete instalado Muchos paquetes vienen con su propia documentacin. Algunas veces, el parmetro USE doc determina si la documentacin debe instalarse o no. Puede comprobar la existencia del parmetro USE doc con la orden emerge -vp <nombre paquete>. Listado de Cdigo 3.7: Comprobar la existencia de del parmetro USE doc
(alsa-lib es tan solo un ejemplo) # emerge -vp alsa-lib [ebuild N ] media-libs/alsa-lib-1.0.14_rc1 -debug +doc 698 kB

La mejor manera de activar el parmetro USE doc es por paquete, por medio de /etc/portage/package.use, de manera que solo obtendr la documentacin para los paquetes que le interesan. Activando este parmetro de manera global puede causar problemas con dependencias circulares. Para ms informacin, por favor lea el captulo acerca de los Parmetros USE. Una vez que el paquete est instalado, su documentacin se encuentra normalmente en un subdirectorio llamado igual que el paquete, bajo el directorio /usr/share/doc. Tambin puede obtener un listado de todos los archivos instalados con la herramienta equery la cual es parte del paquete app-portage/gentoolkit. Listado de Cdigo 3.8: Localizar la documentacin de un paquete
# ls -l /usr/share/doc/alsa-lib-1.0.14_rc1 total 28 -rw-r--r-- 1 root root 669 May 17 21:54 -rw-r--r-- 1 root root 9373 May 17 21:54 drwxr-xr-x 2 root root 8560 May 17 21:54 -rw-r--r-- 1 root root 196 May 17 21:54 ChangeLog.gz COPYING.gz html TODO.gz

(Como alternativa, utilizamos equery para localizar los archivos que nos interesan:) # equery files alsa-lib | less media-libs/alsa-lib-1.0.14_rc1 * Contents of media-libs/alsa-lib-1.0.14_rc1: /usr /usr/bin /usr/bin/alsalisp (salida cortada)

Desinstalando Software

Cuando quiera desinstalar un paquete software de su sistema, utilice emerge --unmerge. Esto le indicar a Portage que desinstale todos los archivos instalados por el paquete en su sistema excepto los archivos de configuracin de esa aplicacin si la haba modificado despus de la instalacin. Esto le permite continuar trabajando con los mismos archivos de configuracin si alguna vez decide volver a instalar la aplicacin. Sin embargo, hemos de tener algo muy en cuenta: Portage no comprueba si el paquete que est intentando desinstalar es necesario para algn otro. A pesar de esto, le avisar cuando quiera eliminar un paquete importante que pueda romper su sistema si lo desinstala. Listado de Cdigo 3.9: Desinstalar gnumeric del sistema
# emerge --unmerge gnumeric

Cuando desinstala un paquete de su sistema, las dependencias de ese paquete que se instalaron automticamente cuando instal el software, permanecern. Para hacer que Portage localice todas las dependencias que puede ser eliminadas actualmente, utilice la funcionalidad de emerge --depclean. Hablaremos de esto un poco ms adelante. Actualizando su Sistema Para mantener su sistema en perfecto estado (sin mencionar la instalacin de los ltimas actualizaciones de seguridad) necesita actualizarlo frecuentemente. Partiendo de que Portage solamente comprueba los ebuilds en su rbol Portage, lo primero sera actualizar el propio rbol. Cuando tenga el rbol Portage actualizado, puede actualizar su sistema con emerge --update world. En el siguiente ejemplo, adems hemos utilizado el parmetro --ask que le indica a Portage que muestre la lista de paquetes que quiere actualizar y pregunte si se quiere continuar: Listado de Cdigo 3.10: Actualizar su sistema
# emerge --update --ask world

Portage buscar entonces las nuevas versiones de las aplicaciones que explcitamente haya instalado (las listadas en /var/lib/portage/world), sin embargo, no revisa minuciosamente sus dependencias. Si desea actualizar tambin esas dependencias, aada la opcin --deep: Listado de Cdigo 3.11: Actualizar su sistema incluyendo las dependencias
# emerge --update --deep world

Aunque esto no indica todos los paquetes: algunos paquetes de su sistema son necesarios durante los procesos de compilacin y construccin de los paquetes, pero, una vez que los paquetes se han instalado, estas dependencias ya no se necesitan. Portage denomina a stas dependencias de construccin (build dependencies). Para incluirlas en un ciclo de actualizacin, aada --with-bdeps=y: Listado de Cdigo 3.12: Actualizar su sistema completamente
# emerge --update --deep --with-bdeps=y world

Ya que las actualizaciones de seguridad tambin afectan a paquetes que no han sido explcitamente instalados en el sistema (pero que son dependencias de otros programas), es recomendable ejecutar la orden de arriba de vez en cuando. Si ha cambiado ltimamente alguno de sus parmetros USE quiz quiera aadir tambin --newuse. Portage comprobar si los cambios requieren la instalacin de nuevos paquetes o la recompilacin de los existentes: Listado de Cdigo 3.13: Realizar una actualizacin completa Meta-paquetes Algunos paquetes del rbol Portage no tienen contenido real pero son utilizados para instalar un conjunto de paquetes. Por ejemplo, el paquete kde-meta instalar un entorno KDE completo en su sistema incluyendo varios paquetes relacionados con KDE y tambin sus dependencias. Si quiere desinstalar dicho paquete de su sistema, ejecutando emerge --unmerge sobre el paquete no tendr efecto total ya que las dependencias permanecern en su sistema. Portage tiene la funcionalidad de eliminar las dependencias hurfanas, pero la disponibilidad de software necesita que primero actualice completamente su sistema, incluyendo los nuevos cambios que ha aplicado si actualiz los parmetros USE. Despus de esto, puede ejecutar emerge --depclean para eliminar las dependencias hurfanas. Cuando haya terminado, necesitar reconstruir las aplicaciones que estuvieran enlazadas dinmicamente a las que acaban de ser eliminadas pero no son necesarias. Todo esto se lleva a cabo a travs de tres rdenes: Listado de Cdigo 3.14: Desinstalar dependencias hurfanas
# emerge --update --deep --newuse world # emerge --depclean # revdep-rebuild # emerge --update --deep --with-bdeps=y --newuse world

revdep-rebuild es parte del paquete gentoolkit; no olvide instalarlo primero: Listado de Cdigo 3.15: Instalar el paquete gentoolkit
# emerge gentoolkit

1.d. Licencias A partir de la versin 2.1.7 de Portage, puede aceptar o rechazar la instalacin de software basada en esta licencia. Todos los paquetes del rbol contienen una entrada LICENSE en sus ebuilds. Ejecutando emerge --search nombredepaquete le mostrar la licencia del paquete. Por defecto Portage permite todas las licencias, excepto Acuerdos Finales de la Licencia de Usuario (End User License Agreements o EULAs) que requieren la lectura y firma de un acuerdo de aceptacin.

La variable que controla las licencias permitidas es ACCEPT_LICENSE, la cual puede ser ajustada en /etc/make.conf: Listado de Cdigo 4.1: ACCEPT_LICENSE por defecto en /etc/make.conf
ACCEPT_LICENSE="* -@EULA"

Con esta configuracin, los paquetes que requieren interaccin durante la instalacin para aprobar su EULA no sern instalados. Los paquetes sin una EULA sern instalados. Puede ajustar ACCEPT_LICENSE globalmente en /etc/make.conf, o puede especificarlo en de forma que afecte a solo un paquete en /etc/portage/package.license. Por ejemplo, si quiere permitir la licencia truecrypt-2.7 para app-crypt/truecrypt, aada lo siguiente a /etc/portage/package.license: Listado de Cdigo 4.2: Especificando una licencia truecrypt en package.license
app-crypt/truecrypt truecrypt-2.7

Esto permite la instalacin de versiones de truecrypt que tengan la licencia truecrypt-2.7, pero no versiones con la licencia truecrypt-2.8. Importante: Las licencias se almacenan en /usr/portage/licenses, y los grupos de licencias se guardan en /usr/portage/profiles/license_groups. La primera entrada de cada lnea en letras MAYSCULAS, es el nombre del grupo de licencias, y cada entrada detrs de sta es una licencia individual. Los grupos de licencias definidos en ACCEPT_LICENSE se prefijan con un signo @. Se muestra un ejemplo de un sistema que globalmente permite el grupo de licencias compatibles, as como otros grupos y licencias individuales: Listado de Cdigo 4.3: ACCEPT_LICENSE en /etc/make.conf
ACCEPT_LICENSE="@GPL-COMPATIBLE @OSI-APPROVED @EULA atheros-hal BitstreamVera"

Si quiere solo software libre y documentacin en su sistema, debera usar la siguiente configuracin: Listado de Cdigo 4.4: Usar nicamente licencias libres
ACCEPT_LICENSE="-* @FREE"

En este caso, "free" est definido por la FSF y la OSI. Cualquier paquete cuya licencia no se ajuste a estos requisitos no ser instalado en su sistema. 1.e. Cuando Portage se queja... Sobre SLOTs, paquetes virtuales, ramas, arquitecturas y perfiles Como mencionamos anteriormente, Portage es muy potente y soporta muchas caractersticas de las que carecen otras herramientas de gestin de software. Para comprender esto, explicaremos unos cuantos aspectos de Portage sin profundizar demasiado en los detalles.

Con Portage, diferentes versiones de un mismo paquete pueden coexistir en un sistema. Mientras otras distribuciones tienden a renombrar el paquete con sus versiones (por ejemplo freetype and freetype2). Portage usa una tecnologa llamada SLOTs (ranuras). Un ebuild declara un cierto SLOT para su versin. Ebuilds con diferentes SLOTs pueden coexistir en el mismo sistema. Por ejemplo, el paquete freetype tiene ebuilds con SLOT="1" y SLOT="2". Tambin existen paquetes que proporcionan la misma funcionalidad pero estn implementados de maneras distintas. Por ejemplo, metalogd, sysklogd y syslog-ng son todos paquetes de registro del sistema. Aplicaciones que necesitan la disponibilidad de un "registrador del sistema" no pueden depender, por ejemplo, de metalogd, ya que el resto de registradores del sistema son igualmente vlidos. Portage permite virtuals: cada paquete de registro del sistema se lista como proveedor del servicio de registro en el paquete virtual logger de la categora virtual, de esta forma las aplicaciones pueden depender del paquete virtual/logger. Los programas en el rbol Portage puede residir en diferentes ramas. Por defecto, su sistema solamente acepta paquetes que Gentoo considera estables. La mayora de los paquetes nuevos, cuando son aceptados, ingresan en la rama inestable. Esto implica que necesitan hacerse ms pruebas antes de marcarlo como estable. Aunque puede ver los ebuilds de ese software en su rbol de Portage, Portage no los actualizar hasta que sean marcados como estables. Algunos programas solo estn disponibles para unas pocas arquitecturas. O los programas no funcionan en otras arquitecturas, o necesitan ms pruebas, o el desarrollador que aade el programa a Portage no es capaz de verificar si el paquete funciona en diferentes arquitecturas. Cada instalacin de Gentoo adhiere un cierto perfil el cual contiene, entre otra informacin, la lista de paquetes necesarios para que el sistema funcione normalmente. Paquetes bloqueados Listado de Cdigo 5.1: Aviso de Portage sobre paquetes bloqueados (con --pretend)
[blocks B ] mail-mta/ssmtp (is blocking mail-mta/postfix-2.2.2-r1)

Listado de Cdigo 5.2: Aviso de Portage sobre paquetes bloqueados (sin --pretend)
!!! Error: the mail-mta/postfix package conflicts with another package. !!! both can't be installed on the same system together. !!! Please use 'emerge --pretend' to determine blockers.

Los Ebuilds contienen campos especficos que informan a Portage sobre sus dependencias. Hay dos posibles dependencias: dependencias de compilacin, declaradas en DEPEND y dependencias en tiempo de ejecucin, declaradas en RDEPEND. Cuando una de estas dependencias marca explcitamente un paquete o paquete virtual como no compatible, se dispara un bloqueo. Aunque las versiones recientes de Portage son lo suficientemente inteligentes para resolver los bloqueos de menor importancia sin necesidad de la intervencin del usuario, ocasionalmente necesitar resolverlo a mano como se explica abajo.

Para solucionar un bloqueo, puede elegir no instalar el paquete o desinstalar primero el paquete conflictivo. En el ejemplo anterior, puedes optar por no instalar postfix o eliminar primero ssmtp. Tambin puede ocurrir que vea los paquetes en conflicto con operadores lgicos concretos, como por ejemplo <media-video/mplayer-1.0_rc1-r2. En este caso, actualizar a la versin ms reciente del paquete bloqueante debera eliminar el bloqueo. Tambin es posible que dos paquetes que an no se han instalado se estn bloqueando mutuamente. En este caso (poco frecuente), se debera investigar por que necesitamos instalar ambos. En la mayora de los casos se puede realizar con uno solo de los paquetes. Si no, por favor enve un informe de error al sistema de seguimiento de errores de Gentoo. Paquetes enmascarados (masked) Listado de Cdigo 5.3: Aviso de Portage sobre paquetes enmascarados
!!! possible candidates are: gnome-base/gnome-2.8.0_pre1 (masked by: ~x86 keyword) lm-sensors/lm-sensors-2.8.7 (masked by: -sparc keyword) sys-libs/glibc-2.3.4.20040808 (masked by: -* keyword) dev-util/cvsd-1.0.2 (masked by: missing keyword) games-fps/unreal-tournament-451 (masked by: package.mask) sys-libs/glibc-2.3.2-r11 (masked by: profile) net-im/skype-2.1.0.81 (masked by: skype-eula license(s)) !!! all ebuilds that could satisfy "bootsplash" have been masked.

Listado de Cdigo 5.4: Aviso de Portage sobre paquetes enmascarados - razn

Cuando quiera instalar un paquete que no est disponible para su sistema, recibir un error de enmascaramiento. Debera probar a instalar una aplicacin distinta que este disponible para su sistema o esperar hasta que el paquete este disponible. Siempre hay una razn para que un paquete est enmascarado:

~arch keyword implica que la aplicacin no esta probada lo suficiente para ser parte de la rama estable. Espere unos cuantos das o semanas y vuelva a intentarlo. -arch keyword o -* keyword implica que la aplicacin no funciona en su arquitectura. Si cree que el paquete funcionar, cree un bug en nuestro sitio web bugzilla. missing keyword indica que la aplicacin an no ha sido probada para su arquitectura. Pida al correspondiente equipo de arquitectura que pruebe el paquete o prubelo por ellos e informe de su experiencia en nuestro sitio web bugzilla. package.mask implica que el paquete se ha encontrado corrupto, inestable o peor y ha sido marcada deliberadamente para que no se use. profile implica que el paquete no est disponible para su perfil. La aplicacin podra romper su sistema si la instala o no es compatible con el perfil que est usando. license significa que la licencia del paquete no es compatible con su ajuste ACCEPT_LICENSE. Debe permitir explcitamente su licencia o grupo de licencias ajustndolo en /etc/make.conf o en /etc/portage/package.license. Consulte Licencias para aprender cmo se gestionan las licencias.

Cambios necesarios en los ajustes USE Listado de Cdigo 5.5: Advertencia de Portage acerca de cambios requeridos en los ajustes USE
The following USE changes are necessary to proceed: #required by app-text/happypackage-2.0, required by happypackage (argument) >=app-text/feelings-1.0.0 test

Tambin puede que se muestre el siguiente mensaje de error, si no se ha habilitado --autounmask: Listado de Cdigo 5.6: Error de Portage acerca de cambios requeridos en los ajustes USE
emerge: there are no ebuilds built with USE flags to satisfy "apptext/feelings[test]". !!! One of the following packages is required to complete your request: - app-text/feelings-1.0.0 (Change USE: +test) (dependency required by "app-text/happypackage-2.0" [ebuild]) (dependency required by "happypackage" [argument])

Esta advertencia y error suceden cuando se quiere instalar un paquete que no solo depende de otro paquete, sino que requiere que ese paquete se haya construido con un ajuste USE en particular (o un conjunto de ajustes USE). En el ejemplo dado, el paquete app-text/feelings necesita construirse con USE="test", sin embargo, este ajuste USE no est habilitado en el sistema. Para resolver esta situacin, puede aadir el ajuste USE requerido a sus ajustes globales en /etc/make.conf, o definirlo especficamente para el paquete en /etc/portage/package.use. Dependencias perdidas Listado de Cdigo 5.7: Aviso de Portage sobre dependencias perdidas
emerge: there are no ebuilds to satisfy ">=sys-devel/gcc-3-4.2-r4". !!! Problem with ebuild sys-devel/gcc-3.4.2-r2 !!! Possibly a DEPEND/*DEPEND problem.

La aplicacin que est tratando instalar depende de otro paquete que no esta disponible para su sistema. Por favor, compruebe bugzilla para ver si el problema se conoce o no, en este caso informe de ello. A menos que este mezclando ramas esto no debera ocurrir y lo consideraremos un error. Nombre ambiguo del Ebuild Listado de Cdigo 5.8: Aviso de Portage sobre nombre ambiguos en ebuild
[ Results for search key : listen ] [ Applications found : 2 ] * dev-tinyos/listen Latest version Latest version Size of files: [ Masked ] available: 1.1.15 installed: [ Not Installed ] 10,032 kB

Homepage: Description: License: *

http://www.tinyos.net/ Raw listen for TinyOS BSD

media-sound/listen [ Masked ] Latest version available: 0.6.3 Latest version installed: [ Not Installed ] Size of files: 859 kB Homepage: http://www.listen-project.org Description: A Music player and management for GNOME License: GPL-2

!!! The short ebuild name "listen" is ambiguous. Please specify !!! one of the above fully-qualified ebuild names instead.

La aplicacin que quiere instalar tiene un nombre que corresponde con ms de un paquete. Necesita aportar tambin el nombre de la categora. Portage le informar de los posibles casos entre los que puede elegir. Dependencias Circulares Listado de Cdigo 5.9: Aviso de Portage sobre dependencias circulares
!!! Error: circular dependencies: ebuild / net-print/cups-1.1.15-r2 depends on ebuild / apptext/ghostscript-7.05.3-r1 ebuild / app-text/ghostscript-7.05.3-r1 depends on ebuild / netprint/cups-1.1.15-r2

Dos (o ms) paquetes que quiere instalar dependen uno de otro y, por tanto, no pueden instalarse. Esto casi siempre se considera un error en el rbol Portage. Por favor, vuelva a sincronizar despus de un tiempo e intntelo de nuevo. Tambin puede comprobar bugzilla para saber si se tiene conocimiento sobre el tema o si no, en cuyo caso informe sobre ello. Fallo en la descarga Listado de Cdigo 5.10: Aviso de Portage sobre un fallo en la descarga
!!! Fetch failed for sys-libs/ncurses-5.4-r5, continuing... (...) !!! Some fetch errors were encountered. Please see above for details.

Portage no es capaz de descargar las fuentes para una aplicacin especfica y tratar de continuar instalando el resto de aplicaciones (si es posible). Este fallo puede deberse a que un servidor rplica no esta bien sincronizado o a que el ebuild apunta a una localizacin incorrecta. El servidor donde residen las fuentes podra estar cado por alguna razn. Pruebe despus de una hora y vea si el problema persiste. Proteccin del Perfil de Sistema Listado de Cdigo 5.11: Aviso de Portage sobre un paquete protegido por perfil
!!! Trying to unmerge package(s) in system profile. 'sys-apps/portage' !!! This could be damaging to your system.

Est intentando eliminar un paquete que es parte del fundamental de su sistema. ste se haya en su perfil y es necesario, por tanto, no debera ser eliminado del sistema. Errores en la verificacin del digest A veces, al intentar hacer emerge a un paquete, ste fallar, con el siguiente mensaje: Listado de Cdigo 5.12: Falla en la suma de control
>>> checking ebuild checksums

Esta es una seal que hay algn problema con el rbol Portage -- muchas veces esto es porque un desarrollador ha cometido una equivocacin al ingresar un paquete en el rbol. Cuando falla la verificacin del digest, no intente recalcularlo. El ejecutar ebuild foo manifest no va a resolver el problema; seguramente lo empeorar! En lugar de esto, espere una o dos hora que el rbol estabilice. Es probable que el error haya sido detectado enseguida, pero podr tomar algn tiempo para que propague la correccin al rbol Portage. Mientras espera, revise Bugzilla a ver si alguien ha reportado el problema, si no, siga adelante y archive un "bug" reportando el paquete roto. Una vez que compruebe que el error ha sido reparado, tal vez quiera re-sincronizar para recoger la suma de control reparada. Importante: Esto no implica que vaya re-sincronizar su rbol Portage mltiples veces! Tal como se establece en la poltica rsync (al ejecutar emerge --sync), los usuarios que sincronicen con demasiada frecuencia sern bloqueados! De hecho, es mejor esperar a su prxima sincronizacin programada para no sobrecargar los servidores rsync.

2. Los parmetros USE


2.a. Qu son los parmetros USE? Las ideas que hay detrs de los parmetros USE Mientras est instalando Gentoo (o cualquier otra distribucin, incluso otro sistema operativo), tomar varias decisiones dependiendo del entorno en el que est trabajando. Una instalacin para un servidor es distinta a una para una estacin de trabajo. Tambin una estacin de trabajo dedicada a juegos es diferente a una estacin de trabajo que se use para renderizados en 3D. Estas diferencias no solo dependen de los paquetes instalados, si no tambin de las caractersticas para las que ciertos paquetes tienen soporte. Si no necesita OpenGL, para qu molestarse en instalar OpenGL y construir la mayora de sus aplicaciones con soporte OpenGL? Si no quiere usar KDE, para qu molestarte en compilar paquetes con soporte para KDE si podran funcionar perfectamente sin l? Para ayudar a los usuarios a decidir qu instalar/activar o no, necesitamos que el usuario especifique su entorno de una manera sencilla. Esto obliga al usuario a decidir que es lo

que realmente quiere; adems de facilitar a Portage, nuestro sistema de gestin de paquetes, la tarea de tomar decisiones tiles. Definicin de un parmetro USE Comencemos por definir qu son los parmetros USE. Un parmetro USE es una palabra clave que incorpora informacin de soporte y dependencias para un concepto en concreto. Si define un determinado parmetro USE, Portage sabr que el usuario desea soporte para la palabra clave escogida. Por supuesto, tambin altera las dependencias de un paquete. Veamos un ejemplo especfico: la palabra clave kde. Si no la tiene en su variable USE, todos los paquetes que tengan soporte opcional para KDE se construirn sin l. Los que tengan una dependencia opcional con KDE se instalarn sin instalar las libreras de KDE (como dependencia). Si ha definido la palabra clave kde, entonces dichos paquetes s se construirn con soporte para KDE, y las librera de KDE sern instaladas Definiendo correctamente las palabras clave, conseguir un sistema confeccionado especficamente para sus necesidades. Qu parmetros USE existen? Hay dos tipos de parmetros USE: globales y locales.

Un parmetro USE global lo usan varios paquetes, en todo el sistema. Es lo que la mayora de la gente entiende como parmetros USE. Un parmetro USE local lo utiliza un slo paquete para tomar decisiones especficas para dicho paquete.

Puede encontrar una lista de los parmetros USE globales en lnea o localmente en /usr/portage/profiles/use.desc. Se puede encontrar una lista de los parmetros USE locales en /usr/portage/profiles/use.local.desc. 2.b. Usando los parmetros USE Declarar parmetros USE permanentes Esperamos que se haya convencido de la importancia de los parmetros USE. Ahora pasaremos a explicar como se declaran estos parmetros. Como ya se ha dicho anteriormente, todos los parmetros USE se declaran dentro de la variable USE. Para simplificar al usuario la tarea de buscar y escoger parmetros USE, ya proporcionamos una configuracin predeterminada. Esta configuracin es un compendio de parmetros que creemos se utilizan frecuentemente por los usuarios de Gentoo. Dicha configuracin predeterminada se declara en los ficheros make.defaults que forman parte de su perfil.

El perfil al que atiende su sistema lo indica el enlace simblico /etc/make.profile. Cada perfil funciona sobre otro, ms extenso, y el resultado final es una suma de todos ellos. El perfil ms alto es el perfil base (/usr/portage/profiles/base). Echemos un vistazo a la configuracin predeterminada para el perfil 10.0: Listado de Cdigo 2.1: Variable USE acumulada de make.defaults para el perfil 10.0
(Esto es un ejemplo de la suma de configuraciones en: base, default/linux, default/linux/x86 y default/linux/x86/10.0/) USE="a52 aac acpi alsa branding cairo cdr dbus dts dvd dvdr emboss encode exif fam firefox flac gif gpm gtk hal jpeg lcms ldap libnotify mad mikmod mng mp3 mp4 mpeg ogg opengl pango pdf png ppds qt3support qt4 sdl spell startup-notification svg tiff truetype vorbis unicode usb X xcb x264 xml xulrunner xv xvid"

Como puede ver, esta variable contiene bastantes palabras clave. No modifique el fichero make.defaults para ajustar la variable USE a sus necesidades: los cambios se perdern al actualizar el rbol del Portage! Para modificar esta configuracin predeterminada, necesita aadir o eliminar palabras clave a la variable USE. Para llevarlo a cabo, se define la variable USE en /etc/make.conf. En esta variable aada los parmetros USE que necesite o elimine los que no quiera. Para eliminarlos coloque el smbolo menos ("-") delante. Por ejemplo, para eliminar el soporte para KDE y QT adems de aadir soporte para ldap, puede definirse el siguiente parmetro USE en /etc/make.conf: Listado de Cdigo 2.2: Un ejemplo de confirmacin USE en /etc/make.conf
USE="-kde -qt4 ldap"

Declarar parmetros USE para paquetes especficos A veces le interesar establecer un cierto parmetro USE tan slo para una o dos aplicaciones, pero no para todo el sistema. Para solventar, esto, necesitar crear el directorio /etc/portage (si no existiera) y editar /etc/portage/package.use. Esta ruta es generalmente un nico fichero pero podria ser un directorio; vea man portaga para ms informacin. Los siguientes ejemplos asumirn que package.use es un nico fichero. Por ejemplo, si no le interesa soporte global para berkdb pero lo quiere para mysql, necesita aadir: Listado de Cdigo 2.3: Ejemplo de /etc/portage/package.use
dev-db/mysql berkdb

Por supuesto tambin puede desactivar el empleo especfico de un parmetro USE para una aplicacin en concreto. Por ejemplo si no quiere soporte para java en PHP: Listado de Cdigo 2.4: Segundo ejemplo de /etc/portage/package.use
dev-php/php -java

Declarar parmetros USE temporales A veces necesitar utilizar una cierta configuracin de USE tan slo una vez. En lugar de editar /etc/make.conf dos veces (una para hacer y otra para deshacer los cambios) puede declarar la variable USE como una variable de entorno. Recuerde que, si utiliza este mtodo, cuando vuelva a emerger o actualice este aplicacin (tanto si es particular como si forma parte de una actualizacin del sistema) perder los cambios. Como ejemplo, vamos a eliminar temporalmente el parmetro java USE durante la instalacin de seamonkey. Listado de Cdigo 2.5: Utilizando USE como una variable de entorno
# USE="-java" emerge seamonkey

Precedencia Por supuesto, hay una determinada precedencia respecto a qu configuracin tiene prioridad sobre la configuracin del USE. No querr declarar USE="-java" y comprobar posteriormente que java continua utilizndose debido a una configuracin que tiene mayor prioridad. La precedencia para la configuracin del USE es (el primero tiene la mnima prioridad): 1. Configuracin predeterminada de USE declarada en los archivos make.defaults de su perfil. 2. Configuracin definida por el usuario en /etc/make.conf 3. Configuracin definida por el usuario en /etc/portage/package.use 4. Configuracin definida por el usuario como variable de entorno Para observar el valor final del USE tal y como lo ver Portage, ejecute emerge --info. Se listarn una serie de variables importantes (incluyendo la variable USE) con sus valores correspondientes. Listado de Cdigo 2.6: Ejecutando emerge info
# emerge --info

Adaptando su Sistema Completamente a los Nuevos Parmetros USE Si ha cambiado sus parmetros USE y desea actualizar todo su sistema para que utilice el nuevo parmetro, utilice la opcin de emerge llamada --newuse: Listado de Cdigo 2.7: Recompilando todo su sistema
# emerge --update --deep --newuse world

A continuacin, ejecute una limpieza completa de Portage para eliminar las dependencias que haban sido instaladas en su "antiguo" sistema pero que han quedado obsoletas por los nuevos parmetros de USE. Aviso: Ejecutar emerge depclean es una operacin peligrosa y debera tratarse con cuidado. Revise en profundidad la lista de paquetes "obsoletos" y asegrese de que no elimina ningn paquete que necesite. En el siguiente ejemplo hemos aadido -p para mostrar la lista de paquetes que seran eliminados pero sin eliminarlos fsicamente.

Listado de Cdigo 2.8: Desinstalando los paquetes obsoletos


# emerge -p depclean

Cuando haya finalizado la limpieza, ejecute revdep-rebuild para recompilar las aplicaciones que estn enlazadas dinmicamente con los objetos que proporcionaban los paquetes eliminados. revdep-rebuild forma parte del paquete gentoolkit; no olvide hacer emerge primero. Listado de Cdigo 2.9: Ejecutando revdep-rebuild
# revdep-rebuild

Cuando todo esto haya terminado, su sistema estar utilizando la nueva configuracin de los parmetros USE. 2.c. Parmetros USE especficos de un paquete Viendo los parmetros USE disponibles Veamos el ejemplo de seamonkey: Qu parmetros USE influyen sobre l? Para averiguarlo, usamos emerge con las opciones --pretend (simula llevar a cabo la accin) y --verbose (obtener una salida ms detallada): Listado de Cdigo 3.1: Viendo los parmetros USE usados
# emerge --pretend --verbose seamonkey These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] www-client/seamonkey-1.0.7 USE="crypt gnome java -debug -ipv6 -ldap -mozcalendar -mozdevelop -moznocompose -moznoirc -moznomail -moznopango -moznoroaming -postgres -xinerama -xprint" 0 kB

emerge no es la nica herramienta disponible para esta labor. De hecho, tenemos una herramienta llamada equery dedicada a obtener informacin sobre los paquetes; la cual se encuentra en el paquete gentoolkit. En primer lugar, instale gentoolkit: Listado de Cdigo 3.2: Instalando gentoolkit
# emerge gentoolkit

Ahora ejecute equery con el argumento uses para ver los parmetros del USE de un paquete en concreto. Por ejemplo, en el caso del paquete gnumeric: Listado de Cdigo 3.3: Utilizando equery para ver los parmetros USE usados
# [ [ [ [ [ equery --nocolor uses =gnumeric-1.6.3 -a Searching for packages matching =gnumeric-1.6.3... ] Colour Code : set unset ] Legend : Left column (U) - USE flags from make.conf ] : Right column (I) - USE flags packages was installed with ] Found these USE variables for app-office/gnumeric-1.6.3 ] U I - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see

http://www.gentoo.org/proj/en/qa/backtraces.xml . + + gnome : Adds GNOME support + + python : Adds support/bindings for the Python language - - static : !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically

3. Caractersticas de Portage
3.a. Caractersticas de Portage Portage tiene varias caractersticas adicionales que hacen de su experiencia con Gentoo algo mucho mejor. Muchas de estas caractersticas residen en ciertas herramientas software que mejoran el rendimiento, la estabilidad, la seguridad, ... Para activar o desactivar ciertas caractersticas de Portage necesita editar la variable FEATURES del archivo /etc/make.conf. Esta variable contiene una lista con las palabras clave de cada caracterstica separadas por un espacio en blanco. En algunos casos necesita adems instalar la herramienta que implementa la caracterstica. No todas las caractersticas que soporta Portage estn aqu reflejadas. Para una consulta completa por favor revise la pgina de la ayuda referente a make.conf Listado de Cdigo 1.1: Consultando la pgina de ayuda sobre make.conf
$ man make.conf

Para conocer qu caractersticas estn siendo utilizadas por defecto, ejecute emerge --info y busque la variable FEATURES o utilice grep: Listado de Cdigo 1.2: Conociendo que caractersticas estn configuradas
$ emerge --info | grep FEATURES

3.b. Compilacin Distribuida Usando distcc distcc es un programa para distribuir un trabajo de compilacin a travs de muchas, no necesariamente idnticas, mquinas en una red. Los clientes de distcc envan toda la informacin necesaria a los servidores DistCC disponibles (corriendo distccd) as pueden compilar trozos de cdigo fuente para el cliente. El resultado final, es un tiempo de compilacin ms rpido. Puede encontrar informacin ms detallada sobre distcc (e informacin de como tenerlo funcionando sobre Gentoo) en nuestra Documentacin Gentoo de Distcc. Instalando distcc Distcc se distribuye con un monitor grfico para monitorizar las tareas que su computador est enviando para compilar. Si usa Gnome entonces ponga 'gnome' en su configuracin USE. De todas formas, si no usa Gnome pero sigue deseando disponer de un monitor, entonces debera poner 'gtk' en su configuracin USE.

Listado de Cdigo 2.1: Instalando distcc


# emerge distcc

Activando el soporte en Portage Aada distcc a la variable FEATURES dentro de /etc/make.conf. Hecho esto, edite la variable MAKEOPTS a sus necesidades. Una pauta conocida para configurarla es poner -jX con X representando el nmero de CPUs que ejecutan distccd (incluyendo el host local) ms uno, pero quiz obtenga mejores resultados con otros nmeros. Ahora ejecute distcc-config y cree una lista de los servidores distcc disponibles. Para un ejemplo simple, supondremos que los servidores DistCC son 192.168.1.102 (el host local), 192.168.1.103 y 192.168.1.104 (los dos hosts "remotos"): Listado de Cdigo 2.2: Configurando distcc para usar los tres servidores DistCC disponibles
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"

Por supuesto, no se olvide ejecutar tambin el demonio distccd: Listado de Cdigo 2.3: Arrancando el demonio distcc
# rc-update add distccd default # /etc/init.d/distccd start

3.c. Compilacin utilizando cach Acerca de ccache ccache es un cach de compilacin rpida. Cuando compila un programa, puede cachear resultados intermedios, de forma que, si recompila el mismo programa, el tiempo de compilacin se reducir ampliamente. La primera vez que se ejecuta ccache, sta ser ms lenta que una compilacin normal. Recompilaciones posteriores deberan ser ms rpidas. La herramienta ccache solo es til si va a recompilar la misma aplicacin muchas veces; por lo tanto en la mayora de los casos es til nicamente para los desarrolladores de software. Si esta interesado en los pros y los contras de ccache, por favor visite la pgina web de ccache. Aviso: ccache puede causar numerosos fallos de compilacin. Algunas veces ccache mantendr objetos con cdigo obsoleto o ficheros corruptos que pueden llevar a que no se pueda hacer emerge de ciertos paquetes. Si esto ocurre (Si obtiene errores como "File not recognized: File truncated"), intente recompilar la aplicacin con ccache deshabilitado (FEATURES="-ccache" en /etc/make.conf) antes de informar de un bug. A menos que est realizando trabajo de desarrollo, no active ccache. Instalando ccache Para instalar ccache, ejecute emerge ccache:

Listado de Cdigo 3.1: Instalando ccache


# emerge ccache

Activando el Soporte en Portage Primero, edite el /etc/make.conf y aada a la variable FEATURES la palabra clave ccache. A continuacin, aada una nueva variable llamada CCACHE_SIZE y dele el valor de "2G": Listado de Cdigo 3.2: Editando CCACHE_SIZE en /etc/make.conf
CCACHE_SIZE="2G"

Para comprobar si ccache funciona, pdale a ccache que te muestre las estadsticas. Ya que Portage utiliza un directorio diferente para guardar los datos, se necesita fijar la variable CCACHE_DIR para reflejar esto: Listado de Cdigo 3.3: Observando las estadsticas de ccache
# CCACHE_DIR="/var/tmp/ccache" ccache -s

La ruta /var/tmp/ccache es el directorio por defecto que emplea Portage para ccache; si quiere cambiar esta variable, configure CCACHE_DIR en /etc/make.conf. Sin embargo, si ejecuta ccache, emplear como directorio por defecto ${HOME}/.ccache, que es la razn por la cual necesita configurar la variable CCACHE_DIR cuando se le pide a Portage que muestre las estadsticas de ccache. Utilizando ccache para compilaciones de C sin relacin con Portage Si quiere utilizar ccache para compilaciones que no tengan que ver con Portage, aada /usr/lib/ccache/bin al principio de su variable PATH (antes de /usr/bin). Esto puede llevarse a cabo editando el fichero .bash_profile de su directorio home de usuario. .bash_profile es una de las maneras de definir las variables PATH. Listado de Cdigo 3.4: Editar .bash_profile
PATH="/usr/lib/ccache/bin:/opt/bin:${PATH}"

3.d. Soporte para Paquetes Binarios Creando paquetes binarios Portage soporta la instalacin de paquetes precompilados. A pesar de que Gentoo no proporciona paquetes precompilados por s mismo (excepto para las imgenes GRP) Portage puede funcionar perfectamente con paquetes precompilados. Para crear un paquete precompilado puede utilizar quickpkg si el paquete est instado en su sistema, o emerge con las opciones --buildpkg o --buildpkgonly. Si quiere que Portage cree paquetes precompilados de cada paquete individual que instale, aada buildpkg a la variable FEATURES.

Puede encontrar mayor soporte para la creacin de conjuntos de paquetes precompilados con catalyst. Para ms informacin sobre catalyst, por favor lea las Preguntas frecuentes sobre Catalyst (en ingls). Instalando Paquetes Precompilados A pesar de que Gentoo no proporciona uno, puede crear un repositorio central donde almacene paquetes precompilados. Si quiere utilizar este repositorio, necesita que Portage lo conozca a travs de la variable PORTAGE_BINHOST que debe apuntar al repositorio. Por ejemplo, si los paquetes precompilados estn en ftp://buildhost/gentoo: Listado de Cdigo 4.1: Configurando PORTAGE_BINHOST en /etc/make.conf
PORTAGE_BINHOST="ftp://buildhost/gentoo"

Cuando quiera instalar un paquete precompilado, aada la opcin --getbinpkg a la orden emerge junto a la opcin --usepkg. La primera le indica a emerge que descargue el paquete precompilado del servidor definido previamente, mientras que el segundo indica a emerge que intente instalar el paquete precompilado antes de buscar el cdigo fuente y compilarlo. Por ejemplo, para instalar gnumeric a travs de paquetes precompilados: Listado de Cdigo 4.2: Instalando el paquete precompilado gnumeric
# emerge --usepkg --getbinpkg gnumeric

Ms informacin sobre las opciones para utilizar paquetes precompilados con emerge puede consultarse en la pgina de la ayuda: Listado de Cdigo 6.16: Leyendo la pgina de ayuda sobre emerge
$ man emerge

3.e. Descargando Ficheros Parallel fetch Al hacer emerge a una serie de paquetes, Portage puede obtener las fuentes para el siguiente paquete en el lista an mientras est compilando otro paquete, acortando los tiempos de instalacin. Para hacer uso de esta opcin agregue "parallel-fetch" a su variable FEATURES. Observe que est activada por defecto de modo que no necesitara activarla explcitamente. Userfetch Cuando Portage se ejecuta por el usuario root, FEATURES="userfetch" permitir que Portage ejecute sin los privilegios de superusuario mientras obtiene las fuentes. Este es una pequea mejora en la seguridad. 3.f. Obteniendo instantneas validadas del rbol Portage Como administrador, puede optar por actualizar nicamente su rbol Portage local con una instantnea del rbol validada criptogrficamente tal y como publica el equipo de

infraestructura de Gentoo. Con esto se asegura que ningn otro servidor rplica falso est aadiendo cdigo no deseado u otros paquete en el rbol que est descargando. Para configurar Portage, en primer lugar cree un almacn de confianza en el cual pueda descargar y aceptar las claves del equipo de infraestructura de Gentoo responsable del firmado de las instantneas del rbol Portage. Desde luego, si lo desea puede validar esta clave GPG tal y como muestran estas instrucciones (por ejemplo comprobar la huella digital AE54 54F9 67B5 6AB0 9AE1 6064 0838 C26E 239C 75C4 para la clave 0x239C75C4 o DCD0 5B71 EAB9 4199 527F 44AC +DB6B 8C1F 96D8 BF6D para la clave 0x96D8BF6D). Listado de Cdigo 6.1: Crear un almacn de confianza para Portage
# mkdir -p /etc/portage/gpg # chmod 0700 /etc/portage/gpg # gpg --homedir /etc/portage/gpg --keyserver subkeys.pgp.net --recvkeys 0x239C75C4 0x96D8BF6D # gpg --homedir /etc/portage/gpg --edit-key 0x96D8BF6D trust

A continuacin, edite el fichero /etc/make.conf y active el soporte para la validacin de las instantneas del rbol Portage firmadas (usando FEATURES="webrsync-gpg") y deshabilite la actualizacin del rbol Portage usando el mtodo comn emerge --sync. Listado de Cdigo 6.2: Actualizar Portage para la validacn del rbol firmado
FEATURES="webrsync-gpg" PORTAGE_GPG_DIR="/etc/portage/gpg" SYNC=""

Eso es todo. La prxima vez que ejecute emerge-webrsync, nicamente las instantneas con una firma vlida se expandirn en su sistema de ficheros.

4. Scripts de arranque
4.a. Niveles de ejecucin Iniciando su sistema Al iniciar, notar que pasar al frente suyo una gran cantidad de texto. Si pone atencin, notar que estos textos son iguales cada vez que reinicie su sistema. La secuencia de todas estas acciones se llama la secuencia de inicio y es (ms o menos) definido estticamente. En primer lugar, su gestor de arranque cargar en memoria la imagen del ncleo que defini en la configuracin del gestor de arranque, despus de lo cual, se indica a la CPU que debe ejecutar el ncleo. Al ser cargado y luego ejecutado inicializa todas las estructuras y tareas especficas del ncleo e inicia el proceso init. Este proceso asegura que todos los sistemas de archivo (definidos en /etc/fstab) estn montados y listos para usar. Luego ejecuta varios guiones en /etc/init.d, correspondientes a los servicios requeridos para tener un sistema correctamente iniciado. Finalmente, al concluir la ejecucin de los guiones, init activa los terminales (generalmente solo las consolas virtuales accesibles con Alt-F1, Alt-F2, etc.) fijndoles

un proceso especial denominado agetty. Este proceso har posible que pueda ingresar al sistema a travs de uno de estos terminales ejecutando login. Guiones de inicio (init scripts) Ahora bien, init no solamente ejecuta los guiones contenidos en /etc/init.d de manera aleatoria. An ms, no ejecuta todos los guiones del /etc/init.d, solamente los que han sido seleccionados para ejecutar. Los guiones seleccionados para ejecutar se encuentran dentro del directorio /etc/runlevels. Primero, init ejecuta todos los guiones de /etc/init.d cuyos vnculos simblicos se encuentran dentro de /etc/runlevels/boot. Usualmente los iniciar en orden alfabtico, pero algunos guiones tienen informacin relativa a dependencias, para lo cual otros guiones deben ser iniciados anteriormente. Cuando se ejecuten todos los guiones referenciados en /etc/runlevels/boot, init continua su trabajo con los guiones en /etc/runlevels/default. Una vez ms, usar el orden alfabtico, salvo cuando hay dependencias, en cuyo caso es alterado el orden de inicio para realizar una secuencia vlida de arranque. Cmo funciona Init? Por supuesto que init no decide todo eso por su cuenta. Requiere un archivo de configuracin que especifica las acciones a tomar. Este archivo es /etc/inittab. Si recuerda al secuencia de inicio recin explicada, recordar que la primera accin de init es montar todos los sistemas de archivo. Esto est definido en la siguiente lnea de /etc/inittab: Listado de Cdigo 1.1: La lnea de inicializacin del sistema en /etc/inittab
si::sysinit:/sbin/rc sysinit

Esa lnea dice a init que debe ejecutar /sbin/rc sysinit al iniciar el sistema. Los guiones /sbin/rc se encargan de la inicializacin, con lo que podramos decir que init no hace mucho, delega la tarea de inicializacin del sistema a otro proceso. En segundo lugar, init ejecut los guiones con vnculos simblicos en /etc/runlevels/boot. Esto se define en la siguiente lnea: Listado de Cdigo 1.2: Inicializacin del sistema, continuada
rc::bootwait:/sbin/rc boot

Una vez ms, el guin rc lleva a cabo las tareas necesarias. Note que la opcin de rc (boot) corresponde al subdirectorio usado bajo /etc/runlevels. Ahora init revisa su archivo de configuracin para ver que nivel de ejecucin debe ejecutar. Para decidirlo, lee la siguiente lnea de /etc/inittab: Listado de Cdigo 1.3: La lnea init por defecto (default)
id:3:initdefault:

En este caso (para la mayora de usuarios Gentoo), el identificador del nivel de ejecucin ser el 3. Con esta informacin init revisa qu debe ejecutar para iniciar el nivel de ejecucin 3: Listado de Cdigo 1.4: Definiciones de niveles de ejecucin
l0:0:wait:/sbin/rc shutdown l1:S1:wait:/sbin/rc single l2:2:wait:/sbin/rc nonetwork l3:3:wait:/sbin/rc default l4:4:wait:/sbin/rc default l5:5:wait:/sbin/rc default l6:6:wait:/sbin/rc reboot

La lnea que define el nivel 3, de nuevo usa el guin rc para iniciar los servicios (ahora con el parmetro por defecto default). Note una vez ms que el parmetro pasado al guin rc corresponde al subdirectorio de /etc/runlevels. Al terminar rc, init decide cules consolas virtuales debe activar y qu comandos deben ser ejecutados para cada una: Listado de Cdigo 1.5: Definicin de las consolas virtuales
c1:12345:respawn:/sbin/agetty c2:12345:respawn:/sbin/agetty c3:12345:respawn:/sbin/agetty c4:12345:respawn:/sbin/agetty c5:12345:respawn:/sbin/agetty c6:12345:respawn:/sbin/agetty 38400 38400 38400 38400 38400 38400 tty1 tty2 tty3 tty4 tty5 tty6 linux linux linux linux linux linux

Qu es un nivel de ejecucin? Ha visto que init utiliza un esquema de numeracin para decidir cual nivel de ejecucin debe activar. Un nivel de ejecucin es un estado en el cual su sistema est corriendo y contiene guiones (del nivel de ejecucin o initscripts) que sern ejecutados al ingresar o salir del nivel de ejecucin. En Gentoo, hay siete niveles de ejecucin definidos: tres internos y cuatro definidos por el usuario. Los internos se llaman sysinit, shutdown y reboot y hacen exactamente lo que implican sus nombres, inicializacin, apagado y reinicio del sistema. Los niveles de ejecucin definidos por el usuario estn acompaados de un subdirectorio bajo /etc/runlevels: boot, default, nonetwork y single. El nivel de ejecucin boot inicia los servicios necesarios que requieren los dems niveles de ejecucin. Los tres niveles de ejecucin restantes difieren respecto a los servicios que inician: default es para uso diario, nonetwork en caso de no requerirse la red y single es utilizado en caso de necesitar arreglar el sistema. Trabajando con los guiones de inicio Los guiones iniciados por el proceso rc son llamados guiones de inicio o init scripts. Cada guin en /etc/init.d puede ser ejecutado con los parmetros start, stop, restart, pause, zap, status, ineed, iuse, needsme, usesme o broken.

Para iniciar, parar o reiniciar un servicio (y sus respectivas dependencias), deben usarse start, stop y restart: Listado de Cdigo 1.6: Iniciar postfix
# /etc/init.d/postfix start

Nota: Solo los servicios que necesiten (need) del servicio nombrado sern parados o reiniciados. Los dems servicios, aquellos que usen (use) el servicio nombrado, pero que no lo necesiten) continuarn sin ser tocados. Si desea parar un servicio, pero no los que dependan de el, puede usar el parmetro pause para pausarlo: Listado de Cdigo 3.20: Detener postfix, manteniendo la ejecucin de los dems servicios
# /etc/init.d/postfix pause

Si desea ver el estado de un servicio (iniciado, parado, pausado, ...) puede usar el parmetro status: Listado de Cdigo 1.8: Estado del servicio postfix
# /etc/init.d/postfix status

Si la respuesta a status indica que el servicio est corriendo, pero realmente no es as, puede reajustarlo manualmente con el parmetro zap: Listado de Cdigo 1.9: Reajustar la informacin de estado del servicio postfix
# /etc/init.d/postfix zap

Para preguntar por las dependencias que tiene un servicio, puede usar iuse o ineed. Con ineed puede ver cuales servicios son realmente necesarios para el correcto funcionamiento del servicio nombrado. Por otra parte, el parmetro iuse muestra los servicios que pueden ser usados por el servicio nombrado, pero que no son requeridos para su correcto funcionamiento. Listado de Cdigo 1.10: Solicitar una lista de servicios de los cuales depende postfix
# /etc/init.d/postfix ineed

De igual manera, puede indagar que servicios requieren el servicio nombrado (needsme) o cules pueden usarlo (usesme): Listado de Cdigo 1.11: Solicitar una lista de todos los servicios que requieren postfix
# /etc/init.d/postfix needsme

Finalmente, puede indagar cuales dependencias son requeridas y estn faltando: Listado de Cdigo 1.12: Solicitar una lista de dependencias faltantes para postfix
# /etc/init.d/postfix broken

3.b. Trabajando con rc-update Qu es rc-update?

El sistema de inicio (init) de Gentoo usa un rbol de dependencias para decidir qu servicios deben iniciarse primero. Como sta es una tarea tediosa, que no deseamos que nuestros usuarios tengan que hacer manualmente, hemos creado unas herramientas para facilitar la administracin de los niveles de ejecucin y los guiones de inicio. Con rc-update puede aadir o quitar guiones de inicio a un nivel de ejecucin. La herramienta rc-update automticamente usar el guin depscan.sh para reconstruir el rbol de dependencias. Aadiendo y removiendo servicios Ya hemos agregado guiones de inicio al nivel de ejecucin por defecto durante la instalacin de Gentoo. En ese instante tal vez no haya tenido una idea clara acerca del uso de un nivel de ejecucin "por defecto", aunque ahora s. El guin rc-update requiere un segundo parmetro que define la accin a llevar a cabo: add, del o show para agregar, borrar o mostrar. Para aadir o quitar un guin de inicio, use rc-update con el parmetro add o del, seguido por el nombre del guin de inicio y el nivel de ejecucin, por ejemplo: Listado de Cdigo 2.1: Quitar postfix del nivel de ejecucin por defecto
# rc-update del postfix default

El comando rc-update -v show mostrar todos los guiones de inicio con los niveles de ejecucin donde ejecutarn: Listado de Cdigo 2.2: Recibir informacin de los guiones de inicio
# rc-update -v show

Es posible ejecutar tambin rc-update show (sin -v) simplemente para ver los guiones de inicio activos y sus respectivos niveles de ejecucin. 4.c. Configuracin de servicios Porqu requerimos configuracin adicional? Los guiones de inicio pueden ser bastante complejos, por lo cual no es interesante que los usuarios modifiquen directamente el guin de inicio, ya que esto puede ser propenso a errores. Sin embargo es importante poder configurar estos servicios, en caso que se quieren dar ms opciones al servicio. Una segunda razn para mantener esta informacin fuera del guin de inicio es para poder actualizar estos guiones sin que los cambios de configuracin sean perdidos. El directorio /etc/conf.d Gentoo provee una manera fcil de configurar estos servicios: cada guin de inicio configurable tiene un archivo dispuesto en /etc/conf.d. Por ejemplo, el guin de inicio apache2 (llamado /etc/init.d/apache2) tiene un archivo de configuracin de nombre

/etc/conf.d/apache2, el cual contiene las opciones a pasar al servidor web Apache 2 en el momento de inicio: Listado de Cdigo 3.1: Variables definidas en /etc/conf.d/apache2
APACHE2_OPTS="-D PHP5"

Este tipo de archivo de configuracin contiene solamente variables (como /etc/make.conf), lo que facilita la configuracin de servicios. Tambin nos permite suministrar informacin adicional acerca de las variables (en forma de comentarios). 4.d. Escribiendo guiones de inicio Realmente tengo que hacerlo? Realmente, no. Escribir un guin de inicio usualmente no hace falta, ya que Gentoo provee guiones listos para usar para todos los servicios suministrados. Sin embargo, puede haber instalado un servicio sin usar Portage, en cuyo caso probablemente tenga que crear un guin de inicio. No use el guin de inicio suministrado por el servicio si no est explcitamente escrito para Gentoo: los guiones de inicio de Gentoo no son compatibles con los de las dems distribuciones! Disposicin La disposicin bsica de un guin de inicio se muestra a continuacin. Listado de Cdigo 4.1: Disposicin bsica de un guin de inicio
#!/sbin/runscript depend() { (Informacin acerca de las dependencias) } start() { (Comandos requeridos para iniciar el servicio) } stop() { (Comandos requeridos para parar el servicio) }

Cualquier guin de inicio requiere la definicin de la funcin start(). Todas las dems son opcionales. Dependencias Hay dos dependencias que puede definir: use y need. Tal como hemos mencionado anteriormente, la dependencia need es ms estricta que la dependencia use. Siguiendo este esquema, se declaran los servicios que dependen de ste o la dependencia virtual. Existen dos ajustes relacionados con las dependencias que puede definir y que influyen en el arranque o secuenciacin de los guiones de inicio: use y need. Aparte de estas dos, existen tambin dos mtodos que influyen en el orden llamados: before y after. Estos ltimos no

son dependencias en s mismos, no provocan el fallo del guin de inicio si el guin seleccionado no est programado para ser iniciado (o falla al iniciar).

Los ajustes use informan al sistema de inicio que este guin utiliza funcionalidad ofrecida por el guin seleccionado, sin embargo no depende directamente de l. Un buen ejemplo sera use logger o use dns. Si estos servicios estn disponibles, se usarn de forma correcta, pero aunque no tenga instalado un programa de registro (logger) o servidor DNS, los servicios funcionarn de todos modos. Si estos servicios estn presentes en su sistema, entonces se arrancarn antes del guin que los utiliza. El ajuste need es una dependencia inevitable. Esto significa que el guin que necesita otro guin, no podr arrancar antes de que el otro guin se arranque de forma correcta. Si el otro guin es reiniciado, entonces el guin que depende de l ser reiniciado igualmente. Cuando se utiliza before, el guin dado es arrancado antes del guin seleccionado si el seleccionado forma parte del nivel de inicio. Por lo tanto, si el guin de inicio xdm define before alsasound, ser arrancado antes que el guin alsasound, pero solo si alsasound est tambin programado para ser arrancado en el mismo nivel de inicio. Si alsasound no est programado para arrancar, entonces este ajuste en particular no tiene efecto y el guin xdm ser arrancado cuando el sistema de inicio lo juzgue apropiado. De modo similar, after informa al sistema de inicio que el guin dado debera ser arrancado antes que el seleccionado si el guin seleccionado forma parte de nivel de inicio. En caso contrario, el ajuste no tiene efecto y el guin ser arrancado por el sistema de inicio cuando ste lo juzgue apropiado.

Debera quedar claro una vez leida la parte de arriba, que need es el nico ajuste que define un "autntica" dependencia ya que afecta al hecho de que el guin sea arrancado o no. Las dems son simplemente apuntes al sistema de inicio para clarificar el orden en el que los guiones deben (o deberan ser arrancados). Si echa un vistazo al muchos de los guiones de inicio disponibles en Gentoo, observar que algunos tienen dependencias de objetos que no son guiones de inicio. Estos "objetos" son los llamados virtuals (virtuales). Una dependencia virtual es una suministrada por un servicio, pero no solo por ese servicio. Su guin de inicio puede depender de un gestor de registro de sistema, habiendo disponibilidad de varios (metalogd, syslog-ng, sysklogd, ...). Como no se necesitan todos (ningn sistema normal tiene todos estos gestores de registro instalados y corriendo) nos aseguramos que todos estos servicios provean una dependencia virtual. Examinemos la informacin de dependencia del servicio postfix. Listado de Cdigo 4.2: Informacin de dependencias de postfix
depend() { need net use logger dns provide mta }

Como podemos ver, el servicio postfix:

requiere la dependencia (virtual) net (suministrada por, en este caso, /etc/init.d/net.eth0) usa la dependencia (virtual) logger (suministrada por, en este caso, /etc/init.d/syslog-ng) usa la dependencia virtual (virtual) dns (suministrada por, en este caso, /etc/init.d/named) provee la dependencia (virtual) mta (comn a todos los servidores de correo electrnico)

Controlando el orden Tal y como se ha descrito en la seccin anterior, puede indicarle al sistema de inicio qu orden debe seguir para arrancar (o parar) los guiones. Este orden es manejado tanto por los ajustes de dependencia use y need, como por los ajustes de orden before y after. Como ya hemos descrito estos ajustes, echemos un vistazo al servicio Portmap como ejemplo de guin de inicio. Listado de Cdigo 4.3: La funcin depend() en el servicio portmap
depend() { need net before inetd before xinetd }

Tambin puede usar el carcter que engloba "*" para todos los servicios, aunque no es aconsejable. Listado de Cdigo 4.4: Ejecutando un guin de inicio como el primer guin del nivel de ejecucin
depend() { before * }

Si su servicio debe escribir a discos locales, debe necesitar localmount. Si escribe algo en /var/run como un archivo pid, entonces debera comenzar despus de bootmisc: Listado de Cdigo 4.5: Funcin ejemplo de depend()
depend() { need localmount after bootmisc }

Funciones estndar Junto con la funcin depend(), har falta definir la funcin start(), que contiene los comandos necesarios para inicializar su servicio. Es aconsejable usar las funciones ebegin y eend para informarle al usuario acerca de lo que est ocurriendo: Listado de Cdigo 4.6: Ejemplo de funcin start()
start() { if [ "${RC_CMD}" = "restart" ]; then # Hacer algo en caso de que restart requiera algo ms que para y

arrancar fi ebegin "Starting my_service" start-stop-daemon --start --exec /path/to/my_service \ --pidfile /path/to/my_pidfile eend $? }

Ambos --exec y --pidfile deben usarse en las funciones start y stop. Si el servicio no crea un archivo pid, entonces use --make-pidfile si es posible, aunque debe probar esto para estar seguro. De otra manera, no use archivos pid. Puede tambin agregar --quiet a las opciones al start-stop-daemon, pero esto no es recomendado a no ser que el el servicio sea extremadamente verboso. Usando --quiet puede interferir con la depuracin si el servicio no logra arrancar. Otro ajuste notable usado en el ejemplo de arriba es la comprobacin de los contenidos de la variable RC_CMD. Al contrario que el sistema de guiones de inicio anterior, el nuevo sistema openrc no soporta funcionalidad de reinicio especfica de los guiones. En lugar de esto, el guin necesita comprobar el contenido de la variable RC_CMD para var si una funcin (sea start() o stop()) se llama como parte del reinicio o no. Nota: Asegrese que --exec de hecho llame un servicio y no solamente un guin que lanza un servicio y termina -- despus de todo, eso es lo que el guin de inicio est supuesto de hacer. Si requiere ms ejemplos de funciones start(), favor leer directamente las fuentes de los guiones de inicio en su directorio /etc/init.d. Otra funcin que puede definir es stop(). Sin embargo, No est obligado a definir esta funcin! Nuestro sistema de inicio es lo suficientemente inteligente para rellenar esta funcin por s mismo si utiliza start-stop-daemon. A continuacin se muestra un ejemplo de la funcin stop(): Listado de Cdigo 4.7: Funcin stop() de ejemplo
stop() { ebegin "Stopping my_service" start-stop-daemon --stop --exec /path/to/my_service \ --pidfile /path/to/my_pidfile eend $? }

Si su servicio corre otro guin (por ejemplo, bash, python o perl), y este guin luego cambia algn nombre (por ejemplo, foo.py a foo), entonces har falta agregar --name al start-stop-daemon. Debe especificar el nombre al cual cambiar el guin. En este ejemplo, un servicio inicia foo.py, el cual cambia de nombre a foo: Listado de Cdigo 4.8: Un servicio que inicia el guin foo
start() { ebegin "Starting my_script" start-stop-daemon --start --exec /path/to/my_script \ --pidfile /path/to/my_pidfile --name foo

eend $? }

El start-stop-daemon tiene una excelente pgina man si requiere ms informacin: Listado de Cdigo 4.9: Obteniendo la pgina man para el start-stop-daemon
$ man start-stop-daemon

La sintaxis de los guiones de inicio de Gentoo est basada en el intrprete de comandos Bourne Again Shell (bash), de manera que es libre de usar construcciones compatibles con bash dentro del guin de inicio. Sin embargo, puede que desee escribir sus guiones de forma que sean compatibles POSIX. Puede que Los sistemas de inicio futuros permitan enlazar de forma simblica /bin/sh a otros intrpretes de comandos aparte de bash. Los guiones de inicio que dependen de caractersticas propias de bash pueden romper estas configuraciones. Aadiendo opciones personalizadas Si desea que su guin de inicio soporte un mayor nmero de opciones de las que hemos encontrado hasta ahora, debe agregar la opcin a la variable extra_commands y crear una funcin con el mismo nombre que la opcin. Por ejemplo, para dar soporte a una opcin llamada restartdelay: Listado de Cdigo 4.10: Soporte para la opcin restartdelay
extra_commands="restartdelay" restartdelay() { stop sleep 3 # Espere 3 segundo antes de reiniciar start }

Importante: La funcin restart() no puede ser sobreescrita en openrc!. Variables para la configuracin de servicios No hay que hacer nada para soportar un archivo de configuracin en /etc/conf.d: si su guin de inicio se ejecuta, los siguientes archivos sern automticamente ledos (sourced) y las variables estarn disponibles para usar.

/etc/conf.d/<su guin de inicio> /etc/conf.d/basic /etc/rc.conf

Tambin, si su guin de inicio provee una dependencia virtual (como net), el archivo asociado a esa dependencia (el /etc/conf.d/net) ser ledo tambin. 4.e. Cambiando el comportamiento del nivel de ejecucin Quin puede beneficiarse de esto? Muchos usuarios de equipos porttiles conocen la situacin: en casa necesita iniciar net.eth0 mientras que puede no querer iniciar net.eth0 mientras est de viaja (cuando no

hay una red disponible). Con Gentoo puede modificar el comportamiento del nivel de ejecucin para sus propios propsitos. Por ejemplo puede crear un segundo nivel de ejecucin "default" con el cual puede arrancar y que utiliza otros guiones de inicio que le han sido asignados. Puede seleccionar al arrancar que nivel de ejecucin quiere utilizar. Utilizando softlevel Antes de nada, cree el directorio para su segundo nivel de ejecucin "default". Como ejemplo vamos a crear el nivel de ejecucin offline: Listado de Cdigo 5.1: Creando el directorio para el nivel de ejecucin
# mkdir /etc/runlevels/offline

Aada los guiones de inicio necesarios para el nuevo nivel de ejecucin. Por ejemplo, si quiere una copia exacta de su actual "default" pero sin net.eth0: Listado de Cdigo 5.2: Aadiendo los guiones de inicio necesarios
(Copiar todos los servicios desde el nivel de ejecucin default al nivel offline) # cd /etc/runlevels/default # for service in *; do rc-update add $service offline; done (Eliminar servicios no deseados en el nivel offline) # rc-update del net.eth0 offline (Mostrar los servicios activos en el nivel offline) # rc-update show offline (Salida incompleta de ejemplo) acpid | offline domainname | offline local | offline net.eth0 |

Incluso aunque se haya eliminado net.eth0 del nivel de ejecucin offline, puede que udev quiera intentar iniciar cualquier dispositivo que detecte y lanzar los servicios apropiados, una funcionalidad llamada hotplugging (enchufado en caliente). Por defecto Gentoo no habilita esta funcionalidad. Si quiere habilitar el hotplugging pero solo para un conjunto seleccionado de guiones, utilice la variable rc_hotplug en /etc/rc.conf: Listado de Cdigo 5.3: Deshabilitando los servicions iniciados por dispositivos en /etc/rc.conf
# Permite enchufar en caliente net.wlan as como cualquier otro # servicio excepto los que concuerden con net.* rc_hotplug="net.wlan !net.*"

Nota: Para ms informacin sobre los servicios iniciados en funcin de dispositivos, consulte los comentarios del archivo /etc/rc.conf. Ahora edite la configuracin de su gestor de arranca y aada una nueva entrada para el nivel de ejecucin offline. Por ejemplo, en /boot/grub/grub.conf: Listado de Cdigo 5.4: Aadiendo una entrada para el nivel de ejecucin offline

title Gentoo Linux Offline Usage root (hd0,0) kernel (hd0,0)/kernel-2.4.25 root=/dev/hda3 softlevel=offline

Listo, ha terminado de configurarlo. Si arranca su sistema y selecciona la nueva entrada al inicio, el nivel de ejecucin offline ser el utilizado en lugar del default. Utilizando bootlevel Utilizar bootlevel es completamente anlogo a softlevel. La nica diferencia es que se define un segundo nivel de ejecucin "boot" en lugar de un segundo "default".

5. Variables de entorno
5.a. Variables de Entorno? Qu son? Una variable de entorno es un objeto designado para contener informacin usada por una o ms aplicaciones. Algunos usuarios (especialmente aquellos nuevos en Linux) encuentran esto un poco extrao o inmanejable. Sin embargo esto no es cierto: usando variables de entorno hace que cualquiera pueda cambiar una opcin de configuracin para una o ms aplicaciones fcilmente. Ejemplos Importantes La siguiente tabla muestra un listado de variables de entorno usado por un sistema Linux y describe su uso. Los valores de ejemplo se encuentran despus de la tabla. Variable Descripcin Esta variable contiene una lista de directorios separados por ":" en la cual el sistema buscar los archivos ejecutables. Al introducir el nombre de un ejecutable (como ls, rc-update o emerge) que no se encuentre en un de los directorios listados, el sistema no lo encontrar, (a menos que se introduzca la ruta completa, por ejemplo: /bin/ls). Esta variable tiene la misma funcin que PATH, pero nicamente contiene los directorios que el sistema debe revisar cuando el usuario root introduce un comando. Esta variable contiene una lista de directorios separados por ":" en la cual el enlazador dinmico busca para encontrar una librera. Esta variable contiene una lista de directorios separados por ":" en la cual el comando man busca las pginas de manual. Esta variable contiene una lista de directorios separados por ":" en la cual el comando info busca las pginas info. Esta variable contiene la ruta hacia el programa utilizado para mostrar el contenido de los ficheros (como less o

PATH

ROOTPATH LDPATH MANPATH INFODIR PAGER

more). Esta variable contiene la ruta hacia el programa utilizado EDITOR para modificar el contenido de los archivos (como nano o vi). Esta variable contiene una lista de directorios separados KDEDIRS por ":" los cuales contienen material especfico de KDE. Esta variable una lista de directorios separados por espacio CONFIG_PROTECT los cuales deben ser protegidos por Portage durante las actualizaciones. Esta variable una lista de directorios separados por espacio CONFIG_PROTECT_MASK los cuales no deben ser protegidos por Portage durante las actualizaciones. A continuacin puedes encontrar ejemplos de definiciones para todas estas variables: Listado de Cdigo 1.1: Definiciones de ejemplo
PATH="/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/games/bin" ROOTPATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin " LDPATH="/lib:/usr/lib:/usr/local/lib:/usr/lib/gcc-lib/i686-pc-linuxgnu/3.2.3" MANPATH="/usr/share/man:/usr/local/share/man" INFODIR="/usr/share/info:/usr/local/share/info" PAGER="/usr/bin/less" EDITOR="/usr/bin/vim" KDEDIRS="/usr" CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb /opt/tomcat/conf \ /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ \ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf"

5.b. Definiendo variables globalmente El directorio /etc/env.d Para centralizar la definicin de estas variables, Gentoo introduce el directorio /etc/env.d. Dentro de este directorio se encuentran varios ficheros como por ejemplo 00basic, 05gcc, etc. los cuales contienen las variables necesarias para la aplicacin de la cual llevan el nombre. Por ejemplo, al instalar gcc, un fichero llamado 05gcc que contiene la definicin de las siguientes variables, fue creado por el ebuild: Listado de Cdigo 2.1: /etc/env.d/05gcc
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2" ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2" MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man" INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info" CC="gcc" CXX="g++" LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"

Otras distribuciones le piden modificar o aadir definiciones de variables de entorno semejantes en /etc/profile o en otros sitios. Por otro lado, Gentoo nos hace (y a Portage) ms fcil mantener y manejar las variables de entorno sin tener que prestar atencin a los numerosos ficheros que pueden contenerlas. Por ejemplo, cuando gcc es actualizado, tambin es actualizado el fichero /etc/env.d/05gcc sin ser necesaria ninguna interaccin por parte del usuario. Esto no solo beneficia a Portage, sino tambin al usuario. En ocasiones se podr pedir establecer cierta variable de entorno para todo el sistema. Como ejemplo, tomamos la variable http_proxy. En lugar de perder el tiempo con /etc/profile, puedes crear el fichero (/etc/env.d/99local) y introducir la(s) definicin(es) en l: Listado de Cdigo 2.2: /etc/env.d/99local
http_proxy="proxy.server.com:8080"

Usando el mismo fichero para todas las variables, se obtiene una visin rpida de las variables que definidas por uno mismo. El guin env-update Varios archivos de /etc/env.d definen la variable PATH. esto no es un error: cuando ejecute env-update, este concatenar las mltiples definiciones antes de actualizar las variables de entorno, haciendo ms fcil a los paquetes (o usuarios) aadir sus propias opciones en las variables de entorno sin interferir con los valores ya existentes. El guin env-update concatenar los valores alfabticamente ordenados por el nombre de los ficheros de /etc/env.d. Los nombres de fichero deben comenzar con dos digitos decimales. Listado de Cdigo 2.3: Update order used by env-update
00basic 99kde-env 99local +-------------+----------------+-------------+ PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin"

La concatenacin de variables no siempre funciona, solo con las siguientes variables: KDEDIRS, PATH, LDPATH, MANPATH, INFODIR, INFOPATH, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK, PRELINK_PATH y PRELINK_PATH_MASK. Para el resto de variables (archivos en orden alfabtico en /etc/env.d)se utilizar el ltimo valor definido Cuando ejecute env-update, el guin crear todas las variables de entorno y las colocar en /etc/profile.env (el cual es usado por /etc/profile). Adems, tambin extraer la informacin de la variable LDPATH y la usar para crear /etc/ld.so.conf. Despus de esto, ejecutar ldconfig para recrear el archivo usado por el enlazador dinmico: /etc/ld.so.cache. Si quiere observar el efecto de env-update inmediatamente despus de ejecutarlo, ejecute el siguiente comando para actualizar su entorno. Posiblemente, los usuarios que instalaron Gentoo ellos mismos, recordarn estas instrucciones de la instalacin:

Listado de Cdigo 2.4: Actualizar el entorno


# env-update && source /etc/profile

Nota: El comando anterior, solamente actualiza las variables en la terminal actual y las nuevas consolas. Conociendo esto, si se esta trabajando en X11, necesitara ejecutar source /etc/profile en cada nueva terminal que abra o reiniciar las X para que todas las nuevas terminales cogan las nuevas variables. Si esta utilizando un gestor de inicio, conviertase en root y ejecute /etc/init.d/xdm restart. Si no, necesitar salir de la sesin y volver a entrar para las X generen hijos con las nuevas variables. Importante: No se pueden utilizar las variables del terminal para definir otras variables. Esto implica que cosas como FOO="$BAR" (donde $BAR es otra variable) estn prohibidas. 5.c. Definiendo variables locales Especficas de usuario No siempre queremos definir variables de entorno globales. Por ejemplo, podramos querer aadir /home/my_user/bin y el directorio de trabajo actual (en el cual nos encontramos), a la variable PATH, pero no queremos que todos los usuarios de nuestro sistema lo tengan en su PATH. Si queremos definir una variable localmente, debemos usar ~/.bashrc o ~/.bash_profile: Listado de Cdigo 3.1: Ampliar el PATH para uso local en: ~/.bashrc
(Dos puntos sin incluir despus un directorio son tratados como el directorio de trabajo actual) PATH="${PATH}:/home/my_user/bin:"

Cuando vuelva a iniciar la sesin, su variable PATH ser actualizada. Especficas de sesin En ocasiones, se requieren definiciones an ms estrictas. Puede querer usar binarios de un directorio temporal que ha creado sin tener que usar la trayectoria completa a los binarios o sin editar ~/.bashrc. Para estos momentos necesitar esto. En este caso, puede definir la variable PATH en su sesin activa usando el comando export. Mientras no cierre la sesin, la variable PATH usar los valores temporales. Listado de Cdigo 3.2: Definir una variable especfica a la sesin
# export PATH="${PATH}:/home/my_user/tmp/usr/bin"

C. Trabajando con Portage


1. Archivos y directorios
1.a. Ficheros de Portage Directivas de configuracin

Portage viene con una configuracin predefinida guardada en /etc/make.globals. Cuando le eche un vistazo, comprobar que toda la configuracin de Portage se realiza a travs de variables. A qu variables atiende Portage y que significan se describe un poco despus. Como muchas directivas de configuracin varan de unas arquitecturas a otras, Portage tambin posee algunos archivos de configuracin que son parte de perfil. Su perfil est apuntado por el enlace simblico /etc/make.profile; las configuraciones de Portage se realizan en los archivos make.defaults de su perfil y de todos los perfiles padres. Explicaremos algo ms sobre perfiles y el directorio /etc/make.profile ms adelante. Si est pensando en cambiar una variable de configuracin, no modifique /etc/make.globals o make.defaults. En lugar de eso utilice /etc/make.conf el cual tiene preferencia sobre los archivos anteriores. Tambin encontrar usr/share/portage/config/make.conf.example. Como su propio nombre indica, este archivo es meramente un ejemplo y Portage no lo utilizar con ningn propsito. Tambin puede definir una variable de configuracin para Portage como una variable de entorno, pero no es recomendable. Informacin especfica del perfil Ya hemos hablado del directorio /etc/make.profile. Bien, exactamente no es un directorio pero es un enlace simblico a un perfil, por defecto uno perteneciente a /usr/portage/profiles tambin puede crear un perfil en cualquier otro lado y apuntarlo. El perfil al cual apunta el enlace simblico ser el que tenga en cuenta su sistema. Un perfil contiene informacin especfica para Portage sobre cada arquitectura, tal como una lista de paquetes que pertenecen al sistema correspondiente con ese perfil, una lista de paquetes que no funcionan (o estn enmascarados) para ese perfil, etc. Configuracin especfica para usuarios Cuando necesite sobreescribir una caracterstica de Portage relativa a la instalacin de software, necesitar editar los archivos contenidos en /etc/portage. Se recomienda encarecidamente que utilice los archivos pertenecientes a /etc/portage y est desaconsejada la sobreescritura de estas caractersticas con variables de entorno.! Dentro de /etc/portage puede crear los siguientes archivos:

package.mask el cual especifica los paquetes que nunca quiere que Portage instale en su sistema. package.unmask especifica los paquetes que quiere instalar a pesar de haber sido desaconsejados por los desarrolladores. package.accept_keywords especifica los paquetes que quiere instalar a pesar de no haber sido considerados adecuados para su sistema o arquitectura (todava). package.use especifica la lista de variables USE que quiere utilizar para unos determinados paquetes sin tener que configurar el sistema por completo para que use esas variables USE.

Estos no tienen que ser archivos; tambin pueden ser directorios que contengan un archivo por paquete. Podemos obtener ms informacin acerca del directorio /etc/portage y una lista de archivos que pueden crearse all en la pgina man de Portage. Listado de Cdigo 1.1: Leyendo la pgina del manual sobre Portage
$ man portage

Cambiando el fichero de Portage y el lugar del directorio Los archivos de configuracin mencionados anteriormente no pueden ser guardados en ningn otro sitio, Portage siempre los buscar en esos lugares exactos. Sin embargo, Portage utiliza otras muchos lugares para varios propsitos: el directorio de compilacin, el lugar donde guardar el cdigo fuente, la localizacin del rbol de Portage, ... Todos estos propsitos tienen unas direcciones predeterminadas muy claras pero puede cambiarlas por las que ms le gusten indicndolo en /etc/make.conf. El resto de este captulo explica los lugares destinados a un propsito especial que utiliza Portage y como puede ser modificado su emplazamiento en el sistema de ficheros. Este documento no pretende ser utilizado como referencia. Si necesita una cobertura 100%, por favor consulte las pginas del man relativas a Portage y make.conf: Listado de Cdigo 1.2: Leyendo las pginas del manual sobre Portage y make.conf
$ man portage $ man make.conf

1.b. Guardando ficheros El rbol Portage La ubicacin predeterminada del rbol de Portage es /usr/portage. Esta definida por la variable PORTDIR. Cuando guarde el rbol de Portage en cualquier otro lugar (modificando esta variable), no olvide cambiar el enlace simblico /etc/make.profile de acuerdo con su cambio. Si modifica la variable PORTDIR, seguramente quiera cambiar las siguientes variables ya que no tienen constancia del cambio de PORTDIR. Esto es debido a cmo Portage maneja las variables: PKGDIR, DISTDIR, RPMDIR. Binarios Pre-compilados Aunque Portage no utilice binarios pre-compilados por defecto, tiene un buen soporte para ellos. Cuando a Portage se le indica que trabaje con paquetes pre-compilados, los buscar en /usr/portage/packages. Esta ubicacin est definida por la variable PKGDIR. Cdigo Fuente El cdigo fuente de las aplicaciones se guarda por defecto en /usr/portage/distfiles. Esta ubicacin viene definida por la variable DISTDIR. Base de datos de Portage

Portage guarda el estado del sistema (que paquetes estn instalados, qu archivos pertenecen a cada paquete, ...) en /var/db/pkg. No se deben modificar estos archivos manualmente! Podra romper el conocimiento que tiene Portage sobre el sistema. Cach de Portage La cach de Portage (con modificaciones temporales, paquetes virtuales, rbol de dependencias, ...) se guarda en /var/cache/edb. Esta ubicacin es una verdadera cach: se puede limpiar si no se est ejecutando ninguna aplicacin que tenga relacin con Portage en este momento. 1.c. Compilando aplicaciones Ficheros temporales de Portage Los ficheros temporales de portage se guardan por defecto en /var/tmp. Esta ubicacin se define en la variable PORTAGE_TMPDIR. Si modifica la variable PORTAGE_TMPDIR, necesitar cambiar las siguientes variables ya que no tendrn constancia del cambio. Esto es debido a cmo Portage maneja la variable: BUILD_PREFIX. Directorio de compilacin Portage crea directorios de compilacin especficos para cada paquete que se emerge dentro de /var/tmp/portage. Esta ubicacin viene definida por la variable BUILD_PREFIX. Ubicacin del sistema de ficheros Por defecto, Portage instala todas los archivos en el sistema de ficheros activo (/), pero puede cambiarse esta configuracin a travs de la variable de entorno ROOT. Esto es til cuando quiera crear nuevas imgenes compiladas. 1.d. Caractersticas de registro de acciones (log) Registro de acciones de Ebuilds Portage puede crear un registro por ebuild, pero solamente cuando la variable PORT_LOGDIR est configurada y apuntando a una direccin con permisos de escritura para Portage (usuario Portage). De manera predeterminada est variable est desactivada. Si no configura PORT_LOGDIR no recibir los registros con el sistema de registro actual, aunque tal vez reciba algn registro del nuevo elog. Si no tiene definido PORT_LOGDIR y usa elog, recibir los registros de construccin de paquetes y cualquier otro registro salvado por elog, como se explica a continuacin. Portage ofrece un control de grano fino sobre el registro de sistema mediante el uso de elog:

PORTAGE_ELOG_CLASSES: Es donde se define cules mensajes sern registrados. Puede utilizarse cualquier cualquier combinacin separada por espacios en blanco de info, warn, error, log and qa. o info: Registra los mensajes "einfo" generados por un ebuild o warn: Registra los mensajes "ewarn" generados por un ebuild o error: Registra los mensajes "eerror" generados por un ebuild o log: Registra los mensajes "elog" encontrados en algunos ebuilds o qa:: Registra los mensajes del tipo "QA Notice" mostrados por un ebuild. PORTAGE_ELOG_SYSTEM: Selecciona el (los) mdulos para procesar los mensajes de registro. Si se deja sin definir, se desactiva la funcin de registro. Puede usar cualquier combinacin separada por espacios en blanco de save, custom, syslog , mail, save_summary y mail_summary. Debe seleccionar al menos un mdulo para poder usar elog. o save: Almacena un registro por paquete en $PORT_LOGDIR/elog, o /var/log/portage/elog si $PORT_LOGDIR no est definido. o custom: Pasa todos los mensajes a cun comando definido por el usuario en $PORTAGE_ELOG_COMMAND; esto se discutir ms adelante. o syslog: Enva todos los mensajes al gestor de registro de sistema instalado. o mail: Pasa todos los mensaje a un servidor de correo definido por el usuario en $PORTAGE_ELOG_MAILURI; esto se discutir ms adelante. Las caractersticas de correo de elog requieren >=portage-2.1.1. o save_summary: parecido a save, pero fusionando todos los mensajes en $PORT_LOGDIR/elog/summary.log, o /var/log/portage/elog/summary.log si $PORT_LOGDIR fue definido. o mail_summary: parecido a mail, pero enva todos los mensajes en un slo mail cuando emerge finaliza. PORTAGE_ELOG_COMMAND: Esto solamente se usa al activarse el mdulo custom. Aqu podemos especificar un comando con el cual procesar los mensajes de registro. Note que puede hacer uso de dos variables de entorno: ${PACKAGE} es el nombre del paquete y la versin, mientras que ${LOGFILE} es la trayectoria absoluta al archivo de registro. Aqu hay un posible uso: o PORTAGE_ELOG_COMMAND="/trayectoria/al/gestor -p '\$ {PACKAGE}' -f '\${LOGFILE}'" PORTAGE_ELOG_MAILURI: Contiene la configuracin del mdulo mail, tal como direccin, usuario, contrasea, servidor de correo y nmero de puerto. Por defecto est configurado a "root@localhost localhost". Aqu presentamos un ejemplo para un servidor smtp que requiere autentificacin con nombre de usuario y contrasea en un puerto en particular (el puerto por defecto es el 25): o PORTAGE_ELOG_MAILURI="user@some.domain username:password@smtp.some.domain:995" PORTAGE_ELOG_MAILFROM: Permite configurar la direccin "from" de los correos de registro; su valor por defecto es "portage". PORTAGE_ELOG_MAILSUBJECT: Permite la creacin de una lnea de asunto para los correos de registro. Note que puede hacer uso de dos variables de entorno: ${PACKAGE} mostrar el nombre y la versin del paquete, mientras que ${HOST} es el nombre del dominio completo del anfitrin donde est corriendo Portage. Aqu est un posible uso:

PORTAGE_ELOG_MAILSUBJECT="El paquete \${PACKAGE} fue instalado en \${HOST} con algunos mensajes"

Importante: Si ha usado enotice con Portage-2.0.*, elimine enotice, ya que es incompatible con elog.

2. Configuracin por medio de variables


2.a. Configuracin del sistema Portage Como hemos acotado previamente, Portage es configurable a travs de mltiples variables de entorno que se deben definir en /etc/make.conf. Por favor, refirase a la pgina man de make.conf para ms informacin. Listado de Cdigo 1.1: Lectura de la pgina man de make.conf
$ man make.conf

2.b. Opciones al momento de construccin Opciones de configuracin y del compilador Cuando Portage construye las aplicaciones, pasa el contenido de las siguientes variables al guin de compilacin y configuracin:

CFLAGS & CXXFLAGS define los parmetros deseados para la compilacin de fuentes en C y C++. CHOST define la plataforma correspondiente a la mquina en la que se construye para el guin de configuracin MAKEOPTS se pasa al comando make para definir el grado de paralelismo al compilar. Para ms informacin acerca de sus opciones, vea la pgina man de make.

El parmetro USE tambin se usa al configurar y compilar, pero ste ha sido explicado ampliamente en captulos previos. Opciones al integrar Cuando Portage integra una versin ms nueva de algn paquete de software, tambin eliminar los archivos obsoletos de la versin anterior del sistema. Portage otorga un tiempo de gracia de 5 segundos al usuario antes de llevar esta tarea a cabo. Este tiempo se define por medio de la variable CLEAN_DELAY. Puede decirle a emerge que use ciertas opciones cada vez que sea ejecutado configurando la variable EMERGE_DEFAULT_OPTS. algunas opciones tiles podran ser --ask, --verbose, --tree, etc. 2.c. Proteccin de los archivos de configuracin Ubicaciones protegidas por Portage

Portage sobreescribe los archivos provistos por versiones ms nuevas de un paquete si estos no estan almacenados en un lugar protegido. Estos lugares protegidos se definen con la variable CONFIG_PROTECT y generalmente corresponden a rutas de archivos de configuracin. Este listado de directorios es delimitado con espacios en blanco. Los archivos de configuracin nuevos que se escriban en rutas protegidas lo sern con un nombre modificado y el usuario ser advertido acerca de su presencia. Puede averiguar qu lugares estn protegidos en la variable CONFIG_PROTECT con la salida del comando emerge --info: Listado de Cdigo 3.1: Obtener informacin acerca del contenido de CONFIG_PROTECT
$ emerge --info | grep 'CONFIG_PROTECT='

Ms informacin acerca de la proteccin de archivos de configuracin por Portage est disponible en la seccin de archivos de configuracin (CONFIGURATION FILES) de la pgina man de emerge: Listado de Cdigo 3.2: Ms informacin acerca de la proteccin de archivos de configuracin
$ man emerge

Exclusin de directorios Para 'desproteger' ciertos subdirectorios en directorios protegidos, use la variable CONFIG_PROTECT_MASK. 2.d. Opciones de descarga Ubicaciones de servidores Cuando la informacin o datos no estn disponibles en su sistema, Portage los descargar de la Internet. Las ubicaciones de los servidores para los canales de informacin y datos se definen mediante los siguientes variables:

GENTOO_MIRRORS define una lista de servidores que contienen cdigo fuente (distfiles) PORTAGE_BINHOST define un servidor en particular que contiene paquetes pre-compilados para su sistema

Un tercer parmetro involucra la ubicacin del servidor rsync utilizado al actualizar el rbol Portage:

SYNC define un servidor en particular a ser utilizado por Portage para descargar el rbol

Las variables GENTOO_MIRRORS y SYNC pueden ser configurados automticamente a travs de la aplicacin mirrorselect. Debe hacer emerge mirrorselect primero, antes de usarla. Para ms informacin, vea la ayuda de mirrorselect en lnea:

Listado de Cdigo 4.1: Ms informacin acerca de mirrorselect


# mirrorselect --help

Si su entorno requiere el uso de un servidor proxy, configure las variables http_proxy, ftp_proxy y RSYNC_PROXY para declararlos. Comandos para descargar Cuando Portage requiera descargar fuentes, utiliza por defecto el comando wget. Puede cambiar esto usando la variable FETCHCOMMAND. Portage puede continuar una descarga hecha en forma parcial. Usa wget por defecto, pero puede cambiarlo usando la variable RESUMECOMMAND. Asegrese que sus FETCHCOMMAND y RESUMECOMMAND guarde las fuentes en la ubicacin correcta. Al definir las variables debe usar \${URI} y \${DISTDIR} para apuntar a la ubicacin de las fuentes y la ubicacin del directorio distfiles respectivamente. Puede definir manejadores especficos por protocolo con FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP, etc. Configuracin de rsync Aunque no se puede alterar el comando rsync usado para actualizar el rbol Portage, podr configurar algunas de las variables para modificar su comportamiento:

PORTAGE_RSYNC_OPTS configura un nmero de variables por defecto usadas durante la sincronizacin, separado por espaciones en blanco. Estos no deberan ser cambiados a no ser que sepa exactamente lo que est haciendo. Note que ciertas opciones requeridas con obligatoriedad sern siempre usadas aunque PORTAGE_RSYNC_OPTS no tenga valor asignado. PORTAGE_RSYNC_EXTRA_OPTS puede ser usado para configurar opciones adicionales al sincronizar. Cada opcin deber ser separada con un espacio en blanco. o --timeout=<number>: define la cantidad de segundos que una conexin rsync puede permanecer sin que caduque. Esta variable tiene un valor por defecto 180, pero los usuarios con conexiones dialup o individuos con computadoras lentas podran aumentar a 300 o ms. o --exclude-from=/etc/portage/rsync_excludes: Esto apunta a un archivo que lista los paquetes y/o categoras que rsync debe ignorar durante el proceso de actualizacin. En este caso, apunta a /etc/portage/rsync_excludes. Por favor lea Utilizando un subconjunto del rbol Portage para la sintaxis de este archivo. o --quiet: Reduces output to the screen o --verbose: Prints a complete filelist o --progress: Displays a progress meter for each file

PORTAGE_RSYNC_RETRIES defines how many times rsync should try connecting to the mirror pointed to by the SYNC variable before bailing out. This variable defaults to 3.

For more information on these options and others, please read man rsync. 2.e. Configuracin de Gentoo Seleccin de rama Puede escoger su rama por defecto a travs de la variable ACCEPT_KEYWORDS. El valor por defecto es la rama estable de su plataforma. Para ms informacin acerca de las ramas de Gentoo, vea el captulo siguiente. Caractersticas de Portage Puede activar ciertas caractersticas de Portage por medio de la variable FEATURES. Estas han sido discutidas en captulos previos, por ejemplo Caractersticas de Portage. 2.f. Comportamiento de Portage Manejo de recursos Con la variable PORTAGE_NICENESS, puede aumentar o reducir el valor "nice" con el que ejecuta Portage. El valor de la variable PORTAGE_NICENESS se suma al valor "nice" actual. Para ms informacin acerca de valores "nice", vea la pgina man de nice: Listado de Cdigo 6.1: Ms informacin acerca de nice
$ man nice

Comportamiento de la salida El valor de NOCOLOR, que por defecto es "falso", define si Portage desactiva el uso de los colores en su salida.

3. Mezcla de ramales de software


3.a. Utilizando una sola rama La rama estable La variable ACCEPT_KEYWORDS define que rama de programas va a utilizar en su sistema. Como predeterminada figura la rama estable para su arquitectura, por ejemplo x86. Recomendamos que solamente utilice la rama estable. Sin embargo si no le importa demasiado la estabilidad y quiere ayudar a Gentoo a travs del envo de informes de error a http://bugs.gentoo.org, siga leyendo.

La rama de pruebas Si quiere utilizar los programas ms recientes, puede considerar utilizar la rama de pruebas. Para que Portage utilice la rama de pruebas, aada un ~ delante de su arquitectura. La rama de pruebas es exactamente para eso - pruebas. Si un paquete se encuentra en pruebas, eso significa que los desarrolladores creen que funciona, pero no ha sido probado concienzudamente. Podra, perfectamente, ser el primero en descubrir un error en el paquete, en cuyo caso puede rellenar un informe para ponerlo en conocimiento de los desarrolladores. Aunque se debe tener cuidado, se pueden experimentar problemas de estabilidad, gestin del paquete imperfecta (por ejemplo dependencias errneas), actualizaciones demasiado frecuentes (que dan cmo resultado mltiples compilaciones) o paquetes que no funcionan. Si no se conoce cmo funciona Gentoo y como resolver los problemas, recomendamos que se quede con la rama probada y estable. Por ejemplo, para seleccionar la rama de pruebas en una arquitectura x86, edite /etc/make.conf y escriba: Listado de Cdigo 1.1: Configurar la variables ACCEPT_KEYWORDS
ACCEPT_KEYWORDS="~x86"

Si actualiza su sistema ahora, encontrar que muchos paquetes sern actualizados. Tenga cuidado ya que: cuando haya actualizado su sistema para emplear la rama inestable, normalmente no hay una manera sencilla de volver a la rama estable (excepto mediante el empleo de copias de seguridad, claro). 3.b. Mezclando ramales estable con pruebas La ubicacin package.accept_keywords Puede pedirle a Portage que le permita utilizar la rama de pruebas para algunos paquetes pero seguir utilizando la rama estable en el resto del sistema. Para realizar esto, aada la categora del paquete y el nombre si quiere utilizar la rama de pruebas al fichero /etc/portage/package.accept_keywords. Adems podra crear un directorio (con este mismo nombre) y situar all el paquete en un fichero. Por ejemplo, para utilizar la rama de pruebas con gnumeric: Listado de Cdigo 2.1: Configurar /etc/portage/package.accept_keywords para gnumeric
app-office/gnumeric

Probando versiones especficas Si quiere utilizar una versin especfica de algn paquete de la rama de pruebas pero no quiere que portage utiliza esa rama de pruebas para las siguientes versiones, puede aadir la versin a package.accept_keywords. En este caso se debe utilizar el operador =. Tambin puede introducir un rango de versiones con los operadores <=, <, > or >= .

En cualquier caso, si aade informacin sobre una versin, debe utilizar un operador. Si lo deja sin informacin sobre la versin, no puede emplear un operador. En el siguiente ejemplo indicamos a Portage que acepte gnumeric-1.2.13: Listado de Cdigo 2.2: Utilizar una versin especfica de gnumeric
=app-office/gnumeric-1.2.13

3.c. Empleo de paquetes enmascarados La ubicacin package.unmask Importante: Los desarrolladores de Gentoo no darn soporte al empleo de estos archivos. Por favor, tenga cuidado cuando haga esto. Las peticiones de soporte relacionadas con package.unmask y/o package.mask no sern respondidas. Considrese advertido. Cuando un paquete ha sido enmascarado por los desarrolladores de Gentoo y an as desea utilizarlo a pesar de la razn que se menciona en el fichero package.mask (situado por defecto en /usr/portage/profiles), aada la versin deseada (normalmente ser exactamente la misma lnea de profiles) en el fichero /etc/portage/package.unmask (o en un archivo dentro de ese directorio, si es que es un directorio). Por ejemplo, si =net-mail/hotwayd-0.8 est enmascarado, puede desenmascararlo aadiendo exactamente la misma lnea en package.unmask: Listado de Cdigo 3.1: /etc/portage/package.unmask
=net-mail/hotwayd-0.8

Nota: Si una entrada en /usr/portage/profiles/package.mask contiene un rango de versiones de paquete, necesitar desenmascarar nicamente la versin o versiones que realmente necesita. Por favor, lea la seccin previa para aprender cmo especificar versiones en package.unmask. La ubicacin package.mask Cuando no quiera que Portage instale un paquete en concreto o una versin especfica de un paquete en su sistema, puede enmascararlo simplemente aadiendo la lnea apropiada a /etc/portage/package.mask (tanto si es un fichero como si es un directorio y se hace en un fichero dentro de l). Por ejemplo, si no quiere que Portage instale otras fuentes del ncleo que no sean gentoosources-2.6.8.1, aada la siguiente lnea a package.mask: Listado de Cdigo 3.2: ejemplo de /etc/portage/package.mask
>sys-kernel/gentoo-sources-2.6.8.1

4. Herramientas adicionales de portage


4.a. dispatch-conf

dispatch-conf es una herramienta diseada para combinar los archivos ._cfg0000_<name>. Los archivos ._cfg0000_<name> son generados por Portage cuando intenta sobreescribir un archivo en un directorio protegido por la variable CONFIG_PROTECT. Empleando dispatch-conf, se puede actualizar la configuracin mientras se registran todos los cambios realizados. dispatch-conf guarda las diferencias entre las distintas configuraciones como parches utilizando el sistema de control de versiones RCS. Esto implica que, si se comete un error en la actualizacin de un archivo de configuracin, se puede regresar a la versin anterior del archivo en cualquier momento. Cuando se utiliza dispatch-conf, se le puede indicar que deje el archivo de configuracin tal cual, que utilice la nueva configuracin, que permita editar la configuracin actual o que combine los cambios interactivamente. dispatch-conf adems dispone de algunas funcionalidades adicionales:

Automticamente actualizar el fichero de configuracin si las actualizaciones solamente afectan a comentarios Automticamente actualizar los ficheros de configuracin que slo difieren en la cantidad de espacios en blanco.

Hay que asegurarse de primero editar /etc/dispatch-conf.conf y crear el directorio al que hace referencia la variable archive-dir. Listado de Cdigo 1.1: Ejecutar dispatch-conf
# dispatch-conf

Cuando se ejecuta dispatch-conf, se procesan todos los ficheros de configuracin que cambian, uno por uno. Pulse u para actualizar (reemplazar) el fichero actual por el nuevo y continuar con el siguiente. Pulse z para omitir (borrar) el nuevo fichero de configuracin y continuar con el siguiente. Una vez que se hayan procesado todos los ficheros , dispatch-conf terminar. Tambin se puede pulsar q en cualquier momento. Para ms informacin, consulte la pgina del manual de dispatch-conf. All se detalla como combinar interactivamente los de configuracin actuales y los nuevos, editar nuevos archivos de configuracin, comprobar las diferencias entre archivos y mucho ms. Listado de Cdigo 1.2: Consultar la pgina del manual de dispatch-conf
$ man dispatch-conf

4.b. etc-update Tambin se puede utilizar etc-update para instalar los ficheros de configuracin. No es tan simple como dispatch-conf, ni dispone de tantas funcionalidades, pero proporciona un mtodo de combinacin interactivo y tambin puede realizar actualizaciones triviales de manera automtica. Sin embargo, al contrario que dispatch-conf, etc-update no conserva las versiones antiguas de los archivos de configuracin. Una vez se ha actualizado el fichero, la versin

anterior se habr eliminado de manera permanente. Ha de ser cuidadoso, ya que utilizar etc-update es sensiblemente menos seguro que dispatch-conf. Listado de Cdigo 2.1: Ejecutar etc-update
# etc-update

Despus de combinar los cambios sencillos, se presentar una lista con los ficheros protegidos que tienen una actualizacin pendiente. Al final se muestran las opciones posibles: Listado de Cdigo 2.2: etc-update options
Por favor, seleccione el fichero a editar introduciendo el nmero correspondiente. (-1 para salir) (-3 para auto-combinar todos los ficheros restantes) (-5 para auto-combinar SIN usar 'mv -i'):

Si se indica -1, etc-update terminar y no continuar con el resto. Si se introduce -3 o -5, todos los ficheros de configuracin listados sern sobreescritos con las nuevas versiones. Por tanto es muy importante seleccionar primero los ficheros de configuracin que no deben ser automticamente actualizados. Esto se consigue simplemente indicando el nmero que aparece a la izquierda del fichero de configuracin. Como ejemplo, seleccionamos el fichero de configuracin /etc/pear.conf: Listado de Cdigo 2.3: Actualizar un fichero de configuracin concreto
Comienzo de diferencias entre /etc/pear.conf y /etc/._cfg0000_pear.conf [...] Fin de diferencias entre /etc/pear.conf y /etc/._cfg0000_pear.conf 1) Reemplazar el original con la actualizacin 2) Borrar la actualizacin, manteniendo el original inalterado 3) Combinar interactivamente el original y la actualizacin 4) Mostrar de nuevo las diferencias

Ahora puede ver las diferencias entre los dos ficheros. Si cree que el fichero de configuracin actualizado puede ser utilizado sin problemas, indique 1. Si cree que el fichero de configuracin actualizado no es necesario, o no proporciona ninguna informacin nueva o til, indique 2. Si quiere actualizar su fichero de configuracin actual de forma interactiva, introduzca 3. Por ahora, no tiene sentido profundizar ms sobre la actualizacin interactiva. Para completarlo, listaremos los comandos que estn disponibles durante la combinacin interactiva de ambos ficheros. Son mostradas dos lneas (la original, y la nueva propuesta) y un punto indicativo en el cual puede introducir uno de los comandos siguientes: Listado de Cdigo 2.4: Comandos disponibles en la combinacin interactiva
ed: Editar usando ambas versiones, cada una decorada con una cabecera. eb: Editar usando ambas versiones. el: Editar usando la versin de la izquierda. er: Editar usando la versin de la derecha. e: Editar una nueva versin. l: Usar la versin de la izquierda.

r: s: v: q:

Usar la versin de la derecha. Incluir las lneas comunes sin comentarios. Incluir las lneas comunes con comentarios. Salir.

Cuando haya acabado de actualizar los ficheros de configuracin importantes, puede actualizar automticamente el resto. etc-update acabar si no encuentra ms ficheros de configuracin para actualizar. 4.c. quickpkg Con quickpkg se pueden crear archivos de paquetes que ya han sido instalados en el sistema. Estos archivos pueden usarse como paquetes precompilados. Ejecutar quickpkg es sencillo: basta aadir los nombres de los paquetes que se quiere archivar. Por ejemplo, para archivar curl, orage y procps: Listado de Cdigo 3.1: Ejemplo de uso de quickpkg
# quickpkg curl orage procps

Los paquetes precompilados se almacenarn en $PKGDIR (por defecto /usr/portage/packages/). Los paquetes sern ubicados en $PKGDIR/<category>.

5. Divergiendo del rbol oficial


5.a. Utilizando un subconjunto del rbol Portage Excluyendo categoras/paquetes Puede realizar una actualizacin selectiva de ciertas categoras/paquetes e ignorar el resto. Esto se realiza indicando a rsync que excluya categoras/paquetes durante el proceso emerge --sync. Necesita introducir el nombre del archivo que contiene los patrones para la variable --exclude-from de su /etc/make.conf. Listado de Cdigo 1.1: Introducir el archivo de exclusiones en /etc/make.conf
games-*/* PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"

Listado de Cdigo 1.2: Excluir todos los juegos en /etc/portage/rsync_excludes Recuerde que esto puede provocar ciertos problemas con las dependencias, ya que paquetes nuevos y aceptados en su sistema pueden depender de otros excludos. 5.b. Aadiendo Ebuilds no oficiales Definiendo un directorio extensin de Portage (overlay) Puede indicarle a Portage que utilice ebuilds que no estn disponibles oficialmente a travs del rbol de Portage. Cree un nuevo directorio (por ejemplo /usr/local/portage) en

el cual guardar los ebuilds procedentes de otras fuentes. Utilice la misma estructura de directorios que tenemos en Portage. Despus defina la variable PORTDIR_OVERLAY en /etc/make.conf y haga que apunte al directorio creado previamente. Cuando ahora utilice Portage, ste tendr en cuenta aquellos ebuilds para no eliminarlos/sobreescribirlos la prxima vez que ejecute emerge --sync. Trabajando con varias extensiones (overlays) Para los usuarios que desarrollan en varias extensiones, probar los paquetes antes de que lleguen al rbol de Portage o simplemente que quieren utilizar ebuilds no oficiales procedentes de varias fuentes, el paquete app-portage/layman incorpora layman, una herramienta que ayudar a conservar las extensiones actualizadas. En primer lugar, instale y configure layman como se muestra en la Gua del Usuario de Overlays de Gentoo, y aada los repositorios que desee con layman -a <overlay-name>. Suponiendo que tiene dos repositorios llamados java (para las ebuilds en desarrollo) y entapps (para aplicaciones desarrolladas en casa para su empresa). Puede actualizar estos repositorios con el comando: Listado de Cdigo 2.1: Usando layman para actualizar todos los repositorios
# layman -S

Para ms informacin sobre el trabajo con extensiones, por favor, lea man layman y la Gua de usuario de layman/overlay. 5.c. Software no mantenido por Portage Utilizando Portage con programas con auto-mantenidos En algunos casos querr configurar, instalar y mantener programas por s mismo sin que Portage automatice el proceso, incluso aunque Portage pueda suministrarle esos programas. Conocidos son los casos de las fuentes del kernel y los controladores de nvidia. Puede configurar Portage para que conozca cuando un determinado paquete ha sido instalado manualmente en el sistema. Este proceso recibe el nombre de inyectar y est soportado por Portage a travs del archivo /etc/portage/profile/package.provided. Por ejemplo, si quiere que Portage le informe sobre gentoo-sources-2.6.11.6 el cual ha sido instalado manualmente, aada la siguiente lnea a /etc/portage/profile/package.provided: Listado de Cdigo 3.1: Lnea de ejemplo para package.provided
sys-kernel/gentoo-sources-2.6.11.6

6. Caractersticas avanzadas de Portage


6.a. Introduccin

Para la mayora de los usuarios, la informacin recibida hasta ahora es suficiente para todas sus operaciones en Linux. Sin embargo, Portage es capaz de mucho ms; gran parte de sus caractersticas estn dirigidas a usuarios avanzados o aplicable solo en casos muy particulares. En todo caso, esto es excusa para no documentarlas. Por supuesto que con gran flexibilidad viene una gran lista de casos potenciales. No ser posible documentarlos todos aqu. En cambio, esperamos poder enfocarnos en algunas situaciones genricas que pueden ser modificadas para cumplir las necesidades de cada quien. Si requiere afinamientos o datos ms especficos, intente encontrarlos ms bien en el WiKi Gentoo. La mayora, si acaso no todas estas caractersticas adicionales puede encontrarlas fcilmente leyendo las pginas del manual de Portage: Listado de Cdigo 1.1: Leyendo las pginas man de Portage
$ man portage $ man make.conf

Finalmente, sabemos que, si estas caractersticas avanzadas no son usadas correctamente, pueden hacer el solucionar fallos pueda hacerse muy difcil. Asegrese de mencionarlas en caso crea que ha tropezado con un fallo y desea abrir un reporte. 4.b. Variables de entorno por paquete Usando /etc/portage/env De manera predeterminada, se usarn en la construccin de un paquete las variables de entorno definidas en /etc/make.conf, tales como CFLAGS, MAKEOPTS etc. Sin embargo, en algunos casos, tal vez quisiramos proporcionar diferentes variables para paquetes especficos. Para esto, Portage soporta el uso de /etc/portage/env y /etc/portage/package.env. El archivo /etc/portage/package.env contiene una lista de paquetes que proporcionan variables con valores distintos y un identificador especfico que indica a Portage los cambios deseados. Portage buscar este identificador, cuyo nombre puede escoger uno mismo, en el archivo /etc/portage/env/<identifier>. Ejemplo: Depurando fallos en paquetes especficos Como ejemplo, activaremos la depuracin para el paquete media-video/mplayer. Primero registramos las variables para depuracin en un archivo llamado /etc/portage/env/debug-cflags. El nombre es escogido arbitrariamente, pero por supuesto refleja claramente su razn de ser para que sea obvia en el futuro. Listado de Cdigo 2.1: Contenido de /etc/portage/env/debug-cflags
CFLAGS="-O2 -ggdb -pipe" FEATURES="${FEATURES} nostrip"

Luego agregamos el rtulo al paquete media-video/mplayer para usar su contenido:

Listado de Cdigo 2.2: Contenido de /etc/portage/package.env


media-video/mplayer debug-cflags

6.c. Enganchndose en el proceso del emerge Usando /etc/portage/bashrc y archivos afiliados Al trabajar Portage con los ebuilds, usa un entorno bash en el cual llama las distintas funciones de construccin (como src_prepare, src_configure, pkg_postinst, etc.). Portage tambin permite que uno mismo establezca el entorno bash. La ventaja de usar un entorno bash propio es poder engancharse en el proceso de emerge en cada paso realizado. Esto puede hacerse para cada emerge (por medio de /etc/portage/bashrc) o con entornos individuales por paquete (con /etc/portage/env, como expusimos anteriormente). Para engancharse al proceso emerge, el entorno bash puede inspeccionar las variables EBUILD_PHASE, CATEGORY y las variables que siempre estn disponibles durante el desarrollo del ebuild (tales como P, PF, ...). En base a los valores de estas variables, podemos ejecutar pasos adicionales. Ejemplo: Actualizando bases de datos de archivos En este ejemplo usaremos /etc/portage/bashrc para llamar algunas aplicaciones de bases de datos para asegurar que sus bases de datos estn actualizadas con respecto al sistema. En el ejemplo usaremos aide (una herramienta para detectar intrusiones) y updatedb (usado por locate), pero solo como ejemplo. No considere que esto sea un CMO para aide ;-) Para usar /etc/portage/bashrc en este caso, necesitaremos "enganchar" a las funciones postrm (despus de borrar archivos) y postinst (despus de instalar archivos) porque es cuando los archivos en el sistema de archivos han sido cambiados. Listado de Cdigo 3.1: Ejemplo de /etc/portage/bashrc
if [ "${EBUILD_PHASE}" == "postinst"] || [ "${EBUILD_PHASE}" == "postrm" ]; then echo ":: Calling aide --update to update its database"; aide --update; echo ":: Calling updatedb to update its database"; updatedb; fi

6.d. Ejecutando tareas despus de --sync La ubicacin de /etc/portage/postsync.d Hasta ahora hemos conversado acerca de engancharnos a procesos del ebuild. Sin embargo, Portage tambin tiene otra funcin importante: actualizar el rbol Portage. Para ejecutar tareas despus de actualizar el rbol Portage, coloque el guin dentro de /etc/portage/postsync.d y asegrese que est marcado ejecutable.

Ejemplo: ejecutar eix-update Aunque no haya usado eix-sync para actualizar el rbol, todava puede actualizar su base de datos despus de ejecutar la orden emerge --sync (o emerge-webrsync)) colocando un enlace simblico a /usr/bin/eix llamado eix-update en /etc/portage/postsync.d. Listado de Cdigo 4.1: Ejecutando eix-update luego de un sync
# ln -s /usr/bin/eix /etc/portage/postsync.d/eix-update

Nota: Si prefiere usar otro nombre, deber escribir un guin que llame a /usr/bin/eixupdate. El binario eix puede averigua cmo ha sido llamado y deduce qu funcin debe ejecutar. Si crea un enlace simblico a eix que no sea eix-update, no se ejecutar correctamente. 6.e. Haciendo caso omiso a la configuracin de perfil La ubicacin de /etc/portage/profile De manera predeterminada, Gentoo usa la configuracin del perfil apuntado por /etc/make.profile (un enlace simblico al directorio del perfil correcto). Estos perfiles definen configuraciones especficas al igual que hereda configuraciones de otros perfiles (por medio de su archivo parent). Al usar /etc/portage/profile, podemos hacer caso omiso de las configuraciones de perfil, tales como packages (los paquetes considerados parte del conjunto system), virtuals (paquetes predeterminados al emerger un paquete virtual) y ms. Ejemplo: Agregar nfs-utils al conjunto system Si usa sistemas de archivo NFS en sistemas de archivos crticos, tal vez quiera "proteger" al paquete net-fs/nfs-utils para que forme parte de system, lo cual ocasionar fuertes advertencias por parte de Portage en caso que se tratara de borrar. Para hacer esto, agregamos el paquete a /etc/portage/profile/packages, antecedido por un *: Listado de Cdigo 5.1: Contenido de /etc/portage/profile/packages
*net-fs/nfs-utils

6.f. Aplicando parches no normados Usando epatch_user Para manejar varios ebuilds similarmente, los desarrolladores de ebuilds usan eclasses (especie de libreras al nivel del intrprete de comandos) que definen funciones comunes. Una de estas eclasses es eutils.eclass que ofrece una interesante funcin de nombre epatch_user. La funcin epatch_user aplica parches encontrados en /etc/portage/patches/<category>/<package>[-<version>[-<revision>]] al cdigo fuente, en el directorio que encuentre primero. Lamentablemente no todos los ebuilds llaman

automticamente a esta funcin, as que el solo hecho de colocar el parche en esta ubicacin no implica que funcione siempre. Con suerte, con la informacin proporcionada arriba, se puede llamar esta funcin para enganchar a, por ejemplo, la fase prepare. La funcin puede ser llamada cuantas veces lo desee, pero aplicar los parches una sola vez. Ejemplo: Aplicando parches a Firefox El paquete www-client/firefox es uno de los pocos que llaman a epatch_user desde el ebuild, de manera que no hace falta sustituir nada en particular. Si necesita parchear firefox (en caso que un desarrollador requiera soporte de un fallo que haya reportado), coloque el parche en /etc/portage/patches/www-client/firefox (probablemente sea mejor usar el nombre completo, incluyendo la versin para que el parche no interfiera con versiones) y vuelva a construir firefox.

D. Configuracin de Redes en Gentoo


1. Inicindonos
1.a. Comenzando Nota: Este documento asume que se tiene correctamente configurado el ncleo, los mdulos para su hardware y que conoce el nombre de su interfaz hardware. Tambin asumiremos que se est configurando eth0, pero podra tratarse de eth1, wlan0, etc. Para comenzar a configurar su tarjeta de red, necesitamos que el sistema RC (runlevel scripts o initscripts) de Gentoo la reconozca. Esto se hace creando un enlace simblico desde net.lo a net.eth0 en /etc/init.d Listado de Cdigo 1.1: Crear el enlace simblico net.eth0 apuntando a net.lo
# cd /etc/init.d # ln -s net.lo net.eth0

El sistema RC de Gentoo ahora conoce la interfaz. Tambin necesita saber cmo configurar la nueva interfaz. Todas las interfaces de red son configuradas en /etc/conf.d/net. A continuacin se muestra un ejemplo de configuracin para DHCP y direcciones estticas: Listado de Cdigo 1.2: Ejemplos de /etc/conf.d/net
# Para DHCP config_eth0="dhcp" # Para IP esttica usando notacin CIDR config_eth0="192.168.0.7/24" routes_eth0="default via 192.168.0.1" # Para IP esttica usando notacin de mscara de red config_eth0="192.168.0.7 netmask 255.255.255.0" routes_eth0="default via 192.168.0.1"

Nota: Si no especifica una configuracin para la interfaz entonces se asume el uso de DHCP. Nota: CIDR (Classless InterDomain Routing) Originariamente, las direcciones IPv4 fueron clasificadas en A, B, o C. Esta clasificacin temprana no tuvo en cuenta la gran popularidad que obtendra Internet, y ahora corre el riesgo de no tener suficientes direcciones nicas. CIDR es un esquema de direccionamiento que permite que una direccin IP designe muchas direcciones IP. Una direccin IP CIDR es igual que una direccin IP normal excepto que termina con una barra invertida seguida de un nmero; por ejemplo: 192.168.0.0/16. CIDR se describe en RFC 1519. Ahora que ya hemos configurado nuestra interfaz, podemos iniciarla o detenerla utilizando los siguientes comandos: Listado de Cdigo 2.5: Comenzar y detener los guiones de red
# /etc/init.d/net.eth0 start # /etc/init.d/net.eth0 stop

Importante: Cuando est solucionando problemas con la red, chele una mirada a /var/log/rc.log. A no ser que haya configurado rc_logger="NO" en /etc/rc.conf, encontrar informacin almacenada en este archivo de registro acerca de las actividades al arrancar. Ahora que ya ha iniciado y detenido la interfaz de red, quiz quiera que comience automticamente cuando Gentoo arranca. Aqu tiene cmo hacerlo. El ltimo comando "rc" indica a Gentoo que inicie todos los guiones en el nivel de ejecucin actual que no hayan sido iniciados ya. Listado de Cdigo 1.4: Configurando una interfaz de red para que inicie en el arranque
# rc-update add net.eth0 default # rc

2. Configuracin Avanzada
2.a. Configuracin Avanzada La variable config_eth0 es el corazn de la configuracin de una interfaz. Es una lista de instrucciones de alto nivel para configurar la interfaz (eth0 en este caso). Cada comando en la lista de instrucciones se ejecuta de manera secuencial. La interfaz ser evaluada como OK si, al menos, un comando funciona. Aqu tiene una lista de instrucciones integradas: Comando null Descripcin No hace nada Si la interfaz est funcionando y existe una direccin noop entonces aborta la configuracin con xito. una direccin IPv4 o IPv6 Aade la direccin a la interfaz Ejecuta el mdulo que proporciona el comando. Por dhcp,adsl o apipa (o un ejemplo dhcp ejecutar un mdulo que proporcione dhcp, comando propio perteneciente a que pudiera ser uno cualquiera de los siguientes: dhcpcd, un mdulo de terceras partes) dhclient o pump.

Si un comando falla, puede especificar un comando de retorno (fallback). El retorno tiene que coincidir exactamente con la estructura de la configuracin. Puede encadenar estos comandos. Aqu se muestran algunos ejemplo reales: Listado de Cdigo 1.1: Ejemplos de configuracin
# Aadir tres direcciones IPv4 config_eth0="192.168.0.2/24 192.168.0.3/24 192.168.0.4/24"

# Aadir una direccin IPv4 y dos IPv6 config_eth0="192.168.0.2/24 4321:0:1:2:3:4:567:89ab 4321:0:1:2:3:4:567:89ac" # Mantener la direccin asignada por el kernel, a menos que la interfaz se caiga, entonces asignar otra va DHCP. Si DHCP falla entonces aadir una direccin esttica determinada mediante APIPA config_eth0="noop dhcp" fallback_eth0="null apipa"

Nota: Cuando se utiliza el mdulo ifconfig y se aade ms de una direccin, se crean alias de interfaz para cada direccin extra. De esta manera los dos ejemplos anteriores tendrn interfaces eth0, eth0:1 y eth0:2. No se puede hacer nada especial con estas interfaces ya que el kernel y otros programas simplemente tratan eth0:1 y eth0:2 como eth0. Importante: La orden de retorno es importante! Si no especificamos la opcin null, el comando apipa solamente se ejecutara si el comando noop falla. Nota: APIPA y DHCP sern tratados ms adelante. 2.b. Dependencias de red Los guiones en /etc/init.d pueden depender de una interfaz de red especfica o, simplemente, de net (red). Todos los interfaces de red en el sistema de inicio de Gentoo proporcionan algo llamado net. Si est configurado rc_depend_strict="YES" en /etc/rc.conf, entonces todos los interfaces de red que proporcionen net deben estar activos antes que pueda considerarse cumplida la dependencia en "net". En otras palabras, si tienen los interfaces net.eth0 y net.eth1 y un guin de inicio depende de "net", ambos deben estar activados. Por otro lado, si est configurado rc_depend_strict="NO", entonces la dependencia de "net" se considera cumplida al momento de estar activo al menos uno de los interfaces de red. Pero, y qu pasa si net.br0 depende de net.eth0 y net.eth1? net.eth1 podra ser un dispositivo wireless o ppp que necesita configurarse antes de aadirse al puente. Esto no puede hacerse en /etc/init.d/net.br0 ya que es un enlaces simblico a net.lo.

La respuesta es definir nuestra propia requerimiento rc_need_ en /etc/conf.d/net Listado de Cdigo 2.1: Dependencia de net.br0 en /etc/conf.d/net
rc_need_br0="net.eth0 net.eth1"

Lo anterior no es suficiente. Los guiones de inicio de Gentoo utilizan una dependencia virtual llamada net para informar al sistema cuando est disponible la conexin a red. Claramente, en el caso de arriba la conexin a red debera marcarse como disponible cuando net.br0 est funcionando, no cuando lo estn las otras. Por lo que tenemos que indicar tambin esto en /etc/conf.d/net: Listado de Cdigo 2.2: Actualizar las dependencias y provisiones para los servicios de red
rc_net_lo_provide="!net" rc_net_eth0_provide="!net" rc_net_eth1_provide="!net"

Para una lectura ms detallada sobre dependencias, consulte la seccin Guiones de Inicio en el manual de Gentoo. Se puede encontrar ms informacin acerca de /etc/rc.conf en los comentarios dentro del propio archivo. 2.c. Nombre de variables y valores Los nombre de variables son dinmicos. Normalmente sigue la estructura variable_$ {interface|mac|essid|apmac}. Por ejemplo, la variable dhcpcd_eth0 guarda los valores para las opciones de dhcpcd para eth0 y dhcpcd_essid los valores para dhcpcd cuando cualquier interfaz se conecta al ESSID "essid". Sin embargo, no hay ninguna regla que indique que los nombre de las interfaces sean ethx. De hecho, muchas interfaces wireless tienen nombres como wlanx, rax o ethx. Tambin, algunas interfaces definidas por el usuario como pueden ser puentes puede tener cualquier nombre, como foo. Para hacer la vida un poco ms interesante, los puntos de acceso wireless pueden tener nombres con caracteres no alfanumricos - esto es importante porque puede configurar los parmetros de red por ESSID. La desventaja de todo esto es que Gentoo usa variables bash para la red - y bash no puede utilizar nada fuera de caracteres alfanumricos ingleses. Para solucionar esta limitacin cambiamos cada carcter que no sea alfanumrico ingls por un carcter _. Otra desventaja de bash es el contenido de las variables - algunos caracteres necesitan especificarse de manera especial. Esto se hace utilizando \ delante del carcter. A continuacin tenemos una lista de caracteres especiales que necesitamos indicar de esta manera. ",' y \. En este ejemplo utilizamos ESSID wireless ya que puede contener un amplio abanico de caracteres. Deberemos utilizar ESSID My "\ NET: Listado de Cdigo 3.1: Ejemplo de nombre para la variable
(Esto funciona, pero el dominio no es vlido) dns_domain_My____NET="My \"\\ NET" (Lo que hay arriba configura el dominio dns a My "\ NET cuando una

tarjeta wireless se conecta a un AP cuyo ESSID es My "\ NET)

3. Trabajo Modular con Redes


3.a. Mdulos de Red Ahora tenemos soporte para guiones de red, lo cual significa que podemos fcilmente aadir soporte para nuevos tipos de interfaces y mdulos de configuracin mientras mantenemos la compatibilidad con los actuales. Los mdulos se cargan por defecto si el paquete que los requiere est instalado. Si especifica un modulo aqu que no tiene su paquete instalado, entonces obtendr un error acerca del paquete que necesita instalar. Lo ideal sera que solamente use la configuracin con mdulos si tiene dos o ms paquetes que proporcionen el mismo servicio y necesita marcar su preferencia de uno sobre los otros. Nota: Todas las configuraciones que aqu se comentan, son almacenadas en /etc/conf.d/net a menos que se especifique lo contrario. Listado de Cdigo 1.1: Preferencias en los mdulos
# Preferir ifconfig sobre iproute2 modules="ifconfig"

# Tambin se puede especificar otros mdulos para una interfaz # En este caso preferimos a udhcpc sobre dhcpcd modules_eth0="pump" # Tambin podemos especificar mdulos que no queremos utilizar # por ejemplo, puede querer utilizar un suplicante o linux-wlang-ng # para controlar la configuracin inalmbrica, pero querer seguir # configurando la red por ESSID asociado. modules="!iwconfig"

3.b. Manejadores de interfaces Proporcionamos dos manejadores de interfaces: ifconfig e iproute2. Har falta uno de estos para cualquier tipo de configuracin de red. Por defecto se instala ifconfig (el paquete net-tools es parte del perfil system). El paquete iproute2 es ms poderoso y flexible, pero no se incluye por defecto. Listado de Cdigo 2.1: Para instalar iproute2
# emerge sys-apps/iproute2 # Para preferir ifconfig sobre iproute2 si ambos estn instalados y debido a que openrc # utilizar iproute2, debe hacer: modules="ifconfig"

Ya que ifconfig e iproute2 hacen cosas muy parecidas, nos permitimos usar la misma configuracin bsica para ambos. Los ejemplos a continuacin funcionarn sin importar cul mdulo tenga instalado. Listado de Cdigo 2.2: Ejemplos de ifconfig e iproute2
config_eth0="192.168.0.2/24"

config_eth0="192.168.0.2 netmask 255.255.255.0" # Tambin podemos especificar la direccin de difusin config_eth0="192.168.0.2/24 brd 192.168.0.255" config_eth0="192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"

3.c. DHCP El DHCP es un medio para obtener informacin de red (direccin IP, servidores DNS, puerta de enlace, etc) de un servidor DHCP. Si existe un servidor DHCP en su red, apenas tendr que decirle a cada cliente que utilice DHCP y el servidor se encargar de configurar el resto. Por supuesto, tendr que configurar otras cosas la red inalmbrica, el ppp, etc. u otros si hacen falta antes de poder utilizar DHCP. DHCP puede ser proporcionado por: dhclient, dhcpcd o pump. Cada mdulo DHCP tiene sus propios pros y contras - aqu tiene un pequeo resumen: Mdulo Paquete DHCP Pros Contras

Configuracin excesivamente complicada, software bastante Creado por la ISC, la misma nethinchado, no se puede obtener dhclient gente que hacen el software misc/dhcp servidores NTP desde DHCP, no dns BIND. Muy configurable enva el nombre de host por defecto. Durante largo tiempo ha sido la opcin por defecto de Puede ser un poco lento a veces, no netGentoo, no depende de se convierte en demonio cuando el dhcpcd misc/dhcpcd herramientas externas, arrendamiento de la direccin es activamente desarrollada por infinito. Gentoo. Ya no es mantenido por los desarrolladores, no es fiable netLigero, no depende de pump especialmente a travs de modems, misc/pump herramientas externas. no se puede obtener servidores de NIS desde DHCP. Si tiene ms de un cliente DHCP instalado, har falta especificar cul utilizar - sino, utilizaremos dhcpcd por defecto, si est disponible. Para enviar opciones especficas al mdulo dhcp, utilizamos module_eth0="..."(cambie "module" por el nombre del mdulo dhcp que vaya a utilizar - por ejemplo: dhcpcd_eth0). Tratamos que el servicio DHCP sea relativamente agnstico, de manera que soportamos los siguientes comandos usando la variable dhcp_eth0. Por defecto no se configuran ninguno de ellos.

release- suelta la direccin IP para ser re-utilizada rnodns - no sobre-escriba el /etc/resolv.conf rnontp - no sobre-escriba el /etc/ntp.conf

rnonis - no sobre-escriba el /etc/yp.conf

Listado de Cdigo 3.1: Ejemplo de configuracin DHCP en /etc/conf.d/net


# Solamente necesita hacerlo si tiene ms de un mdulo instalado modules="dhcpcd"

config_eth0="dhcp" dhcpcd_eth0="-t 10" # Espera agotada (timeout) despus de 10 segundos dhcp_eth0="release nodns nontp nonis" # Solamente obtenga la direccin IP

Nota: dhcpcd y dpump envan el nombre de mquina al servidor DHCP por defecto as que no necesita especificarlo ms. 3.d. ADSL con PPPoE/PPPoA Primero necesitamos instalar el software ADSL. Listado de Cdigo 4.1: Instalar el paquete rp-pppoe
# emerge net-dialup/ppp

Segundo, cree el guin de red PPP y el guin de red para la interfaz ethernet que se utilizar con PPP: Listado de Cdigo 4.2: Crear los guiones para PPP y ethernet
# ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0 # ln -s /etc/init.d/net.lo /etc/init.d/net.eth0

Asegrese de configurar rc_depend_strict a "YES" en /etc/conf.d/rc. Ahora necesitamos configurar /etc/conf.d/net. Listado de Cdigo 4.3: Una configuracin bsica PPPoE
config_eth0=null (Especifique su intefaz ethernet) config_ppp0="ppp" link_ppp0="eth0" (Especifique su interfaz ethernet) plugins_ppp0="pppoe" username_ppp0='user' password_ppp0='password' pppd_ppp0=" noauth defaultroute usepeerdns holdoff 3 child-timeout 60 lcp-echo-interval 15 lcp-echo-failure 3 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp" rc_need_ppp0="net.eth0"

Tambin puede configurar su password en /etc/ppp/pap-secrets. Listado de Cdigo 4.4: Ejemplo /etc/ppp/pap-secrets

# Ojo: el * es importante "nombre-usuario" * "contrasea"

Si utiliza PPPoE con un modem USB necesitar instalar br2684ctl. Por favor, lea /usr/portage/net-dialup/speedtouch-usb/files/README para conseguir la informacin de cmo configurarlo adecuadamente. Importante: Por favor, lea con detenimiento la seccin sobre ADSL y PPP en /usr/share/doc/openrc-0.8.3-r1/net.example.bz2. Contiene muchas explicaciones mucho ms detalladas de las configuraciones que su instalacin PPP podra necesitar. Por supuesto, cambie 0.8.3-r1 a la versin de OpenRC que est instalada en su sistema. 1.e. APIPA Direccionamiento Privado Automtico (Automatic Private IP Addressing) APIPA intenta encontrar una direccin libre en el rango 169.254.0.0-169.254.255.255 haciendo arping a direcciones aleatorias en ese rango para el interfaz. Si no se obtiene respuesta, se asigna esa direccin al interfaz. Esto es til solamente en redes donde no hay servidor DHCP y no hay conexin directa al Internet y que todos los dems computadores tambin usen APIPA. Para soporte APIPA, haga emerge net-misc/iputils o net-analyzer/arping. Listado de Cdigo 5.1: Configuracin de APIPA en /etc/conf.d/net
# Intentar DHCP primero - y si falla, entonces usar APIPA config_eth0="dhcp" fallback_eth0="apipa" # Usar nicamente APIPA config_eth0="apipa"

3.f. Bonding Para unir enlaces con bonding/trunking haga emerge net-misc/ifenslave. El "bonding" se utiliza para aumentar el ancho de banda hacia la red. Si tiene dos interfaces que van a usar la misma red, puede unirlos (bond, en ingls) para que las aplicaciones vean solo uno, aunque en realidad use ambos interfaces. Listado de Cdigo 6.1: Configuracin del bonding en /etc/conf.d/net
Para unir dos interfaces slaves_bond0="eth0 eth1 eth2"

# Tal vez no quiera asignarle direccin IP al interfaz conjunto config_bond0="null" # Depende de eth0, eth1 y eth2, ya que podra requerir configuracin adicional rc_need_bond0="net.eth0 net.eth1 net.eth2" }

3.g. Puentes (soporte para 802.1d)

Para soportar puentes, haga emerge net-misc/bridge-utils. Los puentes se usan para unir redes. Por ejemplo, puede tener un servidor conectando al internet va modem ADSL y una tarjeta inalmbrica para que otros computadores se conecten al internet por medio del modem ADSL. Se puede crear un puente para unir ambos interfaces. Listado de Cdigo 7.1: Configurar un puente en /etc/conf.d/net
# Configure el puente - para ms detalles vea "man brctl" brctl_br0="setfd 0" "sethello 0" "stp off" ) # Para agregar puertos al puente br0 bridge_br0="eth0 eth1" # Har falta configurar los puertos a valores nulos para no iniciar dhcp config_eth0="null" config_eth1="null" # Finalmente, dle una direccin al puente - para esto puede usar DHCP tambin config_br0="192.168.0.1/24" # Depend de eth0 y eth1 ya que pueden requerir configuracin adicional rc_need_br0="net.eth0 net.eth1" }

Importante: Para usar algunas configuraciones de puente, tal vez tenga que consultar la documentacin de Configuracin por medio de variables. 3.h. Direccin MAC Si lo requiere, tambin puede cambiar la direccin MAC de los interfaces por medio del archivo de configuracin de red. Listado de Cdigo 8.1: Ejemplo de cambio de una direccin MAC
# Establecer una direccin MAC de un interfaz mac_eth0="00:11:22:33:44:55"

# Para cambiar aleatoriamente solo los ltimos 3 bytes mac_eth0="random-ending" # Para cambiar aleatoriamente entre tipos de conexin # fsicamente iguales (por ejemplo: fibra ptica, cobre, inalmbrica), # para todos los proveedores mac_eth0="random-samekind" # Para cambiar aleatoriamente entre cualquier tipo fsico de # conexin (por ejemplo fibra ptica, cobre, inalmbrica), # para todos los proveedores mac_eth0="random-anykind" # Generacin completamente aleatoria # ADVERTENCIA: algunas direcciones MAC generadas de esta manera # tal vez NO se comporten de la forma esperada mac_eth0="random-full"

3.i. Haciendo tneles

No se requiere hacer emerge de paquete alguno para tneles, ya que el manejador del interfaz se encarga de esto. Listado de Cdigo 9.1: Configuracin de tneles en /etc/conf.d/net
# Para tneles GRE iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255" # Para tneles IPIP iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255" # Para configurar el interfaz config_vpn0="192.168.0.2 peer 192.168.1.1"

3.j. VLAN (soporte para 802.1q) Para soporte VLAN, haga emerge net-misc/vconfig. Las redes virtuales son un grupo de dispositivos de red que se comportan como si estuviesen conectados a un solo segmento de red - aunque no lo estn. Miembros de una VLAN solo pueden ver miembros de la misma VLAN, aunque no compartan la misma red fsica. Listado de Cdigo 10.1: Configuracin de VLANs en /etc/conf.d/net
# Especificar los nmeros de las VLAN para el interfaz as # Por favor asegurar que los ID de las VLANs # NO tengan ceros a la izquierda vlans_eth0="1 2" # Tambin se puede configurar la VLAN # vea la pgina man de vconfig para ms detalles vconfig_eth0="set_name_type VLAN_PLUS_VID_NO_PAD" vconfig_vlan1="set_flag 1" "set_egress_map 2 6" # Configure el interfaz como siempre config_vlan1="172.16.3.1 netmask 255.255.254.0" config_vlan2="172.16.2.1 netmask 255.255.254.0"

Importante: Para usar algunas configuraciones de VLAN, tal vez haga falta consultar la documentacin de Configuracin por medio de variables.

4. Redes Inalmbricas
4.a. Introduccin Las redes inalmbricas en Linux, normalmente se configuran de forma fcil. Hay dos formas de realizar esta configuracin: clientes grficos y la lnea de comandos. La forma ms fcil es usar el cliente grfico, una vea haya instalado un entorno de escritorio. La mayora de clientes grficos, como wicd y NetworkManager, son bastante autoexplicativos. Ofrecen una interfaz del tipo apuntar y hacer clic que le conectan a una red en cuestin de segundos. Nota: wicd ofrece una utilidad de lnea de comandos adems de la interfaz grfica principal. Puede obtenerla haciendo emerge de wicd con el ajuste USE ncurses activado. Esta utilidad wicd-curses es particularmente til para aqullos que no usan un entrono de

escritorio basado en gtk, pero quieren una herramienta de lnea de comandos fcil que no requiere configuracin a mano de los ficheros. Sin embargo, si no quiere usar un cliente grfico, puede configurar la red inalmbrica con la lnea de comandos, editando unos pocos ficheros de configuracin. Esto toma un poco ms de tiempo, pero tambin requiere de menos paquetes que descargar e instalar. Ya que los clientes grficos son en su mayora autoexplicativos (con capturas de pantalla tiles en sus pginas oficiales), nos centraremos en las alternativas de lnea de comandos. Puede configurar una red inalmbrica usando la lnea de comandos, instalando wirelesstools o wpa_supplicant. Lo importante a recordar es que puede configurar las redes locales de forma global, no dependiendo de la interfaz. La mejor opcin es wpa_supplicant. Para un listado de los controladores soportados, lea la pgina de wpa_supplicant. Adems, actualmente, wpa_supplicant slo puede conectarse a SSIDs para los cuales haya sido configurado. Los wireless-tools soportan casi todas las tarjetas y controladores, pero no puede conectarse a PAs (puntos de acceso) con WPA solamente. Si sus redes ofrecen nicamente cifrado WEP o estn completamente abiertas, puede que prefiera la simpleza de wireless-tools. Aviso: Actualmente el controlador linux-wlan-ng no est soportado por baselayout. Esto es debido a que linux-wlan-ng tiene su propia configuracin que es completamente diferente a las dems. Se rumorea que los desarrolladores de linux-wlan-ng estn pensando en cambiar su configuracin a wireless-tools. Cuando esto suceda, podremos utilizar linux-wlan-ng con baselayout. 4.b. WPA Supplicant WPA Supplicant es un paquete que le permite conectarse a puntos de acceso habilitados con WPA. Listado de Cdigo 2.1: Instalacin de wpa_supplicant
# emerge net-wireless/wpa_supplicant

Importante: Debe activar CONFIG_PACKET en su kernel para que funcione wpa_supplicant. Intente ejecutar grep CONFIG_PACKET /usr/src/linux/.config para comprobar si lo tiene activado en su ncleo. Nota: Dependiendo de sus ajustes USE, wpa_supplicant puede instalar una interfaz grfica escrita en Qt4, que se integrar de forma adecuada con KDE. Para obtenerla, ejecute echo "net-wireless/wpa_supplicant qt4" >> /etc/portage/package.use como root antes de hacer emerge de wpa_supplicant. Ahora debemos configurar /etc/conf.d/net para elegir wpa_supplicant sobre wireless-tools (si ambos estn instalados, wireless-tools ser usado por defecto). Listado de Cdigo 2.2: Configurar /etc/conf.d/net para wpa_supplicant
# Preferimos wpa_supplicant sobre wireless-tools modules="wpa_supplicant" # Es importante decirle a wpa_supplicant cul controlador

# debemos usar ya que todava no adivina bien wpa_supplicant_eth0="-Dmadwifi"

Nota: Si est usando el controlador host-ap, har falta colocar el interfaz en modalidad gestin (Managed mode) antes de poder usarlo correctamente con wpa_supplicant. Para esto puede usar iwconfig_eth0="mode managed" en /etc/conf.d/net. Eso fue sencillo, verdad? Sin embargo, todava nos queda configurar wpa_supplicant, que es algo ms difcil, dependiendo de cun seguros son los PAs a los cuales tratamos de conectarnos. A continuacin mostramos un ejemplo simplificado del archivo /etc/wpa_supplicant.conf.example, parte del paquete wpa_supplicant. Listado de Cdigo 2.3: Un ejemplo de /etc/wpa_supplicant.conf
# No cambie la siguiente lnea, a riesgo que no funcione ctrl_interface=/var/run/wpa_supplicant # Asegrese que slo root puede leer la configuracin de WPA ctrl_interface_group=0 # Permtale a wpa_supplicant encargarse del barrido y seleccin de los PA ap_scan=1 # Caso sencillo: WPA-PSK, PSK como contrasea-frase ASCII, # permitiendo todas las encriptaciones vlidas network={ ssid="sencillo" psk="contrasea-frase muy secreta" # A mayor prioridad, ms rpido nos conectaremos priority=5 } # Igual que el ejemplo anterior, pero barriendo por un SSID # especfico (para los PAs que rechazan transmitir el SSID) network={ ssid="segundo ssid" scan_ssid=1 psk="contrasea-frase muy secreta" priority=2 } # Solamente estamos usando WPA-PSK. Se aceptada cualquier encriptacin vlida network={ ssid="ejemplo" proto=WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP WEP104 WEP40 psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb priority=2 } # Conexin sin encriptar (sin WPA, o IEEE 802.1X) network={ ssid="prueba-noencriptada" key_mgmt=NONE } # Conexin con clave WEP compartida (sin WPA, o IEEE 802.1X)

network={ ssid="prueba-estatica-wep" key_mgmt=NONE # Claves entrecomilladas son ASCII wep_key0="abcde" # Claves sin comillas en hexadecimal wep_key1=0102030405 wep_key2="1234567890123" wep_tx_keyidx=0 priority=5 } # Conexin con clave WEP compartida (sin WPA, o IEEE 802.1X) # usando autentificacin con clave compartida IEEE 802.11 network={ ssid="prueba-estatica-wep2" key_mgmt=NONE wep_key0="abcde" wep_key1=0102030405 wep_key2="1234567890123" wep_tx_keyidx=0 priority=5 auth_alg=SHARED } # Red IBSS/ad-hoc con WPA-None/TKIP network={ ssid="prueba adhoc" mode=1 proto=WPA key_mgmt=WPA-NONE pairwise=NONE group=TKIP psk="contrasea-frase secreta" }

4.c. Wireless Tools Configuracin inicial y modo manejado Los Wireless Tools proveen una manera genrica para configurar los interfaces inalmbricos bsicos hasta el nivel de seguridad WEP. Aunque WEP es un sistema de seguridad dbil, tambin es el ms prevalente. La configuracin de Wireless Tools es controlado por algunas variables principales. El archivo ejemplo de configuracin a continuacin deber describir todo lo requerido. Algo para mantener presente es que ninguna configuracin significa "conectarse al punto de acceso sin encriptacin que tenga la seal ms fuerte" - de manera que siempre tratar de conectarse con lo que sea. Listado de Cdigo 3.1: Instalar wireless-tools
# emerge net-wireless/wireless-tools

Nota: Aunque pueda almacenar su configuracin inalmbrica en /etc/conf.d/wireless, esta gua le recomienda hacerlo en /etc/conf.d/net. Importante: Har falta consultar la documentacin acerca de nombres de variables. Listado de Cdigo 3.2: Configuracin ejemplo con iwconfig en /etc/conf.d/net
# Prefiera iwconfig sobre wpa_supplicant

modules="iwconfig" # Configure las claves WEP para los PAs ESSID1 y ESSID2 # Pueden configurarse hasta 4 claves WEP, pero solo una puede # estar activa a la vez, as que tenemos un ndice por defecto # de [1] para la clave [1] y luego otra vez para cambiar la clave activa a [1] # Hacemos esto en caso que defina otros ESSIDs para usar claves WEP que no sean 1 # # El prefijar la clave con s: significa que es una clave ASCII, # porque sino es una clave HEX # # enc open especifica seguridad abierta (mxima seguridad) # enc restricted especifica seguridad restringida (menos segura) key_ESSID1="[1] s:suclaveaqui key [1] enc open" key_ESSID2="[1] aaaa-bbbb-cccc-dd key [1] enc restricted" # Los ejemplos a continuacin solo funcionan una vez que se # haya barrido para los PAs disponibles. # A veces se registra ms de un PA, as que har falta definir # un orden de preferencia para conectarse preferred_aps="'ESSID1' 'ESSID2'"

Afinamiento en la seleccin de puntos de acceso Puede agregar opciones adicionales para afinar la seleccin de puntos de acceso, pero normalmente esto no hace falta. Puede decidirse si conectarse solamente a PAs preferidos o no. Por defecto, si falla todo lo configurado y nos podemos conectar a un PA no encriptado, entonces se har. Esto puede ser controlado con la variable associate_order (orden asociado). Sigue una tabla de valores y como estos ejercen este control. Valor any Descripcin (cualquiera) Comportamiento por defecto (solo preferidos) Solamente nos conectaremos a PAs visibles en la preferredonly lista de preferidos (obligado a preferidos) Nos conectaremos obligatoriamente a los PAs forcepreferred en el orden preferido aunque no se encuentren en un barrido (solamente preferidos obligados) No barrer buscando PAs - solo tratar forcepreferredonly de conectar a cada uno en orden (obligar a cualquiera) Igual que forcepreferred y adems se conecta a forceany cualquier otro disponible Finalmente podemos hacer una lista negra de PAs (blacklist_aps) y seleccionar un nico PA (unique_ap). blacklist_aps funciona de manera similar a preferred_aps. unique_ap es un valor si o no (yes o no) que determina si un segundo interfaz inalmbrico se puede conectar al mismo punto de acceso que el primer interfaz. Listado de Cdigo 3.3: Ejemplo de blacklist_aps y de unique_ap
# A veces nunca queremos conectarnos a algunos PAs blacklist_aps="'ESSID3' 'ESSID4'"

# Si tiene ms de una tarjeta inalmbrica, puede determinar # que cada interfaz se asocie al mismo PA o no # Los valores son "yes" y "no" # El valor por defecto es "yes" unique_ap="yes"

Modos Ad-Hoc y Master Si desea establecerse como un nodo Ad-Hoc al no lograr conectarse a algn PA en modo manejado, puede hacerlo tambin. Listado de Cdigo 3.4: Usar modo ad-hoc en caso de no conectar en modo manejado
adhoc_essid_eth0="This Adhoc Node"

Y qu tal conectarse a redes Ad-Hoc o funcionar en modo Master para convertirse en PA? Aqu tenemos una configuracin justo para eso! Tal vez tenga que especificar alguna clave WEP como se muestra arriba. Listado de Cdigo 3.5: Ejemplo de configuracin ad-hoc/master
# Establezca el modo - que puede ser manejado (por defecto), ad-hoc o master # No todos los manejadores soportan todos los modos mode_eth0="ad-hoc" # Establezca el ESSID del interfaz # En modo manejado, esto obliga el interfaz intentar conectarse al # ESSID especificado solamente essid_eth0="This Adhoc Node" # Usamos el canal 3 si no se establece otro channel_eth0="9"

Importante: A continuacin citamos la documentacin wavelan de BSD encontrado en la documentacin de NetBSD Existen 14 canales posibles; Se nos informa que los canales 111 son legales para Norteamrica , los canales 1-13 para la mayor parte de Europa, los canales 10-13 para Francia y slo el canal 14 para el Japn. En caso de duda, por favor refirase a la documentacin que acompaa la tarjeta o el PA. Asegrese que el canal que selecciona es el mismo del PA (o de la otra tarjeta en caso de ser red ad-hoc). Para las tarjetas vendidas en Norteamrica y la mayor parte de Europa, es el canal 3 por defecto; en Francia el 11 y en el Japn es el 14. Solucionando problemas con Wireless Tools Existen ms variables que sirven para ayudar a configurar y operar una red inalmbrica por problemas ambientales o del manejador. Aqu presentamos una tabla de otras cosas para intentar. Variable iwconfig_eth0 iwpriv_eth0 Valor por Descripcin defecto Vea la pgina man de iwconfig para detalles acerca de qu enviar a iwconfig Vea la pgina man de iwpriv para detalles acerca de qu

sleep_scan_eth0 sleep_associate_eth0

0 5

associate_test_eth0

MAC

scan_mode_eth0 iwpriv_scan_pre_eth0 iwpriv_scan_post_eth0

enviar a iwpriv La cantidad en segundos a dormir antes de intentar un barrido. Esto hace falta cuando el manejador/firmware requiere de ms tiempo para activarse antes de poder usarlos. La cantidad en segundos a esperar para que el interfaz se asocie con el PA antes de continuar al siguiente. Algunos manejadores no resetean la direccin MAC asociada a una invlida cuando pierden la seal o intentan asociarse. Algunos manejadores no resetean el nivel de calidad cuando pierden la seal o intentan asociarse. La configuraciones vlidas son MAC, quality y all. Algunos manejadores tienen que hacer el barrido en modo ad-hoc, as que, si falla el barrido, intente configurar aqu como ad-hoc. Enva algunos comandos iwpriv al interfaz antes del barrido. Consulte la pgina man de iwpriv para ms detalles. Enva algunos comandos iwpriv al interfaz despus del barrido. Vea la pgina man de iwpriv para ms detalles.

4.d. Definiendo la configuracin de la red por ESSID A veces, se necesita una direccin IP esttica cuando se conecta a un ESSID1 y cuando lo hace a ESSID2, se utiliza DHCP. De hecho, casi todas las variables de mdulo pueden cambiarse por ESSID. A continuacin mostramos cmo se hace. Nota: Esto funciona sin importar si usa WPA Supplicant o Wireless Tools. Importante: Necesitar consultar la documentacin variable name. Listado de Cdigo 4.1: Reemplazar configuracin de red por ESSID
config_ESSID1="192.168.0.3/24 brd 192.168.0.255" routes_ESSID1="default via 192.168.0.1" config_ESSID2="dhcp" fallback_ESSID2="192.168.3.4/24" fallback_route_ESSID2="default via 192.168.3.1" # Podemos definir servidores DNS y otras cosas tambin # NOTA: DHCP reemplazar esta configuracin si no se le pide que no lo haga dns_servers_ESSID1="192.168.0.1 192.168.0.2" dns_domain_ESSID1="algun.dominio" dns_search_domains_ESSID1="busque.eneste.dominio busque.enaquel.dominio" # Reemplace usando la direccin MAC del PA # Esto es muy til si usa distintas ubicaciones con el mismo ESSID config_001122334455="dhcp" dhcpcd_001122334455="-t 10" dns_servers_001122334455="192.168.0.1 192.168.0.2"

5. Agregando Funcionalidad

3.a. Puntos de enlace standard en las funciones Se pueden definir cuatro funciones en /etc/conf.d/net, que pueden ser llamadas antes o despus de las operaciones start/stop, de arranque/parada. Sus nombres se componen empezando con el nombre de interfaz, de manera que una funcin puede controlar mltiples interfaces. Los valores de retorno de las funciones preup y predown deben ser cero (xito) indicando que la configuracin o la des-configuracin de los interfaces pueden continuar. Si preup devuelve un valor no-cero, se detendr la configuracin del interfaz. Si predown devuelve un valor no-cero, no se permite que el interfaz contine desconfigurndose. Los valores de retorno de las funciones postup() y postdown() sern ignorados, ya que no hay nada que hacer si hay indicacin de algn fallo. ${IFACE} es el interfaz que ser encendido/apagado, ${IFVAR} es ${IFACE} convertido a un nombre de variable vlido segn bash. Listado de Cdigo 1.1: Ejemplo de funciones pre/post up/down
preup() { # Comprobacin del enlace de la interfaz antes de activarla. # Esto solamente funciona con algunos interfaces de red y necesita # que el paquete ethtool este instalado. if ethtool ${IFACE} | grep -q 'Link detected: no'; then ewarn "No link on ${IFACE}, aborting configuration" return 1 fi # Recordamos devolver cero si todo fue correcto return 0

predown() { # Por defecto en el guin de inicio se comprueba si # el sistema (root) est montado por NFS y en ese caso no permitir # que las interfaces se desactiven. Tenga en cuenta que, si # especifica una funcin predown() sobreescribir est regla. # Aqu la tiene en caso de que todava quiera utilizarla... if is_net_fs /; then eerror "root filesystem is network mounted -- can't stop ${IFACE}" return 1 fi # Recordamos devolver cero si todo fue correcto return 0 } postup() { # Esta funcin podra utilizarse, por ejemplo, para # registrarse en un servicio dinmico de DNS. Otra posibilidad # sera enviar un correo cada vez que la interfaz se conecta. return 0 }

postdown() { # Esta funcin est aqu mayormente para redondear ... An no hemos pensado en algo interesante que pueda hacer ;-) return 0 }

Nota: Para mayor informacin acerca de escribir sus propias funciones, agradecemos lea /usr/share/doc/openrc-*/net.example.bz2. 5.b. Puntos de enlace para las herramientas inalmbricas Nota: Esto no funcionar con WPA suplicante - pero las variables ${ESSID} y $ {ESSIDVAR} estn disponibles en la funcin postup(). Se pueden definir dos funciones en /etc/conf.d/net que se ejecutan antes y despus de la funcin asociada referida. Estas funciones se nombran antecedindole el nombre del interfaz, de manera que la misma funcin puede controlar mltiples interfaces. El valor retornado por la funcin preassociate() debe ser 0 (xito) para indicar que la configuracin o desconfiguracin del interfaz puede continuar. Si la funcin preassociate() retorna un valor no-cero, se interrumpir la configuracin del interfaz. El valor retornado por la funcin postassociate() se ignora, ya que no hay nada que hacer si llegase a indicarse una falla. A ${ESSID} se le asigna el ESSID exacto del PA al cual se est conectando, ya que $ {ESSIDVAR} es ${ESSID}, convertido a un nombre de variable permitido por bash. Listado de Cdigo 2.2: Funciones pre/post asociacin en /etc/conf.d/net
preassociate() { # A continuacin se agregan 2 variables # de configuracin leap_user_ESSID y leap_pass_ESSID. Cuando # ambos estn configurados para el ESSID al que se conectan, # corremos el guin LEAP de CISCO. local user pass eval user=\"\$\{leap_user_${ESSIDVAR}\}\" eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\" if [[ -n ${user} && -n ${pass} ]]; then if [[ ! -x /opt/cisco/bin/leapscript ]]; then eend "For LEAP support, please emerge netmisc/cisco-aironet-client-utils" return 1 fi einfo "Waiting for LEAP Authentication on \"$ {ESSID//\\\\//}\"" if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then ewarn "Login Failed for ${user}" return 1 fi fi return 0 }

postassociate() { # Esta funcin existe mayormente para completar ... # aunque no he pensado en algo interesante para hacer ac # todava ;-) } return 0

Nota: Las variables ${ESSID} y ${ESSIDVAR} no estn disponibles en las funciones predown() y postdown(). Nota: Para mayor informacin acerca de cmo escribir sus propias funciones, agradecemos lea /usr/share/doc/openrc-*/net.example.bz2.

6. Manejo de Redes
6.a. Gestin de la red Si el ordenador est en continuo movimiento, no siempre tendr un cable ethernet conectado o un punto de acceso disponible. Tambin, puede querer que la red funcione automticamente cuando un cable ethernet se conecte o se encuentre un punto de acceso. Aqu se encuentran algunas herramientas que puede ayudar a gestionar esto. Nota: Esto documento solamente tiene habla sobre ifplugd, pero hay alternativas como netplub. netplug es una alternativa ligera a ifplugd, pero confa en que tus controladores de red del ncleo funcionen correctamente, cosa que muchas veces no es as. 6.b. ifplugd ifplugd es un demonio que arranca y para las interfaces de red cuando un cable se conecta o se desconecta. Tambin puede gestionar la deteccin asocindose a un punto de acceso o cuando uno nuevo entra dentro del radio de deteccin. Listado de Cdigo 2.1: Instalar ifplugd
# emerge sys-apps/ifplugd

La configuracin de ifplugd es bastante clara. El archivo de configuracin se encuentra en /etc/conf.d/net. Ejecute man ifplugd para obtener ms detalles sobre las variables disponibles. Adems, puede consultar ms ejemplos en /usr/share/doc/openrc*/net.example.bz2. Listado de Cdigo 2.2: Ejemplo de configuracin de ifplug
(Sustituya eth0 con la interfaz que quiera monitorizar) ifplugd_eth0="..." (Para monitorizar una interfaz wireless) ifplugd_eth0="--api-mode=wlan"

Adems, para manejar mltiples conexiones de red, quiz quiera instalar una herramienta que facilita el trabajo con mltiples configuraciones y servidores DNS. Es realmente til cuando se recibe la direccin IP via DHCP. Simplemente instale openresolv. Listado de Cdigo 2.3: Instalar openresolv

# emerge openresolv

Consulte man resolvconf para aprender ms cosas sobre sus caractersticas. El contenido de este documento, a no ser que se especifique expresamente, est registrado bajo los trminos de la licencia CC-BY-SA-2.5. Se aplican las Pautas de Utilizacin del logo y nombre de Gentoo. 1. Introduccin a FreeBSD Qu es FreeBSD? FreeBSD es un Sistema Operativo libre estilo Unix (vea la licencia). De regreso a 1993 cuando el desarrollo de 386BSD se detuvo, nacieron dos proyectos: NetBSD, normalmente conocido por correr en un gran nmero de arquitecturas y FreeBSD que soporta las arquitecturas x86, amd64, ia64, sparc64 y alpha. FreeBSD tiene fama por su estabilidad, rendimiento y seguridad, por lo tanto es usado en pequeas y hasta en las ms grandes compaas de todo el mundo. La versin actual de produccin de FreeBSD es la 7.1. Gentoo/FreeBSD est basado en la versin 6.2 y las versiones anteriores de Gentoo/FreeBSD estn descontinuadas y ya no tienen soporte. Qu es Gentoo/FreeBSD?

Gentoo/FreeBSD es un subproyecto del Proyecto Gentoo/Alt (Gentoo en plataformas alternativas), cuyo objetivo es proporcionar un sistema operativo FreeBSD completo con caractersticas propias del diseo de Gentoo Linux, tales como el sistema de inicio (init) y el sistema de gestin de paquetes Portage. FreeBSD y Linux Los usuarios que migran desde Linux a FreeBSD normalmente consideran a los dos sistemas operativos "casi lo mismo". De hecho, FreeBSD realmente comparte muchas similitudes con las distribuciones de Linux en general. Sin embargo, tiene algunas diferencias claves que son dignas de sealar:

A diferencia de Linux, que en realidad se refiere solo al ncleo, FreeBSD por su parte es un sistema operativo completo, que consiste de una biblioteca C, herramientas del espacio del usuario (userland tools) y mucho ms. Este enfoque de desarrollo hace muy consistente el sistema global. A diferencia de Linux, el desarrollo de FreeBSD no est liderado por una persona sino que es administrado por un pequeo grupo de personas llamados el Equipo Central (Core Team).

Adems, FreeBSD tambin posee algunas diferencias tcnicas que lo distinguen de Linux. Algunas de ellas son muy importantes de conocer, incluso si no tiene intenciones de unirse al esfuerzo de desarrollo de Gentoo/FreeBSD:

Para obtener las funciones de enlazado dinmico en tiempo de ejecucin como dlopen(), los programas no necesitan estar enlazados contra libidl como pasa en GNU/Linux. En cambio se enlazan contra libc. FreeBSD no tiene una herramienta oficial para la compilacin del ncleo, por lo tanto tendr que solucionar por si mismo las dependencias de caractersticas. FreeBSD usa UFS/UFS-2 como sus sistemas de archivos y no tiene soporte oficial para, por ejemplo, ReiserFS o XFS. No obstante, hay proyectos para aadir soporte de solo lectura para esos sistemas de archivos. Ya es posible acceder a particiones ext2/ext3 pero no puede instalar su sistema en ellas.

2. Instalando Gentoo/FreeBSD Arrancando el CD Luego de esta breve introduccin, finalmente es hora de instalar Gentoo/FreeBSD. Desafortunadamente carecemos de nuestro propio medio de instalacin, as que debe elegir entre dos mtodos alternativos. El primero sera usar una instalacin existente de FreeBSD para particionar su disco duro y usarla como base para instalar Gentoo/FreeBSD. Esta gua describir como usar el LiveCD FreeSBIE como medio de instalacin para Gentoo/FreeBSD. Nota: Si tiene intencin de usar FreeSBIE para instalar Gentoo/FreeBSD, por favor asegrese de utilizar una versin basada en FreeBSD 6.x, como FreeSBIE 2.0 (o una versin candidata previa al lanzamiento). Se puede descargar del tracker Bittorrent de FreeSBIE. Primero, arranque desde el CD para comenzar el proceso de instalacin. Se le presentar una pantalla de login. El nombre de usuario que debe ingresar es freesbie y no requiere clave. Luego, ejecute sudo su para convertirse en el usuario root y opcionalmente cree su clave. Si desea pasar el tiempo durante la instalacin, puede ejecutar startx para entrar en un entorno grfico Xfce, apto para navegar en la red, hacer chat con AIM y dems. A diferencia de Linux, FreeBSD basa el nombre del interfaz en el nombre del manejador del interfaz. Por ejemplo, el manejador para el interfaz Intel EtherExpress (fxp) aparece como fxp0 (manejador fxp, primera tarjeta de red). Para ver cul es su interfaz, use ifconfig: Listado de Cdigo 2.1: Averiguando el interfaz de red con ifconfig

# ifconfig fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=8<VLAN_MTU> inet6 fe80::2d0::b7ff:febc:4fe3%fxp0 prefixlen 64 scopeid 0x1 inet 192.168.0.106 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:d0:b7:bc:4f:e3 media: Ethernet autoselect (100baseTX <full-duplex>) status: active lo0: flags=8007<LOOPBACK,MULTICAST> mtu 16384

Si la peticin original de DHCP durante el arranque ha fallado, podr usar el comando dhclient para obtener un nmero IP: Listado de Cdigo 2.2: Obteniendo una direccin con DHCP usando dhclient
# dhclient fxp0 DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 9 DHCPOFFER from 192.168.0.1 DHCPREQUEST on fxp0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.106 -- renewal in 302400 seconds

Nota: La salida presentada aqu podra ser distinta, basada en su red. Particionando el disco Ahora que tenemos un punto de montaje, es hora de particionar el disco duro. Esto se hace con el comando sysinstall: Listado de Cdigo 2.3: Ejecutando el comando sysinstall para particionar el disco
# sysinstall diskPartitionEditor diskPartitionWrite

Recomendamos usar el patrn por defecto de particiones. Pulse intro en la caja de dilogo, luego pulse a seguido por q para aceptar la disposicin por defecto. La siguiente pantalla presentar una opcin de gestor de arranque, para la cual escoja la opcin "None", ya que estaremos instalndolo ms adelante. Despus viene la definicin de los tamaos de las particiones y los puntos de montaje. El siguiente paso tambin usa sysinstall, pero con parmetros diferentes: Listado de Cdigo 2.4: Usando sysinstall para configurar las particiones y puntos de montaje
# sysinstall diskLabelEditor diskLabelCommit

Aqu no aprovecharemos la disposicin automtica de particionamiento y crearemos una gran particin raz y una de intercambio. Pulse c para crear una nueva particin. En la caja de dilogo, coloque el tamao, usando MB/GB para especificar tamaos o C para especificar cilindros. Para la particin raz, escoja FS para el tipo de particin y configure el punto de montaje como /mnt/. Si no coloca el punto de montaje, sobreescribir el entorno de FreeSBIE! Como /boot no ser una particin separada, deber desactivar los "soft-updates" o sino el sistema no arrancar! Para hacer esto use las flechas del teclado para navegar a la particin recin creada y pulse la tecla s hasta que "Newfs" no contenga +S. Ahora navegue con las flechas hasta iluminar la lnea "Disk" y pulse la tecla c de nuevo para crear una particin de intercambio. Generalmente, recomendamos una particin del doble de la memoria RAM disponible. Escoja SWAP como tipo de particin

y no se preocupe por los "soft-updates", ya que no aplican a este tipo de particin. Ahora hemos terminado, as que pulse q para concluir el proceso. Al escoger un punto de montaje diferente a / para la particin, sysinstall crear una particin 'd', desde la cual el gestor de arranque no podr arrancar. Para arreglar esto, ejecute: Nota: Por favor, asegrese que ad0s1 est desmontada antes de ejecutar el siguiente comando, de otra forma el comando no funcionar. Listado de Cdigo 2.5: Arreglando la letra de la particin raz
# disklabel ad0s1 | sed 's/^ /dev/stdin d:/ a:/' | disklabel -R ad0s1

Con esto concluye el proceso de particionamiento y formatea el disco en UFS para ser utilizada por FreeBSD. Tambin montar el disco en el punto de montaje especificado anteriormente (/mnt/). Puede verificar que funcion ejecutando mount: Listado de Cdigo 2.6: Verificando el montaje de las particiones con mount
# mount ... /dev/ad0s1a on /mnt (ufs, local)

Ahora que hemos montado la particin, es hora de comenzar con la configuracin de Gentoo. Configuracin de Gentoo Primero debemos descargar un archivo stage3 comprimido y desempaquetarlo en el chroot. Apunte el navegador a http://distfiles.gentoo.org/experimental/x86/freebsd/stages/, descargue la imagen ms reciente y desempaqutela en el punto de montaje: Listado de Cdigo 2.7: Obtener y descomprimir un tarball con stage3
# cd /mnt/ (Tambin funcionar cualquier otro servidor rplica de Gentoo que tenga el directorio "experimental") # wget http://distfiles.gentoo.org/experimental/x86/freebsd/stages/stage3x86-freebsd-6.2-r1.tar.bz2 # tar -jxvpf stage3-x86-freebsd-6.2-r1.tar.bz2 (Puede borrar el tarball con el siguiente comando si lo desea) # rm stage3-x86-freebsd-6.2-r1.tar.bz2

Nota: Si desea, puede usar el "overlay" transicional con ebuilds semi-experimentales y parches que todava no se estn en el rbol principal de Portage, pero que al mismo tiempo, permite mayor amplitud en lo que respecta paquetes soportados. Por favor, vea la documentacin del overlay Gentoo/ALT. Por favor note que el overlay no es imprescindible y se puede fcilmente instalar y usar Gentoo/FreeBSD sin usarlo. Para que la instalacin funcione, har falta montar el sistema de archivos /dev del sistema anfitrin al punto de montaje correspondiente en el Gentoo/FreeBSD antes de continuar con el entorno enjaulado. Listado de Cdigo 2.8: Montando el sistema de archivos /dev y entrando al chroot

# # # #

mount -t devfs none /mnt/dev/ cp /etc/resolv.conf /mnt/etc/ chroot /mnt/ /bin/bash env-update && source /etc/profile

Despus de obtener el overlay Gentoo/FreeBSD es hora de enlazar /etc/make.profile al perfil correcto y preparar el /etc/make.conf para Gentoo/FreeBSD. Ahora debe obtener una copia del rbol principal de Portage de Gentoo, el cual, dependiendo de su conexin, podra tomar bastante tiempo. Listado de Cdigo 2.9: Obtener el rbol Portage
# emerge --sync (Tambin es posible obtener el rbol Portage de otra forma:) # cd / # wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2 # tar -xjf portage-latest.tar.bz2 -C /usr/ # emerge --metadata

Listado de Cdigo 2.10: Configurar el perfil y editar /etc/make.conf

# ln -sf /usr/portage/profiles/default-bsd/fbsd/6.2/x86/ /etc/make.profile # nano /etc/make.conf (Por favor, asegrese de agregar al menos las siguientes lneas:) CHOST="i686-gentoo-freebsd6.2" FEATURES="collision-protect"

Nota: La palabra clave ~x86-fbsd todava no cubre completamente el mismo rbol que ~x86; pero, le pedimos por favor no coloque ~x86 en ACCEPT_KEYWORDS. Ms bien, use /etc/portage/package.accept_keywords para probar paquetes y reportar los que funcionen a travs del Bugzilla. Si lo desea, ahora puede recompilar los paquetes centrales del sistema. Listado de Cdigo 2.11: Recompilar los paquetes centrales de FreeBSD (opcional)
# emerge -e system

3. Configurando el arranque Configurando la zona horaria Primero asegrese que la fecha y la hora estn correctos, usando date aaaammddHHMM. Use la hora UTC. Listado de Cdigo 3.1: Ajustando la fecha y hora UTC
(Revise el reloj) # date Mon Mar 6 00:14:13 UTC 2006 (Ajuste la fecha y hora actual si es necesario) # date 200603060016 (El formato es yyyymmddHHMM) Mon Mar 6 00:16:00 UTC 2006

Luego ajuste su zona horaria usando el listado correcto en /usr/share/zoneinfo. Listado de Cdigo 3.2: Ajustando la zona horaria
# ls /usr/share/zoneinfo

(Usando a Bruselas como ejemplo) # cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime # date Wed Mar 8 00:46:05 CET 2006

Edite /etc/timezone para definir la zona horaria utilizada previamente. Listado de Cdigo 3.3: Editar /etc/timezone
# nano -w /etc/timezone Europe/Brussels

Instalacin del ncleo Si ejecut emerge -e system, las fuentes del ncleo de FreeBSD se instalaron en el directorio /usr/src/sys. Si salt este paso puede obtenerlas as: Listado de Cdigo 3.4: Obtener las fuentes del ncleo de FreeBSD
# emerge freebsd-sources

El configurar y compilar un ncleo personalizado es bastante diferente que hacerlo en Linux, as que, si no est familiarizado con el proceso, lo animamos a que le d una mirada al captulo 8 del manual de FreeBSD. Importante: Por favor, note que actualmente solo est soportada la forma "Tradicional" de compilar el ncleo en Gentoo/FreeBSD! Listado de Cdigo 3.5: Ingresando al directorio de fuentes del ncleo
# cd /usr/src/sys/

Examinando la disposicin, podemos ver varias arquitecturas y subdirectorios para distintas partes del ncleo. Para comenzar la instalacin, nos dirigimos al directorio i386/conf/: Listado de Cdigo 3.6: El directorio de configuracin del ncleo
# cd i386/conf/ # ls .cvsignore GENERIC DEFAULTS GENERIC.hints Makefile NOTES PAE SMP

Los principales archivos a notar son GENERIC y GENERIC.hints. Como ser necesitado para la instalacin del ncleo, copie el archivo GENERIC.hints a /boot/device.hints: Listado de Cdigo 3.7: Copiando el archivo GENERIC.hints
# cp GENERIC.hints /boot/device.hints

Este archivo es usado por los manejadores del ncleo para obtener informacin bsica de configuracin, como ajustes IRQ. Ahora ha llegado el momento de configurar el ncleo. FreeBSD usa el comando config para hacer esto. config usa el archivo dado (en este caso GENERIC) para copiar todos los archivos requeridos a un directorio compile en el directorio padre. El archivo GENERIC es similar al .config para el ncleo Linux. Ejecute config para producir el directorio de construccin del ncleo: Listado de Cdigo 3.8: Configurando la construccin del ncleo

# config GENERIC Kernel build directory is ../compile/GENERIC Don't forget to ''make cleandepend; make depend''

config ha creado un directorio para construir un ncleo GENERIC para nosotros en el directorio padre. Entre con cd y ejecute lo siguiente para llevar a cabo la construccin: Listado de Cdigo 3.9: Construir e instalar el ncleo
# cd ../compile/GENERIC # make cleandepend && make depend && make && make install

Esto producir un ncleo completo con el cual trabajar. Ahora necesitamos configurar el gestor de arranque para que el ncleo arranque. En el siguiente captulo discutiremos dos mtodos de configurar el gestor de arranque: boot0 y grub. Configurando el gestor de arranque (boot0) Importante: boot0 es el gestor de arranque de FreeBSD. Previamente era el nico soportado, hasta la introduccin de grub en el sistema ports con soporte para particiones UFS. Para instalar y configurar boot0, ejecute el siguiente comando. Recuerde reemplazar adXsY con el verdadero nmero y particin del disco. Listado de Cdigo 3.10: Instalando y configurando boot0
# emerge boot0 (Salga del entorno enjaulado) # exit (Ejecutado desde afuera del chroot) # fdisk -B -b /mnt/boot/boot0 /dev/adX # chroot /mnt/ /bin/bash # disklabel -B adXsY

Si requiere ms informacin acerca de la configuracin de boot0, por favor consulte el captulo 12 del manual FreeBSD. Ahora debemos hacer algunas configuraciones y ajustes bsicos. En la siguiente seccin, veremos como usar el gestor de arranque alternativo, grub. Configurando el gestor de arranque (grub) A partir de la versin 0.97-r1 de grub, las particiones UFS pueden ser ledas por grub. Esto permite que usemos grub como nuestro gestor de arranque, el cual es el mtodo preferido por los que vienen desde Linux. Para empezar, hagamos emerge grub y configuremos la particin como arrancable. Recuerde reemplazar adXsY con el verdadero nmero y particin del disco. Listado de Cdigo 3.11: Instalando grub
# emerge grub # disklabel -B adXsY

Ahora ejecute grub y obtenga una lnea de comando, para configurar la particin de la siguiente manera: Listado de Cdigo 3.12: Configurando grub
(Esto se hace para prevenir el "disk error 29")

# sysctl kern.geom.debugflags=16 # grub (Ejemplo usando ad0s1d) grub> root (hd0,0,d) Filesystem type is ufs2, partition type 0xa5 grub> setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/ufs2_stage1_5" exists... yes Running "embed /boot/grub/ufs2_stage1_5 (hd0)"... 14 sectors are embedded. succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+14 p (hd0,0,d)/boot/grub/stage 2 /boot/grub/menu.lst"... succeeded Done. grub> quit

Para hacer que el cargador ubique el ncleo en una particin en especfico (por defecto busca la 'a'), agregue una lnea con vfs.root.mountfrom al archivo /boot/loader.conf: Listado de Cdigo 3.13: Digmosle al cargador dnde buscar el ncleo
# echo 'vfs.root.mountfrom="ufs:ad0s1d"' >> /boot/loader.conf

Al arrancar por primera vez, tal vez no reciba un men grub. Si es as, ejecute esto en la lnea de comando: Listado de Cdigo 3.14: Arrancando el ncleo sin men
grub> find /boot/grub/stage1 (La salida es lo que usaremos en el siguiente comando) (hd0,0,d) grub> kernel (hd0,0,d)/boot/loader [FreeBSD-a.out, loadaddr=0x200000, text=0x1000, data=0x3a000, bss=0x0, entry=0x200000] grub> boot

Nota: Para ms informacin acerca de la configuracin de grub, por favor consulte el Manual Gentoo Linux. Aviso: Grub no sigue los enlaces simblicos de UFS, as que asegrese de borrar el enlace /boot/grub/menu.lst y usar el archivo menu.lst para configurar a (no se hace uso de grub.conf). Configuracin del sistema Primero, vamos a configurar los puntos de montaje de los sistemas de archivos en /etc/fstab. Listado de Cdigo 3.15: Editar el sistema de archivos en /etc/fstab
# nano /etc/fstab (Esto es un ejemplo, reemplace X e Y con los nmeros correctos para su disco duro.) #Device Mountpoint Fstype Options Dump Pass

/dev/adXsYb 0 /dev/adXsYa 1 /dev/adXsYe 2 /dev/adXsYd 2 /dev/acdX 0

none / /usr/home /tmp /cdrom

swap ufs ufs ufs cd9660

sw rw rw rw ro,noauto

0 1 2 2 0

Ahora tambin sera bueno ajustar la conexin de red antes de reiniciar. Puede encontrar toda la informacin necesaria para configurar la red en el Manual Gentoo. Para que el interfaz est activado al arrancar, agrguelo al nivel de ejecucin por defecto: Listado de Cdigo 3.16: Agregar su tarjeta de red al nivel de ejecucin default
# rc-update add net.fxp0 default

El nombre de su computadora puede ser cambiado en /etc/conf.d/hostname. Listado de Cdigo 3.17: Ajustar el nombre de la computadora
# nano /etc/conf.d/hostname (Ajuste la variable HOSTNAME con el nombre de su computadora) HOSTNAME="tux"

Tambin debera configurar su nombre de dominio, lo que se hace en el archivo /etc/conf.d/domainname: Listado de Cdigo 3.18: Configurar el nombre de dominio
# nano /etc/conf.d/domainname (Ajuste la variable dns_domain al nombre del dominio y lo al de la red local) dns_domain_lo="homenetwork"

Si tiene un dominio NIS, debe definirlo en el archivo /etc/conf.d/domainname: Listado de Cdigo 3.19: Configurar el nombre de dominio NIS
# nano /etc/conf.d/domainname (Ajuste la variable nis_domain con su nombre de dominio NIS y lo al de la red local) nis_domain_lo="my-nisdomain"

Nota: Para ms informacin acerca de nombres de dominios y redes, por favor, consulte el Manual Gentoo y por favor lea la documentacin en el archivo /usr/share/doc/openrc*/net.example.bz2. En caso de que necesite usar otra disposicin de teclado para su idioma, tiene que configurar el valor correcto en /etc/conf.d/syscons. El siguiente ejemplo usa la disposicin para el idioma castellano, as que tendr que ajustarlo si quiere usar otro. Listado de Cdigo 3.20: Cambiar la disposicin del teclado (Opcional)
# nano /etc/conf.d/syscons KEYMAP="spanish.iso.acc" (Los mapas de teclado disponibles se encuentran en /usr/share/syscons/keymaps).

Ahora ajuste la clave para el superusuario root y agregue otra cuenta de usuario para su trabajo diario. Listado de Cdigo 3.21: Cambiar la clave del superusuario y agregar un nuevo usuario
# passwd # adduser Username: fred Full Name: Fred Smith (Acepte el valor por defecto, solo pulse Intro.) Uid (Leave empty for default): (Se puede aceptar el valor por defecto ac tambin; pulse Intro.) Login group [fred]: (Ingrese los grupos, separados por espacios en blanco. Deben existir previamente.) Login group is fred. Invite fred into other groups? []: wheel portage (Acepte el valor por defecto aqu, pulse Intro) Login class [default]: (Es una preferencia personal. Asegrese que exista en /etc/shells) Shell (sh bash tcsh csh esh ksh zsh sash nologin) [sh] bash (Acepte el valor por defecto aqu, pulse Intro en cada uno) User password-based authentication [yes] Use an empty password (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: password goes here Enter password again: retype it (Acepte el valor por defecto, pulse Intro) Lock out the account after creation? [no]: Username : fred Password : ***** Full Name : Fred Smith (Aqu esto podra variar) Uid : 1002 Class : Groups : fred wheel portage Home : /home/fred Shell : /bin/bash Locked : no (Confirme que la informacin est correcta) OK? (yes/no): yes adduser: INFO: Sucessfully added (fred) to the user database Add another user? (yes/no): no Goodbye! #

Felicitaciones, ha finalizado su instalacin de Gentoo/FreeBSD y que puede empezar a explorar luego de reiniciar. Que se divierta! Listado de Cdigo 3.22: Reiniciar el sistema
# exit # reboot

4. Desarrollando para Gentoo/FreeBSD Cmo ayudar? Hay muchas cosas en las que podra ayudar dependiendo de sus habilidades y tiempo libre:

Trabajar en ebuilds vigentes: esto significa trabajar de cerca con los mantenedores de ebuilds para crear parches o modificar ebuilds de forma que puedan ser aceptados en el rbol principal. Seguridad: si est involucrado en seguridad, lo necesitamos! Aunque seguimos y corregimos los anuncios de seguridad del proyecto FreeBSD, siempre podemos contar con ayuda en esta rea. Contactos: necesitamos gente que pueda estar en contacto con desarrolladores de FreeBSD para poder intercambiar parches y discutir problemas varios y sus soluciones. Note que esto no debera involucrar cualquier tipo de correo no solicitado (spamming) en las listas de correo o canales de IRC. Testing: cuanto ms gente est usando activamente Gentoo/FreeBSD, mayor ser la cantidad de bugs descubiertos, lo que nos ayuda a mejorar la calidad del proceso de portar. Si es bueno describiendo bugs o problemas, entonces definitivamente nos gustara conocerle. Otras reas donde necesitamos ayuda: ebuilds de sistema, creacin de CDs de instalacin, documentacin, hacking del ncleo.

Problemas conocidos En este instante todava hay bastante problemas conocidos. Se nombran a continuacin los que valen la pena sealar:

Algunos guiones de inicio dependen del servicio de reloj (clock) que no proveemos por ahora. Puede eliminarlo de las dependencias en el guin y reprtelo en Bugzilla. Por favor, recuerde usar el producto "Gentoo/Alt" al momento de enviarlo.

5. Contacto Se puede encontrar una lista de los desarrolladores de Gentoo/FreeBSD en la pgina del proyecto. Hay otras formas de contactar a los desarrolladores, entre ellas, el canal de IRC #gentoo-bsd en Freenode (irc.freenode.net) y tambin en la lista de correos gentoo-bsd.

Preguntas de uso frecuente en Gentoo Linux


Contenido:

1. Preguntas Introduccin Por favor, observe que muchas de estas preguntas son respondidas en los documentos y guas oficiales de Gentoo. sta es simplemente una lista de preguntas comunes. Por favor, lea la documentacin y/o las pginas man para obtener una mayor comprensin de cmo funciona Gentoo y GNU/Linux y para las respuestas a preguntas que no se responden aqu.

Al comienzo

Cmo se pronuncia Gentoo, y qu significa? Qu hace diferente a Gentoo?

Instalacin

Las cosas son realmente inestables y estoy usando las optimizaciones "-O9 -ffast-math -fomit-frame-pointer". Qu sucede? Cmo cambio la contrasea de root (o de cualquier otro usuario)? Cmo puedo aadir un usuario normal? Por qu no puede el usuario convertirse en root con "su"? Puedo actualizar Gentoo de una versin a otra sin reinstalar? Mi ncleo no arranca, qu hago ahora? Mi proxy necesita autenticacin qu debo hacer? Cmo grabo un archivo ISO? Qu CD/stage debera utilizar para mi CPU? No puedo conectarme despus de reiniciar. Qu ocurre? Quiero iniciar Windows desde grub o lilo pero solo me aparece la pantalla en negro qu debo hacer? Cmo instalo Gentoo utilizando un Stage1 o Stage2?

Administracin de Paquetes

De qu manera se almacenan los paquetes? Quiero hacer el paso ./configure yo mismo. Puedo? Cmo uso emerge estando detrs de un cortafuegos (firewall)? Qu hago si rsync no me funciona? Dispongo tan solo de una lenta conexin por mdem en casa. Puedo descargar las fuentes desde algn otro sitio y agregarlas a mi sistema? Los paquetes de fuentes se estn acumulando en /usr/portage/distfiles/. Es seguro eliminar estos archivos? Qu hay en /var/tmp/portage? Es seguro borrar los archivos y directorios de /var/tmp/portage?

Uso

Cmo configuro una distribucin de teclado internacional? La resolucin de nombres DNS funciona solo para el usuario root. Por qu mi usuario no puede utilizar su propio crontab? Cmo consigo que el bloqueo de nmeros (bloq Num) est activado al cargarse el sistema? Cmo consigo dejar mi terminal limpio al salir?

Mantenimiento

Problemas de corrupcin de datos con ReiserFS -- cmo solucionarlos, etc

Desarrollo

Dnde puedo reportar fallos?

Con qu frecuencia se realizan nuevos lanzamientos? Mi altavoz pita como loco. Cmo desactivo los pitidos de la consola?

Recursos

Dnde puedo encontrar ms informacin sobre Gentoo Linux? Puedo comprar un CD de Gentoo Linux? Este FAQ no ha respondido mi pregunta. Qu hago ahora?

2. Al comienzo Cmo se pronuncia Gentoo, y qu significa? Gentoo es una especie de pingino, cuyo nombre es pronunciado "yen-t". El nombre cientfico del pingino Gentoo es Pygoscelis papua. El nombre Gentoo fue dado a los pinginos por los habitantes de las Islas Malvinas. Qu hace diferente a Gentoo? Gentoo utiliza un sistema de paquetes parecido al sistema ports de BSD llamado Portage. Portage es un sistema de gestin de paquetes que permite gran flexibilidad al instalar y mantener software en un sistema Gentoo. Proporciona soporte para opciones al compilar (a travs de Parmetros USE), dependencias condicionadas, resumen previo a la instalacin de paquetes, instalacin segura (a travs de sandboxing) y desinstalacin de software, perfiles de sistema, proteccin de los archivos de configuracin entre otras muchas caractersticas . Con Gentoo puede crear su sistema completo desde el cdigo fuente utilizando sus opciones de optimizacin. Tiene el control completo sobre qu paquetes sern o no instalados. Gentoo proporciona numerosas opciones, de manera tal que pueda instalar Gentoo a su preferencia, razn por la cual se conoce a Gentoo como una metadistribucin. Gentoo est siendo desarrollada actvamente. La distribucin entera utiliza un estilo de desarrollo a pasos veloces: los parches a los paquetes son integrados rpidamente al rbol principal, la documentacin es actualizada a diario, con frecuencia se aaden caractersticas a Portage y los lanzamientos de versiones oficiales ocurren dos veces al ao. 3. Instalacin Las cosas son realmente inestables y estoy usando las optimizaciones "-O9 -ffast-math -fomit-frame-pointer". Qu sucede? No trate de utilizar optimizaciones ms altas que -O3 pues no estn soportadas por las versiones actuales de gcc. Las optimizaciones muy agresivas en ocasiones causan que el compilador modifique el cdigo ensamblador al punto en que ya no sigue haciendo lo mismo.

Por favor, intente compilar utilizando CFLAGS -O2 -march=<su_arch> antes de reportar un error. Cmo cambio la contrasea de root (o de cualquier otro usuario)? Utilice passwd para cambiar la contrasea del usuario que inici la sesin. Como root, puede cambiar cualquier contrasea de usuario con la orden passwd usuario Para ms opciones y configuracin, por favor consulte man passwd. Cmo puedo aadir un usuario normal? La orden useradd usuario aadir un usuario llamado "usuario". Sin embargo, este mtodo no otorga al usuario muchos de los permisos que tal vez quiera concederle, por lo que es preferible usar: Listado de Cdigo 3.1: Utilizando useradd
# useradd -m -G users,audio,wheel usuario

Esta orden crear el usuario llamado "usuario". La opcin audio lo aade al grupo audio permitindolo acceso a dispositivos de sonido. La opcin wheel aade al usuario al grupo wheel, que lo permite ejecutar la orden su con el que puede obtener privilegios del usuario root. Por qu no puede el usuario convertirse en root con "su"? Por razones de seguridad, los usuarios solo pueden realizar su hacia root si pertenecen al grupo wheel. Para agregar un usuario al grupo wheel, ejecute la siguiente orden como root: Listado de Cdigo 3.2: Aadiendo un usuario al grupo wheel
# gpasswd -a username wheel

Puedo actualizar Gentoo de una versin a otra sin reinstalar? En realidad, no existen diferencias entre diferentes lanzamientos una vez que hayan sido instalados. La versin Gentoo 1.4 y siguientes estn basadas en glibc-2.3.x (o superior)y como tal, el ejecutar emerge --sync && emerge -uDN world actualizar el sistema completo al nivel del "ltimo lanzamiento". Las diferencias entre lanzamientos individuales estn en el medio de instalacin y en los paquetes pre-compilados. Vea Gua de Actualizacin Gentoo para ms informacin acerca de perfiles y su papel en las actualizaciones. Observe tambin que la orden emerge -uDN world actualiza los paquetes que tiene instalados en su sistema as como sus dependencias, sin embargo, no actualiza las dependencias en tiempo de construccin (aqullos paquetes que son necesarios durante la construcciones pero ya no lo son cuando el software ya est instalado). Para actualizar tambin estos paquetes, aada la opcin --with-bdeps=y. Mi ncleo no arranca, qu hago ahora?

No hace falta rehacer cada paso de la instalacin, pero el investigar al ncleo y todos los pasos asociados s es necesario. Supongamos que ha instalado Gentoo en /dev/sda1 (/boot) y /dev/sda3 (/) con /dev/sda2 como intercambio: Listado de Cdigo 3.3: Reconfigurando el ncleo
Arranque por medio del CD de Instalacin y espere a que aparezca el smbolo de espera de rdenes Primero montaremos todas las particiones: # mount /dev/sda3 /mnt/gentoo # mount /dev/sda1 /mnt/gentoo/boot # swapon /dev/sda2 # mount -t proc none /mnt/gentoo/proc Luego ingresamos al entorno enjaulado (chroot) Gentoo y configuramos el ncleo: # chroot /mnt/gentoo /bin/bash # env-update && source /etc/profile # cd /usr/src/linux # make menuconfig Ahora (de)seleccionamos lo (de)seleccionado errneamente en el intento previo. Salgamos y compilemos el ncleo: # make && make modules_install Copie el archivo bzImage, sobre-escribiendo el anterior: # cp arch/i386/boot/bzImage /boot/<kernel_name> Si usa LILO, ejecute lilo -- no es necesario para usuarios de GRUB: # /sbin/lilo Salga del entorno enjaulado y reinicie la mquina. # exit # umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo # reboot

Si el problema est en la configuracin del gestor de arranque, siga los mismos pasos, pero en vez de configurar/compilar el ncleo, reconfigure el gestor de arranque (la recompilacin no es necesaria). Mi proxy necesita autenticacin qu debo hacer? Para hacer que Portage use este esquema automticamente, defina en /etc/make.conf: Listado de Cdigo 3.4: /etc/make.conf
HTTP_PROXY="http://username:password@yourproxybox.org:portnumber" FTP_PROXY="ftp://username:password@yourproxybox.org:portnumber" RSYNC_PROXY="rsync://username:password@yourproxybox.server:portnumber"

Cmo grabo un archivo ISO? Necesita grabar el archivo en el modo raw. Esto significa que no debe limitarse simplemente a grabar el archivo en el CD, debe interpretar el archivo como un CD completo. Existen muchas herramientas de grabacin de CDs; explicarlas todas sera un dilema sisifeano. En cambio, describir unas cuantas populares nunca hace dao:

Con EasyCD Creator seleccione Archivo, Grabar CD desde una imagen. A continuacin cambie Archivos de tipo a Archivos de imagen ISO. Lo siguiente es localizar el archivo ISO y hacer clic en Abrir. Al hacer clic

en Comenzar grabacin la imagen ISO ser correctamente grabada en el CD-R. Con Nero Burning ROM, cancele el asistente que se activa automticamente y seleccione Grabar imagen del men Grabador. Seleccione la imagen que quiera grabar y haga clic sobre Abrir. Ahora pulse sobre el botn Grabar y observe como su nuevo CD est siendo grabado. Con cdrecord, simplemente teclee cdrecord dev=/dev/sdc (sustituya /dev/sdc con su ruta de acceso a la unidad CD-RW) seguido de la ruta al archivo ISO :) Con K3B, selecciona Herramientas > CD > Grabar Imagen de CD. A continuacin, puede localizar su archivo ISO dentro de el rea 'Imagen para grabar'. Finalmente haga clic en Comenzar. Con Mac OS X Panther, ejecute Utilidad de Disco desde Aplicaciones/Utilidades, seleccione Abrir del men Imgenes, seleccione la imagen montada del disco en la ventana principal y seleccione Grabar en el men de Imgenes. Con Mac OS X Jaguar, ejecute Utilidad de Disco desde Aplicaciones/Utilidades, seleccione Grabar Imagen desde el men Archivo, seleccione el archivo ISO y haga clic en el botn Grabar.

Qu CD/stage debera utilizar para mi CPU? Primero necesita saber cul CPU est utilizando. Supongamos que es un Pentium-M. Entonces necesita averiguar qu CPU es, en trminos de instrucciones. Tal vez necesite consultar la pgina web del fabricante para esto, aunque Google es al menos igual de eficiente :-). Si no est seguro, utilice un CD/stage "ms bajo", por ejemplo i686 o incluso x86 genrico (o equivalente en otra arquitectura). Esto asegurar de que el sistema funcionar, aunque puede que no sea tan rpido que con mayores optimizaciones. Por favor, tenga en cuenta que existen muchas ms opciones que aquellas que se utilizaron para compilar los stages binarios. Consulte la gua de gcc para establecer la opcin -march. No puedo conectarme despus de reiniciar. Qu ocurre? Primero necesita comprobar si su tarjeta de red es descubierta correctamente por el ncleo. Ejecute ifconfig -a y busque eth0 o wlan0 (en el caso de ciertas tarjetas de red inalmbrica). Puede que necesite cargar mdulos especficos del ncleo para detectar adecuadamente la tarjeta de red. Si es as, asegrese que dichos mdulos estn listados en /etc/conf.d/modules. Si ha olvidado incluir soporte para su tarjeta de red en el ncleo, necesitar reconfigurarlo. Si el ncleo encuentra la tarjeta de red pero ha configurado la red para usar DHCP, tal vez haya olvidado hacer emerge dhcpcd. Necesitar reiniciar con el CD de instalacin para instalar dhcpcd.

La informacin de cmo recuperar el sistema empleando el CD de instalacin tambin est disponible. Quiero iniciar Windows desde grub o lilo pero solo me aparece la pantalla en negro qu debo hacer? ste es un problema conocido. Windows rechaza iniciar cuando no est instalado en el primer disco duro mostrando una pantalla en negro/blanco. Para controlar esto, tendr que "engaar" a Windows hacindole creer que s est instalado en el primer disco duro mediante un pequeo arreglo en la configuracin de su cargador de arranque. Por favor, observe que en el ejemplo de abajo Gentoo est instalado en sda (primer disco) y Windows en sdb (segundo disco). Ajuste su configuracin como sea necesario. Listado de Cdigo 3.5: Ejemplo de inicio dual para Windows en grub.conf
title Windows XP map (hd1) (hd0) map (hd0) (hd1) rootnoverify (hd1,0) chainloader +1 other=/dev/sdb1 label=WindowsXP table=/dev/sdb map-drive = 0x80 to = 0x81 map-drive = 0x81 to = 0x80

Listado de Cdigo 3.6: Ejemplo de inicio dual para Windows en lilo.conf

Esto le har creer a Windows que est instalado en el primer disco duro e iniciar sin problemas. Podemos obtener ms informacin en la documentacin de GRUB (en ingls) y en man lilo.conf, dependiendo del gestor de arranque que est utilizando. Cmo instalo Gentoo utilizando un Stage1 o Stage2? El manual Gentoo solamente describe la instalacin de Gentoo utilizando un archivo stage3. Sin embargo, Gentoo todava proporciona archivos stage1 y stage2. Esto se hace para propsitos de desarrollo (el equipo a cargo de lanzamientos de Gentoo comienza con un stage1 para obtener un stage3) pero no debera ser empleado por los usuarios: un archivo stage3 puede servir perfectamente para construir la base del sistema. Necesitaremos una conexin activa a Internet. Construir la base del sistema (bootstrapping) significa construir el conjunto de herramientas (las bibliotecas de C y el compilador) para el sistema despus de lo cual se instalan todos los paquetes bsicos del sistema. Para construir una instalacin base del sistema, instale desde un stage3. Antes de comenzar el captulo sobre Configurando el Ncleo, modifique el guin bootstrap.sh para adecuarlo a sus necesidades y despus, ejectelo: Listado de Cdigo 3.7: Construyendo la base del sistema
# cd /usr/portage/scripts # vi bootstrap.sh # ./bootstrap.sh

Luego recompile todos los paquetes bsicos del sistema con el recientemente compilado conjunto de herramientas. Hace falta compilarlos, ya que el stage3 ya los ofrece: Listado de Cdigo 3.8: Recompilando los paquetes base del sistema
# emerge -e system

Ahora puede continuar con Configurando el ncleo. Aunque tenga en cuenta que no podr utilizar los paquetes GRP. 4. Administracin de Paquetes De qu manera se almacenan los paquetes? De por s, los paquetes no son realmente "almacenados". En su lugar, Gentoo proporciona un conjunto de guiones que pueden resolver dependencias, obtener cdigo fuente y compilar una versin del paquete de acuerdo a necesidades especficas. Generalmente solo creamos binarios para nuevos lanzamientos e imgenes. El Gentoo Ebuild HOWTO cubre en detalle los contenidos de un guin ebuild. Para versiones ISO completas, creamos un conjunto completo de paquetes binarios en formato .tbz2 mejorado, el cual es compatible con .tar.bz2 y con meta-informacin adjuntada al final del fichero. Estos se pueden emplear para instalar una versin funcional del paquete (aunque no plenamente optimizada) rpida y eficientemente. Es posible crear RPMs (ficheros del gestor de paquetes de Redhat) utilizando el sistema portage de Gentoo, aunque actualmente no es posible utilizar todos los RPMs existentes para instalar paquetes. Quiero hacer el paso ./configure yo mismo. Puedo? S, pero no es trivial ni recomendable. Como el mtodo para hacerlo requiere de buen entendimiento del funcionamiento interno de Portage y sus rdenes, en su lugar se recomienda que parchee el ebuild para hacer lo que desee y lo coloque en el directorio extensin de Portage (para esto existen los directorios de extensin). Esto es mucho mejor para el mantenimiento y generalmente ms fcil. Vea el Ebuild HOWTO para mayor informacin. Cmo uso emerge estando detrs de un cortafuegos (firewall)? Vea las preguntas acerca de proxies, rsync y descarga manual de ficheros fuente. Qu hago si rsync no me funciona? Si est detrs de un cortafuego que no permite trfico de rsync, entonces puede usar emerge-webrsync que buscar e instalar una imagen de Portage por HTTP. Vea la seccin proxy de este documento para obtener informacin sobre la descarga de ficheros fuente e imgenes de Portage a travs de un proxy. Dispongo tan solo de una lenta conexin por mdem en casa. Puedo descargar las fuentes desde algn otro sitio y agregarlas a mi sistema?

Por supuesto. Puede ejecutar emerge --pretend paquete para ver qu programas van a ser instalados. Para buscar las fuentes de esos paquetes y donde descargarlas, puede ejecutar emerge -fp package. Descargue las fuentes y trigalas a casa en cualquier medio. Coloque las fuentes en /usr/portage/distfiles/ y luego solo ejecute emerge paquete. Sin embargo, est alerta, ste es un proceso pesado. Los paquetes de fuentes se estn acumulando en /usr/portage/distfiles/. Es seguro eliminar estos archivos? Eliminar estos ficheros no tendr un efecto negativo en el rendimiento del da a da. Sin embargo, podra ser prudente mantener las versiones ms recientes; a menudo, varios ebuilds se publicarn para la misma versin de un componente especfico de software. De borrar el fichero y actualizar el software, ser necesario descargarlo de nuevo de Internet. Puede utilizar el guin eclean de app-portage/gentoolkit para controlar el contenido de /usr/portage/distfiles/ y algunos otros sitios. Por favor, lea man eclean para aprender ms acerca de su uso, as como la Gua de Gentoolkit. Qu hay en /var/tmp/portage? Es seguro borrar los archivos y directorios de /var/tmp/portage? Durante la compilacin, Gentoo guarda las fuentes del paquete en /var/tmp/portage. Normalmente estos ficheros y directorio son eliminados despus de una instalacin exitosa, aunque a veces esto falla. Es seguro borrar todo el contenido de este directorio si emerge no est en ejecucin. Solo para estar seguro, ejecute siempre pgrep emerge antes de limpiar este directorio. 5. Uso Cmo configuro una distribucin de teclado internacional? Edite la variable KEYMAP en /etc/rc.conf. Para tener la consola funcionando correctamente con los caracteres extendidos de su mapa de teclas, puede que tambin necesite configurar las variables CONSOLETRANSLATION y CONSOLEFONT en su /etc/conf.d/consolefont (para ms informacin sobre la localizacin del entorno, consulte nuestra gua de localizacin). Luego puede reiniciar el sistema, o reiniciar el guin de mapas de teclas y el de consolefont: Listado de Cdigo 5.1: Iniciar el guin de mapas de teclas
# /etc/init.d/keymaps restart # /etc/init.d/consolefont restart

La resolucin de nombres DNS funciona solo para el usuario root. Los permisos de /etc/resolv.conf son incorrectos; haga un chmod as: Listado de Cdigo 5.2: Cambiando permisos a /etc/resolv.conf
# chmod 0644 /etc/resolv.conf

Por qu mi usuario no puede utilizar su propio crontab?

Necesita aadir al usuario al grupo cron. Cmo consigo que el bloqueo de nmeros (bloq Num) est activado al cargarse el sistema? Si trabaja en la lnea de comandos, solo ejecute rc-update add numlock default&&/etc/init.d/numlock start. Cada GUI proporciona herramientas diferentes para este tipo de cosa; por favor, revise la seccin de ayuda o manuales en lnea para obtener asistencia. Cmo consigo dejar mi terminal limpio al salir? Para dejar su terminal limpio, aada clear a su guin ~/.bash_logout: Listado de Cdigo 5.3: Limpiando el terminal al salir
$ echo clear >> ~/.bash_logout

Si quiere que esto suceda automticamente cuando aada un nuevo usuario, haga lo mismo en /etc/skel/.bash_logout: Listado de Cdigo 5.4: Creando nuevos usuarios con el terminal limpio al salir
# echo clear >> /etc/skel/.bash_logout

6. Mantenimiento Problemas de corrupcin de datos con ReiserFS -- cmo solucionarlos, etc Si su particin ReiserFS est corrompida, intente arrancar el sistema desde el CD de instalacin de Gentoo Linux y ejecute reiserfsck --rebuild-tree sobre el sistema de archivos corrupto. Esto debera hacer el sistema de archivos sea consistente otra vez, aunque puede haber perdido algunos archivos o directorios debido a la corrupcin. 7. Desarrollo Dnde puedo reportar fallos? Utilice nuestro Bugzilla. Si no est seguro de que su problema sea en realidad un bug, visite el canal #gentoo en el IRC. Con qu frecuencia se realizan nuevos lanzamientos? Los paquetes de Gentoo normalmente se actualizan poco despus que sus autores principales publiquen cdigo nuevo. En cuanto a los nuevos lanzamientos de stages/perfiles/ISOs por parte de Gentoo, tenga bien revisar nuestra pgina del proyecto Release Engineering. Las nuevas versiones se anuncian en la lista de correo gentooannounce. Vea la pregunta sobre actualizacin para mayor informacin. Mi altavoz pita como loco. Cmo desactivo los pitidos de la consola?

Los pitidos de consola pueden ser desactivados con setterm, as: Listado de Cdigo 7.1: Utilizando setterm
# setterm -blength 0

Si quiere desactivar los pitidos de la consola al arrancar debe colocar esta orden en /etc/conf.d/local.start. Sin embargo, esto solo desactiva los pitidos para la terminal actual. Para desactivar los pitidos de los dems terminales, redireccione la salida de la orden al terminal de destino, de esta forma: Listado de Cdigo 7.2: Utilizando setterm (bis)
# setterm -blength 0 >/dev/vc/1

Reemplace /dev/vc/1 con la terminal cuyos pitidos desea desactivar. 8. Recursos Dnde puedo encontrar ms informacin sobre Gentoo Linux? La documentacin oficial de Gentoo puede encontrarse en http://www.gentoo.org/doc/es/. Puedo comprar un CD de Gentoo Linux? Los CDs de Instalacin para todas las arquitecturas soportadas estn disponibles en nuestra Tienda Gentoo. Al comprar un CD de nuestra tienda, tambin est apoyando nuestro desarrollo. As que, por favor considere la posibilidad de comprar en nuestra tienda, si es posible. Tambin puede encontrar CDs recientes desde diversos vendedores listados en nuestra pgina Dnde Obtener Gentoo Linux. Este FAQ no ha respondido mi pregunta. Qu hago ahora? Un buen primer paso sera explorar la documentacin relevante, si esto falla, varias listas de correo de Gentoo estn listadas en Google. Para buscar en las listas de correo de Gentoo ingrese "lists.gentoo.org foo" para buscar por "foo". Si todo esto falla o solo quiere compartir un rato con otros usuarios de Gentoo vistenos en el irc, canal #gentoo 1. Acerca de este documento Si el mtodo estndar de arranque para la instalacin por CD no es posible desde su ordenador (o simplemente no es el que le gusta) ahora tiene ayuda al respecto. Este documento servir para proveerle de un repositorio de tcnicas y mtodos alternativos para la instalacin de Gentoo Linux. O si lo prefiere, servir como medio para publicar su ms novedoso mtodo de instalacin. Si posee alguna tcnica de instalacin, la cual considera til para s mismo, o conoce de alguna otra manera adecuada para instalar Gentoo Linux, por favor, no dude en documentarla y enviarla a Bugzilla. 2. Iniciando el CD de Instalacin con Smart BootManager

Descargue Smart BootManager desde http://btmgr.sourceforge.net/download.html. Las versiones en cdigo fuente para linux o formato binario y los .exe de windows estn disponibles, as como muchos packs de idiomas. Sin embargo, por ahora, el mtodo ms adecuado sera utilizar el formato binario, ya que el cdigo no compila con las nuevas versiones de NASM. Compile el programa desde el cdigo o simplemente grabe el archivo binario. Hay varias opciones que pueden utilizarse durante la creacin de su disco de arranque, como puede observar a continuacin. Listado de Cdigo 2.1: Opciones de Smart BootManager
-t theme be: sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file] select the theme to be used, in which the theme could us hu ru es pt = = = = = English theme Hungarian theme Russian theme Spanish theme Portuguese theme de zh cz fr = = = = German theme Chinese theme Czech theme French theme

-d drv set the drive that you want to install Smart BootManager on; for Linux: /dev/fd0 is the first floppy driver, /dev/hda is the first IDE harddisk driver. /dev/sda is the first SCSI harddisk driver. for DOS: 0 is the first floppy drive 128 is the first hard drive; -c disable CD-ROM booting feature;

-b backup_file backup the data that will be overwritten for future uninstallation; -u backup_file uninstall Smart BootManager, should be used alone; -y # sbminst -t us do not ask any question or warning. -d /dev/fd0

Listado de Cdigo 2.2: Utilizando sbminst para crear el disco de arranque Nota: Reemplace fd0 por el nombre de su dispositivo de disquetes si fuera distinto. Ahora simplemente site el disquete en la disquetera del ordenador si quiere cargar el CD de Instalacin, as como el CD de Instalacin dentro del CD-ROM e inicie el ordenador. Ser recibido por el men del Smart BootManager. Seleccione su CD-ROM y presione ENTER para cargar el CD. Una vez cargado, contine con las instrucciones normales de instalacin. Puede encontrar ms informacin sobre Smart BootManager en http://btmgr.sourceforge.net/. 3. Instalacin con LiveCDs que no son de Gentoo

Introduccin Importante: Los desarrolladores Gentoo no pueden dar soporte si algo ocurre al usar un LiveCD que no sea de Gentoo ya que no hay como arreglarlo, encontrar los problemas o documentar cada caracterstica en cada LiveCD existente. Oficialmente solo se brinda soporte para LiveCDs Gentoo. Si encuentra algn problema con medios de instalacin alternativos, por favor visite los Foros Gentoo para asistencia de parte de la comunidad. Es posible iniciar algn otro LiveCD aparte de los que provee Gentoo. Esto le permitir un entorno funcional mientras compila e instala Gentoo. Las instrucciones que proporcionamos aqu deben funcionar en principio con cualquier otro LiveCD. Existen demasiados LiveCDs para listar, pero puede intentarlo con Knoppix. Proporciona un entorno grfico completo, con aplicaciones para la oficina, navegadores para la red y juegos para mantenerlo ocupado. Knoppix est disponible solo para usuarios de la plataforma x86, as que dependiendo de sus necesidades, pueda que necesite hacer uso de un LiveCD diferente. Aviso: Sepa que si guarda cualquier cosa en el directorio de usuario del LiveCD mientras espera a que se instale su sistema Gentoo, lo perder todo cuando reinicie a Gentoo. Asegrese de guardar los ficheros importantes en el disco duro o en otro ordenador! Instrucciones de instalacin Inicie desde el LiveCD. Abra una consola y ejecute su - para poder cambiar la contrasea. Esto permitir cambiar la contrasea del usuario root para el CD. Ahora puede configurar sshd para hacer login de manera remota, si esto hiciera falta. A continuacin debe crear el punto de montaje /mnt/gentoo. Listado de Cdigo 3.1: Creando el punto de montaje /mnt/gentoo
# mkdir /mnt/gentoo

Llegados a este punto, puede seguir con la instalacin normal en la parte 4. Sin embargo, cuando tenga que montar el sistema proc, sustituya la orden por: Listado de Cdigo 3.2: Montando el pseudo sistema de archivos /proc con bind
# mount -o bind /proc /mnt/gentoo/proc

Cuando est listo para desempacar el comprimido stage en la parte 5, deber usar una orden tar diferente para asegurar que los IDs de grupo sean creados correctamente en el stage desempacado: Listado de Cdigo 3.3: Desempacando el comprimido stage
# tar --numeric-owner -xvjpf stage3-*.tar.bz2

Una vez que haya hecho chroot al entorno desempacado en la parte 6, necesitar usar una secuencia diferente de rdenes. Esto asegurar que las variables de entorno se establezcan de manera correcta. Listado de Cdigo 3.4: Haciendo chroot al nuevo entorno
(Algunos LiveCDs usan una configuracin extraa del entorno,

por eso la opcin -i option para ponerlo en un estado razonable.) # chroot /mnt/gentoo /bin/bash # chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash # env-update # source /etc/profile # export PS1="(chroot) $PS1"

Finalmente, sepa que algunas FEATURES de Portage no funcionarn en el LiveCD. Tenga especialmente cuidado con userpriv y usersandbox. Si se encuentra con errores, puede ayudar desactivar algunas, o todas, de los FEATURES opcionales. 4. Instalacin sin disco, usando el arranque PXE. Requerimientos Necesitar una tarjeta de red en la mquina cliente que use el protocolo PXE para arrancar, como muchas tarjetas 3Com. Necesitar tambin un BIOS que arranque desde PXE. Configuracin bsica del servidor Crear directorios: lo primero que hay que hacer es crear los directorios donde su sistema sin disco ser almacenado. Cree un directorio llamado /diskless el cual acoger un directorio para cada cliente sin disco. De aqu en adelante trabajaremos con un cliente llamado 'eta'. Listado de Cdigo 4.1: Configuracin de directorios
# mkdir /diskless # mkdir /diskless/eta # mkdir /diskless/eta/boot

Configurar DHCP y TFTP: el cliente dar informacin de arranque utilizando DHCP y descargando todos los archivos requeridos usando TFTP. Para dhcpd, ejecute emerge dhcp (o cualquier otro servidor DHCP de su eleccin). Asegrese de que el interfaz correcto est seleccionado en /etc/conf.d/dhcpd y configrelo conforme a sus necesidades. Despus aada en /etc/dhcp/dhcpd.conf lo siguiente: Nota: Esto proporciona una direccin IP esttica para el cliente y la ruta imagen de arranque PXE, aqu pxegrub. Tendr que reemplazar la direccin MAC de la tarjeta ethernet del cliente y el directorio donde pondr los archivos del cliente por los que vaya a usar. Listado de Cdigo 4.2: dhcpd.conf
option option-150 code 150 = text ; ddns-update-style none ; host eta { hardware ethernet 00:00:00:00:00:00; fixed-address ip.add.re.ss; option option-150 "/eta/boot/grub.lst"; filename "/eta/boot/pxegrub"; }

Luego configuremos el interfaz en /etc/conf.d/net de manera que no pierda la configuracin al arrancar. Vea el archivo /usr/share/doc/openrc-*/net.example.bz2 para ms informacin. Listado de Cdigo 4.3: /etc/conf.d/net
(Reemplace eth0 con el interfaz adecuado) config_eth0=( "noop" )

Para TFTP, realice un emerge app-admin/tftp-hpa. En el archivo /etc/conf.d/in.tftpd, ponga lo siguiente: Listado de Cdigo 4.4: in.tftpd
INTFTPD_PATH="/diskless" INTFTPD_USER="nobody" INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"

Configurar GRUB: para habilitar arranques PXE utilizo GRUB. con el parmetro USE netboot activado. Una vez que GRUB est compilado, copio la imagen PXE al directorio de arranque del cliente sin disco. A continuacin edito el fichero de configuracin grub.lst. Listado de Cdigo 4.5: Configuracin de Grub
# # # # echo "sys-boot/grub netboot" >> /etc/portage/package.use emerge -av grub cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub nano -w /diskless/eta/boot/grub.lst>

Listado de Cdigo 4.6: grub.lst


default 0 timeout 30 title=Diskless Gentoo root (nd) kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta # Para la opcin nfsroot, la direccin IP es la del servidor y el directorio es en el cual los archivos del cliente sin disco estn ubicados (en el servidor).

Configurar NFS: NFS es bastante fcil de configurar. Lo nico que debe hacer es aadir una lnea en el archivo de configuracin /etc/exports: Listado de Cdigo 4.7: /etc/exports
# nano -w /etc/exports # /etc/exports: NFS file systems being exported. See exports(5). /diskless/eta eta(rw,sync,no_root_squash)

Actualice su archivo hosts: una cosa importante que hacer ahora, es modificar su archivo /etc/hosts para ajustarlo a sus necesidades. Listado de Cdigo 4.8: /etc/hosts
127.0.0.1 localhost 192.168.1.10 eta.example.com eta

192.168.1.20 sigma.example.com sigma

Creando el sistema en el servidor Quiz quiera reiniciar el servidor con un CD de Instalacin Gentoo, aunque tambin puede continuar perfectamente (sin reiniciar) si conoce como proceder con las instrucciones de instalacin de Gentoo desde una instalacin existente. Siga el procedimiento de instalacin estndar como se explica en el Manual de Gentoo PERO con las siguientes diferencias. Cuando monte el sistema de archivos, haga lo siguiente (donde sdaX es la particin en la cual cre el directorio /diskless). No necesita montar ninguna otra particin, ya que todos los archivos residirn en el directorio /diskless/eta. Listado de Cdigo 4.9: Montando el sistema de ficheros
# mount /dev/sdaX /mnt/gentoo

Tarballs stage y chroot: Este ejemplo utiliza el tarball de stage3. Monte /proc en su directorio /diskless y haga chroot para continuar con la instalacin. Despus siga el manual de instalacin hasta la configuracin del ncleo. Aviso: Sea cuidadoso cuando extraiga su tarball stage. No quiere terminar extrayndolo sobre su instalacin existente. Listado de Cdigo 4.10: Extrayendo el tarball stage
# # # # # # # cd /mnt/gentoo/diskless/eta/ tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2 mount -t proc /proc /mnt/gentoo/diskless/eta/proc cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf chroot /mnt/gentoo/diskless/eta/ /bin/bash env-update source /etc/profile

Configuracin del Ncleo: cuando haga el make menuconfig en su configuracin de ncleo, no olvide habilitar las siguientes opciones junto a las otras recomendadas en el manual de instalacin. Listado de Cdigo 4.11: Opciones de menuconfig
- Your network card device support (En el ncleo, no como un mdulo!) - Bajo "Networking options" : [*] [*] [*] [*] TCP/IP networking IP: kernel level autoconfiguration IP: DHCP support IP: BOOTP support

- Bajo "File systems --> Network File Systems" : <*> NFS file system support [*] Provide NFSv3 client support [*] Root file system on NFS

Guarde el ncleo en su / de chroot (no en /boot) de acuerdo con las configuraciones de pxegrub definidas anteriormente. A continuacin, configure el archivo /etc/fstab de su cliente sin disco.

Listado de Cdigo 4.12: /etc/fstab

# nano -w /etc/fstab /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0

Tambin necesita prevenir al cliente de ejecutar un chequeo sobre el sistema de archivos: Listado de Cdigo 4.13: Previniendo al cliente de la ejecucin de un chequeo sobre el sistema de ficheros
# touch /fastboot # echo "touch /fastboot" >> /etc/conf.d/local.start

Instale nfs-utils ya que su cliente depender en gran parte de ellas. Listado de Cdigo 4.14: Installing nfs-utils
# emerge nfs-utils

Gestor de arranque. No instale otro gestor de arranque, porque ya tenemos uno - pxegrub. Simplemente acabe la instalacin y reinicie el servidor. Inicie los servicios que necesitar para arrancar el nuevo cliente: DHCP, TFTPD, y NFS. Listado de Cdigo 4.15: Iniciando los servicios
# /etc/init.d/dhcp start # /etc/init.d/tftpd start # /etc/init.d/nfs start

Iniciando el nuevo cliente Para que el nuevo cliente arranque adecuadamente, necesitar configurar la BIOS y la tarjeta de red para que use PXE como primer mtodo de arranque - antes CD-ROM o floppy. Para ayudarle con esto, consulte los manuales de su hardware o la pgina web de los proveedores. La tarjeta de red debera conseguir una direccin IP usando DHCP y descargar la imagen PXE del grub usando TFTP. Entonces, debera ver un bonito men de arranque del grub blanco y negro en el que seleccionar el ncleo de arranque y presione intro. Si todo est bien, el ncleo debera arrancar, montando el sistema de archivos del root usando NFS y poniendo a su disposicin el smbolo de sistema para hacer el login. Disfrute. 5. Instalando Gentoo desde una distribucin Linux existente Requerimientos Para instalar Gentoo desde su distribucin Linux, necesita tener la orden chroot en su sistema, y tener una copia del tarball (o ISO) de instalacin de Gentoo que quiera instalar. Una conexin a la red sera lo aconsejado, si desea ms de lo que viene suministrado en su tarball (de todas formas, un tarball es solo un archivo terminado en .tbz o .tar.gz). El autor us RedHat Linux 7.3 como sistema operativo anfitrin, pero no importa mucho. Empecemos! Perspectiva general

Primero asignaremos una particin a Gentoo reajustando el tamao de nuestra particin Linux ya existente, montar la particin, descomprimir el tarball en la particin montada, hacer chroot dentro del pseudo-sistema y empezar a compilar. Una vez que la rutina de arranque se ha llevado a cabo, haremos una configuracin final en el sistema para asegurarnos de que arranca, entonces estaremos preparados para reiniciar y usar Gentoo. Cmo deberamos hacer espacio a Gentoo? La particin de root es el sistema de fichero montado bajo /. Una rpida ejecucin de mount en mi sistema muestra de qu estoy hablando. Usamos tambin df (disco libre) para ver cunto espacio nos queda y como reajustar su tamao. Tenga en cuenta que no es obligatorio redistribuir la particin de su root! Podra redistribuir cualquier cosa soportada por nuestro redistribuidor, pero hablemos de eso ms tarde. Listado de Cdigo 5.1: Informacin del sistema de ficheros
# mount /dev/sdb2 on / type ext3 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) none on /dev/shm type tmpfs (rw) # df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb2 4.0G 1.9G 2.4G 82% / none 38M 0 38M 0% /dev/shm

Como se puede ver, la particin montada como / llamada /dev/sdb2 tiene 2.4 gigabytes libres. En mi caso, creo que lo redistribuir para dejar 400 Mb de espacio libre, asignando 2 Gb para Gentoo. No est mal, tendra bastante material instalado. De todas formas, creo que 1 gigabyte suele ser suficiente para la mayora de los usuarios. As que, vamos a particionarlo! Instalando parted para redistribuir particiones. Parted es una aplicacin suministrada por la fundacin GNU, un antiguo y respetable gran proyecto cuyo software est usando en este mismo momento. De todas formas, hay una herramienta que ahora nos es extremadamente til. Se llama parted, editor de particiones y podemos conseguirlo en http://www.gnu.org/software/parted/. Nota: Hay otras herramientas para redistribuir particiones, pero el autor no est seguro/interesado en que ni PartitionMagic(tm) ni ningn otro software de ese tipo lo haga. Es trabajo del lector probarlos. Busque en esta pgina el tipo de sistema de archivos cuyo tamao desea reajustar y vea si parted puede hacerlo. Si no, no ha tenido suerte, tendr que borrar alguna particin para hacerle espacio a Gentoo, y volver a instalar. Adelante, descargue el software e instlelo. Aqu encontramos un problema. Queremos reajustar el tamao de nuestra particin root de Linux, por tanto, debemos iniciar desde un disquete un sistema linux mnimo y usar un parted previamente compilado y copiado a un disquete para redimensionar /. De todas formas, si puede desmontar la particin estando an en Linux, es afortunado, no necesitar hacer lo siguiente. Solo compile parted y ejectelo en una particin desmontada que elija para reajustar su tamao. As es como yo lo hice en mi sistema.

Importante: Asegrese de que las operaciones que desea hacer en su particin son soportadas por parted! Obtenga el disco de inicio mininux (una mini distribucin de Linux basada en un ncleo 2.4 y que cabe en un solo disquete, adems de ser gratuito) de http://mininux.free.fr/uk/, cree un disquete como viene indicado en la documentacin que acompaa el paquete de software e inserte un nuevo disquete en la disquetera para el siguiente paso. Nota: Observe de nuevo que Linux es sinnimo de "Hay ms de una forma de hacerlo". Su objetivo es ejecutar parted en una particin desmontada para que pueda funcionar. Podra utilizar algn software de discos de inicio diferente de mininux. No debera necesitar hacer este paso, es solo desmontar el sistema de archivos que desea reparticionar en su sesin de Linux y ejecutar parted en ella. Listado de Cdigo 5.2: Creacin del disco de utilidad
# mkfs.minix /dev/fd0 480 inodes 1440 blocks Firstdatazone=19 (19) Zonesize=1024 Maxsize=268966912

Ahora procederemos con la configuracin e instalacin de parted. Si no est todava descargado y descomprimido, hgalo ahora y cambie de directorio al correspondiente (a parted). Ahora ejecute la siguiente secuencia de rdenes para construir la aplicacin y cpielo en su disquete. Listado de Cdigo 5.3: Generando el disco de utilidad
# mkdir /floppy; mount -t minix /dev/fd0 /floppy && export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure && make && cp parted/parted /floppy && umount /floppy

Enhorabuena, est preparado para reiniciar y redistribuir su particin. Hgalo solo despus de echarle un vistazo a la documentacin de parted en el website de GNU. El reajuste de tamao suele tardar unos 30 minutos para los discos duros ms largos, sea paciente. Reinicie su sistema con el disco de minuiux (solo djelo dentro), y una vez que se haya iniciado la sesin, sustituya el disco de la unidad por el disco de utilidades que hemos creado arriba y teclee mount /dev/fd0 /floppy para montar parted bajo /floppy. Ejecute parted y podr redimensionar su particin. Una vez acabado este largo proceso, estaremos listos para lo realmente divertido, instalar Gentoo. Vuelva a iniciar su sistema linux anterior. La unidad en la que desea operar es la que contiene la particin cuyo tamao queremos reajustar. Por ejemplo, si queremos reajustar /dev/sda3, el disco es /dev/sda. Listado de Cdigo 5.4: rdenes a ejecutar una vez estemos dentro del sistema mininux
# mount /dev/fd0 /floppy # cd /floppy; ./parted [disco sobre el que se trabaja] (parted) print Disk geometry for /dev/sdb: 0.000-9787.148 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 2953.125 primary ntfs 3 2953.125 3133.265 primary linux-swap 2 3133.266 5633.085 primary ext3 4 5633.086 9787.148 extended

5 5633.117 6633.210 6 6633.242 9787.148 (parted) help resize resize MINOR START END

logical logical

ext3

resize filesystem on partition MINOR

MINOR is the partition number used by Linux. On msdos disk labels, the primary partitions number from 1-4, and logical partitions are 5 onwards. START and END are in megabytes (parted) resize 2 3133.266 4000.000

Importante: Sea paciente! El ordenador est trabajando! Revise el led en su cpu para ver que realmente est funcionando. Esto llevar entre 2 y 30 minutos. Una vez que haya reajustado el tamao, inicie de nuevo su linux antiguo como hemos descrito. Despus vaya a El Gentoo Handbook: Preparando los discos y siga las instrucciones. Cuando haga el chroot, use la siguiente orden para limpiar su entorno: Listado de Cdigo 5.5: Limpiando el entorno durante chroot
# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash # /usr/sbin/env-update # source /etc/profile

Disfrute! 1. Acerca de este documento Si el mtodo estndar de arranque para la instalacin por CD no es posible desde su ordenador (o simplemente no es el que le gusta) ahora tiene ayuda al respecto. Este documento servir para proveerle de un repositorio de tcnicas y mtodos alternativos para la instalacin de Gentoo Linux. O si lo prefiere, servir como medio para publicar su ms novedoso mtodo de instalacin. Si posee alguna tcnica de instalacin, la cual considera til para s mismo, o conoce de alguna otra manera adecuada para instalar Gentoo Linux, por favor, no dude en documentarla y enviarla a Bugzilla. 2. Iniciando el CD de Instalacin con Smart BootManager Descargue Smart BootManager desde http://btmgr.sourceforge.net/download.html. Las versiones en cdigo fuente para linux o formato binario y los .exe de windows estn disponibles, as como muchos packs de idiomas. Sin embargo, por ahora, el mtodo ms adecuado sera utilizar el formato binario, ya que el cdigo no compila con las nuevas versiones de NASM. Compile el programa desde el cdigo o simplemente grabe el archivo binario. Hay varias opciones que pueden utilizarse durante la creacin de su disco de arranque, como puede observar a continuacin. Listado de Cdigo 2.1: Opciones de Smart BootManager
sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file] be: -t theme select the theme to be used, in which the theme could us = English theme de = German theme

hu ru es pt

= = = =

Hungarian theme Russian theme Spanish theme Portuguese theme

zh = Chinese theme cz = Czech theme fr = French theme

-d drv set the drive that you want to install Smart BootManager on; for Linux: /dev/fd0 is the first floppy driver, /dev/hda is the first IDE harddisk driver. /dev/sda is the first SCSI harddisk driver. for DOS: 0 is the first floppy drive 128 is the first hard drive; -c disable CD-ROM booting feature;

-b backup_file backup the data that will be overwritten for future uninstallation; -u backup_file uninstall Smart BootManager, should be used alone; -y # sbminst -t us do not ask any question or warning. -d /dev/fd0

Listado de Cdigo 2.2: Utilizando sbminst para crear el disco de arranque Nota: Reemplace fd0 por el nombre de su dispositivo de disquetes si fuera distinto. Ahora simplemente site el disquete en la disquetera del ordenador si quiere cargar el CD de Instalacin, as como el CD de Instalacin dentro del CD-ROM e inicie el ordenador. Ser recibido por el men del Smart BootManager. Seleccione su CD-ROM y presione ENTER para cargar el CD. Una vez cargado, contine con las instrucciones normales de instalacin. Puede encontrar ms informacin sobre Smart BootManager en http://btmgr.sourceforge.net/. 3. Instalacin con LiveCDs que no son de Gentoo Introduccin Importante: Los desarrolladores Gentoo no pueden dar soporte si algo ocurre al usar un LiveCD que no sea de Gentoo ya que no hay como arreglarlo, encontrar los problemas o documentar cada caracterstica en cada LiveCD existente. Oficialmente solo se brinda soporte para LiveCDs Gentoo. Si encuentra algn problema con medios de instalacin alternativos, por favor visite los Foros Gentoo para asistencia de parte de la comunidad. Es posible iniciar algn otro LiveCD aparte de los que provee Gentoo. Esto le permitir un entorno funcional mientras compila e instala Gentoo. Las instrucciones que proporcionamos aqu deben funcionar en principio con cualquier otro LiveCD. Existen demasiados LiveCDs para listar, pero puede intentarlo con Knoppix. Proporciona un entorno grfico completo, con aplicaciones para la oficina, navegadores para la red y juegos para mantenerlo ocupado. Knoppix est disponible solo para usuarios de la

plataforma x86, as que dependiendo de sus necesidades, pueda que necesite hacer uso de un LiveCD diferente. Aviso: Sepa que si guarda cualquier cosa en el directorio de usuario del LiveCD mientras espera a que se instale su sistema Gentoo, lo perder todo cuando reinicie a Gentoo. Asegrese de guardar los ficheros importantes en el disco duro o en otro ordenador! Instrucciones de instalacin Inicie desde el LiveCD. Abra una consola y ejecute su - para poder cambiar la contrasea. Esto permitir cambiar la contrasea del usuario root para el CD. Ahora puede configurar sshd para hacer login de manera remota, si esto hiciera falta. A continuacin debe crear el punto de montaje /mnt/gentoo. Listado de Cdigo 3.1: Creando el punto de montaje /mnt/gentoo
# mkdir /mnt/gentoo

Llegados a este punto, puede seguir con la instalacin normal en la parte 4. Sin embargo, cuando tenga que montar el sistema proc, sustituya la orden por: Listado de Cdigo 3.2: Montando el pseudo sistema de archivos /proc con bind
# mount -o bind /proc /mnt/gentoo/proc

Cuando est listo para desempacar el comprimido stage en la parte 5, deber usar una orden tar diferente para asegurar que los IDs de grupo sean creados correctamente en el stage desempacado: Listado de Cdigo 3.3: Desempacando el comprimido stage
# tar --numeric-owner -xvjpf stage3-*.tar.bz2

Una vez que haya hecho chroot al entorno desempacado en la parte 6, necesitar usar una secuencia diferente de rdenes. Esto asegurar que las variables de entorno se establezcan de manera correcta. Listado de Cdigo 3.4: Haciendo chroot al nuevo entorno
(Algunos LiveCDs usan una configuracin extraa del entorno, por eso la opcin -i option para ponerlo en un estado razonable.) # chroot /mnt/gentoo /bin/bash # chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash # env-update # source /etc/profile # export PS1="(chroot) $PS1"

Finalmente, sepa que algunas FEATURES de Portage no funcionarn en el LiveCD. Tenga especialmente cuidado con userpriv y usersandbox. Si se encuentra con errores, puede ayudar desactivar algunas, o todas, de los FEATURES opcionales. 4. Instalacin sin disco, usando el arranque PXE. Requerimientos

Necesitar una tarjeta de red en la mquina cliente que use el protocolo PXE para arrancar, como muchas tarjetas 3Com. Necesitar tambin un BIOS que arranque desde PXE. Configuracin bsica del servidor Crear directorios: lo primero que hay que hacer es crear los directorios donde su sistema sin disco ser almacenado. Cree un directorio llamado /diskless el cual acoger un directorio para cada cliente sin disco. De aqu en adelante trabajaremos con un cliente llamado 'eta'. Listado de Cdigo 4.1: Configuracin de directorios
# mkdir /diskless # mkdir /diskless/eta # mkdir /diskless/eta/boot

Configurar DHCP y TFTP: el cliente dar informacin de arranque utilizando DHCP y descargando todos los archivos requeridos usando TFTP. Para dhcpd, ejecute emerge dhcp (o cualquier otro servidor DHCP de su eleccin). Asegrese de que el interfaz correcto est seleccionado en /etc/conf.d/dhcpd y configrelo conforme a sus necesidades. Despus aada en /etc/dhcp/dhcpd.conf lo siguiente: Nota: Esto proporciona una direccin IP esttica para el cliente y la ruta imagen de arranque PXE, aqu pxegrub. Tendr que reemplazar la direccin MAC de la tarjeta ethernet del cliente y el directorio donde pondr los archivos del cliente por los que vaya a usar. Listado de Cdigo 4.2: dhcpd.conf
option option-150 code 150 = text ; ddns-update-style none ; host eta { hardware ethernet 00:00:00:00:00:00; fixed-address ip.add.re.ss; option option-150 "/eta/boot/grub.lst"; filename "/eta/boot/pxegrub"; }

Luego configuremos el interfaz en /etc/conf.d/net de manera que no pierda la configuracin al arrancar. Vea el archivo /usr/share/doc/openrc-*/net.example.bz2 para ms informacin. Listado de Cdigo 4.3: /etc/conf.d/net
(Reemplace eth0 con el interfaz adecuado) config_eth0=( "noop" )

Para TFTP, realice un emerge app-admin/tftp-hpa. En el archivo /etc/conf.d/in.tftpd, ponga lo siguiente: Listado de Cdigo 4.4: in.tftpd
INTFTPD_PATH="/diskless" INTFTPD_USER="nobody" INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"

Configurar GRUB: para habilitar arranques PXE utilizo GRUB. con el parmetro USE netboot activado. Una vez que GRUB est compilado, copio la imagen PXE al directorio de arranque del cliente sin disco. A continuacin edito el fichero de configuracin grub.lst. Listado de Cdigo 4.5: Configuracin de Grub
# # # # echo "sys-boot/grub netboot" >> /etc/portage/package.use emerge -av grub cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub nano -w /diskless/eta/boot/grub.lst>

Listado de Cdigo 4.6: grub.lst


default 0 timeout 30

title=Diskless Gentoo root (nd) kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta # Para la opcin nfsroot, la direccin IP es la del servidor y el directorio es en el cual los archivos del cliente sin disco estn ubicados (en el servidor).

Configurar NFS: NFS es bastante fcil de configurar. Lo nico que debe hacer es aadir una lnea en el archivo de configuracin /etc/exports: Listado de Cdigo 4.7: /etc/exports
# nano -w /etc/exports # /etc/exports: NFS file systems being exported. See exports(5). /diskless/eta eta(rw,sync,no_root_squash)

Actualice su archivo hosts: una cosa importante que hacer ahora, es modificar su archivo /etc/hosts para ajustarlo a sus necesidades. Listado de Cdigo 4.8: /etc/hosts
127.0.0.1 localhost 192.168.1.10 eta.example.com eta 192.168.1.20 sigma.example.com sigma

Creando el sistema en el servidor Quiz quiera reiniciar el servidor con un CD de Instalacin Gentoo, aunque tambin puede continuar perfectamente (sin reiniciar) si conoce como proceder con las instrucciones de instalacin de Gentoo desde una instalacin existente. Siga el procedimiento de instalacin estndar como se explica en el Manual de Gentoo PERO con las siguientes diferencias. Cuando monte el sistema de archivos, haga lo siguiente (donde sdaX es la particin en la cual cre el directorio /diskless). No necesita montar ninguna otra particin, ya que todos los archivos residirn en el directorio /diskless/eta. Listado de Cdigo 4.9: Montando el sistema de ficheros
# mount /dev/sdaX /mnt/gentoo

Tarballs stage y chroot: Este ejemplo utiliza el tarball de stage3. Monte /proc en su directorio /diskless y haga chroot para continuar con la instalacin. Despus siga el manual de instalacin hasta la configuracin del ncleo. Aviso: Sea cuidadoso cuando extraiga su tarball stage. No quiere terminar extrayndolo sobre su instalacin existente. Listado de Cdigo 4.10: Extrayendo el tarball stage
# # # # # # # cd /mnt/gentoo/diskless/eta/ tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2 mount -t proc /proc /mnt/gentoo/diskless/eta/proc cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf chroot /mnt/gentoo/diskless/eta/ /bin/bash env-update source /etc/profile

Configuracin del Ncleo: cuando haga el make menuconfig en su configuracin de ncleo, no olvide habilitar las siguientes opciones junto a las otras recomendadas en el manual de instalacin. Listado de Cdigo 4.11: Opciones de menuconfig
- Your network card device support (En el ncleo, no como un mdulo!) - Bajo "Networking options" : [*] [*] [*] [*] TCP/IP networking IP: kernel level autoconfiguration IP: DHCP support IP: BOOTP support

- Bajo "File systems --> Network File Systems" : <*> NFS file system support [*] Provide NFSv3 client support [*] Root file system on NFS

Guarde el ncleo en su / de chroot (no en /boot) de acuerdo con las configuraciones de pxegrub definidas anteriormente. A continuacin, configure el archivo /etc/fstab de su cliente sin disco. Listado de Cdigo 4.12: /etc/fstab
# nano -w /etc/fstab /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0

Tambin necesita prevenir al cliente de ejecutar un chequeo sobre el sistema de archivos: Listado de Cdigo 4.13: Previniendo al cliente de la ejecucin de un chequeo sobre el sistema de ficheros
# touch /fastboot # echo "touch /fastboot" >> /etc/conf.d/local.start

Instale nfs-utils ya que su cliente depender en gran parte de ellas. Listado de Cdigo 4.14: Installing nfs-utils

# emerge nfs-utils

Gestor de arranque. No instale otro gestor de arranque, porque ya tenemos uno - pxegrub. Simplemente acabe la instalacin y reinicie el servidor. Inicie los servicios que necesitar para arrancar el nuevo cliente: DHCP, TFTPD, y NFS. Listado de Cdigo 4.15: Iniciando los servicios
# /etc/init.d/dhcp start # /etc/init.d/tftpd start # /etc/init.d/nfs start

Iniciando el nuevo cliente Para que el nuevo cliente arranque adecuadamente, necesitar configurar la BIOS y la tarjeta de red para que use PXE como primer mtodo de arranque - antes CD-ROM o floppy. Para ayudarle con esto, consulte los manuales de su hardware o la pgina web de los proveedores. La tarjeta de red debera conseguir una direccin IP usando DHCP y descargar la imagen PXE del grub usando TFTP. Entonces, debera ver un bonito men de arranque del grub blanco y negro en el que seleccionar el ncleo de arranque y presione intro. Si todo est bien, el ncleo debera arrancar, montando el sistema de archivos del root usando NFS y poniendo a su disposicin el smbolo de sistema para hacer el login. Disfrute. 5. Instalando Gentoo desde una distribucin Linux existente Requerimientos Para instalar Gentoo desde su distribucin Linux, necesita tener la orden chroot en su sistema, y tener una copia del tarball (o ISO) de instalacin de Gentoo que quiera instalar. Una conexin a la red sera lo aconsejado, si desea ms de lo que viene suministrado en su tarball (de todas formas, un tarball es solo un archivo terminado en .tbz o .tar.gz). El autor us RedHat Linux 7.3 como sistema operativo anfitrin, pero no importa mucho. Empecemos! Perspectiva general Primero asignaremos una particin a Gentoo reajustando el tamao de nuestra particin Linux ya existente, montar la particin, descomprimir el tarball en la particin montada, hacer chroot dentro del pseudo-sistema y empezar a compilar. Una vez que la rutina de arranque se ha llevado a cabo, haremos una configuracin final en el sistema para asegurarnos de que arranca, entonces estaremos preparados para reiniciar y usar Gentoo. Cmo deberamos hacer espacio a Gentoo? La particin de root es el sistema de fichero montado bajo /. Una rpida ejecucin de mount en mi sistema muestra de qu estoy hablando. Usamos tambin df (disco libre) para ver cunto espacio nos queda y como reajustar su tamao. Tenga en cuenta que no es obligatorio redistribuir la particin de su root! Podra redistribuir cualquier cosa soportada por nuestro redistribuidor, pero hablemos de eso ms tarde. Listado de Cdigo 5.1: Informacin del sistema de ficheros

# mount /dev/sdb2 on / type ext3 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) none on /dev/shm type tmpfs (rw) # df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb2 4.0G 1.9G 2.4G 82% / none 38M 0 38M 0% /dev/shm

Como se puede ver, la particin montada como / llamada /dev/sdb2 tiene 2.4 gigabytes libres. En mi caso, creo que lo redistribuir para dejar 400 Mb de espacio libre, asignando 2 Gb para Gentoo. No est mal, tendra bastante material instalado. De todas formas, creo que 1 gigabyte suele ser suficiente para la mayora de los usuarios. As que, vamos a particionarlo! Instalando parted para redistribuir particiones. Parted es una aplicacin suministrada por la fundacin GNU, un antiguo y respetable gran proyecto cuyo software est usando en este mismo momento. De todas formas, hay una herramienta que ahora nos es extremadamente til. Se llama parted, editor de particiones y podemos conseguirlo en http://www.gnu.org/software/parted/. Nota: Hay otras herramientas para redistribuir particiones, pero el autor no est seguro/interesado en que ni PartitionMagic(tm) ni ningn otro software de ese tipo lo haga. Es trabajo del lector probarlos. Busque en esta pgina el tipo de sistema de archivos cuyo tamao desea reajustar y vea si parted puede hacerlo. Si no, no ha tenido suerte, tendr que borrar alguna particin para hacerle espacio a Gentoo, y volver a instalar. Adelante, descargue el software e instlelo. Aqu encontramos un problema. Queremos reajustar el tamao de nuestra particin root de Linux, por tanto, debemos iniciar desde un disquete un sistema linux mnimo y usar un parted previamente compilado y copiado a un disquete para redimensionar /. De todas formas, si puede desmontar la particin estando an en Linux, es afortunado, no necesitar hacer lo siguiente. Solo compile parted y ejectelo en una particin desmontada que elija para reajustar su tamao. As es como yo lo hice en mi sistema. Importante: Asegrese de que las operaciones que desea hacer en su particin son soportadas por parted! Obtenga el disco de inicio mininux (una mini distribucin de Linux basada en un ncleo 2.4 y que cabe en un solo disquete, adems de ser gratuito) de http://mininux.free.fr/uk/, cree un disquete como viene indicado en la documentacin que acompaa el paquete de software e inserte un nuevo disquete en la disquetera para el siguiente paso. Nota: Observe de nuevo que Linux es sinnimo de "Hay ms de una forma de hacerlo". Su objetivo es ejecutar parted en una particin desmontada para que pueda funcionar. Podra utilizar algn software de discos de inicio diferente de mininux. No debera necesitar hacer este paso, es solo desmontar el sistema de archivos que desea reparticionar en su sesin de Linux y ejecutar parted en ella. Listado de Cdigo 5.2: Creacin del disco de utilidad
# mkfs.minix /dev/fd0

480 inodes 1440 blocks Firstdatazone=19 (19) Zonesize=1024 Maxsize=268966912

Ahora procederemos con la configuracin e instalacin de parted. Si no est todava descargado y descomprimido, hgalo ahora y cambie de directorio al correspondiente (a parted). Ahora ejecute la siguiente secuencia de rdenes para construir la aplicacin y cpielo en su disquete. Listado de Cdigo 5.3: Generando el disco de utilidad
# mkdir /floppy; mount -t minix /dev/fd0 /floppy && export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure && make && cp parted/parted /floppy && umount /floppy

Enhorabuena, est preparado para reiniciar y redistribuir su particin. Hgalo solo despus de echarle un vistazo a la documentacin de parted en el website de GNU. El reajuste de tamao suele tardar unos 30 minutos para los discos duros ms largos, sea paciente. Reinicie su sistema con el disco de minuiux (solo djelo dentro), y una vez que se haya iniciado la sesin, sustituya el disco de la unidad por el disco de utilidades que hemos creado arriba y teclee mount /dev/fd0 /floppy para montar parted bajo /floppy. Ejecute parted y podr redimensionar su particin. Una vez acabado este largo proceso, estaremos listos para lo realmente divertido, instalar Gentoo. Vuelva a iniciar su sistema linux anterior. La unidad en la que desea operar es la que contiene la particin cuyo tamao queremos reajustar. Por ejemplo, si queremos reajustar /dev/sda3, el disco es /dev/sda. Listado de Cdigo 5.4: rdenes a ejecutar una vez estemos dentro del sistema mininux
# mount /dev/fd0 /floppy # cd /floppy; ./parted [disco sobre el que se trabaja] (parted) print Disk geometry for /dev/sdb: 0.000-9787.148 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 2953.125 primary ntfs 3 2953.125 3133.265 primary linux-swap 2 3133.266 5633.085 primary ext3 4 5633.086 9787.148 extended 5 5633.117 6633.210 logical 6 6633.242 9787.148 logical ext3 (parted) help resize resize MINOR START END resize filesystem on partition MINOR

MINOR is the partition number used by Linux. On msdos disk labels, the primary partitions number from 1-4, and logical partitions are 5 onwards. START and END are in megabytes (parted) resize 2 3133.266 4000.000

Importante: Sea paciente! El ordenador est trabajando! Revise el led en su cpu para ver que realmente est funcionando. Esto llevar entre 2 y 30 minutos.

Una vez que haya reajustado el tamao, inicie de nuevo su linux antiguo como hemos descrito. Despus vaya a El Gentoo Handbook: Preparando los discos y siga las instrucciones. Cuando haga el chroot, use la siguiente orden para limpiar su entorno: Listado de Cdigo 5.5: Limpiando el entorno durante chroot
# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash # /usr/sbin/env-update # source /etc/profile

Disfrute!

Imprimir Pgina actualizada 26 de diciembre, 2011 Sumario: Este documento le asistir en el Contenido: proceso de migrar del ncleo Linux 1. Introduccin 2.4 a Linux 2.6, de devfs a udev, Qu hay de nuevo en Linux 2.6? de OSS a ALSA y de LVM a Esta pregunta no tiene respuesta fcil. Linux 2.6 es el resultado de ms LVM2. de 2 aos de rpido desarrollo y estabilizacin de nuevas Daniel Drake caractersticas. Es estructuralmente muy diferente a su contraparte Autor versin 2.4. Algunos de los cambios ms importantes estn listados a continuacin: Sergey Galkin Colaborador

La gua completa Gentoo de migracin al ncleo Linux 2.6

Mejoras en el planificador de tareas (scheduler) y por ende la interactividad: se siente mucho ms suave en Sergey Kuleshov sistemas de escritorio y aguanta mucho mejor bajo carga que el ncleo 2.4 Colaborador Escalabilidad: Linux ahora escala mucho mejor, hacia arriba y hacia abajo, en sistemas pequeos o Xavier Neys embebidos y en sistemas con muchos procesadores Editor Rendimiento: Se ha mejorado notoriamente el rendimiento efectivo de aplicaciones comunes Soporte de hardware: Linux ahora soporta muchas ms Benny Chuang arquitecturas y dispositivos de hardware out-of-the-box Editor que cualquier otro sistema operativo.

Joseph Pranevich ha escrito (en ingls) un documento muy detallado

Joshua Saddler Editor

The Wonderful World Of Linux 2.6, el cual tal vez le interese leer. Si John Christian est interesado en ms detalles tcnicos, puede referirse a El Stoddart documento post-halloween, pero tenga en cuenta que ya est algo Traductor desactualizado. Andrs Pereira Gentoo y 2.6 Traductor A partir de la versin 2005.0 de Gentoo Linux, el ncleo por defecto es Manuel Peral el ms reciente de la serie 2.6. El perfil predeterminado del sistema se Gonzlez escoge desde /etc/make.profile que en la versin 2005.0 o superior Traductor debera ser un enlace simblico a /usr/portage/profiles/defaultDonate to linux/x86/2005.0 bajo el cual se toman en cuenta importantes ajustes de support our configuracin. development efforts. Si est usando un perfil 2.4, por favor cmbielo a uno que soporte el ncleo 2.6 como se muestra a continuacin:
<p>Your browser does # rm -f /etc/make.profile not support # ln -snf /usr/portage/profiles/default-linux/x86/2005.1 iframes.</p> /etc/make.profile

Listado de Cdigo 1.1: Cambiando su perfil

Qu es udev? En el pasado, Gentoo ha instruido a sus usuarios que utilicen devfs para manejar el directorio /dev, que contiene una serie de interfaces de dispositivos que permiten que las aplicaciones del sistema se comuniquen con el hardware (a travs del ncleo). Mientras que devfs es un buen concepto, tiene algunos problemas internos y ha sido eliminado por completo de las fuentes estables a partir de 2.6.13. udev es una manera nueva de manejar los nodos correspondientes a dispositivos. Resuelve problemas inherentes a manejadores de dispositivos anteriores y adems trata de resolver algunos otros problemas. Tal vez lo anterior no signifique mucho, pero no tema, los desarrolladores que tan duro trabajan se han esforzado en hacer que la migracin desde devfs sea muy fcil. Por favor lea la Gua udev en Gentoo para mayor informacin en relacin a esto. Qu es ALSA? Con Linux 2.4 es probable que haya usado los drivers del OSS (open sound system, sistema de sonido abierto) para potenciar su tarjeta de sonido. El OSS ha sido reemplazado por unos drivers nuevos y mejores: ALSA.

ALSA, que significa Advanced Linux Sound Architecture, o Arquitectura de Sonido Avanzado para Linux, es un nuevo conjunto de drivers de sonido con una API nueva y mejor presente en el ncleo 2.6. Es compatible con las anteriores aplicaciones OSS, siempre que seleccione las opciones adecuadas de configuracin en el ncleo! Nota: Si no tiene hardware de sonido/audio, puede saltarse las instrucciones relacionadas con ALSA de este documento. Qu es LVM? Administracin Lgica de Volmenes, o Logical Volume Management (LVM) en ingls, existe como un conjunto de herramientas que le permite manejar el almacenamiento en disco de una manera muy flexible. Entre otras cosas, permite un control poderoso sobre las particiones (por ejemplo, cambiar tamao sin reiniciar) y hace que operaciones como cambios en dispositivos sean relativamente sencillas. LVM acta como una alternativa a la manera estndar de administrar las particiones en disco. Histricamente, el soporte de LVM ha sido implementado en Linux 2.4. Linux 2.6 tiene una nueva versin, llamada LVM2. El proceso de migracin requiere la instalacin de nuevas versiones de las herramientas del usuario (cubiertas ms adelante en este documento), pero dejarn intactos sus datos! Si no utiliza LVM para el manejo del almacenamiento en disco, entonces esto no le aplica. Si este es el caso, puede pasar por encima las partes de este documento que hacen referencia a LVM/LVM2. El actualizar a Linux 2.6 no requiere que sus datos sean almacenados en particiones LVM - puede mantenerlos en particiones estndar, como siempre. Si no es usuario de LVM, pero cree que LVM2 parece til, puede convertir sus discos para usar este formato en una fecha futura, siguiendo la Gua de Instalacin LVM2 en Gentoo. Por ahora, concentrmonos en hacer que nuestra migracin vaya sobre ruedas. 2. Preparacin Actualice su sistema Algunos de los cambios que vienen con Linux 2.6 tambin requieren algunas modificaciones en las aplicaciones del sistema base. Antes de continuar, debe asegurarse que su sistema est ms o menos actualizado y para estar perfectamente seguro, debe actualizar todos los paquetes de world y system que estn disponibles.

En particular, asegrese de tener las ltimas versiones estables de los siguientes paquetes:

sys-apps/baselayout sys-apps/util-linux sys-kernel/genkernel (nicamente si desea utilizar genkernel en vez de configuracin manual)

Listado de Cdigo 2.1: Actualizando todos los paquetes en world


# emerge --sync # emerge -ua world

modutils vs module-init-tools sys-apps/modutils es el paquete que provee las herramientas como modprobe, rmmod e insmod para Linux 2.4. Linux 2.6 presenta un nuevo formato de mdulo, por ende, requiere nuevas herramientas para manejar mdulos. Estos conforman el paquete sys-apps/module-init-tools. Ahora debe desinstalar modutils e instalar module-init-tools: Listado de Cdigo 2.2: Cambiando de modutils a module-init-tools
# emerge --unmerge sys-apps/modutils # emerge module-init-tools

Nota: No se preocupe, aunque haya hecho unmerge modutils, moduleinit-tools suministra compatibilidad con Linux 2.4, para que todava pueda arrancar Linux 2.4 y manejar los mdulos de ese ncleo. Nota: Es posible, por las razones esbozadas anteriormente, que module-init-tools ya est instalado y funcionando con su ncleo Linux 2.4. En este caso, no hace falta preocuparse, ya que su sistema est preparado para manejar mdulos de Linux 2.6. Instalando udev No hay configuracin involucrada aqu. Sencillamente use emerge para instalar udev: Listado de Cdigo 2.3: Instalando udev
# emerge -a udev

Debera leer ahora la Gua de udev en Gentoo para tener una idea ms acabada acerca de las diferencias entre udev y devfs. Revisando los nodos de dispositivos esenciales Al arrancar el sistema, este requiere unos nodos de dispositivos esenciales. Como udev no est incluido en el ncleo, no se activa inmediatamente. Para compensar, asegrese de tener algunos nodos de

dispositivos esenciales en el disco. Nuestros archivos de instalacin stage habrn creado los dispositivos requeridos durante la instalacin inicial. Sin embargo, algunos usuarios han reportado que esto no es as. Usaremos esta oportunidad para revisar la existencia de dichos archivos, y si no, crearlos. Como su manejador de dispositivos existente estar montado en /dev, no tendremos acceso directamente, de manera que montaremos la particin raz con bind en otra ubicacin y tendremos acceso al directorio /dev desde all. Listado de Cdigo 2.4: Montando la particin raz con bind y listando los dispositivos estticos
# # # # mkdir -p /mnt/temp mount --rbind / /mnt/temp cd /mnt/temp/dev ls -l console null

Si la orden ls anterior report que los dispositivos console o null no existen, los crearemos nosotros mismos como se muestra a continuacin: Listado de Cdigo 2.5: Creando los nodos faltantes para console y null
# mknod -m 660 console c 5 1 # mknod -m 660 null c 1 3

Ahora debe desmontar su particin raz, aunque no haya tenido que crear los dispositivos: Listado de Cdigo 2.6: Desmontando la particin raz (montada con bind)
# cd # umount /mnt/temp # rmdir /mnt/temp

Instalando las herramientas ALSA ALSA requiere la instalacin de algunos paquetes para que las dems aplicaciones puedan hacer uso de la API ALSA. Estos paquetes le permitirn controlar el mezclador y el nivel del volumen. Las herramientas requeridas son las siguientes: Listado de Cdigo 2.7: Instalando las herramientas ALSA y las libreras
# emerge -a alsa-lib alsa-utils alsa-tools alsa-headers alsa-oss

3. Instalando las fuentes Linux 2.6 Escogiendo e instalando un ncleo

Lo primero es instalar las fuentes de un ncleo 2.6 de su eleccin. Los dos ncleos 2.6 soportados actualmente por Gentoo son gentoo-sources (para mquinas de escritorio) y hardened-sources (para servidores). Hay otras disponibles, vea la Gua Gentoo del Ncleo Linux para ms alternativas. En esta gua usaremos gentoo-sources como ejemplo. Instale sus fuentes del ncleo de su preferencia con emerge: Listado de Cdigo 3.1: Instalando gentoo-sources
# emerge -a gentoo-sources These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild NS ] sys-kernel/gentoo-sources-2.6.10-r4 Do you want me to merge these packages? [Yes/No] y

Cuando ejecute la orden emerge mencionada arriba, si observa que este quiere instalar la versin 2.4 de gentoo-sources (por ejemplo: gentoosources-2.4.26), entonces significa que el perfil que est usando no est diseado para los usuarios de Linux 2.6. Por favor, siga la Gua de actualizacin de Gentoo para cambiarse a un perfil basado 2.6 y reintente instalar las fuentes 2.6 del ncleo. Actualizando el enlace simblico /usr/src/linux Varias herramientas Gentoo cuentan con que /usr/src/linux sea un enlace simblico a las fuentes del ncleo que est usando (o contra las cuales desea compilar). Actualizaremos nuestro /usr/src/linux para que apunte a las fuentes que acabamos de instalar. Continuando nuestro ejemplo: Listado de Cdigo 3.2: Actualizando el enlace simblico /usr/src/linux
# cd /usr/src # ln -sfn linux-2.6.10-gentoo-r4 linux

4. Problemas conocidos con la migracin a Linux 2.6 Antes de comenzar a configurar el ncleo, intentar detallar algunos de los errores ms comunes que hace la gente al migrar hacia Linux 2.6, ya que algunos de estos puntos influenciarn la manera que configuremos el ncleo nuevo. Nota: No todos estos puntos son relevantes en esta etapa, pero los detallar ac, todos en el mismo lugar, para que pueda consultarlos luego con calma. No usar "make oldconfig" con un archivo .config de 2.4

Nota: Si no entiende lo que significa esto, no se preocupe, no har este error si sigue al pie de la letra el resto de esta gua. Se le harn muchas preguntas, ya que hubo muchos cambios. Muchos que intentan un make oldconfig a partir de un .config de 2.4 terminan con un ncleo que no funciona (no escribe nada a la pantalla, no funciona el teclado, etc.). Por favor, ahrrese la molestia y use el tradicional mtodo menuconfig solo esta vez. No usar ide-scsi para quemar CDs/DVDs En Linux 2.4, la nica manera de obtener buenos resultados en el quemado de CDs/DVDs era activando (qu feo!) la emulacin idescsi. Agradecemos que la capa IDE en Linux 2.6 ha sido extendida para soportar mucho mejor a los quemadores de CDs/DVDs. No hace falta activar opciones adicionales para habilitar el quemado de CDs. Solo asegrese de no activar ide-scsi como acostumbraba. El altavoz del PC es ahora una opcin configurable No conseguir sus pitidos normales de consola (o respuesta alguna del altavoz del PC) si no activa especficamente la nueva opcin CONFIG_INPUT_PCSPKR): Listado de Cdigo 4.1: Ubicacin de la opcin PC speaker
Device Drivers ---> Input device support ---> [*] Misc <*> PC Speaker support

Nota: Por el altavoz del PC o "PC speaker", nos referimos al altavoz analgico que pita una vez al arrancar el sistema. No hacemos referencia al hardware normal de sonido utilizado para escuchar msica, etc. El nuevo driver de dispositivos en bloque USB es problemtico a veces Muy recientemente, un nuevo driver de dispositivos de bloque USB ha sido agregado al ncleo. Al momento de escribir esto, este driver ("ub") est en etapas tempranas y algunos usuarios lo encuentran poco fiable. Si tiene problemas accediendo su disco duro USB, disco flash USB, lector de tarjetas USB o cmara digital USB, podra intentar regresando al antiguo driver estilo SCSI: Listado de Cdigo 4.2: Desactivando usb
Device Drivers ---> Block devices ---> < > Low Performance USB Block driver

Nota: El antiguo driver estilo SCSI (USB Mass Storage support) est activado por defecto. Se encuentra bajo "Device Drivers --> USB support", pero generalmente no har efecto mientras ub tambin est

presente. usbdevfs ha sido renombrado a usbfs Si ha modificado su archivo /etc/fstab para personalizar la manera que se monta el sistema de dispositivos USB, tal vez tenga que cambiar el tipo del sistema de archivos de usbdevfs a usbfs. Nota: Los ncleos 2.4 recientes tambin le permitirn usar "usbfs" al igual que "usbdevfs", de forma que se conserva la compatibilidad anterior. No cambie la prioridad (renice) a X Si es un usuario de escritorio con 2.4, puede haber modificado su sistema para correr X con una prioridad mayor, ya que en algunos casos mejora el desempeo del escritorio. Hubo muchos cambios en el planificador (scheduler) de 2.6 que cambian este comportamiento. Si contina corriendo X a una prioridad ms alta, har justo lo que est supuesto de hacer (ejecutar el servidor de pantalla a una prioridad muy alta) con consecuencias negativas como sonido entrecortado y tiempos de carga muy lentos para las aplicaciones, ya que el CPU pasa demasiado tiempo sirviendo X y solo X. En Linux 2.6, ya no se requiere hacer un cambio en la prioridad (va renice) a las aplicaciones de escritorio para obtener una interaccin mejor. Por favor, deshgase de sus hacks de "nice". El archivo de configuracin de X11 ahora debe usar /dev/input/mice para los ratones PS/2 y USB Uno de los cambios introducidos por la configuracin por defecto de udev es una organizacin distinta de los nodos para el ratn. Previamente, habra tenido nodos como /dev/psaux y /dev/mouse. Ahora, tendr nodos como /dev/input/mouse0, /dev/input/mouse1 y un nodo colectivo /dev/input/mice donde se combinan los movimientos de todos los ratones. Como las configuraciones viejas de X tpicamente hacan referencia a /dev/mouse o /dev/psaux podr recibir un error al iniciar X, similar al mostrado a continuacin: Listado de Cdigo 4.3: Error comn al iniciar X por primera vez en un sistema udev
(EE) xf86OpenSerial: Cannot open device /dev/mouse No such file or directory. (EE) Mouse0: cannot open input device (EE) PreInit failed for input device "Mouse0" No core pointer

Para corregir esto, abra su archivo de configuracin de X11 en un editor y actualice la seccin del ratn en InputDevice para usar el dispositivo /dev/input/mice. A continuacin un ejemplo: Listado de Cdigo 4.4: Abriendo su archivo de configuracin X11
# nano -w /etc/X11/xorg.conf

Nota: Si todava usa XFree86, su archivo de configuracin ser el /etc/X11/XF86Config. Listado de Cdigo 4.5: Ejemplo del ratn en la seccin InputDevice
Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/input/mice" EndSection

Nota: Si est usando un ratn serial, el dispositivo nuevo ser /dev/tts/0 en vez de /dev/ttyS0. Los nuevos drivers Serial-ATA (SATA) nombran los dispositivos de manera diferente Si ha utilizado los drivers Serial ATA originales bajo Linux 2.4, probablemente ha observado que sus dispositivos SATA tienen nombres como /dev/hde. Linux 2.6 introduce nuevos drivers SATA (libata) basados en el subsistema SCSI. Como estos manejadores estn basados en SCSI, ahora sus discos aparecern como dispositivos SCSI. Su primer disco SATA ser el /dev/sda. Habr que actualizar su archivo /etc/fstab para reflejar este cambio y tendr que tener esto en cuenta al escoger el parmetro de inicio root/verdadera_raz ms adelante. Nota: libata ha sido portado a versiones recientes de Linux 2.4, por lo que tal vez este familiarizado con esta nueva manera de nombrar dispositivos. bootsplash ya no es mantenido Si us el ncleo gentoo-sources-2.4, puede que haya ocupado la funcionalidad de bootsplash para proveer una consola framebuffer colorida. Aparentemente, el desarrollador de bootsplash parece haber perdido el inters en este proyecto, dado algunos problemas de diseo. Sin embargo, el desarrollador Gentoo Michal Januszewski se encuentra en proceso de producir la siguiente generacin, gensplash, incluido en el ncleo gentoo-sources 2.6. Puede seguir el enlace al documento Gensplash en 5 pasos fciles de Michal para familiarizarse con el funcionamiento de gensplash.

Los manejadores de I2C ahora estn incluidos en el ncleo Si usa lm-sensors para monitorear las temperaturas y niveles de potencia de su sistema, habr instalado previamente el paquete i2c para incorporar el soporte para el hardware. Los manejadores I2C ahora estn incluidos en el ncleo Linux 2.6, por lo que ya no hace falta un paquete externo i2c. Recuerde compilar el soporte para sus dispositivos especficos I2C cuando configure su ncleo de manera que pueda usar lm-sensors de la manera acostumbrada. 5. Configurando, construyendo e instalando el ncleo As como en Linux 2.4, tiene dos opciones para manejar la construccin de su nuevo ncleo.
1. El mtodo por defecto es la configuracin manual. Esto puede parecer desalentador pero es la manera preferida si uno conoce su sistema. Si desea configurar el ncleo manualmente, contine con el siguiente captulo. 2. lLa opcin alternativa es usar nuestra herramienta genkernel, que automticamente configura, compila e instala el ncleo. Si desea usar genkernel, salte el siguiente captulo y proceda con usando genkernel.

6. Por defecto: Configuracin manual Configurando el ncleo Ahora configuraremos el ncleo. Inicie menuconfig de la manera usual: Listado de Cdigo 6.1: Invocando menuconfig
# cd /usr/src/linux # make menuconfig

Probablemente estar familiarizado con el uso de menuconfig con la configuracin de los ncleo 2.4. Afortunadamente el interfaz casi no ha cambiado, pero observar una organizacin mejor de las opciones del ncleo adems de muchas opciones nuevas que no estaban presentes en 2.4. Asegrese de activar las siguientes opciones importantes del ncleo: Listado de Cdigo 6.2: Opciones requeridas del ncleo
File systems ---> Pseudo Filesystems ---> [*] /proc file system support [*] Virtual memory file system support (former shm fs)

(las siguientes son requeridas para udev): General setup ---> [*] Support for hot-pluggable devices (las siguientes se requieren para ALSA): Device Drivers ---> Sound ---> <*> Sound card support Advanced Linux Sound Architecture ---> <M> Advanced Linux Sound Architecture <M> Sequencer support <M> OSS Mixer API [*] OSS Sequencer API (y no se olvide seleccionar su tarjeta de sonido de los submens!) (Lo siguiente se necesita si usa LVM para la administracin de discos): Device Drivers ---> Multi-device support (RAID and LVM) ---> [*] Multiple devices driver support (RAID and LVM) <*> Device mapper support

Aviso: Previamente habr incluido el soporte para el sistema de archivos /dev (ahora marcado como OBSOLETO). No active el soporte para devfs. Hemos instalado udev, que usaremos en vez de devfs de ahora en adelante. Tambin acurdese de activar el soporte para los sistemas de archivo que usa y para el hardware de su sistema. Asegrese de activas soporte para el controlador IDE de su tarjeta madre si quiere aprovechar acceso rpido a los discos con DMA. Refirase a la seccin Configurando el Ncleo del Manual Gentoo para consejos adicionales. Construyendo el ncleo Ahora que hemos configurado el ncleo, podemos comenzar el proceso de compilacin: Listado de Cdigo 6.3: Compilando las fuentes del ncleo
# make && make modules_install

Nota: Tal vez recuerde que tena que correr make dep con las fuentes de Linux 2.4. Esto ya no es necesario. Espere a que termine la compilacin (y observe que es ms legible la salida del proceso de compilacin). Instalando el ncleo El siguiente paso es monta su particin /boot para copiar la imagen del ncleo. Luego debe actualizar manualmente la configuracin de su gestor de arranque. Listado de Cdigo 6.4: Instalando el ncleo
# mount /boot

# cp arch/i386/boot/bzImage /boot/bzImage-2.6.10-gentoor4

Note que las instrucciones anteriores son solamente ejemplos, debe seguir su procedimiento usual para actualizar el ncleo, usando como referencia las instrucciones en el Manual Gentoo (vea el captulo Configurando el Kernel). Cuando actualice su configuracin del gestor de arranque, no elimine la entrada antigua al ncleo 2.4. As puede cambiar fcilmente entre las dos en caso que algo no funcione. Ahora contine con la seccin Configuracin de Mdulos. 7. Alternativa: Usando genkernel Si prefiere usar genkernel en vez de configurar su ncleo manualmente, le contentar escuchar que usando genkernel para producir ncleos 2.6 es muy similar al proceso para producir los ncleos 2.4 previos. Debe invocar genkernel como en el ejemplo: Listado de Cdigo 7.1: Invocando genkernel con algunos argumentos comunes
# genkernel --udev --menuconfig --bootloader=grub all

En el ejemplo anterior, nos aprovechamos de las caractersticas de genkernel para abrir menuconfig y permitirle personalizar la configuracin del ncleo (si as lo desea) y para actualizar el gestor de arranque grub luego de la compilacin. Debe escoger los argumentos de genkernel que le convengan, pero no se olvide incluir el argumento --udev! Consulte la Gua Gentoo Linux de Genkernel y el captulo Configurando el Ncleo del Manual Gentoo para ms informacin. Si elige actualizar el archivo de configuracin de su gestor de arranque, recuerde incluir el parmetro del ncleo udev. Una seccin del archivo de configuracin del gestor de arranque grub se muestra a continuacin, pero, acurdese de ajustar el parmetro real_root para su sistema. Listado de Cdigo 7.2: Configuracin ejemplo de GRUB para genkernel + udev
title Gentoo Linux (Ncleo 2.6) root (hd0,0) kernel /kernel-2.6.10-gentoo-r4 udev root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3 initrd /initrd-2.6.10-gentoo-r4

8. Configuracin de Mdulos

Instalando mdulos externos Muchos usuarios adicionalmente confiarn en mdulos del ncleo construidos fuera del rbol de fuentes del ncleo. Algunos ejemplos comunes son los drivers grficos binarios de ATI y nVidia. Ahora debe instalarlos, porque compilarn contra las fuentes 2.6 apuntados por /usr/src/linux. Este es el caso tpico de emerge paquete para todos los mdulos externos que acostumbra usar con el 2.4. De nuevo refirase a captulo Configurando el Ncleo del Manual Gentoo para ms informacin. Cargando los mdulos automticamente Tal vez haya decidido compilar algunos componentes del ncleo como mdulos (en vez de directamente en el ncleo) y le gustara que se carguen automticamente al arrancar, tal como lo hizo con 2.4. Si ha instalado algn mdulo externo del rbol portage (descrito anteriormente), tal vez quiera cargarlos automticamente tambin. Para hacer esto, edite /etc/conf.d/modules con su editor de texto favorito y liste los nombres de los mdulos que le gustara cargar. Listado de Cdigo 8.1: Abrir la lista de mdulos autocargados usando nano
# nano -w /etc/conf.d/modules

Listado de Cdigo 8.2: Entrada de configuracin ejemplo para cargar los mdulos 3c59x y nvidia
modules="3c59x nvidia"

9. Migracin de LVM a LVM2 Actualizando a las herramientas LVM2 Nota: Si no utiliza LVM para manejar su almacenamiento en disco, puede saltar este captulo e ir al siguiente. Afortunadamente, actualizar las herramientas de LVM1 a LVM2 es muy sencillo: Listado de Cdigo 9.1: Actualizando las herramientas del usuario de LVM1 a LVM2
# emerge --unmerge lvm-user # emerge lvm2

Nota: Necesitar volver a hacer emerge de lvm-user si quiere volver a arrancar un ncleo 2.4, ya que lvm2 por s solo no es suficiente para los ncleos 2.4. 10. Arrancando a Linux 2.6

Ahora, es hora de arrancar a Linux 2.6. Cierre todas sus aplicaciones y reinicie la mquina: Listado de Cdigo 10.1: Reiniciando
# umount /boot # reboot

Al reiniciar, si sigui este documento correctamente hasta ahora, podr optar por cargar Linux 2.4 o Linux 2.6 desde el gestor de arranque. Escoja Linux 2.6. Una vez arrancado el sistema, revise que todo est funcionando. Si ha cometido alguna equivocacin en la configuracin del ncleo, no se preocupe, regrese a Configurando, construyendo e instalando el ncleo, realice su cambio, recompile e instale la nueva imagen del ncleo, reinicie e intntelo de nuevo! Configure y haga sonar a ALSA Ahora completaremos la configuracin de ALSA y activaremos los canales audio. Los paquetes ALSA nos proveen una herramienta para que este proceso sea relativamente sencillo: Listado de Cdigo 10.2: Invocando la herramienta de configuracin automtica de ALSA
# alsaconf

El proceso es sencillo: permite que el archivo /etc/modules.d/alsa sea actualizado automticamente y luego permita que se recargue ALSA. alsaconf luego terminar de ejecutar, aunque habr que ejecutarla mltiples veces si tiene varios dispositivos de sonido instalados en su sistema. Ahora debe agregar alsasound a su nivel de ejecucin boot, de manera que los niveles de volumen sean guardados al apagar y restaurados al iniciar: Listado de Cdigo 10.3: Agregando alsasound al nivel de ejecucin boot
# rc-update add alsasound boot

Nota: La herramienta alsaconf escoge unos volmenes iniciales para sus dispositivos de sonido. Si estos no son apropiados, puede modificarlos en cualquier momento con la herramienta alsamixer. Algn problema en este momento? En esta etapa debera referirse a la seccin Problemas conocidos con la migracin a Linux 2.6 que puede ser de ayuda en caso de algn problema encontrado en este momento.

11. Archivos de cabecera y NPTL Ya debe estar corriendo Linux 2.6 y esperemos que sin mayores problemas. Ahora toca actualizar los archivos de cabecera Linux y hacer emerge otra vez del glibc para que las aplicaciones del userspace puedan aprovechar las nuevas caractersticas de Linux 2.6. Listado de Cdigo 11.1: Actualizando a linux26-headers
# emerge -u linux-headers

Despus de actualizar el paquete de archivos de cabecera, debera recompilar el glibc. Hay una nueva caracterstica que tal vez le interese, NPTL. NPTL es un modelo nuevo de hilos de ejecucin que presenta tiempos creacin y destruccin de hilos mucho ms rpidos. Esto tal vez no haga mucha diferencia en la mayora de los sistemas, pero puede que desee activarlo como parte del proceso de migracin. Para hacer esto, modifique el archivo /etc/make.conf y agregue nptl a sus parmetros USE. Aviso: Le advertimos que con los glibc estables actuales no podr arrancar un ncleo 2.4 luego de compilar glibc con USE="nptl". Precaucin! Ahora haga emerge glibc (debera hacer esto, aunque no haya activado NPTL). Listado de Cdigo 11.2: Reinstalando glibc con los nuevos archivos de cabecera
# emerge -a glibc

Si ha activado NPTL. los binarios existentes no lo usarn hasta que sean recompilados. Sin embargo, todos los binarios creados desde este momento s usarn NPTL. Tal vez quiera recompilar todos los binarios en este momento, por ejemplo: Listado de Cdigo 11.3: Recompilando todos los paquetes del sistema
# emerge -e world

Alternativamente, puede dejar que su sistema se convierta "naturalmente" a usar NPTL, a medida que vaya actualizando sus paquetes a sus ltimas versiones cuando stos sean lanzados. 12. Comentarios al cierre Problemas? Con la increble cantidad de trabajo invertido en Linux 2.6, a veces luce inevitable que algunas cosas que funcionaban perfectamente, ahora no lo hacen como antes.

Si tiene algn problema con su ncleo 2.6 y puede confirmar que no exista en Linux 2.4, por favor reporte un bug con nosotros en nuestro Bugzilla. Lo investigaremos y si encontramos que es un problema con las fuentes originales del ncleo, le pediremos que lo reporte al bugzilla central del ncleo. Conclusin Tenemos la esperanza que acaba de completar una migracin sin sobresaltos y est disfrutando de los beneficios que Linux 2.6 nos trae, por encima del 2.4. Nos gustara agradecer a todos aquellos usuarios que efectivamente 'probaron' este documentos mientras estaba en sus etapas iniciales y que dieron sus comentarios acerca de cmo fue el proceso de migracin. Lamentamos no haber contestado todos los correos (eran muchos!) pero lemos cada uno de ellos y refinamos este documento donde era apropiado. Disfrute su sistemas potenciados por 2.6. :) Eliminar Linux 2.4 de su sistema Luego de correr Linux 2.6 por algn tiempo, quizs decida que ya no le hace falta poder usar Linux 2.4. Los pasos que puede tomar para limpiar su sistema los detallamos a continuacin. Siga las instrucciones de esta seccin nicamente en caso de que no desee volver a usar Linux 2.4! Las fuentes del ncleo 2.4 puede ser borradas usando la herramienta emerge de la manera usual. Por ejemplo, si asumimos que tiene versiones de las fuentes vanilla-sources y gentoo-sources, versin 2.4, podra usar la siguiente orden para borrarlas, manteniendo las versiones 2.6 intactas: Listado de Cdigo 12.1: Ejemplo: Borrando las fuentes Linux 2.4
# emerge --unmerge =vanilla-sources-2.4.* =gentoosources-2.4.*

Portage no limpiar completamente su instalacin de fuentes 2.4, ya que se crean archivos temporales durante la compilacin. Puede eliminarlos con seguridad usando la siguiente orden: Listado de Cdigo 12.2: Eliminacin de archivos temporales remanentes
# rm -rf /usr/src/linux-2.4.*

Adicionalmente puede borrar los mdulos y archivos de informacin relacionados a las instalaciones antiguas del ncleo 2.4, ya que no harn ms falta. Listado de Cdigo 12.3: Eliminacin de mdulos 2.4 previamente

instalados

# rm -rf /lib/modules/2.4.*

Los binarios del ncleo usados para iniciar, pueden ser borrados con seguridad. Monte su particin /boot y borre esas imgenes. Actualice la configuracin de su gestor de arranque para que no haga referencia a las imgenes del ncleo que han sido borradas. Algunos usuarios de Linux 2.4 haban instalado previamente el paquete alsa-driver para aprovechar las caractersticas nuevas de audio incluidas en Linux 2.6. Si es uno de estos usuarios y sigui los consejos dados anteriormente en ese mismo documento acerca de la construccin de ALSA junto con las fuentes del ncleo 2.6 (en contraposicin con el uso del paquete alsa-driver), puede borrar este paquete para evitar conflictos futuros. Adicionalmente, los usuarios de lm-sensors habrn usado anteriormente el paquete i2c para obtener los drivers del hardware. Como ya hemos mencionado, los drivers I2C ahora estn incluidos en el ncleo, as que podemos borrar este paquete para prevenir futuros conflictos. El demonio de administracin devfs, devfsd, puede ser borrado sin temores, ahora estamos usando udev para la administracin de dispositivos. Listado de Cdigo 12.4: Eliminacin de los paquetes alsa-driver, i2c e devfsd
# emerge --unmerge alsa-driver i2c devfsd

Si es un usuario de LVM2, puede que quiera convertir sus datos al formato de LVM2 para beneficiarse de las ventajas que LVM2 provee. Sin embargo, esta operacin tiene como efecto que no podr acceder sus datos LVM desde un ncleo 2.4. Si desea continuar con la conversin (esto es totalmente opcional!) entonces debera examinar la pgina del manual de vgconvert para instrucciones de cmo llevar esto a cabo. Se muestra a continuacin un ejemplo, donde main es el nombre del grupo de volumen. Listado de Cdigo 12.5: Convirtiendo un volmen LVM1 al formato LVM2
# vgconvert -M2 main

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.

Gua de USB en Gentoo Linux


Contenido:

1. Introduccin Qu es USB? USB significa Bus Serial Universal (Universal Serial Bus en ingls) y bsicamente es una interfaz externa estndar que permite la comunicacin entre el computador y varios tipos de perifricos. Algunos de los dispositivos USB ms comnmente usados hoy en da son los teclados, ratones, llaveros (tambin llamados pen drives), cmaras digitales, grabadores externos de CD y DVD, impresoras, etc. Actualmente hay dos versiones en uso de USB, a saber, USB 1.1 y USB 2.0. Debido a que USB siempre ha sido compatible hacia atrs con sus versiones anteriores, USB 2.0 es compatible con USB 1.1. Los ltimos dispositivos USB tpicamente son compatibles con USB 2.0. Adicionalmente USB 2.0 permite una velocidad mxima de transferencia de datos de 480 Mbps o 60 MBps y esta es la principal diferencia entre los dos estndares. Otra ventaja de USB es que los dispositivos son todos enchufables en caliente, lo que significa que no tiene que reiniciar su sistema para poder usar esos dispositivos. Una perspectiva tcnica Antes de ir a las opciones exactas de configuracin en el ncleo, es bueno revisar USB un poco ms en detalle. Si est apurado o desea saltarse esta seccin, por favor vaya a Configuracin del Ncleo. Un sistema USB tiene una controladora, concentradores y un concentrador raz, entre otros, y permite tener hasta 127 dispositivos USB incluyendo los concentradores. La controladora no es otra cosa que la interfaz de hardware entre el dispositivo USB y el Sistema Operativo. Hoy en da hay un par de interfaces HCI (Interfaz de Controladora de Host) en uso y son la interfaz OHCI (Open HCI) proveniente de Compaq, UHCI (HCI Universal) y EHCI (HCI Mejorado), ambas de Intel. Tanto OHCI como UCHI son los estndares de interfaces en la industria para USB 1.1 mientras que EHCI lo es para USB 2.0. El fabricante de hardware provee de una interfaz al programador que permite al sistema interactuar con el hardware al que se le conoce como HCD (Dispositivo Controlador del

Host). A travs del HCD el dispositivo interacta con el software. El siguiente diagrama debera aclarar los conceptos y ayudar a una mejor comprensin: Listado de Cdigo 1.1: Arquitectura General de USB
(El software consiste de otras componentes tambin tal como el manejador del dispositivo, pero no se muestra por motivos de simplicidad) + ----- Hardware ---+ ---- Software | | |[Disp. USB] -+-> {EHCI}--+---> ( EHCD ) | | | | `-> {UHCI}--+---> ( UHCD ) | | + ----- Hardware ---+ ---- Software ---- + | | | | | ---- +

Usuario

Un dispositivo USB puede usar un manejador propio o bien uno ya presente en el sistema y esto est basado en el concepto de clase de un dispositivo. Esto significa que si un dispositivo pertenece a cierta clase, entonces otros dispositivos que tambin pertenezcan a la misma clase pueden hacer uso del mismo manejador. Alguna de esas son la clase USB HID (Dispositivos de Interfaz Humana) que abarca dispositivos de entrada como teclados y ratones, la clase de dispositivos USB de almacenamiento masivo comprende a dispositivos como los llaveros, cmaras digitales, reproductores de audio y la clase CDC de USB (Clase de Dispositivos de Comunicacin) que esencialmente cubre los mdems USB y dispositivos similares. Qu hay en su mquina? Es muy simple averiguar si su mquina tiene o no soporte USB 2.0. Usaremos la orden lscpci para este propsito. Nota: La herramienta lspci es parte del paquete sys-apps/pciutils. Si no lo tiene instalado, hgalo mediante emerge pciutils. Note que debe ser superusuario mientras ejecute la orden lspci. Listado de Cdigo 1.2: Algunas salidas de lspci
(En un sistema USB 1.1, note que solo hay UHCI) # lspci -v | grep USB 0000:00:04.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI]) (En un sistema USB 2.0, note que hay EHCI y UHCI) 00:1d.0 USB Controller: (prog-if 00 [UHCI]) 00:1d.1 USB Controller: (prog-if 00 [UHCI]) 00:1d.2 USB Controller: (prog-if 00 [UHCI]) 00:1d.7 USB Controller: 01) (prog-if 20 [EHCI]) Intel Corp. 82801DB USB (Hub #1) (rev 01) Intel Corp. 82801DB USB (Hub #2) (rev 01) Intel Corp. 82801DB USB (Hub #3) (rev 01) Intel Corp. 82801DB USB EHCI Controller (rev

As que al usar la orden lspci, puede averiguar si sistema permite el uso de USB 2.0. Esto ser de utilidad al activar las opciones correspondientes en el ncleo. 2. Configuracin del Ncleo Obteniendo el ncleo Primero instale con emerge las fuentes del ncleo de su preferencia. Aqu usaremos gentoo-sources. Para mayor informacin acerca de las distintas fuentes del ncleo disponibles en Portage, por favor revise la Gua del Ncleo de Gentoo. Listado de Cdigo 2.1: Obtener las fuentes del ncleo
# emerge gentoo-sources

Ahora, procedemos con la tarea de configurar el ncleo. Listado de Cdigo 2.2: Dirigindose a la fuentes
# # cd /usr/src/linux make menuconfig

Nota: El ejemplo anterior asume que el enlace simblico /usr/src/linux apunta a las fuentes del ncleo que desea usar. Por favor, asegrese de esto antes de continuar. Opciones de configuracin para el ncleo Ahora se dar una mirada a algunas de las opciones que tendr que activar en el ncleo para asegurar el soporte de USB para sus dispositivos. Nota: Los ejemplos en este documento mostrarn las opciones de configuracin para dar soporte bsico de USB as como aquellas que comnmente se necesitan, por ejemplo, un dispositivo de almacenamiento USB (en su mayora cmaras y llaveros USB). Si tiene un dispositivo especfico USB que necesita ser configurado, lea el manual del fabricante o busque en Internet para ver si dicho dispositivo tiene soporte incluido en el ncleo o que haya algn controlador que puede usar. Note que por motivos de simplicidad, todos los ejemplos tienen las opciones configuradas en el ncleo y no como mdulos. Si desea tener un ncleo modular, asegrese de anotar los nombres de los mdulos y ajuste apropiadamente sus archivos de configuracin. Listado de Cdigo 2.3: Opciones de make menuconfig
Device Drivers ---> SCSI device support --->

(Aunque SCSI ser activado de forma automtica al seleccionar "USB Mass Storage", necesitamos activar el soporte de discos) --SCSI support type (disk, tape, CD-ROM) <*> SCSI disk support (Luego muvase un nivel atrs y vaya a "USB support") USB support ---> (Este es el concentrador raz y se necesita para el soporte USB. Si prefiere compilarlo como mdulo, ser llamado usbcore) <*> Support for Host-side USB

(Seleccione al menos uno de los siguientes HCD. Si no est seguro, puede seleccionar todos sin problemas) --- USB Host Controller Drivers <*> EHCI HCD (USB 2.0) support < > OHCI HCD support <*> UHCI HCD (most Intel and VIA) support (Movindose un poco ms abajo, se llega a la seccin CDC y almacenamiento masivo) < > USB Modem (CDC ACM) support <*> USB Printer support <*> USB Mass Storage support (Si tiene una tarjeta de red USB como la RTL8150, necesitar activar esto) USB Network Adapters ---> <*> USB RTL8150 based ethernet device support (EXPERIMENTAL) (Si tiene un conversor serial a USB como el Prolific 2303, necesitar activar esto) USB Serial Converter support ---> <*> USB Serial Converter support <*> USB Prolific 2303 Single Port Serial Driver (NEW)

Si tiene un teclado USB, ratn, joystick, o cualquier otro dispositivo, necesitar activar el soporte para HID. Regrese un nivel a "Device drivers" y active el soporte para HID como se muestra a continuacin: Listado de Cdigo 2.4: Activando el soporte HID
Device Drivers ---> [*] HID Devices ---> <*> USB Human Interface Device (full HID) support

Ya que estn configuradas sus opciones, puede (re)compilar el ncleo y el soporte USB debera estar funcionando una vez que reinicie con el nuevo ncleo. Ahora puede pasar a Ver USB funcionando y asegurarse que todo trabaje como es debido. 3. Ver USB funcionando dmesg es su amigo! Ha llegado la hora de probar y usar los dispositivos USB. En este captulo veremos cmo responde el sistema a los variados dispositivos USB. Empezaremos conectando un llavero USB de 512 MB. Puede usar algn otro dispositivo de almacenamiento masivo similar. Usaremos principalmente dmesg para ver qu est sucediendo y cmo responde el sistema al dispositivo. Nota: dmesg, en general, presenta una buena cantidad de informacin antes de desplegar la que necesitamos, pues lee el bfer del ncleo que tiene todos los mensajes del arranque. La salida mostrada en los siguientes ejemplos tiene slo las opciones relevantes y se han agregado espacios extras para mejorar la lectura. Si lo necesita, por favor use dmesg | more o dmesg | less para ver mejor la salida en su sistema. Listado de Cdigo 3.1: Salida de dmesg para el llavero
(Conecte el llavero en el puerto USB disponible y luego ejecute: # dmesg | less

(El dispositivo es seleccionado como de tipo USB 1.1 y se le asigna una direccin. Tambin dice qu HCD est usando.) usb 1-1: new full speed USB device using uhci_hcd and address 2 (Aparece automticamente la emulacin SCSI) scsi0 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 2 (Ahora se recupera la informacin del dispositivo incluyendo su nmero de modelo) usb-storage: waiting for device to settle before scanning Vendor: JetFlash Model: TS512MJF2A Rev: 1.00 Type: Direct-Access ANSI SCSI revision: 02 SCSI device sdb: 1003600 512-byte hdwr sectors (514 MB) (La caracterstica de proteccin de escritura es cdigo marcado como EXPERIMENTAL en los ltimos ncleos) sdb: Write Protect is off sdb: Mode Sense: 0b 00 00 08 sdb: assuming drive cache: write through SCSI device sdb: 1003600 512-byte hdwr sectors (514 MB) /dev/scsi/host0/bus0/target0/lun0: p1 Attached scsi removable disk sdb at scsi0, channel 0, id 0, lun 0 Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 usb-storage: device scan complete (En este punto, el dispositivo generalmente es accesible montando /dev/sdb1) (Cuando se desconecta el dispositivo, el sistema da cuenta de aquello) usb 1-1: USB disconnect, address 2

Una vez que el dispositivo est conectado y montado, puede acceder a l como si fuera un disco duro normal. Las operaciones habituales como cp, mv, rm, etc funcionan bien. Tambin podra crear un sistema de archivos en el llavero USB. Listado de Cdigo 3.2: Acceder al llavero
# mount /dev/sdb1 /mnt/usb # df -h Filesystem Size /dev/sda8 9.4G /dev/sda9 11G none 189M /dev/sdb1 490M Used Avail Use% Mounted on 7.5G 1.9G 80% / 8.1G 2.4G 78% /usr 0 189M 0% /dev/shm 34M 457M 7% /mnt/usb

Nota: Las cmaras digitales pueden accederse de la misma forma que los llaveros. El autor de este documento posee una Nikon Coolpix 5200 y obtiene acceso de esta forma. Las cmaras de hoy en da normalmente tienen dos modos para transferir las fotos: Almacenamiento masivo USB y PTP (Protocolo de Transferencia de Imgenes). La cmara est configurada para que se comporte como un dispositivo de almacenamiento masivo y el procedimiento usado es exactamente el mismo para acceder a un llavero USB, motivo por el cual no se explica con detalle. Por favor, note que esto puede que NO funcione en todos los casos y con todas las cmaras digitales que tengan soporte USB. Cmo aparecera un ratn USB en caso de que tenga uno? Lo har como un dispositivo

HID. Listado de Cdigo 3.3: Ratn ptico USB


# dmesg | grep USB drivers/usb/input/hid-core.c: v2.0:USB HID core driver usb 1-1: new low speed USB device using address 2 input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb0000:00:07.2-1

Otra orden elegante que puede usar para ver el estado de sus puertos USB es lsusb. Es parte de sys-apps/usbutils y ser cubierto en el siguiente captulo. 4. USB en el espacio del usuario Herramientas tiles Hasta ahora hemos visto cunto soporte de USB existe en el ncleo/sistema en Linux. Ahora prestaremos atencin en qu tipo de soporte provee Gentoo para USB en el espacio del usuario. Una de las herramientas ms tiles que hay es lsusb. Esta muestra todos los dispositivos conectados al sistema. Instalarlo es muy simple. Listado de Cdigo 4.1: Instalar usbutils
# emerge usbutils

Una vez instalado, puede ejecutar lsusb para obtener informacin simple de los dispositivos USB que estn conectados a la mquina. Nota: Debe ser superusuario en la mayora de los casos para ejecutar lsusb. Aviso: lsusb lee la informacin de los dispositivos USB a partir de /proc/bus/usb. Si no est activado aquello en su ncleo, es posible que lsusb no funcione. Por favor, asegrese que el soporte del sistema de archivos /proc est activado en su ncleo y que usbfs est montado en /proc/bus/usb (lo que debera pasar automticamente). Listado de Cdigo 4.2: lsusb en accin
# lsusb (Este es el llavero USB de 512 MB de Transcend) Bus 001 Device 003: ID 0c76:0005 JMTek, LLC. USBdisk (Este es el ratn ptico) Bus 001 Device 002: ID 046d:c00e Logitech, Inc. Optical Mouse (Este es el concentrador raz) Bus 001 Device 001: ID 0000:0000

Si es de aquellos que disfruta de ver mucha informacin, tiene la opcin de ejecutar lsusb -v. Intntelo y vea la cantidad de informacin que se despliega. Otra buena opcin es que lsusb muestra la jerarqua fsica actual de USB como un rbol y por tanto hace ms fcil de entender el mapa exacto del dispositivo. La orden es lsusb -t. Por ejemplo, Listado de Cdigo 4.3: lsusb mostrando la jerarqua USB
# lsusb -t Bus# 1 `-Dev# 1 Vendor 0x0000 Product 0x0000

|-Dev# `-Dev#

2 Vendor 0x046d Product 0xc00e 3 Vendor 0x0c76 Product 0x0005

Fcilmente puede correlacionar las salidas de lsusb y lsusb -t, que ayuda a la hora de depurar as como entender el funcionamiento de USB. 5. Agradecimientos ... Referencias Me fueron de especial ayuda un buen nmero de documentos en lnea para escribir esto, y algunos de ellos son bastante tcnicos pero ciertamente interesantes. Pienso que todos merecen algo de crdito. As que aqu vamos!

El sitio Web Oficial de USB PFU (FAQ) de USB El estndar OHCI de Compaq El estndar UHCI de Intel El estndar EHCI de Intel

Otros enlaces interesantes

COMO (HOWTO): LiveUSB en Gentoo Linux

El contenido de este documento, a no ser que se especifique expresamente, est registrado bajo los trminos de la licencia CC-BY-SA-2.5. Se aplican las Pautas de Utilizacin del logo y nombre de Gentoo.

COMO (HOWTO): LiveUSB en Gentoo Linux


Contenido:

1. Introduccin El LiveUSB Esta gua explica cmo crear LiveUSB en Gentoo Linux o, en otras palabras, cmo emular un CD de Instalacin de Gentoo Linux x86 o AMD64 usando un llavero USB. Esto es particularmente til para instalar Gentoo Linux en un porttil moderno sin lector de CD-ROM. Nota: El paquete sys-boot/unetbootin ofrece una alternativa ms fcil para crear un llavero USB arrancable desde cualquier imagen arrancable de CD. Aunque las instrucciones que se presentan en este documento estn orientadas al LiveCD de instalacin de Gentoo Linux usando un llavero USB, deberan funcionar para

cualquier dispositivo de bloques siempre y cuando se ajusten los nombres de los dispositivos tal como corresponde. Prerrequisitos Para usar LiveUSB en Gentoo Linux necesita lo siguiente:

Un dispositivo USB arrancable con al menos 1GB Una computadora i686 or x86_64 que arranque desde dispositivos USB

Tambin va a necesitar acceso a lo siguiente para crear el LiveUSB:

Una computadora ejecutando Gentoo Linux (o alternativamente otra distribucin de Linux)

2. Preparar el llavero USB Particionar el llavero Aviso: Estas instrucciones borrarn todos los datos del llavero USB. Asegrese de respaldar sus datos antes. Importante: Este COMO asume que el nodo de dispositivo /dev/sdc corresponde a su llavero USB. Si tiene otros dispositivos de tipo SCSI, asegrese de usar el nodo de dispositivo adecuado. Cree una particin FAT16 en su llavero USB y mrquela como arrancable usando fdisk. A continuacin se presenta un ejemplo del esquema de particionamiento: Nota: Si el llavero es de 4GB o mayor, use el tipo de particin type b (W95 FAT32). Listado de Cdigo 2.1: Ejemplo de esquema de particionamiento
# fdisk -l /dev/sdc Disk /dev/sdc: 2063 MB, 2063597056 bytes 255 heads, 63 sectors/track, 250 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot /dev/sdc1 * Start 1 End 250 Blocks 2008124+ Id 6 System FAT16

Crear el sistema de ficheros Cree un sistema de ficheros FAT16 en el llavero USB usando mkdosfs: Nota: Si el llavero es de 4GB o mayor, use el tipo de particin type b (W95 FAT32). Listado de Cdigo 2.2: Ejecutar mkdosfs
(Asegrese de tener instalado sys-fs/dosfstools) # emerge -av sys-fs/dosfstools # mkdosfs -F 16 /dev/sdc1 mkdosfs 2.11 (12 Mar 2005)

Instalar el Registro de Arranque Maestro (Master Boot Record) Instale el Registro de Arranque Maestro precompilado (MBR) desde syslinux en el llavero USB: Listado de Cdigo 2.3: Instalar el MBR
(Asegrese de tener instalado sys-boot/syslinux-3.00 o ms reciente) # emerge -av '>=sys-boot/syslinux-3' # dd if=/usr/share/syslinux/mbr.bin of=/dev/sdc 0+1 records in 0+1 records out 304 bytes (304 B) copied, 0.0162317 s, 18.7 kB/s

3. Copiar los ficheros al llavero Montar el CD de instalacin de Gentoo Linux Descargue el CD de instalacin mnimo semanal para su arquitectura del servidor espejo Gentoo Linux local y monte la imagen ISO en /mnt/cdrom como se muestra a continuacin: Listado de Cdigo 3.1: Montar la imagen del CD de instalacin de Gentoo Linux
(Cree el punto de montaje /mnt/cdrom/ si fuese necesario) # mkdir -p /mnt/cdrom # mount -o loop,ro -t iso9660 /trayectoria/al/iso.iso /mnt/cdrom

Nota: Si obtiene el mensaje de error Could not find any loop device cuando monte el fichero ISO, tiene que activar la opcin Loopback device support en la configuracin de su ncleo. Montar el LiveUSB Monte el llavero recin formateado en /mnt/usb/ tal como se indica abajo: Listado de Cdigo 3.2: Montar el llavero USB
(Cree el punto de montaje /mnt/usb/ si fuese necesario) # mkdir -p /mnt/usb # mount -t vfat /dev/sdc1 /mnt/usb/

Copiar los ficheros Copie los ficheros del CD de instalacin de Gentoo Linux al LiveUSB. Los ficheros necesitan ser reordenados un poco pues haremos uso del gestor de arranque syslinux en vez de isolinux: Listado de Cdigo 3.3: Copiar los ficheros
# # # # cp mv mv rm -r /mnt/cdrom/* /mnt/usb /mnt/usb/isolinux/* /mnt/usb /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg -rf /mnt/usb/isolinux*

(El ncleo memtest86 tiene que ser renombrado para cargarlo va syslinux) # mv /mnt/usb/memtest86 /mnt/usb/memtest

Ahora puede desmontar la imagen ISO: Listado de Cdigo 3.4: Desmontar la imagen ISO
# umount /mnt/cdrom

Ajustar la configuracin del gestor de arranque Ajuste el fichero de configuracin de syslinux usando sed como se muestra ms abajo. El parmetro slowusb introducir unos retrasos adicionales de antes de tratar de montar el sistema de ficheros. Esto es necesario para permitir que el llavero USB se estabilice al conectarlo. Listado de Cdigo 3.5: Ajustar los parmetros de arranque
# sed -i \ -e "s:cdroot:cdroot slowusb:" \ -e "s:kernel memtest86:kernel memtest:" \ /mnt/usb/syslinux.cfg

4. Instalar un gestor de arranque Desmontar el llavero Asegrese de desmontar el llavero USB antes de instalar el gestor de arranque: Listado de Cdigo 4.1: Desmontar el llavero USB
# umount /mnt/usb

Instalar syslinux Finalmente instale el gestor de arranque syslinux en el llavero USB: Listado de Cdigo 4.2: Ejecutar syslinux
# syslinux /dev/sdc1

Importante: Tendr que ejecutar nuevamente syslinux /dev/sdc1 cada vez que modifique el fichero syslinux.cfg para que los cambios de configuracin tomen efecto. Nota: Si esta es la primera vez que ha usado syslinux, debe modificar /etc/mtools/mtools.conf en el anfitrin. El solo comentar SAMPLE FILE ser suficiente para los fines de esta gua. 5. Usar el LiveUSB Arranque Inserte el llavero USB y encienda su computadora, asegurndose que la BIOS est configurada para que el PC arranque desde el USB. Si todo va bien debera ver el prompt estndar de syslinux. De aqu en adelante debera ser capaz de seguir las instrucciones de instalacin presentes en el Manual de Gentoo.

Вам также может понравиться