Manuales Gentoo Linux/x86

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

Instalando Gentoo En esta parte aprenderá cómo instalar Gentoo en su sistema. 1. Acerca de la instalación Gentoo Linux Este capítulo presenta el método de instalación documentado en este manual.

2. Escoger el medio de instalación adecuado

Se puede instalar Gentoo de muchas maneras diferentes. Este capítulo explica cómo instalar Gentoo usando el CD de Instalación mínimo. 3. Configuración de su red Para poder bajar las fuentes más actuales, debe configurar la red. 4. Preparando los discos Para poder instalar Gentoo, debe crear las particiones necesarias. Este capítulo describe como particionar un disco para uso futuro. 5. Instalando los archivos de instalación Gentoo Las instalaciones Gentoo funcionan con un archivo stage3. En este capítulo describimos como descomprimir el archivo stage3 y configurar Portage. 6. Instalando el sistema base de Gentoo Luego de instalar y configurar el stage3, el resultado eventual es que tiene un sistema base Gentoo a su disposición. Este capítulo describe cómo progresar hacia este estado. 7. Configurando el kernel El núcleo Linux es el eje de cada distribución. Este capítulo explica cómo configurarlo. 8. Configurando su sistema Hará falta modificar algunos archivos importantes de configuración. En este capítulo pasaremos revista a estos archivos y explicaremos como proceder. 9. Instalando herramientas necesarias para el sistema Tal como hemos mencionado anteriormente, Gentoo se trata de poder escoger. En este capítulo ayudaremos a escoger e instalar algunas herramientas importantes. 10. Configurando el gestor de arranque Existen varios gestores de arranque para la arquitectura x86. Cada uno tiene su propia configuración. Procederemos paso a paso al configurar el gestor de arranque según sus necesidades. 11. Finalizando su instalación Gentoo Estamos casi listos. Crearemos uno (o más) usuarios para el sistema. 12. ¿Y ahora qué? Y ahora que tenemos un sistema Gentoo, ¿qué sigue? Trabajando con Gentoo Aprenda cómo trabajar con Gentoo: instalación de software, configuración de variables, cambiando el comportamiento del sistema Portage, etc. 1. Introducción al sistema Portage Este capítulo explica los pasos "sencillos" que un usuario definitivamente necesita saber para mantener el software en su sistema. 2. Los parámetros USE Los parámetros USE son un aspecto muy importante de Gentoo. En este capítulo, aprenderá a trabajar con ellos y entender cómo los parámetros USE interactúan con su sistema. 3. Características de Portage Descubra las características de Portage, como el soporte para la compilación distribuida, ccache y más. 4. Scripts de arranque Gentoo usa un formato especial de guiones de inicio, que, entre otras

características permite decisiones basadas en dependencias y guiones virtuales. Este capítulo explica todos estos aspectos y explica cómo trabajar con estos guiones. 5. Variables de entorno Con Gentoo puede fácilmente manejar las variables de entorno del sistema. Este capítulo explica como hacerlo, además de describir las variables usadas más frecuentemente. Trabajando con Portage "Trabajando con Portage" cubre en profundidad la herramienta de manejo de software de Gentoo, el sistema Portage. 1. Archivos y directorios Una vez que quiera conocer a Portage en profundidad, hará falta saber donde almacena sus archivos y datos. 2. Configuración por medio de variables Portage es completamente configurable por medio de diversas variables que pueden ajustarse en un archivo de configuración o como variable de entorno. 3. Mezcla de ramales de software Gentoo permite el uso de software en distintos ramales, dependiendo de su estabilidad o de su soporte por arquitectura. "Mezcla de ramales de software" informa como estos estos pueden ser configurados y como redefinir esta separación de manera individual. 4. Herramientas adicionales de portage Portage trae algunas herramientas adicionales que sirven para mejorar su experiencia con Gentoo aún más. Siga adelante para descubrir como usar dispatch-conf y otras herramientas. 5. Divergiendo del árbol oficial "Divergiendo del árbol oficial" proporciona algunos trucos acerca de como usar su propio árbol Portage, como sincronizar solo las categorías que le interesa, inyección de paquetes y más. 6. Características avanzadas de Portage A medida que transcurre el tiempo, Portage evoluciona y madura cada vez más. Continuamente se agrega funcionalidad adicional - en gran parte dirigida hacia usuarios avanzados. Esta sección detallará algunas de estas características específicas. Configuración de Redes en Gentoo Una guía amplia para trabajar con redes en Gentoo. 1. Iniciándonos Esta es una guía para poner a funcionar rápidamente el interfaz de red en la mayoría de situaciones comunes. 2. Configuración Avanzada Aquí aprenderemos como funciona la configuración - debe estar enterado de esto antes de aprender sobre redes modulares. 3. Trabajo Modular con Redes Gentoo permite un trabajo flexible con la red - aquí explicamos como escoger diferentes clientes DHCP, configurar la unión de interfaces, hacer puentes, redes virtuales (VLANs) y más. 4. Redes Inalámbricas Las redes inalámbricas pueden ser truculentas. ¡Esperamos ponerlas a funcionar!

con un diseño limpio y flexible. Gentoo es una metadistribución moderna. . el sistema de mantenimiento de paquetes que usa Gentoo. que son los mismos en toda instalación de Gentoo. por favor. te encontrará en un entorno funcional preparado para instalar Gentoo Después del paso 2. estarán instalados Tras el paso 6. Cada paso da como resultado un cierto estado: • • • • • • Tras el paso 1. esto queda claro varias veces. ¿Cómo está estructurada la instalación? La instalación de Gentoo puede verse como un procedimiento de 10 pasos. puede elegir cuánto quieres compilar tu mismo. El sistema de paquetes de Gentoo se basa en el código fuente (aunque también soporta paquetes precompilados) y para configurar Gentoo se utilizan archivos de texto plano. puede agregar sus propias funciones para trabajar con redes. etc. Acerca de la instalación Gentoo Linux 1. los paquetes principales. Cuando instalas Gentoo. cómo instalar Gentoo. 6. Gentoo es la flexibilidad en sí. Manejo de Redes Para usuarios de computadores portátiles o los que mudan su computador de red en red. está escrito en Python. envíe su opinión. Gentoo está hecha alrededor del software libre y no oculta a sus usuarios qué hay bajo la alfombra. los correspondientes a los capítulos 2 a 11.5. la conexión a Internet estará funcionando y lista para instalar Gentoo. abierto a cualquiera. Está a punto de entrar en un mundo de flexibilidad y rendimiento. Si cree en algún momento que lo estamos haciendo mal. bienvenido/a a Gentoo. Después del paso 5. Es muy importante que entienda que la flexibilidad es lo que hace que Gentoo funcione. Intentamos no forzarle a entrar en algo que no le guste. rápida. Instalando Gentoo 1. A. Agregando Funcionalidad Si quiere aventurarse. que gestor de registro prefieres. Tras el paso 3. En otras palabras. Introducción ¡Bienvenido! Primero de todo. el entorno de instalación estará preparado y se encontrará dentro de un entorno chroot. Portage. el núcleo Linux estará compilado. por lo que el código fuente es fácil de visualizar y modificar. sus discos duros estarán preparados para alojar tu instalación de Gentoo Tras el paso 4.a.

como cuando se describa el paso opcional. Algunas veces se puede seguir un paso opcional. Pero no crea que la opción por defecto es la que recomendamos. Nota: Para encontrar ayuda acerca de otros procedimientos de instalación.0 sin conexión a la red. desde otra distribución. Es la que pensamos que la mayoría de usuarios van a utilizar. el gestor de arranque elegido estará instalado y configurado y estará dentro de su nueva instalación de Gentoo. en algunos casos. Le informaremos cuando se dé el caso. ¿De qué opciones dispongo? Puede instalar Gentoo de diferentes formas. Las otras posibilidades se titulan "Alternativa:". intentamos explicar lo mejor posible los pros y contras. algunos pasos opcionales dependen de una decisión tomada previamente. una colección de paquetes precompilados que pueden ser utilizados justo después de la instalación de Gentoo). la mayoría de los archivos de configuración de tu sistema Gentoo estarán preparados Tras el paso 8. las herramientas de sistema necesarias (podrá elegirlas de una hermosa lista) están instaladas.etc. debería leer los Manuales Gentoo 2008. Este documento abarca la instalación utilizando un CD de instalación de Gentoo o. desde un disquete de arranque. se encontrará dentro de su nueva Gentoo. tanto cuando tome la decisión. La instalación asume que quiere instalar la última versión de cada paquete. Si quiere realizar una instalación sin conexión a la red. Estos pasos son marcados como "Opcional: " y no son necesarios para instalar Gentoo. También propondremos una opción por defecto. si está planeando utilizar GRP (Gentoo Reference Platform. lea libremente la Guía de Instalación Rápida. Tras el paso 10. por favor.• • • • Después del paso 7. incluyendo el uso de CDs ajenos a Gentoo. También tenga en cuenta que. lea nuestra Guía de Instalación Alternativa. Si es un usuario Gentoo experimentado y simplemente necesita una breve lista de comprobación sobre la instalación. desde un arranque por red. Puede descargar e instalar uno de nuestros CDs de instalación. También ofrecemos un documento sobre Consejos y trucos en la instalación de Gentoo que también puede ser útil. También existen otras posibilidades: puede compilar el sistema completo desde el principio o utilizar un entorno pre-compilado para tener el sistema listo en poco tiempo. debe seguir las instrucciones correspondientes a los Manuales Gentoo 2008. disponible en nuestros Recursos de Documentación si su arquitectura tiene este documento disponible. identificada con "Por defecto:" en el título. . Cuando se le pide una elección especial. Sin embargo.0 el cual contiene las instrucciones de instalación para un entorno sin conexión a la red. desde un CD de arranque ajeno a Gentoo (como Knoppix). Al finalizar el paso 9. instalación por red.

enumeraremos los requerimientos de hardware necesarios para instalar con éxito Gentoo en su máquina. Acuérdese que.5 GB (no incluye el espacio de intercambio) Espacio de intercambio Al menos 256 MB 2. También puede mirar los FAQs en nuestros foros. No tenga miedo de los desarrolladores que están asignados a sus informes. ¿Problemas? Si tiene algún problema con la instalación (o con el documento de instalación). es libre de entrar en #gentoo-es en irc. Los CDs de instalación de Gentoo Introducción . esté también contiene referencias a otras arquitecturas. por favor. disponibles en la Documentación de Gentoo. Si no encuentras la respuesta aquí. Si no lo es.freenode. visite nuestro Sistema de seguimiento de errores y compruebe si el error es conocido. algunos de nosotros somos frikis que aún usan el IRC :-) 2.net. es bienvenido de todas formas :) Si tiene cualquier pregunta concerniente a Gentoo. a pesar de que el documento que está leyendo es específico de la arquitectura. nuestro canal IRC en irc. Si no está seguro que el problema es de usuario (algún error que haya cometido al despistarse y no leer la documentación cuidadosamente) o un problema de software (algún error que ha cometido despistándose al probar la instalación y/o documentación).net. pregunta en #gentoo-es. Intentaremos reducir esto al mínimo para evitar la confusión. Requisitos de Hardware Minimal CD LiveCD CPU i486 o superior i686 o superior Memoria 256 MB 512 MB Espacio en disco 2. por supuesto. normalmente no se comen a nadie.freenode. Escoger el medio de instalación adecuado 2.b. Esto es así porque el manual de Gentoo tiene partes extensas de código que son comunes para todas las arquitecturas (para evitar duplicar esfuerzos y el desgaste de los recursos de desarrollo). Requisitos de Hardware Introducción Antes de empezar. Por supuesto. Sí.a. por favor cree un informe sobre él para que podamos encargarnos de él.Y. también hay soluciones intermedias con las cuales no se compila todo el sistema pero se empieza desde un sistema bastante completo. eche un vistazo a las Preguntas de Uso Frecuente.

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

seleccione Herramientas > Grabar Imagen CD. Retire todos los CD de sus unidades.net --recv-keys 96D8BF6D 2D182910 17072058 Ahora verificamos la firma: Listado de Código 3.2: Verificar los archivos (Verificar la firma criptográfica) $ gpg --verify <downloaded iso.Listado de Código 3. Regularmente se encuentra dentro de "CMOS Setup". Aquí hablaremos de cdrecord y K3B. Arrancar el CD de instalación Una vez que ha grabado sus CDs de instalación.pgp.DIGESTS. Dentro del BIOS. simplemente escriba cdrecord dev=/dev/hdc (reemplace /dev/hdc con la ruta de su unidad CD-RW). se tiene la opción de mostrar los núcleos disponibles (F1) y las opciones de inicio (F2). Cuando se muestra el símbolo de línea de comandos de inicio.DIGESTS. Si no se realiza ninguna selección en 20 segundos (sea mostrar información o arrancar un núcleo) el LiveCD optará por iniciar desde disco. Deberá ver un símbolo de espera de órdenes. Esto permite a las instalaciones reiniciar e intentar usar el entorno instalado sin tener que quitar el CD de su bandeja (algo que será de gran utilidad en instalaciones remotas). Coloque el CD de instalación en la unidad CD-ROM y reinicie. Luego busque el archivo ISO dentro del área 'Imagen a Grabar'.1: Obtener la clave pública $ gpg --keyserver subkeys. en nuestros CDs de instalación.asc> (Verificar la suma de control) $ sha1sum -c <downloaded iso. o arrancar el CD de instalación con opciones personales especificando un núcleo seguido por las opciones de arranque y luego oprimir la tecla Intro. F1 o Esc. Esto se logra por lo general oprimiendo la tecla Supr. puede encontrar mayor información en las Preguntas de Uso Frecuentes sobre Gentoo. Por último presione el botón comenzar.asc> Para grabar el o los ISOs descargados. • • Con cdrecord. es hora de arrancarlos. El núcleo por defecto es gentoo. En esta pantalla puede oprimir la tecla Intro para empezar el proceso de arranque con las opciones predefinidas. reinicie el sistema y entre en el BIOS. Cómo hacerlo depende del programa. Otros núcleos son específicos para algunas necesidades de hardware y las variantes -nofb deshabilitarán el framebuffer. Más adelante encontrará una breve descripción de los núcleos disponibles: Núcleo Descripción . su sistema arrancará desde el disco duro e ignorará el CD-ROM. ofrecemos varios de ellos. Si no lo hace. Con K3B. debe seleccionar grabar/quemar sin formato. Ahora que hablamos de especificar un núcleo. dependiendo del BIOS. cambie el orden de arranque para que intente arrancar primero desde el CD-ROM.

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

nogpm Desactiva el soporte gpm de ratón para consola. nosmp Desactiva SMP. nosound Desactiva el soporte de sonido y la configuración del volumen. nolapic Deshabilita el APIC local en los núcleos monoprocesador. Solamente es necesario si el hardware Firewire está causando algún tipo de problema con el arranque del CD. incluyendo la detección de dispositivos y DHCP. nousb Desactiva la carga automática de módulos USB. nodhcp Deshabilita DHCP en las tarjetas de red detectadas. o Multiproceso Simétrico (Symmetric Multiprocessing). ya que muestra muchos datos por pantalla. nofirewire Desactiva la carga de módulos Firewire. Otras opciones: debug Activa el código de depuración. slowusb Añade algunas pausas adicionales en el proceso de arranque para los CDROMs USB más lentos. Esto es útil si el sistema tiene problemas con el subsistema SATA. nokeymap Deshabilita la selección del mapa de teclado que se emplea para seleccionar los teclados apropiados que no son US. docache . Útil para depurar errores relacionados con USB. Administración de Volúmenes/Dispositivos: dolvm Activa el soporte para la administración lógica de volúmenes. nodmraid Desactiva el soporte para el dispositivo de mapeo RAID. Esto es útil para depurar los fallos en el CD o el driver. nosata Desactiva la carga de los módulos Serial ATA. como el IBM BladeCenter. Esto es útil para la depuración de errores relacionados con SMP en algunos drivers y placas base. Esto podría ser un poco lioso. Esto es útil para depurar errores cuando falla un CD o un driver. como por ejemplo el que se utiliza en placas con controladores RAID IDE/SATA. nohotplug Desactiva la carga de los guiones de inicio de hotplug y coldplug durante el arranque. Útil para sistemas donde el sonido cause problemas.Desactiva toda la detección automática que realiza el CD. Esto es útil para redes únicamente con direcciones estáticas. en los núcleos con SMP activo.

Esto guarda en caché la parte completa del entorno de ejecución del CD en RAM. nox Esto provoca que el LiveCD no cargue automáticamente las X. scandelay=X Permite especificar un determinado retardo. Por ejemplo. doload=X Esto indica al ramdisk inicial que cargue el módulo que se indica así como las dependencias. passwd=foo Configura lo que venga después del igual como la contraseña de root. La sintaxis es la misma que doload. Se sustituye X por el número de segundos de la pausa. asegúrese de pulsar Atl-F1 para cambiar al modo "verbose" y seguir el cursor. lo cual le permite desmontar /mnt/cdrom y montar otro CDROM. noload=X Esto indica al ramdisk inicial que no realice la carga de un determinado módulo que podría estar causando problemas. Nota: El CD comprobará las opciones "no*" antes que las opciones "do*". durante ciertos periodos del arranque para permitir a los dispositivos lentos que se inicialicen y estén listos para usarse. AltF3 y Alt-F4. . seleccione un núcleo (si no está contento con el núcleo predeterminado gentoo) y las opciones de arranque. Si no se hace ninguna selección en 10 segundos. nonfs Desactiva la ejecución de portmap/nfsmound durante el arranque. lo cual es muy útil para instalaciones remotas o sin atención permanente. así que puede sobreescribir cualquier opción en el orden exacto en que las especifique. el super usuario. dosshd Inicia sshd durante el arranque. Esta opción requiere que disponga (al menos) del doble de memoria RAM libre que el tamaño que tiene CD. Tendrá el indicador del root ("#") en la consola actual y también podrá cambiarse a otras consolas presionando Alt-F2.3: Arrancar un CD instalación boot: gentoo dopcmcia Después verá otra pantalla de arranque y una barra de progreso. Ahora arranque su CD. scandelay Provoca que el CD se detenga 10 segundos durante ciertos periodos del arranque para permitir que se inicien los dispositivos lentos y estén listos para utilizarse. dejándole en la línea de comandos. Si está instalando Gentoo en un sistema con un teclado no americano. la cual será necesaria para dosshd ya que desactivamos la contraseña de root por defecto. Para regresar a la consola en la que empezó presione Alt-F1. con el parámetro dopmcia: Listado de Código 3. en segundos. la opción predefinida (teclado americano) será la utilizada y el proceso de arranque continuará. aquí le mostramos como arrancar el núcleo gentoo. Cuando se complete el proceso de arranque. automáticamente se registrará en el Gentoo Linux "Live" como "root". Continúe ahora Configurando Hardware Adicional. Se pueden indicar varios módulos en una lista separados por medio de comas. Sustituya X por el nombre del módulo.

en algunos casos puede que no cargue automáticamente los módulos del kernel necesarios.7: Cambiar de usuario # su . Sin embargo. Puede ver el manual usando links. Para cambiar la contraseña de root.juan Opcional: Viendo la documentación mientras se hace la instalación Si quiere ver el manual de Gentoo durante la instalación. asegúrese de haber creado una cuenta de usuario (consulte Opcional: Cuentas de Usuarios). y luego su contraseña. hará falta crear las cuentas de usuario necesarias y cambiar la contraseña de root. trata de detectar todos los dispositivos de hardware y cargar los módulos apropiados en el kernel para soportar este hardware. primero escribimos sus credenciales.5: Cambiar la contraseña de root # passwd New password: (Escriba su nueva contraseña) Re-enter password: (Escríbala de nuevo) Para crea una cuenta de usuario.Configurando Hardware Adicional Cuando arranca el CD de instalación. trate de cargar el módulo apropiado manualmente.4: Cargar módulos del kernel # modprobe 8139too Opcional: Cuentas de Usuarios Si planea darle a otras personas acceso a su entorno de instalación o si quiere platicar con alguien usando irssi sin privilegios de root (por razones de seguridad).6: Crear una cuenta de usuario # useradd juan # passwd juan New password: (Escriba la contraseña de juan) Re-enter password: (Escriba otra vez la contraseña de juan) Puede cambiar su identificador de usuario desde root para usar la del nuevo usuario usando su: Listado de Código 3. En el siguiente ejemplo trataremos de cargar el módulo 8139too (que da soporte a ciertos tipos de interfaces de red): Listado de Código 3. En el siguiente ejemplo. pero solo después de haber completado el capítulo Configurar su red (de lo contrario no podrá usar Internet para ver el documento): . Luego presione Alt-F2 para ir a un nuevo terminal e ingrese al sistema. Listado de Código 3. Se usan useradd y passwd para estas tareas. use passwd: Listado de Código 3. hace muy buen trabajo. En la gran mayoría de casos. Si falla la auto-detección PCI con algún hardware de su sistema. crearemos un usuario llamado "juan".

ping.255. son: ssh.1: /sbin/ifconfig para una tarjeta de red funcionando # /sbin/ifconfig (. primero necesita configurar su red. En ese caso. Opcional: Iniciar el Demonio SSH Si quiere permitirle a otros usuarios el acceso a su máquina durante la instalación de Gentoo (quizá porque esos usuarios le vayan a ayudar. Para arrancar el demonio SSH.) eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A inet addr:192. o incluso lo hagan por usted). Si la red ya ha sido configurada el comando /sbin/ifconfig debería listar algunas interfaces de red además de lo. Configuración de su red 3.d/sshd start Para poder usar sshd. como eth0: Listado de Código 1.9: Iniciar el demonio SSH # /etc/init.0.. ejecute el siguiente comando: Listado de Código 3..0 inet6 addr: fe80::50:ba8f:617a/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 collisions:1984 txqueuelen:100 RX bytes:485691215 (463.xml Puede regresar a la consola original presionando Alt-F1.gentoo.8: Ver la Documentación en Línea # links http://www.Listado de Código 3.2 Bcast:192.168.2 Mb) Interrupt:11 Base address:0xe800 Opcional: Configure el Proxy . wget y links. debería ser capaz de trabajar con los con los comandos que hacen uso de la red y que están en el CD de instalación. necesitará crear una cuenta de usuario para ellos e incluso darles la contraseña de root (sólo si confía totalmente en ese usuario).a.255.org/doc/es/handbook/handbook-x86. scp. 3.255 Mask:255.168. entre otros. es muy probable que la configuración de red se haya detectado automáticamente. irssi. Continúe en el capítulo Configurar su Red.0. Auto Detección de la Red ¿Es posible que simplemente funcione? Si su sistema está conectado a una red Ethernet con un servidor DHCP.1 Mb) TX bytes:123951388 (118.

gentoo. tendrá que perseverar un poco más :) 3.gentoo. ppc y ppc64).4: Más pruebas de la red # ping -c 3 www. pppoe-setup (para usuarios de ADSL) o pptp (para usuarios de PPTP disponible para x86.gentoo. Listado de Código 1. podría necesitar configurar la información del proxy durante la instalación.org:8080 Probando la red Puede intentar hacer ping hacia el servidor DNS de su ISP.conf) y un sitio web a su elección. Si su medio de instalación no contiene ninguna de estas herramientas. continúe con Configuración Manual de la Red.2: Definiendo los servidores proxy (Si el proxy filtra el tráfico HTTP) # export http_proxy="http://proxy. Es muy sencillo definir un proxy: tan solo necesita definir la variable que contiene la información del mismo. mala suerte. amd64. alpha. (que se encuentra en /etc/resolv. • • • Los usuarios de redes estándar deberían continuar con Por defecto: Usando netsetup Los usuarios de ADSL deberían continuar con Alternativa: utilizar PPP Los usuarios de PPTP deberían continuar con Alternativa: Usando PPTP Por defecto: Usando net-setup .gentoo. puede saltarse el resto de esta sección y continuar con Preparando los discos. algunos medios de instalación le permitirán usar net-setup (para redes estándar o sin cables).. Configuración Automática de Red Si la red no funciona inmediatamente.org:8080" (Si el proxy filtra el tráfico RSYNC) # export rsync_proxy="rsync://proxy. con la intención de asegurarse que sus paquetes llegan a la red. etc . De lo contrario.org ¿Está su conexión funcionando? En ese caso.org:8080" (Si el proxy filtra el tráfico FTP) # export ftp_proxy="ftp://proxy. En la mayoría de los casos.3: Añadiendo usuario/contraseña a la variable del proxy http://nombreusuario:contraseña@proxy. puede definir las variables usando simplemente el host del servidor.b. Por ejemplo.gentoo.gentoo.org:8080" Si su proxy requiere un nombre de usuario y una contraseña. la resolución de nombres DNS esta funcionando correctamente. debería usar la siguiente sintaxis para la variable: Listado de Código 1. asumimos que el proxy se llama proxy.Si accede a Internet a través de un proxy.org y el puerto es el 8080.. Listado de Código 1.

debería continuar con Configuración manual de la Red dónde explicaremos como cargar los módulos de red apropiados.El sistema más simple de configurar una red. deberá cargar los módulos de red apropiados. ¡felicidades! Ahora está listo para instalar Gentoo. si no se consiguió hacerlo automáticamente.3: Editar /etc/ppp/chap-secrets # nano -w /etc/ppp/chap-secrets Ajuste ahora /etc/ppp/options. Si su dispositivo de red no existe. Edite /etc/ppp/pap-secrets o /etc/ppp/chap-secrets ya que contiene la combinación correcta de usuario/contraseña: Listado de Código 2. es ejecutar el guión net-setup: Listado de Código 2. Pruebe su conexión de red como se especificó anteriormente Si los resultados son positivos. los CDs de instalación (en cualquiera de sus versiones) ha sido pensado para facilitarle el trabajo incluyendo ppp.2: Utilizar ppp # pppoe-setup # pppoe-start Si algo va mal.pptp # nano -w /etc/ppp/options. su nombre de usuario y su contraseña. Alternativa: Usando PPTP Si requiere soporte PPTP. Listado de Código 2. tan solo ejecute pptp (junto con las opciones que podría haber configurado en options.1: Ejecutando el guión net-setup # net-setup eth0 net-setup le hará algunas preguntas sobre su entorno de red Cuando lo haya completado. las IPs de sus servidores DNS y si requiere un firewall básico o no. Si todo funcionó. Si su conexión de red sigue sin funcionar.4: Editar /etc/ppp/options. Alternativa: utilizar PPP Asumiendo que requiere PPPoE para conectar a Internet.pptp si es necesario: Listado de Código 2.pptp) para conectar al servidor: . Pero primero debe asegurarse que su configuración es correcta. En ese caso. Sáltese el resto de esta sección y continúe con Preparando los discos. Use el guión pppoe-setup proporcionado para configurar su conexión. asegúrese que ha tecleado correctamente su nombre de usuario y su contraseña mirando /etc/ppp/pap-secrets o /etc/ppp/chap-secrets y asegúrese que esta haciendo uso del dispositivo de red correcto.pptp Cuando todo esté listo. debería disponer de una conexión de red funcionando. continúe con Configuración Manual de la Red. Se le pedirá el dispositivo de red que esta conectado a su módem adsl. puede usar pptpclient que se incluye en nuestros CDs de instalación. continúe con Preparando los Discos.

0 b) TX bytes:0 (0.1: Buscar los módulos apropiados # ls /lib/modules/`uname -r`/kernel/drivers/net Si encuentra un driver para su tarjeta de red. use ls: Listado de Código 3. No obstante. éxito # ifconfig eth0 eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0. 3. En la gran mayoría de los casos. Configuración Manual de la Red Cargando los módulos de red apropiados Cuando el CD de instalación arranca. intenta detectar todos sus dispositivos hardware y carga los módulos del núcleo (controladores) apropiados para darles soporte.5: Conectar a un servidor por línea telefónica # pptp <server ip> Ahora continúe con Preparando los discos.3: Comprobar la disponibilidad de su tarjeta de red. cargaremos el módulo pcnet32) # modprobe pcnet32 Para confirmar si su tarjeta de red se detecta ahora.4: Comprobar si la disponibilidad de su tarjeta de red fracasó # ifconfig eth0 eth0: error fetching interface information: Device not found Si tiene múltiples tarjetas de red en su sistema éstas recibirán el nombre eth0. entonces puede asumir sin ningún riesgo que su tarjeta de red no se encontró en el acto. eth1. Asegúrese que la tarjeta de red que quiere utilizar funciona correctamente y recuerde emplear el nombre correcto a lo largo de este documento. Para descubrir qué módulos del núcleo proporcionamos para la red. en algunos casos.c. puede no cargar automáticamente los módulos del núcleo que necesita. Una red detectada debería desembocar en algo como esto: Listado de Código 3. etc. use modprobe para cargar el módulo del núcleo: Listado de Código 3. use ifconfig. Asumiremos que la tarjeta de red eth0 va a ser la utilizada.0 b) Si de todas formas recibe el siguiente error. hace un muy buen trabajo.Listado de Código 2. la tarjeta de red no está detectada: Listado de Código 3. Si net-setup o pppoe-setup fallaron.2: Usar modprobe para cargar el módulo núcleo (Como ejemplo. . Esto significa que tendrá que cargar los módulos del núcleo apropiados manualmente.

quizá necesite configurar sus opciones antes de ir más allá. Preparando la Red Inalámbrica Nota: Existe soporte para iwconfig en CDs de instalación para las arquitecturas x86.11-DS ESSID:"GentooNode" Mode:Managed Frequency:2.5: Usando dhcpcd # dhcpcd eth0 Algunos administradores de red requieren que utilice el nombre del equipo y el dominio que proporciona el servidor DHCP. utilice # dhcpcd -HD eth0 Si esto funciona (pruebe hacer ping a algún servidor en Internet.). Seleccione una de las siguientes secciones basándose en su configuración de red. Esto solo funciona si dispone de un servidor DHCP en su red (o si su proveedor le ofrece servicio DHCP). Utilizando ifconfig y route explica como configurar su red manualmente. pasarela.442GHz Access Point: 00:09:5B:11:CC:F2 Bit Rate:11Mb/s Tx-Power=20 dBm Sensitivity=0/65535 Retry limit:16 RTS thr:off Fragment thr:off Power Management:off Link Quality:25/10 Signal level:-51 dBm Noise level:-102 dBm Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:237 Invalid misc:350282 Missed beacon:84 Nota: El nombre de dispositivo de algunas tarjetas de red inalámbricas puede ser wlan0 o . como Google). explicaremos como configurar su red manualmente. servidores de nombres etc. Entendiendo la terminología de red explica lo que necesita conocer sobre redes. Ejecutando iwconfig debería mostrar algo como esto: Listado de Código 3. entonces lo tiene todo configurado y listo para continuar. Usando DHCP DHCP (Protocolo de Configuración Dinámica de Anfitrión) hace posible recibir automáticamente su información de red (Dirección IP. Sáltese el resto de esta sección y continúe con Preparando los Discos. Si es el caso. dirección de broadcast.Asumiendo que ya se tiene disponible una tarjeta de red detectada. amd64 y ppc. Todavía puede conseguir que sus extensiones funcionen siguiendo las instrucciones del proyecto linux-wlan-ng.11). máscara de red. puede reintentar netsetup o pppoe-setup otra vez (que deberían funcionar ahora). Si está empleando una tarjeta inalámbrica (802. Para conseguir que su interfaz de red reciba esta información automáticamente use dhcpcd: Listado de Código 3. • • • • Usando DHCP para adjudicación de IP automática Preparando el Acceso Inalámbrico (Wireless) si tiene una tarjeta inalámbrica.6: Mostrar la configuración inalámbrica actual # iwconfig eth0 eth0 IEEE 802. Para revisar la configuración inalámbrica actual de su tarjeta. pero para los que tengan problemas. puede utilizar iwconfig.

está lejos de ser difícil. En realidad. como se forma una dirección de broadcast y porqué necesita servidores de nombres. tendrá que usar wpa_supplicant. Entendiendo la terminología de red Nota: Si conoce su dirección IP. Ejecute iwconfig sin más parámetros para determinar cual es el nombre de dispositivo correcto. solamente tendrá que modificar dos configuraciones.-------192 168 0 2 .168.2 11000000 10101000 00000000 00000010 -------. como mínimo así es como las percibimos.0. En una red los hosts están están identificados por su dirección IP (dirección del Protocolo de Internet). entonces puede saltarse esta subsección y continuar con Usando ifconfig y route. Tal dirección es una combinación de cuatro números entre 0 y 255. Pero vamos a explicarle ciertos conceptos de red que necesitará para ser capaz de configurar su red satisfactoriamente. Para más información acerca de la configuración de redes inalámbricas en Gentoo Linux. No tenga miedo. puede utilizar los siguientes comandos: Nota: Si la red inalámbrica está configurada para usar claves WPA o WPA2. o añadir una clave WEP. Si el ESSID y la dirección del Punto de Acceso mostradas son correctas y el Punto de Acceso y su máquina no están utilizando WEP. puede continuar configurando las opciones de red de nivel IP como se describe en la siguiente sección (Entendiendo la terminología de red) o utilizar la herramienta net-setup como hemos descrito anteriormente. dirección de broadcast. tal dirección IP consiste de 32 bits (unos y ceros).ra0 en lugar de eth0. Si todo lo anterior falla. La mayoría de usuarios. por favor lea el capítulo Redes Inalámbricas del Manual Gentoo. Si necesita cambiar su ESSID.-------. para que sirve una máscara de red. Cuando haya leído esto. su red inalámbrica está funcionando. Una vez que tenga la conexión funcionando. tendrá que configurar su red manualmente. Listado de Código 3.8: Ejemplo de una dirección IP IP Address (numbers): IP Address (bits): 192. Bien.7: Cambiar ESSID y/o añadiendo una clave WEP (Esto asigna el nombre de "GentooNode" a nuestra red) # iwconfig eth0 essid GentooNode (Esto asigna una clave WEP hexadecimal) # iwconfig eth0 key 1234123412341234abcd (Esto asigna una clave ASCII .-------. conocerá que es una pasarela. máscara de red y los servidores de nombres. añadiendo al principio "s:") # iwconfig eth0 key s:some-password Puede volver a comprobar la configuración inalámbrica utilizando iwconfig. el ESSID (Nombre de red inalámbrica) o la clave WEP. Vamos a ver un ejemplo: Listado de Código 3.

Para resumir.conf. La dirección de broadcast es una dirección IP con la misma parte de red que su red. la máscara de red. Este host se llama la pasarela.168. 192. pero con solo unos como parte de host. En algunos casos. tendrá que introducir los servidores de nombres facilitados por su ISP. Tal servicio se le conoce como servicio de nombres. Como es normal. la dirección IP está dividida en dos partes: la parte de red y la parte de host.5. Para usar tal servicio. Puesto que es un host estándar. La separación esta anotada en la máscara de red.gentoo.org) a una dirección IP (como 64. la otra es la parte de host.0. Listado de Código 3. La parte de la IP que quedan enmascarados sobre los unos es la parte de red. y hosts fuera de una red.82). Para ser capaz de hacer la distinción entre hosts dentro de una red. todos los hosts a los que se pueda conectar. Para ser capaz de alcanzar este host por un nombre (en vez de la dirección IP) necesitara un servicio que traduzca un nombre (como dev.10: Dirección de Broadcast IP-address: 192 168 0 2 11000000 10101000 00000000 00000010 Broadcast: 11000000 10101000 00000000 11111111 192 168 0 255 +--------------------------+--------+ Network Host Para ser capaz de navegar por Internet.168.0.1).2 no lo es. puede ser anotada como una dirección IP.2 .0.14 es parte de nuestra red de ejemplo.62.1. necesitará la siguiente información antes de continuar: Elemento de Red Su dirección IP Ejemplo 192. Anteriormente afirmamos que cada host tiene su propia dirección IP.168. tan lejos como redes accesibles estén a su disposición (por ejemplo. una conjunto de unos seguidos de un conjunto de ceros. debe definir los servidores de nombres necesarios en /etc/resolv. Listado de Código 3.168.Cada dirección IP es única para ese host. su pasarela también sirve como servidor de nombres. pero 192. Cada host en su red escucha esta dirección IP.9: Ejemplo de una separación red/host IP-address: Netmask: 192 168 0 2 11000000 10101000 00000000 00000010 11111111 11111111 11111111 00000000 255 255 255 0 +--------------------------+--------+ Network Host En otras palabras. Esto verdaderamente sirve para la transmisión de paquetes. De otro modo. tiene direcciones IP estándar (por ejemplo 192. deben tener direcciones IP únicas). debería conocer qué host comparte la conexión a Internet.

0. Preparando los discos 4.0.130. ${BROADCAST} con su dirección de broadcast y ${NETMASK} con su máscara de red: Listado de Código 3.168. la dirección de broadcast y la mascara de red. Si funciona. Entonces ejecute el siguiente comando.conf con su editor favorito (en nuestro ejemplo. sistemas de ficheros de Linux.Máscara de Red Broadcast Pasarela Servidor(es) de nombres Usar ifconfig y route 255. particiones y . Substituya ${GATEWAY} con la dirección IP de su pasarela: Listado de Código 3. Continúe con Preparando los Discos.5.11: Utilizar ifconfig # ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up Ahora configure la ruta usando route. 195.255.14: Plantilla /etc/resolv.13: Crear /etc/resolv.0 192.conf # nano -w /etc/resolv.255.130.133 Configurar su red consiste en tres pasos.130.168.12: Utilizar route # route add default gw ${GATEWAY} Ahora abra /etc/resolv. necesitara su dirección IP.a. Ahora compruebe su red haciendo ping a algún servidor de Internet (como Google).conf.conf nameserver ${NAMESERVER1} nameserver ${NAMESERVER2} Eso es. usaremos nano): Listado de Código 3. Ahora está listo para instalar Gentoo. Para asignar una dirección IP.conf Ahora complete con su(s) servidor(es) de nombres usando la siguiente plantilla. 4. Entonces configuraremos el ruteo hacia la pasarela usando route. substituyendo ${IP_ADDR} con su dirección IP.255 192. Por último.1 195. acabaremos situando las IPs de los servidores de nombres en /etc/resolv. nos asignamos una dirección IP usando ifconfig.130. Primero. Introducción a Dispositivos de Bloque Dispositivos de Bloque Examinaremos de forma detallada los aspectos de Gentoo Linux así como Linux en general que tengan que ver con discos. Asegúrese que substituye ${NAMESERVER1} y ${NAMESERVER2} con las direcciones apropiadas de servidor de nombres: Listado de Código 3. felicitaciones entonces.

Particiones Aunque teóricamente es posible utilizar el disco duro completo para albergar la instalación Linux. La partición primaria es aquella que almacena su información en el MBR (registro principal de arranque). Las aplicaciones pueden hacer uso de estas interfaces para interactuar con el disco duro de la máquina sin importar el tipo de unidad que tienes: IDE. Cuando recorramos las instrucciones de instalación. estas particiones no se definen dentro del MBR.b. Las particiones se dividen en tres tipos: primarias. los dispositivos de bloque enteros se dividen en partes más manejables y pequeñas. entonces la primera unidad IDE será /dev/hda. esto casi nunca se hace. La aplicación puede simplemente dirigirse al almacenamiento en el disco como a una serie de bloques de acceso aleatorio de 512-bytes situados de forma contigua. En otras palabras. solo pueden definirse cuatro particiones primarias (por ejemplo. nos centraremos en particiones "normales". se diseñó para extender el esquema de particionamiento sin perder la compatibilidad inversa. o cualquier otra. sino que se declaran dentro de la partición extendida. 4.dispositivos de bloque. Diseñando un esquema de particionamiento . explicaremos el término dispositivos de bloque. es importante saber que las particiones de tipo LVM2 también están soportadas. En su lugar. Quizás el dispositivo de bloque más conocido es el que representa la primera unidad de disco llamada /dev/sda. sin embargo. le guiaremos a través del proceso de creación de particiones y sistemas de ficheros de tu instalación Gentoo Linux. Una partición lógica es aquella que está dentro de la partición extendida. Para empezar. Las unidades SCSI y Serial ATA son etiquetadas mediante /dev/sd*. SCSI. Si está utilizando el antigo framework de unidades. Almacenamiento avanzado Los CDs de instalación para x86 proporcionan soporte para LVM2 (en inglés. desde /dev/sda1 hasta /dev/sda4). pero como cuatro primarias eran muy pocas. Al principio no existía este tipo de partición. LVM2 incrementa incrementa la flexibilidad ofrecida por el esquema de particionamiento. En los sistemas éstas se llaman particiones. extendidas y lógicas. Los dispositivos de bloque mencionados anteriormente representan una interfaz abstracta de disco. Una partición extendida es una partición primaria especial (entendemos que la partición extendida debe ser una de las cuatro posibles particiones primarias) la cual contiene más particiones. Ya que el MBR puede almacenar hasta 512 bytes. Una vez esté familiarizado con las entrañas de los discos y sistemas de ficheros. incluso las unidades IDE son conocidas como /dev/sd* con el nuevo framework libata del kernel. Logical Volume Management).

Es recomendable darle un tamaño grande a /usr: no solamente contiene la mayoría de las aplicaciones. Sin embargo. el tiempo dedicado a las comprobaciones de integridad de sistemas de fichero se reduce ya que las éstas pueden ser hechas en paralelo (esta ventaja es mayor con múltiples discos que con múltiples particiones) Podemos mejorar la seguridad montando algunas particiones en modo solo lectura. sino que el propio árbol de Portage ocupa más de 500 Mbytes. Tener particiones o volúmenes separados tiene las siguientes ventajas: • • • • Puede elegir el mejor sistema de ficheros para cada partición o volumen El equipo en su totalidad quedará sin espacio si una herramienta o aplicación escribiera datos continuamente al volumen o partición Si es el caso. Si está instalando Gentoo para un servidor de correos. . Como puede ver. Por ejemplo. siga con el particionamiento del disco leyendo Utilizar fdisk para particionar su disco o Utilizar parted para particionar su disco (ambas son herramientas de particionamiento. ya que la mayoría de juegos se instalan allí. noexec (los bits de ejecución se ignoran).a menudo requieren que sea el administrador el que arranque el sistema con un sistema de ficheros de inicio en RAM (initramfs) para montar la partición antes de que otros guiones de inicio se ejecuten. Asimismo. todo depende de lo que quiera conseguir. debe tener /var en una partición separada ya que es allí dónde se almacena todo el correo. ¿Cuántas? y ¿de qué tamaño? El número de particiones es altamente dependiente del entorno particular. una buena elección de sistema de ficheros optimizará el rendimiento del equipo. lo más probable es que desee tener /home en una partición separada para aumentar la seguridad y facilitar los respaldos. si la máquina tiene muchos usuarios. continué leyendo. Si no se configuran adecuadamente. nosuid (los setuid bits se ignoran). sin contar las fuentes que guarda también.Esquema de Particionamiento Predeterminado Si no está interesado en diseñar un esquema de particionamiento particular para tu sistema. etc. Las razones para estas recomendaciones son similares a las del caso de /home: seguridad y salvaguarda de datos. obtendrá un sistema con mucho espacio vacío en una partición y ninguno en otra. puede hacer uso del esquema que utilizaremos en este manual: Partición /dev/sda1 /dev/sda2 /dev/sda3 Sistema de Ficheros ext2 (swap) ext3 Tamaño 32M 512M El resto del disco Descripción Partición de arranque Partición de intercambio Partición de raíz Si está interesado en conocer el tamaño que debería tener una partición. Otra contrariedad es que las particiones separadas . fdisk es bien conocida y estable. o incluso cuantas particiones necesita. tener múltiples particiones tiene también desventajas.especialmente las que se utilizan para puntos de montaje importantes como /usr o /var . Los servidores de juegos deben disponer de una partición /opt. En caso contrario. parted es un poco más reciente pero admite particiones mayores de 2TB). por lo que su situacion puede ser diferente. Este no es siempre el caso.

utilice las instrucciones comentadas en Utilizar parted para particionar su disco.0G 1.3G 83% /dev/sda8 ext3 1011M 483M 477M 51% /dev/sda9 ext3 2.0G 3. Las siguientes instrucciones explican como particionar el disco duro utilizando fdisk. necesitará modificar la variable PORTAGE_TMPDIR en /etc/make.8G 63% /dev/sda7 ext3 7. pero una vez que todo el software esté instalado no tenderá a llenarse más.9G 6. Examinar el esquema de particionamiento actual fdisk es una popular y potente herramienta que permite dividir el disco en particiones.c. Arranca fdisk sobre tu unidad de disco (en nuestro ejemplo usamos el dispositivo de disco /dev/sda): Listado de Código 3. cómo 1 GB.2G 1.1: Ejemplo de particionamiento $ df -h Filesystem Type Size Used Avail Use% /dev/sda5 ext3 509M 132M 351M 28% /dev/sda2 ext3 5. existe un límite de 15 particiones para SCSI y SATA.También. servidor de correo. Utilizar fdisk para particionar su disco Importante: Si su entorno va a utilizar particiones mayores de 2 TB. gnome. El ejemplo de disposición de las particiones ha sido mencionado anteriormente: Partición /dev/sda1 /dev/sda2 /dev/sda3 Descripción Partición de arranque (boot) Partición de intercambio (swap) Partición de raíz (root) Cambie el esquema de particionamiento según sus propias preferencias. por favor.): Listado de Código 2.1: Ejecutar fdisk # fdisk /dev/sda . recuerde que Portage utiliza esta partición por defecto para compilar paquetes.conf para apuntar a una partición con espacio libre suficiente para compilar paquetes muy grandes como OpenOffice. 4. etc. Como ejemplo de un esquema de particionamiento usaremos un disco duro de 20 Gb de un portátil para fines de demostración (incluye servidor web. Si quiere mantener /var de un tamaño razonable.3G 32% /dev/sda1 ext2 51M 17M 31M 36% /dev/sda6 swap 516M 12M 504M 2% (Espacio sin particionar para uso futuro: 2 Mounted on / /home /usr /opt /var /boot <not mounted> Gb) /usr parece estar bastante llena (83%). Aunque asignar unos cuantos gigabytes de espacio a /var puede parecer excesivo. La herramienta fdisk no puede manejar tamaños tan grandes de partición.0G 607M 1.

pero no será eliminada hasta que guarde los cambios realizados. 30005821440 bytes . acabará teniendo una tabla de particiones vacía: Listado de Código 3.3: Un ejemplo de particionamiento Command (m for help): p Disk /dev/sda: 240 heads. seguido por intro.Una vez que fdisk esté en ejecución. así como una partición de intercambio (swap) que aparece con la etiqueta "Linux swap". Si comete una equivocación y desea abortar los cambios realizados. asumiendo que intenta eliminar todas las particiones existentes del disco duro. el programa ofrecerá el siguiente símbolo de comandos: Listado de Código 3. Eliminar todas las particiones Primero eliminaremos todas las particiones existentes en el disco. las particiones no serán eliminadas. Ya no aparecerá si teclea p.0 GB. para borrar una partición existente en /dev/sda1: Listado de Código 3.4: Eliminar una partición > Command (m for help): d Partition number (1-4): 1 La partición ha sido marcada para su borrado. Teclee d para eliminar una partición. Finalmente. debe teclear p en forma repetida para ver el listado de particiones y pulsar d junto con el número de la partición para borrarlas. teclee q inmediatamente y pulse intro.2: Símbolo de espera de órdenes de fdisk Command (m for help): Teclee p para mostrar el esquema de particionamiento actual: Listado de Código 3.5: Una tabla de particiones vacía Disk /dev/sda: 30. cada partición con su correspondiente etiqueta "Linux". 63 sectors. Ahora. Por ejemplo. 2184 cylinders Units = cylinders of 15120 * 512 bytes Device /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5 /dev/sda6 /dev/sda7 /dev/sda8 /dev/sda9 Boot * Start 1 15 50 71 71 210 349 627 905 End Blocks 14 105808+ 49 264600 70 158760 2184 15981840 209 1050808+ 348 1050808+ 626 2101648+ 904 2101648+ 2184 9676768+ Id 83 82 83 5 83 83 83 83 83 System Linux Linux swap Linux Extended Linux Linux Linux Linux Linux Command (m for help): Este disco en particular está configurado para albergar siete sistemas de ficheros Linux.

y configure el flag de iniciable (boot). teclee +32M para crear una partición de tamaño 32 Mb.7: Una partición creada Command (m for help): p Disk /dev/sda: 30. pulse intro y cuando pida definir el valor del último cilindro. que no debe seguir estas instrucciones al píe de la letra si no desea tener una tabla de particiones exactamente igual que la nuestra! Crear una partición de arranque En primer lugar debemos crear una pequeña partición de arranque. default 1): (Pulse Intro) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876. Teclee a para marcar esta partición como arrancable. verá que un * ha aparecido en la columna "Boot". 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot /dev/sda1 Start 1 End 14 Blocks 105808+ Id 83 System Linux Necesitamos hacer que esta partición sea arrancable.240 heads. estamos preparados para crear nuevas particiones. tal como hemos acordado anteriormente. teclee n para crear una nueva partición. ¡Claro está.6: Crear una partición de arranque Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-3876. siguiendo por 1 para elegirla como primera partición primaria. Si introduce p de nuevo. 63 sectors/track. 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System Command (m for help): Ahora que la tabla de particiones en memoria del sistema está vacía. Teclee n para crear esta nueva partición. 63 sectors/track. Cuando el sistema solicite introducir el valor del primer cilindro. pulse intro y cuando . Entonces teclee 2 para crear la segunda partición primaria. 30005821440 bytes 240 heads. y luego p para comunicar a fdisk que debe ser una partición primaria. Cuando el sistema solicite introducir el primer cilindro. Utilizaremos el esquema por defecto. y luego p para seleccionar una partición primaria. default 3876): +32M Si ahora teclea p. debe ver la siguiente partición en la tabla: Listado de Código 3.0 GB. Listado de Código 3. Para hacerlo. /dev/sda2 en nuestro caso. Crear una partición de intercambio Vamos a crear ahora la partición de intercambio.

también le damos a intro para crear una partición que ocupe todo el espacio restante en el disco.9: Listado de particiones después de crear la partición de raíz Command (m for help): p Disk /dev/sda: 30. creamos la partición de raíz. Listado de Código 3. 63 sectors/track. 4. Al solicitar la introducción del valor del primer cilindro de la partición pulsamos intro. Una vez completados estos pasos la introducción de p visualizará la tabla de particiones que debe ser similar a ésta.solicite introducir el valor del último.8: Listado de particiones después de la creación de la partición de intercambio Command (m for help): p Disk /dev/sda: 30.0 GB. introducimos p para ver la tabla de particiones que debe parecer mucho a la siguiente: Listado de Código 3.d. Introduzca n para crear la nueva partición. 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot /dev/sda1 * /dev/sda2 Start 1 15 End 14 81 Blocks 105808+ 506520 Id 83 82 System Linux Linux swap Crear la partición raíz En el último lugar. mientras que cuando el sistema solicite que introduzcamos el valor del último cilindro. Listado de Código 3.10: Guardado y salida del fdisk Command (m for help): w Ahora que las particiones están creadas. Tras completar todos estos pasos. teclee t para establecer el tipo de partición. 2 para seleccionar la partición que acaba de crear y entonces 82 para fijar el tipo "Linux Swap". según nuestro ejemplo. teclee +512M para crear una partición de 512 Mb. 30005821440 bytes 240 heads. 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot /dev/sda1 * /dev/sda2 /dev/sda3 Start 1 15 82 End 14 81 3876 Blocks 105808+ 506520 28690200 Id 83 82 83 System Linux Linux swap Linux Almacenar la tabla de particiones Para guardar el esquema de particionamiento y salir del fdisk tecleamos w. 30005821440 bytes 240 heads. p para marcarla como partición primaria. Cuando lo haya hecho.0 GB. A continuación teclee 3 para crear la tercera partición primaria. /dev/sda3. Utilizar parted para particionar su disco . 63 sectors/track. puede proseguir con la Crear los sistemas de ficheros.

puede hacer esto con mklabel gpt: Aviso: Al cambiar el tipo de partición. todas las particiones de su disco serán eliminadas. Para hacer esto. Listado de Código 4.5GB Size 2148MB 1074MB 18. por lo que si ya ha particionado su disco utilizando fdisk.3 Using /dev/vda Welcome to GNU Parted! Type 'help' to view a list of commands.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number 1 2 3 Start 512B 2148MB 3222MB End 2148MB 3222MB 21. se puede utilizar el comando print. La disposición de particiones que utilizaremos se muestra en la siguiente tabla: Partición /dev/sda1 /dev/sda2 /dev/sda3 Descripción Partición de arranque Partición de intercambio >Partición raíz Cambie la disposición de sus particiones para adaptarlas a sus preferencias. Tanto parted como fdisk ofrecen las mismas funciones. Ofrece una interfaz más simple para el particionamiento de sus discos y soporta particiones muy grandes (mayores de 2 TB).3GB Type primary primary primary File system ext4 linux-swap(v1) Flags lvm Opcional: Ajustar la etiqueta GPT La mayoría de los discos en los sistemas x86/amd64 están preparados para utilizar una etiqueta msdos.2: Una ejemplo de configuración de particiones mostrado por parted (parted) print Model: SCSI Block Device Disk /dev/sda: 21. le guiaremos en la creación del ejemplo de particionamiento descrito anteriormente en las instrucciones. Sin embargo. Al contrario que en el capítulo anterior.En este capítulo. Si usa parted. describiremos el método utilizando la aplicación parted. . Echar un vistazo a la disposición actual de las particiones La aplicación parted es de alguna forma una variación moderna de fdisk. teclee help y pulse la tecla Intro. si va crear particiones muy grandes (de 2 TB y mayores). le pediremos a parted que nos muestre las particiones que están en uso actualmente en el disco seleccionado.1: Arrancar parted # parted /dev/sda GNU Parted 2. Por ahora. deberá usar en su disco una etiqueta gpt que significa GUID Partition Type (Tipo de Partición GUID). utilizaremos /dev/sda): Listado de Código 4. puede saltarse esta sección y continuar con Crear los sistemas de ficheros. Arranque parted en su disco (en nuestro ejemplo. Para mostrar todas las opciones que soporta parted.

Teclee rm <número> donde <número> es la partición que desea eliminar. . entonces no tendrá límite en el número de particiones primarias que puede crear. Asegúrese.5: Crear las particiones # Crear una partición /boot de 32 MB (parted) mkpart primary ext2 0 32mb Warning: The resulting partition is not properly aligned for best performance. Esto no significa que parted vaya a crear un sistema de ficheros en la partición (puede hacer esto con el comando mkpartfs. La aplicación parted soporta los sistemas de ficheros más comunes y sabe qué tipo de identificador (ID) de partición necesita para usar en las particiones. Si utiliza un disco etiquetado con partición gpt. Este será normalmente primary (primaria) en caso de que no vaya a tener más de cuatro particiones (si usa la etiqueta de particionamiento msdos).3: Ajustar la etiuqueta GPT (parted) mklabel gpt Eliminar todas las particiones Si no ha hecho esto aún. Esto no va a ser muy difícil usando parted. Listado de Código 4. y deberá crear particiones de tipo logical (lógicas) dentro de ella. crearemos las particiones que mencionamos arriba. permitiendo al usuario "deshacer" sus cambios antes de salvarlos o salir de fdisk). de que no comete errores en esta parte ya que parted realiza los cambios inmediatamente (al contrario que fdisk que los deja pendientes. o porque el disco es una recientemente formateado). necesitará que su cuarta partición sea extended (extendida) la cual contendrá el resto del disco. La localización en la que comienza la partición (se puede expresar en MB o en GB) La localización en la que termina la partición (se puede expresar en MB o en GB) Una ventaja de parted es que puede usar los tamaños de la partición para encontrar las localizaciones correctas de comienzo y terminación de forma fácil.4: Eliminar una partición del disco (parted) rm 2 Haga lo mismo para el resto de particiones que no va a necesitar. (por ejemplo a través de la operación mklabel anterior.Se perderán todos los datos del disco. Listado de Código 4. Crear las particiones Ahora. De lo contrario. nosotros usaremos los comandos normales mkfs. sin embargo. todo lo que necesitamos es informar a parted sobre los siguientes ajustes: • • • • El tipo de partición que se debe utilizar. El tipo de sistema de ficheros a usar. El ID de la partición lo utilizan a menudo las aplicaciones de auto detección para saber que hacer con una partición en particular. eliminaremos en primer lugar todas las particiones presentes en el disco.* más adelante para este propósito). Listado de Código 4. como veremos en el próximo ejemplo. sin embargo.

Puede ajustar esto más tarde utilizando mke2fs -i <ratio> /dev/<device>. ext2 es un sistema de ficheros Linux probado. Si no le importa el tipo de sistema de ficheros que desee utilizar y está conforme con nuestra elección por defecto. Ahora. Cuando esté preparado. XFS y JFS por ser los más utilizados en sistemas Linux. Si desea instalar Gentoo en un disco pequeño (de menos de 4GB). incluso cuando el sistema de ficheros está en un estado inconsistente.Ignore/Cancel? i # Crear una partición de intercambio de 512 MB (parted) mkpart primary linux-swap 32mb 542mb # Crear una partición que ocupa todo el disco. para validar que todo está en su sitio. Explicaremos ext2. pero no dispone de soporte para transacciones. debemos formatearlas para poder colocarles un sistema de ficheros. entonces necesitará indicarle a ext3 que reserve suficientes nodos i cuando cree el sistema de ficheros. ReiserFS.. utilice el comando quit para salir de parted.. siga leyendo para ver qué sistemas de ficheros puede utilizar . En resumen ext3 es un sistema de ficheros muy bueno y fiable. ext4. # -1s (menos uno s) indica el final del disco (parted) mkpart primary ext4 542mb -1s Warning: You requested a partition from 542MB to 21. La aplicación mke2fs utiliza el ajuste "bytes-per-inode" para calcular cuantos nodos i tendría un sistema de ficheros. Al ejecutar mke2fs -T small /dev/<device> el número de nodos i generalmente será el cuádruple para un sistema de ficheros dado ya que su "bytes-per-inode" se reduce de uno cada 16kB a uno cada 4kB. En caso contrario. Ext3 está recomendado en sistemas de ficheros para cualquier propósito y cualquier plataforma. ext3. Sistemas de ficheros El núcleo Linux soporta varios sistemas de ficheros. entonces necesitará indicarle a ext2 que reserve suficientes nodos i cuando cree el sistema de ficheros. 4. Utiliza un árbol HTree como índice que permite un alto rendimiento en casi todas las situaciones.5GB. Los sistemas de ficheros transaccionales previenen retrasos durante el reinicio del equipo. Crear los sistemas de ficheros Introducción Creadas las particiones.e. lo que significa que las comprobaciones rutinarias al arrancar pueden tardar bastante tiempo. hay muchas opciones alternativas. Is this still acceptable to you? Yes/No? y Puede ahora mostrar (print) la disposición de las particiones de nuevo. por lo que gozan de mayor popularidad.5GB. Si desea instalar Gentoo en un disco pequeño (de menos de 4GB). continúe con la sección Creación de Sistema de Ficheros en una Partición. ext3 es la versión transaccional de ext2. La aplicación mke2fs utiliza el ajuste "bytes-per-inode" para calcular cuantos . que proporciona soporte para una rápida recuperación además de otros modos mejorados de funcionamiento como registro completo y ordenado de datos. The closest location we can manage is 542MB to 21. sistemas de ficheros de nueva generación con soporte para transacciones cuya integridad puede ser verificada con mayor rapidez.

ext3 mkfs. En lugar de la asignación de bloques usando mapas de bits que emplean los sistemas de ficheros clásicos ext2/3. JFS es un sistema de ficheros ligero.ext2 mkfs. basado en un árbol B+ con un buen rendimiento bajo varias condiciones. JFS de IBM es un sistema de ficheros de alto rendimiento con soporte transaccional. Ext4 también ofrece un algoritmo más sofisticado de asignación de bloques (asignación demorada y asignación múltiple de bloques) ofreciendo al controlador del sistema de ficheros más formas de optimizar la disposición de los datos en el disco. Puede trabajar con volúmenes de hasta 1 EB y con un tamaño máximo de fichero de 16 TB.ext2 /dev/sda1 . ext4 utiliza extents (en inglés). especialmente cuando trata con muchos ficheros pequeños a costa de emplear más ciclos de CPU.ext4 mkreiserfs mkfs.nodos i tendría un sistema de ficheros. ReiserFS parece tener menos mantenimiento que otros sistemas de ficheros. El sistema de ficheros ext4 se creó como una bifurcación en el código (fork) del sistema de ficheros ext3. lo cual mejora el rendimiento con los ficheros grandes y reduce la fragmentación. rápido y fiable. incorporando nuevas características. XFS es un sistema de ficheros transaccional el cual viene con un juego de características robustas y está optimizado para ser escalable. Puede ajustar esto más tarde utilizando mke2fs -i <ratio> /dev/<device>. Al ejecutar mke2fs -T small /dev/<device> el número de nodos i generalmente será el cuádruple para un sistema de ficheros dado ya que su "bytes-per-inode" se reduce de uno cada 16kB a uno cada 4kB. XFS parece ser menos robusto ante fallos hardware.jfs Por ejemplo.1: Creación de un sistema de ficheros en una partición # mkfs. El sistema de ficheros ext4 es un compromiso entre la estabilidad del código para producción y el deseo de introducir extensiones a un sistema de ficheros que ya casi tiene una década. ReiserFS es un sistema de ficheros B+ (basado en árboles balanceados) que tiene un gran rendimiento.xfs mkfs. utilizaría los siguientes comandos: Listado de Código 5. para formatear la partición de arranque (/dev/sda1 según el ejemplo) en formato ext2 y la partición de raíz (/dev/sda3 según el ejemplo) en formato ext3. Creación de Sistema de Ficheros en una Partición Para crear un sistema de ficheros en una partición o volumen existen herramientas específicas para cada sistema de ficheros: Sistema de Ficheros ext2 ext3 ext4 reiserfs xfs jfs Comando de Creación mkfs. mejoras de rendimiento y eliminación de los limites de tamaño realizando cambios moderados en el formato del disco.

4. ejecute el comando date: Listado de Código 1. 5. asegúrese de cambiar los permisos después de montarla: chmod 1777 /mnt/gentoo/tmp. Activar la partición de intercambio mkswap es el comando usado para inicializar particiones de intercambio: Listado de Código 5.ext3 /dev/sda3 Y ahora. No olvides de crear puntos de montaje necesarios para cada partición que has creado. Instalando el Stage comprimido (tarball) Ajustar la Fecha/Hora correcta Antes de continuar debe revisar la fecha y la hora y actualizarlos.# mkfs.1: Verificar la fecha/hora .a. Instalando los archivos de instalación Gentoo 5. usa el comando swapon: Listado de Código 5.f. Pero primero necesitamos situar nuestros ficheros en las particiones. También necesitamos montar el sistema de ficheros proc (la interfaz virtual del núcleo) en /proc. Continue con Instalación de Ficheros de Instalación de Gentoo.3: Activando la partición de intercambio # swapon /dev/sda2 Crea y activa la partición de intercambio con los comandos mencionados arriba. puede crear sistemas de fichero sobre sus particiones o volúmenes lógicos recién creados. Montaje Ahora que las particiones están inicializadas y albergan sistemas de ficheros. es hora de montarlas.2: Inicialización de una partición de intercambio # mkswap /dev/sda2 Para activar la partición. Utiliza el comando mount.1: Montaje de particiones # mount /dev/sda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/sda1 /mnt/gentoo/boot Nota: Si quiere que su /tmp resida sobre una partición diferente. ¡Un reloj mal configurado puede traer resultados extraños a futuro! Para comprobar la fecha/hora actual. Lo mismo debe ser aplicado a /var/tmp. Como ejemplo montamos la partición de raíz y de arranque: Listado de Código 6.

Seleccione un servidor réplica cercano.com:port" # export ftp_proxy="http://proxy.org/main/en/mirrors. minuto y Año). se debería usar la hora UTC.server. tendremos un par de herramientas disponibles para descargar el stage. Entre en el directorio releases/x86/autobuilds/. hora. para ajustar la fecha y hora a las 16:21 horas del 29 de marzo del 2005: Listado de Código 1. Cuando haya terminado.b. actualícela con el comando date MMDDhhmmAAAA. 5.2: Configurar la información del proxy para lynx # export http_proxy="http://proxy.2: Ajustar la fecha/hora UTC # date 032916212005 Realizando su propia elección El próximo paso a llevar a cabo es instalar el tarball del archivo stage3 escogido en su sistema. Tiene la opción de descargarlo de Internet o. Día. Si necesita pasar a través de un proxy. En él. cópielo desde el propio CD. Podrá utilizar su propia zona horaria más adelante. En la mayoría de las ocasiones. Si disponemos de links. debería disponer de lynx. sin embargo.1: Ir al punto de montaje de Gentoo # cd /mnt/gentoo Dependiendo del medio de instalación.xml y pulse intro. con la siguiente sintaxis (Mes.com:port" A partir de ahora asumiremos que tiene links a su disposición. podremos navegar por la lista de servidores réplica de Gentoo y escoger el más cercano a nosotros: escriba links http://www. Por defecto: Utilizar un Stage desde Internet Descargando el Stage comprimido (tarball) Vaya al punto de montaje de Gentoo en el que ha montado los sistemas de archivo (probablemente /mnt/gentoo): Listado de Código 2. también están disponibles otros protocolos. Los CDs y LiveCDs Minimal no contienen ningún archivo stage3. exporte las variables http_proxy y ftp_proxy: Listado de Código 2. si ha arrancado desde un CD Universal de Gentoo. Seleccione uno y pulse D para descargarlo. . Por ejemplo. En este punto. pulse Q para cerrar el navegador. Normalmente los servidores HTTP nos servirán. Si no tiene links.gentoo. el comando uname -m puede ayudarle a decidir que archivo stage tiene que descargar.# date Fri Mar 29 16:21:18 UTC 2005 Si la fecha/hora está equivocada. Deberían aparecer todos los archivos de stage disponibles para su arquitectura (quizá almacenados en subdirectorios con el nombre de cada subarquitectura).server.

no la entrada estándar. Descargar e instalar una imagen de Portage Vaya al punto de montaje donde tiene montado su sistema de ficheros (normalmente /mnt/gentoo): .tar.xml (Si necesita soporte para proxy con links:) # links -http-proxy proxy.server. Instalando Portage Instalando una imagen de Portage Ahora tiene que instalar una imagen de Portage.com:8080 http://www. utilice md5sum y compare la salida con la suma de comprobación MD5 que proporciona el servidor réplica. la v (Verbose)para ver que pasa durante el proceso de extracción (opcional). es un conjunto de archivos que informan a Portage sobre los programas que puede instalar.bz2. Si quiere comprobar la integridad del tarball de stage que ha descargado.gentoo.tar. Listado de Código 2. 5. La x se usa para Desempaquetar. Ahora que el stage está instalado sigamos con Instalando Portage. K5.5: Descomprimir el Stage # tar xvjpf stage3-*.bz2: OK Extraer el Stage comprimido Ahora desempaquetamos el stage descargado en sistema.bz2.las instalaciones utilizando un stage1 o stage2 no reciben soporte. Todos los PCs modernos son considerados i686. Listado de Código 2.gentoo. Los procesadores más antiguos de i486 no están soportados.tar. Los procesadores antiguos.org/main/en/mirrors. como son los Pentium. la p para Preservar los permisos y la f para decir que extraemos un archivo. K6 o Via C3 y similares necesitan el stage i586. la j para Descomprimir con bzip2.DIGESTS stage3-i686-<release>.org/main/en/mirrors. etc.tar. puede revisar la lista de procesador compatibles con i686 en la wikipedia. Listado de Código 2. que perfiles están disponibles.La mayoría de usuarios de PC deberían emplear el archivo stage3-i686<release>.xml Conviene asegurarse de que ha descargado un archivo stage3 .3: Navegar por la lista de servidores réplica con links # links http://www. Usaremos tar para dicha labor y este es el método más fácil.bz2 Asegúrese de usar las mismas opciones xvjpf). Si utiliza una máquina antigua.c.4: Comprobación de integridad del tarball de stage # md5sum -c stage3-i686-<release>.

example está estructurado de una manera genérica: Las líneas comentadas empiezan con "#". Ahora dispone de una imagen de Portage guardada en /mnt/gentoo. Este es el fichero que editaremos ahora.Listado de Código 3.1: Situándose en el punto de montaje de Gentoo # cd /mnt/gentoo Ejecute links (o lynx) y vaya a la lista de servidores réplica de Gentoo.gentoo. Portage dispone de /etc/make. Todas estas variables se pueden fijar como variables de entorno (usando export) pero eso no es permanente. no una c. utilice md5sum y compare la salida con la suma de comprobación MD5 que proporciona el servidor réplica.conf. Configurando las opciones de compilación Introducción Para optimizar Gentoo.xml Ahora salga del navegador presionando Q. vamos a descomprimir la imagen de Portage en su sistema de ficheros. Para mantener su configuración. tendrá que ajustar un par de variables que afectarán el comportamiento de Portage. Listado de Código 3. Listado de Código 3.tar. otras líneas definen .conf.example.bz2 -C /mnt/gentoo/usr 5.md5sum portage-latest.conf # nano -w /mnt/gentoo/etc/make.tar. Use su editor favorito (en esta guía nosotros usaremos nano. Así que empezamos con la modificación de las variables.conf Como probablemente habrá notado. seleccionándola y presionando D.bz2. Para una instalación de Gentoo correcta lo único que necesita es configurar las variables que se mencionan en las siguientes líneas.4: Descomprimir la imagen de Portage # tar xvjf /mnt/gentoo/portage-latest. Listado de Código 3.3: Comprobar la integridad de una imagen de Portage # md5sum -c portage-latest. Si quiere comprobar la integridad de la imagen descargada.conf.1: Abrir /etc/make. Nota: Una lista comentada de todas las posibles variables puede encontrarse en /mnt/gentoo/usr/share/portage/make.d. De allí descargue la última imagen de Portage (portage-latest. el fichero make.bz2).bz2: OK En el siguiente paso.2: Comprobar la lista de servidores réplica de Gentoo # links http://www.tar. la última opción es una C mayúscula. Listado de Código 4. un fichero de configuración para Portage.org/main/en/mirrors. Asegúrese de utilizar los comandos exactos. Elija un servidor cercano y abra el directorio snapshots/.tar.

. Cuando defina las variables CFLAGS y CXXFLAGS. 0 (para no optimizar).Sólo en un sistema Linux funcional). tendrá el máximo rendimiento si optimiza estos parámetros para cada programa por separado. El primer parámetro es -march= o -mtune=. En sistemas con poca memoria. 1. el cual especifica el nombre de la arquitectura destino. léase El manual en línea de GNU o la página información de gcc (info gcc -. el proceso del compilador podría ser terminado. Seguida de esta. Las clases posibles son s (para tamaño optimizado). No tiene ningún impacto sobre le código generado. no use este parámetro. Las posibles opciones están descritas en el fichero make. En este caso. o incluso peor. La razón es que cada programa es diferente. No explicaremos todas las opciones posibles para la optimización. que especifica la clase optimización de gcc. un nivel demasiado alto de optimización puede hacer que los programas se comporten mal (cuelgues. pero usa más memoria. 2 o incluso 3 para la optimización de velocidad (cada clase tiene los mismos parámetros que la primera. -O2 es la recomendada. funcionamientos erróneos).conf deberá definir los parámetros de optimización que piense que vayan a hacer su sistema el mejor en todas las situaciones. CXXFLAGS="${CFLAGS}" Nota: Quizá quiera echar un vistazo a la Guía de Compilación Optimizada para mayor información sobre las distintas opciones de compilación que afectan al sistema. está el parámetro -O. CFLAGS y CXXFLAGS Las variables CFLAGS y CXXFLAGS.conf utiliza la misma sintaxis. más algunos extras).example (como comentarios). Aunque generalmente se definen aquí. Pero si quiere conocerlas todas. Otros parámetros de optimización bastante populares son los -pipe (usando tuberías en lugar de ficheros temporales para la comunicación entre las diferentes etapas de compilación). un ejemplo: Listado de Código 4. Cuidado con utilizar -fomit-frame-pointer (el cual no mantiene el puntero de macro en un registro para las funciones que no lo necesiten) pues podría tener graves repercusiones en la depuración de errores en aplicaciones. Discutiremos muchas de esas variables más adelante. El siguiente ejemplo es simplemente eso.variables usando la sintaxis VARIABLE="contenido".conf.2: Definir las variables CFLAGS y CXXFLAGS CFLAGS="-O2 -march=i686 -pipe" # Use la misma configuración para ambas variables. El fichero make. El fichero make.conf también contiene una gran cantidad de ejemplos e información. Es conocido que -O3 provoca problemas cuando se utiliza globalmente en el sistema. En el fichero make. No coloque parámetros experimentales en esta variable. debería combinar algunos parámetros de optimización. definen los parámetros de optimización para el compilador de C y C++ de gcc respectivamente. Los valores por defecto que trae el archivo stage3 deberían ser suficientemente buenos. por esto se recomienda mantener siempre -O2. no olvide leerlo también.

nosotros le facilitamos una buena herramienta llamada mirrorselect la cual proporciona una interfaz amigable para seleccionar los servidores réplicas que quiera. Recomendamos escoger uno de rotación. Chrooting Opcional: Seleccionando servidores réplica Para poder descargar el código fuente rápidamente se recomienda seleccionar un servidor réplica rápido. El valor sugerido se obtiene sumando uno a la cantidad de CPUs (o de cores) de su sistema.conf. Esta variable contiene el servidor rsync que quiere utilizar para actualizar su árbol Portage (la colección de ebuilds. Listado de Código 1. Portage comprobará en su archivo make.conf. sin embargo. revise la lista de servidores espejo comunitarios para averiguar el servidor más cercano. guiones que contienen toda la información que Portage necesita para descargar e instalar software).conf. mirrorselect puede encargarse también de esto: Listado de Código 1.conf Otra importante configuración es la variable SYNC en make. Nota: Si desea seleccionar un servidor SYNC manualmente en make.conf con sus propios parámetros y guarde los cambios (los usuarios de nano deben usar Ctrl-X). Listado de Código 4.2: Seleccionar un servidor rsync utilizando mirrorselect # mirrorselect -i -r -o >> /mnt/gentoo/etc/make.gentoo. ya! Actualice su /mnt/gentoo/etc/make. Aunque puede introducir manualmente el servidor SYNC. aunque este valor no es siempre el perfecto.us.3: MAKEOPTS para un sistema normal de 1-CPU MAKEOPTS="-j2" ¡Preparados. en vez de uno . Instalando el sistema base de Gentoo 6. listos. 6.MAKEOPTS Con la variable MAKEOPTS definimos cuantas compilaciones paralelas pueden hacerse al mismo tiempo cuando instalamos un paquete. Puede navegar en nuestra lista de réplicas y buscar un servidor (o servidores) que estén cerca de su localización (ya que estos suelen resultar los más rápidos).conf Después de ejecutar mirrorselect es recomendable que compruebe sus configuraciones en /mnt/gentoo/etc/make. Ahora estamos listos para continuar con Instalando el sistema base de Gentoo.conf la variable GENTOO_MIRRORS y utilizará los servidores que se especifican allí.a.1: Utilizar mirrorselect para la variable GENTOO_MIRRORS # mirrorselect -i -o >> /mnt/gentoo/etc/make. Simplemente navegue a los servidores réplica que desee y pulse la barra espaciadora para seleccionar uno o más servidores. como rsync.org.

4: Montar /proc y /dev # mount -t proc none /mnt/gentoo/proc # mount --rbind /dev /mnt/gentoo/dev Entrando al nuevo entorno Ahora que todas las particiones están inicializadas y el sistema base instalado.so.3: Copiar la información de DNS (La opción "-L" es necesaria para asegurarnos que no copiamos un enlace simbólico) # cp -L /etc/resolv. Después crearemos un nuevo entorno usando env-update. Por supuesto aún no hemos terminado.individual. # source /etc/profile # export PS1="(chroot) $PS1" ¡Enhorabuena! Está dentro de su nuevo entorno Gentoo Linux.conf contiene los servidores de nombres para su red. en esencia crea las variables de entorno. Primero cambiamos la raíz desde / (en el medio de instalación) a /mnt/gentoo (en sus particiones) usando chroot. Para asegurarse de que el nuevo entorno funciona correctamente. copiar la información sobre los DNS en /etc/resolv. Finalmente. Necesita hacer esto para asegurarse de que la red continúe funcionando después de entrar en el nuevo entorno. cambiaremos la raíz de Linux a la nueva localización.5: Entrar al nuevo entorno # chroot /mnt/gentoo /bin/bash # env-update >> Regenerating /etc/ld.. /etc/resolv. Listado de Código 1. todavía quedan unas cuantas secciones :-) . El enjaulamiento se hace en tres pasos. Copiar la información DNS Aún queda una cosa que hacer antes de entrar en el nuevo entorno.conf /mnt/gentoo/etc/ Montar los sistemas de archivos /proc y /dev En breve. las particiones inicializadas). Monte el sistema de ficheros /proc en /mnt/gentoo/proc para poder usar la información proporcionada por el núcleo dentro del entorno chroot y luego monte el sistema de ficheros /dev. cargamos esas variables en memoria tecleando source. necesitaremos disponer de ciertos sistemas de ficheros en la nueva localización. el cual. Listado de Código 1.cache.conf. es hora de entrar en nuestro nuevo entorno de instalación haciendo chrooting en él. Esto ayuda a repartir la carga y agrega seguridad en caso que el servidor espejo individual esté fuera de línea.. Listado de Código 1. Esto significa pasar desde el actual entorno de instalación (CD de instalación u otro medio) hacia su entorno de instalación (o sea.

Después de revisar los perfiles disponibles para su arquitectura.2: Comprobar el perfil del sistema # eselect profile list Available profile symlink targets: [1] default/linux/x86/10.b.0/desktop [3] default/linux/x86/10. también bloquea del sistema ciertos rangos de versiones de algunos paquetes. puede utilizar emergewebrsync el cual descargará e instalará una imagen de Portage para su sistema.0/server Como puede ver. emerge --sync hará esto por nosotros. también existen sub-perfiles desktop (escritorio) y server (servidor) para algunas arquitecturas. 6. Ejecutando eselect profile list mostrará los perfiles disponibles. Si ha advertido que está disponible una nueva versión de Portage y se debe actualizar. CFLAGS. No solamente especifica unos valores predeterminados para USE. Sin embargo. una pequeña definición: Un perfil es la piedra inicial de cualquier sistema Gentoo. Se puede ver el perfil actualmente utilizado con la siguiente orden: Listado de Código 2. Tiempo atrás. Listado de Código 2. en cualquier momento. puede haber situaciones en las cuales sea necesaria un cambio de perfil. puede utilizar uno diferente si lo desea: Listado de Código 2.0 * [2] default/linux/x86/10. los perfiles raramente los tocaba el usuario.1: Actualizar el árbol Portage # emerge --sync (Si está utilizando un terminal lento como algunos framebuffers o consolas seriales. Eligiendo el perfil adecuado Primero. necesita otro terminal o consola para acceder al entorno chroot. debería hacerlo ejecutando emerge --oneshot portage. Configurar Portage Opcional: Actualizando el árbol Portage Debería actualizar ahora su árbol Portage a la última versión. y otras variables importantes. Son mantenidos por los desarrolladores de Gentoo.3: Cambiar de perfil # eselect profile set 2 . todo lo que necesita hacer es ejecutar de nuevo los pasos de arriba.Si. puede añadir la opción --quiet para aumentar la velocidad del proceso:) # emerge --sync --quiet Si está detrás de un cortafuegos que bloquea el tráfico rsync.

defaults en el directorio al cual apunte /etc/make. Lo que modifique en /etc/make. ALSA y soporte para grabar CD's. Muchas distribuciones compilan sus paquetes con el mayor soporte posible. gnome gtk -kde -qt4 compilará sus programas con soporte para gnome (y gtk). pero sin soporte para kde (y qt). Nunca cambie nada en /etc/make. haciendo su sistema completamente compatible con GNOME.profile y todos sus directorios padres. Por ejemplo. Listado de Código 2.conf se calcula contra estos valores.Nota: El sub-perfil developer existe específicamente para labores de desarrollo Gentoo Linux.5: Abrir /etc/make.conf # nano -w /etc/make. Los valores por defecto de la variable USE se encuentran en make.profile ya que ¡se sobreescribirá cuando actualice Portage! Puede encontrar una descripción completa sobre la variable USE en la segunda parte del Manual de Gentoo Capítulo 1: Variables USE. es eliminado de la lista por defecto (si estaba en ella claro).defaults. Muchos programas pueden ser compilados con o sin soporte opcional para ciertas cosas.4: Ver las opciones disponibles # less /usr/portage/profiles/use. Encontrará una descripción más extensa sobre las opciones de la variable USE en su sistema. poniéndole un signo menos delante. o con soporte qt.desc. sin mencionar una cantidad enorme de dependencias. Por ejemplo ssl compilará los programas que lo requieran con soporte ssl. aumentando el tamaño de los programas y su tiempo de carga.defaults. se muestran algunas opciones USE para un sistema basado en KDE con DVD. Encontrará los archivos make. Con Gentoo puedes definir con que opciones debe ser compilado un paquete.6: Configurar la variable USE USE="-gtk -gnome qt4 kde dvd alsa cdr" 7. en /usr/portage/profiles/use. es añadido a la lista por defecto. Ahí es donde actúa la variable USE. Si pone algún valor en su USE. No está diseñado para ayudar a establecer entornos generales de desarrollo. Otros programas pueden ser compilados con o sin soporte SSL. archivos de su perfil. algunos programas pueden ser compilados con soporte gtk. Algunos programas pueden ser compilados con soporte framebuffer (svgalib) en lugar de soporte X11 (servidor X). El valor predeterminado de configuración de la variable USE es la suma de todas las configuraciones de USE en todos los archivos make. Si elimina algo en su variable USE.-X quitara el soporte para el servidor X (nótese el signo menos delante). En la variable USE definimos palabras clave que son transformadas a opciones de compilación. Listado de Código 2. Configurando la variable USE La variable USE es una de las más importantes que Gentoo proporciona a sus usuarios. Configurando el kernel .desc (Puede desplazarse arriba y abajo utilizando sus teclas de flechas y salir pulsando 'q') Como ejemplo.conf Listado de Código 2.

continúe con Predeterminado: Configuración Manual. Para los sistemas basados en x86 tenemos. Busque su zona horaria en /usr/share/zoneinfo. evite las zonas horarias /usr/share/zoneinfo/Etc/GMT* ya que los nombres no indican las zonas esperadas. En cambio.2: Visualizar el enlace a las fuentes del núcleo # ls -l /usr/src/linux lrwxrwxrwx 1 root -> linux-2. Por ejemplo.7. Listado de Código 2.c. Zona Horaria Primero necesita seleccionar su zona horaria para que su sistema sepa dónde está localizado. Es la capa entre los programas de usuario y el hardware del sistema. GMT-8 es realmente GMT+8. cópiela a /etc/localtime.1: Configurar la Zona Horaria # ls /usr/share/zoneinfo (Supongamos que desea utilizar Europe/Brussels) # cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime (A continuación ajustamos timezone) # echo "Europe/Brussels" > /etc/timezone 7. Puede usar para esto genkernel.5: Instalar unas fuentes del núcleo # emerge gentoo-sources Cuando vea en /usr/src verá un enlace simbólico llamado linux apuntando a las fuentes del núcleo. Si quiere configurar manualmente su núcleo. Gentoo proporciona a sus usuarios varias fuentes de núcleos. En este caso. Por favor. asumimos que la fuentes del núcleo instaladas apuntan a gentoosources-2.a. entre otros núcleos.b.34-r1 root 12 Oct 13 11:04 /usr/src/linux Ahora vamos a configurar y compilar las fuentes del núcleo. así que por favor tenga esto presente. ya que es la mejor manera de optimizar su entorno. Instalar las Fuentes Elegir un Núcleo El eje alrededor del cual se construyen todas las distribuciones es el núcleo de Linux.6. Su versión podría ser distinta. Elija sus fuentes del núcleo e instálelas usando emerge. Listado de Código 2.6. Aquí explicaremos la configuración "manual". que construirá un núcleo genérico como el usado por el CD de instalación. Una lista completa está disponible en la Guía del Núcleo de Gentoo. 7. si quiere usar genkernel debe leer Alternativa: Usar genkernel. Predeterminado: Configuración Manual Introducción .34-r1. gentoo-sources (fuentes del núcleo modificadas para obtener algunas características adicionales). Listado de Código 1.

Se puede recolectar mucha información instalando pciutils (emerge pciutils).después de configurar un par de núcleos no recordará si fue difícil . Esto producirá un menú de configuración basado en ncurses. No los compile como módulos.) están compilados dentro del núcleo y no como módulos o. Listado de Código 3.2: Seleccionar la familia de procesador correcta Processor type and features ---> (Selecciónelo de acuerdo a su sistema) (Athlon/Duron/K7) Processor family A continuación seleccione Maintain a devtmpfs file system to mount at /dev de modo que los ficheros de dispositivo críticos estén disponibles cuanto antes en el proceso de inicio. Activar Opciones Necesarias Asegúrese que todos los controladores vitales para el arranque del sistema (como pueden ser los de SCSI. after the kernel mounted the rootfs Vaya ahora a File Systems y seleccione los soportes para los sistemas de archivos que use. Puede ignorar tranquilamente los avisos sobre pcilib (como pcilib: cannot open /sys/bus/pci/devices) desplegado por lspci. Los resultados son iguales. También puede ejecutar lsmod para ver qué módulos del núcleo está usando el CD de instalación (puede darle indicaciones acerca de qué activar).3: Habilitar soporte devtmpfs Device Drivers ---> Generic Driver Options ---> [*] Maintain a devtmpfs filesystem to mount at /dev [ ] Automount devtmpfs at /dev. de lo contrario. Ahora vaya al directorio de sus fuentes y ejecute make menuconfig.Configurar manualmente un núcleo frecuentemente es visto como el procedimiento más difícil que tiene que realizar un usuario de Linux.4: Seleccionar los sistemas de archivos necesarios File systems ---> .) Sin embargo. que contiene lspci. Seleccione la familia correcta de procesadores: Listado de Código 3. Listado de Código 3.1: Invocar a menuconfig # cd /usr/src/linux # make menuconfig Aparecerá una pantalla con diversas secciones de configuración. Nada más lejos de la verdad -. Ahora podrá usar lspci en el entorno chroot. o no funcionará bien sin configuración adicional). Primero listaremos algunas opciones que debe activar (sino Gentoo no funcionará. También seleccione Virtual memory y el /proc file system. una cosa sí es cierta: debe conocer su sistema al empezar a configurar el núcleo manualmente. su sistema no será capaz de arrancar correctamente. de otro modo su sistema Gentoo no será capaz de montar sus particiones... . puede ejecutar lspci desde un entorno no-chroot. Alternativamente. Listado de Código 3.

Si usa dispositivos de entrada USB (como un ratón o teclado) no olvide activarlos también: Listado de Código 3. tal vez solo sea usada por ppp cuando configure un núcleo en modo PPPoE. es necesario activar "High Memory Support (64G)".. Si se dispone de más de 4GB de RAM. [*] EFI GUID Partition support Si está usando PPPoE para conectarse a Internet o está usando un módem dial-up.. o tiene un sistema multi-CPU.(Seleccione una o más de las siguientes opciones según las necesite su sistema) <*> Second extended fs support <*> Ext3 journalling file system support <*> The Extended 4 (ext4) filesystem <*> Reiserfs support <*> JFS filesystem support <*> XFS filesystem support .7: Activar Soporte para Dispositivos de Entrada USB Device Drivers ---> USB Devices ---> [*] USB Human Interface Device (full HID) support ... Si lo requiere. debe activar "Symmetric multi-processing support": Listado de Código 3. Pseudo Filesystems ---> [*] /proc file system support [*] Virtual memory file system support (former shm fs) (Habilite el soporte de etiqueta de partición GPT si lo ha utilizado anteriormente) Partition Types ---> [*] Advanced partition selection . no olvide incluir el soporte en el núcleo para su tarjeta ethernet: Si tiene un CPU Intel que soporte HyperThreading (tm). cada núcleo cuenta como un procesador. ni para la opción PPP over Ethernet.6: Activar el soporte SMP Processor type and features ---> [*] Symmetric multi-processing support Nota: En sistemas multi-núcleo. necesitará las siguientes opciones en el núcleo: Listado de Código 3.5: Seleccionar los controladores PPPoE necesarios Device Drivers ---> Network device Support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports Las dos opciones de compresión no le afectan pero no son necesarias.

) <*> 16-bit PCMCIA support [*] 32-bit CardBus support (Seleccione los puentes adecuados a continuación) *** PC-card bridges *** <*> CardBus yenta-compatible bridge support (NEW) <*> Cirrus PD6729 compatible bridge support (NEW) <*> i82092 compatible bridge support (NEW) Cuando haya terminado de configurar el núcleo. a continuación. Sin un initramfs. ya que le hará falta más adelante al configurar el gestor de arranque. Salga de la configuración y comience con el proceso de compilación: Listado de Código 6. Los guiones contenidos en el initramfs se asegurarán entonces de que las particiones se montan de forma adecuada antes de continuar con el inicio del sistema.Si se quiere soporte para PCMCIA en ordenadores portátiles.34-gentoo-r1 con el nombre y versión del núcleo. entonces necesitará configurar un initramfs de modo que estas particiones se monten antes de que sean necesarias para el arranque.6. Listado de Código 3.34-gentoo-r1 (Opcional) Construyendo un sistema de ficheros en RAM para el inicio (Initramfs) Si está utilizando un esquema de particionado específico en el que las localizaciones de ficheros importantes (como /usr o /var) están en particiones separadas. es hora de compilarlo e instalarlo. continúe con Compilar e Instalar. Para instalar un initramfs.20: Activar el soporte PCMCIA Bus options (PCI etc. no se olvide de activar el soporte para el puente de tarjetas PCMCIA que se encuentre en su sistema: Listado de Código 3.) ---> PCCARD (PCMCIA/CardBus) support ---> <*> PCCard (PCMCIA/CardBus) support (Seleccione 16 bit si necesita soporte para las antiguas tarjetas PCMCIA.6.10: Instalar el núcleo # cp arch/x86/boot/bzImage /boot/kernel-2. Compilar e Instalar Ahora que hemos configurado el núcleo. indíquele que desea construir un initramfs. Un initramfs contendrá los ficheros necesarios que serán utilizados cuando el núcleo arranque. pero antes de que el control se ceda a la herramienta init. La mayoría de la gente querrá utilizar esto. Recuerde reemplazar kernel-2. Use cualquier nombre que estime apropiado para el núcleo y recuérdelo.16: Compilar el núcleo # make && make modules_install Al terminar de compilar el núcleo. copie la imagen a /boot. . se corre el riesgo de que su sistema no arranque de forma adecuada ya que las herramientas responsables de montar los sistemas de ficheros necesiten información que se encuentre en esos sistemas de ficheros. en primer lugar instále el paquete genkernel.

veamos como usar genkernel. eligió usar nuestro guión genkernel para configurar el núcleo. Los usuarios de LVM2 probablemente querrán añadir también el argumento --lvm2. Primero. o el siguiente ejemplo que añade soporte para LVM y software RAID (mdadm): Listado de Código 3. Ahora.12: Construir un initramfs con soporte para LVM y software RAID # genkernel --lvm --mdadm --install initramfs El initramfs se almacenará en /boot. es una solución ideal para esos usuarios que no se sienten cómodos compilando sus propios núcleos. Lea genkernel --help para más información. Listado de Código 4. necesitará configurar manualmente su núcleo con genkernel --menuconfig all y agregar soporte para su sistema de archivos en el núcleo (no como módulo).11: Construir un initramfs # emerge genkernel # genkernel --install initramfs Si necesita soporte específico en el initramfs.2: Ejecutar genkernel # genkernel all . Ahora que el árbol de las fuentes del núcleo está instalado. añada las opciones apropiadas a genkernel. es hora de compilarlo usando nuestro guión genkernel que automáticamente construirá un núcleo. compile las fuentes del núcleo ejecutando genkernel all Recuerde que genkernel compila un núcleo que soporta casi todo el hardware. como lvm o raid. su sistema generalmente detectará todo su hardware en el arranque.1: Instalar genkernel # emerge genkernel Ahora.Listado de Código 3. Puede encontrar el fichero generado simplemente listando los ficheros que comienzan por initramfs: Listado de Código 3. Debido a que genkernel no requiere ninguna configuración manual del núcleo.13: Comprobar el nombre de fichero del initramfs # ls /boot/initramfs* Ahora continúe con Módulos del Núcleo. 7. ¡esta compilación tardará un rato en terminar! Observe que si su partición de arranque no usa el sistema de archivos ext2 o ext3. Alternativa: Usar genkernel Si está leyendo esta sección. genkernel trabaja configurando un núcleo prácticamente idéntico al núcleo de nuestro CD de instalación. Esto significa que cuando use genkernel para construir su núcleo.d. tal como lo hace el CD de instalación. haga emerge al ebuild de genkernel: Listado de Código 4.

El initrd iniciará inmediatamente después del arranque para realizar la autodetección de hardware (igual que en el CD de instalación) antes que inicie su sistema "real".d/modules # nano -w /etc/conf.ko (el driver para una tarjeta de red específica de la familia 3Com). Este fichero contiene los puntos de montaje de esas particiones (donde se encuentran en la estructura del sistema de ficheros). Usaremos el núcleo e initrd para configurar un gestor de arranque más tarde en este documento. Cada campo tiene su propio significado: .ko' | less Por ejemplo. todas las particiones usadas por el sistema deben estar reflejadas en /etc/fstab. etc. tabuladores o una combinación). Listado de Código 4.Una vez que genkernel haya terminado. si los usuarios pueden montarlas o no.).2: Editar /etc/conf.e. Cada línea tiene seis campos.d/modules y escriba el nombre del módulo. un núcleo. separados por espacios en blanco (espacio(s).d/modules modules_2_6="3c59x" Continúe la instalación con Configurar su Sistema.a. edite el archivo /etc/conf. para cargar automáticamente el módulo 3c59x. No olvide sustituir "<kernel version>" por la versión del kernel que acaba de compilar: Listado de Código 5. Puede agregar opciones extra a los módulos si así lo desea. Información del Sistema de Ficheros ¿Qué es el fstab? En Linux. un conjunto completo de módulos y un disco ram de inicio (initramfs) serán creados. Configurando su sistema 8. ejecute el comando find. Módulos del Núcleo Configurar los Módulos Debe listar los módulos que quiera cargar automáticamente en /etc/conf. Creando el /etc/fstab /etc/fstab usa una sintaxis especial. cómo deben ser montadas y con que opciones especiales (automáticamente o no. 8. Listado de Código 5.1: Ver todos los módulos disponibles # find /lib/modules/<kernel version>/ -type f -iname '*. Para ver todos los módulos disponibles.o' -or -iname '*.d/modules. Escriba los nombres del núcleo y de initrd ya que los necesitará para el archivo de configuración del gestor de arranque.3: Verificar los nombres del núcleo e initrd creados # ls /boot/kernel* /boot/initramfs* 7.

Añada las reglas que coincidan con su esquema de particionamiento para su dispositivo(s) CD-ROM.noatime sw noatime noauto. le animamos a leer la página man de mount (man mount) para un listado completo. Esta necesita ser comprobada durante el arranque del sistema. y por supuesto. La partición raíz debe tener un 1 mientras que el resto puede tener 2 (o 0 en el caso en que la comprobación del sistema de ficheros no sea necesaria). con un sistema de ficheros ext2. Importante: El archivo /etc/fstab que proporciona Gentoo de manera predeterminada no es un archivo fstab válido. Cuando existen múltiples opciones se separan por comas. . si su arquitectura no requiere una partición /boot. Debe crear su propio /etc/fstab: Listado de Código 1. Como cada sistema de ficheros tiene sus propias opciones de montaje. /boot es la partición /dev/sda1. no lo copie al pie de la letra. En nuestro ejemplo para x86 de particionamiento. si tiene otras particiones o dispositivos. Ahora use el ejemplo que tiene a continuación para crear su /etc/fstab: Listado de Código 1. también para éstos. Esto implica la necesidad de montar manualmente la partición cada vez que se quiera usarla.2: Un ejemplo de línea /boot para /etc/fstab /dev/sda1 /boot ext2 defaults 1 2 Algunos usuarios no quieren que su partición /boot sea montada automáticamente para mejorar la seguridad de su sistema. Esto es solo un ejemplo. Estos usuarios deberían sustituir defaults por noauto. El sexto campo es usado por fsck para determinar el orden en que los sistemas de ficheros deben ser comprobados si el sistema no se apagó correctamente. así que necesitamos escribir: Listado de Código 1.• • • • • • El primer campo muestra la partición descrita (la ruta al fichero de dispositivo) El segundo campo muestra el punto de montaje donde la partición debe montarse El tercer campo muestra el sistema de ficheros usado por la partición El cuarto campo muestra las opciones de montaje que debe usar mount al tratar de montar la partición. En general puede dejar esto como 0 (cero).1: Abrir /etc/fstab # nano -w /etc/fstab Vamos a ver como anotar las opciones para la partición /boot.user 1 2 0 0 0 1 0 0 /dev/cdrom /mnt/cdrom auto provoca que mount intente adivinar el sistema de archivos (se recomienda para los dispositivos extraíbles ya que pueden ser creados con distintos sistemas de ficheros) y user hace posible a los usuarios que no pertenezcan a root monten el CD.3: Un ejemplo completo de /etc/fstab /dev/sda1 /dev/sda2 /dev/sda3 /boot none / ext2 swap ext3 auto defaults. El quinto campo es usado por dump para determinar si la partición necesita ser volcada o no.

Para acelerar las cosas. guarde los cambios y salga para continuar. debes recordar que la red que configuraste en el inicio de la instalación de Gentoo fue tan solo para la . puede librarse del mensaje: "This is hostname. No necesitará preocuparse por el DNS o nombres de dominios si su red se configura por DHCP. necesita definirlo: Listado de Código 2. seguramente es que no tenga uno).d/net. sepa que el nombre que elija puede cambiarlo más tarde. pero muchos usuarios tienen dificultades eligiendo el nombre apropiado para su PCLinux. Si tiene un dominio NIS (si no conoce que es esto. Listado de Código 2.d/hostname (Configure la variable hostname con el nombre del anfitrión) hostname="tux" A continuación.bz2 que se pueden leer utilizando bzless.b.3: Configurar el dominio NIS # nano -w /etc/conf. Información de red Nombre de anfitrión. o si tiene un servidor DNS pero no DHCP. ya lo tengo todo". por favor lea los ejemplos que se encuentran en /usr/share/doc/openrc-*/net. nombre de dominio.1: Ajustar el nombre del anfitrión # nano -w /etc/conf. Además. etc. puesto que los tiempos de acceso no son registrados (de todas formas. Una de las elecciones que un usuario ha de hacer es el nombre de su PC. la mayoría de usuarios podrían querer agregar la opción noatime como opción de montaje. que desemboca en un sistema más rápido.d/net (Asigne la variable nis_domain a su nombre de dominio NIS) nis_domain_lo="my-nisdomain" Nota: Para más información sobre configuración de DNS y NIS. Listado de Código 2. puede configurarse en /etc/conf.\O de ese archivo. puede llamar a su sistema simplemente tux y a su dominio redcasera.2: Configurar el nombre de dominio # nano -w /etc/conf. Solamente necesitará un dominio si su ISP o administrador de sistemas se lo indica. no necesitará esto en general): Repase su /etc/fstab. Simplemente elimine el texto .(none)" en las pantalla de inicio editando /etc/issue. tal vez quiera hacer emerge openresolv para manejar su configuración DNS/NIS.Para aumentar el rendimiento. Para el caso que nos ocupa. Esto parece muy fácil. Configurando su Red Antes de llegar a experimentar esa sensación "Hey.example. si se necesita un nombre de dominio. 8.d/net (Asigne la variable dns_domain a su nombre de dominio) dns_domain_lo="homenetwork" Nota: Si no configura un nombre de dominio.

6: Configurar manualmente la información IP para eth0 config_eth0="192. aunque no intuitiva. Si tiene varias interfaces de red. repita los pasos anteriores utilizando config_eth1. Consulte la página man de su cliente DHCP si necesita configurar opciones específicas. puenteo (bridging). etc.168. Toda la información de red esta reunida en /etc/conf.d/net por defecto # # # # This blank configuration will automatically use DHCP for any net.255.0 brd 192.d/net para su edición # nano -w /etc/conf.5: Archivo /etc/conf.d/net (this file :]!).* scripts in /etc/init.bz2 para ver una lista con todas las opciones disponibles. To create a more complete configuration.d. Nota: Información más detallada sobre redes. Para introducir su propia dirección IP.example. incluyendo temas más avanzados como unión de interfaces (bonding).1" Para utilizar DHCP defina.168. redes virtuales 802.7: Obtener una dirección IP automáticamente para eth0 config_eth0="dhcp" Por favor. consulte /usr/share/doc/openrc-*/net. si no se sabe como configurar una red manualmente. Para que funcione.255" routes_eth0="default via 192. Pero no se asuste. Este fichero usa una sintaxis directa. Si se necesita configurar la conexión de red porque es necesario incluir opciones de DHCP específicas o porque no utiliza DHCP.example.168. Podemos encontrar un ejemplo completamente comentado que cubre los distintos tipo de configuraciones en /usr/share/doc/openrc*/net.2 netmask 255.d/net con su editor favorito (nano se emplea en este ejemplo): Listado de Código 2. necesita configurar tanto config_eth0 como routes_eth0: Listado de Código 2.bz2 DHCP se emplea de manera predeterminada. please review /usr/share/doc/openrc-*/net.1Q o redes inalámbricas está disponible en la sección Configuración de redes en Gentoo.0. se lo explicaremos todo. . config_eth0: Listado de Código 2. debe instalar un cliente de DHCP.0.4: Abrir /etc/conf.255.d/net Verá el siguiente fichero: Listado de Código 2.bz2 and save your configuration in /etc/conf. No se olvide de instalar un cliente DHCP.instalación. A partir de ahora vamos a configurar la red permanentemente para su sistema Gentoo.example.d/net. abra /etc/conf. Esto se describe más adelante en Instalar las herramientas necesarias para el sistema. máscara de red y pasarela.0. config_eth2.

) 192.9: Abrir /etc/hosts # nano -w /etc/hosts Listado de Código 2.168. necesitan tener una IP estática para definirlas de esta manera. Información del sistema Contraseña de administrador (Root) Primero fijamos la contraseña de administrador escribiendo: .0.eth2 etc. net.1 localhost (Definir máquinas adicionales o la propia red.11: Instalar pcmciautils # emerge pcmciautils 8. Además se definen otras máquinas o redes si no se va a configurar un servidor interno de DNS en la propia máquina: Listado de Código 2.d # ln -s net. Los usuarios de PCMCIA deberían leer el siguiente apartado sobre PCMCIA. Listado de Código 2.8: Agregar net. puede continuar con Información del Sistema. Inicio automático de red en el arranque Para disponer de su interfaz de red activada en el arranque.5 192.0. Anotando la Información de la Red Necesita informar a Linux sobre su red. Esto se define en /etc/hosts y ayuda a transformar los nombres de anfitriones a direcciones IP para aquellas máquinas que no se resuelven a través de su servidor de nombres (DNS).6 jenny. necesita agregarla al nivel de ejecución por defecto (default).0. Si no tiene PCMCIA.Ahora guarde la configuración y salga para continuar.eth0. Se necesita definir la máquina.0. Listado de Código 2.redlocal jenny benny.eth0 default Si tiene distintas interfaces de red. Opcional: Hacer funcionar el PCMCIA Los usuarios de PCMCIA deben instalar primero el paquete pcmciautils.c.lo net.eth0 # rc-update add net. necesitara crear los correspondientes net.eth1.168.10: Completar la información de red (Esto define la máquina actual) 127. tal y como hizo con net.redlocal benny Guarde y salga del editor para continuar.eth0 al nivel de ejecución por defecto (default) # cd /etc/init.

5: Abrir /etc/locale.gen.d/hwclock Si su reloj de hardware no utiliza UTC.gen A continuación se muestran dos localizaciones para obtener el inglés de Estados Unidos y el español de España con los formatos de carácter asociados (como por ejemplo UTF-8).3: Abrir /etc/conf. si utilizó como timezone Europe/Brussels. Abra el fichero /etc/rc.2: Configurar servicios # nano -w /etc/rc. Edítelo y configure su teclado.d/keymaps para gestionar la configuración del teclado. Debería definir la zona horaria que previamente ha copiado a /etc/localtime en el fichero /etc/timezone de modo que futuras actualizaciones del paquete sys-libs/timezonedata puedan actualizar /etc/localtime de forma automática. guárdelos y salga de su editor. Por ejemplo. añada clock="local" al archivo.1: Configurar la contraseña de administrador # passwd Información del sistema Gentoo usa /etc/rc.Listado de Código 3.conf Cuando haya terminado de configurar estos dos ficheros.d/hwclock. Debe especificar las localizaciones que utilizará en el fichero /etc/locale.gen # nano -w /etc/locale. debería escribir Europe/Brussels en el fichero /etc/timezone. Cuando termine de configurar /etc/conf. guárdelo y salga del editor. Listado de Código 3. obtendrá extraños resultados al escribir con el teclado.4: Abrir /etc/conf.d/keymaps.d/hwclock # nano -w /etc/conf. De lo contrario notará como el reloj no funciona correctamente. Cuando haya acabado de configurar /etc/conf.d/keymaps Tenga especial cuidado con la variable keymap: porque si selecciona un keymap incorrecto.conf y disfrute de todos los comentarios que hay en este fichero.d/hwclock para fijar las opciones del reloj. Listado de Código 3. Listado de Código 3. . guarde los cambios y salga. Gentoo utiliza /etc/conf. Edítelo de acuerdo a sus necesidades. Gentoo utiliza /etc/conf.conf para configurar los servicios y el arranque y apagado de su sistema. Listado de Código 3. Configurar localizaciones Probablemente utilice únicamente una o dos localizaciones (locales) en su sistema.d/keymaps # nano -w /etc/conf.

Listado de Código 3. La primera herramienta por la que tiene que decidirse es la que proporciona el registro y las bitácoras para su sistema.si lo quisiera podría registrar todo lo que pasa en su sistema en bitácoras. 9. El siguiente paso es ejecutar locale-gen. Puede también leer nuestra detallada Guía UTF-8 para obtener información específica de cómo habilitar UTF-8 en su sistema.UTF-8 UTF-8 es_ES ISO-8859-1 es_ES@euro ISO-8859-15 Nota: Puede seleccionar las localizaciones que desee de la lista que se obtiene ejecutando locale -a. un sistema de bitácora avanzado. Están sysklogd.7: Ejecutar locale-gen # locale-gen Una vez realizado el paso anterior. Por favor continúe con Instalando las herramientas de sistema necesarias. tendrá la posibilidad de ajustar las definiciones que afectan a todo el sistema en el fichero /etc/env. Unix y Linux tienen una excelente historia en sus capacidades de registros -.a. Se generarán las localizaciones que ha especificado en el fichero /etc/locale. Instalando herramientas necesarias para el sistema 9. Bitácora del Sistema Algunas herramientas no están incluidas en el archivo stage3 porque varios paquetes proporcionan la misma funcionalidad. Esto sucede con el registro del sistema. y . Gentoo ofrece varios sistemas de registro para elegir. Listado de Código 3.d/02locale: Listado de Código 3. syslog-ng.8: Definir la localización por defecto del sistema en /etc/env. Aviso: Le recomendamos que utilice al menos una localización UTF-8 ya que sus aplicaciones pueden necesitarla.UTF-8" LC_COLLATE="C" Y recargue su entorno: Listado de Código 3. Ahora es el momento en que debemos decidir cual queremos instalar.6: Especificar sus localizaciones en_US ISO-8859-1 en_US.9: Recargar el entorno del intérprete de comandos # env-update && source /etc/profile Disponemos de una Guía de Localización para ayudarle en este proceso.d/02locale LANG="es_ES.gen. que es el conjunto tradicional de demonios de bitácoras.

c. Es muy cómodo si necesita ejecutar comandos regularmente (por ejemplo a diario. Si quiere otro demonio cron puede esperar e instalarlo más tarde.1: Instalar mlocate # emerge mlocate 9.d. Aunque es opcional y no lo requiere su sistema es recomendable instalar uno. cada semana o mensualmente).1: Instalar un demonio cron # emerge vixie-cron # rc-update add vixie-cron default (Solo si optó por dcron o fcron) # crontab /etc/crontab 9. Listado de Código 3. Si está pensando utilizar sysklogd o syslog-ng quizá quiera instalar posteriormente logrotate ya que estas herramientas no proporcionan ningún mecanismo de rotación para los archivos de log.el número de paquetes disponibles crece día a día. ¿Pero qué es un demonio cron? Un demonio cron ejecuta comandos en horarios planificados. no olvide añadir sshd al nivel de ejecución por defecto: Listado de Código 4.1: Instalar un sistema de bitácoras # emerge syslog-ng # rc-update add syslog-ng default 9.metalog que es una bitácora de sistemas altamente configurable. El siguiente ejemplo instala syslog-ng. use vixie-cron. que es crontab /etc/crontab. use emerge y agréguelo al nivel de arranque predeterminado usando rc-update. Por supuesto puede sustituirlo por el sistema de bitácora de su elección: Listado de Código 1.1: Añadir sshd al nivel de ejecución por defecto # rc-update add sshd default . Para instalar la bitácora del sistema de su elección. Solo proporcionamos vixie-cron para instalaciones sin red. necesita instalar sys-apps/mlocate. Opcional: Acceso remoto Si necesita acceder a su sistema desde un equipo remoto después de la instalación. Listado de Código 2. Opcional: Indexar Archivos Si quiere crear un índice de su sistema de archivos para habilitar su rápida localización usando la herramienta locate.b. Gentoo ofrece tres posibles demonios cron: dcron. También puede haber otros en el Portage . Instalar cualquiera es similar a instalar un sistema de bitácoras. Si no sabe cuál escoger. fcron y vixie-cron. Sin embargo dcron y fcron requieren un comando extra de configuración. Opcional: Demonio Cron El siguiente es el demonio cron.

etc. Si no lo hace ahora. Opcional: Instalar un Cliente DHCP Si necesita que Gentoo obtenga automáticamente una dirección IP para sus interfaces de red.Si necesita acceso via consola serie (lo cual es posible en el caso de servidores remotos). Listado de Código 4.2: Editar /etc/inittab # nano -w /etc/inittab El siguiente extracto muestra la sección sin comentarios: Listado de Código 4. . necesita instalar las herramientas necesarias (para verificar la integridad del sistema de archivos. Herramientas del Sistema de Archivos Dependiendo del sistema de archivos que se esté usando. La siguiente tabla lista las herramientas que necesita instalar según un sistema de archivos determinado: Sistema de Archivos XFS ReiserFS JFS Herramienta xfsprogs reiserfsprogs jfsutils Comando para Instalar emerge xfsprogs emerge reiserfsprogs emerge jfsutils 9.) Por favor note que las herramientas para manejar sistemas de archivos ext2/ext3 (e2fsprogs) ya se encuentran instaladas como parte del sistema. ¡tal vez no pueda conectarse a Internet después de la instalación! Listado de Código 6. necesita instalarlo. necesita instalar en su sistema dhcpcd (o cualquier otro cliente DHCP) .f.e. Herramientas de Red Si no necesita herramientas adicionales relacionadas con la red (como ppp o un cliente dhcp) continúe con Configuración del Cargador de Arranque. Listado de Código 6. necesitará eliminar el comentario de la sección de la consola serie en /etc/inittab.3: Eliminar el comentario para las consolas series en inittab # SERIAL CONSOLES s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100 9.1: Instalar dhcpcd # emerge dhcpcd Opcional: Instalar un Cliente PPPoE Si necesita ppp para conectarse a la red.2: Instalar ppp # emerge ppp Ahora continúe con Configurar el Cargado de Arranque. crear sistemas de archivos adicionales.

txt. Debería usar uvesafb como controlador VESA. Pero antes de instalar un gestor de arranque. 1024x768-32@85 para una resolución de 1024x768. Configurando el gestor de arranque 10. Con la memoria de imagen puede ejecutar la línea de comandos de Linux con algunas características gráficas (limitadas) como.1024x768-32@85. Predeterminado: Usando GRUB . El resultado sería algo como: video=uvesafb:mtrr:3.6. claro.no almacenables en caché mtrr:n 2 . Gentoo dispone de GRUB y LILO. Todas las variables aparecen listadas en /usr/src/linux/Documentation/fb/uvesafb.a. siempre que quiera. Realizando su elección Introducción Ahora que su núcleo está configurado y compilado y los archivos de configuración necesarios han sido llenados correctamente. Opcional: Memoria de imagen (Framebuffer) Si ha configurado su núcleo con soporte framebuffer (o ha utilizado la configuración predeterminada de genkernel) puede activarlo añadiendo el parámetro video al archivo de configuración del gestor de inicio. La necesitará dentro de poco. le informaremos sobre como configurar la memoria de imagen (framebuffer). por ejemplo.4) seguido de los parámetro de control que quiera activar.write-combining 4 . Este programa es conocido como gestor de arranque. El parámetro video controla las opciones de visualización. Recuerde (o anote) ésta configuración. Necesita que se le indique el controlador de framebuffer (vesafb para núcleos 2.ywrap. Por mode ejemplo. 10.desactivados 1 . Las opciones más utilizadas son: Control Descripción Asume que su tarjeta gráfica puede volver sobre su memoria. n puede ser: 0 . ha llegado la hora de instalar el programa que iniciará el núcleo cuando arranque el sistema.10. la profundidad de color y la tasa de refresco. o vesa para núcleos 2. continuar al ywrap principio cuando se aproxima al final) Configura los registros MTRR. Lo primero que necesita es conocer que tipo de dispositivo de framebuffer está utilizando.b. Para x86.write-through Configura la resolución. el empleo de un bonita imagen de Gentoo durante el inicio (bootsplash). (ej. profundidad de color 32 bit y una tasa de refresco de 85 Hz.write-back 3 .

si es necesario. 1 el segundo. tal vez tenga que cambiar la configuración grub también.conf Ahora vamos a escribir el grub. Asumiendo que tiene un disco duro en /dev/sda y dos más en /dev/sdb y /dev/sdc. Note los paréntesis alrededor de hd0. excepto cuando el bios está configurada para arrancar desde los dispositivos scsi). Nota: Grub asigna las designaciones según el BIOS. Nota: Si su sistema de fichero para root es JFS.0. o cualquier otro editor: Listado de Código 2.6). Instalando GRUB Para instalar GRUB.3: grub.0) por GRUB.1: Instalando GRUB # emerge grub Aunque GRUB esté instalado. en lugar de utilizar una "a" y las particiones empiezan con cero en lugar de con un uno. Además. deberá añadir "ro" a la línea del núcleo ya que JFS necesita leer su log antes de permitir montajes de lectura-escritura.Comprendiendo la terminología de GRUB La parte más crítica para la comprensión de GRUB. todavía necesitamos crear un archivo de configuración para él e instalar GRUB en nuestro MBR para que pueda arrancar automáticamente nuestro núcleo recién creado. cambiarán también las designaciones de los dispositivos.conf # nano -w /boot/grub/grub. La numeración de los discos duros comienza con un cero. es el habituarse a la manera en que GRUB se refiere a los discos duros y las particiones. la especificación es igual para dispositivos SCSI. Al cambiar la configuración del BIOS. 0 es el primero. Advertimos también que entre los dispositivos hd. Por ejemplo. si cambia el orden de los dispositivos para el arranque. la partición /dev/sdd7 que descrita como (hd1. Listado de Código 2. que son obligatorios. el esclavo primario). GRUB ofrece un mecanismo de terminación por tabulador que es de gran ayuda para los que tienen una gran cantidad de discos duros y que andan algo perdidos con este esquema de numeración. solo se cuentan los discos duros y no los dispositivos atapi-ide como cdroms y grabadoras.2: Creando el archivo /boot/grub/grub. primero lo instalamos con emerge: Listado de Código 2.conf con nano. (Usualmente son asignados números mayores. Asegúrese de utilizar el nombre de su archivo de imagen del núcleo y. etc.conf ejemplo # Qué título arrancar por defecto. Cuando se le indica la BIOS que arranque desde un disco duro diferente (por ejemplo.conf. pero como veremos. el nombre de su imagen initrd. Cree el archivo /boot/grub/grub. Habiéndole tomado la medida. A lo mejor puede sonar raro y bien podría serlo. es hora de instalar GRUB. default 0 . Su partición Linux /dev/sda1 es denominada (hd0. ese disco duro se verá como hd0.

0) kernel /boot/2. Además.34-gentoo-r1 Si se utiliza un esquema de particiones y/o imagen de núcleo distinta. Windows reside en la partición /dev/sda6. En resumen.6.34-r1 # Partición donde se encuentra la imagen del núcleo (o sistema operativo) root (hd0.# Cuantos segundos esperar antes de arrancar el título por defecto.6.34-r1 root (hd0. asegúrese que cualquier cosa que siga un dispositivo GRUB (tal como (hd0.34-gentoo-r1 root=/dev/sda3 init=/bin/bb # Las siguientes cuatro líneas solo se usan en caso de arranque dual con un sistema Windows. un enlace simbólico /bootlo hace funcionar.0)/boot/grub/splash.0) kernel /boot/kernel-2.34-gentoo-r1 root=/dev/sda3 title Gentoo Linux 2. el prefijo /boot no es obligatorio. .xpm.34-r1 (rescate) # Partición dónde se encuentra la imagen del núcleo (o sistema operativo) root (hd0.gz ya que (hd0. title Windows XP rootnoverify (hd0.xpm. hermosa imagen para ensalzar las cosas un poco :) # Coméntela si no tiene una tarjeta gráfica instalada splashimage=(hd0. Si necesita pasar algún parámetro adicional al núcleo.xpm.gz title Gentoo Linux 2. entonces tendrá que cambiar la configuración haciendo referencia a este fichero initramfs e indicándole donde se encuentra su sistema de ficheros raíz en: Listado de Código 2. haga los ajustes respectivos. timeout 30 # Una bella.0)) sea relativa al punto de montaje y no de la raíz. # En este caso.6. pero se pueden pasar otras también.gz es en realidad /boot/grub/splash.0) es /boot. el prefijo /boot empleado en los ejemplos anteriores.0)/grub/splash. si se eligió utilizar un esquema de particionamiento diferente y no colocó /boot en una partición separada. Ya estamos pasando una opción (root=/dev/sda3 o real_root=/dev/sda3).34-r1 real_root=/dev/sda3 initrd /boot/initramfs-genkernel-x86-2.4: Fragmento de GRUB para construcciones de núcleo con initramfs habilitado title Gentoo Linux 2. Sin embargo. como el parámetro video del que hablamos previamente.5) makeactive chainloader +1 Cuando construya el núcleo Linux. Si ha seguido el plan de particionamiento sugerido.6. si opta por incluir un initramfs desde el cual iniciar. (hd0. es realmente necesario. En otras palabras.0) kernel /boot/kernel-2. los ejemplos anteriores deberían funcionar si ha definido una partición separada para /boot o no. sencillamente agréguelo al final de la línea de comandos del núcleo.6.6.6.

ya que estamos dentro de un entorno chroot.5: Crear /etc/mtab # grep -v rootfs /proc/mounts > /etc/mtab Ahora podemos instalar GRUB utilizando grub-install: Listado de Código 2. Afortunadamente hay una manera sencilla de realizar esto. Si está utilizando un núcleo 2. Sin embargo grub-install no funcionará tal cual se instala. Por ejemplo.6. Alternativa: Configurando GRUB a mano.conf y salga. Se le presentará el intérprete de comandos propio de grub grub>. la Wiki de GRUB. use el parámetro real_rootflags para establecer las opciones de montaje del sistema de archivos raíz. El siguiente comando fucionará en ambos casos: Listado de Código 2. Ahora grabe el archivo grub. Ahora necesita ejecutar los comandos necesarios para instalar el registro de arranque de GRUB en su disco duro. Continué con Reiniciando el sistema. Los desarrolladores de GRUB recomiendan utilizar grub-install. excluyendo la línea rootfs si no ha creado una partición separada para boot. Sin embargo. debe ejecutar los comandos dentro de grub. Antes de seguir. necesitará actualizar /etc/mtab. por favor consulte el FAQ de GRUB . simplemente copie /proc/mounts a /etc/mtab. o lea info grub en su terminal (estos documentos están en inglés).Si su archivo de configuración del gestor de arranque contiene el parámetro real_root.7 o superior y ha puenteado su disco duro porque la BIOS no puede manejar discos duros grandes.6: Ejecutar grub-install # grub-install --no-floppy /dev/sda Si tiene alguna pregunta más acerca de GRUB. Los usuarios de genkernel deben saber que sus núcleos usan las mismas opciones de arranque que el CD de instalación. si por alguna razón grub-install no funciona correctamente todavía tiene la opción de instalar GRUB manualmente. debería agregar el parámetro doscsi al núcleo. utilizando instrucciones. utilizando instrucciones Para comenzar a configurar GRUB. Predeterminado: Configurando GRUB utilizando grub-install Para instalar GRUB necesita ejecutar el comando grub-install. . Aún necesita instalar GRUB en el MBR (Master Boot Record) para que GRUB se ejecute automáticamente cuando arranque su sistema. necesitará añadir sda=stroke. Continué con Predeterminado: Configurando GRUB utilizando grub-install o Alternativa: Configurando GRUB a mano. el cual contiene la información relativa a todos los sistemas de archivos montados. si tiene dispositivos scsi.

Listado de Código 2. configurar GRUB no debería resultar tan duro. sencillamente use emerge. Por supuesto. el comando adecuado sería setup (hd0. y es el caballito de batalla probado y comprobado de los gestores de inicio de Linux. Alternativa: Utilizando LILO Instalando LILO LILO. 10. Sin embargo.Listado de Código 2. La razón por la cual LILO sigue en uso es que en algunos sistemas. carece de algunas características de GRUB (razón por la cual GRUB actualmente está ganando popularidad). si escribe "root (" seguido de una tabulación. por favor consulte el FAQ de GRUB .c. Instalar LILO es fácil. Si tecleamos "root (hd0. pocos usuarios querrán hacer esto. Por supuesto también se usa porque hay muchos que lo conocen y prefieren seguir con este gestor.7: Iniciando el intérprete de comandos de GRUB # grub --no-floppy Nota: Si su sistema no tiene ningún dispositivo de disquetes. Gentoo soporta ambos gestores y por lo visto. De cualquier manera. debe modificar el comando setup para que apunte a la partición correcta.2). configuremos GRUB!. la Wiki de GRUB. Por ejemplo. añada la opción --no-floppy al comando anterior para evitar que grub pruebe los dispositivos (no existentes) de disquetes. representa LInuxLOader.0) /boot) grub> setup (hd0) grub> quit GRUB) (Especifique donde tiene su partición (Instalamos GRUB en el MBR) (Salimos del intérprete de comandos de Nota: Si quiere instalar GRUB en una partición concreta en lugar del MBR. Sin embargo. . o lea info grub en su terminal (estos documentos están en inglés). notará que se le presenta una lista de dispositivos (como pueda ser hd0). Ahora vamos a por ello. si no ha seguido el ejemplo de configuración durante la instalación. Por ejemplo. si quiere que GRUB se instale en /dev/sda3. Continúe con Reiniciando el sistema. En el ejemplo de configuración queremos instalar GRUB para que lea la información de la partición de arranque /dev/sda1. GRUB no funciona mientras que LILO sí. cambie los comandos de acuerdo a su modelo: El mecanismo de completar comandos por tabulación de GRUB puede utilizarse dentro de GRUB." seguido de una tabulación recibiremos una lista de particiones disponibles para elegir (como pueda ser hd0. e instala el registro de arranque de GRUB en el MBR (Master boot Record) de su disco duro para que lo primero que veamos aparecer al encender el ordenador sea GRUB.8: Instalando GRUB en el MBR grub> root (hd0. Si tiene alguna pregunta más acerca de GRUB. Utilizando este mecanismo de completar por tabulación. ha elegido usar LILO.0).

2: Creando /etc/lilo. Use su editor de textos preferido (en el manual usamos nano para ser consistentes) y creemos este archivo. debe crear el archivo /etc/lilo. entonces tendrá que cambiar la configuración haciendo referencia a este fichero initramfs e indicándole donde se encuentra su sistema de ficheros raíz en: .6.conf. Listado de Código 3.Listado de Código 3. haga los ajustes correspondientes. si es necesario. En el siguiente ejemplo de lilo.conf boot=/dev/sda # Instalar LILO en el MBR prompt # Darle al usuario una oportunidad de seleccionar otra opción timeout=50 # Esperar 5 (cinco) segundos antes de arrancar la opción por defecto default=gentoo # Al transcurrir el plazo de espera.conf Algunas secciones atrás. Cuando construya el núcleo Linux.34-gentoo-r1 label=gentoo # El nombre de la sección read-only # Comience con la raíz solo lectura. Asegúrese de utilizar el nombre de su archivo de imagen del núcleo y.conf # nano -w /etc/lilo. Nota: Si su sistema de ficheros para root es JFS. deberá añadir la línea append="ro" después de cada elemento de arranque. Listado de Código 3. ¡No modifique! root=/dev/sda3 # Ubicación del sistema raíz de archivos append="init=/bin/bb" # Lanzar la shell estática de rescate de Gentoo # La siguientes dos líneas solo corresponden si hace arranque dual con un sistema Windows. other=/dev/sda6 label=windows Nota: Si usa un esquema de particionamiento o imagen de núcleo distinta.3: Ejemplo de /etc/lilo.conf haremos uso del esquema ejemplo de particionamiento. le pedimos que se acordara del nombre de la imagen del núcleo creado. Windows se encuentra en /dev/sda6.rescue # El nombre de la sección read-only # Comience con la raíz solo lectura. ya que JFS necesita leer su log antes de permitir montajes de lectura-escritura. ¡No modifique! root=/dev/sda3 # Ubicación del sistema raíz de archivos image=/boot/kernel-2. si opta por incluir un initramfs desde el cual iniciar.1: Instalando LILO # emerge lilo Configurando LILO Para configurar LILO. el nombre de su imagen initrd.6. # En este caso. arrancar la opción "gentoo" image=/boot/kernel-2.34-gentoo-r1 label=gentoo.

Usuarios de genkernel deben saber que sus núcleos usan las mismas opciones de arranque que el CD de instalación.34-gentoo-r1 label=gentoo read-only root=/dev/sda3 append="video=uvesafb:mtrr. Ahora puede continuar con Reiniciando el Sistema. o el CD será arrancado de nuevo en lugar de su nuevo sistema Gentoo. Reiniciando el sistema Salga del entorno chroot y desmonte todas las particiones que continúen montadas. A modo de ejemplo.7 o superior y ha puenteado su disco duro porque la BIOS no puede manejar discos duros grandes. Acuérdese de que debe volver a ejecutar /sbin/lilo cada vez que instale un nuevo núcleo o haga cambios en el menú.1: Desmontar todas las particiones y reiniciar # exit cdimage cdimage cdimage cdimage ~# ~# ~# ~# cd umount -l /mnt/gentoo/dev{/pts.5: Utilizar append para agregar opciones al núcleo image=/boot/kernel-2. salve el archivo y salga del editor. debe ejecutar el comando /sbin/lilo para poder aplicar /etc/lilo. Ahora.} reboot Por supuesto.6. Listado de Código 4. incluya un enunciado append a la sección.6: Terminando la instalación de LILO # /sbin/lilo Si tiene más preguntar con respecto a LILO.6.34-gentoo-r1 label=gentoo read-only real_root=/dev/sda3 initrd=/boot/initramfs-genkernel-x86-2. Listado de Código 3./shm.6./proc.} umount -l /mnt/gentoo{/boot.ywrap.6.d. consulte su página en la wikipedia.Listado de Código 3.conf a su sistema (que se instale en el disco). debe agregar doscsi como opción del núcleo. Por ejemplo. no olvide quitar el CD arrancable. necesitará añadir sda=stroke. .1024x768-32@85" Si está utilizando un núcleo 2. si tiene dispositivos SCSI. agregamos un enunciado video para activar framebuffer: Listado de Código 3./sys. por favor.4: Fragmento de LILO para construcciones de núcleo con initramfs habilitado image=/boot/kernel-2. 10. Para terminar. Después podemos ejecutar el mágico comando que hemos estado esperando: reboot.34-gentoo-r1 Si hace falta pasar alguna opción adicional al núcleo.

11. Administración del Usuario Añadir un Usuario para uso cotidiano Trabajar como root en un sistema Unix/Linux es peligroso y su uso debería evitarse tanto como sea posible. . Los grupos a los que pertenece el usuario definen que actividades puede realizar.audio -s /bin/bash juan # passwd juan Password: (Introduzca la contraseña para juan) Re-enter password: (Vuelva a introducir la contraseña para verificar) Si alguna vez este usuario necesita realizar alguna tarea como root.Una vez que haya reiniciado su instalación de Gentoo. Finalizando su instalación Gentoo 11. termínela con Finalizando su instalación de Gentoo. que descargó en su disco duro. para crear un usuario llamado juan que pertenezca a los grupos wheel. users y audio. Grupo audio cdrom floppy games portage usb video wheel Descripción para ser capaz de acceder a los dispositivos de audio para poder acceder directamente a dispositivos de lectura óptica para poder acceder directamente a los dispositivos de disquete para poder utilizar los juegos para ser capaz de utilizar emerge --pretend como usuario normal para poder acceder a los dispositivos USB para acceder al hardware de captura de vídeo y a la aceleración por hardware para poder utilizar su Por ejemplo.wheel. puede utilizar su para obtener temporalmente privilegios de root. Es por ello que se recomienda encarecidamente añadir un usuario para el uso cotidiano del sistema.b. entre en el sistema como root (solo root puede crear usuarios) y ejecute useradd: Listado de Código 2. Otra forma es utilizar el paquete sudo el cual.a. La siguiente tabla muestra una lista de los grupos más importantes que podría querer utilizar. 11. correctamente configurado.2: Añadir un usuario para uso cotidiano Login: root Password: (Su contraseña de root) # useradd -m -G users. puede eliminar el tarball de stage3 y la imagen de Portage. Recordamos que se encuentran en el directorio /. Limpieza de disco Eliminar los tarballs Ahora que ya se ha instalado Gentoo y reiniciado. es muy seguro. si todo fue bien.

cómo instalar más software. La información de cómo entrar en las mismas está disponible en esa página.2: Eliminar la imagen de Portage # rm /portage-latest.b. Además. Ahora nos callaremos y le dejaremos que disfrute de su instalación :) B. Pero ¿A donde ir desde aquí? ¿Cuáles son ahora sus opciones? ¿Qué explorar primero? Gentoo ofrece a sus usuarios muchas posibilidades y. o quiere aprender cómo configurarlo para que sea un completo sistema de escritorio. Trabajando con Gentoo 1. También tenemos varias listas de correo abiertas a todos nuestros usuarios. Introducción al sistema Portage 1. Si está interesado en la optimización de su sistema para uso de escritorio. muchas características documentadas (y menos documentadas). 12.1: Eliminar el tarball stage3 # rm /stage3-*.Listado de Código 2. También disponemos de un Manual de seguridad en Gentoo cuya lectura puede ser muy valiosa. Por último. siempre será bienvenido a nuestros Foros de Gentoo o a alguno de nuestros canales de IRC. etc. Definitivamente debería ojear la siguiente parte del Manual de Gentoo titulada Trabajando con Gentoo la cual explica cómo mantener su software al día. cómo funciona el sistema de inicialización de Gentoo (Gentoo Init system). consulte nuestra extensa Guía de Configuración del Escritorio. quizá también quiera utilizar nuestra guía de localización para hacer que el sistema se sienta cómo en casa.a. ¿Y ahora qué? 12. por lo tanto. Gentoo en línea Por supuesto.bz2* 12.tar. Bienvenido a Portage . donde se puede encontrar documentación adicional ofrecida por la comunidad.tar. Documentación ¡Enhorabuena! Ya tiene funcionando un sistema Gentoo.a.bz2* Listado de Código 2. revise nuestra página de Recursos de Documentación. también tenemos una Wiki Gentoo oficial (en inglés). Para obtener un completo listado de toda nuestra documentación disponible. qué parámetros USE hay.

Listado de Código 2. archivos que contienen toda la información que Portage necesita para mantener el software (instalar.). .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 través de nuestras tres imágenes de Portage generadas diariamente. nos referimos normalmente a programas software disponibles para los usuarios de Gentoo a través del árbol Portage. Cuando se pida a Portage que ejecute alguna acción relacionada con los programas. por tanto. buscar.b.2: Ejecutar emerge-webrsync # emerge-webrsync Una ventaja adicional de utilizar emerge-webrsync es que permite al administrador descargar únicamente instantáneas del árbol portage que están firmadas con la clave GPG del equipo de ingeniería de versiones de Gentoo.Portage es probablemente la más importante innovación de Gentoo en la gestión de software. ya que la orden emerge proporciona una interfaz para rsync: Listado de Código 2. La mayoría de usuarios trabajarán con Portage a través de la herramienta emerge. Portage esta completamente escrito en Python y Bash y. consulte la página del manual: Listado de Código 1. Este capítulo no pretende duplicar la información disponible en la página de man sobre emerge. Se puede encontrar más información .. Para una completa información sobre las opciones de emerge.. es frecuentemente apreciado como la mejor herramienta de gestión de software disponible para Linux. por favor. Por tanto. éste utilizará los ebuilds de su sistema como base. La herramienta emerge-webrsync automáticamente comprueba e instala la última en su sistema. El árbol Portage es una colección de ebuilds. Actualizando el árbol Portage El árbol Portage se actualiza normalmente con rsync. Debido a su potente flexibilidad y una gran cantidad de funcionalidades. totalmente a la vista de los usuarios al ser ambos lenguajes interpretados.1: Leer la página del manual sobre emerge $ man emerge 1. La actualización es muy sencilla. es importante que actualice los ebuilds de su sistema para que Portage conozca el nuevo software. etc. una utilidad rápida de transferencia de archivos incremental. actualizaciones de seguridad. Estos ebuilds residen por defecto en /usr/portage. El árbol Portage Ebuilds Cuando hablamos sobre paquetes.

Listado de Código 3. emerge --search devuelve el nombre de los paquetes cuyo nombre coincide (tanto total como parcialmente) con el término de búsqueda introducido. notará que le proporciona mucha información. Listado de Código 3.2: Buscar paquetes relacionados con pdf $ emerge --searchdesc pdf Cuando eche un vistazo al resultado. para instalar gnumeric: Listado de Código 3.uni-wuerzburg. Portage maneja también las dependencias. Por defecto. para buscar todos los paquetes que tengan "pdf" en su nombre: Listado de Código 3.1: Buscar paquetes cuyo nombre tenga pdf $ emerge --search pdf Si quiere buscar también en las descripciones puede utilizar el parámetro --searchdesc (o -S). Por ejemplo: . puede emplear las funcionalidades de búsquedas propias de emerge.c. Si quiere conocer qué instalará Portage cuando le pida que instale un cierto paquete. Por ejemplo.sobre esto en la sección Características de Portage en Obteniendo instantáneas validadas del árbol Portage.4: Instalar gnumeric # emerge gnumeric Muchas aplicaciones dependen unas de otras. esto implica que cualquier intento de instalar un cierto paquete de software podría derivar en la instalación de varias dependencias. Por ejemplo. No se preocupe.3: Ejemplo de salida de emerge --search * net-print/cups-pdf Latest version available: 1. añada el parámetro --pretend.5. 1.de/~vrbehr/cupspdf/ Description: Provides a virtual printer for CUPS to produce PDF files. Los campos son etiquetados claramente con lo cual no entraremos en explicar sus significados. puede fácilmente instalarlo con emerge: simplemente añada el nombre del paquete. Mantenimiento de Software Buscar software Para buscar software utilizando el árbol de Portage.2 Latest version installed: [ Not Installed ] Size of downloaded files: 15 kB Homepage: http://cip. License: GPL-2 Instalar Software Una vez que haya encontrado el nombre del software que necesite.physik.

añada la opción --fetchonly a la orden emerge: Listado de Código 3.8: Localizar la documentación de un paquete # ls -l /usr/share/doc/alsa-lib-1.1 root root 9373 May 17 21:54 drwxr-xr-x 2 root root 8560 May 17 21:54 -rw-r--r-.0. Una vez que el paquete está instalado. de manera que solo obtendrá la documentación para los paquetes que le interesan. por favor lea el capítulo acerca de los Parámetros USE.6: Descargar el código fuente de gnumeric # emerge --fetchonly gnumeric Encontrar la documentación de un paquete instalado Muchos paquetes vienen con su propia documentación. por medio de /etc/portage/package.gz COPYING.gz (Como alternativa.0. Para más información.0.5: Simular la instalación de gnumeric # emerge --pretend gnumeric Cuando le pida a Portage que instale un paquete. Algunas veces. el parámetro USE doc determina si la documentación debe instalarse o no.14_rc1 -debug +doc 698 kB La mejor manera de activar el parámetro USE doc es por paquete. Si quiere que portage solamente descargue las fuentes sin instalarlas.7: Comprobar la existencia de del parámetro USE doc (alsa-lib es tan solo un ejemplo) # emerge -vp alsa-lib [ebuild N ] media-libs/alsa-lib-1. compilado e instalado.use.14_rc1: /usr /usr/bin /usr/bin/alsalisp (salida cortada) Desinstalando Software .1 root root 669 May 17 21:54 -rw-r--r-. Después. Puede comprobar la existencia del parámetro USE doc con la orden emerge -vp <nombre paquete>. Listado de Código 3.Listado de Código 3. Listado de Código 3. descargará las fuentes necesarias desde Internet (si fuera necesario) y las guardará por defecto en /usr/portage/distfiles.14_rc1 * Contents of media-libs/alsa-lib-1. bajo el directorio /usr/share/doc. su documentación se encuentra normalmente en un subdirectorio llamado igual que el paquete.gz html TODO. utilizamos equery para localizar los archivos que nos interesan:) # equery files alsa-lib | less media-libs/alsa-lib-1. el paquete será descomprimido.14_rc1 total 28 -rw-r--r-. También puede obtener un listado de todos los archivos instalados con la herramienta equery la cual es parte del paquete app-portage/gentoolkit. Activando este parámetro de manera global puede causar problemas con dependencias circulares.1 root root 196 May 17 21:54 ChangeLog.0.

sin embargo. Para hacer que Portage localice todas las dependencias que puede ser eliminadas actualmente. añada la opción --deep: Listado de Código 3.Cuando quiera desinstalar un paquete software de su sistema. Si desea actualizar también esas dependencias. una vez que los paquetes se han instalado. pero. además hemos utilizado el parámetro --ask que le indica a Portage que muestre la lista de paquetes que quiere actualizar y pregunte si se quiere continuar: Listado de Código 3. Listado de Código 3. puede actualizar su sistema con emerge --update world.12: Actualizar su sistema completamente # emerge --update --deep --with-bdeps=y world . añada --with-bdeps=y: Listado de Código 3. le avisará cuando quiera eliminar un paquete importante que pueda romper su sistema si lo desinstala. Esto le indicará a Portage que desinstale todos los archivos instalados por el paquete en su sistema excepto los archivos de configuración de esa aplicación si la había modificado después de la instalación.10: Actualizar su sistema # emerge --update --ask world Portage buscará entonces las nuevas versiones de las aplicaciones que explícitamente haya instalado (las listadas en /var/lib/portage/world). En el siguiente ejemplo. utilice emerge --unmerge. Partiendo de que Portage solamente comprueba los ebuilds en su árbol Portage. Actualizando su Sistema Para mantener su sistema en perfecto estado (sin mencionar la instalación de los últimas actualizaciones de seguridad) necesita actualizarlo frecuentemente. lo primero sería actualizar el propio árbol. Para incluirlas en un ciclo de actualización. permanecerán.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 compilación y construcción de los paquetes. utilice la funcionalidad de emerge --depclean. Sin embargo. Hablaremos de esto un poco más adelante. las dependencias de ese paquete que se instalaron automáticamente cuando instaló el software. A pesar de esto. Portage denomina a éstas dependencias de construcción (build dependencies). Esto le permite continuar trabajando con los mismos archivos de configuración si alguna vez decide volver a instalar la aplicación. no revisa minuciosamente sus dependencias.9: Desinstalar gnumeric del sistema # emerge --unmerge gnumeric Cuando desinstala un paquete de su sistema. estas dependencias ya no se necesitan. hemos de tener algo muy en cuenta: Portage no comprueba si el paquete que está intentando desinstalar es necesario para algún otro. Cuando tenga el árbol Portage actualizado.

15: Instalar el paquete gentoolkit # emerge gentoolkit 1. Todos los paquetes del árbol contienen una entrada LICENSE en sus ebuilds. es recomendable ejecutar la orden de arriba de vez en cuando. Si ha cambiado últimamente alguno de sus parámetros USE quizá quiera añadir también --newuse. 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 aceptación. Ejecutando emerge --search nombredepaquete le mostrará la licencia del paquete. ejecutando emerge --unmerge sobre el paquete no tendrá efecto total ya que las dependencias permanecerán en su sistema. el paquete kde-meta instalará un entorno KDE completo en su sistema incluyendo varios paquetes relacionados con KDE y también sus dependencias. Por ejemplo. Licencias A partir de la versión 2. pero la disponibilidad de software necesita que primero actualice completamente su sistema. no olvide instalarlo primero: Listado de Código 3.Ya que las actualizaciones de seguridad también afectan a paquetes que no han sido explícitamente instalados en el sistema (pero que son dependencias de otros programas). incluyendo los nuevos cambios que ha aplicado si actualizó los parámetros USE.14: Desinstalar dependencias huérfanas # emerge --update --deep --newuse world # emerge --depclean # revdep-rebuild # emerge --update --deep --with-bdeps=y --newuse world revdep-rebuild es parte del paquete gentoolkit. puede ejecutar emerge --depclean para eliminar las dependencias huérfanas. Portage tiene la funcionalidad de eliminar las dependencias huérfanas.1. Portage comprobará si los cambios requieren la instalación de nuevos paquetes o la recompilación de los existentes: Listado de Código 3. Si quiere desinstalar dicho paquete de su sistema. puede aceptar o rechazar la instalación de software basada en esta licencia.d. Todo esto se lleva a cabo a través de tres órdenes: Listado de Código 3.13: Realizar una actualización completa Meta-paquetes Algunos paquetes del árbol Portage no tienen contenido real pero son utilizados para instalar un conjunto de paquetes. . Después de esto. necesitará reconstruir las aplicaciones que estuvieran enlazadas dinámicamente a las que acaban de ser eliminadas pero no son necesarias.7 de Portage. Cuando haya terminado.

Los paquetes sin una EULA serán instalados.. "free" está definido por la FSF y la OSI. 1.8. . Cuando Portage se queja. arquitecturas y perfiles Como mencionamos anteriormente.2: Especificando una licencia truecrypt en package. la cual puede ser ajustada en /etc/make. Puede ajustar ACCEPT_LICENSE globalmente en /etc/make. añada lo siguiente a /etc/portage/package.4: Usar únicamente licencias libres ACCEPT_LICENSE="-* @FREE" En este caso.7 Esto permite la instalación de versiones de truecrypt que tengan la licencia truecrypt-2.. Importante: Las licencias se almacenan en /usr/portage/licenses. y cada entrada detrás de ésta es una licencia individual.e. Sobre SLOTs. debería usar la siguiente configuración: Listado de Código 4.conf ACCEPT_LICENSE="@GPL-COMPATIBLE @OSI-APPROVED @EULA atheros-hal BitstreamVera" Si quiere solo software libre y documentación en su sistema. Se muestra un ejemplo de un sistema que globalmente permite el grupo de licencias compatibles. La primera entrada de cada línea en letras MAYÚSCULAS. ramas.license app-crypt/truecrypt truecrypt-2. Por ejemplo. Para comprender esto. paquetes virtuales. explicaremos unos cuantos aspectos de Portage sin profundizar demasiado en los detalles.license: Listado de Código 4. pero no versiones con la licencia truecrypt-2. así como otros grupos y licencias individuales: Listado de Código 4.conf. y los grupos de licencias se guardan en /usr/portage/profiles/license_groups. Cualquier paquete cuya licencia no se ajuste a estos requisitos no será instalado en su sistema.3: ACCEPT_LICENSE en /etc/make.license. Los grupos de licencias definidos en ACCEPT_LICENSE se prefijan con un signo @.7 para app-crypt/truecrypt.1: ACCEPT_LICENSE por defecto en /etc/make.conf: Listado de Código 4. Portage es muy potente y soporta muchas características de las que carecen otras herramientas de gestión de software.La variable que controla las licencias permitidas es ACCEPT_LICENSE.conf ACCEPT_LICENSE="* -@EULA" Con esta configuración.7. los paquetes que requieren interacción durante la instalación para aprobar su EULA no serán instalados. si quiere permitir la licencia truecrypt-2. o puede especificarlo en de forma que afecte a solo un paquete en /etc/portage/package. es el nombre del grupo de licencias.

el paquete freetype tiene ebuilds con SLOT="1" y SLOT="2". Un ebuild declara un cierto SLOT para su versión.2-r1) Listado de Código 5. Por defecto.2. de esta forma las aplicaciones pueden depender del paquete virtual/logger. . Portage usa una tecnología llamada SLOTs (ranuras). Ebuilds con diferentes SLOTs pueden coexistir en el mismo sistema. Hay dos posibles dependencias: dependencias de compilación. ya que el resto de registradores del sistema son igualmente válidos. !!! both can't be installed on the same system together. ingresan en la rama inestable. Aplicaciones que necesitan la disponibilidad de un "registrador del sistema" no pueden depender. la lista de paquetes necesarios para que el sistema funcione normalmente. Cada instalación de Gentoo adhiere un cierto perfil el cual contiene.Con Portage. diferentes versiones de un mismo paquete pueden coexistir en un sistema. O los programas no funcionan en otras arquitecturas. cuando son aceptados. !!! Please use 'emerge --pretend' to determine blockers. o el desarrollador que añade el programa a Portage no es capaz de verificar si el paquete funciona en diferentes arquitecturas. Los programas en el árbol Portage puede residir en diferentes ramas. su sistema solamente acepta paquetes que Gentoo considera estables. Por ejemplo. declaradas en DEPEND y dependencias en tiempo de ejecución. Cuando una de estas dependencias marca explícitamente un paquete o paquete virtual como no compatible. sysklogd y syslog-ng son todos paquetes de registro del sistema. Paquetes bloqueados Listado de Código 5. Los Ebuilds contienen campos específicos que informan a Portage sobre sus dependencias. o necesitan más pruebas. se dispara un bloqueo. Portage permite virtuals: cada paquete de registro del sistema se lista como proveedor del servicio de registro en el paquete virtual logger de la categoría virtual. Algunos programas solo están disponibles para unas pocas arquitecturas. Mientras otras distribuciones tienden a renombrar el paquete con sus versiones (por ejemplo freetype and freetype2). declaradas en RDEPEND. metalogd. Aunque puede ver los ebuilds de ese software en su árbol de Portage. Portage no los actualizará hasta que sean marcados como estables. Por ejemplo. También existen paquetes que proporcionan la misma funcionalidad pero están implementados de maneras distintas. La mayoría de los paquetes nuevos.1: Aviso de Portage sobre paquetes bloqueados (con --pretend) [blocks B ] mail-mta/ssmtp (is blocking mail-mta/postfix-2. Aunque las versiones recientes de Portage son lo suficientemente inteligentes para resolver los bloqueos de menor importancia sin necesidad de la intervención del usuario. ocasionalmente necesitará resolverlo a mano como se explica abajo. entre otra información. Esto implica que necesitan hacerse más pruebas antes de marcarlo como estable.2: Aviso de Portage sobre paquetes bloqueados (sin --pretend) !!! Error: the mail-mta/postfix package conflicts with another package. por ejemplo. de metalogd.

En la mayoría de los casos se puede realizar con uno solo de los paquetes. En este caso (poco frecuente).0.20040808 (masked by: -* keyword) dev-util/cvsd-1. inestable o peor y ha sido marcada deliberadamente para que no se use.8.mask implica que el paquete se ha encontrado corrupto.Para solucionar un bloqueo. En este caso. missing keyword indica que la aplicación aún no ha sido probada para su arquitectura. Si no.0.81 (masked by: skype-eula license(s)) !!! all ebuilds that could satisfy "bootsplash" have been masked.mask) sys-libs/glibc-2.3: Aviso de Portage sobre paquetes enmascarados !!! possible candidates are: gnome-base/gnome-2. Pida al correspondiente equipo de arquitectura que pruebe el paquete o pruébelo por ellos e informe de su experiencia en nuestro sitio web bugzilla. puede elegir no instalar el paquete o desinstalar primero el paquete conflictivo. También es posible que dos paquetes que aún no se han instalado se estén bloqueando mutuamente.4.razón Cuando quiera instalar un paquete que no está disponible para su sistema.4: Aviso de Portage sobre paquetes enmascarados . por favor envíe un informe de error al sistema de seguimiento de errores de Gentoo. Debería probar a instalar una aplicación distinta que este disponible para su sistema o esperar hasta que el paquete este disponible. Listado de Código 5. También puede ocurrir que vea los paquetes en conflicto con operadores lógicos concretos.7 (masked by: -sparc keyword) sys-libs/glibc-2.3. actualizar a la versión más reciente del paquete bloqueante debería eliminar el bloqueo. -arch keyword o -* keyword implica que la aplicación no funciona en su arquitectura. Debe permitir explícitamente su licencia o grupo de licencias ajustándolo en /etc/make. Siempre hay una razón para que un paquete esté enmascarado: • • • • • • ~arch keyword implica que la aplicación no esta probada lo suficiente para ser parte de la rama estable.2-r11 (masked by: profile) net-im/skype-2.conf o en /etc/portage/package.license. se debería investigar por que necesitamos instalar ambos.0_rc1-r2. cree un bug en nuestro sitio web bugzilla. Si cree que el paquete funcionará. license significa que la licencia del paquete no es compatible con su ajuste ACCEPT_LICENSE. como por ejemplo <media-video/mplayer-1. Espere unos cuantos días o semanas y vuelva a intentarlo. Consulte Licencias para aprender cómo se gestionan las licencias. profile implica que el paquete no está disponible para su perfil. En el ejemplo anterior.2 (masked by: missing keyword) games-fps/unreal-tournament-451 (masked by: package. Paquetes enmascarados (masked) Listado de Código 5. package.8.1. puedes optar por no instalar postfix o eliminar primero ssmtp. La aplicación podría romper su sistema si la instala o no es compatible con el perfil que está usando. recibirá un error de enmascaramiento. .0_pre1 (masked by: ~x86 keyword) lm-sensors/lm-sensors-2.3.

use. required by happypackage (argument) >=app-text/feelings-1.6: Error de Portage acerca de cambios requeridos en los ajustes USE emerge: there are no ebuilds built with USE flags to satisfy "apptext/feelings[test]". Dependencias perdidas Listado de Código 5.conf.0. sin embargo. si no se ha habilitado --autounmask: Listado de Código 5. o definirlo específicamente para el paquete en /etc/portage/package.2-r2 !!! Possibly a DEPEND/*DEPEND problem.4. Para resolver esta situación. Nombre ambiguo del Ebuild Listado de Código 5.8: Aviso de Portage sobre nombre ambiguos en ebuild [ Results for search key : listen ] [ Applications found : 2 ] * dev-tinyos/listen Latest version Latest version Size of files: [ Masked ] available: 1. La aplicación que está tratando instalar depende de otro paquete que no esta disponible para su sistema.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. puede añadir el ajuste USE requerido a sus ajustes globales en /etc/make.0 (Change USE: +test) (dependency required by "app-text/happypackage-2.Cambios necesarios en los ajustes USE Listado de Código 5.7: Aviso de Portage sobre dependencias perdidas emerge: there are no ebuilds to satisfy ">=sys-devel/gcc-3-4.15 installed: [ Not Installed ] 10. !!! Problem with ebuild sys-devel/gcc-3. en este caso informe de ello. En el ejemplo dado.app-text/feelings-1.1. sino que requiere que ese paquete se haya construido con un ajuste USE en particular (o un conjunto de ajustes USE).0.0. compruebe bugzilla para ver si el problema se conoce o no. el paquete app-text/feelings necesita construirse con USE="test". A menos que este mezclando ramas esto no debería ocurrir y lo consideraremos un error. este ajuste USE no está habilitado en el sistema. Por favor.032 kB . !!! One of the following packages is required to complete your request: .0 test También puede que se muestre el siguiente mensaje de error.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.2-r4".

. También puede comprobar bugzilla para saber si se tiene conocimiento sobre el tema o si no.6.Homepage: Description: License: * http://www.1. Protección del Perfil de Sistema Listado de Código 5. Pruebe después de una hora y vea si el problema persiste.3-r1 ebuild / app-text/ghostscript-7.1. Portage le informará de los posibles casos entre los que puede elegir. en cuyo caso informe sobre ello.) !!! Some fetch errors were encountered. Este fallo puede deberse a que un servidor réplica no esta bien sincronizado o a que el ebuild apunta a una localización incorrecta. Please see above for details.11: Aviso de Portage sobre un paquete protegido por perfil !!! Trying to unmerge package(s) in system profile.net/ Raw listen for TinyOS BSD media-sound/listen [ Masked ] Latest version available: 0. El servidor donde residen las fuentes podría estar caído por alguna razón. 'sys-apps/portage' !!! This could be damaging to your system. Esto casi siempre se considera un error en el árbol Portage. Portage no es capaz de descargar las fuentes para una aplicación específica y tratará de continuar instalando el resto de aplicaciones (si es posible).15-r2 Dos (o más) paquetes que quiere instalar dependen uno de otro y.4-r5...listen-project. La aplicación que quiere instalar tiene un nombre que corresponde con más de un paquete.9: Aviso de Portage sobre dependencias circulares !!! Error: circular dependencies: ebuild / net-print/cups-1. vuelva a sincronizar después de un tiempo e inténtelo de nuevo.org Description: A Music player and management for GNOME License: GPL-2 !!! The short ebuild name "listen" is ambiguous.05. Please specify !!! one of the above fully-qualified ebuild names instead. (. continuing. Fallo en la descarga Listado de Código 5. Dependencias Circulares Listado de Código 5.tinyos.05. Por favor. no pueden instalarse.10: Aviso de Portage sobre un fallo en la descarga !!! Fetch failed for sys-libs/ncurses-5. Necesita aportar también el nombre de la categoría.15-r2 depends on ebuild / apptext/ghostscript-7.3-r1 depends on ebuild / netprint/cups-1...3 Latest version installed: [ Not Installed ] Size of files: 859 kB Homepage: http://www. por tanto.

seguramente ¡lo empeorará! En lugar de esto. Mientras espera. siga adelante y archive un "bug" reportando el paquete roto. Una vez que compruebe que el error ha sido reparado. con el siguiente mensaje: Listado de Código 5. Cuando falla la verificación del digest. Si no necesita OpenGL. ¿Qué son los parámetros USE? Las ideas que hay detrás de los parámetros USE Mientras esté instalando Gentoo (o cualquier otra distribución.12: Falla en la suma de control >>> checking ebuild checksums Esta es una señal que hay algún problema con el árbol Portage -. al intentar hacer emerge a un paquete. éste fallará. ¿para qué molestarte en compilar paquetes con soporte para KDE si podrían funcionar perfectamente sin él? Para ayudar a los usuarios a decidir qué instalar/activar o no. incluso otro sistema operativo). También una estación de trabajo dedicada a juegos es diferente a una estación de trabajo que se use para renderizados en 3D. El ejecutar ebuild foo manifest no va a resolver el problema. no intente recalcularlo. pero podrá tomar algún tiempo para que propague la corrección al árbol Portage.muchas veces esto es porque un desarrollador ha cometido una equivocación al ingresar un paquete en el árbol. Esto obliga al usuario a decidir que es lo . Es probable que el error haya sido detectado enseguida. Estas diferencias no solo dependen de los paquetes instalados. revise Bugzilla a ver si alguien ha reportado el problema. espere una o dos hora que el árbol estabilice.a. tal vez quiera re-sincronizar para recoger la suma de control reparada. Errores en la verificación del digest A veces. los usuarios que sincronicen con demasiada frecuencia ¡serán bloqueados! De hecho. necesitamos que el usuario especifique su entorno de una manera sencilla. 2. Éste se haya en su perfil y es necesario. es mejor esperar a su próxima sincronización programada para no sobrecargar los servidores rsync. Los parámetros USE 2. ¿para qué molestarse en instalar OpenGL y construir la mayoría de sus aplicaciones con soporte OpenGL? Si no quiere usar KDE. por tanto. Una instalación para un servidor es distinta a una para una estación de trabajo. si no.Está intentando eliminar un paquete que es parte del fundamental de su sistema. tomará varias decisiones dependiendo del entorno en el que esté trabajando. Importante: ¡Esto no implica que vaya re-sincronizar su árbol Portage múltiples veces! Tal como se establece en la política rsync (al ejecutar emerge --sync). no debería ser eliminado del sistema. si no también de las características para las que ciertos paquetes tienen soporte.

Puede encontrar una lista de los parámetros USE globales en línea o localmente en /usr/portage/profiles/use.desc. todos los paquetes que tengan soporte opcional para KDE se construirán sin él. nuestro sistema de gestión de paquetes. Se puede encontrar una lista de los parámetros USE locales en /usr/portage/profiles/use.defaults que forman parte de su perfil. Los que tengan una dependencia opcional con KDE se instalarán sin instalar las librerías de KDE (como dependencia). conseguirá un sistema confeccionado específicamente para sus necesidades. 2.local. además de facilitar a Portage. • • Un parámetro USE global lo usan varios paquetes. Es lo que la mayoría de la gente entiende como parámetros USE. en todo el sistema. Esta configuración es un compendio de parámetros que creemos se utilizan frecuentemente por los usuarios de Gentoo. Definición de un parámetro USE Comencemos por definir qué son los parámetros USE. Si define un determinado parámetro USE. ¿Qué parámetros USE existen? Hay dos tipos de parámetros USE: globales y locales. Por supuesto. Ahora pasaremos a explicar como se declaran estos parámetros. Como ya se ha dicho anteriormente. Si ha definido la palabra clave kde. Si no la tiene en su variable USE. Portage sabrá que el usuario desea soporte para la palabra clave escogida. y las librería de KDE serán instaladas Definiendo correctamente las palabras clave. todos los parámetros USE se declaran dentro de la variable USE. Usando los parámetros USE Declarar parámetros USE permanentes Esperamos que se haya convencido de la importancia de los parámetros USE. Un parámetro USE local lo utiliza un sólo paquete para tomar decisiones específicas para dicho paquete. Dicha configuración predeterminada se declara en los ficheros make. . la tarea de tomar decisiones útiles. Un parámetro USE es una palabra clave que incorpora información de soporte y dependencias para un concepto en concreto. Veamos un ejemplo específico: la palabra clave kde. también altera las dependencias de un paquete. ya proporcionamos una configuración predeterminada. Para simplificar al usuario la tarea de buscar y escoger parámetros USE.desc.b. entonces dichos paquetes sí se construirán con soporte para KDE.que realmente quiere.

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

Como puede ver, esta variable contiene bastantes palabras clave. No modifique el fichero make.defaults para ajustar la variable USE a sus necesidades: ¡los cambios se perderán al actualizar el árbol del Portage! Para modificar esta configuración predeterminada, necesita añadir o eliminar palabras clave a la variable USE. Para llevarlo a cabo, se define la variable USE en /etc/make.conf. En esta variable añada los parámetros USE que necesite o elimine los que no quiera. Para eliminarlos coloque el símbolo menos ("-") delante. Por ejemplo, para eliminar el soporte para KDE y QT además de añadir soporte para ldap, puede definirse el siguiente parámetro USE en /etc/make.conf: Listado de Código 2.2: Un ejemplo de confirmación USE en /etc/make.conf
USE="-kde -qt4 ldap"

Declarar parámetros USE para paquetes específicos A veces le interesará establecer un cierto parámetro USE tan sólo 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 más información. Los siguientes ejemplos asumirán que package.use es un único fichero. Por ejemplo, si no le interesa soporte global para berkdb pero lo quiere para mysql, necesita añadir: Listado de Código 2.3: Ejemplo de /etc/portage/package.use
dev-db/mysql berkdb

Por supuesto también puede desactivar el empleo específico de un parámetro USE para una aplicación en concreto. Por ejemplo si no quiere soporte para java en PHP: Listado de Código 2.4: Segundo ejemplo de /etc/portage/package.use
dev-php/php -java

Declarar parámetros USE temporales A veces necesitará utilizar una cierta configuración de USE tan sólo una vez. En lugar de editar /etc/make.conf dos veces (una para hacer y otra para deshacer los cambios) puede declarar la variable USE como una variable de entorno. Recuerde que, si utiliza este método, cuando vuelva a emerger o actualice este aplicación (tanto si es particular como si forma parte de una actualización del sistema) perderá los cambios. Como ejemplo, vamos a eliminar temporalmente el parámetro java USE durante la instalación de seamonkey. Listado de Código 2.5: Utilizando USE como una variable de entorno
# USE="-java" emerge seamonkey

Precedencia Por supuesto, hay una determinada precedencia respecto a qué configuración tiene prioridad sobre la configuración del USE. No querrá declarar USE="-java" y comprobar posteriormente que java continua utilizándose debido a una configuración que tiene mayor prioridad. La precedencia para la configuración del USE es (el primero tiene la mínima prioridad): 1. Configuración predeterminada de USE declarada en los archivos make.defaults de su perfil. 2. Configuración definida por el usuario en /etc/make.conf 3. Configuración definida por el usuario en /etc/portage/package.use 4. Configuración 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 listarán una serie de variables importantes (incluyendo la variable USE) con sus valores correspondientes. Listado de Código 2.6: Ejecutando emerge info
# emerge --info

Adaptando su Sistema Completamente a los Nuevos Parámetros USE Si ha cambiado sus parámetros USE y desea actualizar todo su sistema para que utilice el nuevo parámetro, utilice la opción de emerge llamada --newuse: Listado de Código 2.7: Recompilando todo su sistema
# emerge --update --deep --newuse world

A continuación, ejecute una limpieza completa de Portage para eliminar las dependencias que habían sido instaladas en su "antiguo" sistema pero que han quedado obsoletas por los nuevos parámetros de USE. Aviso: Ejecutar emerge depclean es una operación peligrosa y debería tratarse con cuidado. Revise en profundidad la lista de paquetes "obsoletos" y asegúrese de que no elimina ningún paquete que necesite. En el siguiente ejemplo hemos añadido -p para mostrar la lista de paquetes que serían eliminados pero sin eliminarlos físicamente.

Listado de Código 2.8: Desinstalando los paquetes obsoletos
# emerge -p depclean

Cuando haya finalizado la limpieza, ejecute revdep-rebuild para recompilar las aplicaciones que están enlazadas dinámicamente con los objetos que proporcionaban los paquetes eliminados. revdep-rebuild forma parte del paquete gentoolkit; no olvide hacer emerge primero. Listado de Código 2.9: Ejecutando revdep-rebuild
# revdep-rebuild

Cuando todo esto haya terminado, su sistema estará utilizando la nueva configuración de los parámetros USE. 2.c. Parámetros USE específicos de un paquete Viendo los parámetros USE disponibles Veamos el ejemplo de seamonkey: ¿Qué parámetros USE influyen sobre él? Para averiguarlo, usamos emerge con las opciones --pretend (simula llevar a cabo la acción) y --verbose (obtener una salida más detallada): Listado de Código 3.1: Viendo los parámetros 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 información sobre los paquetes; la cual se encuentra en el paquete gentoolkit. En primer lugar, instale gentoolkit: Listado de Código 3.2: Instalando gentoolkit
# emerge gentoolkit

Ahora ejecute equery con el argumento uses para ver los parámetros del USE de un paquete en concreto. Por ejemplo, en el caso del paquete gnumeric: Listado de Código 3.3: Utilizando equery para ver los parámetros 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. Características de Portage
3.a. Características de Portage Portage tiene varias características adicionales que hacen de su experiencia con Gentoo algo mucho mejor. Muchas de estas características residen en ciertas herramientas software que mejoran el rendimiento, la estabilidad, la seguridad, ... Para activar o desactivar ciertas características de Portage necesita editar la variable FEATURES del archivo /etc/make.conf. Esta variable contiene una lista con las palabras clave de cada característica separadas por un espacio en blanco. En algunos casos necesita además instalar la herramienta que implementa la característica. No todas las características que soporta Portage están aquí reflejadas. Para una consulta completa por favor revise la página de la ayuda referente a make.conf Listado de Código 1.1: Consultando la página de ayuda sobre make.conf
$ man make.conf

Para conocer qué características están siendo utilizadas por defecto, ejecute emerge --info y busque la variable FEATURES o utilice grep: Listado de Código 1.2: Conociendo que características están configuradas
$ emerge --info | grep FEATURES

3.b. Compilación Distribuida Usando distcc distcc es un programa para distribuir un trabajo de compilación a través de muchas, no necesariamente idénticas, máquinas en una red. Los clientes de distcc envían toda la información necesaria a los servidores DistCC disponibles (corriendo distccd) así pueden compilar trozos de código fuente para el cliente. El resultado final, es un tiempo de compilación más rápido. Puede encontrar información más detallada sobre distcc (e información de como tenerlo funcionando sobre Gentoo) en nuestra Documentación Gentoo de Distcc. Instalando distcc Distcc se distribuye con un monitor gráfico para monitorizar las tareas que su computador está enviando para compilar. Si usa Gnome entonces ponga 'gnome' en su configuración USE. De todas formas, si no usa Gnome pero sigue deseando disponer de un monitor, entonces debería poner 'gtk' en su configuración USE.

Listado de Código 2.1: Instalando distcc
# emerge distcc

Activando el soporte en Portage Añada distcc a la variable FEATURES dentro de /etc/make.conf. Hecho esto, edite la variable MAKEOPTS a sus necesidades. Una pauta conocida para configurarla es poner -jX con X representando el número de CPUs que ejecutan distccd (incluyendo el host local) más uno, pero quizá obtenga mejores resultados con otros números. 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 Código 2.2: Configurando distcc para usar los tres servidores DistCC disponibles
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"

Por supuesto, no se olvide ejecutar también el demonio distccd: Listado de Código 2.3: Arrancando el demonio distcc
# rc-update add distccd default # /etc/init.d/distccd start

3.c. Compilación utilizando caché Acerca de ccache ccache es un caché de compilación rápida. Cuando compila un programa, puede cachear resultados intermedios, de forma que, si recompila el mismo programa, el tiempo de compilación se reducirá ampliamente. La primera vez que se ejecuta ccache, ésta será más lenta que una compilación normal. Recompilaciones posteriores deberían ser más rápidas. La herramienta ccache solo es útil si va a recompilar la misma aplicación muchas veces; por lo tanto en la mayoría 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 página web de ccache. Aviso: ccache puede causar numerosos fallos de compilación. Algunas veces ccache mantendrá objetos con código 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 aplicación con ccache deshabilitado (FEATURES="-ccache" en /etc/make.conf) antes de informar de un bug. A menos que esté realizando trabajo de desarrollo, no active ccache. Instalando ccache Para instalar ccache, ejecute emerge ccache:

Listado de Código 3.1: Instalando ccache
# emerge ccache

Activando el Soporte en Portage Primero, edite el /etc/make.conf y añada a la variable FEATURES la palabra clave ccache. A continuación, añada una nueva variable llamada CCACHE_SIZE y dele el valor de "2G": Listado de Código 3.2: Editando CCACHE_SIZE en /etc/make.conf
CCACHE_SIZE="2G"

Para comprobar si ccache funciona, pídale a ccache que te muestre las estadísticas. Ya que Portage utiliza un directorio diferente para guardar los datos, se necesita fijar la variable CCACHE_DIR para reflejar esto: Listado de Código 3.3: Observando las estadísticas de ccache
# CCACHE_DIR="/var/tmp/ccache" ccache -s

La ruta /var/tmp/ccache es el directorio por defecto que emplea Portage para ccache; si quiere cambiar esta variable, configure CCACHE_DIR en /etc/make.conf. Sin embargo, si ejecuta ccache, empleará como directorio por defecto ${HOME}/.ccache, que es la razón por la cual necesita configurar la variable CCACHE_DIR cuando se le pide a Portage que muestre las estadísticas de ccache. Utilizando ccache para compilaciones de C sin relación con Portage Si quiere utilizar ccache para compilaciones que no tengan que ver con Portage, añada /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 Código 3.4: Editar .bash_profile
PATH="/usr/lib/ccache/bin:/opt/bin:${PATH}"

3.d. Soporte para Paquetes Binarios Creando paquetes binarios Portage soporta la instalación de paquetes precompilados. A pesar de que Gentoo no proporciona paquetes precompilados por sí mismo (excepto para las imágenes 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, añada buildpkg a la variable FEATURES.

puede optar por actualizar únicamente su árbol Portage local con una instantánea del árbol validada criptográficamente tal y como publica el equipo de . Para más información sobre catalyst. por favor lea las Preguntas frecuentes sobre Catalyst (en inglés). añada la opción --getbinpkg a la orden emerge junto a la opción --usepkg. Portage puede obtener las fuentes para el siguiente paquete en el lista aún mientras está compilando otro paquete. Descargando Ficheros Parallel fetch Al hacer emerge a una serie de paquetes. acortando los tiempos de instalación.2: Instalando el paquete precompilado gnumeric # emerge --usepkg --getbinpkg gnumeric Más información sobre las opciones para utilizar paquetes precompilados con emerge puede consultarse en la página de la ayuda: Listado de Código 6.conf PORTAGE_BINHOST="ftp://buildhost/gentoo" Cuando quiera instalar un paquete precompilado. Por ejemplo. Observe que está activada por defecto de modo que no necesitaría activarla explícitamente. Este es una pequeña mejora en la seguridad. Para hacer uso de esta opción agregue "parallel-fetch" a su variable FEATURES. Obteniendo instantáneas validadas del árbol Portage Como administrador.1: Configurando PORTAGE_BINHOST en /etc/make. Instalando Paquetes Precompilados A pesar de que Gentoo no proporciona uno.Puede encontrar mayor soporte para la creación de conjuntos de paquetes precompilados con catalyst. puede crear un repositorio central donde almacene paquetes precompilados. necesita que Portage lo conozca a través de la variable PORTAGE_BINHOST que debe apuntar al repositorio.e.16: Leyendo la página de ayuda sobre emerge $ man emerge 3. FEATURES="userfetch" permitirá que Portage ejecute sin los privilegios de superusuario mientras obtiene las fuentes.f. Por ejemplo. Userfetch Cuando Portage se ejecuta por el usuario root. si los paquetes precompilados están en ftp://buildhost/gentoo: Listado de Código 4. mientras que el segundo indica a emerge que intente instalar el paquete precompilado antes de buscar el código fuente y compilarlo. La primera le indica a emerge que descargue el paquete precompilado del servidor definido previamente. 3. Si quiere utilizar este repositorio. para instalar gnumeric a través de paquetes precompilados: Listado de Código 4.

al concluir la ejecución de los guiones. en primer lugar cree un almacén de confianza en el cual pueda descargar y aceptar las claves del equipo de infraestructura de Gentoo responsable del firmado de las instantáneas del árbol Portage. notará que pasará al frente suyo una gran cantidad de texto. Si pone atención. Listado de Código 6.a.2: Actualizar Portage para la validacón del árbol firmado FEATURES="webrsync-gpg" PORTAGE_GPG_DIR="/etc/portage/gpg" SYNC="" Eso es todo. Para configurar Portage. etc. Alt-F2.) fijándoles . Scripts de arranque 4. notará que estos textos son iguales cada vez que reinicie su sistema.net --recvkeys 0x239C75C4 0x96D8BF6D # gpg --homedir /etc/portage/gpg --edit-key 0x96D8BF6D trust A continuación.d. Con esto se asegura que ningún otro servidor réplica falso está añadiendo código no deseado u otros paquete en el árbol que está descargando.1: Crear un almacén de confianza para Portage # mkdir -p /etc/portage/gpg # chmod 0700 /etc/portage/gpg # gpg --homedir /etc/portage/gpg --keyserver subkeys. La próxima vez que ejecute emerge-webrsync. Este proceso asegura que todos los sistemas de archivo (definidos en /etc/fstab) estén montados y listos para usar. Finalmente. correspondientes a los servicios requeridos para tener un sistema correctamente iniciado. La secuencia de todas estas acciones se llama la secuencia de inicio y es (más o menos) definido estáticamente. En primer lugar. Niveles de ejecución Iniciando su sistema Al iniciar. Luego ejecuta varios guiones en /etc/init. Desde luego. su gestor de arranque cargará en memoria la imagen del núcleo que definió en la configuración del gestor de arranque. después de lo cual. si lo desea puede validar esta clave GPG tal y como muestran estas instrucciones (por ejemplo comprobar la huella digital AE54 54F9 67B5 6AB0 9AE1 6064 0838 C26E 239C 75C4 para la clave 0x239C75C4 o DCD0 5B71 EAB9 4199 527F 44AC +DB6B 8C1F 96D8 BF6D para la clave 0x96D8BF6D). se indica a la CPU que debe ejecutar el núcleo.conf y active el soporte para la validación de las instantáneas del árbol Portage firmadas (usando FEATURES="webrsync-gpg") y deshabilite la actualización del árbol Portage usando el método común emerge --sync.infraestructura de Gentoo. init activa los terminales (generalmente solo las consolas virtuales accesibles con Alt-F1. Al ser cargado y luego ejecutado inicializa todas las estructuras y tareas específicas del núcleo e inicia el proceso init. únicamente las instantáneas con una firma válida se expandirán en su sistema de ficheros. 4. Listado de Código 6.pgp. edite el fichero /etc/make.

Ahora init revisa su archivo de configuración para ver que nivel de ejecución debe ejecutar. init continua su trabajo con los guiones en /etc/runlevels/default. con lo que podríamos decir que init no hace mucho. recordará que la primera acción de init es montar todos los sistemas de archivo. usará el orden alfabético. init ejecutó los guiones con vínculos simbólicos en /etc/runlevels/boot. init ejecuta todos los guiones de /etc/init. no ejecuta todos los guiones del /etc/init.3: La línea init por defecto (default) id:3:initdefault: . Este archivo es /etc/inittab. salvo cuando hay dependencias. Primero. continuada rc::bootwait:/sbin/rc boot Una vez más. Los guiones /sbin/rc se encargan de la inicialización.d cuyos vínculos simbólicos se encuentran dentro de /etc/runlevels/boot. Esto está definido en la siguiente línea de /etc/inittab: Listado de Código 1. Si recuerda al secuencia de inicio recién explicada. el guión rc lleva a cabo las tareas necesarias.un proceso especial denominado agetty. Para decidirlo. Note que la opción de rc (boot) corresponde al subdirectorio usado bajo /etc/runlevels. Esto se define en la siguiente línea: Listado de Código 1.1: La línea de inicialización del sistema en /etc/inittab si::sysinit:/sbin/rc sysinit Esa línea dice a init que debe ejecutar /sbin/rc sysinit al iniciar el sistema. En segundo lugar.2: Inicialización del sistema. delega la tarea de inicialización del sistema a otro proceso. init no solamente ejecuta los guiones contenidos en /etc/init. Este proceso hará posible que pueda ingresar al sistema a través de uno de estos terminales ejecutando login. Una vez más. solamente los que han sido seleccionados para ejecutar. lee la siguiente línea de /etc/inittab: Listado de Código 1. Aún más. Usualmente los iniciará en orden alfabético. ¿Cómo funciona Init? Por supuesto que init no decide todo eso por su cuenta. en cuyo caso es alterado el orden de inicio para realizar una secuencia válida de arranque. Los guiones seleccionados para ejecutar se encuentran dentro del directorio /etc/runlevels. Requiere un archivo de configuración que especifica las acciones a tomar. pero algunos guiones tienen información relativa a dependencias.d de manera aleatoria. para lo cual otros guiones deben ser iniciados anteriormente.d. Cuando se ejecuten todos los guiones referenciados en /etc/runlevels/boot. Guiones de inicio (init scripts) Ahora bien.

Los internos se llaman sysinit. Note una vez más que el parámetro pasado al guión rc corresponde al subdirectorio de /etc/runlevels. de nuevo usa el guión rc para iniciar los servicios (ahora con el parámetro por defecto default). el identificador del nivel de ejecución será el 3.4: Definiciones de niveles de ejecución 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 línea que define el nivel 3. nonetwork en caso de no requerirse la red y single es utilizado en caso de necesitar arreglar el sistema. status. pause. iuse. Los niveles de ejecución definidos por el usuario están acompañados de un subdirectorio bajo /etc/runlevels: boot. En Gentoo. restart.5: Definición 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 ejecución? Ha visto que init utiliza un esquema de numeración para decidir cual nivel de ejecución debe activar. zap. ineed. needsme. Los tres niveles de ejecución restantes difieren respecto a los servicios que inician: default es para uso diario. init decide cuáles consolas virtuales debe activar y qué comandos deben ser ejecutados para cada una: Listado de Código 1. nonetwork y single.En este caso (para la mayoría de usuarios Gentoo). usesme o broken. apagado y reinicio del sistema. . hay siete niveles de ejecución definidos: tres internos y cuatro definidos por el usuario. Con esta información init revisa qué debe ejecutar para iniciar el nivel de ejecución 3: Listado de Código 1. Un nivel de ejecución es un estado en el cual su sistema está corriendo y contiene guiones (del nivel de ejecución o initscripts) que serán ejecutados al ingresar o salir del nivel de ejecución. El nivel de ejecución boot inicia los servicios necesarios que requieren los demás niveles de ejecución. Al terminar rc. inicialización.d puede ser ejecutado con los parámetros start. Cada guión en /etc/init. Trabajando con los guiones de inicio Los guiones iniciados por el proceso rc son llamados guiones de inicio o init scripts. default. stop. shutdown y reboot y hacen exactamente lo que implican sus nombres.

Listado de Código 1. stop y restart: Listado de Código 1.d/postfix zap Para preguntar por las dependencias que tiene un servicio. Con ineed puede ver cuales servicios son realmente necesarios para el correcto funcionamiento del servicio nombrado. manteniendo la ejecución de los demás servicios # /etc/init. puede usar iuse o ineed.Para iniciar. Los demás servicios. parar o reiniciar un servicio (y sus respectivas dependencias). pausado. pero que no son requeridos para su correcto funcionamiento. el parámetro iuse muestra los servicios que pueden ser usados por el servicio nombrado.6: Iniciar postfix # /etc/init..9: Reajustar la información de estado del servicio postfix # /etc/init. aquellos que usen (use) el servicio nombrado.20: Detener postfix.d/postfix status Si la respuesta a status indica que el servicio está corriendo.d/postfix ineed De igual manera.d/postfix pause Si desea ver el estado de un servicio (iniciado. puede indagar cuales dependencias son requeridas y están faltando: Listado de Código 1.10: Solicitar una lista de servicios de los cuales depende postfix # /etc/init.) puede usar el parámetro status: Listado de Código 1.8: Estado del servicio postfix # /etc/init.11: Solicitar una lista de todos los servicios que requieren postfix # /etc/init.d/postfix start Nota: Solo los servicios que necesiten (need) del servicio nombrado serán parados o reiniciados.12: Solicitar una lista de dependencias faltantes para postfix # /etc/init. .d/postfix needsme Finalmente.d/postfix broken 3. pero realmente no es así. puede indagar que servicios requieren el servicio nombrado (needsme) o cuáles pueden usarlo (usesme): Listado de Código 1. parado. pero no los que dependan de el. Trabajando con rc-update ¿Qué es rc-update? .b. deben usarse start.. puede reajustarlo manualmente con el parámetro zap: Listado de Código 1. pero que no lo necesiten) continuarán sin ser tocados. puede usar el parámetro pause para pausarlo: Listado de Código 3. Por otra parte. Si desea parar un servicio.

d/apache2) tiene un archivo de configuración de nombre . 4. borrar o mostrar. que no deseamos que nuestros usuarios tengan que hacer manualmente. el guión de inicio apache2 (llamado /etc/init. en caso que se quieren dar más opciones al servicio. Como ésta es una tarea tediosa. Añadiendo y removiendo servicios Ya hemos agregado guiones de inicio al nivel de ejecución por defecto durante la instalación de Gentoo. El directorio /etc/conf. Por ejemplo. aunque ahora sí. En ese instante tal vez no haya tenido una idea clara acerca del uso de un nivel de ejecución "por defecto". ya que esto puede ser propenso a errores.d. El guión rc-update requiere un segundo parámetro que define la acción a llevar a cabo: add. Para añadir o quitar un guión de inicio. Sin embargo es importante poder configurar estos servicios. La herramienta rc-update automáticamente usará el guión depscan.2: Recibir información de los guiones de inicio # rc-update -v show Es posible ejecutar también rc-update show (sin -v) simplemente para ver los guiones de inicio activos y sus respectivos niveles de ejecución.c.d Gentoo provee una manera fácil de configurar estos servicios: cada guión de inicio configurable tiene un archivo dispuesto en /etc/conf. por ejemplo: Listado de Código 2. del o show para agregar.sh para reconstruir el árbol de dependencias.1: Quitar postfix del nivel de ejecución por defecto # rc-update del postfix default El comando rc-update -v show mostrará todos los guiones de inicio con los niveles de ejecución donde ejecutarán: Listado de Código 2. use rc-update con el parámetro add o del. Con rc-update puede añadir o quitar guiones de inicio a un nivel de ejecución. Una segunda razón para mantener esta información fuera del guión de inicio es para poder actualizar estos guiones sin que los cambios de configuración sean perdidos. Configuración de servicios ¿Porqué requerimos configuración adicional? Los guiones de inicio pueden ser bastante complejos. hemos creado unas herramientas para facilitar la administración de los niveles de ejecución y los guiones de inicio.El sistema de inicio (init) de Gentoo usa un árbol de dependencias para decidir qué servicios deben iniciarse primero. por lo cual no es interesante que los usuarios modifiquen directamente el guión de inicio. seguido por el nombre del guión de inicio y el nivel de ejecución.

conf). Dependencias Hay dos dependencias que puede definir: use y need. se declaran los servicios que dependen de éste o la dependencia virtual. Escribiendo guiones de inicio ¿Realmente tengo que hacerlo? Realmente. Aparte de estas dos. puede haber instalado un servicio sin usar Portage. También nos permite suministrar información adicional acerca de las variables (en forma de comentarios). Existen dos ajustes relacionados con las dependencias que puede definir y que influyen en el arranque o secuenciación de los guiones de inicio: use y need.d. el cual contiene las opciones a pasar al servidor web Apache 2 en el momento de inicio: Listado de Código 3. Listado de Código 4.1: Variables definidas en /etc/conf. Todas las demás son opcionales. no. No use el guión de inicio suministrado por el servicio si no está explícitamente escrito para Gentoo: los guiones de inicio de Gentoo ¡no son compatibles con los de las demás distribuciones! Disposición La disposición básica de un guión de inicio se muestra a continuación. la dependencia need es más estricta que la dependencia use.d/apache2 APACHE2_OPTS="-D PHP5" Este tipo de archivo de configuración contiene solamente variables (como /etc/make. Estos últimos no .d/apache2. existen también dos métodos que influyen en el orden llamados: before y after. Siguiendo este esquema. 4.1: Disposición básica de un guión de inicio #!/sbin/runscript depend() { (Información acerca de las dependencias) } start() { (Comandos requeridos para iniciar el servicio) } stop() { (Comandos requeridos para parar el servicio) } Cualquier guión de inicio requiere la definición de la función start(). en cuyo caso probablemente tenga que crear un guión de inicio. ya que Gentoo provee guiones listos para usar para todos los servicios suministrados. lo que facilita la configuración de servicios. Tal como hemos mencionado anteriormente./etc/conf. Escribir un guión de inicio usualmente no hace falta. Sin embargo.

Examinemos la información de dependencia del servicio postfix. Si el otro guión es reiniciado. Si echa un vistazo al muchos de los guiones de inicio disponibles en Gentoo.. Si alsasound no está programado para arrancar. el guión dado es arrancado antes del guión seleccionado si el seleccionado forma parte del nivel de inicio. los servicios funcionarán de todos modos. será arrancado antes que el guión alsasound. no provocan el fallo del guión de inicio si el guión seleccionado no está programado para ser iniciado (o falla al iniciar).2: Información de dependencias de postfix depend() { need net use logger dns provide mta } Como podemos ver.). entonces este ajuste en particular no tiene efecto y el guión xdm será arrancado cuando el sistema de inicio lo juzgue apropiado. . Un buen ejemplo sería use logger o use dns. syslog-ng. el ajuste no tiene efecto y el guión será arrancado por el sistema de inicio cuando éste lo juzgue apropiado. Listado de Código 4. Debería quedar claro una vez leida la parte de arriba. Una dependencia virtual es una suministrada por un servicio. En caso contrario. Cuando se utiliza before. habiendo disponibilidad de varios (metalogd. el servicio postfix: . Si estos servicios están disponibles.son dependencias en sí mismos. after informa al sistema de inicio que el guión dado debería ser arrancado antes que el seleccionado si el guión seleccionado forma parte de nivel de inicio. Esto significa que el guión que necesita otro guión. El ajuste need es una dependencia inevitable. pero aunque no tenga instalado un programa de registro (logger) o servidor DNS. entonces el guión que depende de él será reiniciado igualmente. Por lo tanto. Como no se necesitan todos (ningún sistema normal tiene todos estos gestores de registro instalados y corriendo) nos aseguramos que todos estos servicios provean una dependencia virtual. entonces se arrancarán antes del guión que los utiliza. pero solo si alsasound está también programado para ser arrancado en el mismo nivel de inicio. Su guión de inicio puede depender de un gestor de registro de sistema. si el guión de inicio xdm define before alsasound. observará que algunos tienen dependencias de objetos que no son guiones de inicio. Si estos servicios están presentes en su sistema. Las demás son simplemente apuntes al sistema de inicio para clarificar el orden en el que los guiones deben (o deberían ser arrancados). sin embargo no depende directamente de él. que need es el único ajuste que define un "auténtica" dependencia ya que afecta al hecho de que el guión sea arrancado o no. Estos "objetos" son los llamados virtuals (virtuales).. • • • • Los ajustes use informan al sistema de inicio que este guión utiliza funcionalidad ofrecida por el guión seleccionado. De modo similar. sysklogd. no podrá arrancar antes de que el otro guión se arranque de forma correcta. se usarán de forma correcta. pero no solo por ese servicio.

entonces debería comenzar después de bootmisc: Listado de Código 4. como por los ajustes de orden before y after.5: Función ejemplo de depend() depend() { need localmount after bootmisc } Funciones estándar Junto con la función depend(). en este caso.eth0) usa la dependencia (virtual) logger (suministrada por. Listado de Código 4. echemos un vistazo al servicio Portmap como ejemplo de guión de inicio. debe necesitar localmount.6: Ejemplo de función start() start() { if [ "${RC_CMD}" = "restart" ].• • • • requiere la dependencia (virtual) net (suministrada por. aunque no es aconsejable. puede indicarle al sistema de inicio qué orden debe seguir para arrancar (o parar) los guiones. Si escribe algo en /var/run como un archivo pid.3: La función depend() en el servicio portmap depend() { need net before inetd before xinetd } También puede usar el carácter que engloba "*" para todos los servicios. /etc/init.d/named) provee la dependencia (virtual) mta (común a todos los servidores de correo electrónico) Controlando el orden Tal y como se ha descrito en la sección anterior. Como ya hemos descrito estos ajustes. /etc/init.4: Ejecutando un guión de inicio como el primer guión del nivel de ejecución depend() { before * } Si su servicio debe escribir a discos locales. Listado de Código 4. then # Hacer algo en caso de que restart requiera algo más que para y . Es aconsejable usar las funciones ebegin y eend para informarle al usuario acerca de lo que está ocurriendo: Listado de Código 4. /etc/init. en este caso. en este caso. hará falta definir la función start().d/net. que contiene los comandos necesarios para inicializar su servicio.d/syslog-ng) usa la dependencia virtual (virtual) dns (suministrada por. Este orden es manejado tanto por los ajustes de dependencia use y need.

favor leer directamente las fuentes de los guiones de inicio en su directorio /etc/init. Si requiere más ejemplos de funciones start(). En lugar de esto. Al contrario que el sistema de guiones de inicio anterior. un servicio inicia foo. y este guión luego cambia algún nombre (por ejemplo. Usando --quiet puede interferir con la depuración si el servicio no logra arrancar. no use archivos pid. entonces hará falta agregar --name al start-stop-daemon. el nuevo sistema openrc no soporta funcionalidad de reinicio específica de los guiones.8: Un servicio que inicia el guión foo start() { ebegin "Starting my_script" start-stop-daemon --start --exec /path/to/my_script \ --pidfile /path/to/my_pidfile --name foo .py.7: Función 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 guión (por ejemplo. foo. bash. Otra función que puede definir es stop(). Si el servicio no crea un archivo pid.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. aunque debe probar esto para estar seguro. pero esto no es recomendado a no ser que el el servicio sea extremadamente verboso. el guión necesita comprobar el contenido de la variable RC_CMD para var si una función (sea start() o stop()) se llama como parte del reinicio o no. Sin embargo. ¡No está obligado a definir esta función! Nuestro sistema de inicio es lo suficientemente inteligente para rellenar esta función por sí mismo si utiliza start-stop-daemon.después de todo.py a foo). En este ejemplo. entonces use --make-pidfile si es posible. Puede también agregar --quiet a las opciones al start-stop-daemon. python o perl). Otro ajuste notable usado en el ejemplo de arriba es la comprobación de los contenidos de la variable RC_CMD. eso es lo que el guión de inicio está supuesto de hacer. Debe especificar el nombre al cual cambiará el guión. el cual cambia de nombre a foo: Listado de Código 4. De otra manera.d. A continuación se muestra un ejemplo de la función stop(): Listado de Código 4. Nota: Asegúrese que --exec de hecho llame un servicio y no solamente un guión que lanza un servicio y termina -.

para dar soporte a una opción llamada restartdelay: Listado de Código 4. de manera que es libre de usar construcciones compatibles con bash dentro del guión de inicio.d: si su guión de inicio se ejecuta.9: Obteniendo la página man para el start-stop-daemon $ man start-stop-daemon La sintaxis de los guiones de inicio de Gentoo está basada en el intérprete de comandos Bourne Again Shell (bash). 4.eth0 mientras que puede no querer iniciar net.conf También.e.d/basic /etc/rc. Por ejemplo.eth0 mientras está de viaja (cuando no . Añadiendo opciones personalizadas Si desea que su guión de inicio soporte un mayor número de opciones de las que hemos encontrado hasta ahora.d/<su guión de inicio> /etc/conf. Los guiones de inicio que dependen de características propias de bash pueden romper estas configuraciones. Variables para la configuración de servicios No hay que hacer nada para soportar un archivo de configuración en /etc/conf.10: Soporte para la opción restartdelay extra_commands="restartdelay" restartdelay() { stop sleep 3 # Espere 3 segundo antes de reiniciar start } Importante: ¡La función restart() no puede ser sobreescrita en openrc!. el archivo asociado a esa dependencia (el /etc/conf. debe agregar la opción a la variable extra_commands y crear una función con el mismo nombre que la opción. Puede que Los sistemas de inicio futuros permitan enlazar de forma simbólica /bin/sh a otros intérpretes de comandos aparte de bash. Cambiando el comportamiento del nivel de ejecución ¿Quién puede beneficiarse de esto? Muchos usuarios de equipos portátiles conocen la situación: en casa necesita iniciar net.d/net) será leído también. los siguientes archivos serán automáticamente leídos (sourced) y las variables estarán disponibles para usar. puede que desee escribir sus guiones de forma que sean compatibles POSIX. si su guión de inicio provee una dependencia virtual (como net).eend $? } El start-stop-daemon tiene una excelente página man si requiere más información: Listado de Código 4. • • • /etc/conf. Sin embargo.

conf # Permite enchufar en caliente net.conf: Listado de Código 5.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.wlan !net.conf.3: Deshabilitando los servicions iniciados por dispositivos en /etc/rc.4: Añadiendo una entrada para el nivel de ejecución offline .hay una red disponible). Puede seleccionar al arrancar que nivel de ejecución quiere utilizar.eth0 | Incluso aunque se haya eliminado net. una funcionalidad llamada hotplugging (enchufado en caliente). si quiere una copia exacta de su actual "default" pero sin net.wlan así como cualquier otro # servicio excepto los que concuerden con net. Utilizando softlevel Antes de nada. Si quiere habilitar el hotplugging pero solo para un conjunto seleccionado de guiones.1: Creando el directorio para el nivel de ejecución # mkdir /etc/runlevels/offline Añada los guiones de inicio necesarios para el nuevo nivel de ejecución. Por defecto Gentoo no habilita esta funcionalidad. consulte los comentarios del archivo /etc/rc. done (Eliminar servicios no deseados en el nivel offline) # rc-update del net. Por ejemplo.2: Añadiendo los guiones de inicio necesarios (Copiar todos los servicios desde el nivel de ejecución default al nivel offline) # cd /etc/runlevels/default # for service in *.eth0 del nivel de ejecución offline. Como ejemplo vamos a crear el nivel de ejecución offline: Listado de Código 5. puede que udev quiera intentar iniciar cualquier dispositivo que detecte y lanzar los servicios apropiados. do rc-update add $service offline. Con Gentoo puede modificar el comportamiento del nivel de ejecución para sus propios propósitos. Ahora edite la configuración de su gestor de arranca y añada una nueva entrada para el nivel de ejecución offline. utilice la variable rc_hotplug en /etc/rc.*" Nota: Para más información sobre los servicios iniciados en función de dispositivos.conf: Listado de Código 5.* rc_hotplug="net. Por ejemplo puede crear un segundo nivel de ejecución "default" con el cual puede arrancar y que utiliza otros guiones de inicio que le han sido asignados.eth0: Listado de Código 5. en /boot/grub/grub. cree el directorio para su segundo nivel de ejecución "default". Por ejemplo.

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 ejecución offline será el utilizado en lugar del default. Utilizando bootlevel Utilizar bootlevel es completamente análogo a softlevel. La única diferencia es que se define un segundo nivel de ejecución "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 información usada por una o más aplicaciones. Algunos usuarios (especialmente aquellos nuevos en Linux) encuentran esto un poco extraño o inmanejable. Sin embargo esto no es cierto: usando variables de entorno hace que cualquiera pueda cambiar una opción de configuración para una o más aplicaciones fácilmente. 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 después de la tabla. Variable Descripción Esta variable contiene una lista de directorios separados por ":" en la cual el sistema buscará los archivos ejecutables. Al introducir el nombre de un ejecutable (como ls, rc-update o emerge) que no se encuentre en un de los directorios listados, el sistema no lo encontrará, (a menos que se introduzca la ruta completa, por ejemplo: /bin/ls). Esta variable tiene la misma función que PATH, pero únicamente contiene los directorios que el sistema debe revisar cuando el usuario root introduce un comando. Esta variable contiene una lista de directorios separados por ":" en la cual el enlazador dinámico busca para encontrar una librería. Esta variable contiene una lista de directorios separados por ":" en la cual el comando man busca las páginas de manual. Esta variable contiene una lista de directorios separados por ":" en la cual el comando info busca las páginas info. Esta variable contiene la ruta hacia el programa utilizado para mostrar el contenido de los ficheros (como less o

PATH

ROOTPATH LDPATH MANPATH INFODIR PAGER

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

5.b. Definiendo variables globalmente El directorio /etc/env.d Para centralizar la definición 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 aplicación de la cual llevan el nombre. Por ejemplo, al instalar gcc, un fichero llamado 05gcc que contiene la definición de las siguientes variables, fue creado por el ebuild: Listado de Código 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 añadir definiciones de variables de entorno semejantes en /etc/profile o en otros sitios. Por otro lado, Gentoo nos hace (y a Portage) más fácil mantener y manejar las variables de entorno sin tener que prestar atención a los numerosos ficheros que pueden contenerlas. Por ejemplo, cuando gcc es actualizado, también es actualizado el fichero /etc/env.d/05gcc sin ser necesaria ninguna interacción por parte del usuario. Esto no solo beneficia a Portage, sino también 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) definición(es) en él: Listado de Código 2.2: /etc/env.d/99local
http_proxy="proxy.server.com:8080"

Usando el mismo fichero para todas las variables, se obtiene una visión rápida de las variables que definidas por uno mismo. El guión env-update Varios archivos de /etc/env.d definen la variable PATH. esto no es un error: cuando ejecute env-update, este concatenará las múltiples definiciones antes de actualizar las variables de entorno, haciendo más fácil a los paquetes (o usuarios) añadir sus propias opciones en las variables de entorno sin interferir con los valores ya existentes. El guión env-update concatenará los valores alfabéticamente ordenados por el nombre de los ficheros de /etc/env.d. Los nombres de fichero deben comenzar con dos digitos decimales. Listado de Código 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 concatenación de variables no siempre funciona, solo con las siguientes variables: KDEDIRS, PATH, LDPATH, MANPATH, INFODIR, INFOPATH, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK, PRELINK_PATH y PRELINK_PATH_MASK. Para el resto de variables (archivos en orden alfabético en /etc/env.d)se utilizará el último valor definido Cuando ejecute env-update, el guión creará todas las variables de entorno y las colocará en /etc/profile.env (el cual es usado por /etc/profile). Además, también extraerá la información de la variable LDPATH y la usará para crear /etc/ld.so.conf. Después de esto, ejecutará ldconfig para recrear el archivo usado por el enlazador dinámico: /etc/ld.so.cache. Si quiere observar el efecto de env-update inmediatamente después de ejecutarlo, ejecute el siguiente comando para actualizar su entorno. Posiblemente, los usuarios que instalaron Gentoo ellos mismos, recordarán estas instrucciones de la instalación:

En este caso.bashrc. Ficheros de Portage Directivas de configuración .4: Actualizar el entorno # env-update && source /etc/profile Nota: El comando anterior. pero no queremos que todos los usuarios de nuestro sistema lo tengan en su PATH. puede definir la variable PATH en su sesión activa usando el comando export.Listado de Código 2. a la variable PATH. Por ejemplo.bashrc o ~/. Conociendo esto. Esto implica que cosas como FOO="$BAR" (donde $BAR es otra variable) están prohibidas. Listado de Código 3. 5. necesitará salir de la sesión y volver a entrar para las X generen hijos con las nuevas variables. si se esta trabajando en X11. podríamos querer añadir /home/my_user/bin y el directorio de trabajo actual (en el cual nos encontramos). Si esta utilizando un gestor de inicio. Mientras no cierre la sesión. necesitara ejecutar source /etc/profile en cada nueva terminal que abra o reiniciar las X para que todas las nuevas terminales cogan las nuevas variables. debemos usar ~/.bash_profile: Listado de Código 3. Archivos y directorios 1. Importante: No se pueden utilizar las variables del terminal para definir otras variables.c. solamente actualiza las variables en la terminal actual y las nuevas consolas. Para estos momentos necesitará esto. Puede querer usar binarios de un directorio temporal que ha creado sin tener que usar la trayectoria completa a los binarios o sin editar ~/. se requieren definiciones aún más estrictas.1: Ampliar el PATH para uso local en: ~/.d/xdm restart. Si no. su variable PATH será actualizada.bashrc (Dos puntos sin incluir después un directorio son tratados como el directorio de trabajo actual) PATH="${PATH}:/home/my_user/bin:" Cuando vuelva a iniciar la sesión.a. Definiendo variables locales Específicas de usuario No siempre queremos definir variables de entorno globales. Específicas de sesión En ocasiones. conviertase en root y ejecute /etc/init. Si queremos definir una variable localmente. Trabajando con Portage 1.2: Definir una variable específica a la sesión # export PATH="${PATH}:/home/my_user/tmp/usr/bin" C. la variable PATH usará los valores temporales.

unmask especifica los paquetes que quiere instalar a pesar de haber sido desaconsejados por los desarrolladores.Portage viene con una configuración predefinida guardada en /etc/make. Explicaremos algo más sobre perfiles y el directorio /etc/make. este archivo es meramente un ejemplo y Portage no lo utilizará con ningún propósito. Como su propio nombre indica. También puede definir una variable de configuración para Portage como una variable de entorno. Como muchas directivas de configuración varían de unas arquitecturas a otras. exactamente no es un directorio pero es un enlace simbólico a un perfil. En lugar de eso utilice /etc/make.¡ Se recomienda encarecidamente que utilice los archivos pertenecientes a /etc/portage y está desaconsejada la sobreescritura de estas características con variables de entorno. las configuraciones de Portage se realizan en los archivos make. A qué variables atiende Portage y que significan se describe un poco después.accept_keywords especifica los paquetes que quiere instalar a pesar de no haber sido considerados adecuados para su sistema o arquitectura (todavía).mask el cual especifica los paquetes que nunca quiere que Portage instale en su sistema. etc.defaults de su perfil y de todos los perfiles padres.profile más adelante.globals o make. por defecto uno perteneciente a /usr/portage/profiles también puede crear un perfil en cualquier otro lado y apuntarlo. Si está pensando en cambiar una variable de configuración.conf. Portage también posee algunos archivos de configuración que son parte de perfil. Un perfil contiene información específica para Portage sobre cada arquitectura. no modifique /etc/make. El perfil al cual apunta el enlace simbólico será el que tenga en cuenta su sistema.! Dentro de /etc/portage puede crear los siguientes archivos: • • • • package. comprobará que toda la configuración de Portage se realiza a través de variables.profile. Bien. package.defaults. package. tal como una lista de paquetes que pertenecen al sistema correspondiente con ese perfil. una lista de paquetes que no funcionan (o están enmascarados) para ese perfil. package. Información específica del perfil Ya hemos hablado del directorio /etc/make. También encontrará usr/share/portage/config/make.globals. Configuración específica para usuarios Cuando necesite sobreescribir una característica de Portage relativa a la instalación de software.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.profile.example. necesitará editar los archivos contenidos en /etc/portage. Cuando le eche un vistazo. . pero no es recomendable.conf el cual tiene preferencia sobre los archivos anteriores. Su perfil está apuntado por el enlace simbólico /etc/make.

Portage siempre los buscará en esos lugares exactos. Binarios Pre-compilados Aunque Portage no utilice binarios pre-compilados por defecto.conf: Listado de Código 1. no olvide cambiar el enlace simbólico /etc/make. Este documento no pretende ser utilizado como referencia. Esta ubicación está definida por la variable PKGDIR. Todos estos propósitos tienen unas direcciones predeterminadas muy claras pero puede cambiarlas por las que más le gusten indicándolo en /etc/make. Listado de Código 1.1: Leyendo la página del manual sobre Portage $ man portage Cambiando el fichero de Portage y el lugar del directorio Los archivos de configuración mencionados anteriormente no pueden ser guardados en ningún otro sitio. por favor consulte las páginas del man relativas a Portage y make. los buscará en /usr/portage/packages.2: Leyendo las páginas del manual sobre Portage y make. el lugar donde guardar el código fuente. seguramente quiera cambiar las siguientes variables ya que no tienen constancia del cambio de PORTDIR.. Portage utiliza otras muchos lugares para varios propósitos: el directorio de compilación. Código Fuente El código fuente de las aplicaciones se guarda por defecto en /usr/portage/distfiles. Base de datos de Portage . Esta ubicación viene definida por la variable DISTDIR. la localización del árbol de Portage. Si necesita una cobertura 100%. Cuando a Portage se le indica que trabaje con paquetes pre-compilados. tiene un buen soporte para ellos.b. Cuando guarde el árbol de Portage en cualquier otro lugar (modificando esta variable).. Esta definida por la variable PORTDIR. Si modifica la variable PORTDIR. DISTDIR.conf. Guardando ficheros El árbol Portage La ubicación predeterminada del árbol de Portage es /usr/portage. Sin embargo.conf $ man portage $ man make. .profile de acuerdo con su cambio. Podemos obtener más información acerca del directorio /etc/portage y una lista de archivos que pueden crearse allí en la página man de Portage.conf 1. también pueden ser directorios que contengan un archivo por paquete. El resto de este capítulo explica los lugares destinados a un propósito especial que utiliza Portage y como puede ser modificado su emplazamiento en el sistema de ficheros. Esto es debido a cómo Portage maneja las variables: PKGDIR. RPMDIR.Estos no tienen que ser archivos.

recibirá los registros de construcción de paquetes y cualquier otro registro salvado por elog. Ubicación del sistema de ficheros Por defecto. 1.. necesitará cambiar las siguientes variables ya que no tendrán constancia del cambio. qué archivos pertenecen a cada paquete. Directorio de compilación Portage crea directorios de compilación específicos para cada paquete que se emerge dentro de /var/tmp/portage.. Esto es útil cuando quiera crear nuevas imágenes compiladas. Compilando aplicaciones Ficheros temporales de Portage Los ficheros temporales de portage se guardan por defecto en /var/tmp. árbol de dependencias. Si no tiene definido PORT_LOGDIR y usa elog.) en /var/db/pkg. como se explica a continuación.d. Portage ofrece un control de grano fino sobre el registro de sistema mediante el uso de elog: . De manera predeterminada está variable está desactivada. Portage instala todas los archivos en el sistema de ficheros activo (/). Caché de Portage La caché de Portage (con modificaciones temporales. Esta ubicación viene definida por la variable BUILD_PREFIX. .Portage guarda el estado del sistema (que paquetes están instalados. 1. pero solamente cuando la variable PORT_LOGDIR esté configurada y apuntando a una dirección con permisos de escritura para Portage (usuario Portage). . Si no configura PORT_LOGDIR no recibirá los registros con el sistema de registro actual. Características de registro de acciones (log) Registro de acciones de Ebuilds Portage puede crear un registro por ebuild.. Esta ubicación se define en la variable PORTAGE_TMPDIR. pero puede cambiarse esta configuración a través de la variable de entorno ROOT. ¡No se deben modificar estos archivos manualmente! Podría romper el conocimiento que tiene Portage sobre el sistema.) se guarda en /var/cache/edb. Esta ubicación es una verdadera caché: se puede limpiar si no se está ejecutando ninguna aplicación que tenga relación con Portage en este momento..c. Esto es debido a cómo Portage maneja la variable: BUILD_PREFIX. paquetes virtuales. Si modifica la variable PORTAGE_TMPDIR. aunque tal vez reciba algún registro del nuevo elog.

o info: Registra los mensajes "einfo" generados por un ebuild o warn: Registra los mensajes "ewarn" generados por un ebuild o error: Registra los mensajes "eerror" generados por un ebuild o log: Registra los mensajes "elog" encontrados en algunos ebuilds o qa:: Registra los mensajes del tipo "QA Notice" mostrados por un ebuild. o custom: Pasa todos los mensajes a cun comando definido por el usuario en $PORTAGE_ELOG_COMMAND. se desactiva la función de registro. save_summary y mail_summary. su valor por defecto es "portage".domain username:password@smtp. Si se deja sin definir. Note que puede hacer uso de dos variables de entorno: ${PACKAGE} es el nombre del paquete y la versión. Puede usar cualquier combinación separada por espacios en blanco de save. Aquí hay un posible uso: o PORTAGE_ELOG_COMMAND="/trayectoria/al/gestor -p '\$ {PACKAGE}' -f '\${LOGFILE}'" PORTAGE_ELOG_MAILURI: Contiene la configuración del módulo mail.log. mientras que ${HOST} es el nombre del dominio completo del anfitrión donde está corriendo Portage. esto se discutirá más adelante. o save: Almacena un registro por paquete en $PORT_LOGDIR/elog.log si $PORT_LOGDIR fue definido. Por defecto está configurado a "root@localhost localhost". Aquí está un posible uso: . Debe seleccionar al menos un módulo para poder usar elog. pero fusionando todos los mensajes en $PORT_LOGDIR/elog/summary. Puede utilizarse cualquier cualquier combinación separada por espacios en blanco de info. servidor de correo y número de puerto. error. Las características de correo de elog requieren >=portage-2.1. contraseña. Aquí podemos especificar un comando con el cual procesar los mensajes de registro. o syslog: Envía todos los mensajes al gestor de registro de sistema instalado. o save_summary: parecido a save. PORTAGE_ELOG_COMMAND: Esto solamente se usa al activarse el módulo custom. o /var/log/portage/elog si $PORT_LOGDIR no está definido. log and qa. Note que puede hacer uso de dos variables de entorno: ${PACKAGE} mostrará el nombre y la versión del paquete. o mail: Pasa todos los mensaje a un servidor de correo definido por el usuario en $PORTAGE_ELOG_MAILURI. custom. PORTAGE_ELOG_SYSTEM: Selecciona el (los) módulos para procesar los mensajes de registro.some. warn. Aquí presentamos un ejemplo para un servidor smtp que requiere autentificación con nombre de usuario y contraseña en un puerto en particular (el puerto por defecto es el 25): o PORTAGE_ELOG_MAILURI="user@some. o mail_summary: parecido a mail. mientras que ${LOGFILE} es la trayectoria absoluta al archivo de registro. usuario. esto se discutirá más adelante. mail. o /var/log/portage/elog/summary. syslog . PORTAGE_ELOG_MAILSUBJECT: Permite la creación de una línea de asunto para los correos de registro.1. pero envía todos los mensajes en un sólo mail cuando emerge finaliza. tal como dirección.domain:995" PORTAGE_ELOG_MAILFROM: Permite configurar la dirección "from" de los correos de registro.• • • • • • • • PORTAGE_ELOG_CLASSES: Es donde se define cuáles mensajes serán registrados.

Para más información acerca de sus opciones.o PORTAGE_ELOG_MAILSUBJECT="El paquete \${PACKAGE} fue instalado en \${HOST} con algunos mensajes" Importante: Si ha usado enotice con Portage-2. Por favor. Protección de los archivos de configuración Ubicaciones protegidas por Portage . Puede decirle a emerge que use ciertas opciones cada vez que sea ejecutado configurando la variable EMERGE_DEFAULT_OPTS. ya que es incompatible con elog. CHOST define la plataforma correspondiente a la máquina en la que se construye para el guión de configuración MAKEOPTS se pasa al comando make para definir el grado de paralelismo al compilar. 2.conf para más información.conf. Opciones al momento de construcción Opciones de configuración y del compilador Cuando Portage construye las aplicaciones. también eliminará los archivos obsoletos de la versión anterior del sistema. Portage es configurable a través de múltiples variables de entorno que se deben definir en /etc/make.1: Lectura de la página man de make. --tree. --verbose.b.a.conf 2. refiérase a la página man de make.*. vea la página man de make. algunas opciones útiles podrían ser --ask. 2. pasa el contenido de las siguientes variables al guión de compilación y configuración: • • • CFLAGS & CXXFLAGS define los parámetros deseados para la compilación de fuentes en C y C++. El parámetro USE también se usa al configurar y compilar. Configuración del sistema Portage Como hemos acotado previamente. Configuración por medio de variables 2.0. 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. Listado de Código 1.conf $ man make. elimine enotice. pero éste ha sido explicado ampliamente en capítulos previos. etc. Opciones al integrar Cuando Portage integra una versión más nueva de algún paquete de software.c.

Estos lugares protegidos se definen con la variable CONFIG_PROTECT y generalmente corresponden a rutas de archivos de configuración.2: Más información acerca de la protección de archivos de configuración $ man emerge Exclusión de directorios Para 'desproteger' ciertos subdirectorios en directorios protegidos. Puede averiguar qué lugares están protegidos en la variable CONFIG_PROTECT con la salida del comando emerge --info: Listado de Código 3.Portage sobreescribe los archivos provistos por versiones más nuevas de un paquete si estos no estan almacenados en un lugar protegido. Para más información. Los archivos de configuración nuevos que se escriban en rutas protegidas lo serán con un nombre modificado y el usuario será advertido acerca de su presencia. 2. use la variable CONFIG_PROTECT_MASK. Opciones de descarga Ubicaciones de servidores Cuando la información o datos no están disponibles en su sistema. Portage los descargará de la Internet. Este listado de directorios es delimitado con espacios en blanco. Debe hacer emerge mirrorselect primero. antes de usarla.1: Obtener información acerca del contenido de CONFIG_PROTECT $ emerge --info | grep 'CONFIG_PROTECT=' Más información acerca de la protección de archivos de configuración por Portage está disponible en la sección de archivos de configuración (CONFIGURATION FILES) de la página man de emerge: Listado de Código 3.d. Las ubicaciones de los servidores para los canales de información y datos se definen mediante los siguientes variables: • • GENTOO_MIRRORS define una lista de servidores que contienen código fuente (distfiles) PORTAGE_BINHOST define un servidor en particular que contiene paquetes pre-compilados para su sistema Un tercer parámetro involucra la ubicación 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 automáticamente a través de la aplicación mirrorselect. vea la ayuda de mirrorselect en línea: .

podrá configurar algunas de las variables para modificar su comportamiento: • • PORTAGE_RSYNC_OPTS configura un número de variables por defecto usadas durante la sincronización. apunta a /etc/portage/rsync_excludes. Por favor lea Utilizando un subconjunto del árbol Portage para la sintaxis de este archivo. Usa wget por defecto. utiliza por defecto el comando wget. Puede cambiar esto usando la variable FETCHCOMMAND. separado por espaciones en blanco. Cada opción deberá ser separada con un espacio en blanco. Asegúrese que sus FETCHCOMMAND y RESUMECOMMAND guarde las fuentes en la ubicación correcta. ftp_proxy y RSYNC_PROXY para declararlos. o --timeout=<number>: define la cantidad de segundos que una conexión rsync puede permanecer sin que caduque. configure las variables http_proxy. FETCHCOMMAND_FTP. pero puede cambiarlo usando la variable RESUMECOMMAND. Estos no deberían ser cambiados a no ser que sepa exactamente lo que está haciendo.Listado de Código 4. RESUMECOMMAND_FTP. pero los usuarios con conexiones dialup o individuos con computadoras lentas podrían aumentar a 300 o más. PORTAGE_RSYNC_EXTRA_OPTS puede ser usado para configurar opciones adicionales al sincronizar. RESUMECOMMAND_HTTP. En este caso. o --exclude-from=/etc/portage/rsync_excludes: Esto apunta a un archivo que lista los paquetes y/o categorías que rsync debe ignorar durante el proceso de actualización. Portage puede continuar una descarga hecha en forma parcial. o --quiet: Reduces output to the screen o --verbose: Prints a complete filelist o --progress: Displays a progress meter for each file . Esta variable tiene un valor por defecto 180. Puede definir manejadores específicos por protocolo con FETCHCOMMAND_HTTP. Comandos para descargar Cuando Portage requiera descargar fuentes. Al definir las variables debe usar \${URI} y \${DISTDIR} para apuntar a la ubicación de las fuentes y la ubicación del directorio distfiles respectivamente. Note que ciertas opciones requeridas con obligatoriedad serán siempre usadas aunque PORTAGE_RSYNC_OPTS no tenga valor asignado.1: Más información acerca de mirrorselect # mirrorselect --help Si su entorno requiere el uso de un servidor proxy. etc. Configuración de rsync Aunque no se puede alterar el comando rsync usado para actualizar el árbol Portage.

Para más información acerca de las ramas de Gentoo.a. define si Portage desactiva el uso de los colores en su salida.1: Más información acerca de nice $ man nice Comportamiento de la salida El valor de NOCOLOR. por ejemplo x86.• PORTAGE_RSYNC_RETRIES defines how many times rsync should try connecting to the mirror pointed to by the SYNC variable before bailing out. For more information on these options and others. El valor de la variable PORTAGE_NICENESS se suma al valor "nice" actual.e.org. Como predeterminada figura la rama estable para su arquitectura. puede aumentar o reducir el valor "nice" con el que ejecuta Portage. Recomendamos que solamente utilice la rama estable. siga leyendo.gentoo. Mezcla de ramales de software 3. This variable defaults to 3. 3.f. El valor por defecto es la rama estable de su plataforma. Características de Portage Puede activar ciertas características de Portage por medio de la variable FEATURES. please read man rsync. 2. Sin embargo si no le importa demasiado la estabilidad y quiere ayudar a Gentoo a través del envío de informes de error a http://bugs. que por defecto es "falso". 2. Para más información acerca de valores "nice". vea el capítulo siguiente. Comportamiento de Portage Manejo de recursos Con la variable PORTAGE_NICENESS. por ejemplo Características de Portage. . Estas han sido discutidas en capítulos previos. Configuración de Gentoo Selección de rama Puede escoger su rama por defecto a través de la variable ACCEPT_KEYWORDS. vea la página man de nice: Listado de Código 6. Utilizando una sola rama La rama estable La variable ACCEPT_KEYWORDS define que rama de programas va a utilizar en su sistema.

añada la categoría del paquete y el nombre si quiere utilizar la rama de pruebas al fichero /etc/portage/package. Tenga cuidado ya que: cuando haya actualizado su sistema para emplear la rama inestable. pero no ha sido probado concienzudamente.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. En este caso se debe utilizar el operador =.accept_keywords para gnumeric app-office/gnumeric Probando versiones específicas Si quiere utilizar una versión específica de algún paquete de la rama de pruebas pero no quiere que portage utiliza esa rama de pruebas para las siguientes versiones. claro). actualizaciones demasiado frecuentes (que dan cómo resultado múltiples compilaciones) o paquetes que no funcionan. puede considerar utilizar la rama de pruebas. . perfectamente. normalmente no hay una manera sencilla de volver a la rama estable (excepto mediante el empleo de copias de seguridad. encontrará que muchos paquetes serán actualizados. para utilizar la rama de pruebas con gnumeric: Listado de Código 2. También puede introducir un rango de versiones con los operadores <=. 3.accept_keywords. ser el primero en descubrir un error en el paquete. Mezclando ramales estable con pruebas La ubicación package. La rama de pruebas es exactamente para eso . <.accept_keywords.pruebas. recomendamos que se quede con la rama probada y estable.1: Configurar la variables ACCEPT_KEYWORDS ACCEPT_KEYWORDS="~x86" Si actualiza su sistema ahora. Para que Portage utilice la rama de pruebas. Para realizar esto. Si no se conoce cómo funciona Gentoo y como resolver los problemas. Por ejemplo. Por ejemplo. añada un ~ delante de su arquitectura.1: Configurar /etc/portage/package. eso significa que los desarrolladores creen que funciona. Podría.b. para seleccionar la rama de pruebas en una arquitectura x86.conf y escriba: Listado de Código 1. Además podría crear un directorio (con este mismo nombre) y situar allí el paquete en un fichero. Si un paquete se encuentra en pruebas. > or >= . gestión del paquete imperfecta (por ejemplo dependencias erróneas). edite /etc/make. se pueden experimentar problemas de estabilidad.La rama de pruebas Si quiere utilizar los programas más recientes. Aunque se debe tener cuidado. puede añadir la versión a package. en cuyo caso puede rellenar un informe para ponerlo en conocimiento de los desarrolladores.

Considérese advertido.unmask Importante: Los desarrolladores de Gentoo no darán soporte al empleo de estos archivos.8.1. Herramientas adicionales de portage 4.unmask: Listado de Código 3. dispatch-conf . añada la versión deseada (normalmente será exactamente la misma línea de profiles) en el fichero /etc/portage/package.8 Nota: Si una entrada en /usr/portage/profiles/package. si es que es un directorio).8 está enmascarado. Cuando un paquete ha sido enmascarado por los desarrolladores de Gentoo y aún así desea utilizarlo a pesar de la razón que se menciona en el fichero package.unmask y/o package.unmask.2.6.2: Utilizar una versión específica de gnumeric =app-office/gnumeric-1. Empleo de paquetes enmascarados La ubicación package. no puede emplear un operador.mask: Listado de Código 3.En cualquier caso. si no quiere que Portage instale otras fuentes del núcleo que no sean gentoosources-2. necesitará desenmascarar únicamente la versión o versiones que realmente necesita.6. puede enmascararlo simplemente añadiendo la línea apropiada a /etc/portage/package. Por favor.1 4. si =net-mail/hotwayd-0. Si lo deja sin información sobre la versión.13: Listado de Código 2.2.mask >sys-kernel/gentoo-sources-2. añada la siguiente línea a package. Por ejemplo. Por favor. tenga cuidado cuando haga esto.mask (situado por defecto en /usr/portage/profiles). lea la sección previa para aprender cómo especificar versiones en package.mask (tanto si es un fichero como si es un directorio y se hace en un fichero dentro de él).2: ejemplo de /etc/portage/package. si añade información sobre una versión.unmask =net-mail/hotwayd-0. En el siguiente ejemplo indicamos a Portage que acepte gnumeric-1.a. La ubicación package.1: /etc/portage/package.mask contiene un rango de versiones de paquete.mask Cuando no quiera que Portage instale un paquete en concreto o una versión específica de un paquete en su sistema. Por ejemplo.c.mask no serán respondidas.unmask (o en un archivo dentro de ese directorio. debe utilizar un operador. puede desenmascararlo añadiendo exactamente la misma línea en package. Las peticiones de soporte relacionadas con package.13 3.8.

Hay que asegurarse de primero editar /etc/dispatch-conf.b.conf y crear el directorio al que hace referencia la variable archive-dir.2: Consultar la página del manual de dispatch-conf $ man dispatch-conf 4. pero proporciona un método de combinación interactivo y también puede realizar actualizaciones triviales de manera automática. que permita editar la configuración actual o que combine los cambios interactivamente. Cuando se utiliza dispatch-conf._cfg0000_<name>. Listado de Código 1. dispatch-conf además dispone de algunas funcionalidades adicionales: • • Automáticamente actualizar el fichero de configuración si las actualizaciones solamente afectan a comentarios Automáticamente actualizar los ficheros de configuración que sólo difieren en la cantidad de espacios en blanco. Pulse u para actualizar (reemplazar) el fichero actual por el nuevo y continuar con el siguiente. si se comete un error en la actualización de un archivo de configuración. consulte la página del manual de dispatch-conf. etc-update no conserva las versiones antiguas de los archivos de configuración. uno por uno. al contrario que dispatch-conf. Listado de Código 1._cfg0000_<name> son generados por Portage cuando intenta sobreescribir un archivo en un directorio protegido por la variable CONFIG_PROTECT. Una vez que se hayan procesado todos los ficheros . editar nuevos archivos de configuración. Sin embargo.dispatch-conf es una herramienta diseñada para combinar los archivos . Esto implica que. Allí se detalla como combinar interactivamente los de configuración actuales y los nuevos. se le puede indicar que deje el archivo de configuración tal cual. se puede regresar a la versión anterior del archivo en cualquier momento. Pulse z para omitir (borrar) el nuevo fichero de configuración y continuar con el siguiente. También se puede pulsar q en cualquier momento. Una vez se ha actualizado el fichero. dispatch-conf guarda las diferencias entre las distintas configuraciones como parches utilizando el sistema de control de versiones RCS. se procesan todos los ficheros de configuración que cambian.1: Ejecutar dispatch-conf # dispatch-conf Cuando se ejecuta dispatch-conf. la versión . Los archivos . etc-update También se puede utilizar etc-update para instalar los ficheros de configuración. comprobar las diferencias entre archivos y mucho más. ni dispone de tantas funcionalidades. que utilice la nueva configuración. dispatch-conf terminará. Para más información. Empleando dispatch-conf. se puede actualizar la configuración mientras se registran todos los cambios realizados. No es tan simple como dispatch-conf.

conf: Listado de Código 2.1: Ejecutar etc-update # etc-update Después de combinar los cambios sencillos. Ha de ser cuidadoso. eb: Editar usando ambas versiones. Por ahora. . Son mostradas dos líneas (la original. Por tanto es muy importante seleccionar primero los ficheros de configuración que no deben ser automáticamente actualizados. indique 1. Para completarlo. introduzca 3.3: Actualizar un fichero de configuración concreto Comienzo de diferencias entre /etc/pear. ya que utilizar etc-update es sensiblemente menos seguro que dispatch-conf. listaremos los comandos que están disponibles durante la combinación interactiva de ambos ficheros. se presentará una lista con los ficheros protegidos que tienen una actualización pendiente.conf 1) Reemplazar el original con la actualización 2) Borrar la actualización. Esto se consigue simplemente indicando el número que aparece a la izquierda del fichero de configuración. Si quiere actualizar su fichero de configuración actual de forma interactiva. cada una decorada con una cabecera. indique 2.4: Comandos disponibles en la combinación interactiva ed: Editar usando ambas versiones.conf y /etc/. Al final se muestran las opciones posibles: Listado de Código 2..conf [.._cfg0000_pear. Si se introduce -3 o -5. manteniendo el original inalterado 3) Combinar interactivamente el original y la actualización 4) Mostrar de nuevo las diferencias Ahora puede ver las diferencias entre los dos ficheros. Como ejemplo. y la nueva propuesta) y un punto indicativo en el cual puede introducir uno de los comandos siguientes: Listado de Código 2._cfg0000_pear. e: Editar una nueva versión. no tiene sentido profundizar más sobre la actualización interactiva. er: Editar usando la versión de la derecha. Si cree que el fichero de configuración actualizado no es necesario. Si cree que el fichero de configuración actualizado puede ser utilizado sin problemas. Listado de Código 2.anterior se habrá eliminado de manera permanente.conf y /etc/. (-1 para salir) (-3 para auto-combinar todos los ficheros restantes) (-5 para auto-combinar SIN usar 'mv -i'): Si se indica -1. el: Editar usando la versión de la izquierda. etc-update terminará y no continuará con el resto.] Fin de diferencias entre /etc/pear. l: Usar la versión de la izquierda. seleccionamos el fichero de configuración /etc/pear. todos los ficheros de configuración listados serán sobreescritos con las nuevas versiones. seleccione el fichero a editar introduciendo el número correspondiente.2: etc-update options Por favor. o no proporciona ninguna información nueva o útil.

r: s: v: q:

Usar la versión de la derecha. Incluir las líneas comunes sin comentarios. Incluir las líneas comunes con comentarios. Salir.

Cuando haya acabado de actualizar los ficheros de configuración importantes, puede actualizar automáticamente el resto. etc-update acabará si no encuentra más ficheros de configuración 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 añadir los nombres de los paquetes que se quiere archivar. Por ejemplo, para archivar curl, orage y procps: Listado de Código 3.1: Ejemplo de uso de quickpkg
# quickpkg curl orage procps

Los paquetes precompilados se almacenarán en $PKGDIR (por defecto /usr/portage/packages/). Los paquetes serán ubicados en $PKGDIR/<category>.

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

Listado de Código 1.2: Excluir todos los juegos en /etc/portage/rsync_excludes Recuerde que esto puede provocar ciertos problemas con las dependencias, ya que paquetes nuevos y aceptados en su sistema pueden depender de otros excluídos. 5.b. Añadiendo Ebuilds no oficiales Definiendo un directorio extensión de Portage (overlay) Puede indicarle a Portage que utilice ebuilds que no están disponibles oficialmente a través 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. Después defina la variable PORTDIR_OVERLAY en /etc/make.conf y haga que apunte al directorio creado previamente. Cuando ahora utilice Portage, éste tendrá en cuenta aquellos ebuilds para no eliminarlos/sobreescribirlos la próxima 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 Guía del Usuario de Overlays de Gentoo, y añada los repositorios que desee con layman -a <overlay-name>. Suponiendo que tiene dos repositorios llamados java (para las ebuilds en desarrollo) y entapps (para aplicaciones desarrolladas en casa para su empresa). Puede actualizar estos repositorios con el comando: Listado de Código 2.1: Usando layman para actualizar todos los repositorios
# layman -S

Para más información sobre el trabajo con extensiones, por favor, lea man layman y la Guía de usuario de layman/overlay. 5.c. Software no mantenido por Portage Utilizando Portage con programas con auto-mantenidos En algunos casos querrá configurar, instalar y mantener programas por sí mismo sin que Portage automatice el proceso, incluso aunque Portage pueda suministrarle esos programas. Conocidos son los casos de las fuentes del kernel y los controladores de nvidia. Puede configurar Portage para que conozca cuando un determinado paquete ha sido instalado manualmente en el sistema. Este proceso recibe el nombre de inyectar y está soportado por Portage a través 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, añada la siguiente línea a /etc/portage/profile/package.provided: Listado de Código 3.1: Línea de ejemplo para package.provided
sys-kernel/gentoo-sources-2.6.11.6

6. Características avanzadas de Portage
6.a. Introducción

Para la mayoría de los usuarios, la información recibida hasta ahora es suficiente para todas sus operaciones en Linux. Sin embargo, Portage es capaz de mucho más; gran parte de sus características están dirigidas a usuarios avanzados o aplicable solo en casos muy particulares. En todo caso, esto es excusa para no documentarlas. Por supuesto que con gran flexibilidad viene una gran lista de casos potenciales. No será posible documentarlos todos aquí. En cambio, esperamos poder enfocarnos en algunas situaciones genéricas que pueden ser modificadas para cumplir las necesidades de cada quien. Si requiere afinamientos o datos más específicos, intente encontrarlos más bien en el WiKi Gentoo. La mayoría, si acaso no todas estas características adicionales puede encontrarlas fácilmente leyendo las páginas del manual de Portage: Listado de Código 1.1: Leyendo las páginas man de Portage
$ man portage $ man make.conf

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

Luego agregamos el rótulo al paquete media-video/mplayer para usar su contenido:

src_configure. fi 6.-) Para usar /etc/portage/bashrc en este caso.). Portage también tiene otra función importante: actualizar el árbol Portage. Para engancharse al proceso emerge. usa un entorno bash en el cual llama las distintas funciones de construcción (como src_prepare. .). PF. En base a los valores de estas variables. No considere que esto sea un CÓMO para aide . Esto puede hacerse para cada emerge (por medio de /etc/portage/bashrc) o con entornos individuales por paquete (con /etc/portage/env. aide --update.. Sin embargo. el entorno bash puede inspeccionar las variables EBUILD_PHASE.2: Contenido de /etc/portage/package.d y asegúrese que esté marcado ejecutable.env media-video/mplayer debug-cflags 6. echo ":: Calling updatedb to update its database". Ejecutando tareas después de --sync La ubicación de /etc/portage/postsync. En el ejemplo usaremos aide (una herramienta para detectar intrusiones) y updatedb (usado por locate). podemos ejecutar pasos adicionales. etc. Listado de Código 3. como expusimos anteriormente). necesitaremos "enganchar" a las funciones postrm (después de borrar archivos) y postinst (después de instalar archivos) porque es cuando los archivos en el sistema de archivos han sido cambiados.Listado de Código 2. pero solo como ejemplo. Para ejecutar tareas después de actualizar el árbol Portage.1: Ejemplo de /etc/portage/bashrc if [ "${EBUILD_PHASE}" == "postinst"] || [ "${EBUILD_PHASE}" == "postrm" ].c. Portage también permite que uno mismo establezca el entorno bash.d. updatedb. coloque el guión dentro de /etc/portage/postsync. then echo ":: Calling aide --update to update its database".d Hasta ahora hemos conversado acerca de engancharnos a procesos del ebuild.. pkg_postinst. La ventaja de usar un entorno bash propio es poder engancharse en el proceso de emerge en cada paso realizado. . Ejemplo: Actualizando bases de datos de archivos En este ejemplo usaremos /etc/portage/bashrc para llamar algunas aplicaciones de bases de datos para asegurar que sus bases de datos estén actualizadas con respecto al sistema. Enganchándose en el proceso del emerge Usando /etc/portage/bashrc y archivos afiliados Al trabajar Portage con los ebuilds. CATEGORY y las variables que siempre están disponibles durante el desarrollo del ebuild (tales como P.

Haciendo caso omiso a la configuración de perfil La ubicación de /etc/portage/profile De manera predeterminada. Aplicando parches no normados Usando epatch_user Para manejar varios ebuilds similarmente.Ejemplo: ejecutar eix-update Aunque no haya usado eix-sync para actualizar el árbol. Al usar /etc/portage/profile. Listado de Código 4. Ejemplo: Agregar nfs-utils al conjunto system Si usa sistemas de archivo NFS en sistemas de archivos críticos.f. deberá escribir un guión que llame a /usr/bin/eixupdate. Si crea un enlace simbólico a eix que no sea eix-update. El binario eix puede averigua cómo ha sido llamado y deduce qué función debe ejecutar. Gentoo usa la configuración del perfil apuntado por /etc/make. todavía puede actualizar su base de datos después de ejecutar la orden emerge --sync (o emerge-webrsync)) colocando un enlace simbólico a /usr/bin/eix llamado eix-update en /etc/portage/postsync. en el directorio que encuentre primero.1: Ejecutando eix-update luego de un sync # ln -s /usr/bin/eix /etc/portage/postsync. 6. los desarrolladores de ebuilds usan eclasses (especie de librerías al nivel del intérprete de comandos) que definen funciones comunes.eclass que ofrece una interesante función de nombre epatch_user. tal vez quiera "proteger" al paquete net-fs/nfs-utils para que forme parte de system. virtuals (paquetes predeterminados al emerger un paquete virtual) y más. agregamos el paquete a /etc/portage/profile/packages.profile (un enlace simbólico al directorio del perfil correcto).d. Para hacer esto. no se ejecutará correctamente. Lamentablemente no todos los ebuilds llaman . tales como packages (los paquetes considerados parte del conjunto system).d/eix-update Nota: Si prefiere usar otro nombre. lo cual ocasionará fuertes advertencias por parte de Portage en caso que se tratara de borrar. antecedido por un *: Listado de Código 5. Una de estas eclasses es eutils.1: Contenido de /etc/portage/profile/packages *net-fs/nfs-utils 6. Estos perfiles definen configuraciones específicas al igual que hereda configuraciones de otros perfiles (por medio de su archivo parent). La función epatch_user aplica parches encontrados en /etc/portage/patches/<category>/<package>[-<version>[-<revision>]] al código fuente. podemos hacer caso omiso de las configuraciones de perfil.e.

0" routes_eth0="default via 192.7 netmask 255.168. necesitamos que el sistema RC (runlevel scripts o initscripts) de Gentoo la reconozca. wlan0. Todas las interfaces de red son configuradas en /etc/conf.168. Comenzando Nota: Este documento asume que se tiene correctamente configurado el núcleo. coloque el parche en /etc/portage/patches/www-client/firefox (probablemente sea mejor usar el nombre completo.168. los módulos para su hardware y que conoce el nombre de su interfaz hardware. Con suerte. se puede llamar esta función para enganchar a. Si necesita parchear firefox (en caso que un desarrollador requiera soporte de un fallo que haya reportado). así que el solo hecho de colocar el parche en esta ubicación no implica que funcione siempre.automáticamente a esta función.1: Crear el enlace simbólico net.1" . por ejemplo. Para comenzar a configurar su tarjeta de red.d/net # Para DHCP config_eth0="dhcp" # Para IP estática usando notación CIDR config_eth0="192.d Listado de Código 1. de manera que no hace falta sustituir nada en particular.lo # cd /etc/init. pero aplicará los parches una sola vez. D.255.lo net.eth0 El sistema RC de Gentoo ahora conoce la interfaz.eth0 apuntando a net. La función puede ser llamada cuantas veces lo desee. Configuración de Redes en Gentoo 1.lo a net.0.0.eth0 en /etc/init. con la información proporcionada arriba.0.d/net. También asumiremos que se está configurando eth0. incluyendo la versión para que el parche no interfiera con versiones) y vuelva a construir firefox. Iniciándonos 1. la fase prepare. Ejemplo: Aplicando parches a Firefox El paquete www-client/firefox es uno de los pocos que llaman a epatch_user desde el ebuild. pero podría tratarse de eth1.0.168. A continuación se muestra un ejemplo de configuración para DHCP y direcciones estáticas: Listado de Código 1. etc.1" # Para IP estática usando notación de máscara de red config_eth0="192.7/24" routes_eth0="default via 192. Esto se hace creando un enlace simbólico desde net.d # ln -s net. También necesita saber cómo configurar la nueva interfaz.255.2: Ejemplos de /etc/conf.a.

encontrará información almacenada en este archivo de registro acerca de las actividades al arrancar. las direcciones IPv4 fueron clasificadas en A. Configuración Avanzada La variable config_eth0 es el corazón de la configuración de una interfaz. una dirección IPv4 o IPv6 Añade la dirección a la interfaz Ejecuta el módulo que proporciona el comando. El último comando "rc" indica a Gentoo que inicie todos los guiones en el nivel de ejecución actual que no hayan sido iniciados ya.eth0 default # rc 2.adsl o apipa (o un ejemplo dhcp ejecutará un módulo que proporcione dhcp. o C.Nota: Si no especifica una configuración para la interfaz entonces se asume el uso de DHCP. un comando funciona. Listado de Código 1. échele una mirada a /var/log/rc.d/net. . Esta clasificación temprana no tuvo en cuenta la gran popularidad que obtendría Internet.4: Configurando una interfaz de red para que inicie en el arranque # rc-update add net. La interfaz será evaluada como OK si.168. Aquí tiene cómo hacerlo.5: Comenzar y detener los guiones de red # /etc/init. Configuración Avanzada 2. por ejemplo: 192. Una dirección IP CIDR es igual que una dirección IP normal excepto que termina con una barra invertida seguida de un número. Ahora que ya hemos configurado nuestra interfaz. A no ser que haya configurado rc_logger="NO" en /etc/rc. un módulo de terceras partes) dhclient o pump.a. CIDR es un esquema de direccionamiento que permite que una dirección IP designe muchas direcciones IP. al menos. Aquí tiene una lista de instrucciones integradas: Comando null Descripción No hace nada Si la interfaz está funcionando y existe una dirección noop entonces aborta la configuración con éxito. Nota: CIDR (Classless InterDomain Routing) Originariamente.d/net.eth0 start # /etc/init. Por dhcp. B.0.0/16. podemos iniciarla o detenerla utilizando los siguientes comandos: Listado de Código 2. Ahora que ya ha iniciado y detenido la interfaz de red. comando propio perteneciente a que pudiera ser uno cualquiera de los siguientes: dhcpcd.eth0 stop Importante: Cuando esté solucionando problemas con la red.log. Es una lista de instrucciones de alto nivel para configurar la interfaz (eth0 en este caso).conf. y ahora corre el riesgo de no tener suficientes direcciones únicas. CIDR se describe en RFC 1519. Cada comando en la lista de instrucciones se ejecuta de manera secuencial. quizá quiera que comience automáticamente cuando Gentoo arranca.

En otras palabras. entonces la dependencia de "net" se considera cumplida al momento de estar activo al menos uno de los interfaces de red. . se crean alias de interfaz para cada dirección extra.b.168. 2. Aquí se muestran algunos ejemplo reales: Listado de Código 1.4/24" # Añadir una dirección IPv4 y dos IPv6 config_eth0="192. Todos los interfaces de red en el sistema de inicio de Gentoo proporcionan algo llamado net. ambos deben estar activados. el comando apipa solamente se ejecutaría si el comando noop falla. Esto no puede hacerse en /etc/init.0. entonces asignar otra vía DHCP.168.conf. De esta manera los dos ejemplos anteriores tendrán interfaces eth0.eth0 y net. Si está configurado rc_depend_strict="YES" en /etc/rc.eth0 y net.0. de net (red).2/24 4321:0:1:2:3:4:567:89ab 4321:0:1:2:3:4:567:89ac" # Mantener la dirección asignada por el kernel.br0 ya que es un enlaces simbólico a net.eth1 y un guión de inicio depende de "net".1: Ejemplos de configuración # Añadir tres direcciones IPv4 config_eth0="192. Nota: APIPA y DHCP serán tratados más adelante.2/24 192. entonces todos los interfaces de red que proporcionen net deben estar activos antes que pueda considerarse cumplida la dependencia en "net".168.br0 depende de net. Dependencias de red Los guiones en /etc/init.eth1 podría ser un dispositivo wireless o ppp que necesita configurarse antes de añadirse al puente.d/net. eth0:1 y eth0:2. Importante: ¡La orden de retorno es importante! Si no especificamos la opción null.eth1? net. Por otro lado.168. El retorno tiene que coincidir exactamente con la estructura de la configuración. No se puede hacer nada especial con estas interfaces ya que el kernel y otros programas simplemente tratan eth0:1 y eth0:2 como eth0. simplemente. Si DHCP falla entonces añadir una dirección estática determinada mediante APIPA config_eth0="noop dhcp" fallback_eth0="null apipa" Nota: Cuando se utiliza el módulo ifconfig y se añade más de una dirección.0. ¿y qué pasa si net.0. Puede encadenar estos comandos. a menos que la interfaz se caiga.lo.d pueden depender de una interfaz de red específica o.3/24 192.Si un comando falla. Pero. puede especificar un comando de retorno (fallback). si tienen los interfaces net. si está configurado rc_depend_strict="NO".

los puntos de acceso wireless pueden tener nombres con caracteres no alfanuméricos .br0 está funcionando. consulte la sección Guiones de Inicio en el manual de Gentoo. Los guiones de inicio de Gentoo utilizan una dependencia virtual llamada net para informar al sistema cuando está disponible la conexión a red. Deberemos utilizar ESSID My "\ NET: Listado de Código 3. ". De hecho. Para hacer la vida un poco más interesante. Sin embargo.' y \.br0 en /etc/conf.La respuesta es definir nuestra propia requerimiento rc_need_ en /etc/conf. no cuando lo están las otras. algunas interfaces definidas por el usuario como pueden ser puentes puede tener cualquier nombre.d/net: Listado de Código 2. A continuación tenemos una lista de caracteres especiales que necesitamos indicar de esta manera. 2. Normalmente sigue la estructura variable_$ {interface|mac|essid|apmac}.eth1" Lo anterior no es suficiente. También.1: Ejemplo de nombre para la variable (Esto funciona. En este ejemplo utilizamos ESSID wireless ya que puede contener un amplio abanico de caracteres. Se puede encontrar más información acerca de /etc/rc.d/net Listado de Código 2.esto es importante porque puede configurar los parámetros de red por ESSID. muchas interfaces wireless tienen nombres como wlanx. Nombre de variables y valores Los nombre de variables son dinámicos. Otra desventaja de bash es el contenido de las variables .1: Dependencia de net.y bash no puede utilizar nada fuera de caracteres alfanuméricos ingleses. como foo. La desventaja de todo esto es que Gentoo usa variables bash para la red .algunos caracteres necesitan especificarse de manera especial. pero el dominio no es válido) dns_domain_My____NET="My \"\\ NET" (Lo que hay arriba configura el dominio dns a My "\ NET cuando una . 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".conf en los comentarios dentro del propio archivo.eth0 net. rax o ethx. Claramente.c. en el caso de arriba la conexión a red debería marcarse como disponible cuando net. Para solucionar esta limitación cambiamos cada carácter que no sea alfanumérico inglés por un carácter _.d/net rc_need_br0="net.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 más detallada sobre dependencias. no hay ninguna regla que indique que los nombre de las interfaces sean ethx. Por lo que tenemos que indicar también esto en /etc/conf. Esto se hace utilizando \ delante del carácter. Por ejemplo.

Por defecto se instala ifconfig (el paquete net-tools es parte del perfil system). Lo ideal sería que solamente use la configuración con módulos si tiene dos o más paquetes que proporcionen el mismo servicio y necesita marcar su preferencia de uno sobre los otros. El paquete iproute2 es más poderoso y flexible.0.2: Ejemplos de ifconfig e iproute2 config_eth0="192.1: Preferencias en los módulos # Preferir ifconfig sobre iproute2 modules="ifconfig" # También se puede especificar otros módulos para una interfaz # En este caso preferimos a udhcpc sobre dhcpcd modules_eth0="pump" # También podemos especificar módulos que no queremos utilizar # por ejemplo. Los ejemplos a continuación funcionarán sin importar cuál módulo tenga instalado. Trabajo Modular con Redes 3. Si especifica un modulo aquí que no tiene su paquete instalado. Hará falta uno de estos para cualquier tipo de configuración de red. nos permitimos usar la misma configuración básica para ambos. Listado de Código 2. entonces obtendrá un error acerca del paquete que necesita instalar. son almacenadas en /etc/conf. Listado de Código 1.2/24" . Módulos de Red Ahora tenemos soporte para guiones de red.d/net a menos que se especifique lo contrario. debe hacer: modules="ifconfig" Ya que ifconfig e iproute2 hacen cosas muy parecidas. puede querer utilizar un suplicante o linux-wlang-ng # para controlar la configuración inalámbrica.tarjeta wireless se conecta a un AP cuyo ESSID es My "\ NET) 3.168. Nota: Todas las configuraciones que aquí se comentan.a. Manejadores de interfaces Proporcionamos dos manejadores de interfaces: ifconfig e iproute2. pero querer seguir # configurando la red por ESSID asociado.1: Para instalar iproute2 # emerge sys-apps/iproute2 # Para preferir ifconfig sobre iproute2 si ambos están instalados y debido a que openrc # utilizar iproute2. Listado de Código 2. modules="!iwconfig" 3. lo cual significa que podemos fácilmente añadir soporte para nuevos tipos de interfaces y módulos de configuración mientras mantenemos la compatibilidad con los actuales.b. pero no se incluye por defecto. Los módulos se cargan por defecto si el paquete que los requiere está instalado.

no depende de se convierte en demonio cuando el dhcpcd misc/dhcpcd herramientas externas. no netGentoo."(cambie "module" por el nombre del módulo dhcp que vaya a utilizar .0.255.suelta la dirección IP para ser re-utilizada rnodns .0. Tratamos que el servicio DHCP sea relativamente agnóstico.168. Muy configurable envía el nombre de host por defecto.. no se puede obtener servidores de NIS desde DHCP. etc) de un servidor DHCP. Gentoo.255" 3. Ya no es mantenido por los desarrolladores.168. de manera que soportamos los siguientes comandos usando la variable dhcp_eth0. Si existe un servidor DHCP en su red. u otros si hacen falta antes de poder utilizar DHCP.0.conf .168.168.por ejemplo: dhcpcd_eth0). el ppp. utilizaremos dhcpcd por defecto.255.conf rnontp . • • • release. no depende de pump especialmente a través de modems. apenas tendrá que decirle a cada cliente que utilice DHCP y el servidor se encargará de configurar el resto. tendrá que configurar otras cosas la red inalámbrica.c.2 netmask 255.2/24 brd 192. dhcpcd o pump. servidores DNS. utilizamos module_eth0=". la misma nethinchado. no dns BIND. hará falta especificar cuál utilizar .aquí tiene un pequeño resumen: Módulo Paquete DHCP Pros Contras Configuración excesivamente complicada.168.no sobre-escriba el /etc/ntp. Si tiene más de un cliente DHCP instalado. Por defecto no se configuran ninguno de ellos.0. misc/pump herramientas externas.255" config_eth0="192.. etc. software bastante Creado por la ISC. Por supuesto. no se puede obtener dhclient gente que hacen el software misc/dhcp servidores NTP desde DHCP. Durante largo tiempo ha sido la opción por defecto de Puede ser un poco lento a veces. puerta de enlace. Para enviar opciones específicas al módulo dhcp. si está disponible.0.no sobre-escriba el /etc/resolv.2 netmask 255.sino. arrendamiento de la dirección es activamente desarrollada por infinito.0 broadcast 192. DHCP El DHCP es un medio para obtener información de red (dirección IP.255. Cada módulo DHCP tiene sus propios pros y contras .255.config_eth0="192. no es fiable netLigero.0" # También podemos especificar la dirección de difusión config_eth0="192. DHCP puede ser proporcionado por: dhclient.

lo /etc/init.eth0" También puede configurar su password en /etc/ppp/pap-secrets.• rnonis .2: Crear los guiones para PPP y ethernet # ln -s /etc/init. Ahora necesitamos configurar /etc/conf.conf Listado de Código 3.eth0 Asegúrese de configurar rc_depend_strict a "YES" en /etc/conf.d/net.1: Instalar el paquete rp-pppoe # emerge net-dialup/ppp Segundo. ADSL con PPPoE/PPPoA Primero necesitamos instalar el software ADSL. Listado de Código 4.lo /etc/init.d/net.ppp0 # ln -s /etc/init.4: Ejemplo /etc/ppp/pap-secrets .d/net.d/rc.d.3: Una configuración básica PPPoE config_eth0=null (Especifique su intefaz ethernet) config_ppp0="ppp" link_ppp0="eth0" (Especifique su interfaz ethernet) plugins_ppp0="pppoe" username_ppp0='user' password_ppp0='password' pppd_ppp0=" noauth defaultroute usepeerdns holdoff 3 child-timeout 60 lcp-echo-interval 15 lcp-echo-failure 3 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp" rc_need_ppp0="net. 3.d/net. Listado de Código 4.no sobre-escriba el /etc/yp.d/net. cree el guión de red PPP y el guión de red para la interfaz ethernet que se utilizará con PPP: Listado de Código 4. Listado de Código 4.d/net # Solamente necesita hacerlo si tiene más de un módulo instalado modules="dhcpcd" config_eth0="dhcp" dhcpcd_eth0="-t 10" # Espera agotada (timeout) después de 10 segundos dhcp_eth0="release nodns nontp nonis" # Solamente obtenga la dirección IP Nota: dhcpcd y dpump envían el nombre de máquina al servidor DHCP por defecto así que no necesita especificarlo más.1: Ejemplo de configuración DHCP en /etc/conf.

en inglés) para que las aplicaciones vean solo uno. Bonding Para unir enlaces con bonding/trunking haga emerge net-misc/ifenslave. se asigna esa dirección al interfaz.d/net # Intentar DHCP primero .3-r1/net. Listado de Código 6. ya que podría requerir configuración adicional rc_need_bond0="net.eth0 net.8.0.# Ojo: el * es importante "nombre-usuario" * "contraseña" Si utiliza PPPoE con un modem USB necesitará instalar br2684ctl. 1.1: Configuración del bonding en /etc/conf. El "bonding" se utiliza para aumentar el ancho de banda hacia la red.255 haciendo arping a direcciones aleatorias en ese rango para el interfaz. Para soporte APIPA. haga emerge net-misc/iputils o net-analyzer/arping. Puentes (soporte para 802. lea /usr/portage/net-dialup/speedtouch-usb/files/README para conseguir la información de cómo configurarlo adecuadamente.eth1 net. Por supuesto. Importante: Por favor.254. aunque en realidad use ambos interfaces. Si no se obtiene respuesta.1d) . Esto es útil solamente en redes donde no hay servidor DHCP y no hay conexión directa al Internet y que todos los demás computadores también usen APIPA. eth1 y eth2. Contiene muchas explicaciones mucho más detalladas de las configuraciones que su instalación PPP podría necesitar.e.example. Si tiene dos interfaces que van a usar la misma red. puede unirlos (bond. Por favor.d/net Para unir dos interfaces slaves_bond0="eth0 eth1 eth2" # Tal vez no quiera asignarle dirección IP al interfaz conjunto config_bond0="null" # Depende de eth0.255.g.eth2" } 3. Listado de Código 5.bz2. lea con detenimiento la sección sobre ADSL y PPP en /usr/share/doc/openrc-0.1: Configuración de APIPA en /etc/conf. entonces usar APIPA config_eth0="dhcp" fallback_eth0="apipa" # Usar únicamente APIPA config_eth0="apipa" 3.f.0-169. cambie 0.8.y si falla. APIPA Direccionamiento Privado Automático (Automatic Private IP Addressing) APIPA intenta encontrar una dirección libre en el rango 169.254.3-r1 a la versión de OpenRC que esté instalada en su sistema.

0. déle una dirección al puente .para esto puede usar DHCP también config_br0="192.para más 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. Listado de Código 8. inalámbrica). puede tener un servidor conectando al internet vía modem ADSL y una tarjeta inalámbrica para que otros computadores se conecten al internet por medio del modem ADSL. Dirección MAC Si lo requiere. 3.1/24" # Depend de eth0 y eth1 ya que pueden requerir configuración adicional rc_need_br0="net.d/net # Configure el puente . cobre. haga emerge net-misc/bridge-utils. Por ejemplo. # para todos los proveedores mac_eth0="random-anykind" # Generación completamente aleatoria # ADVERTENCIA: algunas direcciones MAC generadas de esta manera # tal vez NO se comporten de la forma esperada mac_eth0="random-full" 3. inalámbrica).Para soportar puentes. también puede cambiar la dirección MAC de los interfaces por medio del archivo de configuración de red.1: Configurar un puente en /etc/conf. # para todos los proveedores mac_eth0="random-samekind" # Para cambiar aleatoriamente entre cualquier tipo físico de # conexión (por ejemplo fibra óptica.eth1" } Importante: Para usar algunas configuraciones de puente. cobre. Listado de Código 7. Haciendo túneles .1: Ejemplo de cambio de una dirección MAC # Establecer una dirección 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 conexión # físicamente iguales (por ejemplo: fibra óptica. tal vez tenga que consultar la documentación de Configuración por medio de variables.168. Se puede crear un puente para unir ambos interfaces. Los puentes se usan para unir redes.eth0 net.h.i.

16.1 key 0xffffffff ttl 255" # Para túneles IPIP iptunnel_vpn0="mode ipip remote 207.170.82. Hay dos formas de realizar esta configuración: clientes gráficos y la línea de comandos.0.j.1q) Para soporte VLAN.0" config_vlan2="172.d/net # Para túneles GRE iptunnel_vpn0="mode gre remote 207.3.1 netmask 255. una vea haya instalado un entorno de escritorio.aunque no lo estén.255. normalmente se configuran de forma fácil.2 peer 192.1: Configuración de túneles en /etc/conf.168. como wicd y NetworkManager. Miembros de una VLAN solo pueden ver miembros de la misma VLAN.82.254.2.0" Importante: Para usar algunas configuraciones de VLAN.254. son bastante autoexplicativos. tal vez haga falta consultar la documentación de Configuración por medio de variables. La forma más fácil es usar el cliente gráfico. Ofrecen una interfaz del tipo apuntar y hacer clic que le conectan a una red en cuestión de segundos.1 netmask 255. VLAN (soporte para 802. Introducción Las redes inalámbricas en Linux.2 ttl 255" # Para configurar el interfaz config_vpn0="192.1" 3.No se requiere hacer emerge de paquete alguno para túneles. Puede obtenerla haciendo emerge de wicd con el ajuste USE ncurses activado. Esta utilidad wicd-curses es particularmente útil para aquéllos que no usan un entrono de . Listado de Código 9. 4.168. Nota: wicd ofrece una utilidad de línea de comandos además de la interfaz gráfica principal.1: Configuración de VLANs en /etc/conf. haga emerge net-misc/vconfig.d/net # Especificar los números 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" # También se puede configurar la VLAN # vea la página man de vconfig para más 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. aunque no compartan la misma red física.170.a. ya que el manejador del interfaz se encarga de esto. Las redes virtuales son un grupo de dispositivos de red que se comportan como si estuviesen conectados a un solo segmento de red . La mayoría de clientes gráficos.1. Redes Inalámbricas 4. Listado de Código 10.16.255.

Para un listado de los controladores soportados. Puede configurar una red inalámbrica usando la línea de comandos. Aviso: Actualmente el controlador linux-wlan-ng no está soportado por baselayout. Además. Lo importante a recordar es que puede configurar las redes locales de forma global. actualmente. WPA Supplicant WPA Supplicant es un paquete que le permite conectarse a puntos de acceso habilitados con WPA. Ya que los clientes gráficos son en su mayoría autoexplicativos (con capturas de pantalla útiles en sus páginas oficiales).d/net para elegir wpa_supplicant sobre wireless-tools (si ambos están instalados. instalando wirelesstools o wpa_supplicant. ejecute echo "net-wireless/wpa_supplicant qt4" >> /etc/portage/package. Esto es debido a que linux-wlan-ng tiene su propia configuración que es completamente diferente a las demás. 4.2: Configurar /etc/conf. Cuando esto suceda. pero no puede conectarse a PAs (puntos de acceso) con WPA solamente. Esto toma un poco más de tiempo. Listado de Código 2. nos centraremos en las alternativas de línea de comandos. wireless-tools será usado por defecto).escritorio basado en gtk. Nota: Dependiendo de sus ajustes USE. puede configurar la red inalámbrica con la línea de comandos.b. pero quieren una herramienta de línea de comandos fácil que no requiere configuración a mano de los ficheros. Listado de Código 2.use como root antes de hacer emerge de wpa_supplicant.d/net para wpa_supplicant # Preferimos wpa_supplicant sobre wireless-tools modules="wpa_supplicant" # Es importante decirle a wpa_supplicant cuál controlador . La mejor opción es wpa_supplicant. pero también requiere de menos paquetes que descargar e instalar. no dependiendo de la interfaz. Los wireless-tools soportan casi todas las tarjetas y controladores. Sin embargo. Ahora debemos configurar /etc/conf. que se integrará de forma adecuada con KDE. wpa_supplicant puede instalar una interfaz gráfica escrita en Qt4. Para obtenerla.config para comprobar si lo tiene activado en su núcleo. editando unos pocos ficheros de configuración.1: Instalación 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/. podremos utilizar linux-wlan-ng con baselayout. Si sus redes ofrecen únicamente cifrado WEP o están completamente abiertas. puede que prefiera la simpleza de wireless-tools. wpa_supplicant sólo puede conectarse a SSIDs para los cuales haya sido configurado. si no quiere usar un cliente gráfico. Se rumorea que los desarrolladores de linux-wlan-ng están pensando en cambiar su configuración a wireless-tools. lea la página de wpa_supplicant.

1X) .d/net. a riesgo que no funcione ctrl_interface=/var/run/wpa_supplicant # Asegúrese que sólo root puede leer la configuración de WPA ctrl_interface_group=0 # Permítale a wpa_supplicant encargarse del barrido y selección de los PA ap_scan=1 # Caso sencillo: WPA-PSK. ¿verdad? Sin embargo.1X) network={ ssid="prueba-noencriptada" key_mgmt=NONE } # Conexión con clave WEP compartida (sin WPA. dependiendo de cuán seguros son los PAs a los cuales tratamos de conectarnos. # permitiendo todas las encriptaciones válidas network={ ssid="sencillo" psk="contraseña-frase muy secreta" # A mayor prioridad. que es algo más difícil. A continuación mostramos un ejemplo simplificado del archivo /etc/wpa_supplicant. Se aceptada cualquier encriptación válida network={ ssid="ejemplo" proto=WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP WEP104 WEP40 psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb priority=2 } # Conexión sin encriptar (sin WPA. Para esto puede usar iwconfig_eth0="mode managed" en /etc/conf.# debemos usar ya que todavía no adivina bien wpa_supplicant_eth0="-Dmadwifi" Nota: Si está usando el controlador host-ap. o IEEE 802. pero barriendo por un SSID # específico (para los PAs que rechazan transmitir el SSID) network={ ssid="segundo ssid" scan_ssid=1 psk="contraseña-frase muy secreta" priority=2 } # Solamente estamos usando WPA-PSK.conf # No cambie la siguiente línea. hará falta colocar el interfaz en modalidad gestión (Managed mode) antes de poder usarlo correctamente con wpa_supplicant. PSK como contraseña-frase ASCII. parte del paquete wpa_supplicant. Eso fue sencillo. o IEEE 802.example.conf. Listado de Código 2.3: Un ejemplo de /etc/wpa_supplicant. más rápido nos conectaremos priority=5 } # Igual que el ejemplo anterior. todavía nos queda configurar wpa_supplicant.

d/net # Prefiera iwconfig sobre wpa_supplicant .c. también es el más prevalente.d/net.11 network={ ssid="prueba-estatica-wep2" key_mgmt=NONE wep_key0="abcde" wep_key1=0102030405 wep_key2="1234567890123" wep_tx_keyidx=0 priority=5 auth_alg=SHARED } # Red IBSS/ad-hoc con WPA-None/TKIP network={ ssid="prueba adhoc" mode=1 proto=WPA key_mgmt=WPA-NONE pairwise=NONE group=TKIP psk="contraseña-frase secreta" } 4. esta guía le recomienda hacerlo en /etc/conf. Listado de Código 3. Aunque WEP es un sistema de seguridad débil.d/wireless. Algo para mantener presente es que ninguna configuración significa "conectarse al punto de acceso sin encriptación que tenga la señal más fuerte" . Listado de Código 3. o IEEE 802.de manera que siempre tratará de conectarse con lo que sea.1X) # usando autentificación con clave compartida IEEE 802.2: Configuración ejemplo con iwconfig en /etc/conf.1: Instalar wireless-tools # emerge net-wireless/wireless-tools Nota: Aunque pueda almacenar su configuración inalámbrica en /etc/conf. El archivo ejemplo de configuración a continuación deberá describir todo lo requerido. La configuración de Wireless Tools es controlado por algunas variables principales. Wireless Tools Configuración inicial y modo manejado Los Wireless Tools proveen una manera genérica para configurar los interfaces inalámbricos básicos hasta el nivel de seguridad WEP.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 } # Conexión con clave WEP compartida (sin WPA. Importante: Hará falta consultar la documentación acerca de nombres de variables.

Sigue una tabla de valores y como estos ejercen este control.solo tratar forcepreferredonly de conectar a cada uno en orden (obligar a cualquiera) Igual que forcepreferred y además se conecta a forceany cualquier otro disponible Finalmente podemos hacer una lista negra de PAs (blacklist_aps) y seleccionar un único PA (unique_ap). unique_ap es un valor si o no (yes o no) que determina si un segundo interfaz inalámbrico se puede conectar al mismo punto de acceso que el primer interfaz.3: Ejemplo de blacklist_aps y de unique_ap # A veces nunca queremos conectarnos a algunos PAs blacklist_aps="'ESSID3' 'ESSID4'" . si falla todo lo configurado y nos podemos conectar a un PA no encriptado. Esto puede ser controlado con la variable associate_order (orden asociado). pero normalmente esto no hace falta. 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. blacklist_aps funciona de manera similar a preferred_aps. así que hará falta definir # un orden de preferencia para conectarse preferred_aps="'ESSID1' 'ESSID2'" Afinamiento en la selección de puntos de acceso Puede agregar opciones adicionales para afinar la selección de puntos de acceso. Listado de Código 3. # A veces se registra más de un PA. Valor any Descripción (cualquiera) Comportamiento por defecto (solo preferidos) Solamente nos conectaremos a PAs visibles en la preferredonly lista de preferidos (obligado a preferidos) Nos conectaremos obligatoriamente a los PAs forcepreferred en el orden preferido aunque no se encuentren en un barrido (solamente preferidos obligados) No barrer buscando PAs . Puede decidirse si conectarse solamente a PAs preferidos o no.modules="iwconfig" # Configure las claves WEP para los PAs ESSID1 y ESSID2 # Pueden configurarse hasta 4 claves WEP. Por defecto. entonces se hará. pero solo una puede # estar activa a la vez. # porque sino es una clave HEX # # enc open especifica seguridad abierta (máxima 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 continuación solo funcionan una vez que se # haya barrido para los PAs disponibles.

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 algún PA en modo manejado. En caso de duda. ad-hoc o master # No todos los manejadores soportan todos los modos mode_eth0="ad-hoc" # Establezca el ESSID del interfaz # En modo manejado. los canales 1-13 para la mayor parte de Europa. es el canal 3 por defecto.5: Ejemplo de configuración ad-hoc/master # Establezca el modo . Listado de Código 3. puede hacerlo también. por favor refiérase a la documentación que acompaña la tarjeta o el PA.# Si tiene más de una tarjeta inalámbrica. Para las tarjetas vendidas en Norteamérica y la mayor parte de Europa. Solucionando problemas con Wireless Tools Existen más variables que sirven para ayudar a configurar y operar una red inalámbrica por problemas ambientales o del manejador.4: Usar modo ad-hoc en caso de no conectar en modo manejado adhoc_essid_eth0="This Adhoc Node" Y ¿qué tal conectarse a redes Ad-Hoc o funcionar en modo Master para convertirse en PA? ¡Aquí tenemos una configuración justo para eso! Tal vez tenga que especificar alguna clave WEP como se muestra arriba.que puede ser manejado (por defecto). Variable iwconfig_eth0 iwpriv_eth0 Valor por Descripción defecto Vea la página man de iwconfig para detalles acerca de qué enviar a iwconfig Vea la página man de iwpriv para detalles acerca de qué . los canales 10-13 para Francia y sólo el canal 14 para el Japón. Listado de Código 3. en Francia el 11 y en el Japón es el 14. 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 continuación citamos la documentación wavelan de BSD encontrado en la documentación de NetBSD Existen 14 canales posibles. Asegúrese que el canal que selecciona es el mismo del PA (o de la otra tarjeta en caso de ser red ad-hoc). Aquí presentamos una tabla de otras cosas para intentar. Se nos informa que los canales 111 son legales para Norteamérica .

168.0.d.dominio" dns_search_domains_ESSID1="busque.255" routes_ESSID1="default via 192.3/24 brd 192. 4.1 192.168. De hecho.3.1 192. si falla el barrido. Algunos manejadores no resetean el nivel de calidad cuando pierden la señal o intentan asociarse. Consulte la página man de iwpriv para más detalles.dominio" # Reemplace usando la dirección 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. Importante: Necesitará consultar la documentación variable name. intente configurar aquí como ad-hoc. casi todas las variables de módulo pueden cambiarse por ESSID. Envía algunos comandos iwpriv al interfaz antes del barrido. Vea la página man de iwpriv para más detalles. se utiliza DHCP.2" 5. Nota: Esto funciona sin importar si usa WPA Supplicant o Wireless Tools.3.168.0. quality y all.dominio busque. A continuación mostramos cómo se hace.sleep_scan_eth0 sleep_associate_eth0 0 5 associate_test_eth0 MAC scan_mode_eth0 iwpriv_scan_pre_eth0 iwpriv_scan_post_eth0 enviar a iwpriv La cantidad en segundos a dormir antes de intentar un barrido. Listado de Código 4.enaquel.eneste. Agregando Funcionalidad .0. así que. La cantidad en segundos a esperar para que el interfaz se asocie con el PA antes de continuar al siguiente. La configuraciones válidas son MAC.168.2" dns_domain_ESSID1="algun. Definiendo la configuración de la red por ESSID A veces.168.1: Reemplazar configuración de red por ESSID config_ESSID1="192.1" config_ESSID2="dhcp" fallback_ESSID2="192.4/24" fallback_route_ESSID2="default via 192. Algunos manejadores tienen que hacer el barrido en modo ad-hoc. Envía algunos comandos iwpriv al interfaz después del barrido.1" # Podemos definir servidores DNS y otras cosas también # NOTA: DHCP reemplazará esta configuración si no se le pide que no lo haga dns_servers_ESSID1="192.0.0. Esto hace falta cuando el manejador/firmware requiere de más tiempo para activarse antes de poder usarlos.168.168.168. se necesita una dirección IP estática cuando se conecta a un ESSID1 y cuando lo hace a ESSID2.168.0. Algunos manejadores no resetean la dirección MAC asociada a una inválida cuando pierden la señal o intentan asociarse.0.

se detendrá la configuración del interfaz. Otra posibilidad # sería enviar un correo cada vez que la interfaz se conecta. de arranque/parada. return 0 } . que pueden ser llamadas antes o después de las operaciones start/stop. # Aquí la tiene en caso de que todavía quiera utilizarla. 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 función podría utilizarse. si # especifica una función predown() sobreescribirá está regla. Los valores de retorno de las funciones postup() y postdown() serán ignorados. de manera que una función puede controlar múltiples interfaces.a.d/net... ${IFVAR} es ${IFACE} convertido a un nombre de variable válido según bash.1: Ejemplo de funciones pre/post up/down preup() { # Comprobación del enlace de la interfaz antes de activarla. Si preup devuelve un valor no-cero. aborting configuration" return 1 fi # Recordamos devolver cero si todo fue correcto return 0 } predown() { # Por defecto en el guión de inicio se comprueba si # el sistema (root) está montado por NFS y en ese caso no permitir # que las interfaces se desactiven.3. por ejemplo. ya que no hay nada que hacer si hay indicación de algún fallo. no se permite que el interfaz continúe desconfigurándose. Si predown devuelve un valor no-cero. Los valores de retorno de las funciones preup y predown deben ser cero (éxito) indicando que la configuración o la des-configuración de los interfaces pueden continuar. if ethtool ${IFACE} | grep -q 'Link detected: no'. if is_net_fs /. Listado de Código 1. ${IFACE} es el interfaz que será encendido/apagado. Tenga en cuenta que. Sus nombres se componen empezando con el nombre de interfaz. then ewarn "No link on ${IFACE}. Puntos de enlace standard en las funciones Se pueden definir cuatro funciones en /etc/conf. # Esto solamente funciona con algunos interfaces de red y necesita # que el paquete ethtool este instalado. para # registrarse en un servicio dinámico de DNS.

d/net que se ejecutan antes y después de la función asociada referida.postdown() { # Esta función está aquí mayormente para redondear . ya que $ {ESSIDVAR} es ${ESSID}. Se pueden definir dos funciones en /etc/conf..example. El valor retornado por la función preassociate() debe ser 0 (éxito) para indicar que la configuración o desconfiguración del interfaz puede continuar.bz2. Si la función preassociate() retorna un valor no-cero. Listado de Código 2.b.-) return 0 } Nota: Para mayor información acerca de escribir sus propias funciones. se interrumpirá la configuración del interfaz. then if [[ ! -x /opt/cisco/bin/leapscript ]]. then ewarn "Login Failed for ${user}" return 1 fi fi return 0 } . agradecemos lea /usr/share/doc/openrc-*/net. ya que no hay nada que hacer si llegase a indicarse una falla. El valor retornado por la función postassociate() se ignora. then eend "For LEAP support. # corremos el guión LEAP de CISCO. convertido a un nombre de variable permitido por bash. Aún no hemos pensado en algo interesante que pueda hacer .. 5. A ${ESSID} se le asigna el ESSID exacto del PA al cual se está conectando. local user pass eval user=\"\$\{leap_user_${ESSIDVAR}\}\" eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\" if [[ -n ${user} && -n ${pass} ]]. de manera que la misma función puede controlar múltiples interfaces. please emerge netmisc/cisco-aironet-client-utils" return 1 fi einfo "Waiting for LEAP Authentication on \"$ {ESSID//\\\\//}\"" if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'.pero las variables ${ESSID} y $ {ESSIDVAR} están disponibles en la función postup().d/net preassociate() { # A continuación se agregan 2 variables # de configuración leap_user_ESSID y leap_pass_ESSID. Cuando # ambos estén configurados para el ESSID al que se conectan. Estas funciones se nombran antecediéndole el nombre del interfaz. Puntos de enlace para las herramientas inalámbricas Nota: Esto no funcionará con WPA suplicante .2: Funciones pre/post asociación en /etc/conf.

1: Instalar ifplugd # emerge sys-apps/ifplugd La configuración de ifplugd es bastante clara. También puede gestionar la detección asociándose a un punto de acceso o cuando uno nuevo entra dentro del radio de detección. puede consultar más ejemplos en /usr/share/doc/openrc*/net.bz2. puede querer que la red funcione automáticamente cuando un cable ethernet se conecte o se encuentre un punto de acceso. Listado de Código 2.-) } return 0 Nota: Las variables ${ESSID} y ${ESSIDVAR} no están disponibles en las funciones predown() y postdown(). Nota: Para mayor información acerca de cómo escribir sus propias funciones.b. Además. ifplugd ifplugd es un demonio que arranca y para las interfaces de red cuando un cable se conecta o se desconecta. El archivo de configuración se encuentra en /etc/conf.a." (Para monitorizar una interfaz wireless) ifplugd_eth0="--api-mode=wlan" Además. para manejar múltiples conexiones de red. no siempre tendrá un cable ethernet conectado o un punto de acceso disponible. 6. También. Nota: Esto documento solamente tiene habla sobre ifplugd. Ejecute man ifplugd para obtener más detalles sobre las variables disponibles. 6. # aunque no he pensado en algo interesante para hacer acá # todavía . cosa que muchas veces no es así.d/net.example. Listado de Código 2.3: Instalar openresolv . pero confía en que tus controladores de red del núcleo funcionen correctamente. Simplemente instale openresolv.2: Ejemplo de configuración de ifplug (Sustituya eth0 con la interfaz que quiera monitorizar) ifplugd_eth0=". Listado de Código 2. agradecemos lea /usr/share/doc/openrc-*/net.. pero hay alternativas como netplub. Aquí se encuentran algunas herramientas que puede ayudar a gestionar esto.. Manejo de Redes 6.example.. netplug es una alternativa ligera a ifplugd. Es realmente útil cuando se recibe la dirección IP via DHCP. quizá quiera instalar una herramienta que facilita el trabajo con múltiples configuraciones y servidores DNS.. Gestión de la red Si el ordenador está en continuo movimiento.postassociate() { # Esta función existe mayormente para completar .bz2.

FreeBSD realmente comparte muchas similitudes con las distribuciones de Linux en general. por lo tanto es usado en pequeñas y hasta en las más grandes compañías de todo el mundo. La versión actual de producción de FreeBSD es la 7. sparc64 y alpha. normalmente conocido por correr en un gran número de arquitecturas y FreeBSD que soporta las arquitecturas x86. cuyo objetivo es proporcionar un sistema operativo FreeBSD completo con características propias del diseño de Gentoo Linux. Introducción a FreeBSD ¿Qué es FreeBSD? FreeBSD es un Sistema Operativo libre estilo Unix (vea la licencia). está registrado bajo los términos de la licencia CC-BY-SA-2. Sin embargo. tiene algunas diferencias claves que son dignas de señalar: . FreeBSD y Linux Los usuarios que migran desde Linux a FreeBSD normalmente consideran a los dos sistemas operativos "casi lo mismo". rendimiento y seguridad. Se aplican las Pautas de Utilización del logo y nombre de Gentoo.1. a no ser que se especifique expresamente. FreeBSD tiene fama por su estabilidad.5.2 y las versiones anteriores de Gentoo/FreeBSD están descontinuadas y ya no tienen soporte.# emerge openresolv Consulte man resolvconf para aprender más cosas sobre sus características. tales como el sistema de inicio (init) y el sistema de gestión de paquetes Portage. nacieron dos proyectos: NetBSD. Gentoo/FreeBSD está basado en la versión 6. De hecho. 1. El contenido de este documento. ¿Qué es Gentoo/FreeBSD? Gentoo/FreeBSD es un subproyecto del Proyecto Gentoo/Alt (Gentoo en plataformas alternativas). De regreso a 1993 cuando el desarrollo de 386BSD se detuvo. amd64. ia64.

Esta guía describirá como usar el LiveCD FreeSBIE como medio de instalación para Gentoo/FreeBSD. FreeBSD basa el nombre del interfaz en el nombre del manejador del interfaz. finalmente es hora de instalar Gentoo/FreeBSD. arranque desde el CD para comenzar el proceso de instalación. No obstante. primera tarjeta de red). Algunas de ellas son muy importantes de conocer. por ejemplo. ejecute sudo su para convertirse en el usuario root y opcionalmente cree su clave. FreeBSD usa UFS/UFS-2 como sus sistemas de archivos y no tiene soporte oficial para. apto para navegar en la red. ReiserFS o XFS. 2. use ifconfig: Listado de Código 2. Ya es posible acceder a particiones ext2/ext3 pero no puede instalar su sistema en ellas. el manejador para el interfaz Intel EtherExpress (fxp) aparece como fxp0 (manejador fxp. Nota: Si tiene intención de usar FreeSBIE para instalar Gentoo/FreeBSD.1: Averiguando el interfaz de red con ifconfig . Instalando Gentoo/FreeBSD Arrancando el CD Luego de esta breve introducción. Primero.0 (o una versión candidata previa al lanzamiento). Si desea pasar el tiempo durante la instalación. por favor asegúrese de utilizar una versión basada en FreeBSD 6. Este enfoque de desarrollo hace muy consistente el sistema global. Para ver cuál es su interfaz. FreeBSD por su parte es un sistema operativo completo. El primero sería usar una instalación existente de FreeBSD para particionar su disco duro y usarla como base para instalar Gentoo/FreeBSD. El nombre de usuario que debe ingresar es freesbie y no requiere clave. hacer chat con AIM y demás. Por ejemplo. En cambio se enlazan contra libc. FreeBSD también posee algunas diferencias técnicas que lo distinguen de Linux. como FreeSBIE 2. A diferencia de Linux. que consiste de una biblioteca C. puede ejecutar startx para entrar en un entorno gráfico Xfce. que en realidad se refiere solo al núcleo. hay proyectos para añadir soporte de solo lectura para esos sistemas de archivos. Luego. así que debe elegir entre dos métodos alternativos. Se puede descargar del tracker Bittorrent de FreeSBIE. Además. incluso si no tiene intenciones de unirse al esfuerzo de desarrollo de Gentoo/FreeBSD: • • • Para obtener las funciones de enlazado dinámico en tiempo de ejecución como dlopen().• • A diferencia de Linux. FreeBSD no tiene una herramienta oficial para la compilación del núcleo. por lo tanto tendrá que solucionar por si mismo las dependencias de características. A diferencia de Linux. el desarrollo de FreeBSD no está liderado por una persona sino que es administrado por un pequeño grupo de personas llamados el Equipo Central (Core Team). Desafortunadamente carecemos de nuestro propio medio de instalación. herramientas del espacio del usuario (userland tools) y mucho más. los programas no necesitan estar enlazados contra libidl como pasa en GNU/Linux.x. Se le presentará una pantalla de login.

1 bound to 192. pero con parámetros diferentes: Listado de Código 2.MULTICAST> mtu 1500 options=8<VLAN_MTU> inet6 fe80::2d0::b7ff:febc:4fe3%fxp0 prefixlen 64 scopeid 0x1 inet 192.255. Después viene la definición de los tamaños de las particiones y los puntos de montaje.0. Particionando el disco Ahora que tenemos un punto de montaje.168.106 netmask 0xffffff00 broadcast 192. Generalmente. La siguiente pantalla presentará una opción de gestor de arranque.0. para la cual escoja la opción "None".255.168. Pulse intro en la caja de diálogo.2: Obteniendo una dirección con DHCP usando dhclient # dhclient fxp0 DHCPDISCOVER on fxp0 to 255.255.255 ether 00:d0:b7:bc:4f:e3 media: Ethernet autoselect (100baseTX <full-duplex>) status: active lo0: flags=8007<LOOPBACK.MULTICAST> mtu 16384 Si la petición original de DHCP durante el arranque ha fallado.RUNNING.0. basada en su red. deberá desactivar los "soft-updates" o sino ¡el sistema no arrancará! Para hacer esto use las flechas del teclado para navegar a la partición recién creada y pulse la tecla s hasta que "Newfs" no contenga +S.4: Usando sysinstall para configurar las particiones y puntos de montaje # sysinstall diskLabelEditor diskLabelCommit Aquí no aprovecharemos la disposición automática de particionamiento y crearemos una gran partición raíz y una de intercambio.BROADCAST. ya que estaremos instalándolo más adelante. luego pulse a seguido por q para aceptar la disposición por defecto. Escoja SWAP como tipo de partición . usando MB/GB para especificar tamaños o C para especificar cilindros.0. escoja FS para el tipo de partición y configure el punto de montaje como /mnt/. podrá usar el comando dhclient para obtener un número IP: Listado de Código 2. coloque el tamaño. Ahora navegue con las flechas hasta iluminar la línea "Disk" y pulse la tecla c de nuevo para crear una partición de intercambio.# ifconfig fxp0: flags=8843<UP.255 port 67 DHCPACK from 192. recomendamos una partición del doble de la memoria RAM disponible. es hora de particionar el disco duro.0. ¡sobreescribirá el entorno de FreeSBIE! Como /boot no será una partición separada.168. En la caja de diálogo. Esto se hace con el comando sysinstall: Listado de Código 2.168. El siguiente paso también usa sysinstall.3: Ejecutando el comando sysinstall para particionar el disco # sysinstall diskPartitionEditor diskPartitionWrite Recomendamos usar el patrón por defecto de particiones.255 port 67 interval 9 DHCPOFFER from 192. Si no coloca el punto de montaje.1 DHCPREQUEST on fxp0 to 255. Para la partición raíz.255.106 -.SIMPLEX.168. Pulse c para crear una nueva partición.renewal in 302400 seconds Nota: La salida presentada aquí podría ser distinta.

. local) Ahora que hemos montado la partición. ya que no aplican a este tipo de partición. Por favor. Configuración de Gentoo Primero debemos descargar un archivo stage3 comprimido y desempaquetarlo en el chroot. de otra forma el comando no funcionará.2-r1.org/experimental/x86/freebsd/stages/stage3x86-freebsd-6. descargue la imagen más reciente y desempaquétela en el punto de montaje: Listado de Código 2. así que pulse q para concluir el proceso. También montará el disco en el punto de montaje especificado anteriormente (/mnt/). Al escoger un punto de montaje diferente a / para la partición.2-r1. Puede verificar que funcionó ejecutando mount: Listado de Código 2.tar.bz2 (Puede borrar el tarball con el siguiente comando si lo desea) # rm stage3-x86-freebsd-6.bz2 # tar -jxvpf stage3-x86-freebsd-6.7: Obtener y descomprimir un tarball con stage3 # cd /mnt/ (También funcionará cualquier otro servidor réplica de Gentoo que tenga el directorio "experimental") # wget http://distfiles.tar. pero que al mismo tiempo. Listado de Código 2. desde la cual el gestor de arranque no podrá arrancar. sysinstall creará una partición 'd'. /dev/ad0s1a on /mnt (ufs..gentoo. Para arreglar esto.org/experimental/x86/freebsd/stages/.tar.5: Arreglando la letra de la partición raíz # disklabel ad0s1 | sed 's/^ /dev/stdin d:/ a:/' | disklabel -R ad0s1 Con esto concluye el proceso de particionamiento y formatea el disco en UFS para ser utilizada por FreeBSD.bz2 Nota: Si desea.2-r1. asegúrese que ad0s1 esté desmontada antes de ejecutar el siguiente comando.y no se preocupe por los "soft-updates". Apunte el navegador a http://distfiles. ejecute: Nota: Por favor. hará falta montar el sistema de archivos /dev del sistema anfitrión al punto de montaje correspondiente en el Gentoo/FreeBSD antes de continuar con el entorno enjaulado.6: Verificando el montaje de las particiones con mount # mount . es hora de comenzar con la configuración de Gentoo. Por favor note que el overlay no es imprescindible y se puede fácilmente instalar y usar Gentoo/FreeBSD sin usarlo. Listado de Código 2. Ahora hemos terminado.8: Montando el sistema de archivos /dev y entrando al chroot . vea la documentación del overlay Gentoo/ALT. puede usar el "overlay" transicional con ebuilds semi-experimentales y parches que todavía no se están en el árbol principal de Portage. permite mayor amplitud en lo que respecta paquetes soportados. Para que la instalación funcione.gentoo.

# # # # mount -t devfs none /mnt/dev/ cp /etc/resolv. asegúrese de agregar al menos las siguientes líneas:) CHOST="i686-gentoo-freebsd6.org/snapshots/portage-latest.bz2 # tar -xjf portage-latest. ahora puede recompilar los paquetes centrales del sistema. Si lo desea.accept_keywords para probar paquetes y reportar los que funcionen a través del Bugzilla. el cual.profile al perfil correcto y preparar el /etc/make. pero. Ahora debe obtener una copia del árbol principal de Portage de Gentoo.1: Ajustando la fecha y hora UTC (Revise el reloj) # date Mon Mar 6 00:14:13 UTC 2006 (Ajuste la fecha y hora actual si es necesario) # date 200603060016 (El formato es yyyymmddHHMM) Mon Mar 6 00:16:00 UTC 2006 Luego ajuste su zona horaria usando el listado correcto en /usr/share/zoneinfo. Listado de Código 3. le pedimos por favor no coloque ~x86 en ACCEPT_KEYWORDS.conf (Por favor. Más bien. dependiendo de su conexión. Configurando el arranque Configurando la zona horaria Primero asegúrese que la fecha y la hora estén correctos.bz2 -C /usr/ # emerge --metadata Listado de Código 2. Listado de Código 2. Use la hora UTC.conf # ln -sf /usr/portage/profiles/default-bsd/fbsd/6.profile # nano /etc/make.tar. podría tomar bastante tiempo.2/x86/ /etc/make.2" FEATURES="collision-protect" Nota: La palabra clave ~x86-fbsd todavía no cubre completamente el mismo árbol que ~x86.2: Ajustando la zona horaria # ls /usr/share/zoneinfo .11: Recompilar los paquetes centrales de FreeBSD (opcional) # emerge -e system 3.gentoo. Listado de Código 3.conf para Gentoo/FreeBSD.10: Configurar el perfil y editar /etc/make.conf /mnt/etc/ chroot /mnt/ /bin/bash env-update && source /etc/profile Después de obtener el overlay Gentoo/FreeBSD es hora de enlazar /etc/make. Listado de Código 2.tar.9: Obtener el árbol Portage # emerge --sync (También es posible obtener el árbol Portage de otra forma:) # cd / # wget http://distfiles. use /etc/portage/package. usando date aaaammddHHMM.

El archivo GENERIC es similar al .hints /boot/device. config usa el archivo dado (en este caso GENERIC) para copiar todos los archivos requeridos a un directorio compile en el directorio padre. Si saltó este paso puede obtenerlas así: Listado de Código 3.hints. copie el archivo GENERIC.7: Copiando el archivo GENERIC.8: Configurando la construcción del núcleo .3: Editar /etc/timezone # nano -w /etc/timezone Europe/Brussels Instalación del núcleo Si ejecutó emerge -e system. lo animamos a que le dé una mirada al capítulo 8 del manual de FreeBSD. podemos ver varias arquitecturas y subdirectorios para distintas partes del núcleo.cvsignore GENERIC DEFAULTS GENERIC. Listado de Código 3. así que. como ajustes IRQ. note que actualmente ¡solo está soportada la forma "Tradicional" de compilar el núcleo en Gentoo/FreeBSD! Listado de Código 3.config para el núcleo Linux. Como será necesitado para la instalación del núcleo.hints Makefile NOTES PAE SMP Los principales archivos a notar son GENERIC y GENERIC.hints Este archivo es usado por los manejadores del núcleo para obtener información básica de configuración. las fuentes del núcleo de FreeBSD se instalaron en el directorio /usr/src/sys. Ejecute config para producir el directorio de construcción del núcleo: Listado de Código 3. si no está familiarizado con el proceso.5: Ingresando al directorio de fuentes del núcleo # cd /usr/src/sys/ Examinando la disposición.4: Obtener las fuentes del núcleo de FreeBSD # emerge freebsd-sources El configurar y compilar un núcleo personalizado es bastante diferente que hacerlo en Linux.hints a /boot/device. Importante: Por favor.(Usando a Bruselas como ejemplo) # cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime # date Wed Mar 8 00:46:05 CET 2006 Edite /etc/timezone para definir la zona horaria utilizada previamente.hints # cp GENERIC.hints: Listado de Código 3. Ahora ha llegado el momento de configurar el núcleo. FreeBSD usa el comando config para hacer esto. Para comenzar la instalación.6: El directorio de configuración del núcleo # cd i386/conf/ # ls . nos dirigimos al directorio i386/conf/: Listado de Código 3.

para configurar la partición de la siguiente manera: Listado de Código 3. Ahora necesitamos configurar el gestor de arranque para que el núcleo arranque. el cual es el método preferido por los que vienen desde Linux. En el siguiente capítulo discutiremos dos métodos de configurar el gestor de arranque: boot0 y grub.97-r1 de grub. make depend'' config ha creado un directorio para construir un núcleo GENERIC para nosotros en el directorio padre. Recuerde reemplazar adXsY con el verdadero número y partición del disco. Configurando el gestor de arranque (boot0) Importante: boot0 es el gestor de arranque de FreeBSD. Listado de Código 3. Para instalar y configurar boot0.. Ahora debemos hacer algunas configuraciones y ajustes básicos. ejecute el siguiente comando. Esto permite que usemos grub como nuestro gestor de arranque. Previamente era el único soportado. Para empezar. las particiones UFS pueden ser leídas por grub. Listado de Código 3.12: Configurando grub (Esto se hace para prevenir el "disk error 29") . por favor consulte el capítulo 12 del manual FreeBSD. hasta la introducción de grub en el sistema ports con soporte para particiones UFS.10: Instalando y configurando boot0 # emerge boot0 (Salga del entorno enjaulado) # exit (Ejecutado desde afuera del chroot) # fdisk -B -b /mnt/boot/boot0 /dev/adX # chroot /mnt/ /bin/bash # disklabel -B adXsY Si requiere más información acerca de la configuración de boot0./compile/GENERIC # make cleandepend && make depend && make && make install Esto producirá un núcleo completo con el cual trabajar.9: Construir e instalar el núcleo # cd . veremos como usar el gestor de arranque alternativo.# config GENERIC Kernel build directory is . grub. hagamos emerge grub y configuremos la partición como arrancable../compile/GENERIC Don't forget to ''make cleandepend. En la siguiente sección. Entre con cd y ejecute lo siguiente para llevar a cabo la construcción: Listado de Código 3. Configurando el gestor de arranque (grub) A partir de la versión 0.11: Instalando grub # emerge grub # disklabel -B adXsY Ahora ejecute grub y obtenga una línea de comando. Recuerde reemplazar adXsY con el verdadero número y partición del disco.

.conf Al arrancar por primera vez. Aviso: Grub no sigue los enlaces simbólicos de UFS. yes Running "embed /boot/grub/ufs2_stage1_5 (hd0)". data=0x3a000. Si es así. yes Checking if "/boot/grub/stage2" exists. así que asegúrese de borrar el enlace /boot/grub/menu.# sysctl kern.conf: Listado de Código 3. 14 sectors are embedded.mountfrom="ufs:ad0s1d"' >> /boot/loader.0..lst".out. loadaddr=0x200000.0.. Configuración del sistema Primero.root. vamos a configurar los puntos de montaje de los sistemas de archivos en /etc/fstab. Listado de Código 3.. agregue una línea con vfs. ejecute esto en la línea de comando: Listado de Código 3. succeeded Done.mountfrom al archivo /boot/loader.0. bss=0x0. tal vez no reciba un menú grub. succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+14 p (hd0..geom.conf).d) Filesystem type is ufs2. text=0x1000. grub> quit Para hacer que el cargador ubique el núcleo en una partición en específico (por defecto busca la 'a'). entry=0x200000] grub> boot Nota: Para más información acerca de la configuración de grub. por favor consulte el Manual Gentoo Linux. partition type 0xa5 grub> setup (hd0) Checking if "/boot/grub/stage1" exists.lst para configurar a (no se hace uso de grub.lst y usar el archivo menu.15: Editar el sistema de archivos en /etc/fstab # nano /etc/fstab (Esto es un ejemplo..13: Digámosle al cargador dónde buscar el núcleo # echo 'vfs..d)/boot/grub/stage 2 /boot/grub/menu...debugflags=16 # grub (Ejemplo usando ad0s1d) grub> root (hd0.) #Device Mountpoint Fstype Options Dump Pass .0.root. yes Checking if "/boot/grub/ufs2_stage1_5" exists.d)/boot/loader [FreeBSD-a.14: Arrancando el núcleo sin menú grub> find /boot/grub/stage1 (La salida es lo que usaremos en el siguiente comando) (hd0..d) grub> kernel (hd0. reemplace X e Y con los números correctos para su disco duro.

d/domainname (Ajuste la variable dns_domain al nombre del dominio y lo al de la red local) dns_domain_lo="homenetwork" Si tiene un dominio NIS.20: Cambiar la disposición del teclado (Opcional) # nano /etc/conf.d/domainname: Listado de Código 3. así que tendrá que ajustarlo si quiere usar otro. Puede encontrar toda la información necesaria para configurar la red en el Manual Gentoo.19: Configurar el nombre de dominio NIS # nano /etc/conf.d/syscons. agréguelo al nivel de ejecución por defecto: Listado de Código 3.d/domainname: Listado de Código 3. ./dev/adXsYb 0 /dev/adXsYa 1 /dev/adXsYe 2 /dev/adXsYd 2 /dev/acdX 0 none / /usr/home /tmp /cdrom swap ufs ufs ufs cd9660 sw rw rw rw ro. El siguiente ejemplo usa la disposición para el idioma castellano. lo que se hace en el archivo /etc/conf.17: Ajustar el nombre de la computadora # nano /etc/conf. Listado de Código 3.acc" (Los mapas de teclado disponibles se encuentran en /usr/share/syscons/keymaps).noauto 0 1 2 2 0 Ahora también sería bueno ajustar la conexión de red antes de reiniciar. consulte el Manual Gentoo y por favor lea la documentación en el archivo /usr/share/doc/openrc*/net.d/hostname.d/syscons KEYMAP="spanish.16: Agregar su tarjeta de red al nivel de ejecución default # rc-update add net. En caso de que necesite usar otra disposición de teclado para su idioma.bz2.iso. debe definirlo en el archivo /etc/conf. por favor.18: Configurar el nombre de dominio # nano /etc/conf. tiene que configurar el valor correcto en /etc/conf.d/domainname (Ajuste la variable nis_domain con su nombre de dominio NIS y lo al de la red local) nis_domain_lo="my-nisdomain" Nota: Para más información acerca de nombres de dominios y redes. Listado de Código 3.d/hostname (Ajuste la variable HOSTNAME con el nombre de su computadora) HOSTNAME="tux" También debería configurar su nombre de dominio.fxp0 default El nombre de su computadora puede ser cambiado en /etc/conf. Para que el interfaz esté activado al arrancar.example.

) Login group [fred]: (Ingrese los grupos. ¡Que se divierta! Listado de Código 3.21: Cambiar la clave del superusuario y agregar un nuevo usuario # passwd # adduser Username: fred Full Name: Fred Smith (Acepte el valor por defecto. pulse Intro. pulse Intro) Lock out the account after creation? [no]: Username : fred Password : ***** Full Name : Fred Smith (Aquí esto podría variar) Uid : 1002 Class : Groups : fred wheel portage Home : /home/fred Shell : /bin/bash Locked : no (Confirme que la información está correcta) OK? (yes/no): yes adduser: INFO: Sucessfully added (fred) to the user database Add another user? (yes/no): no Goodbye! # Felicitaciones. solo pulse Intro.Ahora ajuste la clave para el superusuario root y agregue otra cuenta de usuario para su trabajo diario. pulse Intro en cada uno) User password-based authentication [yes] Use an empty password (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: password goes here Enter password again: retype it (Acepte el valor por defecto. Desarrollando para Gentoo/FreeBSD ¿Cómo ayudar? Hay muchas cosas en las que podría ayudar dependiendo de sus habilidades y tiempo libre: . Invite fred into other groups? []: wheel portage (Acepte el valor por defecto aquí.22: Reiniciar el sistema # exit # reboot 4. Deben existir previamente.) Login group is fred. separados por espacios en blanco.) Uid (Leave empty for default): (Se puede aceptar el valor por defecto acá también. ha finalizado su instalación de Gentoo/FreeBSD y que puede empezar a explorar luego de reiniciar. pulse Intro) Login class [default]: (Es una preferencia personal. Asegúrese que exista en /etc/shells) Shell (sh bash tcsh csh esh ksh zsh sash nologin) [sh] bash (Acepte el valor por defecto aquí. Listado de Código 3.

siempre podemos contar con ayuda en esta área. Otras áreas donde necesitamos ayuda: ebuilds de sistema. Seguridad: si está involucrado en seguridad. observe que muchas de estas preguntas son respondidas en los documentos y guías oficiales de Gentoo. Note que esto no debería involucrar cualquier tipo de correo no solicitado (spamming) en las listas de correo o canales de IRC. Hay otras formas de contactar a los desarrolladores. documentación. creación de CDs de instalación. el canal de IRC #gentoo-bsd en Freenode (irc. Si es bueno describiendo bugs o problemas. entonces definitivamente nos gustaría conocerle. Preguntas Introducción Por favor.• • • • • Trabajar en ebuilds vigentes: esto significa trabajar de cerca con los mantenedores de ebuilds para crear parches o modificar ebuilds de forma que puedan ser aceptados en el árbol principal. Problemas conocidos En este instante todavía hay bastante problemas conocidos. Contacto Se puede encontrar una lista de los desarrolladores de Gentoo/FreeBSD en la página del proyecto. . 5. Ésta es simplemente una lista de preguntas comunes. Por favor. entre ellas. mayor será la cantidad de bugs descubiertos. ¡lo necesitamos! Aunque seguimos y corregimos los anuncios de seguridad del proyecto FreeBSD. Por favor. lea la documentación y/o las páginas man para obtener una mayor comprensión de cómo funciona Gentoo y GNU/Linux y para las respuestas a preguntas que no se responden aquí. Se nombran a continuación los que valen la pena señalar: • Algunos guiones de inicio dependen del servicio de reloj (clock) que no proveemos por ahora. Contactos: necesitamos gente que pueda estar en contacto con desarrolladores de FreeBSD para poder intercambiar parches y discutir problemas varios y sus soluciones. Preguntas de uso frecuente en Gentoo Linux Contenido: 1.net) y también en la lista de correos gentoo-bsd. Testing: cuanto más gente esté usando activamente Gentoo/FreeBSD. lo que nos ayuda a mejorar la calidad del proceso de portar.freenode. recuerde usar el producto "Gentoo/Alt" al momento de enviarlo. hacking del núcleo. Puede eliminarlo de las dependencias en el guión y repórtelo en Bugzilla.

¿qué hago ahora? Mi proxy necesita autenticación ¿qué debo hacer? ¿Cómo grabo un archivo ISO? ¿Qué CD/stage debería utilizar para mi CPU? No puedo conectarme después de reiniciar. ¿Qué sucede? ¿Cómo cambio la contraseña de root (o de cualquier otro usuario)? ¿Cómo puedo añadir un usuario normal? ¿Por qué no puede el usuario convertirse en root con "su"? ¿Puedo actualizar Gentoo de una versión a otra sin reinstalar? Mi núcleo no arranca. y qué significa? ¿Qué hace diferente a Gentoo? Instalación • • • • • • • • • • • • Las cosas son realmente inestables y estoy usando las optimizaciones "-O9 -ffast-math -fomit-frame-pointer". ¿Qué ocurre? Quiero iniciar Windows desde grub o lilo pero solo me aparece la pantalla en negro ¿qué debo hacer? ¿Cómo instalo Gentoo utilizando un Stage1 o Stage2? Administración de Paquetes • • • • • • • ¿De qué manera se almacenan los paquetes? Quiero hacer el paso .Al comienzo • • ¿Cómo se pronuncia Gentoo. ¿Es seguro eliminar estos archivos? ¿Qué hay en /var/tmp/portage? ¿Es seguro borrar los archivos y directorios de /var/tmp/portage? Uso • • • • • ¿Cómo configuro una distribución de teclado internacional? La resolución de nombres DNS funciona solo para el usuario root. etc Desarrollo • ¿Dónde puedo reportar fallos? .cómo solucionarlos. ¿Por qué mi usuario no puede utilizar su propio crontab? ¿Cómo consigo que el bloqueo de números (bloq Num) esté activado al cargarse el sistema? ¿Cómo consigo dejar mi terminal limpio al salir? Mantenimiento • Problemas de corrupción de datos con ReiserFS -. ¿Puedo descargar las fuentes desde algún otro sitio y agregarlas a mi sistema? Los paquetes de fuentes se están acumulando en /usr/portage/distfiles/./configure yo mismo. ¿Puedo? ¿Cómo uso emerge estando detrás de un cortafuegos (firewall)? ¿Qué hago si rsync no me funciona? Dispongo tan solo de una lenta conexión por módem en casa.

y qué significa? Gentoo es una especie de pingüino.• • ¿Con qué frecuencia se realizan nuevos lanzamientos? Mi altavoz pita como loco. ¿Qué hago ahora? 2. Las optimizaciones muy agresivas en ocasiones causan que el compilador modifique el código ensamblador al punto en que ya no sigue haciendo lo mismo. Gentoo está siendo desarrollada actívamente. Proporciona soporte para opciones al compilar (a través de Parámetros USE). Al comienzo ¿Cómo se pronuncia Gentoo. Portage es un sistema de gestión de paquetes que permite gran flexibilidad al instalar y mantener software en un sistema Gentoo. Instalación Las cosas son realmente inestables y estoy usando las optimizaciones "-O9 -ffast-math -fomit-frame-pointer". Tiene el control completo sobre qué paquetes serán o no instalados. El nombre Gentoo fue dado a los pingüinos por los habitantes de las Islas Malvinas. ¿Cómo desactivo los pitidos de la consola? Recursos • • • ¿Dónde puedo encontrar más información sobre Gentoo Linux? ¿Puedo comprar un CD de Gentoo Linux? Este FAQ no ha respondido mi pregunta. Gentoo proporciona numerosas opciones. El nombre científico del pingüino Gentoo es Pygoscelis papua. razón por la cual se conoce a Gentoo como una metadistribución. de manera tal que pueda instalar Gentoo a su preferencia. ¿Qué sucede? No trate de utilizar optimizaciones más altas que -O3 pues no están soportadas por las versiones actuales de gcc. instalación segura (a través de sandboxing) y desinstalación de software. protección de los archivos de configuración entre otras muchas características . cuyo nombre es pronunciado "yen-tú". . resumen previo a la instalación de paquetes. la documentación es actualizada a diario. La distribución entera utiliza un estilo de desarrollo a pasos veloces: los parches a los paquetes son integrados rápidamente al árbol principal. dependencias condicionadas. ¿Qué hace diferente a Gentoo? Gentoo utiliza un sistema de paquetes parecido al sistema ports de BSD llamado Portage. con frecuencia se añaden características a Portage y los lanzamientos de versiones oficiales ocurren dos veces al año. Con Gentoo puede crear su sistema completo desde el código fuente utilizando sus opciones de optimización. perfiles de sistema. 3.

Sin embargo.1: Utilizando useradd # useradd -m -G users. por favor consulte man passwd.wheel usuario Esta orden creará el usuario llamado "usuario". sin embargo. ¿Por qué no puede el usuario convertirse en root con "su"? Por razones de seguridad. La versión Gentoo 1. La opción wheel añade al usuario al grupo wheel. intente compilar utilizando CFLAGS -O2 -march=<su_arch> antes de reportar un error.3. añada la opción --with-bdeps=y. Como root. por lo que es preferible usar: Listado de Código 3. Vea Guía de Actualización Gentoo para más información acerca de perfiles y su papel en las actualizaciones. que lo permite ejecutar la orden su con el que puede obtener privilegios del usuario root. La opción audio lo añade al grupo audio permitiéndolo acceso a dispositivos de sonido. Mi núcleo no arranca. Para actualizar también estos paquetes. no actualiza las dependencias en tiempo de construcción (aquéllos paquetes que son necesarios durante la construcciones pero ya no lo son cuando el software ya está instalado). ¿Cómo cambio la contraseña de root (o de cualquier otro usuario)? Utilice passwd para cambiar la contraseña del usuario que inició la sesión.4 y siguientes están basadas en glibc-2. este método no otorga al usuario muchos de los permisos que tal vez quiera concederle. Las diferencias entre lanzamientos individuales están en el medio de instalación y en los paquetes pre-compilados.2: Añadiendo un usuario al grupo wheel # gpasswd -a username wheel ¿Puedo actualizar Gentoo de una versión a otra sin reinstalar? En realidad. Observe también que la orden emerge -uDN world actualiza los paquetes que tiene instalados en su sistema así como sus dependencias. el ejecutar emerge --sync && emerge -uDN world actualizará el sistema completo al nivel del "último lanzamiento".x (o superior)y como tal. ¿Cómo puedo añadir un usuario normal? La orden useradd usuario añadirá un usuario llamado "usuario". puede cambiar cualquier contraseña de usuario con la orden passwd usuario Para más opciones y configuración. ¿qué hago ahora? . los usuarios solo pueden realizar su hacia root si pertenecen al grupo wheel. ejecute la siguiente orden como root: Listado de Código 3. no existen diferencias entre diferentes lanzamientos una vez que hayan sido instalados.Por favor. Para agregar un usuario al grupo wheel.audio.

4: /etc/make. Grabar CD desde una imagen.org:portnumber" RSYNC_PROXY="rsync://username:password@yourproxybox. Lo siguiente es localizar el archivo ISO y hacer clic en Abrir. Al hacer clic . Mi proxy necesita autenticación ¿qué debo hacer? Para hacer que Portage use este esquema automáticamente.server:portnumber" ¿Cómo grabo un archivo ISO? Necesita grabar el archivo en el modo raw. En cambio. explicarlas todas sería un dilema sisifeano.3: Reconfigurando el núcleo Arranque por medio del CD de Instalación y espere a que aparezca el símbolo de espera de órdenes Primero montaremos todas las particiones: # mount /dev/sda3 /mnt/gentoo # mount /dev/sda1 /mnt/gentoo/boot # swapon /dev/sda2 # mount -t proc none /mnt/gentoo/proc Luego ingresamos al entorno enjaulado (chroot) Gentoo y configuramos el núcleo: # chroot /mnt/gentoo /bin/bash # env-update && source /etc/profile # cd /usr/src/linux # make menuconfig Ahora (de)seleccionamos lo (de)seleccionado erróneamente en el intento previo. Salgamos y compilemos el núcleo: # make && make modules_install Copie el archivo bzImage. ejecute lilo -. defina en /etc/make.No hace falta rehacer cada paso de la instalación. Esto significa que no debe limitarse simplemente a grabar el archivo en el CD. siga los mismos pasos.no es necesario para usuarios de GRUB: # /sbin/lilo Salga del entorno enjaulado y reinicie la máquina. pero el investigar al núcleo y todos los pasos asociados sí es necesario. sobre-escribiendo el anterior: # cp arch/i386/boot/bzImage /boot/<kernel_name> Si usa LILO.conf HTTP_PROXY="http://username:password@yourproxybox.org:portnumber" FTP_PROXY="ftp://username:password@yourproxybox. debe interpretar el archivo como un CD completo.conf: Listado de Código 3. pero en vez de configurar/compilar el núcleo. reconfigure el gestor de arranque (la recompilación no es necesaria). # exit # umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo # reboot Si el problema está en la configuración del gestor de arranque. describir unas cuantas populares nunca hace daño: • Con EasyCD Creator seleccione Archivo. Existen muchas herramientas de grabación de CDs. A continuación cambie Archivos de tipo a Archivos de imagen ISO. Supongamos que ha instalado Gentoo en /dev/sda1 (/boot) y /dev/sda3 (/) con /dev/sda2 como intercambio: Listado de Código 3.

Puede que necesite cargar módulos específicos del núcleo para detectar adecuadamente la tarjeta de red. puede localizar su archivo ISO dentro de el área 'Imagen para grabar'. Por favor. cancele el asistente que se activa automáticamente y seleccione Grabar imagen del menú Grabador.d/modules. Ahora pulse sobre el botón Grabar y observe como su nuevo CD está siendo grabado. utilice un CD/stage "más bajo". simplemente teclee cdrecord dev=/dev/sdc (sustituya /dev/sdc con su ruta de acceso a la unidad CD-RW) seguido de la ruta al archivo ISO :) Con K3B. Si no está seguro. Seleccione la imagen que quiera grabar y haga clic sobre Abrir. Con cdrecord. Si es así. Finalmente haga clic en Comenzar. aunque Google es al menos igual de eficiente :-). ejecute Utilidad de Disco desde Aplicaciones/Utilidades. tal vez haya olvidado hacer emerge dhcpcd. Ejecute ifconfig -a y busque eth0 o wlan0 (en el caso de ciertas tarjetas de red inalámbrica). Con Mac OS X Panther. seleccione el archivo ISO y haga clic en el botón Grabar. Supongamos que es un Pentium-M. asegúrese que dichos módulos estén listados en /etc/conf. Si ha olvidado incluir soporte para su tarjeta de red en el núcleo. seleccione Grabar Imagen desde el menú Archivo. Consulte la guía de gcc para establecer la opción -march. Tal vez necesite consultar la página web del fabricante para esto. selecciona Herramientas > CD > Grabar Imagen de CD. seleccione la imagen montada del disco en la ventana principal y seleccione Grabar en el menú de Imágenes. Con Nero Burning ROM. Esto asegurará de que el sistema funcionará. . ¿Qué ocurre? Primero necesita comprobar si su tarjeta de red es descubierta correctamente por el núcleo. en términos de instrucciones.• • • • • en Comenzar grabación la imagen ISO será correctamente grabada en el CD-R. aunque puede que no sea tan rápido que con mayores optimizaciones. tenga en cuenta que existen muchas más opciones que aquellas que se utilizaron para compilar los stages binarios. por ejemplo i686 o incluso x86 genérico (o equivalente en otra arquitectura). Necesitará reiniciar con el CD de instalación para instalar dhcpcd. Con Mac OS X Jaguar. ejecute Utilidad de Disco desde Aplicaciones/Utilidades. No puedo conectarme después de reiniciar. seleccione Abrir del menú Imágenes. Entonces necesita averiguar qué CPU es. necesitará reconfigurarlo. A continuación. Si el núcleo encuentra la tarjeta de red pero ha configurado la red para usar DHCP. ¿Qué CD/stage debería utilizar para mi CPU? Primero necesita saber cuál CPU está utilizando.

Quiero iniciar Windows desde grub o lilo pero solo me aparece la pantalla en negro ¿qué debo hacer? Éste es un problema conocido.sh . Listado de Código 3. Antes de comenzar el capítulo sobre Configurando el Núcleo. Windows rechaza iniciar cuando no está instalado en el primer disco duro mostrando una pantalla en negro/blanco. Sin embargo.sh # . ejecútelo: Listado de Código 3.sh para adecuarlo a sus necesidades y después.7: Construyendo la base del sistema # cd /usr/portage/scripts # vi bootstrap.0) chainloader +1 other=/dev/sdb1 label=WindowsXP table=/dev/sdb map-drive = 0x80 to = 0x81 map-drive = 0x81 to = 0x80 Listado de Código 3. Para controlar esto. Gentoo todavía proporciona archivos stage1 y stage2.conf title Windows XP map (hd1) (hd0) map (hd0) (hd1) rootnoverify (hd1. Por favor.6: Ejemplo de inicio dual para Windows en lilo. instale desde un stage3. observe que en el ejemplo de abajo Gentoo está instalado en sda (primer disco) y Windows en sdb (segundo disco). Para construir una instalación base del sistema. Necesitaremos una conexión activa a Internet./bootstrap. ¿Cómo instalo Gentoo utilizando un Stage1 o Stage2? El manual Gentoo solamente describe la instalación de Gentoo utilizando un archivo stage3. Esto se hace para propósitos de desarrollo (el equipo a cargo de lanzamientos de Gentoo comienza con un stage1 para obtener un stage3) pero no debería ser empleado por los usuarios: un archivo stage3 puede servir perfectamente para construir la base del sistema.conf Esto le hará creer a Windows que está instalado en el primer disco duro e iniciará sin problemas. Podemos obtener más información en la documentación de GRUB (en inglés) y en man lilo.conf.5: Ejemplo de inicio dual para Windows en grub.La información de cómo recuperar el sistema empleando el CD de instalación también está disponible. Ajuste su configuración como sea necesario. tendrá que "engañar" a Windows haciéndole creer que sí está instalado en el primer disco duro mediante un pequeño arreglo en la configuración de su cargador de arranque. Construir la base del sistema (bootstrapping) significa construir el conjunto de herramientas (las bibliotecas de C y el compilador) para el sistema después de lo cual se instalan todos los paquetes básicos del sistema. modifique el guión bootstrap. dependiendo del gestor de arranque que esté utilizando.

¿Puedo? Sí./configure yo mismo. Vea la sección proxy de este documento para obtener información sobre la descarga de ficheros fuente e imágenes de Portage a través de un proxy. Como el método para hacerlo requiere de buen entendimiento del funcionamiento interno de Portage y sus órdenes. 4. Es posible crear RPMs (ficheros del gestor de paquetes de Redhat) utilizando el sistema portage de Gentoo. el cual es compatible con .bz2 y con meta-información adjuntada al final del fichero. Gentoo proporciona un conjunto de guiones que pueden resolver dependencias. Hace falta compilarlos. Vea el Ebuild HOWTO para mayor información.tbz2 mejorado.Luego recompile todos los paquetes básicos del sistema con el recientemente compilado conjunto de herramientas. obtener código fuente y compilar una versión del paquete de acuerdo a necesidades específicas. Estos se pueden emplear para instalar una versión funcional del paquete (aunque no plenamente optimizada) rápida y eficientemente. El Gentoo Ebuild HOWTO cubre en detalle los contenidos de un guión ebuild. ¿Cómo uso emerge estando detrás de un cortafuegos (firewall)? Vea las preguntas acerca de proxies. Generalmente solo creamos binarios para nuevos lanzamientos e imágenes. Dispongo tan solo de una lenta conexión por módem en casa. ¿Puedo descargar las fuentes desde algún otro sitio y agregarlas a mi sistema? . los paquetes no son realmente "almacenados". Para versiones ISO completas. rsync y descarga manual de ficheros fuente.tar.8: Recompilando los paquetes base del sistema # emerge -e system Ahora puede continuar con Configurando el núcleo. Administración de Paquetes ¿De qué manera se almacenan los paquetes? De por sí. creamos un conjunto completo de paquetes binarios en formato . En su lugar. Quiero hacer el paso . Esto es mucho mejor para el mantenimiento y generalmente más fácil. en su lugar se recomienda que parchee el ebuild para hacer lo que desee y lo coloque en el directorio extensión de Portage (para esto existen los directorios de extensión). ¿Qué hago si rsync no me funciona? Si está detrás de un cortafuego que no permite tráfico de rsync. ya que el stage3 ya los ofrece: Listado de Código 3. entonces puede usar emerge-webrsync que buscará e instalará una imagen de Portage por HTTP. aunque actualmente no es posible utilizar todos los RPMs existentes para instalar paquetes. pero no es trivial ni recomendable. Aunque tenga en cuenta que no podrá utilizar los paquetes GRP.

Por favor. Puede ejecutar emerge --pretend paquete para ver qué programas van a ser instalados. Puede utilizar el guión eclean de app-portage/gentoolkit para controlar el contenido de /usr/portage/distfiles/ y algunos otros sitios. Los paquetes de fuentes se están acumulando en /usr/portage/distfiles/.conf ¿Por qué mi usuario no puede utilizar su propio crontab? . lea man eclean para aprender más acerca de su uso. Sin embargo. Solo para estar seguro. puede ejecutar emerge -fp package. varios ebuilds se publicarán para la misma versión de un componente específico de software. éste es un proceso pesado. aunque a veces esto falla. Los permisos de /etc/resolv. ¿Qué hay en /var/tmp/portage? ¿Es seguro borrar los archivos y directorios de /var/tmp/portage? Durante la compilación.conf son incorrectos. o reiniciar el guión de mapas de teclas y el de consolefont: Listado de Código 5.Por supuesto. puede que también necesite configurar las variables CONSOLETRANSLATION y CONSOLEFONT en su /etc/conf. Normalmente estos ficheros y directorio son eliminados después de una instalación exitosa.d/consolefont restart La resolución de nombres DNS funciona solo para el usuario root. Uso ¿Cómo configuro una distribución de teclado internacional? Edite la variable KEYMAP en /etc/rc. será necesario descargarlo de nuevo de Internet.d/consolefont (para más información sobre la localización del entorno.1: Iniciar el guión de mapas de teclas # /etc/init.d/keymaps restart # /etc/init. esté alerta. así como la Guía de Gentoolkit.2: Cambiando permisos a /etc/resolv. Para tener la consola funcionando correctamente con los caracteres extendidos de su mapa de teclas. haga un chmod así: Listado de Código 5. Luego puede reiniciar el sistema. Para buscar las fuentes de esos paquetes y donde descargarlas. Sin embargo. a menudo. De borrar el fichero y actualizar el software. Es seguro borrar todo el contenido de este directorio si emerge no está en ejecución. Coloque las fuentes en /usr/portage/distfiles/ y luego solo ejecute emerge paquete.conf. consulte nuestra guía de localización). podría ser prudente mantener las versiones más recientes. Gentoo guarda las fuentes del paquete en /var/tmp/portage. ejecute siempre pgrep emerge antes de limpiar este directorio.conf # chmod 0644 /etc/resolv. Descargue las fuentes y tráigalas a casa en cualquier medio. 5. ¿Es seguro eliminar estos archivos? Eliminar estos ficheros no tendrá un efecto negativo en el rendimiento del día a día.

intente arrancar el sistema desde el CD de instalación de Gentoo Linux y ejecute reiserfsck --rebuild-tree sobre el sistema de archivos corrupto. visite el canal #gentoo en el IRC. ¿Cómo consigo que el bloqueo de números (bloq Num) esté activado al cargarse el sistema? Si trabaja en la línea de comandos. haga lo mismo en /etc/skel/. ¿Cómo desactivo los pitidos de la consola? . etc Si su partición ReiserFS está corrompida. revise la sección de ayuda o manuales en línea para obtener asistencia. Las nuevas versiones se anuncian en la lista de correo gentooannounce. Desarrollo ¿Dónde puedo reportar fallos? Utilice nuestro Bugzilla.3: Limpiando el terminal al salir $ echo clear >> ~/.bash_logout: Listado de Código 5.4: Creando nuevos usuarios con el terminal limpio al salir # echo clear >> /etc/skel/. En cuanto a los nuevos lanzamientos de stages/perfiles/ISOs por parte de Gentoo. Si no está seguro de que su problema sea en realidad un bug.cómo solucionarlos. aunque puede haber perdido algunos archivos o directorios debido a la corrupción.bash_logout Si quiere que esto suceda automáticamente cuando añada un nuevo usuario. por favor.Necesita añadir al usuario al grupo cron.d/numlock start. Esto debería hacer el sistema de archivos sea consistente otra vez.bash_logout: Listado de Código 5. Mi altavoz pita como loco. ¿Cómo consigo dejar mi terminal limpio al salir? Para dejar su terminal limpio. Cada GUI proporciona herramientas diferentes para este tipo de cosa. añada clear a su guión ~/. Mantenimiento Problemas de corrupción de datos con ReiserFS -. Vea la pregunta sobre actualización para mayor información. solo ejecute rc-update add numlock default&&/etc/init.bash_logout 6. ¿Con qué frecuencia se realizan nuevos lanzamientos? Los paquetes de Gentoo normalmente se actualizan poco después que sus autores principales publiquen código nuevo. 7. tenga bien revisar nuestra página del proyecto Release Engineering.

Iniciando el CD de Instalación con Smart BootManager . ¿Qué hago ahora? Un buen primer paso sería explorar la documentación relevante. Así que.d/local.gentoo.1: Utilizando setterm # setterm -blength 0 Si quiere desactivar los pitidos de la consola al arrancar debe colocar esta orden en /etc/conf. Este documento servirá para proveerle de un repositorio de técnicas y métodos alternativos para la instalación de Gentoo Linux. Recursos ¿Dónde puedo encontrar más información sobre Gentoo Linux? La documentación oficial de Gentoo puede encontrarse en http://www.org/doc/es/.start. Acerca de este documento Si el método estándar de arranque para la instalación por CD no es posible desde su ordenador (o simplemente no es el que le gusta) ahora tiene ayuda al respecto. si esto falla. También puede encontrar CDs recientes desde diversos vendedores listados en nuestra página Dónde Obtener Gentoo Linux. ¿Puedo comprar un CD de Gentoo Linux? Los CDs de Instalación para todas las arquitecturas soportadas están disponibles en nuestra Tienda Gentoo. esto solo desactiva los pitidos para la terminal actual. de esta forma: Listado de Código 7. por favor. varias listas de correo de Gentoo están listadas en Google.2: Utilizando setterm (bis) # setterm -blength 0 >/dev/vc/1 Reemplace /dev/vc/1 con la terminal cuyos pitidos desea desactivar. así: Listado de Código 7. servirá como medio para publicar su más novedoso método de instalación. Para desactivar los pitidos de los demás terminales. canal #gentoo 1.org foo" para buscar por "foo". Para buscar en las listas de correo de Gentoo ingrese "lists. 2. Sin embargo. O si lo prefiere. por favor considere la posibilidad de comprar en nuestra tienda. Si todo esto falla o solo quiere compartir un rato con otros usuarios de Gentoo visítenos en el irc. Este FAQ no ha respondido mi pregunta. o conoce de alguna otra manera adecuada para instalar Gentoo Linux. Al comprar un CD de nuestra tienda.gentoo. 8. Si posee alguna técnica de instalación. no dude en documentarla y enviarla a Bugzilla. si es posible.Los pitidos de consola pueden ser desactivados con setterm. también está apoyando nuestro desarrollo. redireccione la salida de la orden al terminal de destino. la cual considera útil para sí mismo.

-d /dev/fd0 Listado de Código 2.Descargue Smart BootManager desde http://btmgr. /dev/hda is the first IDE harddisk driver. for Linux: /dev/fd0 is the first floppy driver. Seleccione su CD-ROM y presione ENTER para cargar el CD. Listado de Código 2. -u backup_file uninstall Smart BootManager. como puede observar a continuación.html.sourceforge.net/. por ahora. Sin embargo. in which the theme could us hu ru es pt = = = = = English theme Hungarian theme Russian theme Spanish theme Portuguese theme de zh cz fr = = = = German theme Chinese theme Czech theme French theme -d drv set the drive that you want to install Smart BootManager on. -y # sbminst -t us do not ask any question or warning. continúe con las instrucciones normales de instalación. Compile el programa desde el código o simplemente grabe el archivo binario. 3. Hay varias opciones que pueden utilizarse durante la creación de su disco de arranque. Las versiones en código fuente para linux o formato binario y los . así como muchos packs de idiomas. ya que el código no compila con las nuevas versiones de NASM. Ahora simplemente sitúe el disquete en la disquetera del ordenador si quiere cargar el CD de Instalación. /dev/sda is the first SCSI harddisk driver. así como el CD de Instalación dentro del CD-ROM e inicie el ordenador. should be used alone.exe de windows están disponibles. -c disable CD-ROM booting feature. Puede encontrar más información sobre Smart BootManager en http://btmgr.1: Opciones de Smart BootManager -t theme be: sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file] select the theme to be used.net/download. for DOS: 0 is the first floppy drive 128 is the first hard drive.2: Utilizando sbminst para crear el disco de arranque Nota: Reemplace fd0 por el nombre de su dispositivo de disquetes si fuera distinto. Será recibido por el menú del Smart BootManager. Una vez cargado. el método más adecuado sería utilizar el formato binario.sourceforge. -b backup_file backup the data that will be overwritten for future uninstallation. Instalación con LiveCDs que no son de Gentoo .

Esto permitirá cambiar la contraseña del usuario root para el CD. si esto hiciera falta. A continuación debe crear el punto de montaje /mnt/gentoo. deberá usar una orden tar diferente para asegurar que los IDs de grupo sean creados correctamente en el stage desempacado: Listado de Código 3.bz2 Una vez que haya hecho chroot al entorno desempacado en la parte 6.2: Montando el pseudo sistema de archivos /proc con bind # mount -o bind /proc /mnt/gentoo/proc Cuando esté listo para desempacar el comprimido stage en la parte 5. Existen demasiados LiveCDs para listar. Las instrucciones que proporcionamos aquí deben funcionar en principio con cualquier otro LiveCD. Esto asegurará que las variables de entorno se establezcan de manera correcta. con aplicaciones para la oficina. Oficialmente solo se brinda soporte para LiveCDs Gentoo. pero puede intentarlo con Knoppix.para poder cambiar la contraseña.4: Haciendo chroot al nuevo entorno (Algunos LiveCDs usan una configuración extraña del entorno.tar. Proporciona un entorno gráfico completo. necesitará usar una secuencia diferente de órdenes.1: Creando el punto de montaje /mnt/gentoo # mkdir /mnt/gentoo Llegados a este punto. encontrar los problemas o documentar cada característica en cada LiveCD existente. pueda que necesite hacer uso de un LiveCD diferente.3: Desempacando el comprimido stage # tar --numeric-owner -xvjpf stage3-*. Ahora puede configurar sshd para hacer login de manera remota. así que dependiendo de sus necesidades. lo perderá todo cuando reinicie a Gentoo. Esto le permitirá un entorno funcional mientras compila e instala Gentoo. Aviso: Sepa que si guarda cualquier cosa en el directorio de usuario del LiveCD mientras espera a que se instale su sistema Gentoo. Si encuentra algún problema con medios de instalación alternativos. Listado de Código 3. Es posible iniciar algún otro LiveCD aparte de los que provee Gentoo.Introducción Importante: Los desarrolladores Gentoo no pueden dar soporte si algo ocurre al usar un LiveCD que no sea de Gentoo ya que no hay como arreglarlo. . Knoppix está disponible solo para usuarios de la plataforma x86. por favor visite los Foros Gentoo para asistencia de parte de la comunidad. puede seguir con la instalación normal en la parte 4. sustituya la orden por: Listado de Código 3. ¡Asegúrese de guardar los ficheros importantes en el disco duro o en otro ordenador! Instrucciones de instalación Inicie desde el LiveCD. cuando tenga que montar el sistema proc. Sin embargo. navegadores para la red y juegos para mantenerlo ocupado. Listado de Código 3. Abra una consola y ejecute su .

add.conf lo siguiente: Nota: Esto proporciona una dirección IP estática para el cliente y la ruta imagen de arranque PXE. Cree un directorio llamado /diskless el cual acogerá un directorio para cada cliente sin disco. 4. de los FEATURES opcionales. Instalación sin disco.2: dhcpd. aquí pxegrub. o todas. Después añada en /etc/dhcp/dhcpd. Configuración básica del servidor Crear directorios: lo primero que hay que hacer es crear los directorios donde su sistema sin disco será almacenado. fixed-address ip. ddns-update-style none . Requerimientos Necesitará una tarjeta de red en la máquina cliente que use el protocolo PXE para arrancar. Tenga especialmente cuidado con userpriv y usersandbox. Listado de Código 4.ss. puede ayudar desactivar algunas. filename "/eta/boot/pxegrub".) # chroot /mnt/gentoo /bin/bash # chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash # env-update # source /etc/profile # export PS1="(chroot) $PS1" Finalmente. host eta { hardware ethernet 00:00:00:00:00:00. Si se encuentra con errores. Tendrá que reemplazar la dirección MAC de la tarjeta ethernet del cliente y el directorio donde pondrá los archivos del cliente por los que vaya a usar. Listado de Código 4. como muchas tarjetas 3Com. De aquí en adelante trabajaremos con un cliente llamado 'eta'. option option-150 "/eta/boot/grub. Necesitará también un BIOS que arranque desde PXE. sepa que algunas FEATURES de Portage no funcionarán en el LiveCD. ejecute emerge dhcp (o cualquier otro servidor DHCP de su elección). Asegúrese de que el interfaz correcto está seleccionado en /etc/conf. Para dhcpd.d/dhcpd y configúrelo conforme a sus necesidades.1: Configuración de directorios # mkdir /diskless # mkdir /diskless/eta # mkdir /diskless/eta/boot Configurar DHCP y TFTP: el cliente dará información de arranque utilizando DHCP y descargando todos los archivos requeridos usando TFTP.lst". } .re.conf option option-150 code 150 = text .por eso la opción -i option para ponerlo en un estado razonable. usando el arranque PXE.

6: grub.com eta . realice un emerge app-admin/tftp-hpa. A continuación edito el fichero de configuración grub. Configurar NFS: NFS es bastante fácil de configurar. con el parámetro USE netboot activado. Listado de Código 4.example.168.re.5: Configuración de Grub # # # # echo "sys-boot/grub netboot" >> /etc/portage/package.4: in.3: /etc/conf. ponga lo siguiente: Listado de Código 4.1.Luego configuremos el interfaz en /etc/conf.0. See exports(5). Una vez que GRUB está compilado.d/in. En el archivo /etc/conf. Lo único que debe hacer es añadir una línea en el archivo de configuración /etc/exports: Listado de Código 4.lst. Listado de Código 4.ss:/diskless/eta # Para la opción nfsroot.no_root_squash) Actualice su archivo hosts: una cosa importante que hacer ahora. Vea el archivo /usr/share/doc/openrc-*/net.10 eta.lst default 0 timeout 30 title=Diskless Gentoo root (nd) kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip. es modificar su archivo /etc/hosts para ajustarlo a sus necesidades.bz2 para más información.tftpd.0.d/net (Reemplace eth0 con el interfaz adecuado) config_eth0=( "noop" ) Para TFTP.sync.example.1 localhost 192.8: /etc/hosts 127. /diskless/eta eta(rw.7: /etc/exports # nano -w /etc/exports # /etc/exports: NFS file systems being exported.tftpd INTFTPD_PATH="/diskless" INTFTPD_USER="nobody" INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}" Configurar GRUB: para habilitar arranques PXE utilizo GRUB. Listado de Código 4. copio la imagen PXE al directorio de arranque del cliente sin disco.add.d/net de manera que no pierda la configuración al arrancar.use emerge -av grub cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub nano -w /diskless/eta/boot/grub.lst> Listado de Código 4. la dirección IP es la del servidor y el directorio es en el cual los archivos del cliente sin disco están ubicados (en el servidor).

Siga el procedimiento de instalación estándar como se explica en el Manual de Gentoo PERO con las siguientes diferencias. Listado de Código 4.Bajo "Networking options" : [*] [*] [*] [*] TCP/IP networking IP: kernel level autoconfiguration IP: DHCP support IP: BOOTP support . Aviso: Sea cuidadoso cuando extraiga su tarball stage.com sigma Creando el sistema en el servidor Quizá quiera reiniciar el servidor con un CD de Instalación Gentoo. haga lo siguiente (donde sdaX es la partición en la cual creó el directorio /diskless). Cuando monte el sistema de archivos.Bajo "File systems --> Network File Systems" : <*> NFS file system support [*] Provide NFSv3 client support [*] Root file system on NFS Guarde el núcleo en su / de chroot (no en /boot) de acuerdo con las configuraciones de pxegrub definidas anteriormente. Listado de Código 4. Monte /proc en su directorio /diskless y haga chroot para continuar con la instalación. .9: Montando el sistema de ficheros # mount /dev/sdaX /mnt/gentoo Tarballs stage y chroot: Este ejemplo utiliza el tarball de stage3.20 sigma.1. no olvide habilitar las siguientes opciones junto a las otras recomendadas en el manual de instalación.tar. Listado de Código 4. A continuación. ya que todos los archivos residirán en el directorio /diskless/eta. configure el archivo /etc/fstab de su cliente sin disco. No necesita montar ninguna otra partición.168.example.192.10: Extrayendo el tarball stage # # # # # # # cd /mnt/gentoo/diskless/eta/ tar -xvjpf /mnt/cdrom/gentoo/stage3-*. Después siga el manual de instalación hasta la configuración del núcleo.bz2 mount -t proc /proc /mnt/gentoo/diskless/eta/proc cp /etc/resolv.11: Opciones de menuconfig . no como un módulo!) . No quiere terminar extrayéndolo sobre su instalación existente.conf chroot /mnt/gentoo/diskless/eta/ /bin/bash env-update source /etc/profile Configuración del Núcleo: cuando haga el make menuconfig en su configuración de núcleo. aunque también puede continuar perfectamente (sin reiniciar) si conoce como proceder con las instrucciones de instalación de Gentoo desde una instalación existente.Your network card device support (¡En el núcleo.conf /mnt/gentoo/diskless/eta/etc/resolv.

Listado de Código 4.15: Iniciando los servicios # /etc/init. Disfrute. Para ayudarle con esto. si desea más de lo que viene suministrado en su tarball (de todas formas. y NFS. porque ya tenemos uno .d/local. TFTPD.d/dhcp start # /etc/init. 5. Instalando Gentoo desde una distribución Linux existente Requerimientos Para instalar Gentoo desde su distribución Linux.12: /etc/fstab # nano -w /etc/fstab /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto. y tener una copia del tarball (o ISO) de instalación de Gentoo que quiera instalar.gz). Simplemente acabe la instalación y reinicie el servidor. La tarjeta de red debería conseguir una dirección IP usando DHCP y descargar la imagen PXE del grub usando TFTP.pxegrub. necesitará configurar la BIOS y la tarjeta de red para que use PXE como primer método de arranque . ¡Empecemos! Perspectiva general .3 como sistema operativo anfitrión. Si todo está bien. consulte los manuales de su hardware o la página web de los proveedores. necesita tener la orden chroot en su sistema. Entonces. El autor usó RedHat Linux 7. montando el sistema de archivos del root usando NFS y poniendo a su disposición el símbolo de sistema para hacer el login.ro 0 0 También necesita prevenir al cliente de ejecutar un chequeo sobre el sistema de archivos: Listado de Código 4. No instale otro gestor de arranque.13: Previniendo al cliente de la ejecución de un chequeo sobre el sistema de ficheros # touch /fastboot # echo "touch /fastboot" >> /etc/conf. pero no importa mucho.d/tftpd start # /etc/init. Listado de Código 4.antes CD-ROM o floppy.start Instale nfs-utils ya que su cliente dependerá en gran parte de ellas.14: Installing nfs-utils # emerge nfs-utils Gestor de arranque.Listado de Código 4. un tarball es solo un archivo terminado en .tbz o . debería ver un bonito menú de arranque del grub blanco y negro en el que seleccionará el núcleo de arranque y presione intro.d/nfs start Iniciando el nuevo cliente Para que el nuevo cliente arranque adecuadamente. Una conexión a la red sería lo aconsejado. el núcleo debería arrancar.tar. Inicie los servicios que necesitará para arrancar el nuevo cliente: DHCP.

tendría bastante material instalado.org/software/parted/. Así es como yo lo hice en mi sistema. No está mal. Es trabajo del lector probarlos.9G 2. descomprimir el tarball en la partición montada. Si no. ¡Así que. tendrá que borrar alguna partición para hacerle espacio a Gentoo. hay una herramienta que ahora nos es extremadamente útil. Solo compile parted y ejecútelo en una partición desmontada que elija para reajustar su tamaño. . editor de particiones y podemos conseguirlo en http://www. creo que lo redistribuiré para dejar 400 Mb de espacio libre.Primero asignaremos una partición a Gentoo reajustando el tamaño de nuestra partición Linux ya existente. no necesitará hacer lo siguiente. ¿Cómo deberíamos hacer espacio a Gentoo? La partición de root es el sistema de fichero montado bajo /. Se llama parted. Una vez que la rutina de arranque se ha llevado a cabo. pero el autor no está seguro/interesado en que ni PartitionMagic(tm) ni ningún otro software de ese tipo lo haga. En mi caso. vamos a particionarlo! Instalando parted para redistribuir particiones. si puede desmontar la partición estando aún en Linux. ¡Tenga en cuenta que no es obligatorio redistribuir la partición de su root! Podría redistribuir cualquier cosa soportada por nuestro redistribuidor. pero hablemos de eso más tarde. Busque en esta página el tipo de sistema de archivos cuyo tamaño desea reajustar y vea si parted puede hacerlo.gid=5. Parted es una aplicación suministrada por la fundación GNU. entonces estaremos preparados para reiniciar y usar Gentoo. Queremos reajustar el tamaño de nuestra partición root de Linux. Aquí encontramos un problema.gnu. por tanto. Listado de Código 5. debemos iniciar desde un disquete un sistema linux mínimo y usar un parted previamente compilado y copiado a un disquete para redimensionar /. De todas formas. no ha tenido suerte. asignando 2 Gb para Gentoo. un antiguo y respetable gran proyecto cuyo software está usando en este mismo momento. es afortunado. hacer chroot dentro del pseudo-sistema y empezar a compilar. creo que 1 gigabyte suele ser suficiente para la mayoría de los usuarios. haremos una configuración final en el sistema para asegurarnos de que arranca.4G 82% / none 38M 0 38M 0% /dev/shm Como se puede ver. Adelante. De todas formas. De todas formas.4 gigabytes libres.1: Información del sistema de ficheros # mount /dev/sdb2 on / type ext3 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw.mode=620) none on /dev/shm type tmpfs (rw) # df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb2 4. Una rápida ejecución de mount en mi sistema muestra de qué estoy hablando. Usamos también df (disco libre) para ver cuánto espacio nos queda y como reajustar su tamaño. y volver a instalar. descargue el software e instálelo.0G 1. Nota: Hay otras herramientas para redistribuir particiones. la partición montada como / llamada /dev/sdb2 tiene 2. montar la partición.

Listado de Código 5./parted [disco sobre el que se trabaja] (parted) print Disk geometry for /dev/sdb: 0. es solo desmontar el sistema de archivos que desea reparticionar en su sesión de Linux y ejecutar parted en ella.031 2953.148 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.2: Creación del disco de utilidad # mkfs.266 5633.free. Nota: Observe de nuevo que Linux es sinónimo de "Hay más de una forma de hacerlo". hágalo ahora y cambie de directorio al correspondiente (a parted)./configure && make && cp parted/parted /floppy && umount /floppy Enhorabuena. sea paciente. . Su objetivo es ejecutar parted en una partición desmontada para que pueda funcionar. Listado de Código 5. instalar Gentoo. estaremos listos para lo realmente divertido. Ahora ejecute la siguiente secuencia de órdenes para construir la aplicación y cópielo en su disquete. además de ser gratuito) de http://mininux. No debería necesitar hacer este paso. cree un disquete como viene indicado en la documentación que acompaña el paquete de software e inserte un nuevo disquete en la disquetera para el siguiente paso.125 3133.Importante: ¡Asegúrese de que las operaciones que desea hacer en su partición son soportadas por parted! Obtenga el disco de inicio mininux (una mini distribución de Linux basada en un núcleo 2. Vuelva a iniciar su sistema linux anterior. mount -t minix /dev/fd0 /floppy && export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && . La unidad en la que desea operar es la que contiene la partición cuyo tamaño queremos reajustar.086 9787. Si no está todavía descargado y descomprimido.3: Generando el disco de utilidad # mkdir /floppy. y una vez que se haya iniciado la sesión.000-9787. Hágalo solo después de echarle un vistazo a la documentación de parted en el website de GNU.148 extended .4: Órdenes a ejecutar una vez estemos dentro del sistema mininux # mount /dev/fd0 /floppy # cd /floppy.125 primary ntfs 3 2953.4 y que cabe en un solo disquete. Reinicie su sistema con el disco de minuiux (solo déjelo dentro).minix /dev/fd0 480 inodes 1440 blocks Firstdatazone=19 (19) Zonesize=1024 Maxsize=268966912 Ahora procederemos con la configuración e instalación de parted. sustituya el disco de la unidad por el disco de utilidades que hemos creado arriba y teclee mount /dev/fd0 /floppy para montar parted bajo /floppy. Por ejemplo. El reajuste de tamaño suele tardar unos 30 minutos para los discos duros más largos.265 primary linux-swap 2 3133.fr/uk/. Listado de Código 5. Ejecute parted y podrá redimensionar su partición. Una vez acabado este largo proceso. el disco es /dev/sda. está preparado para reiniciar y redistribuir su partición. Podría utilizar algún software de discos de inicio diferente de mininux. si queremos reajustar /dev/sda3.085 primary ext3 4 5633.

266 4000. el método más adecuado sería utilizar el formato binario. como puede observar a continuación.5 5633. Si posee alguna técnica de instalación. the primary partitions number from 1-4. and logical partitions are 5 onwards.117 6633.html. Sin embargo. Acerca de este documento Si el método estándar de arranque para la instalación por CD no es posible desde su ordenador (o simplemente no es el que le gusta) ahora tiene ayuda al respecto.210 6 6633. use la siguiente orden para limpiar su entorno: Listado de Código 5.net/download. Compile el programa desde el código o simplemente grabe el archivo binario. ya que el código no compila con las nuevas versiones de NASM.242 9787. Esto llevará entre 2 y 30 minutos. Después vaya a El Gentoo Handbook: Preparando los discos y siga las instrucciones.148 (parted) help resize resize MINOR START END logical logical ext3 resize filesystem on partition MINOR MINOR is the partition number used by Linux. Una vez que haya reajustado el tamaño. On msdos disk labels.1: Opciones de Smart BootManager sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file] be: -t theme select the theme to be used. 2. servirá como medio para publicar su más novedoso método de instalación. START and END are in megabytes (parted) resize 2 3133.sourceforge. así como muchos packs de idiomas. por favor. in which the theme could us = English theme de = German theme . la cual considera útil para sí mismo. Este documento servirá para proveerle de un repositorio de técnicas y métodos alternativos para la instalación de Gentoo Linux. por ahora. O si lo prefiere.000 Importante: ¡Sea paciente! ¡El ordenador está trabajando! Revise el led en su cpu para ver que realmente está funcionando. inicie de nuevo su linux antiguo como hemos descrito.exe de windows están disponibles. Listado de Código 2. Hay varias opciones que pueden utilizarse durante la creación de su disco de arranque. Iniciando el CD de Instalación con Smart BootManager Descargue Smart BootManager desde http://btmgr. no dude en documentarla y enviarla a Bugzilla. Cuando haga el chroot.5: Limpiando el entorno durante chroot # env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash # /usr/sbin/env-update # source /etc/profile ¡Disfrute! 1. o conoce de alguna otra manera adecuada para instalar Gentoo Linux. Las versiones en código fuente para linux o formato binario y los .

-b backup_file backup the data that will be overwritten for future uninstallation. -u backup_file uninstall Smart BootManager. 3. Si encuentra algún problema con medios de instalación alternativos. -y # sbminst -t us do not ask any question or warning. should be used alone. -d /dev/fd0 Listado de Código 2. navegadores para la red y juegos para mantenerlo ocupado. Instalación con LiveCDs que no son de Gentoo Introducción Importante: Los desarrolladores Gentoo no pueden dar soporte si algo ocurre al usar un LiveCD que no sea de Gentoo ya que no hay como arreglarlo.sourceforge. Knoppix está disponible solo para usuarios de la . Ahora simplemente sitúe el disquete en la disquetera del ordenador si quiere cargar el CD de Instalación. continúe con las instrucciones normales de instalación. Proporciona un entorno gráfico completo. encontrar los problemas o documentar cada característica en cada LiveCD existente. for DOS: 0 is the first floppy drive 128 is the first hard drive.hu ru es pt = = = = Hungarian theme Russian theme Spanish theme Portuguese theme zh = Chinese theme cz = Czech theme fr = French theme -d drv set the drive that you want to install Smart BootManager on. Es posible iniciar algún otro LiveCD aparte de los que provee Gentoo. Esto le permitirá un entorno funcional mientras compila e instala Gentoo. con aplicaciones para la oficina. /dev/sda is the first SCSI harddisk driver. Las instrucciones que proporcionamos aquí deben funcionar en principio con cualquier otro LiveCD.2: Utilizando sbminst para crear el disco de arranque Nota: Reemplace fd0 por el nombre de su dispositivo de disquetes si fuera distinto. Existen demasiados LiveCDs para listar. por favor visite los Foros Gentoo para asistencia de parte de la comunidad. así como el CD de Instalación dentro del CD-ROM e inicie el ordenador. Una vez cargado. -c disable CD-ROM booting feature. /dev/hda is the first IDE harddisk driver. Oficialmente solo se brinda soporte para LiveCDs Gentoo. for Linux: /dev/fd0 is the first floppy driver. Seleccione su CD-ROM y presione ENTER para cargar el CD. Será recibido por el menú del Smart BootManager.net/. pero puede intentarlo con Knoppix. Puede encontrar más información sobre Smart BootManager en http://btmgr.

cuando tenga que montar el sistema proc. Listado de Código 3. Aviso: Sepa que si guarda cualquier cosa en el directorio de usuario del LiveCD mientras espera a que se instale su sistema Gentoo.3: Desempacando el comprimido stage # tar --numeric-owner -xvjpf stage3-*. por eso la opción -i option para ponerlo en un estado razonable. así que dependiendo de sus necesidades. Abra una consola y ejecute su . lo perderá todo cuando reinicie a Gentoo. Esto asegurará que las variables de entorno se establezcan de manera correcta.) # chroot /mnt/gentoo /bin/bash # chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash # env-update # source /etc/profile # export PS1="(chroot) $PS1" Finalmente. puede ayudar desactivar algunas. necesitará usar una secuencia diferente de órdenes. usando el arranque PXE. Sin embargo. Si se encuentra con errores. pueda que necesite hacer uso de un LiveCD diferente. Requerimientos . Instalación sin disco. sustituya la orden por: Listado de Código 3.plataforma x86. Ahora puede configurar sshd para hacer login de manera remota. puede seguir con la instalación normal en la parte 4. 4. de los FEATURES opcionales. Esto permitirá cambiar la contraseña del usuario root para el CD.tar.bz2 Una vez que haya hecho chroot al entorno desempacado en la parte 6. sepa que algunas FEATURES de Portage no funcionarán en el LiveCD. ¡Asegúrese de guardar los ficheros importantes en el disco duro o en otro ordenador! Instrucciones de instalación Inicie desde el LiveCD. Listado de Código 3. si esto hiciera falta.1: Creando el punto de montaje /mnt/gentoo # mkdir /mnt/gentoo Llegados a este punto. o todas.para poder cambiar la contraseña.4: Haciendo chroot al nuevo entorno (Algunos LiveCDs usan una configuración extraña del entorno. deberá usar una orden tar diferente para asegurar que los IDs de grupo sean creados correctamente en el stage desempacado: Listado de Código 3. A continuación debe crear el punto de montaje /mnt/gentoo.2: Montando el pseudo sistema de archivos /proc con bind # mount -o bind /proc /mnt/gentoo/proc Cuando esté listo para desempacar el comprimido stage en la parte 5. Tenga especialmente cuidado con userpriv y usersandbox.

Listado de Código 4.example. Tendrá que reemplazar la dirección MAC de la tarjeta ethernet del cliente y el directorio donde pondrá los archivos del cliente por los que vaya a usar.conf option option-150 code 150 = text .4: in. Asegúrese de que el interfaz correcto está seleccionado en /etc/conf.3: /etc/conf. realice un emerge app-admin/tftp-hpa.add. ejecute emerge dhcp (o cualquier otro servidor DHCP de su elección). Para dhcpd.re.ss.Necesitará una tarjeta de red en la máquina cliente que use el protocolo PXE para arrancar. Listado de Código 4.1: Configuración de directorios # mkdir /diskless # mkdir /diskless/eta # mkdir /diskless/eta/boot Configurar DHCP y TFTP: el cliente dará información de arranque utilizando DHCP y descargando todos los archivos requeridos usando TFTP.2: dhcpd. Cree un directorio llamado /diskless el cual acogerá un directorio para cada cliente sin disco.tftpd. fixed-address ip. option option-150 "/eta/boot/grub. } Luego configuremos el interfaz en /etc/conf. como muchas tarjetas 3Com. Listado de Código 4.d/net de manera que no pierda la configuración al arrancar. filename "/eta/boot/pxegrub". Después añada en /etc/dhcp/dhcpd.tftpd INTFTPD_PATH="/diskless" INTFTPD_USER="nobody" INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}" . Vea el archivo /usr/share/doc/openrc-*/net.d/net (Reemplace eth0 con el interfaz adecuado) config_eth0=( "noop" ) Para TFTP.conf lo siguiente: Nota: Esto proporciona una dirección IP estática para el cliente y la ruta imagen de arranque PXE. Configuración básica del servidor Crear directorios: lo primero que hay que hacer es crear los directorios donde su sistema sin disco será almacenado. En el archivo /etc/conf.lst". ponga lo siguiente: Listado de Código 4. ddns-update-style none .d/dhcpd y configúrelo conforme a sus necesidades.bz2 para más información. De aquí en adelante trabajaremos con un cliente llamado 'eta'. Necesitará también un BIOS que arranque desde PXE. aquí pxegrub. host eta { hardware ethernet 00:00:00:00:00:00.d/in.

haga lo siguiente (donde sdaX es la partición en la cual creó el directorio /diskless). See exports(5).Configurar GRUB: para habilitar arranques PXE utilizo GRUB.ss:/diskless/eta # Para la opción nfsroot. la dirección IP es la del servidor y el directorio es en el cual los archivos del cliente sin disco están ubicados (en el servidor).6: grub. copio la imagen PXE al directorio de arranque del cliente sin disco.5: Configuración de Grub # # # # echo "sys-boot/grub netboot" >> /etc/portage/package.0.no_root_squash) Actualice su archivo hosts: una cosa importante que hacer ahora.com eta 192. Una vez que GRUB está compilado.8: /etc/hosts 127.1.10 eta. con el parámetro USE netboot activado.7: /etc/exports # nano -w /etc/exports # /etc/exports: NFS file systems being exported. /diskless/eta eta(rw. Lo único que debe hacer es añadir una línea en el archivo de configuración /etc/exports: Listado de Código 4. Configurar NFS: NFS es bastante fácil de configurar. Siga el procedimiento de instalación estándar como se explica en el Manual de Gentoo PERO con las siguientes diferencias.add.1 localhost 192. Cuando monte el sistema de archivos.0.20 sigma. Listado de Código 4.sync. aunque también puede continuar perfectamente (sin reiniciar) si conoce como proceder con las instrucciones de instalación de Gentoo desde una instalación existente.example.lst. es modificar su archivo /etc/hosts para ajustarlo a sus necesidades. ya que todos los archivos residirán en el directorio /diskless/eta.lst> Listado de Código 4.9: Montando el sistema de ficheros # mount /dev/sdaX /mnt/gentoo .com sigma Creando el sistema en el servidor Quizá quiera reiniciar el servidor con un CD de Instalación Gentoo.168.re.use emerge -av grub cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub nano -w /diskless/eta/boot/grub.168.lst default 0 timeout 30 title=Diskless Gentoo root (nd) kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip. Listado de Código 4.example. No necesita montar ninguna otra partición. A continuación edito el fichero de configuración grub. Listado de Código 4.1.

Listado de Código 4. no olvide habilitar las siguientes opciones junto a las otras recomendadas en el manual de instalación.Bajo "File systems --> Network File Systems" : <*> NFS file system support [*] Provide NFSv3 client support [*] Root file system on NFS Guarde el núcleo en su / de chroot (no en /boot) de acuerdo con las configuraciones de pxegrub definidas anteriormente.10: Extrayendo el tarball stage # # # # # # # cd /mnt/gentoo/diskless/eta/ tar -xvjpf /mnt/cdrom/gentoo/stage3-*. Listado de Código 4. No quiere terminar extrayéndolo sobre su instalación existente.14: Installing nfs-utils .13: Previniendo al cliente de la ejecución de un chequeo sobre el sistema de ficheros # touch /fastboot # echo "touch /fastboot" >> /etc/conf.d/local.Tarballs stage y chroot: Este ejemplo utiliza el tarball de stage3. no como un módulo!) .ro 0 0 También necesita prevenir al cliente de ejecutar un chequeo sobre el sistema de archivos: Listado de Código 4. Listado de Código 4.11: Opciones de menuconfig . A continuación. configure el archivo /etc/fstab de su cliente sin disco. Después siga el manual de instalación hasta la configuración del núcleo.Bajo "Networking options" : [*] [*] [*] [*] TCP/IP networking IP: kernel level autoconfiguration IP: DHCP support IP: BOOTP support . Aviso: Sea cuidadoso cuando extraiga su tarball stage.Your network card device support (¡En el núcleo.12: /etc/fstab # nano -w /etc/fstab /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto.start Instale nfs-utils ya que su cliente dependerá en gran parte de ellas.tar.bz2 mount -t proc /proc /mnt/gentoo/diskless/eta/proc cp /etc/resolv.conf chroot /mnt/gentoo/diskless/eta/ /bin/bash env-update source /etc/profile Configuración del Núcleo: cuando haga el make menuconfig en su configuración de núcleo. Listado de Código 4. Monte /proc en su directorio /diskless y haga chroot para continuar con la instalación.conf /mnt/gentoo/diskless/eta/etc/resolv.

Inicie los servicios que necesitará para arrancar el nuevo cliente: DHCP.gz).pxegrub. y tener una copia del tarball (o ISO) de instalación de Gentoo que quiera instalar. Para ayudarle con esto. pero no importa mucho.d/tftpd start # /etc/init.tbz o . Una rápida ejecución de mount en mi sistema muestra de qué estoy hablando. hacer chroot dentro del pseudo-sistema y empezar a compilar.d/nfs start Iniciando el nuevo cliente Para que el nuevo cliente arranque adecuadamente. Entonces.d/dhcp start # /etc/init. el núcleo debería arrancar. Disfrute. Simplemente acabe la instalación y reinicie el servidor. un tarball es solo un archivo terminado en . debería ver un bonito menú de arranque del grub blanco y negro en el que seleccionará el núcleo de arranque y presione intro. montar la partición. TFTPD. montando el sistema de archivos del root usando NFS y poniendo a su disposición el símbolo de sistema para hacer el login. La tarjeta de red debería conseguir una dirección IP usando DHCP y descargar la imagen PXE del grub usando TFTP. No instale otro gestor de arranque. ¡Tenga en cuenta que no es obligatorio redistribuir la partición de su root! Podría redistribuir cualquier cosa soportada por nuestro redistribuidor. ¡Empecemos! Perspectiva general Primero asignaremos una partición a Gentoo reajustando el tamaño de nuestra partición Linux ya existente.15: Iniciando los servicios # /etc/init. Listado de Código 4. Listado de Código 5.1: Información del sistema de ficheros . si desea más de lo que viene suministrado en su tarball (de todas formas. Instalando Gentoo desde una distribución Linux existente Requerimientos Para instalar Gentoo desde su distribución Linux. necesita tener la orden chroot en su sistema. y NFS. 5.antes CD-ROM o floppy.tar.3 como sistema operativo anfitrión. El autor usó RedHat Linux 7. descomprimir el tarball en la partición montada. entonces estaremos preparados para reiniciar y usar Gentoo. Una conexión a la red sería lo aconsejado. necesitará configurar la BIOS y la tarjeta de red para que use PXE como primer método de arranque . Una vez que la rutina de arranque se ha llevado a cabo. ¿Cómo deberíamos hacer espacio a Gentoo? La partición de root es el sistema de fichero montado bajo /. haremos una configuración final en el sistema para asegurarnos de que arranca.# emerge nfs-utils Gestor de arranque. consulte los manuales de su hardware o la página web de los proveedores. porque ya tenemos uno . Si todo está bien. pero hablemos de eso más tarde. Usamos también df (disco libre) para ver cuánto espacio nos queda y como reajustar su tamaño.

Nota: Hay otras herramientas para redistribuir particiones. Importante: ¡Asegúrese de que las operaciones que desea hacer en su partición son soportadas por parted! Obtenga el disco de inicio mininux (una mini distribución de Linux basada en un núcleo 2. De todas formas. No está mal. En mi caso. por tanto.fr/uk/. Solo compile parted y ejecútelo en una partición desmontada que elija para reajustar su tamaño.4 y que cabe en un solo disquete. tendrá que borrar alguna partición para hacerle espacio a Gentoo. Nota: Observe de nuevo que Linux es sinónimo de "Hay más de una forma de hacerlo". No debería necesitar hacer este paso.gnu. la partición montada como / llamada /dev/sdb2 tiene 2.4 gigabytes libres. Así es como yo lo hice en mi sistema.minix /dev/fd0 . si puede desmontar la partición estando aún en Linux. tendría bastante material instalado.free.gid=5. Busque en esta página el tipo de sistema de archivos cuyo tamaño desea reajustar y vea si parted puede hacerlo. descargue el software e instálelo. Podría utilizar algún software de discos de inicio diferente de mininux. debemos iniciar desde un disquete un sistema linux mínimo y usar un parted previamente compilado y copiado a un disquete para redimensionar /. es afortunado. De todas formas. pero el autor no está seguro/interesado en que ni PartitionMagic(tm) ni ningún otro software de ese tipo lo haga. asignando 2 Gb para Gentoo. creo que 1 gigabyte suele ser suficiente para la mayoría de los usuarios. es solo desmontar el sistema de archivos que desea reparticionar en su sesión de Linux y ejecutar parted en ella. editor de particiones y podemos conseguirlo en http://www. un antiguo y respetable gran proyecto cuyo software está usando en este mismo momento.9G 2.2: Creación del disco de utilidad # mkfs. ¡Así que. Se llama parted. no ha tenido suerte.org/software/parted/. vamos a particionarlo! Instalando parted para redistribuir particiones. cree un disquete como viene indicado en la documentación que acompaña el paquete de software e inserte un nuevo disquete en la disquetera para el siguiente paso. hay una herramienta que ahora nos es extremadamente útil. Queremos reajustar el tamaño de nuestra partición root de Linux. Listado de Código 5. además de ser gratuito) de http://mininux.mode=620) none on /dev/shm type tmpfs (rw) # df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb2 4. Adelante. Si no. Parted es una aplicación suministrada por la fundación GNU. creo que lo redistribuiré para dejar 400 Mb de espacio libre. De todas formas. Es trabajo del lector probarlos. no necesitará hacer lo siguiente. Su objetivo es ejecutar parted en una partición desmontada para que pueda funcionar. y volver a instalar.0G 1.# mount /dev/sdb2 on / type ext3 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw.4G 82% / none 38M 0 38M 0% /dev/shm Como se puede ver. Aquí encontramos un problema.

Si no está todavía descargado y descomprimido.000 Importante: ¡Sea paciente! ¡El ordenador está trabajando! Revise el led en su cpu para ver que realmente está funcionando.117 6633. sustituya el disco de la unidad por el disco de utilidades que hemos creado arriba y teclee mount /dev/fd0 /floppy para montar parted bajo /floppy. Por ejemplo. the primary partitions number from 1-4. Listado de Código 5./parted [disco sobre el que se trabaja] (parted) print Disk geometry for /dev/sdb: 0. hágalo ahora y cambie de directorio al correspondiente (a parted). está preparado para reiniciar y redistribuir su partición. instalar Gentoo.148 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.265 primary linux-swap 2 3133. . Hágalo solo después de echarle un vistazo a la documentación de parted en el website de GNU. Listado de Código 5. estaremos listos para lo realmente divertido. Reinicie su sistema con el disco de minuiux (solo déjelo dentro). On msdos disk labels.4: Órdenes a ejecutar una vez estemos dentro del sistema mininux # mount /dev/fd0 /floppy # cd /floppy. . and logical partitions are 5 onwards. START and END are in megabytes (parted) resize 2 3133.266 5633. Esto llevará entre 2 y 30 minutos. Vuelva a iniciar su sistema linux anterior.480 inodes 1440 blocks Firstdatazone=19 (19) Zonesize=1024 Maxsize=268966912 Ahora procederemos con la configuración e instalación de parted.085 primary ext3 4 5633. y una vez que se haya iniciado la sesión.031 2953.148 extended 5 5633. Ahora ejecute la siguiente secuencia de órdenes para construir la aplicación y cópielo en su disquete. Ejecute parted y podrá redimensionar su partición.242 9787. La unidad en la que desea operar es la que contiene la partición cuyo tamaño queremos reajustar. Una vez acabado este largo proceso.210 logical 6 6633.125 primary ntfs 3 2953.148 logical ext3 (parted) help resize resize MINOR START END resize filesystem on partition MINOR MINOR is the partition number used by Linux.086 9787./configure && make && cp parted/parted /floppy && umount /floppy Enhorabuena. el disco es /dev/sda.125 3133. si queremos reajustar /dev/sda3. sea paciente.000-9787.266 4000. mount -t minix /dev/fd0 /floppy && export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && .3: Generando el disco de utilidad # mkdir /floppy. El reajuste de tamaño suele tardar unos 30 minutos para los discos duros más largos.

use la siguiente orden para limpiar su entorno: Listado de Código 5. Introducción 2.6 • • • • Mejoras en el planificador de tareas (scheduler) y por ende la interactividad: se siente mucho más suave en Sergey Kuleshov sistemas de escritorio y aguanta mucho mejor bajo carga que el núcleo 2. Algunos de los cambios más importantes están listados a continuación: Sergey Galkin Colaborador La guía completa Gentoo de migración al núcleo Linux 2. Es estructuralmente muy diferente a su contraparte Autor versión 2. 2011 Sumario: Este documento le asistirá en el Contenido: proceso de migrar del núcleo Linux 1. Cuando haga el chroot. hacia arriba y hacia abajo.4.Una vez que haya reajustado el tamaño. en sistemas pequeños o Xavier Neys embebidos y en sistemas con muchos procesadores Editor Rendimiento: Se ha mejorado notoriamente el rendimiento efectivo de aplicaciones comunes Soporte de hardware: Linux ahora soporta muchas más Benny Chuang arquitecturas y dispositivos de hardware out-of-the-box Editor que cualquier otro sistema operativo. ¿Qué hay de nuevo en Linux 2.6 es el resultado de más LVM2. de devfs a udev. Joseph Pranevich ha escrito (en inglés) un documento muy detallado Joshua Saddler Editor .4 Colaborador Escalabilidad: Linux ahora escala mucho mejor.4 a Linux 2. Después vaya a El Gentoo Handbook: Preparando los discos y siga las instrucciones.6? de OSS a ALSA y de LVM a Esta pregunta no tiene respuesta fácil. Linux 2. inicie de nuevo su linux antiguo como hemos descrito.5: Limpiando el entorno durante chroot # env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash # /usr/sbin/env-update # source /etc/profile ¡Disfrute! Imprimir Página actualizada 26 de diciembre. de 2 años de rápido desarrollo y estabilización de nuevas Daniel Drake características.6.

profile que en la versión 2005.The Wonderful World Of Linux 2. el núcleo por defecto es Manuel Peral el más reciente de la serie 2. Resuelve problemas inherentes a manejadores de dispositivos anteriores y además trata de resolver algunos otros problemas. Por favor lea la Guía udev en Gentoo para mayor información en relación a esto. El perfil predeterminado del sistema se González escoge desde /etc/make.1: Cambiando su perfil ¿Qué es udev? En el pasado.profile not support # ln -snf /usr/portage/profiles/default-linux/x86/2005.6. pero no tema.profile Listado de Código 1.0 o superior Traductor debería ser un enlace simbólico a /usr/portage/profiles/defaultDonate to linux/x86/2005. los desarrolladores que tan duro trabajan se han esforzado en hacer que la migración desde devfs sea muy fácil. por favor cámbielo a uno que soporte el núcleo 2. Mientras que devfs es un buen concepto.4 es probable que haya usado los drivers del OSS (open sound system.13.6. puede referirse a El Stoddart documento post-halloween. .1 iframes.0 bajo el cual se toman en cuenta importantes ajustes de support our configuración. El OSS ha sido reemplazado por unos drivers nuevos y mejores: ALSA.6 como se muestra a continuación: <p>Your browser does # rm -f /etc/make. el cual tal vez le interese leer. pero tenga en cuenta que ya está algo Traductor desactualizado.4.6. Gentoo ha instruido a sus usuarios que utilicen devfs para manejar el directorio /dev. Si está usando un perfil 2. Tal vez lo anterior no signifique mucho. development efforts. Andrés Pereira Gentoo y 2. que contiene una serie de interfaces de dispositivos que permiten que las aplicaciones del sistema se comuniquen con el hardware (a través del núcleo). udev es una manera nueva de manejar los nodos correspondientes a dispositivos. sistema de sonido abierto) para potenciar su tarjeta de sonido. Si John Christian está interesado en más detalles técnicos. tiene algunos problemas internos y ha sido eliminado por completo de las fuentes estables a partir de 2. ¿Qué es ALSA? Con Linux 2.6 Traductor A partir de la versión 2005.0 de Gentoo Linux.</p> /etc/make.

Preparación Actualice su sistema Algunos de los cambios que vienen con Linux 2. Antes de continuar. Por ahora. permite un control poderoso sobre las particiones (por ejemplo. siguiendo la Guía de Instalación LVM2 en Gentoo. Entre otras cosas.6 tiene una nueva versión.6. debe asegurarse que su sistema esté más o menos actualizado y para estar perfectamente seguro. Es compatible con las anteriores aplicaciones OSS. Si no es usuario de LVM. pero ¡dejarán intactos sus datos! Si no utiliza LVM para el manejo del almacenamiento en disco. ¿Qué es LVM? Administración Lógica de Volúmenes. el soporte de LVM ha sido implementado en Linux 2. Históricamente. . LVM actúa como una alternativa a la manera estándar de administrar las particiones en disco. puede pasar por encima las partes de este documento que hacen referencia a LVM/LVM2.4. 2. Si este es el caso.ALSA. que significa Advanced Linux Sound Architecture. puede saltarse las instrucciones relacionadas con ALSA de este documento. puede convertir sus discos para usar este formato en una fecha futura. o Arquitectura de Sonido Avanzado para Linux. como siempre.puede mantenerlos en particiones estándar. llamada LVM2. Linux 2. pero cree que LVM2 parece útil. existe como un conjunto de herramientas que le permite manejar el almacenamiento en disco de una manera muy flexible. El proceso de migración requiere la instalación de nuevas versiones de las herramientas del usuario (cubiertas más adelante en este documento). concentrémonos en hacer que nuestra migración vaya sobre ruedas. debe actualizar todos los paquetes de world y system que estén disponibles.6 también requieren algunas modificaciones en las aplicaciones del sistema base. entonces esto no le aplica. es un nuevo conjunto de drivers de sonido con una API nueva y mejor presente en el núcleo 2. El actualizar a Linux 2. o Logical Volume Management (LVM) en inglés. cambiar tamaño sin reiniciar) y hace que operaciones como cambios en dispositivos sean relativamente sencillas. ¡siempre que seleccione las opciones adecuadas de configuración en el núcleo! Nota: Si no tiene hardware de sonido/audio.6 no requiere que sus datos sean almacenados en particiones LVM .

Linux 2. Nota: Es posible. por ende. este requiere unos nodos de dispositivos esenciales. En este caso.En particular.4.4. moduleinit-tools suministra compatibilidad con Linux 2. no hace falta preocuparse. requiere nuevas herramientas para manejar módulos. Sencillamente use emerge para instalar udev: Listado de Código 2.6. asegúrese de tener las últimas versiones estables de los siguientes paquetes: • • • sys-apps/baselayout sys-apps/util-linux sys-kernel/genkernel (únicamente si desea utilizar genkernel en vez de configuración manual) Listado de Código 2. rmmod e insmod para Linux 2. asegúrese de tener algunos nodos de . para que todavía pueda arrancar Linux 2. Para compensar. Instalando udev No hay configuración involucrada aquí. ya que su sistema está preparado para manejar módulos de Linux 2.2: Cambiando de modutils a module-init-tools # emerge --unmerge sys-apps/modutils # emerge module-init-tools Nota: No se preocupe. Ahora debe desinstalar modutils e instalar module-init-tools: Listado de Código 2.4. que module-init-tools ya esté instalado y funcionando con su núcleo Linux 2. Estos conforman el paquete sys-apps/module-init-tools.6 presenta un nuevo formato de módulo. no se activa inmediatamente. aunque haya hecho unmerge modutils.4 y manejar los módulos de ese núcleo. por las razones esbozadas anteriormente.1: Actualizando todos los paquetes en world # emerge --sync # emerge -ua world modutils vs module-init-tools sys-apps/modutils es el paquete que provee las herramientas como modprobe. Revisando los nodos de dispositivos esenciales Al arrancar el sistema.3: Instalando udev # emerge -a udev Debería leer ahora la Guía de udev en Gentoo para tener una idea más acabada acerca de las diferencias entre udev y devfs. Como udev no está incluido en el núcleo.

no tendremos acceso directamente.7: Instalando las herramientas ALSA y las librerías # emerge -a alsa-lib alsa-utils alsa-tools alsa-headers alsa-oss 3. Usaremos esta oportunidad para revisar la existencia de dichos archivos. Las herramientas requeridas son las siguientes: Listado de Código 2. Como su manejador de dispositivos existente estará montado en /dev.6: Desmontando la partición raíz (montada con bind) # cd # umount /mnt/temp # rmdir /mnt/temp Instalando las herramientas ALSA ALSA requiere la instalación de algunos paquetes para que las demás aplicaciones puedan hacer uso de la API ALSA. y si no. los crearemos nosotros mismos como se muestra a continuación: Listado de Código 2.6 Escogiendo e instalando un núcleo .dispositivos esenciales en el disco.4: Montando la partición raíz con bind y listando los dispositivos estáticos # # # # mkdir -p /mnt/temp mount --rbind / /mnt/temp cd /mnt/temp/dev ls -l console null Si la orden ls anterior reportó que los dispositivos console o null no existen. algunos usuarios han reportado que esto no es así.5: Creando los nodos faltantes para console y null # mknod -m 660 console c 5 1 # mknod -m 660 null c 1 3 Ahora debe desmontar su partición raíz. Instalando las fuentes Linux 2. Listado de Código 2. de manera que montaremos la partición raíz con bind en otra ubicación y tendremos acceso al directorio /dev desde allí. Sin embargo. aunque no haya tenido que crear los dispositivos: Listado de Código 2. Nuestros archivos de instalación stage habrán creado los dispositivos requeridos durante la instalación inicial. Estos paquetes le permitirán controlar el mezclador y el nivel del volumen. crearlos.

Hay otras disponibles. Instale sus fuentes del núcleo de su preferencia con emerge: Listado de Código 3. si observa que este quiere instalar la versión 2. in order: Calculating dependencies . ya que algunos de estos puntos influenciarán la manera que configuremos el núcleo nuevo.6. En esta guía usaremos gentoo-sources como ejemplo. siga la Guía de actualización de Gentoo para cambiarse a un perfil basado 2.6 de su elección.4 de gentoo-sources (por ejemplo: gentoosources-2.4.6. Los dos núcleos 2. Actualizando el enlace simbólico /usr/src/linux Varias herramientas Gentoo cuentan con que /usr/src/linux sea un enlace simbólico a las fuentes del núcleo que está usando (o contra las cuales desea compilar).config de 2.26)..10-gentoo-r4 linux 4. Problemas conocidos con la migración a Linux 2.6. vea la Guía Gentoo del Núcleo Linux para más alternativas.6 soportados actualmente por Gentoo son gentoo-sources (para máquinas de escritorio) y hardened-sources (para servidores). Continuando nuestro ejemplo: Listado de Código 3. pero los detallaré acá. Por favor.Lo primero es instalar las fuentes de un núcleo 2. para que pueda consultarlos luego con calma.10-r4 Do you want me to merge these packages? [Yes/No] y Cuando ejecute la orden emerge mencionada arriba. No usar "make oldconfig" con un archivo . todos en el mismo lugar.6 del núcleo.6 y reintente instalar las fuentes 2. Actualizaremos nuestro /usr/src/linux para que apunte a las fuentes que acabamos de instalar.6 Antes de comenzar a configurar el núcleo. entonces significa que el perfil que está usando no está diseñado para los usuarios de Linux 2.4 .. Nota: No todos estos puntos son relevantes en esta etapa.6.done! [ebuild NS ] sys-kernel/gentoo-sources-2. intentaré detallar algunos de los errores más comunes que hace la gente al migrar hacia Linux 2.1: Instalando gentoo-sources # emerge -a gentoo-sources These are the packages that I would merge.2: Actualizando el enlace simbólico /usr/src/linux # cd /usr/src # ln -sfn linux-2.

disco flash USB.6 ha sido extendida para soportar mucho mejor a los quemadores de CDs/DVDs.config de 2.). Se encuentra bajo "Device Drivers --> USB support". pero generalmente no hará efecto mientras ub también esté .1: Ubicación de la opción PC speaker Device Drivers ---> Input device support ---> [*] Misc <*> PC Speaker support Nota: Por el altavoz del PC o "PC speaker". ya que hubo muchos cambios. podría intentar regresando al antiguo driver estilo SCSI: Listado de Código 4. Por favor.Nota: Si no entiende lo que significa esto.4 terminan con un núcleo que no funciona (no escribe nada a la pantalla. Agradecemos que la capa IDE en Linux 2. no hará este error si sigue al pie de la letra el resto de esta guía. Si tiene problemas accediendo su disco duro USB. no funciona el teclado. un nuevo driver de dispositivos de bloque USB ha sido agregado al núcleo.2: Desactivando usb Device Drivers ---> Block devices ---> < > Low Performance USB Block driver Nota: El antiguo driver estilo SCSI (USB Mass Storage support) está activado por defecto. Se le harán muchas preguntas. Muchos que intentan un make oldconfig a partir de un . Al momento de escribir esto. El nuevo driver de dispositivos en bloque USB es problemático a veces Muy recientemente. la única manera de obtener buenos resultados en el quemado de CDs/DVDs era activando (¡qué feo!) la emulación idescsi. No hacemos referencia al hardware normal de sonido utilizado para escuchar música. etc. El altavoz del PC es ahora una opción configurable No conseguirá sus pitidos normales de consola (o respuesta alguna del altavoz del PC) si no activa específicamente la nueva opción CONFIG_INPUT_PCSPKR): Listado de Código 4. No usar ide-scsi para quemar CDs/DVDs En Linux 2.4. no se preocupe. lector de tarjetas USB o cámara digital USB. este driver ("ub") está en etapas tempranas y algunos usuarios lo encuentran poco fiable. ahórrese la molestia y use el tradicional método menuconfig solo esta vez. nos referimos al altavoz analógico que pita una vez al arrancar el sistema. etc. No hace falta activar opciones adicionales para habilitar el quemado de CDs. Solo asegúrese de no activar ide-scsi como acostumbraba.

deshágase de sus hacks de "nice".4 recientes también le permitirán usar "usbfs" al igual que "usbdevfs".6 que cambian este comportamiento. ya que en algunos casos mejora el desempeño del escritorio. Nota: Los núcleos 2. No cambie la prioridad (renice) a X Si es un usuario de escritorio con 2. de forma que se conserva la compatibilidad anterior. usbdevfs ha sido renombrado a usbfs Si ha modificado su archivo /etc/fstab para personalizar la manera que se monta el sistema de dispositivos USB. En Linux 2. Hubo muchos cambios en el planificador (scheduler) de 2. Previamente. hará justo lo que está supuesto de hacer (ejecutar el servidor de pantalla a una prioridad muy alta) con consecuencias negativas como sonido entrecortado y tiempos de carga muy lentos para las aplicaciones. Si continúa corriendo X a una prioridad más alta. ya que el CPU pasa demasiado tiempo sirviendo X y solo X. puede haber modificado su sistema para correr X con una prioridad mayor. similar al mostrado a continuación: Listado de Código 4.4. habría tenido nodos como /dev/psaux y /dev/mouse. /dev/input/mouse1 y un nodo colectivo /dev/input/mice donde se combinan los movimientos de todos los ratones.presente. ya no se requiere hacer un cambio en la prioridad (vía renice) a las aplicaciones de escritorio para obtener una interacción mejor. tal vez tenga que cambiar el tipo del sistema de archivos de usbdevfs a usbfs. tendrá nodos como /dev/input/mouse0.6. Ahora. El archivo de configuración de X11 ahora debe usar /dev/input/mice para los ratones PS/2 y USB Uno de los cambios introducidos por la configuración por defecto de udev es una organización distinta de los nodos para el ratón. Por favor. Como las configuraciones viejas de X típicamente hacían referencia a /dev/mouse o /dev/psaux podrá recibir un error al iniciar X. (EE) Mouse0: cannot open input device (EE) PreInit failed for input device "Mouse0" No core pointer .3: Error común al iniciar X por primera vez en un sistema udev (EE) xf86OpenSerial: Cannot open device /dev/mouse No such file or directory.

puede que haya ocupado la funcionalidad de bootsplash para proveer una consola framebuffer colorida. Habrá que actualizar su archivo /etc/fstab para reflejar este cambio y tendrá que tener esto en cuenta al escoger el parámetro de inicio root/verdadera_raíz más adelante.4. A continuación un ejemplo: Listado de Código 4.5: Ejemplo del ratón en la sección InputDevice Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/input/mice" EndSection Nota: Si está usando un ratón serial.4.conf Nota: Si todavía usa XFree86. Puede seguir el enlace al documento Gensplash en 5 pasos fáciles de Michal para familiarizarse con el funcionamiento de gensplash. el dispositivo nuevo será /dev/tts/0 en vez de /dev/ttyS0. . Su primer disco SATA será el /dev/sda. Nota: libata ha sido portado a versiones recientes de Linux 2. Como estos manejadores están basados en SCSI. el desarrollador Gentoo Michal Januszewski se encuentra en proceso de producir la siguiente generación. gensplash. Sin embargo. bootsplash ya no es mantenido Si usó el núcleo gentoo-sources-2. su archivo de configuración será el /etc/X11/XF86Config.Para corregir esto. Listado de Código 4.4. abra su archivo de configuración de X11 en un editor y actualice la sección del ratón en InputDevice para usar el dispositivo /dev/input/mice. Linux 2. el desarrollador de bootsplash parece haber perdido el interés en este proyecto. ahora sus discos aparecerán como dispositivos SCSI.4: Abriendo su archivo de configuración X11 # nano -w /etc/X11/xorg. incluido en el núcleo gentoo-sources 2. Aparentemente.6. probablemente ha observado que sus dispositivos SATA tienen nombres como /dev/hde.6 introduce nuevos drivers SATA (libata) basados en el subsistema SCSI. Los nuevos drivers Serial-ATA (SATA) nombran los dispositivos de manera diferente Si ha utilizado los drivers Serial ATA originales bajo Linux 2. por lo que tal vez este familiarizado con esta nueva manera de nombrar dispositivos. dado algunos problemas de diseño.

Los manejadores de I2C ahora están incluidos en el núcleo Si usa lm-sensors para monitorear las temperaturas y niveles de potencia de su sistema. habrá instalado previamente el paquete i2c para incorporar el soporte para el hardware. Afortunadamente el interfaz casi no ha cambiado.4.2: Opciones requeridas del núcleo File systems ---> Pseudo Filesystems ---> [*] /proc file system support [*] Virtual memory file system support (former shm fs) . continúe con el siguiente capítulo. El método por defecto es la configuración manual. compila e instala el núcleo. Los manejadores I2C ahora están incluidos en el núcleo Linux 2. por lo que ya no hace falta un paquete externo i2c. 5.6. tiene dos opciones para manejar la construcción de su nuevo núcleo. Si desea usar genkernel.4. Si desea configurar el núcleo manualmente. 2. Esto puede parecer desalentador pero es la manera preferida si uno conoce su sistema. lLa opción alternativa es usar nuestra herramienta genkernel. pero observará una organización mejor de las opciones del núcleo además de muchas opciones nuevas que no estaban presentes en 2.1: Invocando menuconfig # cd /usr/src/linux # make menuconfig Probablemente estará familiarizado con el uso de menuconfig con la configuración de los núcleo 2. 1. salte el siguiente capítulo y proceda con usando genkernel. Asegúrese de activar las siguientes opciones importantes del núcleo: Listado de Código 6. Recuerde compilar el soporte para sus dispositivos específicos I2C cuando configure su núcleo de manera que pueda usar lm-sensors de la manera acostumbrada. Configurando. 6. construyendo e instalando el núcleo Así como en Linux 2. que automáticamente configura. Inicie menuconfig de la manera usual: Listado de Código 6.4. Por defecto: Configuración manual Configurando el núcleo Ahora configuraremos el núcleo.

Asegúrese de activas soporte para el controlador IDE de su tarjeta madre si quiere aprovechar acceso rápido a los discos con DMA. Luego debe actualizar manualmente la configuración de su gestor de arranque. También acuérdese de activar el soporte para los sistemas de archivo que usa y para el hardware de su sistema. Hemos instalado udev. que usaremos en vez de devfs de ahora en adelante.3: Compilando las fuentes del núcleo # make && make modules_install Nota: Tal vez recuerde que tenía que correr make dep con las fuentes de Linux 2.4. Listado de Código 6. Esto ya no es necesario. Refiérase a la sección Configurando el Núcleo del Manual Gentoo para consejos adicionales.4: Instalando el núcleo # mount /boot . Espere a que termine la compilación (y observe que es más legible la salida del proceso de compilación). Construyendo el núcleo Ahora que hemos configurado el núcleo. No active el soporte para devfs. Instalando el núcleo El siguiente paso es monta su partición /boot para copiar la imagen del núcleo. podemos comenzar el proceso de compilación: Listado de Código 6.(las siguientes son requeridas para udev): General setup ---> [*] Support for hot-pluggable devices (las siguientes se requieren para ALSA): Device Drivers ---> Sound ---> <*> Sound card support Advanced Linux Sound Architecture ---> <M> Advanced Linux Sound Architecture <M> Sequencer support <M> OSS Mixer API [*] OSS Sequencer API (y ¡no se olvide seleccionar su tarjeta de sonido de los submenús!) (Lo siguiente se necesita si usa LVM para la administración de discos): Device Drivers ---> Multi-device support (RAID and LVM) ---> [*] Multiple devices driver support (RAID and LVM) <*> Device mapper support Aviso: Previamente habrá incluido el soporte para el sistema de archivos /dev (ahora marcado como OBSOLETO).

10-gentoo-r4 udev root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3 initrd /initrd-2.# cp arch/i386/boot/bzImage /boot/bzImage-2. Si elige actualizar el archivo de configuración de su gestor de arranque. Así puede cambiar fácilmente entre las dos en caso que algo no funcione. Una sección del archivo de configuración del gestor de arranque grub se muestra a continuación. debe seguir su procedimiento usual para actualizar el núcleo.10-gentoor4 Note que las instrucciones anteriores son solamente ejemplos.4.10-gentoo-r4 8. acuérdese de ajustar el parámetro real_root para su sistema.6.4 previos. Alternativa: Usando genkernel Si prefiere usar genkernel en vez de configurar su núcleo manualmente. Listado de Código 7.6. Ahora continúe con la sección Configuración de Módulos. pero. usando como referencia las instrucciones en el Manual Gentoo (vea el capítulo Configurando el Kernel).0) kernel /kernel-2.2: Configuración ejemplo de GRUB para genkernel + udev title Gentoo Linux (Núcleo 2.6) root (hd0.1: Invocando genkernel con algunos argumentos comunes # genkernel --udev --menuconfig --bootloader=grub all En el ejemplo anterior. Configuración de Módulos . Debe invocar genkernel como en el ejemplo: Listado de Código 7. nos aprovechamos de las características de genkernel para abrir menuconfig y permitirle personalizar la configuración del núcleo (si así lo desea) y para actualizar el gestor de arranque grub luego de la compilación. Cuando actualice su configuración del gestor de arranque. le contentará escuchar que usando genkernel para producir núcleos 2. no elimine la entrada antigua al núcleo 2.6. Debe escoger los argumentos de genkernel que le convengan. pero ¡no se olvide incluir el argumento --udev! Consulte la Guía Gentoo Linux de Genkernel y el capítulo Configurando el Núcleo del Manual Gentoo para más información.6 es muy similar al proceso para producir los núcleos 2. recuerde incluir el parámetro del núcleo udev. 7.

d/modules con su editor de texto favorito y liste los nombres de los módulos que le gustaría cargar.4. Ahora debe instalarlos.d/modules Listado de Código 8. Para hacer esto. Este es el caso típico de emerge paquete para todos los módulos externos que acostumbra usar con el 2. Cargando los módulos automáticamente Tal vez haya decidido compilar algunos componentes del núcleo como módulos (en vez de directamente en el núcleo) y le gustaría que se carguen automáticamente al arrancar. Listado de Código 8. De nuevo refiérase a capítulo Configurando el Núcleo del Manual Gentoo para más información.4.4. actualizar las herramientas de LVM1 a LVM2 es muy sencillo: Listado de Código 9. porque compilarán contra las fuentes 2.2: Entrada de configuración ejemplo para cargar los módulos 3c59x y nvidia modules="3c59x nvidia" 9. tal vez quiera cargarlos automáticamente también. puede saltar este capítulo e ir al siguiente.4. Arrancando a Linux 2. edite /etc/conf. Algunos ejemplos comunes son los drivers gráficos binarios de ATI y nVidia. ya que lvm2 por sí solo no es suficiente para los núcleos 2.Instalando módulos externos Muchos usuarios adicionalmente confiarán en módulos del núcleo construidos fuera del árbol de fuentes del núcleo.6 . Afortunadamente.1: Actualizando las herramientas del usuario de LVM1 a LVM2 # emerge --unmerge lvm-user # emerge lvm2 Nota: Necesitará volver a hacer emerge de lvm-user si quiere volver a arrancar un núcleo 2. Si ha instalado algún módulo externo del árbol portage (descrito anteriormente). 10.6 apuntados por /usr/src/linux.1: Abrir la lista de módulos autocargados usando nano # nano -w /etc/conf. Migración de LVM a LVM2 Actualizando a las herramientas LVM2 Nota: Si no utiliza LVM para manejar su almacenamiento en disco. tal como lo hizo con 2.

revise que todo esté funcionando.6 desde el gestor de arranque. ¿Algún problema en este momento? En esta etapa debería referirse a la sección Problemas conocidos con la migración a Linux 2.2: Invocando la herramienta de configuración automática de ALSA # alsaconf El proceso es sencillo: permite que el archivo /etc/modules. construyendo e instalando el núcleo. Ahora debe agregar alsasound a su nivel de ejecución boot. Si estos no son apropiados. Los paquetes ALSA nos proveen una herramienta para que este proceso sea relativamente sencillo: Listado de Código 10. no se preocupe.6. regrese a Configurando.6. Si ha cometido alguna equivocación en la configuración del núcleo. puede modificarlos en cualquier momento con la herramienta alsamixer. recompile e instale la nueva imagen del núcleo. . Una vez arrancado el sistema. de manera que los niveles de volumen sean guardados al apagar y restaurados al iniciar: Listado de Código 10.d/alsa sea actualizado automáticamente y luego permita que se recargue ALSA. si siguió este documento correctamente hasta ahora. reinicie e ¡inténtelo de nuevo! Configure y haga sonar a ALSA Ahora completaremos la configuración de ALSA y activaremos los canales audio. es hora de arrancar a Linux 2.Ahora.3: Agregando alsasound al nivel de ejecución boot # rc-update add alsasound boot Nota: La herramienta alsaconf escoge unos volúmenes iniciales para sus dispositivos de sonido.4 o Linux 2. aunque habrá que ejecutarla múltiples veces si tiene varios dispositivos de sonido instalados en su sistema.6 que puede ser de ayuda en caso de algún problema encontrado en este momento. Escoja Linux 2. podrá optar por cargar Linux 2.1: Reiniciando # umount /boot # reboot Al reiniciar. alsaconf luego terminará de ejecutar. realice su cambio. Cierre todas sus aplicaciones y reinicie la máquina: Listado de Código 10.

3: Recompilando todos los paquetes del sistema # emerge -e world Alternativamente.conf y agregue nptl a sus parámetros USE. debería recompilar el glibc. Ahora toca actualizar los archivos de cabecera Linux y hacer emerge otra vez del glibc para que las aplicaciones del userspace puedan aprovechar las nuevas características de Linux 2.1: Actualizando a linux26-headers # emerge -u linux-headers Después de actualizar el paquete de archivos de cabecera.2: Reinstalando glibc con los nuevos archivos de cabecera # emerge -a glibc Si ha activado NPTL. NPTL.4 luego de compilar glibc con USE="nptl". Sin embargo. pero puede que desee activarlo como parte del proceso de migración.6.6. a veces luce inevitable que algunas cosas que funcionaban perfectamente. Aviso: Le advertimos que con los glibc estables actuales no podrá arrancar un núcleo 2. Archivos de cabecera y NPTL Ya debe estar corriendo Linux 2. Hay una nueva característica que tal vez le interese. . Comentarios al cierre ¿Problemas? Con la increíble cantidad de trabajo invertido en Linux 2. modifique el archivo /etc/make. ahora no lo hacen como antes. todos los binarios creados desde este momento sí usarán NPTL. aunque no haya activado NPTL). Para hacer esto. 12.11. NPTL es un modelo nuevo de hilos de ejecución que presenta tiempos creación y destrucción de hilos mucho más rápidos. puede dejar que su sistema se convierta "naturalmente" a usar NPTL. por ejemplo: Listado de Código 11.6 y esperemos que sin mayores problemas. los binarios existentes no lo usarán hasta que sean recompilados. a medida que vaya actualizando sus paquetes a sus últimas versiones cuando éstos sean lanzados. Tal vez quiera recompilar todos los binarios en este momento. ¡Precaución! Ahora haga emerge glibc (debería hacer esto. Esto tal vez no haga mucha diferencia en la mayoría de los sistemas. Listado de Código 11. Listado de Código 11.

Disfrute su sistemas potenciados por 2.4. Por ejemplo.4.4.* Portage no limpiará completamente su instalación de fuentes 2.4. por favor reporte un bug con nosotros en nuestro Bugzilla. quizás decida que ya no le hace falta poder usar Linux 2. manteniendo las versiones 2. ya que se crean archivos temporales durante la compilación. Nos gustaría agradecer a todos aquellos usuarios que efectivamente 'probaron' este documentos mientras estaba en sus etapas iniciales y que dieron sus comentarios acerca de cómo fue el proceso de migración.3: Eliminación de módulos 2. ¡Siga las instrucciones de esta sección únicamente en caso de que no desee volver a usar Linux 2.6 nos trae. Puede eliminarlos con seguridad usando la siguiente orden: Listado de Código 12.4. :) Eliminar Linux 2. Lo investigaremos y si encontramos que es un problema con las fuentes originales del núcleo.Si tiene algún problema con su núcleo 2. versión 2. ya que no harán más falta.4! Las fuentes del núcleo 2. si asumimos que tiene versiones de las fuentes vanilla-sources y gentoo-sources.6 y puede confirmar que no existía en Linux 2. le pediremos que lo reporte al bugzilla central del núcleo. Los pasos que puede tomar para limpiar su sistema los detallamos a continuación. por encima del 2.4.6 por algún tiempo. Listado de Código 12.* Adicionalmente puede borrar los módulos y archivos de información relacionados a las instalaciones antiguas del núcleo 2.2: Eliminación de archivos temporales remanentes # rm -rf /usr/src/linux-2.4 # emerge --unmerge =vanilla-sources-2.4.6.4 de su sistema Luego de correr Linux 2. Lamentamos no haber contestado todos los correos (¡eran muchos!) pero leímos cada uno de ellos y refinamos este documento donde era apropiado. podría usar la siguiente orden para borrarlas.4. Conclusión Tenemos la esperanza que acaba de completar una migración sin sobresaltos y esté disfrutando de los beneficios que Linux 2.1: Ejemplo: Borrando las fuentes Linux 2.* =gentoosources-2.4 previamente .4 puede ser borradas usando la herramienta emerge de la manera usual.6 intactas: Listado de Código 12.4.

6. El demonio de administración devfs. puede borrar este paquete para evitar conflictos futuros. Algunos usuarios de Linux 2. Si desea continuar con la conversión (¡esto es totalmente opcional!) entonces debería examinar la página del manual de vgconvert para instrucciones de cómo llevar esto a cabo. así que podemos borrar este paquete para prevenir futuros conflictos. Se muestra a continuación un ejemplo. puede que quiera convertir sus datos al formato de LVM2 para beneficiarse de las ventajas que LVM2 provee. Listado de Código 12. .4 haban instalado previamente el paquete alsa-driver para aprovechar las características nuevas de audio incluidas en Linux 2. donde main es el nombre del grupo de volumen. los drivers I2C ahora están incluidos en el núcleo. puede ser borrado sin temores.4. Questions. esta operación tiene como efecto que no podrá acceder sus datos LVM desde un núcleo 2. ahora estamos usando udev para la administración de dispositivos.5: Convirtiendo un volúmen LVM1 al formato LVM2 # vgconvert -M2 main Copyright 2001-2012 Gentoo Foundation. Sin embargo. pueden ser borrados con seguridad. i2c e devfsd # emerge --unmerge alsa-driver i2c devfsd Si es un usuario de LVM2. Comments? Contact us.6 (en contraposición con el uso del paquete alsa-driver). Actualice la configuración de su gestor de arranque para que no haga referencia a las imágenes del núcleo que han sido borradas. Adicionalmente. Inc. los usuarios de lm-sensors habrán usado anteriormente el paquete i2c para obtener los drivers del hardware. Como ya hemos mencionado.4: Eliminación de los paquetes alsa-driver.* Los binarios del núcleo usados para iniciar. Listado de Código 12. Monte su partición /boot y borre esas imágenes. Si es uno de estos usuarios y siguió los consejos dados anteriormente en ese mismo documento acerca de la construcción de ALSA junto con las fuentes del núcleo 2.4. devfsd.instalados # rm -rf /lib/modules/2.

entre otros.0. Una perspectiva técnica Antes de ir a las opciones exactas de configuración en el núcleo. Adicionalmente USB 2. lo que significa que no tiene que reiniciar su sistema para poder usar esos dispositivos. USB 1. UHCI (HCI Universal) y EHCI (HCI Mejorado).0 permite una velocidad máxima de transferencia de datos de 480 Mbps o 60 MBps y esta es la principal diferencia entre los dos estándares. impresoras. Introducción ¿Qué es USB? USB significa Bus Serial Universal (Universal Serial Bus en inglés) y básicamente es una interfaz externa estándar que permite la comunicación entre el computador y varios tipos de periféricos. es bueno revisar USB un poco más en detalle. Los últimos dispositivos USB típicamente son compatibles con USB 2. Actualmente hay dos versiones en uso de USB. llaveros (también llamados pen drives). concentradores y un concentrador raíz. Si está apurado o desea saltarse esta sección.Guía de USB en Gentoo Linux Contenido: 1. Debido a que USB siempre ha sido compatible hacia atrás con sus versiones anteriores. ratones. grabadores externos de CD y DVD. Hoy en día hay un par de interfaces HCI (Interfaz de Controladora de Host) en uso y son la interfaz OHCI (Open HCI) proveniente de Compaq. Algunos de los dispositivos USB más comúnmente usados hoy en día son los teclados. El fabricante de hardware provee de una interfaz al programador que permite al sistema interactuar con el hardware al que se le conoce como HCD (Dispositivo Controlador del .1 mientras que EHCI lo es para USB 2.0 es compatible con USB 1. ambas de Intel.1 y USB 2. etc. cámaras digitales. Tanto OHCI como UCHI son los estándares de interfaces en la industria para USB 1.0. Un sistema USB tiene una controladora. USB 2.1. por favor vaya a Configuración del Núcleo. Otra ventaja de USB es que los dispositivos son todos enchufables en caliente. a saber. y permite tener hasta 127 dispositivos USB incluyendo los concentradores.0. La controladora no es otra cosa que la interfaz de hardware entre el dispositivo USB y el Sistema Operativo.

Hardware ---+ ---. 82801DB USB (Hub #1) (rev 01) Intel Corp. A través del HCD el dispositivo interactúa con el software.+ Usuario Un dispositivo USB puede usar un manejador propio o bien uno ya presente en el sistema y esto está basado en el concepto de clase de un dispositivo.0 USB Controller: (prog-if 00 [UHCI]) 00:1d. Usaremos la orden lscpci para este propósito. Si no lo tiene instalado. 82801DB USB EHCI Controller (rev . Listado de Código 1. Esto significa que si un dispositivo pertenece a cierta clase.1.0. cámaras digitales. Nota: La herramienta lspci es parte del paquete sys-apps/pciutils. la clase de dispositivos USB de almacenamiento masivo comprende a dispositivos como los llaveros.Host). 82801DB USB (Hub #3) (rev 01) Intel Corp. reproductores de audio y la clase CDC de USB (Clase de Dispositivos de Comunicación) que esencialmente cubre los módems USB y dispositivos similares.2: Algunas salidas de lspci (En un sistema USB 1.7 USB Controller: 01) (prog-if 20 [EHCI]) Intel Corp. Alguna de esas son la clase USB HID (Dispositivos de Interfaz Humana) que abarca dispositivos de entrada como teclados y ratones. pero no se muestra por motivos de simplicidad) + ----. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI]) (En un sistema USB 2.2 USB Controller: Intel Corp. note que solo hay UHCI) # lspci -v | grep USB 0000:00:04. USB] -+-> {EHCI}--+---> ( EHCD ) | | | | `-> {UHCI}--+---> ( UHCD ) | | + ----. Note que debe ser superusuario mientras ejecute la orden lspci.1: Arquitectura General de USB (El software consiste de otras componentes también tal como el manejador del dispositivo. entonces otros dispositivos que también pertenezcan a la misma clase pueden hacer uso del mismo manejador.Software | | |[Disp. ¿Qué hay en su máquina? Es muy simple averiguar si su máquina tiene o no soporte USB 2. El siguiente diagrama debería aclarar los conceptos y ayudar a una mejor comprensión: Listado de Código 1. 82801DB USB (Hub #2) (rev 01) Intel Corp. hágalo mediante emerge pciutils.1 USB Controller: (prog-if 00 [UHCI]) 00:1d.2 USB Controller: (prog-if 00 [UHCI]) 00:1d. note que hay EHCI y UHCI) 00:1d.Software ---.Hardware ---+ ---.+ | | | | | ---.0.

Configuración del Núcleo Obteniendo el núcleo Primero instale con emerge las fuentes del núcleo de su preferencia. Esto será de utilidad al activar las opciones correspondientes en el núcleo. todos los ejemplos tienen las opciones configuradas en el núcleo y no como módulos. necesitamos activar el soporte de discos) --SCSI support type (disk. lea el manual del fabricante o busque en Internet para ver si dicho dispositivo tiene soporte incluido en el núcleo o que haya algún controlador que puede usar. Si desea tener un núcleo modular. CD-ROM) <*> SCSI disk support (Luego muévase un nivel atrás y vaya a "USB support") USB support ---> (Este es el concentrador raíz y se necesita para el soporte USB. Aquí usaremos gentoo-sources.2: Dirigiéndose a la fuentes # # cd /usr/src/linux make menuconfig Nota: El ejemplo anterior asume que el enlace simbólico /usr/src/linux apunta a las fuentes del núcleo que desea usar.0. tape. Si tiene un dispositivo específico USB que necesita ser configurado. un dispositivo de almacenamiento USB (en su mayoría cámaras y llaveros USB). asegúrese de anotar los nombres de los módulos y ajuste apropiadamente sus archivos de configuración. Listado de Código 2. Listado de Código 2. Por favor. Para mayor información acerca de las distintas fuentes del núcleo disponibles en Portage. Si prefiere compilarlo como módulo. por ejemplo. será llamado usbcore) <*> Support for Host-side USB . Nota: Los ejemplos en este documento mostrarán las opciones de configuración para dar soporte básico de USB así como aquellas que comúnmente se necesitan.Así que al usar la orden lspci. procedemos con la tarea de configurar el núcleo.3: Opciones de make menuconfig Device Drivers ---> SCSI device support ---> (Aunque SCSI será activado de forma automática al seleccionar "USB Mass Storage".1: Obtener las fuentes del núcleo # emerge gentoo-sources Ahora. por favor revise la Guía del Núcleo de Gentoo. Note que por motivos de simplicidad. 2. puede averiguar si sistema permite el uso de USB 2. Listado de Código 2. Opciones de configuración para el núcleo Ahora se dará una mirada a algunas de las opciones que tendrá que activar en el núcleo para asegurar el soporte de USB para sus dispositivos. asegúrese de esto antes de continuar.

joystick. Ver USB funcionando ¡dmesg es su amigo! Ha llegado la hora de probar y usar los dispositivos USB.(Seleccione al menos uno de los siguientes HCD.0) support < > OHCI HCD support <*> UHCI HCD (most Intel and VIA) support (Moviéndose un poco más abajo. o cualquier otro dispositivo. por favor use dmesg | more o dmesg | less para ver mejor la salida en su sistema. Regrese un nivel a "Device drivers" y active el soporte para HID como se muestra a continuación: Listado de Código 2. ratón. Ahora puede pasar a Ver USB funcionando y asegurarse que todo trabaje como es debido. Empezaremos conectando un llavero USB de 512 MB. Listado de Código 3.4: Activando el soporte HID Device Drivers ---> [*] HID Devices ---> <*> USB Human Interface Device (full HID) support Ya que están configuradas sus opciones.1: Salida de dmesg para el llavero (Conecte el llavero en el puerto USB disponible y luego ejecute: # dmesg | less . puede seleccionar todos sin problemas) --. Puede usar algún otro dispositivo de almacenamiento masivo similar. En este capítulo veremos cómo responde el sistema a los variados dispositivos USB. necesitará activar esto) USB Network Adapters ---> <*> USB RTL8150 based ethernet device support (EXPERIMENTAL) (Si tiene un conversor serial a USB como el Prolific 2303. pues lee el búfer del núcleo que tiene todos los mensajes del arranque. se llega a la sección CDC y almacenamiento masivo) < > USB Modem (CDC ACM) support <*> USB Printer support <*> USB Mass Storage support (Si tiene una tarjeta de red USB como la RTL8150. Si lo necesita. necesitará activar esto) USB Serial Converter support ---> <*> USB Serial Converter support <*> USB Prolific 2303 Single Port Serial Driver (NEW) Si tiene un teclado USB. Nota: dmesg.USB Host Controller Drivers <*> EHCI HCD (USB 2. Usaremos principalmente dmesg para ver qué está sucediendo y cómo responde el sistema al dispositivo. 3. presenta una buena cantidad de información antes de desplegar la que necesitamos. La salida mostrada en los siguientes ejemplos tiene sólo las opciones relevantes y se han agregado espacios extras para mejorar la lectura. Si no está seguro. puede (re)compilar el núcleo y el soporte USB debería estar funcionando una vez que reinicie con el nuevo núcleo. necesitará activar el soporte para HID. en general.

puede acceder a él como si fuera un disco duro normal.2: Acceder al llavero # mount /dev/sdb1 /mnt/usb # df -h Filesystem Size /dev/sda8 9. Por favor. lun 0. type 0 usb-storage: device scan complete (En este punto.9G 80% / 8. channel 0. channel 0. lun 0 Attached scsi generic sg0 at scsi0. También podría crear un sistema de archivos en el llavero USB. ¿Cómo aparecería un ratón USB en caso de que tenga uno? Lo hará como un dispositivo .00 Type: Direct-Access ANSI SCSI revision: 02 SCSI device sdb: 1003600 512-byte hdwr sectors (514 MB) (La característica de protección de escritura es código marcado como EXPERIMENTAL en los últimos núcleos) sdb: Write Protect is off sdb: Mode Sense: 0b 00 00 08 sdb: assuming drive cache: write through SCSI device sdb: 1003600 512-byte hdwr sectors (514 MB) /dev/scsi/host0/bus0/target0/lun0: p1 Attached scsi removable disk sdb at scsi0. Las cámaras de hoy en día normalmente tienen dos modos para transferir las fotos: Almacenamiento masivo USB y PTP (Protocolo de Transferencia de Imágenes). etc funcionan bien.(El dispositivo es seleccionado como de tipo USB 1. id 0. note que esto puede que NO funcione en todos los casos y con todas las cámaras digitales que tengan soporte USB. el sistema da cuenta de aquello) usb 1-1: USB disconnect. el dispositivo generalmente es accesible montando /dev/sdb1) (Cuando se desconecta el dispositivo.1G 2. motivo por el cual no se explica con detalle.4G 78% /usr 0 189M 0% /dev/shm 34M 457M 7% /mnt/usb Nota: Las cámaras digitales pueden accederse de la misma forma que los llaveros.5G 1.) usb 1-1: new full speed USB device using uhci_hcd and address 2 (Aparece automáticamente la emulación SCSI) scsi0 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 2 (Ahora se recupera la información del dispositivo incluyendo su número de modelo) usb-storage: waiting for device to settle before scanning Vendor: JetFlash Model: TS512MJF2A Rev: 1. address 2 Una vez que el dispositivo está conectado y montado. El autor de este documento posee una Nikon Coolpix 5200 y obtiene acceso de esta forma. También dice qué HCD está usando. Las operaciones habituales como cp. id 0. La cámara está configurada para que se comporte como un dispositivo de almacenamiento masivo y el procedimiento usado es exactamente el mismo para acceder a un llavero USB. mv. Listado de Código 3.4G /dev/sda9 11G none 189M /dev/sdb1 490M Used Avail Use% Mounted on 7.1 y se le asigna una dirección. rm.

puede ejecutar lsusb para obtener información simple de los dispositivos USB que están conectados a la máquina. La orden es lsusb -t.HID. Una de las herramientas más útiles que hay es lsusb. USB en el espacio del usuario Herramientas útiles Hasta ahora hemos visto cuánto soporte de USB existe en el núcleo/sistema en Linux. tiene la opción de ejecutar lsusb -v. Inténtelo y vea la cantidad de información que se despliega. Si no está activado aquello en su núcleo.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb0000:00:07. Listado de Código 4.c: v2. 4. Aviso: lsusb lee la información de los dispositivos USB a partir de /proc/bus/usb. asegúrese que el soporte del sistema de archivos /proc esté activado en su núcleo y que usbfs esté montado en /proc/bus/usb (lo que debería pasar automáticamente).2-1 Otra orden elegante que puede usar para ver el estado de sus puertos USB es lsusb. Por favor. Nota: Debe ser superusuario en la mayoría de los casos para ejecutar lsusb. Listado de Código 4.1: Instalar usbutils # emerge usbutils Una vez instalado. Instalarlo es muy simple. es posible que lsusb no funcione. Optical Mouse (Este es el concentrador raíz) Bus 001 Device 001: ID 0000:0000 Si es de aquellos que disfruta de ver mucha información. LLC. Listado de Código 3.3: Ratón óptico USB # dmesg | grep USB drivers/usb/input/hid-core. Inc. Otra buena opción es que lsusb muestra la jerarquía física actual de USB como un árbol y por tanto hace más fácil de entender el mapa exacto del dispositivo.2: lsusb en acción # lsusb (Este es el llavero USB de 512 MB de Transcend) Bus 001 Device 003: ID 0c76:0005 JMTek. Ahora prestaremos atención en qué tipo de soporte provee Gentoo para USB en el espacio del usuario. Listado de Código 4. Es parte de sys-apps/usbutils y será cubierto en el siguiente capítulo.0:USB HID core driver usb 1-1: new low speed USB device using address 2 input: USB HID v1. Por ejemplo. USBdisk (Este es el ratón óptico) Bus 001 Device 002: ID 046d:c00e Logitech.3: lsusb mostrando la jerarquía USB # lsusb -t Bus# 1 `-Dev# 1 Vendor 0x0000 Product 0x0000 . Esta muestra todos los dispositivos conectados al sistema.

|-Dev# `-Dev# 2 Vendor 0x046d Product 0xc00e 3 Vendor 0x0c76 Product 0x0005 Fácilmente puede correlacionar las salidas de lsusb y lsusb -t. a no ser que se especifique expresamente. que ayuda a la hora de depurar así como entender el funcionamiento de USB. Aunque las instrucciones que se presentan en este documento están orientadas al LiveCD de instalación de Gentoo Linux usando un llavero USB. y algunos de ellos son bastante técnicos pero ciertamente interesantes. ¡Así que aquí vamos! • • • • • El sitio Web Oficial de USB PFU (FAQ) de USB El estándar OHCI de Compaq El estándar UHCI de Intel El estándar EHCI de Intel Otros enlaces interesantes • COMO (HOWTO): LiveUSB en Gentoo Linux El contenido de este documento. Pienso que todos merecen algo de crédito. Se aplican las Pautas de Utilización del logo y nombre de Gentoo. Referencias Me fueron de especial ayuda un buen número de documentos en línea para escribir esto. en otras palabras. está registrado bajo los términos de la licencia CC-BY-SA-2. Introducción El LiveUSB Esta guía explica cómo crear LiveUSB en Gentoo Linux o.. COMO (HOWTO): LiveUSB en Gentoo Linux Contenido: 1.5. cómo emular un CD de Instalación de Gentoo Linux x86 o AMD64 usando un llavero USB.. Esto es particularmente útil para instalar Gentoo Linux en un portátil moderno sin lector de CD-ROM. Nota: El paquete sys-boot/unetbootin ofrece una alternativa más fácil para crear un llavero USB arrancable desde cualquier imagen arrancable de CD. deberían funcionar para . 5. Agradecimientos .

2063597056 bytes 255 heads. Prerrequisitos Para usar LiveUSB en Gentoo Linux necesita lo siguiente: • • Un dispositivo USB arrancable con al menos 1GB Una computadora i686 or x86_64 que arranque desde dispositivos USB También va a necesitar acceso a lo siguiente para crear el LiveUSB: • Una computadora ejecutando Gentoo Linux (o alternativamente otra distribución de Linux) 2. use el tipo de partición type b (W95 FAT32). Cree una partición FAT16 en su llavero USB y márquela como arrancable usando fdisk. 63 sectors/track. A continuación se presenta un ejemplo del esquema de particionamiento: Nota: Si el llavero es de 4GB o mayor.2: Ejecutar mkdosfs (Asegúrese de tener instalado sys-fs/dosfstools) # emerge -av sys-fs/dosfstools # mkdosfs -F 16 /dev/sdc1 mkdosfs 2. asegúrese de usar el nodo de dispositivo adecuado.11 (12 Mar 2005) . Listado de Código 2. Listado de Código 2. use el tipo de partición type b (W95 FAT32). Asegúrese de respaldar sus datos antes.cualquier dispositivo de bloques siempre y cuando se ajusten los nombres de los dispositivos tal como corresponde. 250 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot /dev/sdc1 * Start 1 End 250 Blocks 2008124+ Id 6 System FAT16 Crear el sistema de ficheros Cree un sistema de ficheros FAT16 en el llavero USB usando mkdosfs: Nota: Si el llavero es de 4GB o mayor. Si tiene otros dispositivos de tipo SCSI. Preparar el llavero USB Particionar el llavero Aviso: Estas instrucciones borrarán todos los datos del llavero USB. Importante: Este COMO asume que el nodo de dispositivo /dev/sdc corresponde a su llavero USB.1: Ejemplo de esquema de particionamiento # fdisk -l /dev/sdc Disk /dev/sdc: 2063 MB.

0.0162317 s.iso /mnt/cdrom Nota: Si obtiene el mensaje de error Could not find any loop device cuando monte el fichero ISO.ro -t iso9660 /trayectoria/al/iso.2: Montar el llavero USB (Cree el punto de montaje /mnt/usb/ si fuese necesario) # mkdir -p /mnt/usb # mount -t vfat /dev/sdc1 /mnt/usb/ Copiar los ficheros Copie los ficheros del CD de instalación de Gentoo Linux al LiveUSB. 18.cfg /mnt/usb/syslinux. Montar el LiveUSB Monte el llavero recién formateado en /mnt/usb/ tal como se indica abajo: Listado de Código 3.bin of=/dev/sdc 0+1 records in 0+1 records out 304 bytes (304 B) copied.7 kB/s 3.cfg -rf /mnt/usb/isolinux* (El núcleo memtest86 tiene que ser renombrado para cargarlo vía syslinux) # mv /mnt/usb/memtest86 /mnt/usb/memtest .1: Montar la imagen del CD de instalación de Gentoo Linux (Cree el punto de montaje /mnt/cdrom/ si fuese necesario) # mkdir -p /mnt/cdrom # mount -o loop.00 o más reciente) # emerge -av '>=sys-boot/syslinux-3' # dd if=/usr/share/syslinux/mbr. Los ficheros necesitan ser reordenados un poco pues haremos uso del gestor de arranque syslinux en vez de isolinux: Listado de Código 3.Instalar el Registro de Arranque Maestro (Master Boot Record) Instale el Registro de Arranque Maestro precompilado (MBR) desde syslinux en el llavero USB: Listado de Código 2. Copiar los ficheros al llavero Montar el CD de instalación de Gentoo Linux Descargue el CD de instalación mínimo semanal para su arquitectura del servidor espejo Gentoo Linux local y monte la imagen ISO en /mnt/cdrom como se muestra a continuación: Listado de Código 3. tiene que activar la opción Loopback device support en la configuración de su núcleo.3: Copiar los ficheros # # # # cp mv mv rm -r /mnt/cdrom/* /mnt/usb /mnt/usb/isolinux/* /mnt/usb /mnt/usb/isolinux.3: Instalar el MBR (Asegúrese de tener instalado sys-boot/syslinux-3.

cfg para que los cambios de configuración tomen efecto. Listado de Código 3.Ahora puede desmontar la imagen ISO: Listado de Código 3. 5. El solo comentar SAMPLE FILE será suficiente para los fines de esta guía. Nota: Si esta es la primera vez que ha usado syslinux. Instalar un gestor de arranque Desmontar el llavero Asegúrese de desmontar el llavero USB antes de instalar el gestor de arranque: Listado de Código 4.1: Desmontar el llavero USB # umount /mnt/usb Instalar syslinux Finalmente instale el gestor de arranque syslinux en el llavero USB: Listado de Código 4. De aquí en adelante debería ser capaz de seguir las instrucciones de instalación presentes en el Manual de Gentoo.conf en el anfitrión.4: Desmontar la imagen ISO # umount /mnt/cdrom Ajustar la configuración del gestor de arranque Ajuste el fichero de configuración de syslinux usando sed como se muestra más abajo. Usar el LiveUSB Arranque Inserte el llavero USB y encienda su computadora.5: Ajustar los parámetros de arranque # sed -i \ -e "s:cdroot:cdroot slowusb:" \ -e "s:kernel memtest86:kernel memtest:" \ /mnt/usb/syslinux. debe modificar /etc/mtools/mtools.2: Ejecutar syslinux # syslinux /dev/sdc1 Importante: Tendrá que ejecutar nuevamente syslinux /dev/sdc1 cada vez que modifique el fichero syslinux. Esto es necesario para permitir que el llavero USB se estabilice al conectarlo. El parámetro slowusb introducirá unos retrasos adicionales de antes de tratar de montar el sistema de ficheros. Si todo va bien debería ver el prompt estándar de syslinux. asegurándose que la BIOS está configurada para que el PC arranque desde el USB. .cfg 4.

Sign up to vote on this title
UsefulNot useful