Sei sulla pagina 1di 42

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

Manual Gentoo Linux 2008.0 x86 de instalacin sin red


Sven Vermeulen Autor Roy Marples Autor Daniel Robbins Autor Chris Houser Autor Jerry Alexandratos Autor Joshua Saddler Autor Seemant Kulleen Gentoo x86 Developer Tavis Ormandy Gentoo Alpha Developer Jason Huebel Gentoo AMD64 Developer Guy Martin Gentoo HPPA developer Pieter Van den Abeele Gentoo PPC developer Joe Kallar Gentoo SPARC developer 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 Shyam Mani Editor Grant Goodyear Reviewer Gerald J. Normandin Jr. Reviewer Donnie Berkholz Reviewer Ken Nowack Reviewer Lars Weiler Contributor Jos Alberto Surez Lpez Traductor John Christian Stoddart Traductor Jos Luis Rivero Traductor Pgina actualizada 23 de junio, 2013 Esta traduccin ha dejado de tener soporte Contenido: Instalando Gentoo En esta parte aprender cmo instalar Gentoo en su sistema. 1. Acerca de la instalacin Gentoo Linux Los usuarios que no estn familiarizados con Gentoo no siempre saben que Gentoo representa la posibilidad de escoger. 2. Arrancando el LiveCD instalador Utilizando el LiveCD instalador puede arrancar su sistema desde un entorno de ejecucin que le permite instalar Gentoo. 3. Utilizando el instalador Gentoo Linux basado en GTK+ Ahora dispone de la oportunidad de utilizar nuestro instalador grfico para instalar Gentoo. Configure las opciones que necesita a travs de una interfaz sencilla de utilizar y estar listo para comenzar. 4. Utilizando el instalador Gentoo Linux basado en Dialog Tambin dispone de la opcin de utilizar nuestro instalador en modo texto para instalar Gentoo. Configure las opciones que necesita a travs de un sencillo conjunto de mens y estar listo para comenzar. 5. Y ahora qu? Ahora que tenemos un sistema Gentoo, qu hacemos despus? 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 necesita saber definitivamente para mantener el software en su sistema. 2. Los parmetros USE Los parmetros USE son una parte importante de Gentoo. En este captulo aprender a trabajar con ellos y comprender cmo estos parmetros USE interactan con su sistema. 3. Caractersticas de Portage Descubra las caractersticas de Portage, como el soporte para la compilacin distribuida, ccache y an ms. 4. Scripts de inicio Gentoo usa un formato especial para los guiones de inicio, que permite, entre otras cosas, decisiones derivadas de dependencias y guiones virtuales. Este captulo explica estos aspectos y cmo operar con estos guiones.. 5. Variables de entorno Con Gentoo se pueden manejar fcilmente las variables de entorno del sistema. Este captulo explica cmo hacerlo y describe las variables ms comunes. Trabajando con Portage "Trabajando con Portage" cubre en profundidad la herramienta de manejo de software de Gentoo, el sistema Portage. 1. Archivos y directorios Ya que desea conocer Portage en profundidad, le interesar saber donde almacena sus archivos y datos. 2. Configuracin por medio de variables Portage es completamente configurable por medio de diversas variables en el archivo de configuracin o a travs de variables

1 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

de entorno. 3. Mezcla de ramales de software Gentoo suministra software en varias ramas, dependiendo de la estabilidad y soporte de cada arquitectura. "Mezcla de Ramales de Software" le informa cmo configurar estas ramas y cmo redefinir esta separacin de manera individual para cada paquete. 4. Herramientas adicionales de portage El sistema Portage viene con algunas herramientas adicionales que puede hacer que su experiencia con Gentoo sea an mejor. Siga leyendo para averiguar cmo se usa dispatch-conf y otras herramientas. 5. Divergiendo del rbol oficial "Divergiendo del rbol oficial" le dar algunos consejos y trucos para usar su propio rbol Portage, cmo sincronizar solamente las categoras que desee, cmo inyectar paquetes y mucho ms. Configuracin de Redes en Gentoo Una gua comprensible para trabajar con redes en Gentoo. 1. Inicindonos Una gua para poner rpidamente a funcionar el interfaz de red en la mayora de ambientes comunes. 2. Configuracin Avanzada Aqu aprendemos acerca de cmo funciona la configuracin - hace falta conocer esta seccin para aprender a trabajar con redes modularmente. 3. Trabajo Modular con Redes Gentoo permite trabajar con redes de manera flexible - aqu les explicamos cmo escoger entre distintos clientes DHCP, configuracin de "bonding", configuracin de puentes, redes virtuales (VLANs) y ms. 4. Redes Inalmbricas Las redes inalmbricas no son tan sencillas. Esperamos poder ponerlas a trabajar! 5. Agregando Funcionalidad Si tiene espritu de aventura, puede agregar sus propias funciones para trabajar con redes. 6. Manejo de Redes Para usuarios de porttiles o usuarios que mueven sus computadores entre distintas redes.

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. Cuando se instala Gentoo, esto se pone de manifiesto en varias ocasiones: se puede elegir cunto se quiere compilar, cmo instalar Gentoo, qu gestor de registro (logger) prefiere, 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 capacidad de decisin 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, por favor, enve su opinin.

Cmo procedo a instalar Gentoo?


Gentoo Linux proporciona dos versiones de un instalador fcil de utilizar. Un instalador basado en GTK+ (para utilizar en un entorno grfico) y un instalador basado en dialogs para utilizarse en consola. El captulo 3 del manual trata sobre el instalador en GTK+ mientras el captuo 4 lo hace con el basado en dialogs.

De qu opciones dispongo?
Puedes instalar Gentoo de diferentes formas. Puedes descargar e instalar uno de nuestros CDs de instalacin, desde otra distribucin, desde un CD de arranque (como Knoppix), desde un arranque por red, desde un disquete de arranque,etc. Este documento cubre la instalacin utilizando un CD de instalacin Gentoo , un CD autoarrancable que contiene todo lo que necesita para conseguir instalar y ejecutar Gentoo Linux. Existen dos tipos de CDs de instalacin, el CD de instalacin (installCD) o el LiveCD instalador (Installer LiveCD). El CD de instalacin contiene un entorno mnimo con los paquetes necesarios para instalar Gentoo Linux. El LiveCD es un entorno Gentoo completo que puede ser utilizado para mltiples tareas, siendo una de ellas instalar Gentoo Linux. El LiveCD no est disponible para todas las arquitecturas en este momento. Si su arquitectura no tiene LiveCD, este documento se referir al empleo del CD de instalacin universal (Universal InstallCD). Sin embargo, este proceso de instalacin no emplea inmediatamente la ltima versin de los paquetes disponibles; si se est buscando esto, debera leer las instrucciones de instalacin de nuestros manuales Gentoo Linux. Si necesita ayuda para otros tipos de instalacin, por favor lea nuestra Gua de Instalacin Alternativa. Tambin tenemos el documento Trucos y consejos de Instalacin de Gentoo (en ingls) que podra resultar til. Si nota que las instrucciones de instalacin son demasiado detalladas, no dude en utilizar nuestra Referencia Rpida para Instalacin la cual se encuentra entre nuestros recursos de documentacin oficiales si su arquitectura tiene este documento disponible.

Problemas?
Si tienes algn problema con la instalacin (o con el documento de instalacin), por favor, compruebe el error en desde nuestro Proyecto de ingeniera de versiones Gentoo , 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, ste tambin contiene referencias a otras arquitecturas. Esto es as porque el manual de Gentoo tiene partes extensas de cdigo que som 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 se est seguro si el problema es un problema del propio usuario (algn error que se ha cometido por no leer con cuidado la documentacin) o un problema con el software (un error que hemos cometido por no probar la documentacin/instalacin con cuidado), tmese la libertad de entrar #gentoo-es en la red irc.freenode.net. Por supuesto, siempre ser bienvenido independientemente del motivo :) Si tiene cualquier pregunta concerniente a Gentoo, eche un vistazo a las Preguntas de Uso Frecuente, disponibles en la Documentacin de

2 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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

1.b. Instalacin rpida utilizando la Plataforma de Referencia Gentoo Qu es la Plataforma de Referencia de Gentoo?
La Plataforma de Referencia de Gentoo, de ahora en adelante la conoceremos por su abreviatura inglesa GRP (Gentoo Reference Platform), es una imagen de los paquetes precompilados que los usuarios (esto le implica a usted) pueden instalar durante la instalacin de Gentoo para acelerar el proceso de instalacin. La GRP contiene todos los paquetes necesarios para tener una instalacin de Gentoo completamente funcional. No son todos los necesarios que hacen falta para tener una instalacin base preparada en nada de tiempo, pero todas las compilaciones grandes (como puedan ser: xorg-x11, GNOME, OpenOffice, Mozilla, ...) estn disponibles como paquetes GRP. Sin embargo, estos paquetes precompilados no son mantenidos durante la toda la vida de la distribucin de Gentoo. Son simplemente imgenes creadas con cada distribucin de Gentoo y hacen posible tener un sistema funcional en poco tiempo. Puede actualizar el sistema en segundo plano mientras trabaja con su entorno Gentoo.

Cmo gestiona Portage los Paquetes GRP


Su rbol de Portage - la coleccin de ebuilds (los archivos que contienen toda la informacin sobre un paquete, como es su descripcin, pgina oficial, las URLs de cdigo fuente, instrucciones de compilacin, dependencias, etc.) - debe sincronizarse con los GRP: las versiones de los ebuilds disponibles y su correspondiente paquete GRP deben coincidir. Por esta razn solamente se puede beneficiar de los paquetes GRP que Gentoo suministra mientras se est llevando a cabo la instalacin actual. GRP no est disponible para los interesados en llevar a cabo una instalacin utilizando las ltimas versiones de los paquetes disponibles.

Puedo utilizar GRP?


No se proporcionan paquetes GRP para todas las arquitecturas. Esto no significa que GRP no est soportado por el resto de arquitecturas, pero significa que no disponemos de todos los recursos necesarios para compilar y probar los paquetes GRP. Por el momento proporcionamos paquetes GRP para las siguientes arquitecturas: La arquitectura amd64 (amd64). Nota: los paquetes estn disponibles en el LiveCD instalador. La arquitectura ppc (ppc32) La arquitectura sparc (sparc64) La arquitectura x86 (athlon, athlon-xp, athlon-mp, pentium-pro, pentium2, pentium3, pentium4 and pentium-m) Nota: Los paquetes son para i686 y estn disponibles en el LiveCD instalador. Si su arquitectura (o subarquitectura) no est en la lista, no podr utilizar la opcin GRP durante la instalacin. Ahora que ha terminado la introduccin, continuemos con Arrancando el CD de instalacin Universal/LiveCD instalador.

2. Arrancando el LiveCD instalador


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

Requisitos Hardware
CPU Memoria Espacio en disco Espacio de intercambio
i686 o posterior 256M B 1.5 GB (excluyendo el espacio de intercambio (swap)) Al menos 256 M B

2.b. El LiveCD instalador Gentoo Linux Introduccin


Un LiveCD es un CD autoarrancable que contiene un entorno Gentoo auto-contenido. Permite arrancar Linux desde el CD. Durante el proceso de arranque se detecta el hardware y se cargan los controladores apropiados. Estos CDs son mantenidos por los desarrolladores de Gentoo. Actualmente tenemos dos CDs de instalacin disponibles: El LiveCD instalador contiene todo aquello que necesita para instalar Gentoo. Proporciona un entorno grfico, un instalador grfico o basado en consola el cual llevar a cabo la instalacin automticamente y, por su puesto, las instrucciones de instalacin para su arquitectura. El CD de instalacin Minimal solamente contiene un entorno mnimo que le permite arrancar y configurar la red para que pueda conectarse a Internet. No contiene ningn archivo adicional y no puede utilizarse para ste proceso de instalacin (recordemos que estamos en las instrucciones para llevar a cabo la instalacin sin conexin a la red).

2.c. Descargar, Grabar y Arrancar el LiveCD instalador Gentoo Descargar y Grabar los CDs de instalacin
Puede descargar cualquiera de los CD de instalacin (y si quiere, tambin un CD de Paquetes) desde uno de nuestros espejos. Los CDs de instalacin se encuentran en el directorio releases/x86/2008.0/livecd. Dentro del directorio encontrar los llamados archivos ISO. Estos son imgenes de CD completas que puede grabar en un CD-R. Despus de descargar el archivo, puede verificar su integridad para conocer si est corrupto o o: Puede verificar la suma de control MD5 de su archivo y compararla con la que nosotros proporcionamos (por ejemplo con la herramienta md5sum bajo Linux/Unix o con md5sum en Windows).

3 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

Puede verificar la firma criptogrfica que proporcionamos. Necesita obtener la clave pblica que hemos utilizado (17072058) antes de seguir. Para comprobar la clave pblica utilizando GnuPG, ejecute el siguiente comando:
Listado de Cdigo 3.1: Obtener la clave pblica $ gpg --keyserver subkeys.pgp.net --recv-keys 17072058

Ahora verificamos la firma:


Listado de Cdigo 3.2: Verificar la firma criptogrfica $ gpg --verify <archivo de firma> <archivo iso>

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 LiveCD instalador


Importante: Lea completamente esta subseccin antes de continuar, probablemente no tendr la oportunidad de leerla mientras est haciendo cosas luego.

Una vez que ha grabado el LiveCD instalador, es hora de arrancarlo. 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 LiveCD de instalacin en la unidad CD-ROM y reinicie. Deber ver un smbolo de espera de rdenes. En esta pantalla puede oprimir la tecla Enter para empezar el proceso de arranque con las opciones predefinidas, o arrancar el LiveCD de instalacin con opciones personales especificando un kernel seguido por las opciones de arranque y luego oprimir la tecla Enter. Especificamos un kernel? S, ya que proporcionamos varios en nuestro LiveCD de instalacin. El predeterminado es gentoo. Otros ncleos son para hardware especfico que necesitan las variantes -nofb que tienen desactivado el framebuffer. Ms adelante encontrar una breve descripcin de los kernels disponibles:
Kernel
gentoo gentoo-nofb memtest86

Descripcin
Kernel 2.6 por defecto con soporte para mltiples CPUs Idntico a gentoo pero sin soporte de framebuffer Para verificar su memoria RAM para errores

Tambin puede pasarle opciones al kernel. Estas representan configuraciones opcionales que puede activar o desactivar. La siguiente lista es la misma que se muestra al presionar una de las teclas de F2 a F7 en la pantalla de arranque. 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

4 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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 kernel (si no est contento con el kernel predeterminado gentoo) y las opciones de arranque. Por ejemplo, aqu le mostramos como arrancar el kernel gentoo, con el parmetro dopmcia:
Listado de Cdigo 3.3: Arrancar un CD de 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 Alt-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 iniciar Gnome y se registrar en el sistem "Live" Gentoo Linux como usuario "gentoo" en modo grfico. Estar registrado en el sistema como "root" (superusuario), en las otras consolas y debera tener un smbolo de root ("#") all. Puede cambiar entre las consolas presionando Alt-F2, Alt-F3, Alt-F4, Alt-F5, Alt-F6. Para volver al escritorio grfico en el que comenz debera presionar Alt-F7. Para cambiar a otras consolas desde dentro de las X, debe utilizar la misma combinacin precedida de Ctrl. Ser capaz de ejecutar comandos como root desde cualquier terminal desde el entorno grfico utilizando el comando sudo. Puede incluso llegar a ser root desde un terminal para ejecutar mltiples tareas.
Listado de Cdigo 3.4: Utilizar sudo para ejecutar aplicaciones (Solamente un ejemplo) (Editar el fichero group) # sudo vi /etc/group (Convertirse en root durante una sesin) # sudo su -

Configurando Hardware Adicional


Cuando arranca el LiveCD, 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. Necesitar privilegios de root para hacer esto. En el siguiente ejemplo trataremos de cargar el mdulo 8139too (que da soporte a ciertos tipos de interfaces de red):
Listado de Cdigo 3.5: Cargar mdulos del kernel # modprobe 8139too

Opcional: Cuentas de Usuarios

5 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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. Es necesario tener acceso como root para cambiar la contrasea del propio root y de los nuevos usuarios. Para cambiar la contrasea de root, use passwd:
Listado de Cdigo 3.6: Cambiar la contrasea de root $ sudo su # 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 "john".
Listado de Cdigo 3.7: Crear una cuenta de usuario # useradd john # passwd john New password: (Escriba la contrasea de john) Re-enter password: (Escriba otra vez la contrasea de john)

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

Puede adems cambiar la contrasea del usuario "gentoo" en el entorno grfico. Esta cuenta est ya lista para ser usada en Internet.
Listado de Cdigo 3.9: Cambiar la contrasea a gentoo $ passwd New password: (Escriba la nueva contrasea) Re-enter password: (Vuelva a escribir la nueva contrasea)

Opcional: Ver la Documentacin mientras se instala


Si se quiere ver el Manual Gentoo (ya sea desde el CD o en lnea) durante la instalacin, se puede utilizar Mozilla Firefox (desde el entorno grfico) o utilizar links (desde un entorno de consola).
Listado de Cdigo 3.10: Ver la documentacin del CD con Firefox # firefox /mnt/cdrom/docs/handbook/html/index.html

Si prefiere utilizar links para ver una versin slo texto del manual, asegrese de crear una cuenta de usuario (ver Opcional: cuentas de usuario. Despus presione, Alt-F2 para ir a un nuevo terminal y entrar en el sistema.
Listado de Cdigo 3.11: Ver la documentacin del CD con links # links /mnt/cdrom/docs/html/index.html

Puede regresar a su ventana original presionando Alt-F7. Sin embargo, es preferible que use el Manual Gentoo en lnea ya que es ms reciente que el Manual en el CD. Tambin puede verlo utilizando Firefox o links, pero solo despus de haber completado el captulo Configurar su Red (de otro modo no podr usar Internet para ver el documento):
Listado de Cdigo 3.12: Ver la documentacin en Internet con Firefox # firefox http://www.gentoo.org/doc/es/handbook/2008.0/es/handbook-x86.xml Listado de Cdigo 3.13: Ver la documentacin en Internet con links # links http://www.gentoo.org/doc/es/handbook/2008.0/es/handbook-x86.xml

Ahora puede elegir entre utilizar el Instalador basado en GTK+ (el cual necesita X) o el Instalador basado en Dialogs que se puede ejecutar desde consola.

3. Utilizando el instalador Gentoo Linux basado en GTK+


3.a. Bienvenido Antes de comenzar
Una vez que el instalador de Gentoo Linux (GLI) ha terminado de cargarse, se mostrar la pantalla bienvenida. Se encarga de realizar una introduccin amigable al proceso de instalacin de Gentoo en su ordenador. Recuerde leer cada opcin con cuidado. Se dispone de ayuda detallada para cada paso de la instalacin; simplemente presione Help en la esquina inferior izquierda del instalador. Recomendamos leer siempre la ayuda que se proporciona antes de elegir opciones. Tenga en cuenta que en cualquier momento del proceso de instalacin puede guardar progreso realizado en la configuracin en caso de que necesite retomarla en un futuro.

3.b. Particionar (Partitioning) Preparar los discos


Para instalar Gentoo en el ordenador, necesitaremos preparar los discos. La pantalla Partitioning mostrar una lista de discos detectados y le permitir especificar que sistemas de ficheros se quieren instalar en las particiones. Si se selecciona Clear partitions se eliminarn todas las particiones del disco, as que tenga cuidado con esta opcin!. Tambin es posible cambiar el tamao de determinados tipo de particiones. Si se elige el camino Recommended layout, el instalador eliminar todas las particiones existentes en su disco y crear tres nuevas: 100MB para /boot, una particin /swap de 512MB, y el resto del espacio disponible en el disco ser usado para /, la particin de root.
Aviso: Al igual que el resto de aplicaciones de particionamiento, debera realizar una copia de seguridad en su sistema antes de realizar cualquier cambio a la tabla de particiones, ya que cualquier posible bug podra causar la perdida de datos. Cualquier cambio que se realiza a la tabla de particiones ser ejecutado por el instalador de inmediato.

6 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

3.c. Zona horaria Elegir la zona horaria


Consulte el mapa y seleccione la regin ms prxima a su localizacin actual. Posteriormente, se preguntar si se desea que el reloj est ajustado a UTC o a la hora local.

3.d. Red (Networking) Informacin sobre el dispositivo


En esta pantalla, se pueden configurar los diferentes dispositivos de interfaces de red que se detectaron en el ordenador. Lea las opciones disponible con cuidado. En la pestaa Hostname/Proxy Information/Other , se necesita elegir que nombre de mquina se va a utilizar. Tambin puede especificar un servidor proxy y la configuracin DNS, si fuera necesario.

3.e. Usuarios (Users) Aadir usuarios y grupos


Primero configure su contrasea de root para el administrador del sistema (el usuario root). Recomendamos encarecidamente que cree un usuario normal para su trabajo diario. Trabajar como root todo el tiempo es peligroso y debera evitarse! Cree los usuarios, aadalos a los grupos correspondientes y configure sus contraseas. Puede opcionalmente cambiar sus directorios home, seleccionar la shell de acceso o escribir comentarios tiles.

3.f. Paquetes adicionales (Extra Packages) Opcional: instalar paquetes adicionales


El LiveCD contiene cierto nmero de paquetes pre-construidos disponibles. Si se quiere instalar cualquiera de ellos, marque la casilla apropiada.

3.g. Servicios al inicio (Startup Services)


Esta pantalla le permite elegir los diversos servicios que sern cargados cuando el sistema arranque. Estudie las opciones disponibles con atencin, y seleccione los servicios que desea. Por ejemplo, si ha elegido instalar xorg-x11 y quiere arrancar directamente con un escritorio grfico, entonces seleccione "xdm" en la lista.

3.h. Otras configuraciones (Other Settings) Opciones generales


Ahora ser capaz de elegir varias configuraciones, incluyendo el mapa del teclado, el gestor de sesiones grfico, el editor por defecto y si quiere configurar el reloj hardware a UTC o a la hora local.

3.i. Terminar
Llegeados a este punto, est todo listo. Se puede reiniciar y entrar en el nuevos sistema Gentoo en cualquier momento. Felicidades, su sistema est totalmente equipado! Continu con A donde ir desde aqu? para conocer ms sobre Gentoo.

4. Utilizando el instalador Gentoo Linux basado en Dialog


4.a. Bienvenido Antes de comenzar
Despus de arrancar el LiveCD instalador de Gentoo Linux, tratar de cargar un escritorio grfico. Si no es capaz de hacerlo, mostrar en su lugar un intrprete de comandos. Para lanzar el instalador, simplemente teclee:
Listado de Cdigo 1.1: Arrancar el instalador # installer-dialog

El Instalador Gentoo Linux (GLI) muestra una introduccin amigable al proceso de instalacin de Gentoo en su ordenador. Recuerde leer cada opcin con cuidado. Se dispone de ayuda para cada paso de la instalacin en la parte superior de la pantalla. Recomendamos leer siempre la ayuda que se proporciona antes de elegir opciones. Tenga en cuenta que en cualquier momento del proceso de instalacin puede guardar progreso realizado en la configuracin en caso de que necesite retomarla en un futuro. Use la tecla Tab (en su teclado) para moverse entre los mens de una pantalla y Enter para confirmar una accin.

4.b. Particionar (Partitioning) Preparar los discos


Para instalar Gentoo en el ordenador, necesitaremos preparar los discos. La pantalla Partitioning mostrar una lista de discos detectados y le permitir especificar que sistemas de ficheros se quieren instalar en las particiones. Si se selecciona Clear partitions se eliminarn todas las particiones del disco, as que tenga cuidado con esta opcin!. Si se elige el camino Recommended layout, el instalador crear tres particiones: 100MB para /boot, una particin /swap de 512MB, y el resto del espacio disponible en el disco ser usado para /, la particin de root.
Aviso: Al igual que el resto de aplicaciones de particionamiento, debera realizar una copia de seguridad en su sistema antes de realizar cualquier cambio a la tabla de particiones, ya que cualquier posible bug podra causar la perdida de datos. Cualquier cambio que se realiza a la tabla de particiones ser ejecutado por el instalador de inmediato.

7 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

4.c. Configuracin del sistema Zona horaria


Compruebe la lista y seleccione la regin ms cercana a su actual localizacin.

Red (Networking)
En esta pantalla, se pueden configurar los diferentes dispositivos de interfaces de red que se detectaron en el ordenador. Lea las opciones disponible con cuidado. La siguiente pantalla da la posibilidad de elegir entre DHCP y una configuracin de la direccin IP manual. Una vez se configure el interfaz correctamente, se necesita crear el nombre de mquina para su sistema. Opcionalmente, se puede especificar un nombre de dominio y cualquier informacin sobre servidores DNS que se necesite.

Usuarios y grupos (Users and groups)


Primero configure su contrasea de root para el administrador del sistema (el usuario root). Recomendamos encarecidamente que cree un usuario normal para su trabajo diario. Trabajar como root todo el tiempo es peligroso y debera evitarse! Cree los usuarios, aadalos a los grupos correspondientes y configure sus contraseas. Puede opcionalmente cambiar sus directorios home, seleccionar la shell de acceso o escribir comentarios tiles.

Paquetes adicionales (Extra Packages)


El LiveCD contiene cierto nmero de paquetes pre-construidos disponibles. Si se quiere instalar cualquiera de ellos, marque la casilla apropiada.

Servicios al inicio (Startup Services)


Esta pantalla le permite elegir los diversos servicios que sern cargados cuando el sistema arranque. Estudie las opciones disponibles con atencin, y seleccione los servicios que desea. Por ejemplo, si ha elegido instalar xorg-x11 y quiere arrancar directamente con un escritorio grfico, entonces seleccione "xdm" en la lista.

Otras configuraciones (Other Settings)


Ahora ser capaz de elegir varias configuraciones, incluyendo el mapa del teclado, el gestor de sesiones grfico, el editor por defecto y si quiere configurar el reloj hardware a UTC o a la hora local.

4.d. Terminar
El instalador le preguntar si quiere guardar su prfil de instalacin para utilizarlo posteriormente. El instalador le informar cuando haya terminado. Le devolver al prompt del sistema cuando esto suceda. Todo lo que necesita hacer es reiniciar escribiendo:
Listado de Cdigo 4.1: Reiniciar # shutdown -r now

Felicidades, su sistema est totalmente equipado! Continu con A donde ir desde aqu? para conocer ms sobre Gentoo.

5. Y ahora qu?
5.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 se debera ojear la siguiente parte del Manual de Gentoo titulada Trabajando con Gentoo la cual explica cmo mantener su software actualizado, cmo instalar ms software, qu parmetros USE existen, cmo funciona el sistema de arranque 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.

5.b. Gentoo en lnea


Por supuesto, usted es siempre bienvenido a nuestros Foros de Gentoo o a alguno de nuestros canales de IRC. Tambin tenemos varias listas de correo abiertas para 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 :)

5.c. Cambios en Gentoo desde 2008.0 Cambios?


Gentoo est en continuo movimiento. Las siguientes secciones describen importantes cambios que afectan a la instalacin de Gentoo. Solamente se recogen aquellos comunes a la instalacin, no los cambios de paquetes que no ocurren durante la instalacin. No se han producido cambios significativos.

B. Trabajando con Gentoo


1. Introduccin al sistema Portage

8 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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/cups-pdf/ 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

9 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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:

10 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

Listado de Cdigo 3.13: Realizar una actualizacin completa # emerge --update --deep --with-bdeps=y --newuse world

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

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/portage/make.conf:
Listado de Cdigo 4.1: ACCEPT_LICENSE por defecto en /etc/portage/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/portage/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/portage/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

11 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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 una dependencia "exclusiva" del servicio de registro en el paquete virtual logger de la categora virtual, de esta forma las aplicaciones pueden depender del paquete virtual/logger. Cuando se instala el paquete, se obtendr el primer paquete de registro mencionado, a menos que ya se haya instalado previamente un paquete que ofrezca el servicio (en este caso, la dependencia virtual ya est satisfecha). 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/mplayer1.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 !!! all ebuilds that could satisfy "bootsplash" have been masked. Listado de Cdigo 5.4: Aviso de Portage sobre paquetes enmascarados - razn !!! 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))

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/portage/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

12 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

emerge: there are no ebuilds built with USE flags to satisfy "app-text/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/portage/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: Homepage: Description: License: [ Masked ] available: 1.1.15 installed: [ Not Installed ] 10,032 kB 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 / app-text/ghostscript-7.05.3-r1 ebuild / app-text/ghostscript-7.05.3-r1 depends on ebuild / net-print/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

13 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

>>> 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 directriz de 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 solo 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/portage/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 13.0:
Listado de Cdigo 2.1: Variable USE acumulada de make.defaults para el perfil 13.0 (Este es un ejemplo de la suma de configuraciones en: base, default/linux, default/linux/x86 y default/linux/x86/13.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 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/portage/make.conf. En esta variable aada los parmetros USE que necesite o elimine los que no quiera. Para eliminarlos coloque el smbolo menos ("-") delante.

14 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

Por ejemplo, para eliminar el soporte para KDE y QT adems de aadir soporte para ldap, puede definirse el siguiente parmetro USE en /etc/portage/make.conf:
Listado de Cdigo 2.2: Un ejemplo de confirmacin USE en /etc/portage/make.conf USE="-kde -qt4 ldap"

Declarar parmetros USE para paquetes especficos


A veces le interesar establecer un cierto parmetro USE tan solo 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 solo una vez. En lugar de editar /etc/portage/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: Utilizar 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/portage/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: Ejecutar emerge info # emerge --info

Adaptar 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: Recompilar todo el 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: Desinstalar 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: Ejecutar 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):

15 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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: Instalar 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: Utilizar 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/portage/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: Consultar 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 Usar 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.

Instalar 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: Instalar distcc # emerge distcc

Activar el soporte en Portage


Aada distcc a la variable FEATURES dentro de /etc/portage/make.conf. Hecho esto, edite la variable MAKEOPTS conforme a sus necesidades. Una pauta conocida para configurarla es poner -jX con X representando el nmero de CPUs que ejecutan distccd (incluyendo la mquina 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: Configurar 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:

16 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

Listado de Cdigo 2.3: Arrancar 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/portage/make.conf) antes de informar de una incidencia bug. A menos que est realizando trabajo de desarrollo, no active ccache.

Instalar ccache
Para instalar ccache, ejecute emerge ccache:
Listado de Cdigo 3.1: Instalar ccache # emerge ccache

Activar el Soporte en Portage


Primero, edite el fichero /etc/portage/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 "2G":
Listado de Cdigo 3.2: Editar CCACHE_SIZE en /etc/portage/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: Observar 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/portage/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.

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

Instalar 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: Configurar PORTAGE_BINHOST en /etc/portage/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: Instalar el paquete precompilado gnumeric

17 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

# 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 4.3: Leyendo la pgina de ayuda sobre emerge $ man emerge

3.e. Descargar los 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). Puede encontrar una lista de las claves GPG usadas por el equipo en ingeniera de lanzamientos en su pgina de proyecto.
Listado de Cdigo 6.1: Crear un almacn de confianza para Portage # mkdir -p /etc/portage/gpg # chmod 0700 /etc/portage/gpg (... Sustituya las claves con las mencionadas en el sitio del proyecto de ingeniera de lanzamientos ...) # gpg --homedir /etc/portage/gpg --keyserver subkeys.pgp.net --recv-keys 0x239C75C4 0x96D8BF6D # gpg --homedir /etc/portage/gpg --edit-key 0x96D8BF6D trust

A continuacin, edite el fichero /etc/portage/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 inicio
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

18 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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 rdenes se deben ejecutar 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 1.7: 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

19 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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

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

La orden 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/portage/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

20 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

#!/sbin/runscript depend() { (Informacin acerca de las dependencias) } start() { (rdenes requeridas para iniciar el servicio) } stop() { (rdenes 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()

21 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

depend() { need localmount after bootmisc }

Funciones estndar
Junto con la funcin depend(), har falta definir la funcin start(), que contiene las rdenes necesarias 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 POSIX, de manera que es libre de usar construcciones compatibles con sh dentro del guin de inicio. No utilice otras construcciones, por ejemplo las del tipo bash, en los guiones de inicio para asegurarse de que los guiones funcionen en el futuro incluso si se cambia el sistema de inicio de Gentoo.

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.

22 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

/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
PATH

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

23 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

ROOTPATH LDPATH M ANPATH INFODIR PAGER EDITOR KDEDIRS CONFIG_PROTECT CONFIG_PROTECT_M ASK

Esta variable tiene la misma funcin que PATH, pero nicamente contiene los directorios que el sistema debe revisar cuando el usuario root introduce una orden. 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 los cuales la orden man buscar las pginas de manual. Esta variable contiene una lista de directorios separados por ":" en la cual la orden info buscar las pginas info. Esta variable contiene la ruta hacia el programa utilizado para mostrar el contenido de los ficheros (como less o more). Esta variable contiene la ruta hacia el programa utilizado para modificar el contenido de los archivos (como nano o vi). Esta variable contiene una lista de directorios separados por ":" los cuales contienen material especfico de KDE. Esta variable una lista de directorios separados por espacio los cuales deben ser protegidos por Portage durante las actualizaciones. Esta variable una lista de directorios separados por espacio 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-linux-gnu/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 dgitos 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: ADA_INCLUDE_PATH, ADA_OBJECTS_PATH, CLASSPATH, KDEDIRS, PATH, LDPATH, MANPATH, INFODIR, INFOPATH, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK, PRELINK_PATH, PRELINK_PATH_MASK, PKG_CONFIG_PATH y PYTHONPATH. Para el resto de variables, se utiliza el ltimo valor definido (en orden alfabtico de ficheros en /etc/env.d). Puede incluir ms variables en esta lista de variables concatenadas aadiendo el nombre de la variable a la variable COLON_SEPARATED o a la variable SPACE_SEPARATED (definidas tambin en el fichero env.d). 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 la siguiente orden 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

24 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

# env-update && source /etc/profile Nota: La orden anterior actualiza nicamente las variables en la terminal actual, en las nuevas consolas y sus hijas. Sabiendo esto, si se est trabajando en X11, necesitar ejecutar source /etc/profile en las nuevas terminales que abra o reiniciar las X para que las nuevas terminales definan las nuevas variables. Si est utilizando un gestor de inicio, convirtase en root y ejecute /etc/init.d/xdm restart. En caso contrario, necesitar salir de la sesin y volver a entrar para que 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 la orden 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/portage/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/portage/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/portage/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/portage/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

25 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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/portage/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/portage/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. info: Registra los mensajes "einfo" generados por un ebuild warn: Registra los mensajes "ewarn" generados por un ebuild error: Registra los mensajes "eerror" generados por un ebuild log: Registra los mensajes "elog" encontrados en algunos ebuilds 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,

26 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

save_summary y mail_summary. Debe seleccionar al menos un mdulo para poder usar elog. save: Almacena un registro por paquete en $PORT_LOGDIR/elog, o /var/log/portage/elog si $PORT_LOGDIR no est definido. custom: Pasa todos los mensajes a una orden definida por el usuario en $PORTAGE_ELOG_COMMAND; esto se discutir ms adelante. syslog: Enva todos los mensajes al gestor de registro de sistema instalado. 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. 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. mail_summary: parecido a mail, pero enva todos los mensajes en un solo mensaje de correo cuando emerge finaliza. PORTAGE_ELOG_COMMAND: Esto solamente se usa al activarse el mdulo custom. Aqu podemos especificar una orden con la cual se procesarn los mensajes de registro. Observe que puede hacer uso de dos variables de entorno: ${PACKAGE} es el nombre del paquete y la versin, mientras que ${LOGFILE} es la ruta absoluta del archivo de registro. A continuacin se muestra un posible uso: 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 autenticacin con nombre de usuario y contrasea en un puerto en particular (el puerto por defecto es el 25): 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/portage/make.conf. Por favor, consulte la pgina man de make.conf para una informacin ms completa:
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 a la orden 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 de la orden 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

27 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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.

rdenes para descargar


Cuando Portage requiera descargar fuentes, utiliza por defecto la orden 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 la orden rsync usada 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 espacios 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. --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. --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. --quiet: Reduces output to the screen --verbose: Prints a complete filelist --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

28 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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

29 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

Por ejemplo, si no quiere que Portage instale otras fuentes del ncleo que no sean gentoo-sources-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

30 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

ed: eb: el: er: e: l: r: s: v: q:

Editar usando ambas versiones, cada una decorada con una cabecera. Editar usando ambas versiones. Editar usando la versin de la izquierda. Editar usando la versin de la derecha. Editar una nueva versin. Usar la versin de la izquierda. 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 definir el nombre del fichero que contiene los patrones de exclusin en la variable PORTAGE_RSYNC_EXTRA_OPTS de su /etc/portage/make.conf.
Listado de Cdigo 1.1: Definir el archivo de exclusiones en /etc/portage/make.conf PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes" Listado de Cdigo 1.2: Excluir todos los juegos en /etc/portage/rsync_excludes games-*/*

Recuerde que esto puede provocar ciertos problemas con las dependencias, ya que paquetes nuevos y aceptados en su sistema pueden depender de otros excluidos.

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/portage/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 la orden:
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 ncleo 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

31 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

sys-kernel/gentoo-sources-2.6.11.6

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 eno0, ens1, wlan0, enp1s0 etc.

Para comenzar a configurar su tarjeta de red, necesitamos que el sistema RC (guiones de inicio) de Gentoo la reconozca. Esto se hace creando un enlace simblico desde net.lo a net.eth0 (o el nombre que tenga la interfaz de red en su sistema) 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 una IP esttica usando notacin CIDR config_eth0="192.168.0.7/24" routes_eth0="default via 192.168.0.1" dns_servers_eth0="192.168.0.1 8.8.8.8" # Para una 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" dns_servers_eth0="192.168.0.1 8.8.8.8" 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 las siguientes rdenes:
Listado de Cdigo 1.3: 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. La ltima orden "rc" indica a Gentoo que inicie todos los guiones en el nivel de ejecucin actual que todava no se hayan sido iniciado.
Listado de Cdigo 1.4: Configurar 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 orden en la lista de instrucciones se ejecuta de manera secuencial. La interfaz ser evaluada como OK si, al menos, un orden funciona. Aqu tiene una lista de instrucciones integradas:
Orden
null noop una direccin IPv4 o IPv6 dhcp,adsl o apipa (o una orden propia perteneciente a un mdulo de terceras partes)

Descripcin
No hace nada Si la interfaz est funcionando y existe una direccin entonces aborta la configuracin con xito. Aade la direccin a la interfaz Ejecuta el mdulo que proporciona la orden. Por eje mplo dhcp ejecutar un mdulo que proporcione dhcp, que pudiera ser uno cualquiera de los siguientes: dhcpcd, dhclient o pump.

Si una orden falla, puede especificar una orden de retorno (fallback). El retorno tiene que coincidir exactamente con la estructura de la configuracin. Puede encadenar estas rdenes. A continuacin se muestran algunos ejemplos 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

32 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

4321:0:1:2:3:4:567:89ab 4321:0:1:2:3:4:567:89ac" # Mantener la direccin asignada por el ncleo, 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 ncleo 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, la orden apipa se ejecutara solo si la orden 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)

2.d. Nombrado de las interfaces de red Cmo funciona


Los nombres de la interfaces de red no se obtienen de forma arbitraria, el ncleo Linux y el gestor de dispositivos (la mayora de sistemas utilizan udev como gestor de dispositivos, aunque existen otros) obtiene el nombre de la interfaz mediante una serie de reglas prefijadas. Cuando se detecta una interfaz en un sistema, el ncleo Linux recolecta los datos disponibles para esa tarjeta de red. Estos datos incluyen: 1. el nombre registrado de tarjeta de red (en la propia interfaz) y que ms tarde se podr obtener a travs del parmetro ID_NET_NAME_ONBOARD; 2. la ranura en la cual se ha insertado la tarjeta de red y que ms tarde se podr obtener a travs del parmetro ID_NET_NAME_SLOT;

33 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

3. la ruta a travs de la cual se accede a la tarjeta de red y que ms tarde se podr obtener a travs del parmetro ID_NET_NAME_PATH; 4. la direccin MAC (que ofrece el fabricante) de la tarjeta y que ms tarde se podr obtener mediante el parmetro ID_NET_NAME_MAC; Basndose en esta informacin, el gestor de dispositivos decide como nombrar a las interfaces presentes en el sistema. Por defecto, utiliza el primero de los tres primeros parmetros que se muestran arriba (ID_NET_NAME_ONBOARD, _SLOT o _PATH). Por ejemplo, si se encuentra un valor para ID_NET_NAME_ONBOARD y ste es eno1, entonces la interfaz de red se llamar eno1. Si sabe el nombre de su interfaz, puede ver los valores de los parmetros mediante la orden udevadm:
Listado de Cdigo 4.1: Leer la informacin de la tarjeta de interfaz de red # udevadm test-builtin net_id /sys/class/net/enp3s0 2>/dev/null ID_NET_NAME_MAC=enxc80aa9429d76 ID_OUI_FROM_DATABASE=Quanta Computer Inc. ID_NET_NAME_PATH=enp3s0

Como el primer (y realmente el nico) de los parmetros que aparecen es ID_NET_NAME_PATH, su valor se utiliza para nombrar al interfaz de red. Si no se encuentra ninguno de los parmetros, entonces el sistema utiliza los nombres que ofrece el ncleo (eth0, eth1, etc.)

Utilizar el nombrado al viejo estilo del ncleo


Antes de este cambio, era el ncleo el que pona los nombres a las tarjetas de red, dependiendo del orden en el que se cargaran sus controladores (entre otras, probablemente oscuras razones). Este comportamiento se puede an activar definiendo la opcin net.ifnames=0 en el gestor de arranque. Otra forma de deshabilitar este comportamiento (y as, volver a los nombres que utilizaba el ncleo anteriormente), es crear una regla para udev vaca y llamarla 80-net-name-slot.rules, la cual sustituir a la regla ofrecida por el paquete udev (que tiene el mismo nombre) responsable del nombrado de las interfaces de red.
Listado de Cdigo 4.2: Sustituir el esquema de nombrado de red # ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

Usar sus propios nombres


La idea detrs de este cambio en el nombrado es la de no confundir a la gente y hacer los cambios de nombre de forma fcil. Suponga que tiene dos interfaces que se llamaran eth0 y eth1. Una se utiliza para acceder a la red a travs de cable y la otra es inalmbrica. Con el soporte para el nombrado de interfaces, puede llamarlas lan0 (cableada) y wifi0 (inalmbrica, es mejor evitar usar los nombres anteriores bien conocidos como eth* y wlan* ya que todava pueden parecerse a los nombres que hemos sugerido). Todo lo que necesita ahora es encontar los parmetros para las tarjetas y utilizar esta informacin para definir su propia regla de nombrado:
Listado de Cdigo 4.3: Definir el nombre lan0 para la interfaz actual eth0 # udevadm test-builtin net_id /sys/class/net/eth0 2>/dev/null ID_NET_NAME_MAC=enxc80aa9429d76 ID_OUI_FROM_DATABASE=Quanta Computer Inc. # vim /etc/udev/rules.d/76-net-name-use-custom.rules # La primera utilizar informacin de la direccin MAC SUBSYSTEM=="net", ACTION=="add", ENV{ID_NET_NAME_MAC}=="enxc80aa9429d76", NAME="lan0" # La segunda utilizar informacin del parmetro ID_NET_NAME_PATH SUBSYSTEM=="net", ACTION=="add", ENV{ID_NET_NAME_PATH}=="enp3s0", NAME="wifi0"

Debido a que las reglas se disparan antes de la regla por defecto (las reglas se disparan en orden alfanumrico, por lo que la 70 se lee antes que la 80), los nombres ofrecidos en el fichero de reglas se utilizarn en lugar de los que se usan por defecto. El nmero asignado al fichero debera estar entre 76 y 79 (las variables de entorno se definen mediante una regla que comienza por 75 y el nombrado por defecto lo realiza una regla con el nmero 80).

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

34 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

# 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 DHCP
dhclient

Paquete
net-misc/dhcp

Pros
Creado por la ISC, la misma gente que hacen el software dns BIND. M uy configurable Durante largo tiempo ha sido la opcin por defecto de Gentoo, no depende de herramientas externas, activamente desarrollada por Gentoo. Ligero, no depende de herramientas externas.

Contras
Configuracin excesivamente complicada, software bastante hinchado, no se puede obtener servidores NTP desde DHCP, no enva el nombre de host por defecto. Puede ser un poco lento a veces, no se convierte en demonio cuando el arrendamiento de la direccin es infinito. Ya no es mantenido por los desarrolladores, no es fiable especialmente a travs de modems, no se puede obtener servidores de NIS desde DHCP.

dhcpcd

net-misc/dhcpcd

pump

net-misc/pump

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

35 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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.

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

36 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

# 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 wireless-tools 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 wirelesstools.
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 wirelesstools. Cuando esto suceda, podremos utilizar linux-wlan-ng con baselayout.

37 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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, # permitir 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

38 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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 preferredonly forcepreferred forcepreferredonly forceany

Descripcin
(cualquiera) Comportamiento por defecto (solo preferidos) Solamente nos conectaremos a PAs visible s en la lista de preferidos (obligado a preferidos) Nos conectaremos obligatoriamente a los PAs en el orden preferido aunque no se encuentren en un barrido (solamente preferidos obligados) No barrer buscando PAs - solo tratar de conectar a cada uno en orden (obligar a cualquiera) Igual que forcepreferred y adems se conecta a 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"

39 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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 1-11 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 eche un vistazo 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.

Solucionar 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 sleep_scan_eth0 sleep_associate_eth0 associate_test_eth0 0 5 MAC

Valor por defecto

Descripcin
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 enviar a iwpriv La cantidad e n 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 e n segundos a esperar para que el interfaz se asocie con el PA antes de continuar al siguiente. Algunos manejadores no re setean la direccin M AC 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 algunas rdenes iwpriv al interfaz antes del barrido. Consulte la pgina man de iwpriv para ms detalles. Enva algunas rdenes iwpriv al interfaz despus del barrido. Vea la pgina man de iwpriv para ms detalles.

scan_mode_eth0 iwpriv_scan_pre_eth0 iwpriv_scan_post_eth0

4.d. Definir 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 a menos que se le indique que no debe hacerlo 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
5.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

40 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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.1: 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 net-misc/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.

41 de 42

20/07/2013 02:43 p.m.

Documentacin Gentoo Linux -- Manual Gentoo Linux 2008.0 x86 de insta... http://www.gentoo.org/doc/es/handbook/2008.0/handbook-x86.xml?style=...

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 logotipo y nombre de Gentoo.

42 de 42

20/07/2013 02:43 p.m.

Potrebbero piacerti anche