                  Preguntas Frecuentes para FreeBSD 9.X y 10.X

  El proyecto de documentacion de FreeBSD

   Revision: faee10a74a

   Copyright (c) 1995-2015 The FreeBSD Documentation Project

   Copyright

   La redistribucion y el uso en formatos fuente(XML DocBook) y 'compilados'
   (XML, HTML, PDF, PostScript, RTF y similares) con o sin modificacion,
   estan permitidas siempre que se cumplan las siguientes condiciones:

    1. Las redistribuciones de codigo fuente (XML DocBook) deben retener la
       noticia de copyright listada mas arriba, esta lista de condiciones y
       la siguiente nota como las primera lineas de este archivo, sin
       modificaciones.

    2. Las redistribuciones en formato compilado (tranformado a otros DTDs,
       convertido en PDF, PostScript, RTF y otros formatos deben reproducir
       la nota de copyright indicada mas arriba, esta lista de condiciones y
       la siguiente nota en la documentacion y/o otros materias provistos con
       las distribucion.

  Importante:

   THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS
   IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION
   PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

   FreeBSD es una marca registrada de FreeBSD Foundation.

   Adobe, Acrobat, Acrobat Reader, Flash y PostScript son marcas registradas
   o marcas de Adobe Systems Incorporated en los Estados Unidos y/o en otros
   paises.

   IBM, AIX, OS/2, PowerPC, PS/2, S/390, y ThinkPad son marcas de
   International Business Machines Corporation en los Estados Unidos, otros
   paises, o ambos.

   IEEE, POSIX, y 802 son marcas registradas de Institute of Electrical and
   Electronics Engineers, Inc. en los Estados Unidos.

   Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium,
   Pentium, y Xeon son marcas o marcas registradas de Intel Corporation o sus
   subsidiarias en los Estados Unidos y otros paises.

   Linux es una marca registrada de Linus Torvalds.

   Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media y Windows
   NT son marcas registradas o marcas de Microsoft Corporation en los Estados
   Unidos y/o otros paises.

   NetBSD es una marca registrada de NetBSD Foundation.

   Motif, OSF/1, y UNIX son marcas registradas y IT DialTone y The Open Group
   son marcas de The Open Group en los Estados Unidos y otros paises.

   Silicon Graphics, SGI, y OpenGL son marcas registradas de Silicon
   Graphics, Inc., en los estaods unidos y/o otros paises al rededor del
   mundo.

   Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM,
   Netra, OpenJDK, Solaris, StarOffice, SunOS y VirtualBox son marcas o
   marcas registradas de Sun Microsystems, Inc. en los Estados Unidos y otros
   paises.

   Muchas de las designaciones usadas por fabricantes y vendedores para
   distinguir sus productos son reclamadas como marcas. En los lugares donde
   dichas designaciones aparecen en este documento, y el proyecto FreeBSD
   estaba al tanto del reclamo de marca, las designaciones van seguidas de
   los simbolos "(TM)" o "(R)".

   Resumen

   Estas son las Preguntas Frencuentes FAQ para FreeBSD en sus versiones 9.X
   y 10.X. Se han realizado muchos esfuerzos para hacer este FAQ lo mas
   informativo posible; si tiene sugerencias sobre como mejorarlo, envielas a
   la lista de correo del proyecto de documentacion FreeBSD.

   La ultima version de esto documento esta siempre disponible desde el sitio
   web de FreeBSD. Tambien puede ser descargada como un solo archivo HTML con
   HTTP o en varios otros formatos desde el servidor FTP de FreeBSD.

   [ Split HTML / Single HTML ]

     ----------------------------------------------------------------------

   Tabla de contenidos

   1. Introduccion

   2. Documentacion y soporte

   3. Instalacion

   4. Compatibilidad de Hardware

                4.1. General

                4.2. Arquitecturas y Procesadores

                4.3. Discos duros, unidades de cinta y unidades de CD y DVD

                4.4. Teclados y Ratones

                4.5. Otro Hardware

   5. Solucion de problemas

   6. Aplicaciones de usuario

   7. Configuracion del Kernel

   8. Discos, sistemas de archivos y cargadores de arranque

   9. ZFS

   10. Administracion del sistema

   11. El sistema X Window y las consolas virtuales

   12. Redes

   13. Seguridad

   14. PPP

   15. Comunicaciones en serie

   16. Preguntas varias

   17. Cosas divertidas de FreeBSD

   18. Temas avanzados

   19. Reconocimientos

   Bibliografia

                            Capitulo 1. Introduccion

   1.1. ?Que es FreeBSD?

   1.2. ?Cual es el objetivo del proyecto FreeBSD?

   1.3. ?Tiene alguna restriccion la licencia de FreeBSD?

   1.4. ?Puede FreeBSD reemplazar mi sistema operativo actual?

   1.5. ?Porque se llama FreeBSD?

   1.6. ?Cuales son las diferencias entre FreeBSD y NetBSD, OpenBSD, y otros
   sistemas operativos BSD de codigo abierto?

   1.7. ?Cual es la ultima version de FreeBSD?

   1.8. ?Que es FreeBSD-CURRENT?

   1.9. ?Cual es el concepto de FreeBSD-STABLE?

   1.10. ?Cuando se hacen los lanzamientos de FreeBSD?

   1.11. ?Quien es responsable por FreeBSD?

   1.12. ?Donde puedo obtener FreeBSD?

   1.13. ?Como accedo a la base de datos de reporte de problemas?

   1.1.  ?Que es FreeBSD?                                                     
         FreeBSD es un sistema operativo moderno para desktops, laptops,      
         servidores, y sistemas embebidos con con soporte para un gran numero 
         de plataformas.                                                      
                                                                              
         Esta basado en la version "4.4BSD-Lite" de la U.C. Berkeley, con     
         algunas mejoras de "4.4BSD-Lite2". Tambien esta basado               
         indirectamente en el port que William Jolitz's hizo de "Net/2" de la 
         U.C. Berkeley a i386(TM), conocido como "386BSD", a pesar de que     
         actualmente queda muy poco codigo de 386BSD.                         
                                                                              
         FreeBSD es usado por companias, proveedores de internet,             
         investigadores, profesionales de las computadoras, estudiantes y     
         usuarios hogarenos alrededor del mundo para su trabajo educacion y   
         recreacion.                                                          
                                                                              
         Para informacion mas detallada acerca de FreeBSD, vea el manual de   
         FreeBSD.                                                             
   1.2.  ?Cual es el objetivo del proyecto FreeBSD?                           
         El objetivo del proyecto FreeBSD es proveer un sistema operativo     
         estable y veloz de proposito general que pueda ser usado para        
         cualquier proposito sin ataduras.                                    
   1.3.  ?Tiene alguna restriccion la licencia de FreeBSD?                    
         Si. Estas restricciones no controlan como se usa el codigo, sino     
         como se trata al proyecto FreeBSD en si mismo. La licencia esta      
         disponible en licencia y puede ser resumida de la siguiente manera:  
                                                                              
           * No pretenda haber escrito esto.                                  
                                                                              
           * No nos demande si falla.                                         
                                                                              
           * No remueva o modifique la licencia.                              
                                                                              
         Muchos de nosotros hemos invertido significativamente en el proyecto 
         y no nos molestaria recibir una pequena compensacion financiera      
         ocasionalmente, pero de ninguna manera insistiremos en ello.         
         Creeemos que nuestra primera y principal "mision" es proveer codigo  
         a todos los consumidores, para cualquier proposito, de manera que el 
         codigo se utilize de la manera mas amplia posible y provea el mayor  
         beneficio posible. Esta, creemos es una de las metas mas             
         fundamentales del software libre, y una que apoyamos                 
         entusiastamente.                                                     
                                                                              
         El codigo en nuestro arbol de codigo fuente que esta cubierto por la 
         Licencia Publica General de GNU o la GNU Library General Public      
         License (LGPL) viene con mas restricciones, pero el menos del lado   
         de forzar el acceso al codigo en lugar de su opuesto. Debido a las   
         complejidades adicionales que pueden evolucionar del uso comercial   
         de software GPL, intentamos reemplazar tal software con alternativas 
         bajo la mas permisiva licencia de FreeBSD cuando sea posible.        
   1.4.  ?Puede FreeBSD reemplazar mi sistema operativo actual?               
         Para la mayoria de la gente, si. Pero esta pregunta no es tan        
         simple.                                                              
                                                                              
         La mayoria de la gente no usa realmente un sistema operativo. Usan   
         aplicaciones. Estas aplicaciones son las que realmente utilizan el   
         sistema operativo. FreeBSD fue disenado para proveer un ambiente     
         robusto y lleno de caracteristicas para aplicaciones. Soporta una    
         amplia variedad de navegadores web, suites ofimaticas, lectores de   
         correo electronico, programas graficos, ambientes de programacion,   
         servidores de red, y mucho mas. La mayoria de estas aplicaciones     
         puede manejarse a traves de La coleccion de Ports.                   
                                                                              
         Si una aplicacion solo esta disponible en un sistema operativo, ese  
         sistema operativo no puede ser reemplazado. De todas maneras, hay    
         muchas posibilidades de que haya una aplicacion muy similar en       
         FreeBSD. Como un solido servidor para la oficina o internet o una    
         confiable estacion de trabajo, FreeBSD con toda seguridad hara todo  
         lo que usted necesita. Muchos usuarios de computadoras alrededor del 
         mundo, incluyendo novatos y administradores UNIX(R) experimentados,  
         utilizan FreeBSD como su unico sistema operativo de escritorio.      
                                                                              
         Los usuarios que migren a FreeBSD desde otro ambiente estilo UNIX(R) 
         encontraran que FreeBSD es similar. Los usuarios de Windows(R) y     
         Mac OS(R) pueden estar interesados en utilizar PC-BSD, una           
         distribucion de escritorio basada en FreeBSD. Los usuarios           
         no-UNIX(R) deberian esperar invertir mas tiempo aprendiendo la       
         manera UNIX(R) de hacer las cosas. Este FAQ y el manual de FreeBSD   
         son excelentes lugares para empezar.                                 
   1.5.  ?Porque se llama FreeBSD?                                            
           * Puede ser usado sin cargo, incluso por usuarios comerciales.     
                                                                              
           * El codigo fuente completo del sistema operativo esta disponible  
             libremente, y se le han impuesto las minimas restricciones       
             posible a su uso, distribucion y incorporacion en otras obras    
             (comerciales o no-comerciales).                                  
                                                                              
           * Cualquiera que posea una mejora una correccion de errores es     
             libre de enviar su codigo y que este se anada al arbol de codigo 
             fuente (sujeto a una o dos clausulas obvias).                    
                                                                              
         Vale la pena senalar que la palabra "free" se usa de dos maneras     
         aqui: una de ellas significa "sin costo" y la otra significa "haga   
         lo que quiera". Aparte de una o dos cosas que usted no puede hacer   
         con el codigo de FreeBSD, por ejemplo pretender que lo escribio,     
         puede hacer lo que desee con el mismo.                               
   1.6.  ?Cuales son las diferencias entre FreeBSD y NetBSD, OpenBSD, y otros 
         sistemas operativos BSD de codigo abierto?                           
         James Howard escribio una buena explicacion de la historia y         
         diferencias entre los varios proyectos, llamada El Arbol Familiar    
         BSD que se esfuerza en responder esta pregunta. Parte de la          
         informacion esta desactualizada, pero la parte historica en          
         particular sigue siendo precisa.                                     
                                                                              
         La mayoria de los BSDs comparten codigo y parches, aun hoy en dia.   
         Todos estos BSDs tienen un linaje en comun.                          
                                                                              
         Los objetivos de diseno de FreeBSD se describen en P: 1.2. Los       
         objetivos de diseno de los otros BSDs populares pueden resumirse     
         como sigue:                                                          
                                                                              
           * OpenBSD busca la seguridad del sistema operativo por sobre todo  
             lo demas. El equipo de OpenBSD escribio ssh(1) y pf(4), ambos    
             han sido porteados a FreeBSD.                                    
                                                                              
           * NetBSD apunta a ser facilmente porteado a otras plataformas de   
             hardware.                                                        
                                                                              
           * DragonFly BSD es un fork de FreeBSD 4.8 que desde entonces       
             desarrollo muchas caracteristicas propias interesantes,          
             incluyendo el sistema de archivos HAMMER y soporte para          
             "vkernels" en modo usuario.                                      
   1.7.  ?Cual es la ultima version de FreeBSD?                               
         En cualquier punto del desarrollo de FreeBSD puede haber multiples   
         ramas paralelas. Las versiones 10.X se hacen a partir de la rama     
         10-STABLE, y las versiones 9.X se hacen a partir de la rama          
         9-STABLE.                                                            
                                                                              
         Hasta el lanzamiento de 9.0, la serie 9.X era la conocida como       
         -STABLE. No obstante, a la fecha de lanzar 11.X, la rama 9.X sera    
         designada para un estatus de "soporte extendido" y recibira solo     
         arreglos para problemas importantes, por ejemplo los relacionados    
         con seguridad.                                                       
                                                                              
         La version 10.2 es la ultima version de la rama 10-STABLE; fue       
         lanzada en Agosto del 2015. La version 9.3 es la ultima version de   
         la rama 9-STABLE; fue lanzada en Julio del 2014.                     
                                                                              
         Las versiones se hacen cada unos cuantos meses. Mientras que mucha   
         gente se mantiene mas al corriente con las fuentes de FreeBSD (vea   
         las preguntas en FreeBSD-CURRENT y FreeBSD-STABLE) que eso, hacerlo  
         requiere un compromiso mayor, ya que las fuentes son un blanco en    
         movimiento.                                                          
                                                                              
         Puede encontrarse mas informacion acerca de las versiones de FreeBSD 
         en la pagina de Ingenieria de Versiones y en release(7).             
   1.8.  ?Que es FreeBSD-CURRENT?                                             
         FreeBSD-CURRENT es la version de desarrollo del sistema operativo,   
         la cual a su debido tiempo se convertira en la nueva rama            
         FreeBSD-STABLE. Como tal, solo sirve de interes a los                
         desarrolladores trabajando en el sistema y entusiastas acerrimos.    
         Vea la seccion reelevante en el manual para obtener detalles acerca  
         de correr -CURRENT.                                                  
                                                                              
         Los usuarios que no esten familiarizados con FreeBSD no deberian     
         usar FreeBSD-CURRENT. Esta rama suele evolucionar rapidamente y a    
         veces, debido a errores puede ser imposible de compilar. Se espera   
         que la gente que usa FreeBSD-CURRENT sea capaz de analizar,          
         debuggear y reportar problemas.                                      
                                                                              
         Las versiones snapshot de FreeBSD son hechas basadas en en el estado 
         actual de las ramas -CURRENT y -STABLE. Los objetivos detras de cada 
         version snapshot son:                                                
                                                                              
           * Probar la ultima version de la instalacion del software.         
                                                                              
           * Darle a la gente que quiera correr -CURRENT o -STABLE pero que   
             no tenga el tiempo o el ancho de banda para seguirlas dia a dia  
             una forma facil de correrlas en sus sistemas.                    
                                                                              
           * Preservar un punto de referencia fijo para el codigo en          
             cuestion, en el caso de que rompamos algo de manera catastrofica 
             mas adelante. (Aunque Subversion normalmente previene que algo   
             horrible como este suceda.)                                      
                                                                              
           * Asegurar que todas las nuevas caracteristicas y arreglos que     
             necesiten ser probados, tengan el mayor numero posible de        
             potenciales probadores.                                          
                                                                              
         No se asegura que un snapshot de -CURRENT pueda considerarse de      
         "calidad para produccion" para cualquier proposito. Si se necesita   
         un sistema estable y probado en profundidad, use las versiones       
         completas o snapshots de -STABLE.                                    
                                                                              
         Las versiones snapshot estan directamente disponibles desde          
         snapshot.                                                            
                                                                              
         Los snapshots oficiales se generan regularmente para todas las ramas 
         desarrolladas activamente.                                           
   1.9.  ?Cual es el concepto de FreeBSD-STABLE?                              
         Cuando se lanzo FreeBSD 2.0.5, el desarrollo de FreeBSD se ramifico  
         en dos. Una rama fue llamada -STABLE, y otra -CURRENT.               
         FreeBSD-STABLE esta pensada para ser usada por proveedores de        
         internet, y otras companias comerciales para las cuales cambios      
         bruscos o caracteristicas experimentales son indeseables. Solo       
         recibe arreglos de errores que hayan sido probados en profundidad y  
         otras pequenas mejoras incrementales. FreeBSD-CURRENT, por otra      
         parte ha sido una linea continua desde que se lanzo 2.0 hasta        
         10.2-RELEASE y mas alla. Para informacion mas detallada acerca de    
         las ramas vea "Ingenieria de lanzamientos de FreeBSD: Creando la     
         Rama de Lanzamiento", el estado de las ramas y la agenda de          
         lanzamientos futuros puede encontrarse en la pagina de Informacion   
         de ingenieria de lanzamientos.                                       
                                                                              
         10.2-STABLE es la rama activamente desarrollada de -STABLE. La       
         ultima version de la rama 10.2-STABLE es 10.2-RELEASE, la cual fue   
         lanzada en Agosto del 2015.                                          
                                                                              
         La rama 11-CURRENT es la rama activamente desarrollada de -CURRENT   
         para proxima generacion de FreeBSD. Vea ?Que es FreeBSD-CURRENT?     
         para mas informacion acerca de esta rama.                            
   1.10. ?Cuando se hacen los lanzamientos de FreeBSD?                        
         El equipo de ingenieria de lanzamientos <re@FreeBSD.org> lanza una   
         version mayor de FreeBSD cada aproximadamente 18 meses y una nueva   
         version menor cada aproximadamente 8 meses, en promedio. Las fechas  
         de lanzamiento se anuncian con antelacion, de manera que la gente    
         que trabaja en el sistema sabe cuando sus proyectos deben estar      
         terminados y probados. Un periodo de prueba precede cada             
         lanzamiento, para asegurarse que el agregado de nuevas               
         caracteristicas no comprometa la estabilidad del lanzamiento. Muchos 
         usuarios ven esta precuacion como una de las mejores cosas acerca de 
         FreeBSD, a pesar de que el esperar que las ultimas mejoras lleguen a 
         -STABLE puede ser un poco frustrante.                                
                                                                              
         mas informacion acerca del proceso de ingenieria de lanzamientos     
         (incluyendo una agenda de futuros lanzamientos) puede encontrarse en 
         las paginas de ingenieria de lanzamientos en el sitio de FreeBSD.    
                                                                              
         Para la gente que quiere o necesita algo de emocion, snapshots       
         binarios se hacen semanalmente, como se dijo mas arriba.             
   1.11. ?Quien es responsable por FreeBSD?                                   
         Las decisiones clave que tengan que ver con el proyecto FreeBSD,     
         tales como la direccion general del proyecto y quien puede agregar   
         codigo al arbol fuente, son hechas por un equipo central de 9        
         personas. Existe un equipo mucho mas grande de mas de 350 committers 
         que estan autorizados a hacer cambios directamente al arbol de       
         fuentes.                                                             
                                                                              
         No obstante, la mayoria de los cambios no triviales se discuten por  
         adelantado en las listas de correo, y no existen restricciones       
         acerca de quien puede participar en la discusion.                    
   1.12. ?Donde puedo obtener FreeBSD?                                        
         Cada lanzamiento importante de FreeBSD esta disponible via FTP       
         anonimo desde el sito FTP de FreeBSD:                                
                                                                              
           * La ultima version 10-STABLE, 10.2-RELEASE puede encontrarse en   
             el directorio de 10.2-RELEASE                                    
                                                                              
           * Versiones Snapshot se hacen mensualmente para las ramas -CURRENT 
             y -STABLE, siendo estas utiles unicamente para probadores de     
             vanguardia y desarrolladores.                                    
                                                                              
           * La ultima version 9-STABLE, 9.3-RELEASE puede encontrarse en el  
             directorio 9.3-RELEASE.                                          
                                                                              
         Informacion acerca de como obtener FreeBSD en CD, DVD y otros medios 
         puede encontrarse en el manual.                                      
   1.13. ?Como accedo a la base de datos de reporte de problemas?             
         La base de datos de reporte de problemas de todos los pedidos de     
         cambio por parte de los usuarios puede consultarse usando nuetra     
         interfaz de consulta de PR basada en web.                            
                                                                              
         La interfaz basada en web de envio de reporte de problemas puede ser 
         usada para enviar reportes a traves de un navegador web.             
                                                                              
         Antes de enviar un reporte de problemas, lea Escribiendo reportes de 
         problemas para FreeBSD, un articulo acerca de como escribir buenos   
         reportes de problemas.                                               

                      Capitulo 2. Documentacion y soporte

   2.1. ?Que buenos libros hay acerca de FreeBSD?

   2.2. ?Esta la documentacion disponible en otros formatos, tales como texto
   plano (ASCII), o PostScript(R)?

   2.3. ?Donde encuentro informacion acerca de las listas de correo de
   FreeBSD? ?Que grupos de noticias de FreeBSD estan disponibles?

   2.4. ?Hay canales de IRC (Internet Relay Chat) de FreeBSD?

   2.5. ?Existen foros web para discutir acerca de FreeBSD?

   2.6. ?Donde puedo obtener entrenamiento y soporte comercial de FreeBSD?

2.1. ?Que buenos libros hay acerca de FreeBSD?                                                       
     El proyecto produce un amplio rango de documentacion, disponible en linea a traves de este      
     link: http://www.FreeBSD.org/docs.html. Adicionalmente, la bibliografia al final de este FAQ, y 
     la del manual referencian otros libros recomendados.                                            
2.2. ?Esta la documentacion disponible en otros formatos, tales como texto plano (ASCII), o          
     PostScript(R)?                                                                                  
     Si. La documentacion esta disponible en un numero de diferentes formatos y esquemas de          
     compresion desde el sitio FTP de FreeBSD, en el directorio /pub/FreeBSD/doc/.                   
                                                                                                     
     La documentacion esta categorizada en un numero de manera distintas. Estas incluyen:            
                                                                                                     
       * El nombre del documento, tal como faq, o manual.                                            
                                                                                                     
       * El lenguaje y codificacion del documento. Estos estan basados en los nombres de locale      
         encontrados bajo /usr/share/locale en un sistema FreeBSD. Los lenguajes y codificaciones    
         actuales son los siguientes:                                                                
                                                                                                     
                     Nombre                                     Significado                          
         en_US.ISO8859-1                Ingles (Estados Unidos)                                      
         bn_BD.ISO10646-1               Bengali o Bangla (Bangladesh)                                
         da_DK.ISO8859-1                Danes (Dinamarca)                                            
         de_DE.ISO8859-1                Aleman (Alemania)                                            
         el_GR.ISO8859-7                Griego (Grecia)                                              
         es_ES.ISO8859-1                Espanol (Espana)                                             
         fr_FR.ISO8859-1                Frances (Francia)                                            
         hu_HU.ISO8859-2                Hungaro (Hungria)                                            
         it_IT.ISO8859-15               Italiano (Italia)                                            
         ja_JP.eucJP                    Japones (Japon, codificacion EUC)                            
         mn_MN.UTF-8                    Mongol (Mongolia, codificacion UTF-8)                        
         nl_NL.ISO8859-1                Holandes (Paises Bajos)                                      
         no_NO.ISO8859-1                Noruego (Noruega)                                            
         pl_PL.ISO8859-2                Polaco (Polonia)                                             
         pt_BR.ISO8859-1                Portugues (Brazil)                                           
         ru_RU.KOI8-R                   Ruso (Rusia, codificacion KOI8-R)                            
         sr_YU.ISO8859-2                Serbio (Serbia)                                              
         tr_TR.ISO8859-9                Turco (Turquia)                                              
         zh_CN.UTF-8                    Chino simplificado (China, codificacion UTF-8)               
         zh_TW.UTF-8                    Chino tradicional (Taiwan, codificacion UTF-8)               
                                                                                                     
       Nota:                                                                                         
                                                                                                     
         Algunos documentos pueden no estar disponibles en todos los lenguajes.                      
                                                                                                     
       * El formato del documento. Producimos la documentacion en varios formatos de salida          
         distintos. Cada formato tiene sus propias ventajas y desventajas. Algunos formatos son      
         mejores para ser leidos en linea, mientras que otros fueron concebidos para ser             
         esteticamente agradables al ser impresos en papel. Tener la documentacion disponible en     
         cualquiera de estos formatos asegura que nuestros lectores podran leer las partes en las    
         que estan interesados, tanto en su monitor, como en papel luego de imprimir los documentos. 
         Los formatos actualmente disponibles son:                                                   
                                                                                                     
                 Formato                                     Significado                             
         html-split               Coleccion de pequenos archivos HTML vinculados                     
         html                     Un solo archivo HTML conteniendo el documento entero               
         pdf                      Formato de documento portatil de Adobe                             
         ps                       PostScript(R)                                                      
         rtf                      Formato de Texto Enriquecido de Microsoft(R)                       
         txt                      Texto plano                                                        
                                                                                                     
       Nota:                                                                                         
                                                                                                     
         Los numeros de pagina no se actualizan automaticamente al cargar el Formato de Texto        
         Enriquecido en Word. Presione Ctrl+A, Ctrl+End, F9 luego de cargar el documento, para       
         actualizar los numeros de pagina.                                                           
                                                                                                     
       * El esquema de compresion y empaquetado.                                                     
                                                                                                     
           1. Donde el formato es html-split, los archivos son empaquetados usando tar(1). El        
              archivo .tar es luego comprimido usando los esquemas de compresion detallados en el    
              siguiente punto.                                                                       
                                                                                                     
           2. Todos los otros formatos generan un archivo. Por ejemplo, article.pdf, book.html, y    
              demas.                                                                                 
                                                                                                     
              Estos archivos son posteriormente comprimidos usando los esquemas de compresion zip o  
              bz2. tar(1) puede usarse para descomprimir estos archivos.                             
                                                                                                     
              Asi la version PostScript(R) del manual, comprimida usando bzip2 sera guardada en un   
              archivo llamado book.ps.bz2 en el directorio handbook/.                                
                                                                                                     
     Luego de elegir el formato y mecanismo de compresion, descargue los archivos comprimidos,       
     descomprimalos, y luego copie los documentos apropiados a su lugar.                             
                                                                                                     
     Por ejemplo, la version HTML split del FAQ, comprimida usando bzip2(1), puede encontrarse en    
     doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2. Para descargar y descomprimir dicho      
     archivo, escriba:                                                                               
                                                                                                     
     # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 
     # tar xvf book.html-split.tar.bz2                                                               
                                                                                                     
     Si el archivo esta comprimido, tar detectara automaticamente el formato apropiado y lo          
     descomprimira correctamente, resultando en una coleccion de archivos .html. El principal se     
     llama index.html, el cual contiene la tabla de contenidos, material introductorio, y vinculos a 
     las otras partes del documento.                                                                 
2.3. ?Donde encuentro informacion acerca de las listas de correo de FreeBSD? ?Que grupos de noticias 
     de FreeBSD estan disponibles?                                                                   
     Vea la entrada del manual acerca de listas de correo y la entrada del manual acerca de grupos   
     de noticias.                                                                                    
2.4. ?Hay canales de IRC (Internet Relay Chat) de FreeBSD?                                           
     Si, la mayoria de las redes IRC hospedan un canal de chat de FreeBSD:                           
                                                                                                     
       * El canal #FreeBSDhelp en EFNet es un canal dedicado a ayudar usuarios de FreeBSD.           
                                                                                                     
       * El canal #FreeBSD en Freenode es un canal general de ayuda con muchos usuarios activos en   
         cualquier momento. Las conversaciones suelen salirse de tema a ratos, pero se le da         
         prioridad a usuarios con preguntas acerca de FreeBSD. Otros usuarios pueden ayudar con lo   
         basico, refiriendo al manual cuando sea posible y proveyendo vinculos para aprender mas     
         acerca de un tema en particular. Este es un canal donde se habla mayormente ingles, aunque  
         tiene usuarios de todo el mundo. Los hablantes no nativos de ingles deberian intentar       
         formular su pregunta en ingles y luego dirigirse a ##freebsd-lang cuando sea apropiado.     
                                                                                                     
       * El canal #FreeBSD en DALNET esta disponible en irc.dal.net en los Estados Unidos y          
         irc.eu.dal.net en Europa.                                                                   
                                                                                                     
       * El canal #FreeBSD en UNDERNET esta disponible en us.undernet.org en los Estados Unidos y    
         eu.undernet.org en Europa. Dado que es un canal de ayuda, preparese para leer los           
         documentos que se le recomiendan.                                                           
                                                                                                     
       * El canal #FreeBSD en RUSNET es un canal en ruso dedicado a ayudar usuarios de FreeBSD.      
         Tambien es un buen lugar para discusiones no tecnicas.                                      
                                                                                                     
       * El canal #bsdchat en Freenode es un canal en chino tradicional (codificacion UTF-8)         
         dedicado a ayudar usuarios de FreeBSD. Este tambien es un buen lugar para discusiones no    
         tecnicas.                                                                                   
                                                                                                     
     La wiki de FreeBSD tiene una buena lista de canales IRC.                                        
                                                                                                     
     Cada uno de estos canales es distinto y no esta conectado a los otros. Dado que sus estilos de  
     conversacion pueden diferir, intente encontrar uno que se adecue a su estilo de conversacion.   
2.5. ?Existen foros web para discutir acerca de FreeBSD?                                             
     Los foros oficiales de FreeBSD estan ubicados en https://forums.FreeBSD.org/.                   
2.6. ?Donde puedo obtener entrenamiento y soporte comercial de FreeBSD?                              
     iXsystems, Inc., compania padre de FreeBSD Mall, provee soporte comercial de software FreeBSD y 
     PC-BSD, en adicion a soluciones para el desarrollo y ajuste de FreeBSD.                         
                                                                                                     
     BSD Certification Group, Inc. PROVEE certificaciones de administracion de sistemas para         
     DragonFly BSD, FreeBSD, NetBSD, y OpenBSD. Vea su sitio para mas informacion.                   
                                                                                                     
     Cualquier otra organizacion que provea entrenamiento y soporte debera contactar al proyecto     
     para ser listada aqui.                                                                          

                            Capitulo 3. Instalacion

   Nik Clayton

   3.1. ?Que plataforma deberia descargar? Tengo una CPU Intel(R) con
   capacidad de 64 Bits, pero solo veo amd64.

   3.2. ?Que archivo descargo para obtener FreeBSD?

   3.3. ?Que debo hacer si la imagen de instalacion no arranca?

   3.4. ?Cuales son las instrucciones para instalar FreeBSD?

   3.5. ?Cuales son los requisitos minimos para correr FreeBSD?

   3.6. ?Como puedo hacer mi propia version personalizada o disco de
   instalacion?

   3.7. ?Puede Windows(R) coexistir con FreeBSD?

   3.8. Otro sistema operativo destruyo mi Gestor de Arranque. ?Como lo
   recupero?

   3.9. Arranque desde un CD, pero el programa de instalacion dice que no
   encuentra un CD-ROM. ?Hacia donde fue?

   3.10. ?Necesito instalar el codigo fuente?

   3.11. ?Necesito compilar un kernel?

   3.12. ?Deberia utilizar contrasenas en DES, Blowfish, o MD5 y como
   especifico que formato usan mis usuarios?

   3.13. ?Cuales son los limites para los sistemas de archivos FFS?

   3.14. ?Por que obtengo un mensaje de error, readin failed luego de
   compilar y arrancar desde un nuevo kernel?

   3.15. ?Hay alguna herramienta para realizar tareas de configuracion
   post-instalacion?

   3.1.  ?Que plataforma deberia descargar? Tengo una CPU Intel(R) con        
         capacidad de 64 Bits, pero solo veo amd64.                           
         amd64 es el termino usado por BSD para las arquitectura de x86       
         compatibles con 64 bits (tambien conocido como "x86-64" o "x64"). La 
         mayoria de las computadoras modernas deberian usar amd64. El         
         hardware mas antiguo deberia usar i386. Al instalar en una           
         arquitectura no compatible con x86, elija la plataforma que se       
         aproxime mejor al hardware.                                          
   3.2.  ?Que archivo descargo para obtener FreeBSD?                          
         En la pagina Obteniendo FreeBSD elija [iso] al lado de la            
         arquitectura que coincide con el hardware.                           
                                                                              
         Cualquiera de los siguientes puede ser usado:                        
                                                                              
           archivo                          descripcion                       
         disc1.iso    Contiene lo suficiente para instalar FreeBSD y un set   
                      de paquetes minimo.                                     
         dvd1.iso     Similar a disc1.iso pero con paquetes adicionales.      
         memstick.img Una imagen arrancable, suficiente para escribir a un    
                      dispositivo USB.                                        
         bootonly.iso Una imagen minima que requiere acceso a la red durante  
                      la instalacion para instalar completamente FreeBSD.     
                                                                              
         Los usuarios de pc98 requeriran las siguientes imagenes de disquete: 
         floppies/boot.flp, floppies/kern1.flp, floppies/kern2.flp, y         
         floppies/mfsroot1.flp. Estas imagenes necesitaran ser escritas a     
         disquetes por herramientas como dd(1).                               
                                                                              
         Instrucciones completas acerca de este procedimiento y mas           
         informacion acerca de problemas de instalacion en general puede      
         encontrarse en este la entra de manual acerca de instalar FreeBSD.   
   3.3.  ?Que debo hacer si la imagen de instalacion no arranca?              
         Esto puede ser ocasionado por no descargar la imagen en modo binary  
         al usarFTP.                                                          
                                                                              
         Algunos clientes FTP tienen por defecto el modo de transferencia     
         ascii e intentan cambiar cualquier caracter de fin de linea para que 
         use las convenciones del sistema del cliente. Esto con toda          
         probabilidad corrompera la imagen de arranque. Verifique el checksum 
         SHA-256 de la imagen de arranque descargada: si es exactamente la    
         imagen que se encuentra en el servidor, entonces el proceso de       
         descarga es el sospechoso.                                           
                                                                              
         Cuando use un cliente de FTP por linea de comandos, escriba binary   
         en la pantalla de comandos FTP luego de conectarse al servidor y     
         antes de comenzar a descargar la imagen.                             
   3.4.  ?Cuales son las instrucciones para instalar FreeBSD?                 
         Las instrucciones de instalacion pueden encontrarse en la entrada    
         del manual acerca de instalar FreeBSD.                               
   3.5.  ?Cuales son los requisitos minimos para correr FreeBSD?              
         FreeBSD requiere una PC 486 o mejor PC, 64 MB o mas de RAM, y como   
         minimo 1.1 GB de espacio en el disco rigido.                         
   3.6.  ?Como puedo hacer mi propia version personalizada o disco de         
         instalacion?                                                         
         Medios de instalacion personalizados de FreeBSD pueden crearse       
         compilando una version personalizada. Siga las instrucciones en el   
         articulo de Ingenieria de Lanzamientos .                             
   3.7.  ?Puede Windows(R) coexistir con FreeBSD?                             
         Si Windows(R) es instalado primero, entonces si. El gestor de        
         arranque de FreeBSD se las arreglara para arrancar tanto Windows(R)  
         como FreeBSD. Si Windows(R) es instalado despues, sobrescribira el   
         gestor de arranque. Si esto ocurre, vea la siguiente seccion.        
   3.8.  Otro sistema operativo destruyo mi Gestor de Arranque. ?Como lo      
         recupero?                                                            
         Depende del gestor de arranque. El menu de seleccion de arranque de  
         FreeBSD puede reinstalarse usando boot0cfg(8). Por ejemplo, para     
         restaurar el menu de arranque al disco ada0:                         
                                                                              
         # boot0cfg -B ada0                                                   
                                                                              
         El cargador de arranque no interactivo MBR bootloader puede          
         instalarse usando gpart(8):                                          
                                                                              
         # gpart bootcode -b /boot/mbr ada0                                   
                                                                              
         Para situaciones mas complejas, incluyendo discos GPT, vease         
         gpart(8).                                                            
   3.9.  Arranque desde un CD, pero el programa de instalacion dice que no    
         encuentra un CD-ROM. ?Hacia donde fue?                               
         La causa mas frecuente de este problema es un lector de CD-ROM mal   
         configurado. Muchas PCs se suministran con el CD-ROM como la unidad  
         esclava en el controlador IDE secundario, sin ningun dispositivo     
         maestro en el controlador. Esto es ilegal en la especificacion       
         ATAPI, pero Windows(R) no sigue la misma al pie de la letra, y el    
         BIOS la ignora al arrancar. Esta es la causa de que el BIOS pudo ver 
         el CD-ROM para arrancar del mismo, pero FreeBSD no puede verlo para  
         completar la instalacion.                                            
                                                                              
         Reconfigure el sistema de manera que el CD-ROM se encuentre en el    
         dispositivo maestro del controlador al que esta acoplado, o          
         asegurese de que es el esclavo en un controlador IDE que tambien     
         tiene un dispositivo maestro.                                        
   3.10. ?Necesito instalar el codigo fuente?                                 
         En general, no. No hay nada en el sistema base que requiera la       
         presencia del codigo fuente para operar. Algunos ports como          
         sysutils/lsof, no compilaran a menos que el codigo este instalado.   
         En particular, si el port compila un modulo de kernel u opera        
         directamente sobre estructuras del kernel, el codigo fuente debe     
         estar instalado.                                                     
   3.11. ?Necesito compilar un kernel?                                        
         Usualmente no. El kernel GENERIC incluido contiene los controladores 
         que una computadora ordinaria requiere. freebsd-update(8), la        
         herramienta de actualizacion binaria de FreeBSD, no puede actualizar 
         kernels hechos a medida, otra razon para quedarse con el kernel      
         GENERIC cuando sea posible. Para computadoras con una cantidad       
         limitada de RAM, tales como los sistemas embebidos, puede valer la   
         pena compilar una kernel mas pequeno, hecho a medida conteniendo     
         unicamente los controladores requeridos.                             
   3.12. ?Deberia utilizar contrasenas en DES, Blowfish, o MD5 y como         
         especifico que formato usan mis usuarios?                            
         FreeBSD 9 y posterior usan SHA512 por defecto. Las contrasenas en    
         formato DES siguen estando disponibles para mantener compatibilidad  
         con sistemas operativos viejos que usan el formato de contrasenas    
         menos seguro. FreeBSD tambien soporta los formatos de contrasena     
         Blowfish y MD5. Que formato de contrasena usar para las contrasenas  
         nuevas esta controlado por la capacidad de autenticacion             
         passwd_format en /etc/login.conf, la cual toma los valores des, blf  
         (si estos estan disponibles) o md5. Vea la pagina de manual de       
         login.conf(5) para mas informacion acerca de capacidades de          
         autenticacion.                                                       
   3.13. ?Cuales son los limites para los sistemas de archivos FFS?           
         Para sistemas de archivos FFS, el sistema de archivo mas extenso     
         esta limitado en la practica por la cantidad de memoria requeridad   
         para correr fsck(8) en el sistema de archivos. fsck(8) requiere un   
         bit por fragmento, lo cual, con el tamano de fragmentos por defecto  
         de 4 KB es igual a 32 MB de memoria por cada TB de disco. Esto       
         significa que en arquitecturas que limiten los procesos en espacio   
         de usuario a 2 GB (e.j., i386(TM)), el maximo sistema de archivos    
         fsck(8)'able es de ~60 TB.                                           
                                                                              
         Si no hubiera un limite de memoria de fsck(8) en maximo tamano de    
         archivo seria de 2^64 (bloques) * 32 KB => 16 Exa * 32 KB => 512     
         ZettaBytes.                                                          
                                                                              
         El maximo tamano para un archivo de FFS es aproximadamente 2 PB con  
         el tamano de bloque por decto de 32 KB. Cada bloque de 32 KB puede   
         apuntar a 4096 bloques. Con bloques triplemente indirectos, el       
         calculo es 32 KB * 12 + 32 KB * 4096 + 32 KB * 4096^2 + 32 KB *      
         4096^3. Incrementar el tamano de bloque a 64 KB incrementara el      
         tamano maximo de archivo por un factor de 16.                        
   3.14. ?Por que obtengo un mensaje de error, readin failed luego de         
         compilar y arrancar desde un nuevo kernel?                           
         El mundo y kernel estan fuera de sincronizacion. Esto no esta        
         soportado. Asegurese de usar make buildworld y make buildkernel para 
         actualizar el kernel.                                                
                                                                              
         Arranque el sistema especificando el kernel directamente en la       
         segunda fase, presionando cualquier tecla cuando | aparezca antes de 
         que arranque el cargador.                                            
   3.15. ?Hay alguna herramienta para realizar tareas de configuracion        
         post-instalacion?                                                    
         Si. bsdconfig provee una buena interfaz para configurar FreeBSD      
         post-instalacion.                                                    

                     Capitulo 4. Compatibilidad de Hardware

   Tabla de contenidos

   4.1. General

   4.2. Arquitecturas y Procesadores

   4.3. Discos duros, unidades de cinta y unidades de CD y DVD

   4.4. Teclados y Ratones

   4.5. Otro Hardware

4.1. General

   4.1.1. ?Quiero obtener hardware para mi sistema FreeBSD. Que
   modelo/marca/tipo es mejor?

   4.1.2. ?Cuales so los limites para la memoria? ?Soporta FreeBSD mas de
   4 GB de memoria (RAM)? ?Mas de 16 GB? ?Mas de 48 GB?

   4.1.3. ?Por que FreeBSD reporta menos de 4 GB memoria cuando se instala en
   una maquina i386(TM)?

   4.1.1. ?Quiero obtener hardware para mi sistema FreeBSD. Que               
          modelo/marca/tipo es mejor?                                         
          Esto se discute continuamente en las listas de correo de FreeBSD    
          pero es de esperar dado que el hardware cambia con rapidez. Lea las 
          Notas de Hardware para FreeBSD 10.2 o 9.3 y busque en los           
          archivosde las listas de correo antes de hacer una pregunta acerca  
          del ultimo y mas nuevo hardware. Es posible que una discusion haya  
          tenido lugar la semana pasada.                                      
                                                                              
          Antes de comprarse una laptop, verifique los archivos de la lista   
          de corroe de laptops de FreeBSD y lista de correo de preguntas      
          generales de FreeBSD, o posiblemente una lista de correo especifica 
          para un tipo de hardware en particular.                             
   4.1.2. ?Cuales so los limites para la memoria? ?Soporta FreeBSD mas de     
          4 GB de memoria (RAM)? ?Mas de 16 GB? ?Mas de 48 GB?                
          FreeBSD como sistema operativo generalmente soporta tanta memoria   
          fisica (RAM) como la plataforma en la que se encuentre corriendo.   
          Tenga en mente que diferentes plataformas tienen diferentes limites 
          para la memoria; por ejemplo i386(TM) sin PAE soporta como mucho    
          4 GB de memoria (y usualmente menos que eso a causa del espacio de  
          direcciones PCI) y i386(TM) con PAE soporta como mucho 64 GB de     
          memoria. En FreeBSD 10, las plataformas AMD64 soportan hasta 4 TB   
          de memoria fisica.                                                  
   4.1.3. ?Por que FreeBSD reporta menos de 4 GB memoria cuando se instala en 
          una maquina i386(TM)?                                               
          El espacio total direccionable en maquinas i386(TM) es de 32 bits,  
          lo que significa que como mucho 4 GB de memoria son direccionables  
          (pueden ser accedidos). Mas aun, en algunas direcciones este rango  
          esta reservado por el hardware para diferentes propositos, por      
          ejemplo usar y controlar dispositivos PCI, para acceder memoria de  
          video y similares. Por consiguiente, la cantidad total de memoria   
          usable por el sistema operativo para su kernel y aplicaciones esta  
          limitada a significativamente menos que 4 GB. Usualmente, 3.2 GB a  
          3.7 GB es el maximo de memoria fisica usable en esta configuracion. 
                                                                              
          Para acceder a mas de 3.2 GB a 3.7 GB de memoria instalada (es      
          decir, hasta 4 GB o incluso mas que 4 GB), un ajuste especial       
          llamado PAE debe ser usado. PAE significa Physical Address          
          Extension (Extension de Memoria Fisica) y es una manera para que    
          las CPUs x86 de 32 bits puedan direccionar mas de 4 GB de memoria.  
          Remapea la memoria que de otra manera seria sobreescrita por        
          reservaciones de memoria por parte del hardware para dispositivos   
          de hardware por encima del rango de 4 GB y lo usa como memoria      
          fisica adicional (vea pae(4)). Usar PAE tiene algunas desventajas;  
          este modo de acceso de memoria es un poco mas lento que el modo     
          normal (sin PAE) y los modulos cargables (vea kld(4)) no estan      
          soportados. Esto significa que todos los controladores deben ser    
          compilados en el kernel.                                            
                                                                              
          La manera mas comun de habilitar PAE es compilar un nuevo kernel    
          con el archivo especial de configuracion de kernel listo para       
          usarse denominado PAE, el cual viene configurado para compilar un   
          kernel seguro. Tenga en cuenta que algunas de las entradas en este  
          archivo de configuracion de kernel son demasiado conservadoras y    
          algunos controladores marcados como inusables con PAE son           
          perfectamente usables. Una regla practica es que si el driver es    
          usable en arquitecturas de 64 bits (como AMD64), tambien es usable  
          con PAE. Al crear un archivo de configuracion de kernel             
          personalizado, PAE puede habilitarse agregando la siguiente linea:  
                                                                              
          options       PAE                                                   
                                                                              
          PAE no es muy usado hoy en dia porque la mayoria del hardware x86   
          nuevo tambien soporta correr en modo de 64 bits, conocido como      
          AMD64 o Intel(R)64. Tiene un espacio de direcciones mucho mas       
          extenso y no necesita tales ajustes. FreeBSD soporta AMD64 y es     
          recomendado que se use esta version de FreeBSD en lugar de la       
          version de i386(TM) si se necesita usar 4 GB o mas de memoria.      

4.2. Arquitecturas y Procesadores

   4.2.1. ?Soporta FreeBSD otras arquitecturas aparte de x86?

   4.2.2. ?Soporta FreeBSD multiprocesamiento simetrico (SMP)?

   4.2.3. ?Que es el microcodigo? ?Como instalo actualizaciones de
   microcodigo de Intel(R) CPU microcode updates?

   4.2.1. ?Soporta FreeBSD otras arquitecturas aparte de x86?                 
          Si. FreeBSD divide el soporte en multiples categorias. Las          
          arquitecturas de Categoria 1, tales como i386 o amd64; estan        
          totalmente soportadas. Las categorias 2 y 3 estan soportadas en una 
          base del mejor esfuerzo. Una explicacion completa del sistema de    
          categorias esta disponible en la Guia del Committer.                
                                                                              
          Una lista completa de arquitecturas soportadas puede encontrarse en 
          la pagina de plataformas.                                           
   4.2.2. ?Soporta FreeBSD multiprocesamiento simetrico (SMP)?                
          FreeBSD soporta multiprocesadores simetricos (SMP) en todas las     
          plataformas no embebidas (e.j, i386, amd64, etc.). SMP tambien esta 
          soportado en kerneles arm y MIPS, aunque algunas CPUs pueden no     
          soportar esto. La implementacion de SMP en FreeBSD usa bloqueo de   
          granularidad fina, y la performance escala casi linealmente con el  
          numero de CPUs.                                                     
                                                                              
          smp(4) contiene mas detalles.                                       
   4.2.3. ?Que es el microcodigo? ?Como instalo actualizaciones de            
          microcodigo de Intel(R) CPU microcode updates?                      
          El microcodigo es un metodo de implementar programaticamente        
          instrucciones al nivel de hardware. Esto permite que los errores de 
          CPU se corrigan sin reemplazar el chip de la placa.                 
                                                                              
          Instale sysutils/devcpu-data, luego anada:                          
                                                                              
          microcode_update_enable="YES"                                       
                                                                              
          a /etc/rc.conf                                                      

4.3. Discos duros, unidades de cinta y unidades de CD y DVD

   4.3.1. ?Que tipo de discos duros soporta FreeBSD?

   4.3.2. ?Que controladores SCSI o SAS estan soportados?

   4.3.3. ?Que tipo de unidades de cinta estan soportadas?

   4.3.4. ?Soporta FreeBSD cambiadores de cinta?

   4.3.5. ?Que dispositivos de CD-ROM y CD-RW estan soportados por FreeBSD?

   4.3.1. ?Que tipo de discos duros soporta FreeBSD?                          
          FreeBSD soporta discos EIDE, SATA, SCSI y SAS (con un controlador   
          compatible; vea la siguiente seccion), y todos los dispositivos que 
          usen la interfaz original de "Western Digital" (MFM, RLL, ESDI, y   
          por supuesto IDE). Algunos controladores ESDI que usan interfaces   
          propietarias pueden no funcionar: quedese con las interfaces        
          WD1002/3/6/7 y clones.                                              
   4.3.2. ?Que controladores SCSI o SAS estan soportados?                     
          Vea la lista completa en las Notas de hardware para FreeBSD 10.2 o  
          9.3 .                                                               
   4.3.3. ?Que tipo de unidades de cinta estan soportadas?                    
          FreeBSD soporta todas las interfaces de cinta SCSI estandar.        
   4.3.4. ?Soporta FreeBSD cambiadores de cinta?                              
          FreeBSD soporta cambiadores SCSI utilizando el dispositivo ch( 4 )  
          y el comandochio( 1 ). Los detalles acerca de como controlar el     
          cambiador se pueden encontrar en chio(1).                           
                                                                              
          Mientras que AMANDA y algunos otros productos entienden acerca de   
          los cambiadores, otras aplicaciones solo saben como mover una cinta 
          de un punto a otro. En este caso, lleve la cuenta de en que ranura  
          esta la cinta actualmente y a que unidad necesita ir nuevamente el  
          dispositivo.                                                        
   4.3.5. ?Que dispositivos de CD-ROM y CD-RW estan soportados por FreeBSD?   
          Cualquier unidad SCSI drive connectada a un controlador soportado   
          esta soportada. La mayoria de los CD-ROMs ATAPI compatibles con IDE 
          estan soportados.                                                   
                                                                              
          FreeBSD soporta cualquier CD-R o CD-RW compatible con ATAPI. Vea    
          burncd(8) para mas detalles.                                        
                                                                              
          FreeBSD tambien soporta cualquier tipo de dispositivos CSI CD-R o   
          CD-RW. Instale el port o paquete de sysutils/cdrtools, y luego use  
          el comando cdrecord.                                                

4.4. Teclados y Ratones

   4.4.1. ?Es posible usar un raton por fuera del sistema X Window?

   4.4.2. ?Como copio y pego texto con un raton en la consola de texto?

   4.4.3. Mi raton tiene una reluciente rueda y botones. ?Puedo usarlos en
   FreeBSD?

   4.4.4. ?Como uso la tecla delete en sh y csh?

   4.4.1. ?Es posible usar un raton por fuera del sistema X Window?           
          El controlador de consola por defecto, syscons(4), provee la        
          habilidad de usar un puntero del raton en consolas de texto para    
          copiar & pegar texto. Corra el demonio del raton, moused(8), e      
          inicie el puntero del raton en la consola virtual:                  
                                                                              
          # moused -p /dev/xxxx -t yyyy                                       
          # vidcontrol -m on                                                  
                                                                              
          Donde xxxx es el nombre del dispositivo del raton y yyyy es un tipo 
          de protocolo para el raton. El demonio del raton puede              
          automaticamente determinar el protocolo para la mayoria de los      
          ratones, con excepcion del los viejos ratones en serie. Especifique 
          el protocolo auto para invocar la deteccion automatica. Si la       
          deteccion automatica no funciona, vea la pagina de manual de        
          moused(8) para una lista de tipos de protocolo soportados.          
                                                                              
          Para un raton PS/2 mouse, aNADA moused_enable="YES" a /etc/rc.conf  
          para iniciar el demonio del raton en tiempo de arranque.            
          Adicionalmente, para usar el demonio del raton en todas las         
          terminales virtuales, en lugar de solo en la consola, anada         
          allscreens_flags="-m on" a /etc/rc.conf.                            
                                                                              
          Cuando el demonio del raton este corriendo, el acceso al mouse debe 
          ser coordinado entre el demonio del raton y otros programas tales   
          como X Windows. Vea el FAQ ?Porque mi mouse no funciona con X? para 
          mas detalles acerca del problema.                                   
   4.4.2. ?Como copio y pego texto con un raton en la consola de texto?       
          No es posible remover datos usando el raton. No obstante, es        
          posible copiar y pegar. Una vez que el demonio del raton este       
          corriendo como se describio en la pregunta anterior, presion el     
          boton 1 (boton izquierdo)y mueva el raton para seleccionar una      
          region de texto. Luego presione el boton 2 (boton del medio) y para 
          pegar en la posicion del cursor de texto. Presionar el boton 3      
          (boton derecho) "extendera" la region de texto seleccionada.        
                                                                              
          Si el raton no tiene boton del medio, es posible emular uno o       
          remapear botones utilizando opciones del demonio del raton. Vea la  
          moused(8) pagina del manual para detalles.                          
   4.4.3. Mi raton tiene una reluciente rueda y botones. ?Puedo usarlos en    
          FreeBSD?                                                            
          La respuesta a eso es, desafortunadamente, "depende". Estos ratones 
          con caracteristicas adicionales requieren un controlador            
          especializado en la mayoria de los casos. A menos que el            
          dispositivo del raton o el programa de usuario tenga soporte        
          especifico para el raton, el mismo actuara como un raton normal de  
          dos o tres botones.                                                 
                                                                              
          Para el posible uso de ruedas en el ambiente X Window, refierase a  
          esa seccion.                                                        
   4.4.4. ?Como uso la tecla delete en sh y csh?                              
          Para Bourne Shell, agregue las siguientes lineas a ~/.shrc. Vea     
          sh(1) y editrc(5).                                                  
                                                                              
          bind ^? ed-delete-next-char # for console                           
          bind ^[[3~ ed-delete-next-char # for xterm                          
                                                                              
          Para C Shell, agregue las siguientes lineas a ~/.cshrc. Vea csh(1). 
                                                                              
          bindkey ^? delete-char # for console                                
          bindkey ^[[3~ delete-char # for xterm                               
                                                                              
          Para mas informacion, vea esta pagina.                              

4.5. Otro Hardware

   4.5.1. ?Soluciones para cuando mi tarjeta de audio pcm(4) no emite
   sonidos?

   4.5.2. ?Soporta FreeBSD manejo de poder para mi laptop?

   4.5.1. ?Soluciones para cuando mi tarjeta de audio pcm(4) no emite         
          sonidos?                                                            
          Algunas tarjetas de sonido ajustan su volumen de salida a con cada  
          arranque. Corra el siguiente comando cada vez que la maquina        
          arranque:                                                           
                                                                              
          # mixer pcm 100 vol 100 cd 100                                      
   4.5.2. ?Soporta FreeBSD manejo de poder para mi laptop?                    
          FreeBSD soporta las caracteristicas ACPI que pueden encontrarse en  
          el hardware moderno. Mas informacion puede encontrarse en acpi(4).  

                       Capitulo 5. Solucion de problemas

   5.1. ?Porque FreeBSD encuentra la cantidad incorrecta de memoria en
   hardware i386(TM)?

   5.2. ?Por que mis programas ocasionalmente terminan con errores Signal 11?

   5.3. Mi sistema falla con Fatal trap 12: page fault in kernel mode, o
   panic:, y escupe un monton de informacion. ?Que debo hacer?

   5.4. ?Cual es el significado del error maxproc limit exceeded by uid %i,
   please see tuning(7) and login.conf(5)?

   5.5. ?Por que las aplicaciones de pantalla completa en maquinas remotas se
   comportan mal?

   5.6. ?Porque le lleva tanto tiempo a mi computadora conectarse via ssh o
   telnet?

   5.7. ?Por que file: table is full aparece repetidamente en dmesg(8)?

   5.8. ?Por que el reloj de mi computadora tiene el tiempo incorrecto?

   5.9. ?Que significa el error swap_pager: indefinite wait buffer:?

   5.10. ?Que es un lock order reversal?

   5.11. ?Que significa Called ... with the following non-sleepable locks
   held?

   5.12. ?Porque buildworld/installworld termina con el mensaje touch: not
   found?

   5.1.  ?Porque FreeBSD encuentra la cantidad incorrecta de memoria en       
         hardware i386(TM)?                                                   
         La razon mas probable es la diferencia entre direcciones de memoria  
         fisica y direcciones virtuales.                                      
                                                                              
         La convencion para la mayoria del hardware de PC hardware es usar el 
         area de memoria entre 3.5 GB y 4 GB para un proposito especial       
         (usualmente para PCI). Este espacio de direcciones se usa para       
         acceder a hardware PCI. Como resultado, la memoria real (fisica) no  
         puede ser accedida en ese espacio de direcciones.                    
                                                                              
         Lo que sucede con la memoria que deberia aparecer en ese espacio es  
         dependiente del hardware. Desafortunadamente, algunos equipos no     
         hacen nada y la habilidad de usar los ultimos 500 MB de RAM se       
         pierde por completo.                                                 
                                                                              
         Por suerte, la mayoria de los equipos de hardware remapean la        
         memoria a una locacion mas alta de manera que pueda seguir siendo    
         usada. No obstante, esto puede causar confusion al ver los mensajes  
         de arranque.                                                         
                                                                              
         En una version de 32 bits de FreeBSD, la memoria parece perdida,     
         dado que sera remapeado por encima de los 4 GB, que son imposibles   
         de acceder para un kernel de 32 bits. En este caso, la solucion es   
         construir un kernel con PAE habilitado. Vea la entrada acerca de     
         limites de memoria para mas informacion.                             
                                                                              
         En una version de 64 bits de FreeBSD, o al correr un kernel con PAE  
         habilitado, FreeBSD detectara y remapeara la memoria de manera       
         correcta para que sea usable. Durante el arranque, sin embargo,      
         puede parecer que FreeBSD este detectando mas memoria de la que      
         tiene realmente el sistema, debido al remapeo descrito               
         anteriormente. Esto es normal y la memoria disponible sera corregida 
         cuando el proceso de arranque termine.                               
   5.2.  ?Por que mis programas ocasionalmente terminan con errores Signal    
         11?                                                                  
         Los errores Signal 11 son causados cuando un proceso intento acceder 
         a una region de memoria cuyo acceso no fue concedido por el sistema  
         operativo. Si algo como esto pasa a intervalos aparentemente         
         aleatorios, comience a investigar la causa.                          
                                                                              
         Estos problemas suele deberse a:                                     
                                                                              
          1. Si el problema ocurre solo en una aplicacion especifica,         
             probablemente sea un error en el codigo.                         
                                                                              
          2. Si es un problema con parte del sistema base de FreeBSD, tambien 
             puede tratarse de codigo con errores, pero frecuentemente estos  
             problemas suelen encontrarse y arreglarse mucho antes de que     
             nosotros, los lectores usuales del FAQ lleguen a usar esas       
             partes del codigo (para eso existe -CURRENT).                    
                                                                              
         Probablemente no se trate de un error en FreeBSD si el problema      
         ocurre al compilar un programa, pero la actividad que el compilador  
         realiza cambia en cada iteracion.                                    
                                                                              
         Por ejemplo, si make buildworld falla al intentar compilar ls.c a    
         ls.o y, al correr de vuelta, falla en el mismo lugar, esto es una    
         compilacion fallida. Pruebe actualizar el codigo fuente e intentando 
         nuevamente. Si la compilacion falla en otro lugar, casi ciertamente  
         es debido al hardware.                                               
                                                                              
         En el primer caso, use un debugger, tal como gdb(1) para encontrar   
         el punto en el que el programa este intentando acceder a una         
         direccion falsa y arreglarlo.                                        
                                                                              
         En el segundo caso, verifique la pieza de hardware que este          
         fallando.                                                            
                                                                              
         Causas comunes de esto incluyen:                                     
                                                                              
          1. Los discos duros pueden estar sobrecalentandose: verifique que   
             los ventiladores sigan funcionando, dado que el disco y otro     
             hardware puede estar sobrecalentandose.                          
                                                                              
          2. El procesador que esta corriendo se esta sobrecalentando: esto   
             puede ser porque el procesador fue overclockeado, o el           
             ventilador del procesador murio. En cualquier caso, asegurese de 
             que el hardware este corriendo con la caracteristicas de         
             fabrica, al menos mientras intenta solucionar este problema. Si  
             no lo esta, reviertalo a las caracteristicas por defecto.        
                                                                              
             Respecto al overclocking !Es mucho mas barato tener un sistema   
             lento que un sistema que necesita reemplazo! Ademas la comunidad 
             no responde de manera simpatica a problemas en sistemas          
             overclockeados.                                                  
                                                                              
          3. Memoria defectuosa: si varias memorias SIMMS/DIMMS estan         
             instaladas, saquelas todas e intente correr la maquina con cada  
             SIMM o DIMM individualmente para reducir el problema a la        
             DIMM/SIMM problematica o quizas incluso a una combinacion.       
                                                                              
          4. Ajustes excesivamente optimistas de la placa madre: las          
             caracteristicas del BIOS, y algunos jumpers de la placa madre,   
             proveen opciones para ajustar varios timings. Los ajustes por    
             defecto suelen ser suficientes, pero a veces ajustar los estados 
             de espera de la RAM demasiado bajo, o activar la opcion "RAM     
             Speed: Turbo" pueden causar comportamiento extrano. Una idea     
             posible es quedarse con los ajustes por defecto del BIOS, luego  
             de haber previamente anotado los ajustes actuales.               
                                                                              
          5. Poder sucio o insuficiente en la placa madre. Remueva las placas 
             I/O , discos rigidos, o CD-ROMs sin usar, o desconecte el cable  
             de encendido de ellos, para ver si el suministro electrico puede 
             manejar una carga mas pequena. O intente otro suministro         
             electrico, preferentemente uno con mas poder. Por ejemplo, si el 
             suministro actual esta registrado a 250 Watts, intente con uno   
             registrado a 300 Watts.                                          
                                                                              
         Lea la seccion acerca de Signal 11 para mas explicaciones y una      
         discusion acerca de como el software o hardware que verifica la      
         memoria puede no detectar memoria defectuosa. Hay un extenso FAQ     
         acerca de esto en el problema SIG11FAQ.                              
                                                                              
         Finalmente, si nada de esto ayuda, es posible que sea un error en    
         FreeBSD. Siga estas instrucciones para enviar un reporte de errores. 
   5.3.  Mi sistema falla con Fatal trap 12: page fault in kernel mode, o     
         panic:, y escupe un monton de informacion. ?Que debo hacer?          
         Los desarrolladores de FreeBSD estan interesados en estos errores,   
         pero necesitan mas informacion que solo el mensaje de error. Copie   
         el mensaje de fallo entero. Luego consulte la seccion del FAQ acerca 
         de fallos de kernel, compile un kernel de depuracion y obtenga un    
         backtrace. Esto puede sonar dificil, pero no requiere habilidades de 
         programacion. Tan solo siga las instrucciones.                       
   5.4.  ?Cual es el significado del error maxproc limit exceeded by uid %i,  
         please see tuning(7) and login.conf(5)?                              
         El kernel de FreeBSD solo permite que exista un cierto numero de     
         procesos en un punto determinado del tiempo. El numero esta basado   
         en la variable de sysctl(8) kern.maxusers. kern.maxusers tambien     
         afecta varios otros limites del kernel, tales como los buffers de    
         red. Si la maquina esta bajo una carga intensiva, incremente         
         kern.maxusers. Esto incrementara estos otros limites del sistema,    
         ademas del numero maximo de procesos.                                
                                                                              
         Para ajustar el valor de kern.maxusers, vea la seccion Limites de    
         proceso/archivo del manual. Mientras que esa seccion se refiere a    
         archivos abierto, los mismos limites aplican para los procesos.      
                                                                              
         Si la maquina tiene una carga ligera pero esta corriendo numero muy  
         alto de proceso, ajuste la variable kern.maxproc definiendola en     
         /boot/loader.conf. La variable no se ajustara hasta que el sistema   
         se reinicie. Para mas informacion acerca de ajustar variables, vea   
         loader.conf(5). Si estos procesos estan siendo corridos por un solo  
         usuario, ajuste kern.maxprocperuid para que sea uno menos que el     
         nuevo valor de kern.maxproc. Debe ser al menos uno menos porque hay  
         un programa del sistema, init(8), que debe estar corriendo           
         constantemente.                                                      
   5.5.  ?Por que las aplicaciones de pantalla completa en maquinas remotas   
         se comportan mal?                                                    
         La maquina remota puede estar ajustando el tipo de la terminal a un  
         valor que no sea xterm el cual es requerido por la consola de        
         FreeBSD. Alternativamente el kernel puede contener los valores       
         equivocados para el ancho y alto de la terminal.                     
                                                                              
         Verifique que el valor de la variable de entorno TERM sea xterm. Si  
         la maquina remota no soporta eso, intente vt100.                     
                                                                              
         Corra stty -a para verificar que dimensiones cree el kernel que      
         tiene la terminal. Si son incorrectas, pueden cambiarse corriendo    
         stty rows RR cols CC.                                                
                                                                              
         Alternativamente, si la maquina del cliente tiene x11/xterm          
         instalado, entonces correr resize consultara a la terminal las       
         dimensiones correctas y las ajustara.                                
   5.6.  ?Porque le lleva tanto tiempo a mi computadora conectarse via ssh o  
         telnet?                                                              
         El sintoma: hay un largo retraso entre el tiempo en que se establece 
         la conexion TCP y el tiempo en el que el software del cliente pide   
         una contrasena (o, en el caso de telnet(1), cuando aparece una       
         pantalla de autenticacion).                                          
                                                                              
         El problema: lo mas probable, es que el retraso haya sido causado    
         por el software del servidor intentando resolver la direccion IP del 
         cliente a un nombre de host. Muchos servidores, incluyendo los       
         servidores Telnet y SSH que vienen con FreeBSD, hacen esto para      
         guardar el hostname en un archivo de log para referencias futuras    
         del administrador.                                                   
                                                                              
         La solucion: si el problema ocurre siempre que se conecta la         
         computadora cliente a cualquier servidor, el problema esta en el     
         cliente. Si el problema ocurre solo cuando alguien se conecta a la   
         computadora servidor, el problema esta en el servidor.               
                                                                              
         Si el problema esta en el cliente, la unica solucion es reparar el   
         DNS de manera que el servidor pueda resolverla. Si esto ocurre en    
         una red local, considerelo un problema del servidor y siga leyendo.  
         Si esto ocurre en Internet, contacte a su ISP.                       
                                                                              
         Si el problema es con el servidor en una red local, configure el     
         servidor para resolver consultas de direccion a hostname para el     
         rango de direcciones local. Vea hosts(5) y named(8) para mas         
         informacion. Si esto ocurre en la Internet, el problema puede ser    
         que el resolver local del servidor no esta funcionando               
         correctamente. Para verificar, intente buscar otro host tal como     
         www.yahoo.com. Si esto no funciona, ese es el problema.              
                                                                              
         Luego de una instalacion de cero de FreeBSD, tambien es posible que  
         la informacion del dominio y servidor de nombres no exista en        
         /etc/resolv.conf. Esto frecuentemente causara un retraso en SSH,     
         dado que la opcion UseDNS esta ajustada a yes (si) por defecto en    
         /etc/ssh/sshd_config. Si esto esta causando el problema, llene la    
         informacion faltante en /etc/resolv.conf o ajuste UseDNS a no en     
         sshd_config como solucion temporal.                                  
   5.7.  ?Por que file: table is full aparece repetidamente en dmesg(8)?      
         Este mensaje de error indica que el numero de descriptores de        
         archivo disponibles en el sistema se agoto. Vea la subseccion        
         kern.maxfiles de la seccion Ajustando limites del kernel del manual  
         para una discusion y una solucion.                                   
   5.8.  ?Por que el reloj de mi computadora tiene el tiempo incorrecto?      
         La computadora tiene dos o mas relojes, y FreeBSD eligio usar el     
         incorrecto.                                                          
                                                                              
         Corra dmesg(8), y verifique las lineas que contengan Timecounter. El 
         del valor de calidad mas alto que eligio FreeBSD.                    
                                                                              
         # dmesg | grep Timecounter                                           
         Timecounter "i8254" frequency 1193182 Hz quality 0                   
         Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000            
         Timecounter "TSC" frequency 2998570050 Hz quality 800                
         Timecounters tick every 1.000 msec                                   
                                                                              
         Confirme esto verificando el sysctl(3)kern.timecounter.hardware.     
                                                                              
         # sysctl kern.timecounter.hardware                                   
         kern.timecounter.hardware: ACPI-fast                                 
                                                                              
         Puede tratarse de un timer ACPI roto. La solucion mas simple es      
         deshabilitar el timer ACPI en /boot/loader.conf:                     
                                                                              
         debug.acpi.disabled="timer"                                          
                                                                              
         O el BIOS puede modificar el reloj TSC quizas para cambiar la        
         velocidad del procesador cuando se agonten las baterias, o al        
         cambiar al modo de ahorro de engeria, pero FreeBSD no sabe nada de   
         estos ajustes y parece estar perdiendo o ganando tiempo.             
                                                                              
         En este ejemplo, el reloj i8254 tambien esta disponible, y puede ser 
         seleccionando escribiendo su nombre en el sysctl(3)                  
         kern.timecounter.hardware.                                           
                                                                              
         # sysctl kern.timecounter.hardware=i8254                             
         kern.timecounter.hardware: TSC -> i8254                              
                                                                              
         La computadora deberia empezar a medir el tiempo de manera mas       
         correcta a partir de ahora.                                          
                                                                              
         Para que este cambio corra automaticamente en tiempo de arranque,    
         agregue la siguiente linea a /etc/sysctl.conf:                       
                                                                              
         kern.timecounter.hardware=i8254                                      
   5.9.  ?Que significa el error swap_pager: indefinite wait buffer:?         
         Esto significa que un proceso esta intentando paginar memoria al     
         disco, y el intento de paginacion se colgo intentando acceder al     
         disco por mas de 20 segundos. Puede estar causado por bloques        
         defectuosos en el disco rigido, cableado del disco, cables, o        
         cualquier otro tipo de hardware de E/S relacionado. Si el disco en   
         si mismo esta defectuoso, los errores de disco apareceran en         
         /var/log/messages y en la salida de dmesg. En otro caso, verifique   
         los cables y las conexiones.                                         
   5.10. ?Que es un lock order reversal?                                      
         El kernel de FreeBSD usa un numero de primitivas de sincronizacion   
         para manejar la contencion de ciertos recursos. Cuando multiples     
         hilos de kernel intentan obtener multiples primitivas de             
         sincronizacion, existe el potencial para un interbloqueo, en donde   
         dos hilos obtuvieron cada uno una primitiva y se bloquean            
         eternamente esperando que el otro hilo libere la otra. Este tipo de  
         problema de bloqueo puede evitarse si todos los hilos obtienen las   
         primitivas en el mismo orden.                                        
                                                                              
         Un sistema diagnostico en tiempo de ejecucion llamado witness(4),    
         habilitado en FreeBSD-CURRENT y deshabilitado por defecto para ramas 
         stable y lanzamientos, detecta el potencial para interbloques debido 
         a errores de bloque, incluyendo errores causados por la obtencion de 
         multiples primitivas de sincronizacion con un orden diferente de     
         distintas partes del kernel. El framework witness(4) intenta         
         detectar este problema mientras ocurre y lo reporta imprimiendo un   
         mensaje en la consola del sistema acerca de un lock order reversal   
         (tambien conocido como LOR).                                         
                                                                              
         Es posible obtener falsos positivos, dado que witness(4) es          
         conservativo. Un reporte que realmente sea positivo no significa que 
         el sistema sufrio un interbloqueo; en su lugar, deberia ser          
         entendido como una advertencia que un interbloqueo podria haber      
         ocurrido en ese lugar.                                               
                                                                              
           Nota:                                                              
                                                                              
         Los LOR problematicos tienden a arreglarse rapidamente, asi que      
         verifique la lista de correo de FreeBSD-CURRENT antes de postear     
         alli.                                                                
   5.11. ?Que significa Called ... with the following non-sleepable locks     
         held?                                                                
         Significa que una funcion que puede dormirse fue llamada mientras un 
         mutex (u otra primitiva de sincronizacion que no duerme) estaba      
         bloqueado.                                                           
                                                                              
         La razon por la que esto es un error es que los mutexes no fueron    
         concebidos para ser tenidos por largos periodos de tiempo; se supone 
         que solo se tengan para mantener durante periodos cortos de          
         sincronizacion. Este contrato de programacion permite que los        
         controladores de dispositivo usen mutexes para sincronizarse con el  
         resto del kernel durante las interrupciones. Las interrupciones      
         (bajo FreeBSD) pueden no dormirse. Luego es imperativo que ningun    
         subsistema en el kernel se bloquee por un periodo extendido de       
         tiempo al mantener un mutex.                                         
                                                                              
         Para atrapar tales errores, pueden agregarse aserciones al kernel    
         para interactuar con el subsitema witness(4) y emitir una alerta o   
         un error fatal (dependiendo de la configuracion del sistema) cuando  
         una llamada potencialmente bloqueante es hecha mientras que se       
         mantiene un mutex.                                                   
                                                                              
         En resumen, estas alertas no son fatales, no obstante errores de     
         coordinacion pueden causar efectos indeseables variando desde un     
         minimo retraso en la respuesta del sistema a un completo bloqueo del 
         mismo.                                                               
                                                                              
         Para informacion adicional acerca de los bloqueos en FreeBSD vea     
         locking(9).                                                          
   5.12. ?Porque buildworld/installworld termina con el mensaje touch: not    
         found?                                                               
         Este error no significa que la utilidad touch(1) este faltante. En   
         su lugar el error probablemente se debe a que las fechas de los      
         archivos estan ajustadas a una fecha futura. Si el reloj CMOS esta   
         ajustado a tiempo local, corra adjkerntz -i para ajustar el reloj    
         del kernel al arrancar en modo de un solo usuario.                   

                      Capitulo 6. Aplicaciones de usuario

   6.1. ?Cuales son las aplicaciones de usuario?

   6.2. ?Como descargo el arbol de Ports? ?Deberia usar SVN?

   6.3. ?FreeBSD soporta Java(TM)?

   6.4. ?Porque no puedo compilar este port en mi maquina 9.X -, o
   10.X -STABLE?

   6.5. Acabo de intentar compilar INDEX usando make index y fallo. ?Porque?

   6.6. He actualizado el codigo fuente ?Como actualizo mis ports instalados?

   6.7. ?Es necesario que recompile todos los ports cada vez que hago una
   actualizacion a una version mayor?

   6.8. ?Debo recompilar todos los ports cada vez que realizo una
   actualizacion a una version menor?

   6.9. ?Por que es /bin/sh tan minimo? ?Por que FreeBSD no usa bash u otro
   shell?

   6.10. ?Como creo CDs de audio a partir de mis archivos MIDI?

   6.1.  ?Cuales son las aplicaciones de usuario?                             
         Vaya a la pagina de ports para informacion acerca de paquetes de     
         software que han sido porteados a FreeBSD. La lista actual contiene  
         mas de 24,000 y crece diariamente, vuelva y verifiquela seguido o    
         subscribase a la lista de anuncios de FreeBSD para actualizaciones   
         periodicas sobre nuevas entradas.                                    
                                                                              
         La mayoria de los ports deberian funcionar en todas las version      
         soportadas de FreeBSD. Los que no lo hacen estan marcados            
         especificamente de esta manera. Cada vez que se realiza una version  
         de FreeBSD, se hace un snapshot del arbol de ports al momento de la  
         version que se incluye en el directorio ports/.                      
                                                                              
         FreeBSD soporta paquetes binarios comprimidos para instalar y        
         desinstalar ports facilmente. Use pkg(7) para controlar la           
         instalacion de paquetes.                                             
   6.2.  ?Como descargo el arbol de Ports? ?Deberia usar SVN?                 
         Cualquiera de los metodos listados aqui funciona:                    
                                                                              
           * Use portsnap para la mayoria de los casos. Vea Usando la         
             coleccion de Ports para instrucciones acerca de como usar esta   
             herramienta.                                                     
                                                                              
           * Use SVN si se necesitan parches personalizados para el arbol de  
             ports. Vea Usando Subversion para mas detalles.                  
                                                                              
           * Use CTM, como se describe en Usando CTM para recibir parches por 
             correo electronico sobre una conexion a internet poco confiable. 
   6.3.  ?FreeBSD soporta Java(TM)?                                           
         Si. Vea http://www.FreeBSD.org/java/ para mas informacion.           
   6.4.  ?Porque no puedo compilar este port en mi maquina 9.X -, o           
         10.X -STABLE?                                                        
         Si la version de FreeBSD instalada se atrasa significativamente de   
         -CURRENT o -STABLE, actualice la coleccion de ports usando las       
         instrucciones en Usando la coleccion de ports. Si el sistema esta    
         actualizado, alguien puede haber commiteado un cambio al port que    
         funciona para -CURRENT pero que rompio el port para -STABLE. Envie   
         un reporte de errores, dado que se supone que la coleccion de ports  
         funcione tanto para la rama -CURRENT como para -STABLE.              
   6.5.  Acabo de intentar compilar INDEX usando make index y fallo. ?Porque? 
         Primero, asegurese de que la coleccion de ports esta actualizada.    
         Errores que afecten la compilacion de INDEX de una copia actualizada 
         de la coleccion de ports tienen alta visibilidad y suelen arreglarse 
         casi inmediatamente.                                                 
                                                                              
         Hay raras ocurrencias en las que INDEX no compilara debido a casos   
         extranos que involucren variables WITH_* o WITHOUT_* siendo          
         ajustadas en make.conf. Si sospecha que este es el caso, intente     
         hacer make de INDEX con esas variables desactivadas antes de         
         reportar el error a la lista de correo de ports de FreeBSD .         
   6.6.  He actualizado el codigo fuente ?Como actualizo mis ports            
         instalados?                                                          
         FreeBSD no incluye una herramienta para actualizar ports, pero si    
         tiene herramientas para hacer el proceso de actualizacion un poco    
         mas facil. Herramientas adicionales estan disponibles para           
         simplificar el manejo de ports y son descriptas en la seccion        
         Actualizando portsen el manual de FreeBSD.                           
   6.7.  ?Es necesario que recompile todos los ports cada vez que hago una    
         actualizacion a una version mayor?                                   
         !Si! Mientras que un sistema reciente correra con software compilado 
         bajo una version vieja, hay cosas que pueden fallar al azar o no     
         funcionar una vez que otros ports sean instalados o actualizados.    
                                                                              
         Cuando el sistema se actualiza, varias librerias compartidas,        
         modulos cargables y otras partes del sistema seran reemplazadas por  
         versiones mas nuevas. Las aplicaciones que esten vinculadas contra   
         las version mas viejas pueden fallar al iniciar o, en otros casos,   
         fallar al funcionar con propiedad.                                   
                                                                              
         Para mas informacion, vea la seccion acerca de actualizaciones en el 
         manual de FreeBSD.                                                   
   6.8.  ?Debo recompilar todos los ports cada vez que realizo una            
         actualizacion a una version menor?                                   
         En general, no. Los desarrolladores de FreeBSD hacen lo posible para 
         garantizar compatibilidad binaria en todas las versiones con el      
         mismo numero de version mayor. Cualquier excepcion sera documentada  
         en las notas de lanzamiento, y los consejos que se presenten alli    
         deberan ser seguidos.                                                
   6.9.  ?Por que es /bin/sh tan minimo? ?Por que FreeBSD no usa bash u otro  
         shell?                                                               
         Mucha gente necesita escribir scripts de shell que sean portables a  
         muchos sistemas. Por eso es que POSIX(R) especifica el shell y los   
         comandos utilitarios en gran detalle. La mayoria de los scripts      
         estan escritors en el shell de Bourne (sh(1)), y porque varias       
         interfaces de programacion importantes (make(1), system(3),          
         popen(3), y analogos en lenguajes de scripting de alto nivel como    
         Perl y Tcl) son instruidos para usar el shell de Bourne para         
         interpretar comandos. Porque el shell de Bourne es usado             
         frecuentemente y ampliamente, es importante que sea rapido al        
         iniciar, que se comporte de manera deterministica, y que tenga una   
         pequena huella de memoria.                                           
                                                                              
         La implementacion existente es nuestro mejor esfuerzo para           
         satisfacer simultaneamente el mayor numero de requerimientos de este 
         tipo que podamos. Para mantener /bin/sh pequena, no proveemos muchas 
         de las caracteristicas convenientes que tienen otros shells. Por     
         esto es que otras shells con mas caracteristicas como bash, scsh,    
         tcsh(1), y zsh estan disponibles. Compare el uso de memoria de estas 
         shell mirando las columnas "VSZ" y "RSS" en el listado del comando   
         ps -u.                                                               
   6.10. ?Como creo CDs de audio a partir de mis archivos MIDI?               
         Para crear CDs de audio a partir de archivos MIDI, primero instale   
         audio/timidity++ desde ports y luego instale manualmente el set de   
         parches GUS por Eric A. Welsh, disponible en                         
         http://alleg.sourceforge.net/digmid.html. Luego de que TiMidity++    
         haya sido instalada con propiedad, los archivos MIDI pueden          
         convertirse a archivos WAV con el siguiente comando:                 
                                                                              
         % timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid                   
                                                                              
         Los archivos WAV pueden posteriormente convertirse a otros formatos  
         o grabarse en CDs de audio, como se describe en el manual de         
         FreeBSD.                                                             

                      Capitulo 7. Configuracion del Kernel

   7.1. Quisiera personalizar mi kernel. ?Es esto dificil?

   7.2. ?Por que es mi kernel tan grande?

   7.3. ?Por que cada kernel que intento construir falla al compilar, incluso
   GENERIC?

   7.4. ?Que planificador esta en uso en un sistema en funcionamiento?

   7.5. ?Que es kern.sched.quantum?

   7.1. Quisiera personalizar mi kernel. ?Es esto dificil?                    
        !En absoluto! Vea la seccion del manual acerca de configuracion del   
        kernel.                                                               
                                                                              
          Nota:                                                               
                                                                              
        El nuevo kernel sera instalado en el directorio /boot/kernel junto    
        con sus modulos, mientras que el viejo kernel y sus modulos seran     
        movidos al directorio /boot/kernel.old. Si ocurre un error en la      
        configuracion, simplemente arranque desde la version anterior del     
        kernel.                                                               
   7.2. ?Por que es mi kernel tan grande?                                     
        Los kerneles GENERIC que vienen con FreeBSD son compilados en modo de 
        depuracion. Los kernels que se compilan en modo de depuracion         
        contienen datos de depuracion en archivos separados que se usan para  
        la depuracion. Las versiones de FreeBSD anteriores a 11.0 guardan     
        estos archivos de depuracion en el mismo directorio en que se         
        encuentra el kernel , /boot/kernel/. En FreeBSD 11.0 y posteriores    
        los archivos de depuracion se guardan en /usr/lib/debug/boot/kernel/. 
        Notese que habra muy poca o ninguna perdida de desempeno debida al    
        uso de un kernel de depuracion, y es util mantener uno en caso de un  
        panico del sistema.                                                   
                                                                              
        Cuando se agote el espacio en disco, hay diferentes opciones para     
        reducir el tamano de /boot/kernel/ y /usr/lib/debug/.                 
                                                                              
        Para no instalar los archivos de simbolos, asegurese de que la        
        siguiente linea exista en /etc/src.conf:                              
                                                                              
        WITHOUT_KERNEL_SYMBOLS=yes                                            
                                                                              
        Para mas informacion vea src.conf(5).                                 
                                                                              
        Si desea evitar por completo compilar archivos de depuracion,         
        asegurese de que se cumpla lo siguiente:                              
                                                                              
          * Esta linea no existe en el archivo de configuracion del kernel:   
                                                                              
         makeoptions DEBUG=-g                                                 
                                                                              
          * No corra config(8) con -g.                                        
                                                                              
        Cualquiera de las opciones anteriores causaran que el kernel se       
        compile en modo de depuracion.                                        
                                                                              
        Para compilar e instalar solo los modulos especificados, listelos en  
        /etc/make.conf:                                                       
                                                                              
        MODULES_OVERRIDE= accf_http ipfw                                      
                                                                              
        Reemplaze accf_httpd ipfw con una lista de los modulos que necesita.  
        Solo los modulos listados seran compilados. Esto reduce el tamano del 
        directorio del kernel y reduce la cantidad de tiempo requerido para   
        compilar el kernel. Para mas informacion, lea                         
        /usr/share/examples/etc/make.conf.                                    
                                                                              
        Los dispositivos innecesarios pueden ser removidos del kernel para    
        reducir aun mas su tamano. Vea P: 7.1 para mas informacion.           
                                                                              
        Para que estas opciones hagan efecto, siga las instrucciones para     
        compilar y instalar el nuevo kernel.                                  
                                                                              
        Para referencias, el kernel de FreeBSD 11 en amd64                    
        (/boot/kernel/kernel) ocupa aproximadamente approximately 25 MB.      
   7.3. ?Por que cada kernel que intento construir falla al compilar, incluso 
        GENERIC?                                                              
        Hay varias causas posibles para este problema:                        
                                                                              
          * El codigo fuente es diferente del que se usa para compilar el     
            sistema actual que esta corriendo. Al intentar actualizar,        
            lea/usr/src/UPDATING, prestando atencion especial a la seccion    
            "COMMON ITEMS" al final.                                          
                                                                              
          * El comando make buildkernel no se completo de manera exitosa. El  
            objetivo make buildkernel depende de archivos generados por el    
            objetivo make buildworld para terminar su trabajo correctamente.  
                                                                              
          * Incluso al compilar FreeBSD-STABLE, es posible que arbol de       
            codigo fuente haya sido obtenido en una etapa en la que esta      
            siendo modificado o estaba roto. Solo se garantiza que los        
            lanzamientos sean compilables, aunque FreeBSD-STABLE compila      
            correctamente la mayor parte del tiempo. Intente re-obtener el    
            arbol de codigo fuente y vea si el problema desaparece. Intente   
            usar un mirror distinto en casa de que el anterior presente       
            problemas.                                                        
   7.4. ?Que planificador esta en uso en un sistema en funcionamiento?        
        El nombre del planificador siendo usado actualmente esta directamente 
        disponible como el valor del sysctl kern.sched.name:                  
                                                                              
        % sysctl kern.sched.name                                              
        kern.sched.name: ULE                                                  
   7.5. ?Que es kern.sched.quantum?                                           
        kern.sched.quantum es el maximo numero de ticks que puede correr un   
        proceso sin ser apropiado por el planificador de 4BSD.                

       Capitulo 8. Discos, sistemas de archivos y cargadores de arranque

   8.1. ?Como puedo agregar mi nuevo disco duro a mi sistema FreeBSD?

   8.2. ?Como muevo mi sistema actual a mi nuevo y enorme disco?

   8.3. ?Que particiones pueden usar con seguridad Soft Updates? Escuche que
   utilizar Soft Updates en / puede causar problemas. ?Que sucede con
   Journaled Soft Updates?

   8.4. ?Puedo montar otros sistemas de archivos no nativos bajo FreeBSD?

   8.5. ?Como monto una particion DOS secundaria?

   8.6. ?Existe un sistema de archivos criptografico para FreeBSD?

   8.7. ?Como hago para arrancar FreeBSD y Linux(R) usando GRUB?

   8.8. ?Como arranco FreeBSD y Linux(R) usando BootEasy?

   8.9. ?Como cambio el indicador de arranque de ??? a algo que tenga mas
   sentido?

   8.10. ?Como utilizo un nuevo disco removible?

   8.11. ?Por que obtengo Incorrect super block al montar un CD?

   8.12. ?Por que obtengo Device not configured al montar un CD?

   8.13. ?Por que todos los caracteres no ingleses en los nombres de archivo
   se muestran como "?" en mis CDs cuando los monto en FreeBSD?

   8.14. Un CD grabado bajo FreeBSD no puede ser leido bajo ningun otro
   sistema operativo. ?Porque?

   8.15. ?Como puedo crear una imagen de un CD de datos?

   8.16. ?Porque no puedo hacer mount a un CD de audio?

   8.17. ?Como hago mount a un CD multi-sesion?

   8.18. ?Como hago para que los usuarios comunes puedan montar CD-ROMs,
   DVDs, dispositivos USB, y otros medios removibles?

   8.19. Los comandos du y df muestran diferentes cantidades de espacio en
   disco disponible. ?Que esta pasando?

   8.20. ?Como agrego mas espacio swap?

   8.21. ?Por que FreeBSD ve mi disco como mas pequeno de lo que el
   fabricante dice que es?

   8.22. ?Como es posible para una particion estar mas del 100% llena?

   8.23. ?Por que FreeBSD pausa por un largo tiempo al iniciar cuando el
   sistema tiene gran cantidad de ram?

   8.1.  ?Como puedo agregar mi nuevo disco duro a mi sistema FreeBSD?        
         Vea la seccion Anadir discos en el manual de FreeBSD.                
   8.2.  ?Como muevo mi sistema actual a mi nuevo y enorme disco?             
         La mejor manera es reinstalar el sistema operativo en el nuevo       
         disco, y luego mover los datos. Esto es altamente recomendado al     
         seguir -STABLE por mas de un lanzamiento o al actualizar una version 
         en lugar de instalar una nueva. Instale booteasy en ambos discos con 
         boot0cfg(8) y luego arranque en modo dual hasta que este contento    
         con la nueva configuracion. Salteese el proximo parrafo para         
         averiguar como mover los datos luego de hacer esto.                  
                                                                              
         Alternativamente, particiones y marque el nuevo disco con sade(8) o  
         gpart(8). Si los discos estan formateados con MBR, booteasy puede    
         instalarse en ambos discos con boot0cfg(8) de manera que la          
         computadora pueda arrancar en modo dual con el viejo o el nuevo      
         sistema luego de que se haya realizado el copiado.                   
                                                                              
         Una vez configurado el nuevo disco, los datos no pueden simplemente  
         copiarse. En su lugar utilice las herramientas que entiendan los     
         archivos de dispositivos y las banderas del sistema, tales como      
         dump(8). Aunque se recomienda mover los datos mientras se encuentre  
         en modo de un solo usuario, esto no es requerido.                    
                                                                              
         Cuando los discos esten formateados con UFS, nunca use nada excepto  
         dump(8) y restore(8) para mover el sistema de archivos raiz. Estos   
         comandos tambien deberian ser usados al mover una unica particion a  
         otra particion vacia. La secuencia de pasos para usar dump para      
         mover los datos de una particion UFS a una nueva particion es:       
                                                                              
          1. newfs a la nueva particion                                       
                                                                              
          2. mount en un punto de montaje temporal.                           
                                                                              
          3. cd a ese directorio.                                             
                                                                              
          4. dump la vieja particion, concatenando la salida a la nueva.      
                                                                              
         Por ejemplo, para mover /dev/ada1s1a con /mnt como punto de montaje  
         temporario, escriba:                                                 
                                                                              
         # newfs /dev/ada1s1a                                                 
         # mount /dev/ada1s1a /mnt                                            
         # cd /mnt                                                            
         # dump 0af - / | restore rf -                                        
                                                                              
         Reorganizar particiones con dump lleva un poco mas de trabajo. Para  
         combinar una particion como /var con su padre, cree una nueva        
         particion que sea lo suficientemente grande como para ambas, mueva   
         la particion padre como se describio anteriormente, y luego mueva la 
         particion hija al directorio vacio que creo la primera movida:       
                                                                              
         # newfs /dev/ada1s1a                                                 
         # mount /dev/ada1s1a /mnt                                            
         # cd /mnt                                                            
         # dump 0af - / | restore rf -                                        
         # cd var                                                             
         # dump 0af - /var | restore rf -                                     
                                                                              
         Para separar un directorio de su padre, por ejemplo poniendo /var en 
         su propia particion cuando no estaba ahi anteriormente, cree ambas   
         particiones, luego monte la particion hija en el directorio          
         apropiado en el punto de montaje temporario, luego mueva la vieja    
         particion:                                                           
                                                                              
         # newfs /dev/ada1s1a                                                 
         # newfs /dev/ada1s1d                                                 
         # mount /dev/ada1s1a /mnt                                            
         # mkdir /mnt/var                                                     
         # mount /dev/ada1s1d /mnt/var                                        
         # cd /mnt                                                            
         # dump 0af - / | restore rf -                                        
                                                                              
         Las utilidades cpio(1) y pax(1) tambien estan disponibles para mover 
         datos del usuario. Es sabido que estas utilidades pierden            
         informacion de las baneras, de modo que uselas con cuidado.          
   8.3.  ?Que particiones pueden usar con seguridad Soft Updates? Escuche que 
         utilizar Soft Updates en / puede causar problemas. ?Que sucede con   
         Journaled Soft Updates?                                              
         Respuesta corta: Soft Updates pueden por lo general usarse de manera 
         segura en todas las particiones.                                     
                                                                              
         Respuesta larga: Soft Updates tiene dos caracteristicas que pueden   
         ser indeseables en ciertas particiones. Primero, una particion con   
         Soft Updates tiene una pequena chance de perder datos durante una    
         falla del sistema. La particion no se corrompera dado que los datos  
         simplemente se perderan. Segundo, Soft Updates puede causar faltas   
         de espacio temporales.                                               
                                                                              
         Al usar Soft Updates, el kernel puede tomar hasta treinta segundos   
         para escribir los cambios al disco fisico. Cuando un archivo grande  
         se borra el archivo aun reside en el disco hasta que el kernel       
         realmente realice el borrado. Esto puede causar una condicion de     
         carrera muy simple. Suponga que un archivo grande es borrado y otro  
         archivo grande se crea inmediatamente. El primer archivo grande no   
         ha sido removido aun del disco fisico, de modo que el disco puede no 
         tener suficiente espacio para el segundo archivo grande. Esto        
         producira un error diciendo que la particion no tiene suficiente     
         espacio, aun cuando una gran cantidad de espacio acaba de liberarse. 
         Un par de segundos mas tarde, la creacion de archivos funciona de    
         manera esperada.                                                     
                                                                              
         Si un sistema falla luego de que el kernel acepte un gran trozo de   
         datos para escribir a disco, pero antes de que los datos sean        
         realmente escritos, los mismos pueden perderse. El riesgo es         
         extremadamente minimo, pero generalmente es manejable.               
                                                                              
         Estos problemas afectan a todas las plataformas que utilicen Soft    
         Updates. ?Que significa esto para la particion raiz?                 
                                                                              
         La informacion vital en la particion raiz cambia de manera muy       
         esporadica. Si el sistema fallo durante la ventana de treinta        
         segundos luego de que se realice este cambio, es posible que se      
         pierdan datos. El riesgo es negligible para la mayoria de las        
         aplicaciones, pero tenga en cuenta que existe. Si el sistema no      
         puede tolerar este riesgo... !No use Soft Updates en el sistema de   
         archivos raiz!                                                       
                                                                              
         / es tradicionalmente una de las particiones mas pequenas. Si /tmp   
         esta en /, puede haber problemas con el espacio intermitente.        
         Realizar un symlink de /tmp a /var/tmp resolvera este problema.      
                                                                              
         Finalmente, dump(8) no funciona en modo vivo (-L) en un sistema de   
         archivos, con Journaled Soft Updates (SU+J).                         
   8.4.  ?Puedo montar otros sistemas de archivos no nativos bajo FreeBSD?    
         FreeBSD soporta muchos otros sistemas de archivos.                   
                                                                              
         UFS                                                                  
                                                                              
            Los CD-ROM que usen UFS pueden montarse directamente en FreeBSD.  
            Montar particiones de discos de Digital UNIX y otros sistemas que 
            soporten UFS puede ser mas complejo, dependiendo de los detalles  
            acerca del particionado de disco del sistema operativo en         
            cuestion.                                                         
                                                                              
         ext2/ext3                                                            
                                                                              
            FreeBSD soporta particiones ext2fs y ext3fs. Vea ext2fs(5) para   
            mas informacion.                                                  
                                                                              
         NTFS                                                                 
                                                                              
            Soporte para NTFS basado en FUSE esta disponible como un port     
            (sysutils/fusefs-ntfs). Para mas informacion vea ntfs-3g.         
                                                                              
         FAT                                                                  
                                                                              
            FreeBSD incluye un controlador de lectura-escritura FAT. Para mas 
            informacion vea mount_msdosfs(8).                                 
                                                                              
         ZFS                                                                  
                                                                              
            FreeBSD incluye un port del controlador de ZFS de Sun(TM). La     
            recomendacion actual es solo usarlo en plataformas amd64          
            platforms con suficiente memoria. Para mas informacion. vea       
            zfs(8).                                                           
                                                                              
         FreeBSD incluye el Network File System NFS y la coleccion de ports   
         de FreeBSD Ports Collection provee varias aplicaciones de FUSE para  
         soportar muchos otros sistemas de archivos.                          
   8.5.  ?Como monto una particion DOS secundaria?                            
         Las particiones de DOS secundarias se encuentras luego de todas las  
         particiones primarias. Por ejemplo, si E es la segunda particion DOS 
         en el segundo dispositivo SCSI, habra un dispositivo para "slice 5"  
         en /dev. Para montarlo corra:                                        
                                                                              
         # mount -t msdosfs /dev/da1s5 /dos/e                                 
   8.6.  ?Existe un sistema de archivos criptografico para FreeBSD?           
         SI, gbde(8) y geli(8). Vea la seccion Encriptar particiones de disco 
         del manual de FreeBSD.                                               
   8.7.  ?Como hago para arrancar FreeBSD y Linux(R) usando GRUB?             
         Para arrancar FreeBSD usando GRUB, y anada lo siguiente a            
         /boot/grub/menu.lst o /boot/grub/grub.conf, dependiendo de como sea  
         usado por la distribucion de Linux(R).                               
                                                                              
         title FreeBSD 9.1                                                    
                 root (hd0,a)                                                 
                 kernel /boot/loader                                          
                                                                              
         Donde hd0,a apunte a la particion raiz del primer disco. Para        
         especificar el numero de slice, utilice algo como esto (hd0,2,a).    
         Por defecto, si el numero de slice es omitido, GRUB busca la primera 
         dado que tiene la particion a.                                       
   8.8.  ?Como arranco FreeBSD y Linux(R) usando BootEasy?                    
         Instale LILO al inicio de la particion de arranque de Linux(R) en    
         lugar de en el Registro de Arranque Principal Luego podra arrancar   
         LILO desde BootEasy.                                                 
                                                                              
         Esto se recomienda al correr Windows(R) y Linux(R) dado que hace     
         mucho mas simple lograr que Linux(R) arranque nuevamente si          
         Windows(R) es reinstalado.                                           
   8.9.  ?Como cambio el indicador de arranque de ??? a algo que tenga mas    
         sentido?                                                             
         Esto no puede lograrse con el cargador de arranque estandar sin      
         reescribirlo. Existen varios otros cargadores de arranque en la      
         categoria sysutils de la coleccion de ports.                         
   8.10. ?Como utilizo un nuevo disco removible?                              
         Si el disco ya tiene un sistema de archivos en el, use un comando    
         como este:                                                           
                                                                              
         # mount -t msdosfs /dev/da0s1 /mnt                                   
                                                                              
         Si el disco solo puede ser usado con sistemas FreeBSD, particionelo  
         con UFS o ZFS. Esto proveera soporte para nombres de archivo largos, 
         mejoras en performance y estabilidad. Si el disco va a ser usado por 
         otros sistemas operativos, una opcion mas portable, tal como         
         msdosfs, es preferible.                                              
                                                                              
         # dd if=/dev/zero of=/dev/da0 count=2                                
         # gpart create -s GPT /dev/da0                                       
         # gpart add -t freebsd-ufs /dev/da0                                  
                                                                              
         Finalmente, cree un nuevo sistema de archivos:                       
                                                                              
         # newfs /dev/da0p1                                                   
                                                                              
         y montelo:                                                           
                                                                              
         # mount /dev/da0s1 /mnt                                              
                                                                              
         Es una buena idea agregar una linea a /etc/fstab (vea fstab(5)) de   
         manera que pueda simplemente escribir mount /mnt en el futuro:       
                                                                              
         /dev/da0p1 /mnt ufs rw,noauto 0 0                                    
   8.11. ?Por que obtengo Incorrect super block al montar un CD?              
         El tipo de dispositivo a montar debe estar especificado. Esto se     
         describe en la seccion del manual acerca de Usar CDs de datos.       
   8.12. ?Por que obtengo Device not configured al montar un CD?              
         Esto usualmente significa que no hay CD en el dispositivo, o que el  
         dispositivo no es visible en el bus. Refierase a la seccion Usando   
         CDs de datos del manual para una discusion detallada de este         
         problema.                                                            
   8.13. ?Por que todos los caracteres no ingleses en los nombres de archivo  
         se muestran como "?" en mis CDs cuando los monto en FreeBSD?         
         El CD probablemente use la extension "Joliet" para guardar           
         informacion acerca de archivos y directorios. Esto se discute en la  
         seccion del manual Usando CDs de datos.                              
   8.14. Un CD grabado bajo FreeBSD no puede ser leido bajo ningun otro       
         sistema operativo. ?Porque?                                          
         Esto significa que un archivo crudo fue grabado al CD, en lugar de   
         crear un sistema de archivos ISO 9660. Dele un vistazo a la seccion  
         del manual acerca de Utilizar CDs de datos.                          
   8.15. ?Como puedo crear una imagen de un CD de datos?                      
         Esto se dicute en la seccion del manual acerca de Escribir datos a   
         un sistema de archivos ISO. Para mas informacion acerca de trabajar  
         con CD-ROMs, vea la seccion acerca de crear CDs en el capitulo de    
         almacenamiento en el manual.                                         
   8.16. ?Porque no puedo hacer mount a un CD de audio?                       
         Intentar montar un CD de audio producira un error como cd9660:       
         /dev/acd0c: Invalid argument. Esto es porque mount solo funciona en  
         sistemas de archivos. Los CDs de audio no tienen sistemas de         
         archivos; solo tienen datos. En su lugar, utilice un programa que    
         lea CDs de audio, como el paquete o port de audio/xmcd.              
   8.17. ?Como hago mount a un CD multi-sesion?                               
         Por defecto, mount(8) intentara montar la ultima pista de datos      
         (sesion) a un CD. Para cargar una sesion anterior, use el argumento  
         de linea de comandos -s. Vea mount_cd9660(8) para ejemplos           
         especificos.                                                         
   8.18. ?Como hago para que los usuarios comunes puedan montar CD-ROMs,      
         DVDs, dispositivos USB, y otros medios removibles?                   
         Como root ajuste la variable de sysctl vfs.usermount a 1.            
                                                                              
         # sysctl vfs.usermount=1                                             
                                                                              
         Para hacer que esto persista a un reinicio, agregue la linea         
         vfs.usermount=1 a /etc/sysctl.conf de modo que se vuelva a ajustar   
         al inicio del sistema.                                               
                                                                              
         Los usuarios solo pueden montar dispositivos que tienen permisos     
         para leer. Para permitir que los usuarios monten un dispositivo los  
         permisos deben establecerse en /etc/devfs.conf.                      
                                                                              
         Por ejemplo, para permitir a los usuarios montar el primer           
         dispositivo de USB anada:                                            
                                                                              
         # Prmitir a todos los usuarios montar un dispositivo USB.            
                     own       /dev/da0       root:operator                   
                     perm      /dev/da0       0666                            
                                                                              
         Ahora todos los usuarios pueden montar dispositivos que podrian leer 
         a un directorio propio:                                              
                                                                              
         % mkdir ~/my-mount-point                                             
         % mount -t msdosfs /dev/da0 ~/my-mount-point                         
                                                                              
         Desmontar el dispositivo es facil:                                   
                                                                              
         % umount ~/my-mount-point                                            
                                                                              
         Habilitar vfs.usermount, no obstante, tiene implicaciones de         
         seguridad negativas. Una mejor manera de acceder a medios            
         formateados con MS-DOS(R) es usar el paquete emulators/mtools en la  
         coleccion de ports.                                                  
                                                                              
           Nota:                                                              
                                                                              
         El nombre de dispositivo usado en los ejemplos anteriores debe ser   
         cambiado de acuerdo a la configuracion.                              
   8.19. Los comandos du y df muestran diferentes cantidades de espacio en    
         disco disponible. ?Que esta pasando?                                 
         Esto se debe a como funcionan ambos comandos. du atraviesa el arbol  
         de directorio, mide que tan largo es cada archivo, y presenta los    
         totales. df unicamente le pregunta al sistema de archivos cuanto     
         espacio tiene disponible. Pueden parecer cosas identicas, pero un    
         archivo sin una entrada de directorio afectara a df pero no a du.    
                                                                              
         Cuando un programa esta usando un archivo, y el mismo es borrado, el 
         archivo no se borra realmente del sistema de archivos hasta que el   
         programa deja de usarlo. El archivo es luego inmediatamente borrado  
         del listado de directorio, de todas formas. Como ejemplo, considere  
         un archivo que sea lo suficientemente grande como para afectar la    
         salida de du y df. Un archivo que este siendo visto con more puede   
         ser borrado sin causar un error. La entrada es borrada del           
         directorio de modo que ningun otro programa o usuario pueda          
         accederla. No obstante, du muestra que el archivo no existe dado que 
         ha atravesado el arbol de directorios y el archivo no esta listado.  
         df muestra que sigue alli, dado que el sistema de archivos sabe que  
         more sigue usando ese espacio. Una vez que la sesion de more         
         termine, du y df estaran de acuerdo.                                 
                                                                              
         Esta situacion es comun en servidores web. Mucha gente crea un       
         servidor web en FreeBSD y ser olvida de rotar los archivos de log.   
         El log de acceso llena /var. El nuevo administrador borra el         
         archivo, pero el sistema se seguira quejando de que la particion     
         esta llena. Parar y reiniciar el programa del servidor web liberara  
         el archivo, permitiendo que el sistema libere espacio en disco. Para 
         prevenir que esto pase, configure newsyslog(8).                      
                                                                              
         Note que Soft Updates puede retrasar la liberacion de espacio en el  
         disco y que puede tomar hasta 30 segundos para que el cambio sea     
         visible.                                                             
   8.20. ?Como agrego mas espacio swap?                                       
         Esta seccion del manual describe como hacer esto.                    
   8.21. ?Por que FreeBSD ve mi disco como mas pequeno de lo que el           
         fabricante dice que es?                                              
         Los fabricantes de discos calculan gigabytes como un millon de bytes 
         cada uno, mientras que FreeBSD los calcula como 1,073,741,824 bytes  
         cada uno. Esto explica porque, por ejemplo, los mensajes de arranque 
         de FreeBSD reportan un disco que se supone que tenga 80 GB como si   
         tuviera 76,319 MB.                                                   
                                                                              
         Tambien note que FreeBSD (por defecto) reserva 8% de espacio del     
         disco.                                                               
   8.22. ?Como es posible para una particion estar mas del 100% llena?        
         Una porcion de cada particion UFS (8%, por defecto) esta reservada   
         para su uso por el sistema operativo y el root usuario. df(1) no     
         cuenta ese espacio al calcular la columna Capacity (Capacidad), de   
         modo que puede exceder el 100%. Note que la columna Blocks (Bloques) 
         siempre es mayor que la suma de las columnas Used (Usado) y Avail    
         (Disponibilidad), usualmente por un factor del 8%.                   
                                                                              
         Para mas detalles, busque -m en tunefs(8).                           
   8.23. ?Por que FreeBSD pausa por un largo tiempo al iniciar cuando el      
         sistema tiene gran cantidad de ram?                                  
         FreeBSD 10.1 y versiones anteriores hacen una prueba de memoria      
         tempranamente en el proceso de arranque. Cuando el sistema tiene una 
         cantidad pequena de memoria, la prueba toma un par de segundos. A    
         las computadoras con diez o miles de gigabytes de memoria puede      
         llevarles varios minutos completar el test. El test de memoria puede 
         deshabilitarse anadiendo hw.memtest.tests=0 a /boot/loader.conf.     
                                                                              
         Para mas detalles, vea loader.conf(5).                               

                                Capitulo 9. ZFS

   9.1. ?Cual es la cantidad minima de RAM necesaria para correr ZFS?

   9.2. ?Que es el ZIL y cuando se usa?

   9.3. ?Necesito un SSD para el ZIL?

   9.4. ?Que es el L2ARC?

   9.5. ?Es aconsejable habilitar deduplicacion?

   9.6. No puedo borrar ni crear archivos en mi pool de ZFS. ?Como puedo
   arreglar esto?

   9.7. ?Soporta ZFS TRIM para discos de estado solido?

   9.1. ?Cual es la cantidad minima de RAM necesaria para correr ZFS?         
        Se necesita un minimo de 4GB de RAM para un uso tipico, pero la carga 
        de trabajo individual puede variar ampliamente.                       
   9.2. ?Que es el ZIL y cuando se usa?                                       
        El ZIL (ZFS intent log) es un log de escritura utilizado para         
        implementar semanticas de commiteo de escritura de posix entre fallos 
        del sistema. Normalmente las escrituras estan empaquetadas en grupos  
        de transaccion para escribirse al disco al llenarse ("Transaction     
        Group Commit"). No obstante syscalls tales como fsync(2) requieren un 
        compromiso de que los datos se escriban a un almacenamiento estable   
        antes de regresar. El ZIL es necesario para escrituras que se         
        reconocieron como realizadas pero que no estan en disco aun como      
        parte de una transaccion. Los grupos de transaccion tienen una marca  
        de tiempo. En el caso de un fallo la ultima marca de tiempo valida es 
        encontrada y los datos faltantes se combinan desde el ZIL.            
   9.3. ?Necesito un SSD para el ZIL?                                         
        Por defecto, ZFS guarda el ZIL en el pool junto con el resto de los   
        datos. Si una aplicacion tiene una gran carga de escritura, guardar   
        el ZIL en un dispositivo separado que tenga un rendimiento de         
        escritura secuencial muy rapido y asincronico puede mejorar el        
        sistema en general. Para otro tipo de cargas, es poco probable que un 
        SSD represente una gran mejora.                                       
   9.4. ?Que es el L2ARC?                                                     
        El L2ARC es una cache de lectura guardada en un dispositivo rapido    
        tal como un SSD. Esta cache no persiste entre reinicios. Notese que   
        la RAM es usada como primera capa de cache y el L2ARC solo es         
        necesitado si hay RAM insuficiente.                                   
                                                                              
        L2ARC necesita espacio en el ARC para indexarlo. De modo que,         
        extranamente, un conjunto de trabajo que encaja perfectamente en el   
        ARC dejara de encajar perfectamente si el L2ARC se usa porque una     
        parte del ARC esta reteniendo el indice el L2ARC, pasando una parte   
        del conjunto de trabajo al L2ARC que es mas lento que la memoria RAM. 
   9.5. ?Es aconsejable habilitar deduplicacion?                              
        Generalmente hablando, no.                                            
                                                                              
        Deduplicacion requiere una cantidad significativa de RAM y puede      
        realentizar los tiempos de acceso del disco para lectura y escritura. 
        A no ser que se esten guardando datos que estan altamente duplicados, 
        tales como las maquinas virtuales o respaldos hechos por el usuario,  
        es posible que la dedpulicacion haga mas mal que bien. Otra           
        consideracion es la incapacidad de revertir el estado de              
        deduplicacion. Si los datos son escritos al habilitar deduplicacion,  
        deshabilitar dedup no causara que los bloques que fueron deduplicados 
        se repliquen hasta que estos vuelvan a ser modificados.               
                                                                              
        Deduplicacion tambien puede llevar a situaciones inesperadas. En      
        particular, borrar archivos puede volverse mucho mas lento.           
   9.6. No puedo borrar ni crear archivos en mi pool de ZFS. ?Como puedo      
        arreglar esto?                                                        
        Esto puede ocurrir porque el pool esta 100% lleno. ZFS requiere       
        espacio en el disco para escribir los metadatos de transaccion. Para  
        restaurar el pool a un estado usable, trunque el archivo a borrar:    
                                                                              
        % truncate -s 0 archivo-sin-importancia                               
                                                                              
        La truncacion de archivos funciona porque no se inicia una nueva      
        transaccion, en su lugar se crean nuevos bloques de repuesto.         
                                                                              
          Nota:                                                               
                                                                              
        En sistemas con ajustes adicionales al set de datos de ZFS, tales     
        como deduplicacion, el espacio puede no estar inmediatamente          
        disponible.                                                           
   9.7. ?Soporta ZFS TRIM para discos de estado solido?                       
        El soporte para TRIM en ZFS fue anadido a FreeBSD 10-CURRENT con la   
        revision r240868. El soporte para TRIM en ZFS se agrego a todas las   
        ramas FreeBSD-STABLE en r252162 y r251419, respectivamente.           
                                                                              
        TRIM esta habilitado por defecto en ZFS, y puede ser deshabilitado    
        agregando esta linea a /etc/sysctl.conf:                              
                                                                              
        vfs.zfs.trim_disable=1                                                
                                                                              
          Nota:                                                               
                                                                              
        TRIM en ZFS puede no funcionar con todas las configuraciones, tales   
        como un sistema de archivos ZFS en un dispositivo respaldado con      
        GELI.                                                                 

                    Capitulo 10. Administracion del sistema

   10.1. ?Cuales son los archivos de configuracion para el arranque del
   sistema?

   10.2. ?Como agrego facilmente un usuario?

   10.3. ?Por que recibo constantemente mensajes del estilo root: not found
   luego de editar /etc/crontab?

   10.4. ?Por que tengo el error you are not in the correct group to su root
   cuando intento hacer su a root?

   10.5. Cometi un error en rc.conf, u otro archivo de inicio, y ahora no
   puedo editarlo porque el sistema de archivos es de solo lectura. ?Que debo
   hacer?

   10.6. ?Por que tengo problemas para configurar mi impresora?

   10.7. ?Como puedo corregir los mapeos del teclado para mi sistema?

   10.8. ?Por que no consigo que las quotas de usuario funcionen
   adecuadamente?

   10.9. ?Soporta FreeBSD primitivas IPC de SystemV?

   10.10. ?Que otro software de servidor de correo puedo usar en lugar de
   Sendmail?

   10.11. !He olvidado la contrasena de root! ?Que hago?

   10.12. ?Como prevengo que Control+Alt+Delete borre el sistema?

   10.13. ?Como reformateo archivos de texto de DOS a archivos UNIX(R)?

   10.14. ?Como releo /etc/rc.conf y rearranco /etc/rc sin reiniciar?

   10.15. !Intente actualizar mi sistema al ultimo -STABLE, pero obtuve
   -BETAx, -RC o -PRERELEASE! ?Que esta pasando?

   10.16. He intentado instalar un nuevo kernel y las chflags(1) fallaron.
   ?Como soluciono esto?

   10.17. !No puedo cambiar el tiempo en mi sistema por mas de un segundo!
   ?Como soluciono esto?

   10.18. ?Por que rpc.statd esta usando 256 MB de memoria?

   10.19. ?Por que no puedo borrar la bandera de archivo schg?

   10.20. ?Que es vnlru?

   10.21. ?Que significan los varios estados de memoria mostrados por top?

   10.22. ?Cuanta memoria libre esta disponible?

   10.23. ?Que es /var/empty?

   10.24. Acabo de cambiar /etc/newsyslog.conf. ?Como puedo verificar si hace
   lo que yo espero?

   10.25. ?Mi hora esta mal, como puedo cambiar la zona del tiempo?

   10.1.  ?Cuales son los archivos de configuracion para el arranque del      
          sistema?                                                            
          El archivo de configuracion principal es /etc/defaults/rc.conf el   
          cual se describe en rc.conf(5). Los scripts de arranque del sistema 
          tales como /etc/rc y /etc/rc.d, los cuales son descritos en rc(8),  
          incluyen este archivo. !No edite este archivo! En su lugar, para    
          editar una entrada en /etc/defaults/rc.conf, copie la linea a       
          /etc/rc.conf y cambiela alli.                                       
                                                                              
          Por ejemplo, para arrancar named(8), el servidor de DNS incluido    
                                                                              
          # echo 'named_enable="YES"' >> /etc/rc.conf                         
                                                                              
          Para arrancar servicios locales, coloque los scripts de shell en el 
          directorio /usr/local/etc/rc.d. Los scripts de shell deben ser      
          ejecutables, el modo de archivo por defecto es 555.                 
   10.2.  ?Como agrego facilmente un usuario?                                 
          Use el comando adduser(8), o el comando pw(8) para situaciones mas  
          complicadas.                                                        
                                                                              
          Para remover el usuario, use el comando rmuser(8)o, si es           
          necesario, pw(8).                                                   
   10.3.  ?Por que recibo constantemente mensajes del estilo root: not found  
          luego de editar /etc/crontab?                                       
          Esto usualmente esta provocado por editar el crontab del sistema.   
          Esta no es la manera correcta de hacer las cosas, dado que el       
          crontab del sistema tiene un formato distinto para los crontabs por 
          usuario. El crontab del sistema tiene un campo extra, especificando 
          como que usuario se debe correr el comando. cron(8) asume que este  
          usuario es la primera palabra del comando a ejecutar. Dado que no   
          existe tal comando, aparece este mensaje de error.                  
                                                                              
          Para borrar el contrab extra e incorrecto:                          
                                                                              
          # crontab -r                                                        
   10.4.  ?Por que tengo el error you are not in the correct group to su root 
          cuando intento hacer su a root?                                     
          Esta es una caracteristica de seguridad. Para hacer su a root, o    
          cualquier otra cuenta con privilegios de superusuario, la cuenta de 
          usuario debe ser miembra del grupo wheel. Si esta caracteristica no 
          estuviera, cualquiera con una cuenta en el sistema que haya         
          adivinado la contrasena de root podria ganar acceso de superusuario 
          al sistema.                                                         
                                                                              
          Para permitir que alguien haga su a root, pongalo(s) en el grupo    
          wheel usando pw:                                                    
                                                                              
          # pw groupmod wheel -m lisa                                         
                                                                              
          El ejemplo anterior agregara al usuario lisa al grupo wheel.        
   10.5.  Cometi un error en rc.conf, u otro archivo de inicio, y ahora no    
          puedo editarlo porque el sistema de archivos es de solo lectura.    
          ?Que debo hacer?                                                    
          Reinicie el sistema usando boot -s en el indicador de arranque para 
          entrar en el modo de un solo usuario. Cuando se le pida un nombre   
          de ruta para el shell, presione Enter y corra mount -urw / para     
          re-montar el sistema de archivos raiz en modo de lectura/escritura. 
          Quizas tambien tenga que correr mount -a -t ufs para montar el      
          sistema de archivos donde esta definido su editor favorito. Si ese  
          editor esta en un sistema de archivos de red, configure la red      
          manualmente antes de montar sistemas de archivos en red, o use un   
          editor que redia en el sistema de archivos local, como ed(1).       
                                                                              
          Para usar un editor de pantalla completa tal como vi(1) o emacs(1), 
          corra export TERM=xterm en FreeBSD 9.0+ de manera que estos         
          editores puedan cargar correctamente los datos desde la base de     
          datos de termcap(5).                                                
                                                                              
          Luego de realizar estos pasos, edite /etc/rc.conf para arreglar el  
          error de sintaxis. El mensaje de error que se muestra               
          inmediatamente luego de los mensajes de arranque del kernel deberia 
          indicar que numero de linea en el archivo tiene el problema.        
   10.6.  ?Por que tengo problemas para configurar mi impresora?              
          Vea la entrada del manual acerca de imprimir para consejos sobre    
          como solucionar el problema.                                        
   10.7.  ?Como puedo corregir los mapeos del teclado para mi sistema?        
          Vea la seccion del manual acerca de utilizar localizacion,          
          especificamente la seccion acerca de configuracion de la consola.   
   10.8.  ?Por que no consigo que las quotas de usuario funcionen             
          adecuadamente?                                                      
           1. Es posible que el kernel no este configurado para usar quotas.  
              En este caso, anada la siguiente linea al archivo de            
              configuracion de kernel y recompile el kernel:                  
                                                                              
           options QUOTA                                                      
                                                                              
              Vea la entrada de manual acerca de quotas para mas detalles.    
                                                                              
           2. No ponga quotas sobre /.                                        
                                                                              
           3. Agregue el archivo de quota en el sistema de archivo en que se  
              van a aplicar las quotas:                                       
                                                                              
                    Sistema de archivos               Archivo de quota        
              /usr                             /usr/admin/quotas              
              /home                            /home/admin/quotas             
              ...                              ...                            
   10.9.  ?Soporta FreeBSD primitivas IPC de SystemV?                         
          Si, FreeBSD soporta IPC de tipo System V, incluyendo memoria        
          compartida, mensajes y semaforos, en el kernel GENERIC. Con un      
          kernel personalizado, el soporte puede cargarse con los modulos de  
          kernel sysvshm.ko, sysvsem.ko y sysvmsg.ko, o habilitado en el      
          kernel por defecto agregando las siguientes lineas al archivo de    
          configuracion del kernel:                                           
                                                                              
          options    SYSVSHM          # enable shared memory                  
          options    SYSVSEM          # enable for semaphores                 
          options    SYSVMSG          # enable for messaging                  
                                                                              
          Recompile e instale el kernel.                                      
   10.10. ?Que otro software de servidor de correo puedo usar en lugar de     
          Sendmail?                                                           
          El servidor Sendmail es el software servidor de correo por defecto  
          para FreeBSD, pero puede ser reemplazado con otro MTA instalado     
          desde la coleccion de ports. Los ports disponibles incluyen         
          mail/exim, mail/postfix, y mail/qmail. Busque en las listas de      
          correo para discusiones sobre las ventajas y desventajas de los     
          MTAs disponibles.                                                   
   10.11. !He olvidado la contrasena de root! ?Que hago?                      
          !No se desespere! Reinicie el sistema, escriba boot -s en el        
          indicador Boot: para entrar en modo de un solo usuario. Cuando se   
          le pregunte que shell usar, presione Enter lo cual mostrara el      
          simbolo #. Ingrese mount -urw / para remontar el sistema de         
          archivos raiz como lectura/escritura, luego corra mount -a para     
          remontar todos los sistemas de archivos. Corra passwd root para     
          cambiar la contrasena de root luego corra exit(1) para continuar    
          con el arranque.                                                    
                                                                              
            Nota:                                                             
                                                                              
          Si todavia se le pide la contrasena de root al ingresar en modo de  
          un solo usuario, significa que la consola ha sido marcada como      
          insegura en /etc/ttys. En este caso, se requerira que arranque      
          desde un disco de instalacion de FreeBSD, elija Live CD o Shell al  
          inicio del proceso de instalacion y corra los comandos mencionados  
          anteriormente. Monte la particion especifica en este caso y luego   
          haga chroot en ella. Por ejemplo, reemplace mount -urw / con mount  
          /dev/ada0p1 /mnt; chroot /mnt para un sistema en ada0p1.            
                                                                              
            Nota:                                                             
                                                                              
          Si la particion raiz no puede ser montada en modo de un solo        
          usuario, es posible que las particiones se encuentren encriptadas y 
          es imposible montarlas sin las llaves de acceso. Para mas           
          informacion vea la seccion acerca de discos encriptados en el       
          manual de FreeBSD.                                                  
   10.12. ?Como prevengo que Control+Alt+Delete borre el sistema?             
          Cuando use syscons(4), el controlador por defecto dela consola,     
          compile e instale un nuevo kernel con esta linea en el archivo de   
          configuracion:                                                      
                                                                              
          options SC_DISABLE_REBOOT                                           
                                                                              
          Esto tambien puede hacerse ajustando el siguiente sysctl(8) que no  
          requiere un reinicio o una recompilacion de kernel:                 
                                                                              
          # sysctl hw.syscons.kbd_reboot=0                                    
                                                                              
            Nota:                                                             
                                                                              
          Los dos metodos anteriores son exclusivos: el sysctl(8) no existe   
          si el kernel se compila con SC_DISABLE_REBOOT.                      
   10.13. ?Como reformateo archivos de texto de DOS a archivos UNIX(R)?       
          Use este comando de perl(1):                                        
                                                                              
          % perl -i.bak -npe 's/\r\n/\n/g' file(s)                            
                                                                              
          donde file(s) es uno o mas archivos a procesar. La modificacion se  
          hace en el lugar, con el archivo original guardado con la extension 
          .bak.                                                               
                                                                              
          Alternativamente, use tr(1):                                        
                                                                              
          % tr -d '\r' < dos-text-file > unix-file                            
                                                                              
          dos-text-file es el archivo que contiene texto de DOS mientras que  
          unix-file contendra la salida convertida. Esto puede ser un poco    
          mas rapido que usar perl.                                           
                                                                              
          Otra forma de reformatear archivos de texto de DOS es usar el port  
          converters/dosunix de la coleccion de ports. Consulte su            
          documentacion para mas detalles.                                    
   10.14. ?Como releo /etc/rc.conf y rearranco /etc/rc sin reiniciar?         
          Vaya al modo de un solo usuario y luego vuelva al modo              
          multiusuario:                                                       
                                                                              
          # shutdown now                                                      
          # return                                                            
          # exit                                                              
   10.15. !Intente actualizar mi sistema al ultimo -STABLE, pero obtuve       
          -BETAx, -RC o -PRERELEASE! ?Que esta pasando?                       
          Respuesta corta: es solo un nombre. RC significa "Release           
          Candidate". Esto quiere decir que un lanzamiento es inminente. En   
          FreeBSD, -PRERELEASE tipicamente significa el congelamiento de      
          codigo antes de un lanzamiento. (Para algunos lanzamientos, la      
          etiqueta -BETA fue usada en la misma manera que -PRERELEASE.)       
                                                                              
          Respuesta larga: FreeBSD deriva sus lanzamientos actuales de uno de 
          dos lugares. Las versiones mayores, punto cero, tales como          
          9.0-RELEASE se ramifican del punto mas adelantado del torrente de   
          desarrollo, comunmente denominado -CURRENT. Versiones menores,      
          tales como 6.3-RELEASE o 5.2-RELEASE, fueron snapshots de la rama   
          -STABLE activa. A partir de 4.3-RELEASE, cada version ahora tambien 
          tiene su propia rama que puede ser seguida por gente que requiera   
          una velocidad de desarrollo extremadamente conservadora             
          (tipicamente solo avisos de seguridad).                             
                                                                              
          Cuando esta a punto de hacerse un lanzamiento, la rama desde la     
          cual sera derivada debe pasar por un cierto proceso. Parte de este  
          proceso es un congelamiento de codigo. Cuando el mismo se inicia,   
          el nombre de la rama se cambia para reflejar que esta a punto de    
          convertirse en una version. Por ejemplo, si la rama se solia llamar 
          6.2-STABLE, su nombre sera cambiado a 6.3-PRERELEASE para indicar   
          el congelamiento de codigo y remarcar que habra un testo extra      
          pre-lanzamiento. Las correcciones de errores pueden seguir siendo   
          commiteadas para formar parte del lanzamiento. Cuando el codigo     
          fuente esta en forma para ser lanzado el nombre sera cambiado a     
          6.3-RC para indicar que se esta por hacer un lanzamiento a partir   
          del mismo. Una vez en la fase de RC, solo los errores mas criticos  
          seran reparados. Una vez que el lanzamiento (6.3-RELEASE en este    
          ejemplo) y la rama de la version se hayan hecho, la rama sera       
          renombrada a 6.3-STABLE.                                            
                                                                              
          Para mas informacion acerca de numeros de version y varias ramas de 
          Subversion, vea el articulo de Ingenieria de lanzamientos .         
   10.16. He intentado instalar un nuevo kernel y las chflags(1) fallaron.    
          ?Como soluciono esto?                                               
          Respuesta corta: el nivel de seguridad es mayor a 0. Reinicie       
          directamente al modo de un solo usuario para instalar el kernel.    
                                                                              
          Respuesta larga: FreeBSD deshabilita cambiar las banderas del       
          sistema cuando los niveles de seguridad son mayores a 0. Para       
          verificar el nivel actual de seguridad:                             
                                                                              
          # sysctl kern.securelevel                                           
                                                                              
          El nivel de seguridad no puede ser bajado en modo multiusuario, de  
          manera que reinicie al modo de un solo usuario para instalar el     
          kernel, o cambie el nivel de seguridad en /etc/rc.conf y luego      
          reinicie. Vea la pagina de manial de init(8) para mas detalles      
          acerca de securelevel, y vea /etc/defaults/rc.conf y la pagina de   
          manual de rc.conf(5) para mas informacion acerca de rc.conf.        
   10.17. !No puedo cambiar el tiempo en mi sistema por mas de un segundo!    
          ?Como soluciono esto?                                               
          Respuesta corta: el sistema esta en un nivel de seguridad mayor a   
          1. Reinicie directamente a modo de un solo usuario para cambiar la  
          fecha.                                                              
                                                                              
          Respuesta larga: FreeBSD deshabilita cambiar el tiempo por mas de   
          un segundo a niveles de seguridad mayores que 1. Para verificar el  
          nivel de seguridad:                                                 
                                                                              
          # sysctl kern.securelevel                                           
                                                                              
          El nivel de seguridad no puede ser reducido en modo multiusuario.   
          Reinicie a modo de un solo usuario para cambiar la fecha o cambie   
          el nivel de seguridad en /etc/rc.conf y reinicie. Vea la pagina de  
          manual de init(8) para detalles acerca de securelevel, y vea        
          /etc/defaults/rc.conf y la pagina de manual de rc.conf(5) para mas  
          informacion acerca de rc.conf.                                      
   10.18. ?Por que rpc.statd esta usando 256 MB de memoria?                   
          No, no hay ningun desbordamiento de memoria, y no esta usando 256   
          MB de memoria. Para comodidad, rpc.statd mapea una cantidad obscena 
          de memoria a su espacio de direcciones. No hay nada horriblemente   
          malo con esto desde un punto de vista tecnico; solo desorienta a    
          procesos como top(1) y ps(1).                                       
                                                                              
          rpc.statd(8) mapea su archivo de estado (residente en /var) a su    
          espacio de direcciones; para evitar preocuparse acerca de           
          remapearlo luego cuando necesite crecer, lo mapea con un tamano     
          generoso. Esto es muy evidente en el codigo fuente, donde es        
          posible ver que el argumento de longitud de mmap(2) es 0x10000000,  
          o un dieciseisavo del espacio de direcciones en IA32, o exactamente 
          256 MB.                                                             
   10.19. ?Por que no puedo borrar la bandera de archivo schg?                
          El sistema esta corriendo con un securelevel mayor a 0. Baje el     
          securelevel e intentelo de vuelta. Para mayor informacion vea la    
          entrada de FAQ de securelevel y la pagina de manual de init(8).     
   10.20. ?Que es vnlru?                                                      
          vnlru limpia y libera vnodes cuando el sistema llega al limite de   
          kern.maxvnodes. Este hilo de kernel esta ocioso, y solo se activa   
          cuando hay una cantidad enorme de RAM y los usuarios estan          
          accediendo a miles de archivos pequenos.                            
   10.21. ?Que significan los varios estados de memoria mostrados por top?    
            * Active: paginas recientes estadisticamente usadas.              
                                                                              
            * Inactive: paginas recientes estadisticamente sin uso.           
                                                                              
            * Cache: (la mayor parte del tiempo) paginas que se cuelan del    
              estado inactivo a un estado en donde mantienen sus datos, pero  
              pueden con frecuencia ser inmediatamente reusadas (tanto con su 
              vieja asociacion, o reusadas con una nueva asociacion). Puede   
              haber ciertas transiciones inmediatas desde el estado active a  
              cache si se sabe que la pagina esta limpia (sin modificar),     
              pero esta transicion es un asunto de politicas, dependiendo de  
              la eleccion del algoritmo del mantenedor del sistema de VM.     
                                                                              
            * Free: paginas sin contenido de datos, y que pueden ser usadas   
              inmediatamente en ciertas circunstancias donde las paginas de   
              cache puedan no ser elegibles. Las paginas libres pueden ser    
              reusadas en un estado de proceso o interrupcion.                
                                                                              
            * Wired: paginas que estan fijas en memoria, usualmente para      
              propositos del kernel, pero a veces tambien para su uso         
              especial en los procesos.                                       
                                                                              
          Las paginas con frecuencia se escriben a disco (una especie de      
          sincronizacion de VM) cuando estan en el estado inactivo, pero las  
          paginas activas tambien pueden sincronizarse. Esto depende del      
          rastreo que haga CPU de la disponibilidad del bit de modificacion,  
          y en ciertas situaciones puede haber una ventaja para un bloque de  
          paginas de VM al ser sincronizadas, tanto si estan activas como     
          inactivas. En la mayoria de los casos comunes, es mejor pensar de   
          la cola inactiva como una cola de paginas relativamente sin usar    
          que pueden o no estar en proceso de ser escritas a disco. La        
          paginas en cache pueden estar ya sincronizadas, no mapeadas, pero   
          disponibles para su uso inmediato por un proceso con su vieja       
          asociacion o con una nueva asociacion. Las paginas libres estan     
          disponibles al nivel de interrupcion, pero las paginas en cache o   
          libres pueden ser usadas en el estado de proceso para ser reusadas. 
          Las paginas en cache no se bloquean adecuadamente para estar        
          disponibles al nivel de interrupcion.                               
                                                                              
          Hay algunas otras banderas There are some other flags (e.g., busy   
          flag or busy count) que pueden modificar algunas de las reglas      
          descritas.                                                          
   10.22. ?Cuanta memoria libre esta disponible?                              
          Hay varios tipos de "memoria libre". Un tipo es la cantidad de      
          memoria directamente disponible sin paginar nada a disco. Esto es   
          aproximadamente el tamano de una cola de cache + el tamano de la    
          cola libre (con un factor de reduccion de potencia, dependiendo de  
          como se configure el sistema). Otro tipo de "memoria libre" es la   
          cantidad total de espacio VM. Esto puede ser complejo, pero depende 
          de la cantidad de espacio de intercambio y memoria. Otros tipos de  
          descripciones de "memoria libre" tambien son posibles, pero es      
          relativamente inutil definirlos, en su lugar es importante          
          asegurarse de mantener el rango de paginacion bajo, para evitar que 
          se agote el espacio de intercambio.                                 
   10.23. ?Que es /var/empty?                                                 
          /var/empty es un directorio que el programa sshd(8) usa al realizar 
          la separacion de privilegios. El directorio /var/empty esta vacio,  
          su dieno es root y tiene la bandera schg habilitada. Este           
          directorio no deberia ser borrado.                                  
   10.24. Acabo de cambiar /etc/newsyslog.conf. ?Como puedo verificar si hace 
          lo que yo espero?                                                   
          Para ver lo que haria newsyslog(8), use lo siguiente:               
                                                                              
          % newsyslog -nrvv                                                   
   10.25. ?Mi hora esta mal, como puedo cambiar la zona del tiempo?           
          Use tzsetup(8).                                                     

           Capitulo 11. El sistema X Window y las consolas virtuales

   11.1. ?Que es el sistema X Window?

   11.2. ?Quiero correr Xorg, como hago esto?

   11.3. He intentado correr X, pero obtengo el error No devices detected.
   cuando escribo startx. ?Que hago ahora?

   11.4. ?Por que mi mouse no funciona con X?

   11.5. Mi mouse tiene una flamante rueda. ?Puedo usarla en X?

   11.6. Mi laptop tiene un touchpad Synaptics. ?Puedo usarlo en X?

   11.7. ?Como use pantallas X remotas?

   11.8. ?Que es una consola virtual y como hago mas?

   11.9. ?Como accedo a las consolas virtuales desde X?

   11.10. ?Como arranco XDM al iniciar?

   11.11. ?Porque obtengo Couldn't open console al correr xconsole?

   11.12. ?Por que mi mouse PS/2 se comporta mal bajo X?

   11.13. ?Como revierto los botones del mouse?

   11.14. ?Como instalo una splash screen y donde puedo encontrarlas?

   11.15. ?Puedo usar las teclas Windows en mi teclado en X?

   11.16. ?Como puedo obtener aceleracion de hardware 3D para OpenGL(R)?

   11.1.  ?Que es el sistema X Window?                                        
          El sistema X Window (comunmente X11) es el sistema de ventanas mas  
          ampliamente disponible capaz de correr en UNIX(R) o sistemas de     
          tipo UNIX(R), incluyendo FreeBSD. La X.Org Foundation administra    
          estandares de protocolo de X, con la implementacion de referencia   
          actual, version 11 release 7.7, de modo que las referencias suelen  
          acortarse a X11.                                                    
                                                                              
          Exiten muchas implementaciones disponibles para diferentes          
          arquitecturas y sistemas operativos. Una implementacion del codigo  
          del lado del servidor es conocida propiamente como un servidor X.   
   11.2.  ?Quiero correr Xorg, como hago esto?                                
          Para instalar Xorg siga uno de los siguientes pasos:                
                                                                              
          Use el meta-port x11/xorg, que compila e instala todos los          
          componentes de Xorg.                                                
                                                                              
          Use x11/xorg-minimal, que compila e instala solo los componentes de 
          Xorg necesarios.                                                    
                                                                              
          Instale Xorg desde los paquetes de FreeBSD:                         
                                                                              
          # pkg install xorg                                                  
                                                                              
          Luego de la instalacion de Xorg, siga las instrucciones de la       
          seccion Configuracion de X11 del manual de FreeBSD.                 
   11.3.  He intentado correr X, pero obtengo el error No devices detected.   
          cuando escribo startx. ?Que hago ahora?                             
          El sistema probablemente este corriendo en un securelevel elevado.  
          No es posible iniciar X en un securelevel elevado porque X requiere 
          acceso de escritura a io(4). Para mas informacion vea la pagina de  
          manual de init(8).                                                  
                                                                              
          Hay dos soluciones a este problema: ponga securelevel en cero o     
          corra xdm(1) (o un gestor grafico alternativo) en tiempo de         
          arranque antes de que securelevel sea elevado.                      
                                                                              
          Vea P: 11.10 para mas informacion acerca de correr xdm(1) en tiempo 
          de arranque.                                                        
   11.4.  ?Por que mi mouse no funciona con X?                                
          Al usar syscons(4), el controlador de consola por defecto, FreeBSD  
          puede configurarse para soportar un puntero del mouse en cada       
          pantalla virtual. Para evitar entrar en conflico con X, syscons(4)  
          soporta un dispositivo virtual llamado /dev/sysmouse. Todos los     
          eventos del mouse recibidos del dispositivo real del mouse se       
          escriben al dispositivo sysmouse(4) mediante moused(8). Para usar   
          el mouse en una o mas consolas virtuales, and use X, vea P: 4.4.1 y 
          configuremoused(8).                                                 
                                                                              
          Luego edite /etc/X11/xorg.conf y asegurese de que las siguientes    
          lineas existan:                                                     
                                                                              
          Section "InputDevice"                                               
             Option          "Protocol" "SysMouse"                            
             Option          "Device" "/dev/sysmouse"                         
          .....                                                               
                                                                              
          Empezando con la version 7.4 de Xorg, las secciones InputDevice en  
          xorg.conf son ignoradas en favor de los dispositivos                
          autodetectados. Para restaurar el viejo comportamiento, agregue la  
          siguiente linea a la seccion ServerLayout o a ServerFlags:          
                                                                              
          Option "AutoAddDevices" "false"                                     
                                                                              
          Algunas personas prefieran usar /dev/mouse bajo X. Para hacer que   
          esto funcione, /dev/mouse deberia estar vinculado a /dev/sysmouse   
          (vea sysmouse(4)) anadiendo la siguiente linea a /etc/devfs.conf    
          (vea devfs.conf(5)):                                                
                                                                              
          link    sysmouse    mouse                                           
                                                                              
          Este vinculo puede ser creado reiniciando devfs(5) con el siguiente 
          comando (como root):                                                
                                                                              
          # service devfs restart                                             
   11.5.  Mi mouse tiene una flamante rueda. ?Puedo usarla en X?              
          Si, si X se configura para un mouse de 5 botones. Para hacer esto,  
          agregue las lineas Buttons 5 y ZAxisMapping 4 5 a la seccion        
          "InputDevice" de /etc/X11/xorg.conf, como se ve en este ejemplo:    
                                                                              
          Section "InputDevice"                                               
             Identifier      "Mouse1"                                         
             Driver          "mouse"                                          
             Option          "Protocol" "auto"                                
             Option          "Device" "/dev/sysmouse"                         
             Option          "Buttons" "5"                                    
             Option          "ZAxisMapping" "4 5"                             
          EndSection                                                          
                                                                              
          Para usar el mouse en Emacs, tambien agregue las siguientes lineas  
          a ~/.emacs:                                                         
                                                                              
          ;; wheel mouse                                                      
          (global-set-key [mouse-4] 'scroll-down)                             
          (global-set-key [mouse-5] 'scroll-up)                               
   11.6.  Mi laptop tiene un touchpad Synaptics. ?Puedo usarlo en X?          
          Si, luego de configurar un par de cosas para hacerlo funcionar.     
                                                                              
          Para usar el controlador de synaptics de Xorg, primero remueva      
          moused_enable de rc.conf.                                           
                                                                              
          Para habilitar synaptics, agregue las siguiente linea a             
          /boot/loader.conf:                                                  
                                                                              
          hw.psm.synaptics_support="1"                                        
                                                                              
          Agregue lo siguiente a /etc/X11/xorg.conf:                          
                                                                              
          Section "InputDevice"                                               
          Identifier  "Touchpad0"                                             
          Driver      "synaptics"                                             
          Option      "Protocol" "psm"                                        
          Option      "Device" "/dev/psm0"                                    
          EndSection                                                          
                                                                              
          Y asegurese de anadir la siguiente linea a la seccion               
          "ServerLayout":                                                     
                                                                              
          InputDevice    "Touchpad0" "SendCoreEvents"                         
   11.7.  ?Como use pantallas X remotas?                                      
          Por razones de seguridad, la configuracion por defecto es no        
          permitir que la maquina abra una ventana directamente.              
                                                                              
          Para habilitar esta caracteristica arranque X con el argumento      
          opcional -listen_tcp:                                               
                                                                              
          % startx -listen_tcp                                                
   11.8.  ?Que es una consola virtual y como hago mas?                        
          Las consolas virtuales proveen varias sesiones simultaneas en una   
          misma maquina sin hacer nada complicado como configurar una red o   
          correr X.                                                           
                                                                              
          Cuando arranca el sistema, se mostrara un indicador de arranque en  
          el monitor luego de mostrar los mensajes de inicio. Escriba su      
          nombre de usuario y contrasena para comenzar a trabajar en la       
          primera consola virtual.                                            
                                                                              
          Para iniciar otra sesion, tal vez para ver documentacion para un    
          programa o para leer mail mientras espera que termine una           
          transferencia por FTP, mantenga Alt y presione F2. Esto mostrara el 
          indicador de inicio para la segunda consola virtual. Para volver a  
          la sesion original presione Alt+F1.                                 
                                                                              
          La instalacion por defecto de FreeBSD tiene ocho consolas virtuales 
          habilitadas. Alt+F1, Alt+F2, Alt+F3, y demas iran cambiando entre   
          estas consolas virtuales.                                           
                                                                              
          Para habilitar mas consolas virtuales, edite /etc/ttys (vea         
          ttys(5)) y anada entradas para ttyv8 hasta ttyvc, luego del         
          comentario acerca de "terminales virtuales":                        
                                                                              
          # Edit the existing entry for ttyv8 in /etc/ttys and change         
          # "off" to "on".                                                    
          ttyv8   "/usr/libexec/getty Pc"         xterm  on secure            
          ttyv9   "/usr/libexec/getty Pc"         xterm  on secure            
          ttyva   "/usr/libexec/getty Pc"         xterm  on secure            
          ttyvb   "/usr/libexec/getty Pc"         xterm  on secure            
                                                                              
          Cuantas mas terminales virtuales, mas recursos son usados. Esto     
          puede ser problematico en sistemas con 8 MB de RAM o menos.         
          Considere cambiar secure a insecure.                                
                                                                              
            Nota:                                                             
                                                                              
          Versions de FreeBSD anteriores a 9.0 usaban el tipo de terimnal "   
          cons25", en lugar de " xterm". Use el format de las entradas        
          existentes al anadir entradas a /etc/ttys.                          
                                                                              
            Importante:                                                       
                                                                              
          Para correr un servidor X, al menos una terminal virtual debe estar 
          enoff para que la use. Esto significa que solo once de las teclas   
          Alt-function pueden ser usadas como consolas virtuales de manera    
          que una queda para el servidor X.                                   
                                                                              
          Por ejemplo, para correr X y once consolas virtuales, la            
          configuracion para la terminal 12 deberia ser:                      
                                                                              
          ttyvb   "/usr/libexec/getty Pc"         xterm  off secure           
                                                                              
          La manera mas facil de activar las consolas virtuales es reiniciar. 
   11.9.  ?Como accedo a las consolas virtuales desde X?                      
          Use Ctrl+Alt+Fn para cambiar a una consola virtual. Presione        
          Ctrl+Alt+F1 para volver a la primera consola virtual.               
                                                                              
          Al estar en una consola de texto, use Alt+Fn para moverse entre     
          ellas.                                                              
                                                                              
          Para volver a la sesion de X, cambie a la consola virtual corriendo 
          X. Si se inicio X desde la linea de comandos usando startx, la      
          sesion X se adjuntara a la siguiente consola virtual sin uso, no la 
          consola de texto desde la cual fue invocada. Para ocho terminales   
          virtuales activas, X correra en la novena, de modo que useAlt+F9.   
   11.10. ?Como arranco XDM al iniciar?                                       
          Hay dos escuelas de pensamiento acerca de como arrancar xdm(1). Una 
          escuela arranca xdm desde /etc/ttys (see ttys(5)) usando el ejemplo 
          provisto, mientras la otra corre xdm desde rc.local (see rc(8)) o   
          desde un script de X en /usr/local/etc/rc.d. Ambas son igualmente   
          validas, y una puede funcionar en situaciones donde la otra no. En  
          ambos casos el resultado es el mismo: X mostrara un indicador de    
          inicio grafico.                                                     
                                                                              
          El metodo ttys(5) tiene la ventaja de documentar en que vty         
          iniciara X will y pasar la responsabilidad de reiniciar el servidor 
          X al desloguearse a init(8). El metodo rc(8) hace que sea facil     
          hacer kill a xdm si hay un problema arrancando el servidor X.       
                                                                              
          Si se carga desde rc(8), xdm deberia iniciarse sin argumentos. xdm  
          debe arrancar luego de que corra getty(8), o de lo contrario getty  
          y xdm estaran en conflicto, bloqueando la consola. La mejor manera  
          de solucionar esto es hacer que el script duerma por 10 segundos y  
          luego inicie xdm.                                                   
                                                                              
          Al iniciar xdm desde /etc/ttys, aun hay una posibilidad de          
          conflicto entre xdm y getty(8). Una manera de evitar esto es anadir 
          el numero de vt en /usr/local/lib/X11/xdm/Xservers:                 
                                                                              
          :0 local /usr/local/bin/X vt4                                       
                                                                              
          El ejemplo de arriba indicara al servidor X que corra en            
          /dev/ttyv3. Note que el numero es mayor en uno. El servidor X       
          cuenta la vty desde uno, mientras que el kernel de FreeBSD numera   
          la vty desde cero.                                                  
   11.11. ?Porque obtengo Couldn't open console al correr xconsole?           
          Cuando X se inicia con startx, los permisos en /dev/console no      
          seran cambiados, lo que hace que cosas como xterm -C y xconsole no  
          funcionen.                                                          
                                                                              
          Esto es por la manera en que los permisos de consola estan          
          configurados por defecto. En un sistema multiusuario, uno no        
          necesariamente quiere que cualquier usuario pueda escribir en la    
          consola del sistema. Para usuarios que se estan autenticando        
          directamente en una maquina con una VTY, el archivo fbtab(5) existe 
          para resolver tales problemas.                                      
                                                                              
          En resumen, asegurese de que una linea no comentada de esta forma   
          se encuentre en /etc/fbtab (vea fbtab(5)):                          
                                                                              
          /dev/ttyv0 0600 /dev/console                                        
                                                                              
          Se asegurara que quien sea que escriba un log en /dev/ttyv0 sea el  
          dueno de la consola.                                                
   11.12. ?Por que mi mouse PS/2 se comporta mal bajo X?                      
          El mouse y el controlador del mouse pueden haberse dessincronizado. 
          En casos raros, el controlador puede tambien haber reportado        
          erroneamente errores de sincronizacion:                             
                                                                              
          psmintr: out of sync (xxxx != yyyy)                                 
                                                                              
          Si esto sucede, deshabilite el codigo de verificacion de            
          sincronizacion ajustando las banderas del controlador para el       
          controlador del mouse PS/2 a 0x100. Esto puede lograrse mas         
          facilmente anadiendo hint.psm.0.flags="0x100" a /boot/loader.conf y 
          reiniciando.                                                        
   11.13. ?Como revierto los botones del mouse?                               
          Escriba xmodmap -e "pointer = 3 2 1". Anada este comando a          
          ~/.xinitrc o ~/.xsession para hacer que esto pase de manera         
          automatica.                                                         
   11.14. ?Como instalo una splash screen y donde puedo encontrarlas?         
          La respuesta detallada a esta pregunta puede encontrarse en la      
          seccion Splash Screens en tiempo de arranque del manual de FreeBSD. 
   11.15. ?Puedo usar las teclas Windows en mi teclado en X?                  
          Si. Use xmodmap(1) para definir que funciones deben realizar las    
          teclas.                                                             
                                                                              
          Asumiendo que todos los teclados de windows sean estandares, los    
          codigos de teclas para estas tres teclas son los siguientes:        
                                                                              
            * 115 - tecla de Windows, entre las teclas Ctrl izquierdo y Alt   
                                                                              
            * 116 - tecla de Windows , a la derecha de AltGr                  
                                                                              
            * 117 - Menu, a la derecha de Ctrl derecha                        
                                                                              
          Para hacer que la tecla Windowsizquierda imprima una coma, intente  
          esto.                                                               
                                                                              
          # xmodmap -e "keycode 115 = comma"                                  
                                                                              
          Para que los mapeos de teclas de Windows se habiliten               
          automaticamente cada vez que se inicia X, ponga los comandos        
          xmodmap en ~/.xinitrc o, preferiblemente, cree un archivo           
          ~/.xmodmaprc e incluya las opciones de xmodmap, una por linea,      
          luego anada la siguiente linea a ~/.xinitrc:                        
                                                                              
          xmodmap $HOME/.xmodmaprc                                            
                                                                              
          Por ejemplo, para mapear las 3 teclas para que sean F13, F14, y     
          F15, respectivamente. Esto haria relativamente simple mapearlas a   
          funciones utiles dentro de aplicaciones o del gestor de ventanas.   
                                                                              
          Para hacer esto, coloque lo siguiente en ~/.xmodmaprc.              
                                                                              
          keycode 115 = F13                                                   
          keycode 116 = F14                                                   
          keycode 117 = F15                                                   
                                                                              
          Para el gestor de escritorio x11-wm/fvwm2, uno podria mapear las    
          teclas de manera que F13 iconifique o desiconofique la ventana en   
          la que esta el cursor, F14 traiga la ventana en la que esta el      
          cursor al frente o, si ya se encuentra al frente la lleve al fondo, 
          y F15 haga surgir el menu principal de Workplace incluso si el      
          cursor no esta en el escritorio, lo cual es util cuando no hay      
          ninguna parte del escritorio visible.                               
                                                                              
          Las siguientes entradas en ~/.fvwmrc implementan la configuracion   
          mencionada:                                                         
                                                                              
          Key F13        FTIWS    A        Iconify                            
          Key F14        FTIWS    A        RaiseLower                         
          Key F15        A        A        Menu Workplace Nop                 
   11.16. ?Como puedo obtener aceleracion de hardware 3D para OpenGL(R)?      
          La disponibilidad de la aceleracion 3D depende de la version de     
          Xorg y el tipo de chip de video. Para un chip nVidia, use los       
          controladores binarios provistos por FreeBSD instalando uno de los  
          siguientes ports:                                                   
                                                                              
          Las ultimas versiones de tarjetas nVidia estan soportadas por el    
          port x11/nvidia-driver.                                             
                                                                              
          Los controladores mas viejos estan disponibles como                 
          x11/nvidia-driver-###                                               
                                                                              
          nVidia provee informacion detallada acerca de que tarjeta esta      
          soportada por que controlador en su sitio web:                      
          http://www.nvidia.com/object/IO_32667.html.                         
                                                                              
          Para Matrox G200/G400, vea el port x11-servers/mga_hal.             
                                                                              
          Para ATI Rage 128 y Radeon vea ati(4), r128(4) y radeon(4).         

                               Capitulo 12. Redes

   12.1. ?Donde puedo obtener informacion acerca del "arranque sin disco
   rigido"?

   12.2. ?Puede una instalacion de FreeBSD usarse como un router dedicado?

   12.3. ?Puedo conectar mi instalacion de Windows(R) a la Internet mediante
   FreeBSD?

   12.4. ?FreeBSD soporta PPP?

   12.5. ?FreeBSD soporta NAT o Masquerading?

   12.6. ?Como configuro aliases de Ethernet?

   12.7. ?Por que no puedo realizar un montado NFS desde una instalacion
   Linux(R)?

   12.8. ?Porque mountd continua diciendome can't change attributes (que no
   puedo cambiar atributos) y que tengo una bad exports list (lista de
   exports mala) en mi servidor NFS de FreeBSD?

   12.9. ?Como habilito soporte para IP multicast?

   12.10. ?Porque tengo que usar FQDN para hosts en mi sitio?

   12.11. ?Porque obtengo un error, Permission denied, para todas las
   operaciones de red?

   12.12. ?Por que mi regla "fwd" de ipfw para redirigir un servicio a otra
   maquina no funciona?

   12.13. ?Como puedo redirigir pedidos de servicio de una maquina a otra?

   12.14. ?Donde puedo obtener una herramienta de manejo de ancho de banda?

   12.15. ?Por que obtengo /dev/bpf0: device not configured?

   12.16. ?Como monto un disco desde una maquina con Windows(R) que esta en
   mi red, de la misma manera que smbmount en Linux(R)?

   12.17. ?Por que aparecen mensajes como: Limiting icmp/open port/closed
   port response en mis archivos de log?

   12.18. ?Que significan los mensajes de error arp: unknown hardware address
   format?

   12.19. ?Por que sigo obteniendo mensajes como: 192.168.0.10 is on fxp1 but
   got reply from 00:15:17:67:cf:82 on rl0, y como lo deshabilito?

12.1.  ?Donde puedo obtener informacion acerca del "arranque sin disco rigido"?      
       "Arranque sin disco rigido" significa que la instalacion de FreeBSD se        
       arranca desde la red, y lee los archivos necesarios desde un servidor en      
       lugar del disco rigido. Para mas detalles, vea la entrada del manual acerca   
       del arranque sin disco rigido.                                                
12.2.  ?Puede una instalacion de FreeBSD usarse como un router dedicado?             
       Si. Vea la entrada del manual acerca de redes avanzadas, especificamente la   
       seccion acerca de routing y gateways.                                         
12.3.  ?Puedo conectar mi instalacion de Windows(R) a la Internet mediante FreeBSD?  
       Usualmente, la gente que pregunta esto tiene dos PCs en su casa, una con      
       FreeBSD y una con alguna version de Windows(R) la idea es usar la instalacion 
       de FreeBSD para conectarse a la Internet y asi poder usar Internet desde la   
       instalacion de Windows(R) a traves de FreeBSD. Esto es unicamente un caso     
       especial de la pregunta anterior y funciona perfectamente bien.               
                                                                                     
       Los usuarios de dialup deben usar -nat y ajustar gateway_enable a YES en      
       /etc/rc.conf. Para mas informacion, vea ppp(8) o la entrada del manual acerca 
       de PPP de usuario.                                                            
                                                                                     
       Si la conexion a Internet es sobre Ethernet, use natd(8). Puede encontrarse   
       un tutorial en la seccion natd del manual.                                    
12.4.  ?FreeBSD soporta PPP?                                                         
       Si. ppp(8) provee soporte para conexiones entrantes y salientes.              
                                                                                     
       Para mas informacion acerca de como usar esto, vea el capitulo del manual     
       acerca de PPP.                                                                
12.5.  ?FreeBSD soporta NAT o Masquerading?                                          
       Si. Para instrucciones acerca de como usar NAT sobre una conexion PPP, vea la 
       entrada de manual acerca de PPP. Para usar NAT sobre otro tipo de coneccion   
       de red, vea la seccion acerca de natd en el manual.                           
12.6.  ?Como configuro aliases de Ethernet?                                          
       Si el alias esta en la misma subred que una direccion ya configurada en la    
       interfaz, agregue netmask 0xffffffff a este comando:                          
                                                                                     
       # ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff                             
                                                                                     
       De otro modo, especifique la direccion de red y netmask de la manera usual:   
                                                                                     
       # ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00                          
                                                                                     
       Puede encontrarse mas informacion en el manual Handbook de FreeBSD.           
12.7.  ?Por que no puedo realizar un montado NFS desde una instalacion Linux(R)?     
       Algunas versiones del codigo NFS de Linux(R) solo aceptan pedidos de montaje  
       de un puerto privilegiado; intente con el siguiente comando:                  
                                                                                     
       # mount -o -P linuxbox:/blah /mnt                                             
12.8.  ?Porque mountd continua diciendome can't change attributes (que no puedo      
       cambiar atributos) y que tengo una bad exports list (lista de exports mala)   
       en mi servidor NFS de FreeBSD?                                                
       El problema mas frecuente es no entender el formato correcto de /etc/exports. 
       Revise exports(5) y la entrada de NFS en el manual, especialmente la seccion  
       acerca de configurar NFS.                                                     
12.9.  ?Como habilito soporte para IP multicast?                                     
       Instale el paquete o port net/mrouted y anada mrouted_enable="YES" a          
       /etc/rc.conf inicie este servicio en tiempo de arranque.                      
12.10. ?Porque tengo que usar FQDN para hosts en mi sitio?                           
       Vea la respuesta en el manual de FreeBSD.                                     
12.11. ?Porque obtengo un error, Permission denied, para todas las operaciones de    
       red?                                                                          
       Si el kernel fue compilado con la opcion IPFIREWALL, este al tanto de que la  
       politica por defecto es bloquear todos los paquetes que no esten              
       explicitamente permitidos.                                                    
                                                                                     
       Si el firewall esta mal configurado, restaure la operabilidad de la red       
       escribiendo lo siguiente como root:                                           
                                                                                     
       # ipfw add 65534 allow all from any to any                                    
                                                                                     
       Considere ajustar firewall_type="open" en /etc/rc.conf.                       
                                                                                     
       Para mas informacion acerca de configurar este firewall vea el capitulo del   
       manual.                                                                       
12.12. ?Por que mi regla "fwd" de ipfw para redirigir un servicio a otra maquina no  
       funciona?                                                                     
       Posiblemente porque la traduccion de direcciones de red (NAT) es necesaria en 
       lugar de simplemente enviar paquetes needed. Una regla "fwd" solo envia       
       paquetes, no cambia realmente los datos adentro del paquete. Considere esta   
       regla:                                                                        
                                                                                     
       01000 fwd 10.0.0.1 from any to foo 21                                         
                                                                                     
       Cuando un paquete con una direccion de destino de foo llega a la maquina con  
       esta regla, el paquete es enviado a 10.0.0.1, pero todavia tiene la direccion 
       de destino de foo. La direccion de destino del paquete no se cambia a         
       10.0.0.1. La mayoria de las maquinas probablemente tiren un paquete que       
       reciben con una direccion de destino que no sea la propia. Por consiguiente,  
       usar una regla "fwd" no necesariamente funciona de la manera que espera el    
       usuario. Este comportamiento es una caracteristica y no un error.             
                                                                                     
       Va el FAQ acerca de redirigir servicios , el manual de natd(8), o una de las  
       varias utilidades para redirigir puertos en la coleccion de ports para la     
       manera correcta de hacer esto.                                                
12.13. ?Como puedo redirigir pedidos de servicio de una maquina a otra?              
       FTP y otros pedidos de servicios pueden ser redirigidos con el port o paquete 
       sysutils/socket. Reemplace la entrada del servicio en /etc/inetd.conf para    
       llamar a socket, como se puede ver en este ejemplo para ftpd:                 
                                                                                     
       ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.com ftp 
                                                                                     
       donde ftp.example.com y ftp son el host y el puerto a los que redirigirse,    
       respectivamente.                                                              
12.14. ?Donde puedo obtener una herramienta de manejo de ancho de banda?             
       Hay tres herramientas de manejo de ancho de banda disponibles para FreeBSD.   
       dummynet(4) esta integrada en FreeBSD como parte de ipfw(4). ALTQ fue         
       integrada a FreeBSD como parte de pf(4). Bandwidth Manager de Emerging        
       Technologies es un producto comercial.                                        
12.15. ?Por que obtengo /dev/bpf0: device not configured?                            
       La aplicacion que esta corriendo requiere Berkeley Packet Filter (bpf(4)),    
       pero el mismo fue removido de un kernel personalizado. Agregue esto al        
       archivo de configuracion del kernel y compile un nuevo kernel:                
                                                                                     
       device bpf        # Berkeley Packet Filter                                    
12.16. ?Como monto un disco desde una maquina con Windows(R) que esta en mi red, de  
       la misma manera que smbmount en Linux(R)?                                     
       Use el set de herramientas SMBFS. El mismo incluye un set de modificaciones   
       al kernel y un set de programas de espacio de usuario. Los programas y la     
       informacion estan disponibles como mount_smbfs(8) en el sistema base.         
12.17. ?Por que aparecen mensajes como: Limiting icmp/open port/closed port response 
       en mis archivos de log?                                                       
       Este mensaje del kernel indica que alguna actividad esta provocando que envie 
       una gran cantidad de respuestas ICMP o TCP reset (RST). Las respuestas ICMP   
       son con frecuencia generadas como un resultado de intentos de conexiones a    
       puertos UDP sin usar. Los resets de TCP son generados como el resultado de    
       intentos de conexiones a puertos TCP sin abrir. Entre otros, este tipo de     
       actividades puede causar los siguientes mensajes:                             
                                                                                     
         * Ataques de denegacion de servicio por fuerza bruta (DoS) (en lugar de     
           ataques de un solo paquete que explotan una vulnerabilidad especifica).   
                                                                                     
         * Escaneos de puertos que intentan conectar un gran numero de puertos (en   
           lugar de solo intentar con un par de puertos bien conocidos).             
                                                                                     
       El primer numero en el mensaje indica cuantos paquetes hubiera enviado el     
       kernel si el limite no existiera, y el segundo indica el limite. Este limite  
       se controla usando net.inet.icmp.icmplim. Este ejemplo ajusta el limite a 300 
       paquetes por segundo:                                                         
                                                                                     
       # sysctl net.inet.icmp.icmplim=300                                            
                                                                                     
       Para deshabilitar estos mensajes sin deshabilitar la limitacion de la         
       respuesta, use net.inet.icmp.icmplim_output para deshabilitar la salida:      
                                                                                     
       # sysctl net.inet.icmp.icmplim_output=0                                       
                                                                                     
       Finalmente, para deshabilitar completamente la limitacion de la respuesta,    
       ajuste net.inet.icmp.icmplim a 0. Deshabilitar la limitacion de respuesta     
       esta desaconsejado por las razones listadas anteriormente.                    
12.18. ?Que significan los mensajes de error arp: unknown hardware address format?   
       Esto significa que algun dispositivo en la Ethernet local esta usando una     
       direccion MAC en un formato que FreeBSD no reconoce. Esto fue probablemente   
       causado por alguien que experimento con una tarjeta Ethernet en otro lugar de 
       la red. Esto puede verse mas comunmente en redes de cable modem modernas. No  
       es danino, y no deberia afectar el rendimiento del sistema en FreeBSD.        
12.19. ?Por que sigo obteniendo mensajes como: 192.168.0.10 is on fxp1 but got reply 
       from 00:15:17:67:cf:82 on rl0, y como lo deshabilito?                         
       Porque un paquete esta viniendo de afuera de la red inesperadamente. Para     
       deshabilitarlos, ajuste net.link.ether.inet.log_arp_wrong_iface a 0.          

                             Capitulo 13. Seguridad

   13.1. ?Que es un sandbox?

   13.2. ?Que es securelevel?

   13.3. BIND (named) esta escuchando en algunos puertos de numero alto. ?Que
   esta pasando?

   13.4. !El demonio de Sendmail esta escuchando en el puerto 587 y ademas en
   el puerto estandar 25! ?Que esta pasando?

   13.5. ?Que es esta cuenta de toor UID 0 ? ?He sido comprometido?

   13.1. ?Que es un sandbox?                                                  
         "Sandbox"es un termino de seguridad. Puede significar dos cosas:     
                                                                              
           * Un proceso que se coloca adentro de un conjunto de paredes       
             virtuales que estan designadas para impedir que alguien que      
             logra explotar el proceso no pueda explotar el ecosistema mayor. 
                                                                              
             El proceso que puede correr adentro de estas paredes. Dado que   
             nada de lo que el proceso haga con respecto a ejecutar codigo    
             puede romper las paredes, una auditoria detallada del codigo es  
             innecesaria para poder decir ciertas cosas acerca de su          
             seguridad.                                                       
                                                                              
             Estas paredes pueden ser un ID de usuario, por ejemplo. Esta es  
             la definicion usada en las paginas de manual de security(7) y    
             named(8).                                                        
                                                                              
             Considere el servicio ntalk, por ejemplo (vea inetd(8)). Este    
             servicio solia correr con ID de usuario root. Ahora corre con ID 
             de usuario tty. El usuario tty es un sandbox designado para      
             hacer mas dificil para alguien que ya ha irrumpido en el sistema 
             mediante ntalk pueda comprometer el sistema mas alla de esa ID   
             de usuario.                                                      
                                                                              
           * Un proceso que se inserta en una simulacion de la maquina. Esto  
             significa que alguien que puede irrumpir en el proceso podria    
             creer que puede irrumpir en la maquina entera pero esta, en      
             efecto solo irrumpiendo en una simulacion de esa maquina sin     
             modificar ningun dato real.                                      
                                                                              
             La manera mas comun de lograr esto es construir un ambiente      
             simulado en un subdirectorio y luego correr el proceso dentro de 
             un chroot en ese directorio de manera que / para ese proceso sea 
             este directorio, en lugar de la verdadera / del sistema.         
                                                                              
             Otro uso comun es montar un sistema de archivos subyacente como  
             de solo lectura y crear una capa de sistema de archivos encima   
             del mismo que provea a un proceso una vista aparentemente de     
             escritura en el sistema de archivos. El proceso puede creer que  
             esta habilitado para escribir esos archivos, pero solo el        
             proceso en cuestion ve los efectos, y otros procesos en el       
             sistema no.                                                      
                                                                              
             Se hace un intento de que este tipo de sandbox sea tan           
             transparente que el usuario (o el hacker) no se de cuenta de que 
             esta usandola.                                                   
                                                                              
         UNIX(R) implementa dos sandboxes principales. Uno es a nivel         
         proceso, el otro es a nivel userid.                                  
                                                                              
         Cada proceso UNIX(R) esta completamente aislado de cualquier otro    
         proceso UNIX(R). Un proceso no puede modificar el espacio de         
         direcciones de otro.                                                 
                                                                              
         Un proceso UNIX(R) tiene por dueno una userid en particular. Si el   
         ID de susuario no es el usuario root, es util aislar el proceso de   
         procesos aduenados por otros usuarios. El ID de usuario tambien se   
         usa para aislar datos del disco.                                     
   13.2. ?Que es securelevel?                                                 
         securelevel es un mecanismo de seguridad implementado en el kernel.  
         Cuando un securelevel es positivo, el kernel restringe ciertas       
         tareas; ni siquiera el superusuario (root) tiene permitido hacerlas. 
         El mecanismo securelevel limita la habilidad de:                     
                                                                              
           * Borrar ciertas banderas de archivo, tales como schg (the system  
             immutable flag).                                                 
                                                                              
           * Escribir a la memoria del kernel mediante /dev/mem y /dev/kmem.  
                                                                              
           * Cargar modulos de kernel.                                        
                                                                              
           * Alterar reglas del firewall.                                     
                                                                              
         Para verificar el estado del securelevel en un sistema corriendo:    
                                                                              
         # sysctl -n kern.securelevel                                         
                                                                              
         La salida contiene el valor actual del securelevel. Si es mayor a 0, 
         al menos algunas de las protecciones de securelevel estan            
         habilitadas.                                                         
                                                                              
         El securelevel de un sistema corriendo no puede ser reducido dado    
         que esto arruinaria su proposito. Si una tarea requiere que el       
         securelevel sea no-positivo, cambie las variables kern_securelevel y 
         kern_securelevel_enable en /etc/rc.conf y reinicie.                  
                                                                              
         Para mas informacion acerca de securelevel y lo que hace en          
         particular cada nivel, consulte init(8).                             
                                                                              
           Aviso:                                                             
                                                                              
         Securelevel no es una bala de plata; tiene varias deficiencias       
         conocidas. Muchas veces provee un falso sentido de seguridad.        
                                                                              
         Uno de sus problemas mas importantes es que para que sea efectivo,   
         todos los archivos usados en el proceso de inicio hasta que se       
         ajuste securelevel deben estar protegidos. Si un atacante puede      
         hacer que el sistema ejecute codigo antes de que se ajuste el        
         securelevel (lo cual pasa bastante tarde en el proceso de inicio     
         dado que algunas de las cosas que el sistema debe hacer al inicio no 
         pueden hacerse con un securelevel elevado), sus protecciones estan   
         invalidadas. Mientras que la tarea de proteger todos los archivos    
         usados en el proceso de inicio no es tecnicamente imposible, si esto 
         se logra, el mantenimiento del sistema se volvera una pesadilla dado 
         que una persona tendria que apagar el sistema, o al menos cambiar a  
         modo de un solo usuario, para modificar un archivo de configuracion. 
                                                                              
         Este punto y otros son frecuentemente discutidos en las listas de    
         correo, particularmente la lista de correo de seguridad de FreeBSD.  
         Busque en los archivos aqui para una discusion extensiva. Se         
         prefiere un mecanismo de granularidad mas fina.                      
   13.3. BIND (named) esta escuchando en algunos puertos de numero alto. ?Que 
         esta pasando?                                                        
         BIND usa un numero al azar de puertos de numero alto para consultas  
         saliente. Las versiones recientes elijen un nuevo puerto UDP al azar 
         para cada consulta. Esto puede causar problemas para algunas         
         configuraciones de red, especialmente si un firewall bloquea         
         paquetes UDP entrantes en puertos particulares. Para pasar ese       
         firewall intente usar las opciones avoid-v4-udp-ports y              
         avoid-v6-udp-ports para evitar elegir numeros de puertos al azar en  
         un rango bloqueado.                                                  
                                                                              
           Aviso:                                                             
                                                                              
         Si un numero de puerto (como el 53) es especificado mediante las     
         opciones query-source o query-source-v6en /etc/namedb/named.conf, no 
         se usara la seleccion al azar de puertos. Se recomienda fuertemente  
         que estas opciones no se usen para especificar numeros de puerto     
         fijos.                                                               
                                                                              
         Felicitaciones por cierto. !Es buena practica leer la salida de      
         sockstat(1)y notar cosas raras!                                      
   13.4. !El demonio de Sendmail esta escuchando en el puerto 587 y ademas en 
         el puerto estandar 25! ?Que esta pasando?                            
         Las versiones recientes de Sendmail soportan una caracteristica de   
         envio de correo que corre sobre el puerto 587. Esto no esta          
         soportado universalmente, pero esta creciendo en popularidad.        
   13.5. ?Que es esta cuenta de toor UID 0 ? ?He sido comprometido?           
         No se preocupe. toor es una cuenta de superusuario "alternativa", en 
         donde toor es root escrito al reves. Su proposito es ser usada como  
         un shell no estandar de manera que el shell por defecto para root no 
         necesite cambiar. Esto es importante dado que los shells que no son  
         parte del sistema base, pero que en su lugar son instalados desde    
         ports o packages, se instalan en /usr/local/bin el cual, por         
         defecto, reside en un sistema de archivos distinto. SI el shell de   
         root esta localizado en /usr/local/bin y el sistema de archivos      
         conteniendo /usr/local/bin) no esta montado, root no sera capaz de   
         autenticarse para arreglar un problema y tenga que reiniciar al modo 
         de un solo usuario para ingresar a la ruta de un shell.              
                                                                              
         Alguna gente usa toor para tareas diarias de root con un shell no    
         estandar, dejando a root, con un shell estandar, para modo de un     
         solo usuario o emergencias. Por defecto, un usuario no puede         
         autenticarse usando toor dado quen o tiene una contrasena, de modo   
         que autentiquese como root e ingrese una contrasena para toor antes  
         de usarlo para autenticarse.                                         

                                Capitulo 14. PPP

   14.1. No puedo hacer que ppp(8) funcione. ?Que estoy haciendo mal?

   14.2. ?Por que ppp(8) se cuelga cuando lo corro?

   14.3. ?Por que ppp(8) no marca en modo -auto?

   14.4. ?Que significa No route to host?

   14.5. ?Por que mi conexion se corta luego de 3 minutos?

   14.6. ?Por que mi conexion se corta bajo carga intensiva?

   14.7. ?Por que mi conexion se corta luego de un intervalo al azar de
   tiempo?

   14.8. ?Por que mi conexion se cuelga luego de un intervalo al azar de
   tiempo?

   14.9. El extremo remoto no responde. ?Que hago?

   14.10. ppp(8) se colgo. ?Que puedo hacer?

   14.11. Sigo viendo errores acerca de que la magia es la misma. ?Que
   significan?

   14.12. Las negociaciones LCP continuan hasta que la conexion se cierre.
   ?Cual es el problema?

   14.13. ?Por que ppp(8) se bloquea cuando intento probarlo en el shell?

   14.14. ?Por que ppp(8) sobre un cable de modem nulo nunca termina?

   14.15. ?Por que ppp(8) marca en modo -auto sin razon?

   14.16. ?Que significan estos errores de CCP?

   14.17. ?Por que ppp(8) no escribe en el log mi velocidad de conexion?

   14.18. ?Por que ppp(8) ignora el caracter \ en mi script de chat?

   14.19. ?Que son los errores FCS?

   14.20. Nada de esto ayuda - !Estoy desesperado! ?Que puedo hacer?

14.1.  No puedo hacer que ppp(8) funcione. ?Que estoy haciendo mal?                  
       Primero, lea ppp(8) y la seccion del manual sobre PPP . Para asistir en la    
       solucion de problemas, habilite los logs con el siguiente comando:            
                                                                                     
       set log Phase Chat Connect Carrier lcp ipcp ccp command                       
                                                                                     
       Este comando debe ser escrito en el indicador de comandos de ppp(8)o puede    
       ser ingresado al inicio de la seccion default en /etc/ppp/ppp.conf. Asegurese 
       de que /etc/syslog.conf contenga las lineas mostradas a continuacion y que el 
       archivo /var/log/ppp.log exista:                                              
                                                                                     
       !ppp                                                                          
       *.*        /var/log/ppp.log                                                   
                                                                                     
       Mucho de lo que esta pasando puede verse en el archivo de log. No se preocupe 
       si no tiene sentido dado que puede tener sentido para alguien mas.            
14.2.  ?Por que ppp(8) se cuelga cuando lo corro?                                    
       Esto suele ser porque le nombre de host no puede resolverse. La mejor manera  
       de arreglar esto es asegurarse de que /etc/hosts sea leido primero asegurando 
       que la linea hosts este listada primero en /etc/host.conf. Luego, agregue una 
       entrada en /etc/hosts para la maquina local. Si no hay una red local, cambie  
       la linea localhost:                                                           
                                                                                     
       127.0.0.1        foo.example.com foo localhost                                
                                                                                     
       De otra manera, agregue otra entrada para el host. Consulte las paginas de    
       manual relevantes para mas detalles.                                          
                                                                                     
       Cuando termine, verifique que este comando corra exitosamente: ping -c1       
       `hostname`.                                                                   
14.3.  ?Por que ppp(8) no marca en modo -auto?                                       
       En primer lugar, verifique que exista una ruta por defecto. Este comando      
       deberia mostrar dos entradas:                                                 
                                                                                     
       Destination        Gateway            Flags     Refs     Use     Netif Expire 
       default            10.0.0.2           UGSc        0        0      tun0        
       10.0.0.2           10.0.0.1           UH          0        0      tun0        
                                                                                     
       Si una ruta por defecto no se muestra, asegurese de que la linea HISADDR haya 
       sido agregada a /etc/ppp/ppp.conf.                                            
                                                                                     
       Otra razon para que la linea de la ruta por defecto falte es que se haya      
       anadido una ruta por defecto a /etc/rc.conf y esta linea no este en           
       /etc/ppp/ppp.conf:                                                            
                                                                                     
       delete ALL                                                                    
                                                                                     
       Si este es el caso, vuelva a la seccion Configuracion final del sistema del   
       manual.                                                                       
14.4.  ?Que significa No route to host?                                              
       Este error suele ocurrir porque la siguiente seccion falta en                 
       /etc/ppp/ppp.linkup:                                                          
                                                                                     
       MYADDR:                                                                       
         delete ALL                                                                  
         add 0 0 HISADDR                                                             
                                                                                     
       Esto solo es necesario para una direccion de IP dinamica o cuando la          
       direccion del gateway por defecto es desconocida. Cuando se usa modo          
       interactivo, puede escribirse lo siguiente luego de entrar en modo de         
       paquetes. El modo de paquetes esta indicado por las letras PPP en mayuscula   
       en la consola:                                                                
                                                                                     
       delete ALL                                                                    
       add 0 0 HISADDR                                                               
                                                                                     
       Vea la seccion sobre PPP y direcciones de IP dinamicas del manual para mas    
       detalles.                                                                     
14.5.  ?Por que mi conexion se corta luego de 3 minutos?                             
       El timeout por defecto de PPP es de 3 minutos. Esto puede ajustarse con la    
       siguiente linea:                                                              
                                                                                     
       set timeout NNN                                                               
                                                                                     
       donde NNN es el numero de segundos de inactividad antes que la conexion se    
       cierre. Si NNN es cero, la conexion nunca se cerrara debido a un timeout. Es  
       posible poner este comando en ppp.conf, o escribirlo en la consola en modo    
       interactivo. Tambien es posible ajustarlo en tiempo real mientras las linea   
       esta activa conectandose a el servidor de socket de ppp usando telnet(1) o    
       pppctl(8). Vea la pagina de manual de ppp(8) para mas detalles.               
14.6.  ?Por que mi conexion se corta bajo carga intensiva?                           
       Si Link Quality Reporting (LQR) esta configurado, es posible que muchos       
       paquetes LQR se hayan perdido entre el sistema FreeBSD y el peer. ppp(8)      
       deduce que por consiguiente la linea debe estar mal, y se desconecta. LQR     
       esta deshabilitado por defecto y puede habilitarse con la siguiente linea:    
                                                                                     
       enable lqr                                                                    
14.7.  ?Por que mi conexion se corta luego de un intervalo al azar de tiempo?        
       A veces, en una linea de telefono con mucho ruido, o incluso una linea con    
       llamada en espera habilitada, el modem puede colgar porque incorrectamente    
       piensa que perdio el portador.                                                
                                                                                     
       Hay un parametro en la mayoria de los modems para determinar que tan          
       tolerante debe ser a perdidas temporales del portador. Vea el manual del      
       modem para mas detalles.                                                      
14.8.  ?Por que mi conexion se cuelga luego de un intervalo al azar de tiempo?       
       Mucha gente experiencia conexiones que se cuelgan sin explicacion aparente.   
       Lo primero es estable que lado de la conexion esta colgado.                   
                                                                                     
       Al usar un modem externo, intente usar ping(8) para ver si la luz TD se       
       enciendie cuando se transmiten datos. Si se enciende pero la luz RD no, el    
       problema esta en el otro extremo. Si TD no se enciende, el problema es local. 
       Con un modem interno, use el comando set server en ppp.conf. Cuando el        
       cuelgue ocurra, conectese a ppp(8) usando pppctl(8). Si la conexion a la red  
       subitamente revive debido a la actividad en el socket de diagnostico, o si no 
       se conecta pero debido al comando set socket tiene exito en tiempo de inicio, 
       el problema es local. Si puede conectarse pero continuan los cuelgues,        
       habilite los logs locales conset log local async y use ping(8) desde otra     
       ventana o terminal para hacer uso del link. El log asincronico another        
       mostrara los datos siendo transmitidos y recibidos en el link. Si los datos   
       salen pero nunca vuelven, el problema es remoto.                              
                                                                                     
       Habiendo establecido si el problema es local o remoto, existen dos            
       posibilidades:                                                                
                                                                                     
         * Si el problema es remoto, lea la entrada P: 14.9.                         
                                                                                     
         * Si el problema es local, lea la entrada P: 14.10.                         
14.9.  El extremo remoto no responde. ?Que hago?                                     
       Puede hacerse muy poco acerca de esto. Muchos ISPs se rehusan a ayudar a los  
       usuarios que no corran Microsoft(R) OS. Agregue enable lqr a                  
       /etc/ppp/ppp.conf, permitiendo ppp(8) para detectar el fallo o cuelgue        
       remoto. Esta deteccion es relativamente lenta y por consiguiente no muy util. 
                                                                                     
       Primero, intente deshabilitar toda la compresion local agregando lo siguiente 
       a la configuracion:                                                           
                                                                                     
       disable pred1 deflate deflate24 protocomp acfcomp shortseq vj                 
       deny pred1 deflate deflate24 protocomp acfcomp shortseq vj                    
                                                                                     
       Luego reconectese para asegurarse de que esto no hace la diferencia. Si las   
       cosas mejoran o si el problema se soluciona por completo, determine que       
       ajuste hace la diferencia mediante prueba y error. Esta es informacion util   
       para el ISP, aunque puede evidenciar que este no es un sistema Microsoft(R).  
                                                                                     
       Antes de contactar el ISP, habilite el logueo asincronico localmente y espere 
       a que la conexion se cuelgue nuevamente. Esto puede usar bastante espacio de  
       disco. La ultima lectura de datos del puerto puede ser interesante.           
       Usualmente se trata de datos ASCII, y puede incluso describir el problema     
       (Memory fault, Core dumped).                                                  
                                                                                     
       Si el ISP es servicial, deberian poder habilitar logueo en su extremo, luego  
       cuando la siguiente desconexion ocurra, podrian ser capaces de decir porque   
       su extremo tiene un problema.                                                 
14.10. ppp(8) se colgo. ?Que puedo hacer?                                            
       En este caso, recompile ppp(8) con informacion de debug, y luego use gdb(1)   
       para obtener un stack trace desde el proceso de ppp que esta parado. Para     
       recompilar la utilidad ppp con informacion de debug, escriba:                 
                                                                                     
       # cd /usr/src/usr.sbin/ppp                                                    
       # env DEBUG_FLAGS='-g' make clean                                             
       # env DEBUG_FLAGS='-g' make install                                           
                                                                                     
       Luego, reinicie ppp y espere a que se cuelgue nuevamente. Cuando la           
       compilacion de depuracion de ppp se cuelgue, inicie gdb en el proceso que se  
       colgo escribiendo:                                                            
                                                                                     
       # gdb ppp `pgrep ppp`                                                         
                                                                                     
       En la consola de gdb, use los comandos bt o where para obtener un stack       
       trace. Guarde la salida de la sesion de gdb, y "separese" del proceso que     
       esta corriendo escribiendo quit.                                              
14.11. Sigo viendo errores acerca de que la magia es la misma. ?Que significan?      
       Ocasionalmente, justo despues de conectare, puede haber mensajes en el log    
       que digan Magic is same. A veces, estos mensajes son inofensivos, y a veces   
       un lado u el otro sale. La mayoria de las implementaciones de PPP no pueden   
       sobrevivir a este problema, incluso si el link parace activarse, habra        
       pedidos de configuracion repetidos y reconocimientos de configuracion en el   
       archivo de log hasta que ppp(8) eventualmente se rinda y cierre la conexion.  
                                                                                     
       Esto normalemente sucede en maquinas del servidor con discos lentos que       
       lancen una ppp(8) en el puerto y ejectuen ppp(8) desde un script de inicio u  
       otro programa luego de la autenticacion. Existen reportes de que esto sucede  
       consistentemente al usar slirp. La razon es que en el tiempo entre que        
       getty(8)salga y ppp(8) inicie, el ppp(8) del lado del cliente comienza a      
       enviar paquetes Line Control Protocol (LCP). Porque ECHO sigue siendo         
       cambiado para el puerto en el servidor, el cliente ppp(8) ve estos paquetes   
       "reflejarse" de vuelta.                                                       
                                                                                     
       Una parte de la negociacion LCP consiste en establecer un numero magico para  
       cada lado del link de manera que se puedan detectar "reflexiones". El         
       protocolo dice que cuando el peer intenta negociar el mismo numero magico,    
       debe enviarse un NAK y se debe elegir un nuevo numero magico. Durante el      
       periodo en que el puerto del servidor tiene ECHO prendido, el cliente ppp(8)  
       envia paquetes LCP, ve el mismo numero magico en el paquete reflejado y le    
       envia un NAK. Tambien ve el reflejado el NAK (lo que tambien significa que    
       ppp(8) debe cambiar su numero magico). Esto produce un enorme numero de       
       potenciales cambios de numeros magicos, todos los cuales se apilan en el      
       buffer del tty del servidor. Tan pronto como ppp(8) inicia en el servidor, se 
       satura de cambios de numero magico y casi inmediatamente decide que intento   
       lo suficiente negociar LCP y termina. Mientras tanto, el cliente, que ha      
       dejado de ver las reflexiones, se vuelve satisfecho justo a tiempo para ver   
       un cuelgue del servidor.                                                      
                                                                                     
       Esto puede evitarse permitiendole al peer comenzar la negocacion con la       
       siguiente linea en ppp.conf:                                                  
                                                                                     
       set openmode passive                                                          
                                                                                     
       Esto le dice a ppp(8) que espere al que el servidor inicie las negociaciones  
       LCP. Algunos servidor pueden no obstante nunca iniciar las negociaciones. En  
       este caso, intente algo como:                                                 
                                                                                     
       set openmode active 3                                                         
                                                                                     
       Esto le dice a ppp(8) que sea pasivo por 3 segundos, y luego comience a       
       enviar pedidos LCP. Si el peer comienza a enviar pedidos durante este         
       periodo, ppp(8) respondera inmediatamente en lugar de esperar el periodo      
       completo de 3 segundos.                                                       
14.12. Las negociaciones LCP continuan hasta que la conexion se cierre. ?Cual es el  
       problema?                                                                     
       Eixte actualmente un error de implementacion en ppp(8) donde no se asocian    
       las respuesta LCP, CCP & IPCP con sus pedidos originales. Como resultado, si  
       una implementacion de PPP es mas lenta que la del otro lado por 6 segundos o  
       mas, el otro lado enviara dos pedidos de configuracion LCP adicionales. Esto  
       es fatal.                                                                     
                                                                                     
       Considere dos implementaciones, A y B. A comienza a enviar pedidos LCP        
       inmediatamente luego de conectarse y a B le lleva 7 segundos iniciar. Cuando  
       B inicia, A ha enviado 3 REQs LCP. Asumimos que la linea tiene ECHO           
       desactivado, de otra forma veriamos problemas con los numeros magicos como    
       vimos en la seccion previa. B envia una REQ, y luego un ACK al primero de los 
       REQs de A. Esto resulta en A entrando al estado OPENED y enviando un ACK (del 
       primero) de vuelta a B. Mientras tanto, B envia de vuelta dos ACKs mas en     
       respuesta a las dos REQs adicionales enviadas por A antes de que B haya       
       iniciado. B luego pasa a recibir el primero ACK de A y entra al estado        
       OPENED. A revice el segundo ACK de B y vuelve al estado REQ-SENT, enviando    
       otro REQ (adelantado) de acuerdo con la RFC. Luego recibe el tercer ACK y     
       entra en el estado OPENED. En el entremedio, B recibe el REQ adelantado desde 
       A, resultando en el mismo revirtiendo al estado ACK-SENT y enviando otro      
       (segundo) REQ y ACK (adelantado) de acuerdo con la RFC. A obtiene el REQ, se  
       pone en modoREQ-SENT y envia otra REQ. Inmediatamente recive el siguiente ACK 
       y entra a modo OPENED.                                                        
                                                                                     
       Esto continua hasta que uno de los lados se de cuenta de que no estan         
       llegando a ningun lado y termine.                                             
                                                                                     
       La mejor manera de evitar esto es configurar un lado para ser passive - esto  
       es, hacer que un lado espere al otro para comenzar a negociar. Esto puede     
       hacerse con el siguiente comando:                                             
                                                                                     
       set openmode passive                                                          
                                                                                     
       Se debe tener cuidado con esta opcion. Este comando tambien puede usarse para 
       limitar la cantidad de tiempo que ppp(8) espera a que el peer comienze las    
       negociaciones.                                                                
                                                                                     
       set stopped N                                                                 
                                                                                     
       Alternativamente, el siguiente comando (donde N es el numero de segundos a    
       esperar antes de iniciar las negociaciones) puede ser usado:                  
                                                                                     
       set openmode active N                                                         
                                                                                     
       Verifique la pagina de manual para detalles.                                  
14.13. ?Por que ppp(8) se bloquea cuando intento probarlo en el shell?               
       Al usar shell o !, ppp(8) ejecuta un shell o los argumentos pasados. El       
       programa ppp esperara a que el comando se complete antes de continuar.        
       Cualquier intento de usar el link de PPP mientras se correr el comando        
       aparecera como un link paralizado. Esto es porque ppp(8) espera a que el      
       comando se complete.                                                          
                                                                                     
       Para ejecutar comandos como este, use !bg en su lugar. Esto ejecutara el      
       comando dado en el trasfondo, y ppp(8) puede continuar sirviendo el link.     
14.14. ?Por que ppp(8) sobre un cable de modem nulo nunca termina?                   
       No hay forma de que ppp(8) automaticamente determine que una conexion directa 
       fue terminada. Esto es debido a que las lineas usadas en el cable de serie de 
       un modem nulo. Al usar este tipo de conexion, LQR siempre deberia ser         
       habilitado con la siguiente linea:                                            
                                                                                     
       enable lqr                                                                    
                                                                                     
       LQR es aceptado por defecto si es negociado por el peer.                      
14.15. ?Por que ppp(8) marca en modo -auto sin razon?                                
       Si ppp(8) marca de manera inesperada, determine la causa y ajuste los filtros 
       de marcacion para prevenir dicha llamada.                                     
                                                                                     
       Para determinar la causa, use la proxima linea:                               
                                                                                     
       set log +tcp/ip                                                               
                                                                                     
       Esto escribira un log con todo el trafico de la conexion. La proxima vez que  
       esta linea surja inesperadamente, la razon sera logueada con una conveniente  
       estampa temporal a su lado.                                                   
                                                                                     
       Luego, deshabilite el marcado bajo estas circunstancias. Usualmente, este     
       tipo de problema se da debido a las busquedas de DNS. Para prevenir que las   
       busquedas de DNS establezcan una conexion (esto no prevendra que ppp(8) pase  
       los paquetes a traves de una conexion establecida), use lo siguiente:         
                                                                                     
       set dfilter 1 deny udp src eq 53                                              
       set dfilter 2 deny udp dst eq 53                                              
       set dfilter 3 permit 0/0 0/0                                                  
                                                                                     
       Esto no siempre es aceptable, dado que rompera las capacidades de demanda de  
       marcado. La mayoria de los programas necesitaran una busqueda de DNS antes de 
       hacer otras cosas relacionadas con la red.                                    
                                                                                     
       En el caso del DNS, intente determinar que es lo que esta realmente           
       intentando resolver un nombre de host. La mayoria del tiempo, Sendmail es el  
       culpable. Asegurese de configurar Sendmail para que no realize ninguna        
       busqueda de DNS en su archivo de configuracion. Vea la seccion acerca de usar 
       email con una conexion de dialup en el manual de FreeBSD para los detalles.   
       Probablemente tambien quiera ademas agregar la siguiente linea a .mc:         
                                                                                     
       define(`confDELIVERY_MODE', `d')dnl                                           
                                                                                     
       Esto hara que Sendmail encole todo hasta que se corra la cola, usualmente     
       cada 30 minutos, o hasta que se haga sendmail -q, tal vez desde               
       /etc/ppp/ppp.linkup.                                                          
14.16. ?Que significan estos errores de CCP?                                         
       Continuo viendo los siguientes errores en mi archivo de log:                  
                                                                                     
       CCP: CcpSendConfigReq                                                         
       CCP: Received Terminate Ack (1) state = Req-Sent (6)                          
                                                                                     
       Esto ocurre porque ppp(8) esta intentando negociar compresion Predictor1,     
       pero el peer no quiere negociar compresion en absoluto. Los mensajes son      
       inofensivos, pero pueden ser silenciados deshabilitando la compresion:        
                                                                                     
       disable pred1                                                                 
14.17. ?Por que ppp(8) no escribe en el log mi velocidad de conexion?                
       Para escribir en el log todas las lineas de la conversacion de modem, agregue 
       lo siguiente:                                                                 
                                                                                     
       set log +connect                                                              
                                                                                     
       Esto hara que ppp(8) escriba en el log todo hasta la ultima cadena "expect"   
       pedida.                                                                       
                                                                                     
       Para ver la velocidad de conexion al usar PAP o CHAP, asegurese de configurar 
       ppp(8) para que espere la linea CONNECT entera, usando algo como esto:        
                                                                                     
       set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \                           
         \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"                      
                                                                                     
       Esto obtiene la linea CONNECT, no envia nada, y luego espera una nueva linea, 
       forzando a ppp(8) a leer toda la respuesta CONNECT.                           
14.18. ?Por que ppp(8) ignora el caracter \ en mi script de chat?                    
       La utilidad ppp parsea cada linea en sus archivos de configuracion de manera  
       que pueda interpretar cadenas como set phone "123 456 789" correctamente y    
       darse cuenta de que el numero es solo un argumento. Para especificar un       
       caracter ", escapeelo utilizando una barra invertida (\).                     
                                                                                     
       Cuando el interprete de chat parsea cada argumento, reinterpreta el argumento 
       para buscar cualquier secuencia de escape especial tales como \P o \T. Como   
       resultado de este doble parsea, recuerde usar el numero correcto de escapes.  
                                                                                     
       Para realmente enviar un caracter \, haga algo como:                          
                                                                                     
       set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"                                      
                                                                                     
       Esto resultara en la siguiente secuencia:                                     
                                                                                     
       ATZ                                                                           
       OK                                                                            
       AT\X                                                                          
       OK                                                                            
                                                                                     
       O:                                                                            
                                                                                     
       set phone 1234567                                                             
       set dial "\"\" ATZ OK ATDT\\T"                                                
                                                                                     
       Esto resultara en la siguiente secuencia:                                     
                                                                                     
       ATZ                                                                           
       OK                                                                            
       ATDT1234567                                                                   
14.19. ?Que son los errores FCS?                                                     
       FCS significa Frame Check Secuence (secuencia de verificacion de marcos).     
       Cada paquete PPP tiene un checksum asignado para asegurarse que los datos que 
       estan siendo recibidos son los datos que se envian. Si el FCS de un paquete   
       entrante es incorrecto, el paquete es tirado y la cuenta de HDLC de FCS se    
       incrementa. Los valores de error de HDLC pueden mostrarse usando el comando   
       show hdlc.                                                                    
                                                                                     
       Si el link esta mal o el controlador de serie comienza a desechar paquetes,   
       producira el error de FCS ocasional. Esto no suele ser algo por lo que valga  
       la pena preocuparse, aunque ralentiza los protocolos de compresion            
       substancialmente.                                                             
                                                                                     
       Si el link se paraliza tan pronto como se conecta y produce ung ran numero de 
       errores de FCS, asegurese de que el modem no este usando control de flujo por 
       software (XON/XOFF). Si el link debe usar control de flujo por software, use  
       set accmap 0x000a0000 para decirle a ppp(8) que escapee los caracteres ^Q y   
       ^S.                                                                           
                                                                                     
       Otra razon para tener demasiados errores de FCS puede ser que el extremo      
       remoto haya dejado de comunicarse con PPP. En este caso, habilite el logueo   
       async para determinar si los datos entrantes son de un inicio de sesion o un  
       indicador del shell. Si se trata de un indicador del shell en el textrmo      
       remoto, es posible terminar ppp(8) sin desechar la linea usando close lcp     
       seguido de term) para reconectarse al shell en la maquina remota.             
                                                                                     
       Si nada en el archivo de log indica porque el ink fue terminado, preguntele   
       al administrador remoto o su ISP porque la sesion termino.                    
14.20. Nada de esto ayuda - !Estoy desesperado! ?Que puedo hacer?                    
       Si todo lo demas falla, envie los detalles del error, los archivos de         
       configuracion, como se esta iniciando ppp(8), las partes reelevantes del      
       archivo de log, y la salida de netstat -rn, antes y despues de conectarse, a  
       la lista de correo de preguntas generales de FreeBSD.                         

                      Capitulo 15. Comunicaciones en serie

   Esta seccion responde preguntas comunes acerca de comunicaciones en serie
   con FreeBSD. PPP esta cubierto en la seccion de Redes.

   15.1. ?Que tarjetas en serie multi-puerto estan soportadas por FreeBSD?

   15.2. ?Como hago que boot: prompt se muestre en la consola de serie?

   15.3. ?Como puedo saber si FreeBSD encontro mis puertos en serie o
   tarjetas de modem?

   15.4. ?Como accedo a los puertos en serie en FreeBSD?

   15.5. ?Como habilito el soporte para una tarjeta en serie multipuertos?

   15.6. ?Puedo ajustar los parametros en serie por defecto para un port?

   15.7. ?Como puedo habilitar inicios de sesion por marcado en mi modem?

   15.8. ?Como puedo conectar una terminal gregaria a mi instalacion de
   FreeBSD?

   15.9. ?Por que no puedo correr tip o cu?

15.1. ?Que tarjetas en serie multi-puerto estan soportadas por FreeBSD?             
      Hay una lista de las mismas en el capitulo Comunicaciones en serie del        
      manual.                                                                       
                                                                                    
      Las tarjetas multipuertos PCI que esten basadas en 16550 o clones estan       
      soportadas sin ningun esfuerzo extra.                                         
                                                                                    
      Se ha reportado tambien que algunas tarjetas clon variadas funcionan,         
      especialmente aquellas que dicen ser compatibles con AST.                     
                                                                                    
      Vea uart(4) and sio(4) para obtener mas informacion acerca de configurar      
      tales tarjetas.                                                               
15.2. ?Como hago que boot: prompt se muestre en la consola de serie?                
      Vea esta seccion del manual.                                                  
15.3. ?Como puedo saber si FreeBSD encontro mis puertos en serie o tarjetas de      
      modem?                                                                        
      Mientras el kernel de FreeBSD arranca, verificara los puertos en serie para   
      los que esta configurado el kernel. Vea los mensajes de inicio con atencion o 
      corra este comando luego de que el sistema haya arrancado:                    
                                                                                    
      % dmesg | grep -E "^sio[0-9]"                                                 
      sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 
      sio0: type 16550A                                                             
      sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0            
      sio1: type 16550A                                                             
                                                                                    
      Esta salida de ejemplo muestra dos puertos en serie. El primero esta en IRQ4, 
      en la direccion de puerto 0x3f8, y tiene un chip de tipo 16550A-type UART. El 
      segundo usa el mismo tipo de chip pero esta en IRQ3 y esta en la direccion de 
      puerto 0x2f8. Las tarjetas de modem internas tambien son tratadas como        
      puertos en serie, excepto que siempre tienen un modem adjuntado al puerto.    
                                                                                    
      El kernel GENERIC incluye soporte para dos puertos en serie usando los mismos 
      ajustes de direccion de puerto e IRQ en el ejemplo anterior. Si estos ajustes 
      no son adecuados para el sistema, o si hay mas tarjetas de modem o puertos en 
      serie que los que tiene configurado el kernel, reconfigure usando las         
      instrucciones en compilar un kernel para mas detalles.                        
15.4. ?Como accedo a los puertos en serie en FreeBSD?                               
      El tercer puerto en serie sio2, o COM3, esta en /dev/cuad2 para dispositivos  
      de marcado saliente, y en /dev/ttyd2 para dispositivos de marcado entrante.   
      ?Cual es la diferencia entre estas dos clases de dispositivos?                
                                                                                    
      Al abrir /dev/ttydX en modo bloqueante, un proceso esperara a que el          
      correspondiente dispositivo cuadX se vuelva inactivo, y luego espera a que la 
      linea de deteccion del portador pase a estar activa. Cuando el dispositivo    
      cuadX es abierto, se asegura de que el puerto en serie no este ya en uso por  
      el dispositivo ttydX. Si el puerto esta disponible, se lo roba al dispositivo 
      ttydX. Ademas, el dispositivo cuadX no se preocupa por la deteccion del       
      portador. Con este esquema y un modem de auto-respuesta, los usuarios remotos 
      pueden autenticarse y los usuarios locales aun pueden marcar fuera con el     
      mismo modem y el sistema se ocupara de todos los conflictos.                  
15.5. ?Como habilito el soporte para una tarjeta en serie multipuertos?             
      La seccion acerca de configuracion del kernel provee informacion acerca de    
      configurar el kernel. Para una tarjeta en serie multipuertos, coloque una     
      linea sio(4) por cada puerte en serie en la tarjeta en el archivo             
      device.hints(5). Pero coloque los especificadores IRQ en solo una de las      
      entradas. Todos los puertos en la tarjeta deberian compartir un solo IRQ. Por 
      consistencia, use el ultimo puerto en serie para especificar el IRQ. Tambien  
      especifique la siguiente opcion en el archivo de configuracion del kernel:    
                                                                                    
      options COM_MULTIPORT                                                         
                                                                                    
      El siguiente ejemplo de /boot/device.hints es para una tarjeta en serie AST   
      de 4 puertos en IRQ 12:                                                       
                                                                                    
      hint.sio.4.at="isa"                                                           
      hint.sio.4.port="0x2a0"                                                       
      hint.sio.4.flags="0x701"                                                      
      hint.sio.5.at="isa"                                                           
      hint.sio.5.port="0x2a8"                                                       
      hint.sio.5.flags="0x701"                                                      
      hint.sio.6.at="isa"                                                           
      hint.sio.6.port="0x2b0"                                                       
      hint.sio.6.flags="0x701"                                                      
      hint.sio.7.at="isa"                                                           
      hint.sio.7.port="0x2b8"                                                       
      hint.sio.7.flags="0x701"                                                      
      hint.sio.7.irq="12"                                                           
                                                                                    
      Estas banderas indican que el puerto maestro tiene un numero menor 7 (0x700), 
      y que todos los puertos comparten un IRQ (0x001).                             
15.6. ?Puedo ajustar los parametros en serie por defecto para un port?              
      Vea la seccion Comunicaciones en serieen el manual de FreeBSD.                
15.7. ?Como puedo habilitar inicios de sesion por marcado en mi modem?              
      Vea la seccion acerca de Servicios de marcado en el manual de FreeBSD.        
15.8. ?Como puedo conectar una terminal gregaria a mi instalacion de FreeBSD?       
      Esta informacion puede encontrarse en la seccion Terminales del manual de     
      FreeBSD.                                                                      
15.9. ?Por que no puedo correr tip o cu?                                            
      Las utilidades tip(1) y cu(1) incluidas solo pueden acceder el directorio     
      /var/spool/lock mediante el usuario uucp y el grupo dialer. Use el grupo      
      dialer para controlar quien tiene acceso al modem o sistemas remotos          
      agregando cuentas de usuario a dialer.                                        
                                                                                    
      Alternativamente, todos pueden configurarse para correr tip(1) and cu(1)      
      escribiendo:                                                                  
                                                                                    
      # chmod 4511 /usr/bin/cu                                                      
      # chmod 4511 /usr/bin/tip                                                     

                         Capitulo 16. Preguntas varias

   16.1. FreeBSD usa mucho espacio de swap incluso cuando la computadora aun
   tiene memoria libre. ?Por que?

   16.2. ?Por que top muestra muy poca memoria libre incluso cuando tengo
   pocos programas corriendo?

   16.3. ?Por que chmod no cambia los permisos en symlinks?

   16.4. ?Puedo correr binarios de DOS bajo FreeBSD?

   16.5. ?Que necesito para traducir un documento de FreeBSD a mi lenguaje
   nativo?

   16.6. ?Por que mi correo a cualquier direccion con el dominio FreeBSD.org
   rebota?

   16.7. ?Donde puedo encontrar una cuenta gratis de FreeBSD?

   16.8. ?Cual es el nombre del apuesto muchacho de rojo?

   16.9. ?Puedo usar la imagen del demonio de BSD?

   16.10. ?Tienen imagenes del demonio de BSD que pueda usar?

   16.11. He visto un acronimo u otro termino en las listas de correo y no
   entiendo que significa. ?Donde tendria que buscar?

   16.12. ?Por que deberia preocuparme de que color es el cobertizo para
   bicicletas?

   16.1.  FreeBSD usa mucho espacio de swap incluso cuando la computadora aun 
          tiene memoria libre. ?Por que?                                      
          FreeBSD mueve proactivamente las paginas sin usar, enteramente      
          ociosas de la memoria principal a swap para lograr que mas memoria  
          principal este disponible para su uso. Este uso intensivo de sqp se 
          balancea al usar la memoria extra como cache.                       
                                                                              
          Note que mientras que FreeBSD es proactivo en este modo, no decide  
          arbitrariamente hacer swap de paginas cuando el sistema esta        
          verdaderamente ocioso. Por consiguiente, el sistema no habra pagina 
          completamente a disco luego de dejarlo ocioso por una noche.        
   16.2.  ?Por que top muestra muy poca memoria libre incluso cuando tengo    
          pocos programas corriendo?                                          
          La respuesta simple es que la memoria libre es memoria gastada.     
          Cualquier memoria que los programas no alocan activamente es usada  
          en el kernel de FreeBSD como cache de disco. Los valores mostrados  
          por top(1) marcados como Inact, Cache, y Buf son datos en cache con 
          diferentes niveles de envejecimiento. Estos datos en cache          
          significan que el sistema no tiene que acceder a un disco lento     
          nuevamente para datos que accedio recientemente, incrementando la   
          performance general. En general, un valor bajo para Free en top(1)  
          es bueno, asumiendo que no sea muy bajo.                            
   16.3.  ?Por que chmod no cambia los permisos en symlinks?                  
          Los symlinks no tienen permisos, y por defecto, chmod(1) seguira    
          los symlinks para cambiar los permisos en el archivo fuente, de ser 
          posible. Para el archivo, foo co un symlink llamado bar, este       
          comando siempre tendra exito.                                       
                                                                              
          % chmod g-w bar                                                     
                                                                              
          Sin embargo, los permisos en bar no habran cambiado.                
                                                                              
          Al cambiar los modos de las jerarquias de archivo que tienen raiz   
          en los archivos en lugar de los archivos mismos, use -H o -L en     
          conjunto con -R para hacer que esto funciona. Vea chmod(1) y        
          symlink(7) para mas informacion.                                    
                                                                              
            Aviso:                                                            
                                                                              
          -R hace una chmod(1) recursivo. Tenga cuidado con especificar       
          directorios o symlinks a directorios en chmod(1). Para cambiar los  
          permisos de un directorio referenciado por un symlink, use chmod(1) 
          sin opciones y agregue una barra (/) al final del symlink. Por      
          ejemplo, si foo es un symlink al directorio bar, para cambiar los   
          permisos de foo (que en realidad es bar), haga algo como:           
                                                                              
          % chmod 555 foo/                                                    
                                                                              
          Con la barra al final, chmod(1) seguira el symlink, foo, para       
          cambiar los permisos del directorio, bar.                           
   16.4.  ?Puedo correr binarios de DOS bajo FreeBSD?                         
          Si. Un programa de emulacion de DOS, emulators/doscmd, esta         
          disponible en la coleccion de ports de FreeBSD.                     
                                                                              
          Si doscmd no es suficiente, emulators/pcemu emula un 8088 y         
          suficientes servicios de BIOS para correr muchas aplicaciones de    
          DOS en modo texto. Requiere el sistema X Window.                    
                                                                              
          La coleccion de ports tambien tiene emulators/dosbox. El foco       
          principal de esta aplicacion es emular juegos viejos de DOS usando  
          el sistema de archivos local para los archivos.                     
   16.5.  ?Que necesito para traducir un documento de FreeBSD a mi lenguaje   
          nativo?                                                             
          Vea el FAQ de Traducciones en la documentacion en el Primer de      
          documentacion FreeBSD.                                              
   16.6.  ?Por que mi correo a cualquier direccion con el dominio FreeBSD.org 
          rebota?                                                             
          El sistema de correo de FreeBSD.org implementa algunas de las       
          verificaciones de Postfix sobre el correo entrante y rechaza el     
          correo que proviene de relays mal configurados o que parece ser     
          spam. Algunos de los requisitos especificos son:                    
                                                                              
            * La direccion de IP del cliente SMTP debe "resolverse            
              inversamente" a un nombre de host confirmado hacia adelante.    
                                                                              
            * El nombre de host completo dado en la conversacion SMTP (HELO o 
              EHLO) debe resolverse a la direccion IP del cliente.            
                                                                              
          Otros consejos para ayudar a que el correo llegue incluyen:         
                                                                              
            * El correo debe ser enviado como texto plano, y los mensajes     
              enviados a las listas de correo no deberian ser mas largos que  
              200KB.                                                          
                                                                              
            * Evite el cross posting excesivo. Elija una lista de correo que  
              parezca relevante y envielo alli.                               
                                                                              
          Si tiene problemas con la infraestructura de correo de FreeBSD.org, 
          envie una nota con los detalles a <postmaster@freebsd.org>; Incluya 
          un intervalo de hora/fecha de manera que los logs puedan ser        
          revisados - y tenga en cuenta que solo mantenemos logs de correo    
          por una semana. (Asegurese de especificar la zona temporal o el     
          offset desde UTC.)                                                  
   16.7.  ?Donde puedo encontrar una cuenta gratis de FreeBSD?                
          Mientras que FreeBSD no provee acceso abierto a ninguno de sus      
          servidores, otros proveen sistemas UNIX(R) de acceso abierto. El    
          costo varia y puede que esten disponibles servicios limitados.      
                                                                              
          Arbornet, Inc, tambien conocida como M-Net, ha estado proveyendo    
          acceso abierto a sistemas UNIX(R) desde 1983. Empezando con un      
          Altos corriendo System III, el sitio cambio a BSD/OS en 1991. En    
          junio del 2000, el sitio cambio nuevamente a FreeBSD. M-Net puede   
          ser accedido mediante telnet y SSH y provee acceso basico para la   
          suite de software entera de FreeBSD. Sin embargo, el acceso a la    
          red esta limitado a miembros y patrocinadores que donan al sistema, 
          el cual es mantenido por una organizacion sin fines de lucro. M-Net 
          tambien provee un sistema de bulletin board y un chat interactivo.  
   16.8.  ?Cual es el nombre del apuesto muchacho de rojo?                    
          No tiene ningun nombre, sencillamente se lo llama "el demonio de    
          BSD". Si insiste en usar un nombre, llamelo "beastie". Note que     
          "beastie" se pronuncia "BSD".                                       
                                                                              
          Mas informacion acerca del demonio de BSD esta disponible en su     
          pagina web.                                                         
   16.9.  ?Puedo usar la imagen del demonio de BSD?                           
          Tal vez. El demonio de BSD esta registrado con derechos de autor    
          por Marshall Kirk McKusick. Vea su Declaracion acerca del uso de la 
          figura del demonio de BSD para terminos de uso detallados.          
                                                                              
          En resumen, la imagen puede ser usada de una manera respetuosa,     
          para uso personal, mientras que se de el credito apropiado. Antes   
          de usar el logo comercialmente, contacte a Kirk McKusick            
          <mckusick@FreeBSD.org> para obtener permiso.                        
   16.10. ?Tienen imagenes del demonio de BSD que pueda usar?                 
          Dibujos en Xfig y eps estan disponibles en                          
          /usr/share/examples/BSD_daemon/.                                    
   16.11. He visto un acronimo u otro termino en las listas de correo y no    
          entiendo que significa. ?Donde tendria que buscar?                  
          Vea el glosario de FreeBSD.                                         
   16.12. ?Por que deberia preocuparme de que color es el cobertizo para      
          bicicletas?                                                         
          La respuesta verdaderamente corta es que no deberia. La respuesta   
          un poco mas larga es que solo porque usted es capaz de construir un 
          cobertizo para bicicletas no significa que deberia evitar que otros 
          construyan uno solo porque no le gusta el color del que lo quieren  
          pintar. Esta es una metafora indicando que no necesita discutir     
          sobre cada pequena caracteristica solo porque tiene el conocimiento 
          para hacerlo. Algunas personas comentaron que la cantidad de ruido  
          generada por un cambio es inversamente proporcional a la            
          complejidad del cambio.                                             
                                                                              
          Una respuesta mas larga y completa es que luego de una larga        
          discusion acerca de si sleep(1) deberia tomar argumentos de         
          segundos fraccionales, <phk@FreeBSD.org> posteo un largo mensaje    
          titulado "A bike shed (any color will do) on greener grass...". Las 
          porciones apropiadas de ese mensaje son citadas mas abajo.          
                                                                              
            "?Que es esto acerca de un cobertizo de bicicletas?" Me han       
            preguntado algunos.                                               
                                                                              
            Es una larga historia, o mas bien, una historia vieja pero de     
            hecho es bastante corta. C. Northcote Parkinson escribio un       
            libro a principios de los 1960s, titulado "Parkinson's Law",      
            que contiene muchas revelaciones acerca de la dinamica del        
            management.                                                       
                                                                              
            [suprimidos varios comentarios acerca del libro]                  
                                                                              
            En el ejemplo especifico que involucra al cobertizo de            
            bicicletas, el otro componente vital es una planta de energia     
            atomica, supongo que eso ilustra la edad del libro.               
                                                                              
            Parkinson muestra como puedes ir a la junta directiva y obtener   
            aprobacion para construir una planta de energia atomica que       
            cueste varios millones, o incluso un billon, pero si quieres      
            construir un cobertizo para bicicletas te encontraras atrapado    
            en un sinfin de discusiones.                                      
                                                                              
            Parkinson explica que esto sucede porque una planta de energia    
            es tan grande, tan cara y tan complicada que la gente no puede    
            comprenderla, y en lugar de intentarlo, suponen que alguien mas   
            ya ha verificado todos los detalles antes de haber llegado tan    
            lejos. Richard P. Feynmann da un par de ejemplos interesantes y   
            aplicables ejemplos relacionados con Los Alamos en sus libros.    
                                                                              
            Un cobertizo de bicicletas es otra cosa. Cualquiera puede         
            construirlo en un fin de semana, y aun tener tiempo para mirar    
            un juego por television. De modo que sin importar que tan bien    
            preparada, o que tan razonable sea tu propuesta, alguien          
            aprovechara la oportunidad para mostrar que esta haciendo su      
            trabajo, que esta prestando atencion, que esta presente.          
                                                                              
            En Dinamarca lo llamamos "dejar tu huella dactilar". Se trata     
            de privilegio y prestigio personal, se trata de poder apuntar a   
            algun lado y decir "!Ahi! Yo hice eso."                           
            --Poul-Henning Kamp <phk@FreeBSD.org> en freebsd-hackers, October 
                                                                      2, 1999 

                    Capitulo 17. Cosas divertidas de FreeBSD

   17.1. ?Que tan frio es FreeBSD?

   17.2. ?Quien esta borrando mis bancos de memoria?

   17.3. ?Cuantos hackers de FreeBSD se necesitan para cambiar un foco de
   luz?

   17.4. ?Donde van los datos escritos a /dev/null?

   17.5. Mi colega esta demasiado tiempo sentada en la computadora. ?Como
   puedo hacerle una broma?

   17.1. ?Que tan frio es FreeBSD?                                            
         Q. ?Alguien ha hecho alguna prueba de temperatura al correr FreeBSD? 
         Se que linux Linux(R) es mas frio que DOS, pero jamas vi alguna      
         mencion a FreeBSD. Parece que sobrecalienta bastante.                
                                                                              
         A. No pero he hecho numerosas pruebas de gusto en voluntarios que    
         tomaron 250 microgramos de LSD-25 administrados previamente. El 35%  
         de los voluntarios dijo que FreeBSD sabe a naranja, mientras que     
         Linux(R) sabe a humo violeta. Ningun grupo menciono nada acerca de   
         variaciones en la temperatura. Eventualmente debimos desechar los    
         resultados de esta encuesta de todas formas al enterarnos que        
         demasiado voluntarios estaban deambulando fuera del cuarto durante   
         las pruebas, arruinando los resultados. Pensamos que la mayoria de   
         los voluntarios estan en Apple ahora, trabajando en su nueva GUI     
         "scratch and sniff". !Es un negocio divertido el nuestro!            
                                                                              
         En serio, FreeBSD usa la instruccion HLT (halt) cuando el sistema    
         esta ocioso, de esta manera reduciendo su consumo de energia y       
         eventualmente el calor que genera. Ademas, si ha configurado ACPI    
         (Advanced Configuration and Power Interface), entonces FreeBSD       
         tambien puede poner la CPU en modo de bajo consumo.                  
   17.2. ?Quien esta borrando mis bancos de memoria?                          
         Q. ?Hay algo "extrano" que FreeBSD hace al compilar el kernel que    
         pueda causar que la memoria haga un sonido de rasguno? Al compilar   
         (y por un breve momento luego de reconocer el disco floppy en el     
         arranque), un extrano sonido como un aranazo emana de lo que parecen 
         ser los bancos de memoria.                                           
                                                                              
         A. !Si! Vera frecuentes referencias a "demonios" en la documentacion 
         de BSD y lo que la mayoria de la gente no sabe es que esto se        
         refiere a entidades genuinas e incorporeas que ahora poseen su       
         computadora. El sonido de aranazos que viene desde su memoria es de  
         hecho un silbido de alta frecuencia intercambiado por los demonios   
         mientras deciden como lidiar con varias tareas administrativas del   
         sistema.                                                             
                                                                              
         Si el sonido lo empieza a molestar, un buen fdisk /mbr desde DOS se  
         librara de ellos, pero no se sorprenda si reaccionan adversamente e  
         intentan detenerlo. De hecho, si en cualquier punto del ejercicio    
         usted escucha la voz satanica de Bill Gates viniendo desde el        
         parlante incorporado... !Salga corriendo y no mire hacia atras!      
         Libre de las influencias de contrapeso de los demonios de BSD, los   
         demonios gemelos de DOS y Windows(R) suelen poder asegurarse el      
         control total de su maquina y la condenacion eterna de su alma.      
         ?Ahora que lo sabe, dada la oportunidad preferiria acostumbrarse a   
         los sonidos de rasgunos, verdad?                                     
   17.3. ?Cuantos hackers de FreeBSD se necesitan para cambiar un foco de     
         luz?                                                                 
         Mil ciento sesenta y nueve.                                          
                                                                              
         Veintitres para quejarse en -CURRENT que las luces estan apagadas;   
                                                                              
         Cuatro para declarar que es un problema de configuracion, y que      
         tales cuestiones pertenecen a -questions;                            
                                                                              
         Tres para enviar PRs acerca de ello, uno de los cuales fue enviado   
         erroneamente bajo doc y consiste solo de "esta oscuro";              
                                                                              
         Uno para commitear un foco de luz no probado que rompe buildworld, y 
         luego revertirlo cinco minutos despues;                              
                                                                              
         Ocho para agredir a los que enviaron el PR por no incluir parches en 
         sus PRs;                                                             
                                                                              
         Cinco para quejarse de que buildworld esta roto;                     
                                                                              
         Treinta y uno para responder que funciona para ellos, y que deben    
         haber actualizado en un mal momento;                                 
                                                                              
         Uno para postear un parche para un nuevo foco de luz a -hackers;     
                                                                              
         Uno para quejarse de que tuvo parches para esto hace tres anos, pero 
         cuando los envio a -CURRENT fueron ignorados, y que tuvo malas       
         experiencias con el sistema de PR; ademas, el nuevo foco de luz      
         propuesto no es reflexivo.                                           
                                                                              
         Treinta y siete para gritar que los focos de luz no pertenecen en el 
         sistema base, que los commiters no tienen derecho a hacer estas      
         cosas sin consultar con la comunidad, y !?QUE ESTA HACIENDO CORE     
         ACERCA DE ESTO?!                                                     
                                                                              
         Doscientos para quejarse del color del cobertizo de bicicletas.      
                                                                              
         Tres para senalar que el parche no respeta style(9);                 
                                                                              
         Diecisiete para quejarse de que el nuevo foco de luz propuesto esta  
         bajo la GPL;                                                         
                                                                              
         Quinientos ochenta y seis para iniciar una discusion acerca de las   
         ventajas comparativas de la GPL, la licencia BSD, la licencia MIT,   
         la NPL, y la higiene personal de fundadores no especificados de la   
         FSF;                                                                 
                                                                              
         Siete para mover varias partes del thread a -chat y -advocacy;       
                                                                              
         Uno para commitear el foco de luz sugerido, aunque brille de manera  
         mas tenue que el viejo;                                              
                                                                              
         Dos para revertirlo con una furiosa discusion en un mensaje de       
         commit, arguyendo que FreeBSD esta mejor en la oscuridad que con un  
         foco de luz oscuro;                                                  
                                                                              
         Cuarenta y seis para discutir vociferantemente acerca de la          
         reversion del foco de luz tenue y demandando una declaracion por     
         parte de -core;                                                      
                                                                              
         Once para pedir un foco de luz mas pequeno de manera que entre en su 
         Tamagotchi si deciden hacer un port de FreeBSD para esa plataforma;  
                                                                              
         Setenta y tres para quejarse acerca de SNR en -hackers y -chat y     
         cancelar su subscripcion como protesta;                              
                                                                              
         Trece para postear "cancelar subscripcion", "?Como cancelo la        
         subscripcion?", o "Por favor saquenme de la lista", seguidos del pie 
         usual;                                                               
                                                                              
         Uno para hacer un commit de un foco de luz funcional mientras que    
         todo el mundo esta demasiado ocupado agrediendo a todos los demas    
         como para notarlo;                                                   
                                                                              
         Treinta y uno para senalar que el nuevo foco de luz seria un 0.364%  
         mas brillante si se compila con TenDRA (aunque tendria que ser       
         remodelado en forma cubica), y que FreeBSD deberia cambiar a TenDRA  
         en lugar de usar GCC;                                                
                                                                              
         Uno para quejarse de que el nuevo foco de luz no tiene carenados;    
                                                                              
         Nuevo (incluyendo los que crearon el PR) para preguntar "?Que es     
         MFC?";                                                               
                                                                              
         Cincueta y siete para quejarse acerca de que las luces estuvieron    
         apagadas por dos semanas luego de que se cambio el foco.             
                                                                              
         Nik Clayton <nik@FreeBSD.org> anade:                                 
                                                                              
         Me estaba riendo bastante con esto.                                  
                                                                              
         Y luego pense, "Un momento ?No deberia haber '1 para documentarlo.'  
         en algun lugar de esa lista?"                                        
                                                                              
         Y luego me ilumine :-)                                               
                                                                              
         Thomas Abthorpe <tabthorpe@FreeBSD.org> dice: "Ninguno !Los          
         verdaderos hackers de FreeBSD no tienen miedo a la oscuridad!"       
   17.4. ?Donde van los datos escritos a /dev/null?                           
         Va a un disipador de datos especial en la CPU en donde es convertido 
         en calor el cual es ventilado a traves del conjunto disipador de     
         calor / ventilador. Esto es por lo que el enfriado de CPU es cada    
         vez mas importante; mientras la gente se acostumbra a procesadores   
         mas rapidos se vuelven descuidados con sus datos y mas y mas termina 
         en /dev/null, sobrecalentando sus CPUs. Si borra /dev/null (lo cual  
         efectivamente deshabilita el su effectively el disipador de datos de 
         CPU) su CPU podria correr a menos temperatura pero su sistema se     
         volvera rapidamente constipado con todos los datos en exceso y       
         comenzara a comportarse erraticamente. Si tiene una conexion de red  
         rapida puede enfriar su CPU leyendo datos de /dev/random y           
         enviandolos a algun lugar; sin embargo corre el riesgo de            
         sobrecalentar su conexion de red y / o hacer enojar a su ISP, dado   
         que la mayoria de los datos terminaran siendo convertidos en calor   
         por su equipo, pero ellos generalmente tienen buena disipacion de    
         calor, de modo que si no se sobrepasa estara bien.                   
                                                                              
         Paul Robinson anade:                                                 
                                                                              
         Hay otros metodos. Como todo buen sysadmin sabe, es parte de las     
         practicas estandares enviar datos a la pantalla de variedad          
         interesante para mantener los pixies y hacer feliz a sus fotos. Los  
         pixies de pantalla (comunmente mal escritos o renombrados como       
         "pixels") son categorizados por el tipo de sombrero que llevan       
         puesto (rojo, verde o azul) y se esconderan o apareceran (de esta    
         forma mostrando el color de su sombrero) cuando reciban un pedazo de 
         comida. Las tarjetas de video convierten datos en comida para pixies 
         y se la mandan a los pixies - cuanto mas cara la tarjeta, mejor es   
         la comida, y mejor se comportan los pixies. Tambien necesitan        
         estimulacion constante - por esto es que existen los salvapantallas. 
                                                                              
         Para llevar mas sus sugerencias, podria arrojar datos al azar a la   
         consola, por consiguiente dejando que los pixies lo consuman. Esto   
         hace que no se produzca calor en absoluto, mantiene los pixies       
         felices y se deshace de sus datos realmente rapido, incluso si hace  
         que las cosas se vean un poco desorganizadas en su pantalla.         
                                                                              
         Accidentalmente, como un ex-administrador de un gran ISP que ha      
         experimentado muchos problemas intentando mantener una temperatura   
         estable en el cuarto de servidores, desaconsejo fuertemente el que   
         la gente envie datos indeseados a la red. A las hadas que se         
         encargan de el intercambio de paquetes y el ruteo tambien les        
         molesta.                                                             
   17.5. Mi colega esta demasiado tiempo sentada en la computadora. ?Como     
         puedo hacerle una broma?                                             
         Instale games/sl y espere a que ella se equivoque al escribir sl en  
         vez de ls.                                                           

                          Capitulo 18. Temas avanzados

   18.1. ?Como puedo aprender mas acerca del funcionamiento interno de
   FreeBSD?

   18.2. ?Como puedo contribuir a FreeBSD?

   18.3. ?Que son snapshots y lanzamientos?

   18.4. ?Puedo seguir -CURRENT con una conexion a Internet limitada?

   18.5. He escrito una extension para el kernel ?A quien se la envio?

   18.6. ?Como puedo aprovechar al maximo los datos que veo cuando mi kernel
   tiene un panico?

   18.7. ?Por que dlsym() ha dejado de funcionar para ejecutables ELF?

   18.8. ?Como puedo incrementar o reducir el espacio de direcciones del
   kernel en i386?

18.1. ?Como puedo aprender mas acerca del funcionamiento interno de FreeBSD?      
      Vea el Manual de arquitectura de FreeBSD.                                   
                                                                                  
      Ademas, la mayor parte del conocimiento general acerca de UNIX(R)es         
      directamente aplicable a FreeBSD.                                           
18.2. ?Como puedo contribuir a FreeBSD?                                           
      Vea el articulo acerca de Contribuir a FreeBSD para consejos especificos    
      acerca de como hacer esto. !La ayuda es mas que bienvenida!                 
18.3. ?Que son snapshots y lanzamientos?                                          
      Hay actualmente 3 ramas activas/semi activas en el repositorio Subversion   
      de FreeBSD. (Las ramas anteriores cambian muy raramente, que es por lo cual 
      solo hay 3 ramas de desarrollo activas):                                    
                                                                                  
        * stable/9/ alias 9-STABLE                                                
                                                                                  
        * stable/10/ alias 10-STABLE                                              
                                                                                  
        * head/ alias -CURRENT alias 11-CURRENT                                   
                                                                                  
      HEAD no es realmente un tag de rama. Es una constante simbolica para el     
      torrente de desarrollo actual, no ramificado conocido como -CURRENT.        
                                                                                  
      En este momento, -CURRENT es el torrente de desarrollo 11.X; la rama        
      10-STABLE, stable/10/, se ramifico de -CURRENT en Enero del 2014 y la rama  
      9-STABLE, stable/9/, se ramifico de -CURRENT en Septiembre del 2011.        
18.4. ?Puedo seguir -CURRENT con una conexion a Internet limitada?                
      Si, esto puede hacerse sin descargar el arbol de codigo fuente entero       
      usando la utilidad CTM.                                                     
18.5. He escrito una extension para el kernel ?A quien se la envio?               
      Vea el articulo en Contribuyendo a FreeBSD para aprender como enviar        
      codigo.                                                                     
                                                                                  
      !Y gracias por haberlo pensado!                                             
18.6. ?Como puedo aprovechar al maximo los datos que veo cuando mi kernel tiene   
      un panico?                                                                  
      Este es un tipico panico de kernel:                                         
                                                                                  
      Fatal trap 12: page fault while in kernel mode                              
      fault virtual address   = 0x40                                              
      fault code              = supervisor read, page not present                 
      instruction pointer     = 0x8:0xf014a7e5                                    
      stack pointer           = 0x10:0xf4ed6f24                                   
      frame pointer           = 0x10:0xf4ed6f28                                   
      code segment            = base 0x0, limit 0xfffff, type 0x1b                
                              = DPL 0, pres 1, def32 1, gran 1                    
      processor eflags        = interrupt enabled, resume, IOPL = 0               
      current process         = 80 (mount)                                        
      interrupt mask          =                                                   
      trap number             = 12                                                
      panic: page fault                                                           
                                                                                  
      Este mensaje no es suficiente. Mientras que el valor del puntero de         
      instruccion es importante, tambien depende de la configuracion varia en     
      cada imagen de kernel. Si es un kernel GENERIC desde uno de los snapshots,  
      es posible que alguien mas rastree la funcion problematica, pero para un    
      kernel personalizado, solo usted puede decirnos donde ocurrio el fallo.     
                                                                                  
      Para proceder:                                                              
                                                                                  
       1. Anote el valor del puntero de instruccion. Note que la parte 0x8: al    
          inicio no es importante en este caso: es la parte 0xf0xxxxxx la que nos 
          interesa.                                                               
                                                                                  
       2. Cuando el sistema reinicie, haga lo siguiente:                          
                                                                                  
       % nm -n kernel.que.causo.el.panico | grep f0xxxxxx                         
                                                                                  
          donde f0xxxxxx es el valor del puntero de instruccion. Lo mas probable  
          es que no consiga una coincidencia exacta dado que los simbolos en la   
          tabla de simbolos del kernel son para puntos de entrada de las          
          funciones y la direccion del puntero de instruccion estara en algun     
          lugar adentro de una funcion, no al inicio. Si no consigue una          
          coincidencia exacta, omita el ultimo digito del valor del puntero de    
          instruccion e intentelo nuevamente:                                     
                                                                                  
       % nm -n kernel.que.causo.el.panico | grep f0xxxxx                          
                                                                                  
          Si eso no arroja ningun resultado, elimine otro digito. Repita hasta    
          que haya algun tipo de salida. El resultado sera una lista de posibles  
          funciones que causaron el panico. Este es un mecanismo poco exacto para 
          rastrear el punto de fallo, pero es mejor que nada.                     
                                                                                  
      Sin embargo, la mejor manera de rastrear la causa del panico es capturando  
      un volcado de fallos, y luego usando kgdb(1) para generar un seguimiento de 
      pila sobre el volcado de fallos.                                            
                                                                                  
      En cualquier caso, el metodo es este:                                       
                                                                                  
       1. Asegurese de que la siguiente linea esta incluida en el archivo de      
          configuracion del kernel:                                               
                                                                                  
       makeoptions     DEBUG=-g          # Build kernel with gdb(1) debug symbols 
                                                                                  
       2. Cambie el directorio a /usr/src:                                        
                                                                                  
       # cd /usr/src                                                              
                                                                                  
       3. Compile el kernel:                                                      
                                                                                  
       # make buildkernel KERNCONF=MYKERNEL                                       
                                                                                  
       4. Espere a que make(1) termine de compilar.                               
                                                                                  
       5. # make installkernel KERNCONF=MYKERNEL                                  
                                                                                  
       6. Reinicie.                                                               
                                                                                  
        Nota:                                                                     
                                                                                  
      Si KERNCONF no esta incluida, el kernel GENERIC sera compilado e instalado  
      en su lugar.                                                                
                                                                                  
      El proceso make(1) habra compilado dos kernels.                             
      /usr/obj/usr/src/sys/MYKERNEL/kernel y                                      
      /usr/obj/usr/src/sys/MYKERNEL/kernel.debug. kernel fue instalado como       
      /boot/kernel/kernel, mientras que kernel.debug puede ser usado como la      
      fuente de simbolos de depuracion para kgdb(1).                              
                                                                                  
      Para capturar un volcado de pila, edite /etc/rc.conf y ajuste dumpdev para  
      que apunte a la particion swap o AUTO. Esto causara que los scripts de      
      rc(8) usen el comando dumpon(8) para habilitar vocados de fallos. Este      
      comando tambien puede correrse manualmente. Luego de un panico, el volcado  
      de fallos puede recuperarse usando savecore(8); si dumpdev esta ajustado en 
      /etc/rc.conf, los scripts de rc(8) correran savecore(8) automaticamente y   
      colocaran en volcado de fallos en /var/crash.                               
                                                                                  
        Nota:                                                                     
                                                                                  
      Los volcados de fallos de FreeBSD suelen ser del mismo tamano que la RAM    
      fisica. Por consiguiente, asegurese de que haya suficiente espacio en       
      /var/crash para contener el volcado. Alternativamente, corra savecore(8)    
      manualmente y haga que recupere el volcado de fallos desde otro directorio  
      con mas espacio. Es posible limitar el tamano del volcado de fallos usando  
      options MAXMEM=N donde Nes el tamano del uso de memoria de kernel KBs. Por  
      ejemplo, para 1 GB de RAM, limite el uso de memoria del kernel a 128 MB de  
      modo que el tamano del volcado de fallos sea de 128 MB en lugar de 1 GB.    
                                                                                  
      Una vez que se haya recuperado el volcado de fallos, obtenga un seguimiento 
      de pila de esta manera:                                                     
                                                                                  
      % kgdb /usr/obj/usr/src/sys/MYKERNEL/kernel.debug /var/crash/vmcore.0       
      (kgdb) backtrace                                                            
                                                                                  
      Notese que hay varias pantallas de informacion. En lo posible, use          
      script(1) para capturarlas todas. Usar la imagen unstripped del kernel con  
      todos los simbolos de depuracion deberia ahora mostrar la linea exacta del  
      codigo fuente del kernel donde ocurrio el panico. El seguimiento de pila    
      suele leerse desde el fondo hacia arriba para rastrear la secuencia exacta  
      de eventos que llevaron al fallo. kgdb(1) puede tambien usarse para         
      imprimir el contenido de varias variables o estructuras para examinar el    
      estado del sistema en el momento del fallo.                                 
                                                                                  
        Sugerencia:                                                               
                                                                                  
      Si una segunda computadora esta disponible kgdb(1) puede configurarse para  
      realizar la depuracion remota, incluyendo ajustar breakpoints y hacer       
      single-stepping en el codigo del kernel.                                    
                                                                                  
        Nota:                                                                     
                                                                                  
      Si DDB esta habilitado y el kernel pasa el depurado, se pueden forzar un    
      panico y un volcado de fallos escribiendo panic en la consola de ddb. Esto  
      puede detener el depurador nuevamente durante la fase de panico. Si lo      
      hace, escriba continue y finalizara el volcado de fallos.                   
18.7. ?Por que dlsym() ha dejado de funcionar para ejecutables ELF?               
      ELF toolchain por defecto no hace que los simbolos definidos a un           
      ejecutable sean visibles al linker dinamico. Consecuentemente dlsym() busca 
      en los descriptores obtenidos desde llamadas a dlopen(NULL, flags) y no     
      podra encontrar tales simbolos.                                             
                                                                                  
      Para buscar, usando dlsym(), por simbolos presentes en el ejecutable        
      principal de un proceso, vincule el ejecutable usando la opcion             
      --export-dynamic para el linker ELF (ld(1)).                                
18.8. ?Como puedo incrementar o reducir el espacio de direcciones del kernel en   
      i386?                                                                       
      Por defecto, el espacio de direcciones del kernel es de 1 GB (2 GB ppara    
      PAE) para i386. Al correr un servidor que es intensivo sobre la red o usar  
      ZFS, esto probablemente no sea suficiente.                                  
                                                                                  
      Agregue la siguiente linea al archivo de configuracion del kernel para      
      incrementar el espacio disponible y recompile el kernel:                    
                                                                                  
      options KVA_PAGES=N                                                         
                                                                                  
      Para encontrar el valor correcto de N, divida el tamano de espacio de       
      direcciones deseado (en megabytes) por cuatro. (Por ejemplo, 512 para       
      2 GB.)                                                                      

                          Capitulo 19. Reconocimientos

   Este inocente y pequeno documento de Preguntas Frecuentes ha sido escrito,
   reescrito, editado, doblado, girado, mutilado, eviscerado, contemplado,
   confundido, reflexionado, regurgitado, reconstruido, castigado y
   revitalizado en el curso de la ultima decada, por un equipo de cientos si
   no miles. Repetidamente.

   Queremos agradecerles a cada una de las personas responsables, y lo
   animamos a que se les una para hacer este FAQ aun mejor.

                                  Bibliografia

   [biblio-unleashed] FreeBSD Unleashed. Michael Urban y Brian Tiemann. Sams.
   1a edicion. 992 paginas. Octubre 2001. ISBN 0-67232-206-4.

   [biblio-44sysman] 4.4BSD System Manager's Manual. Computer Systems
   Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1a edicion. Junio 1994. 804 paginas. ISBN 1-56592-080-5.

   [biblio-44userman] 4.4BSD User's Reference Manual. Computer Systems
   Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1a edicion. Junio 1994. 905 paginas. ISBN 1-56592-075-9.

   [biblio-44suppman] 4.4BSD User's Supplementary Documents. Computer Systems
   Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1a edicion. Junio 1994. 712 paginas. ISBN 1-56592-076-7.

   [biblio-44progman] 4.4BSD Programmer's Reference Manual. Computer Systems
   Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1a edicion. Junio 1994. 866 paginas. ISBN 1-56592-078-3.

   [biblio-44progsupp] 4.4BSD Programmer's Supplementary Documents. Computer
   Systems Research Group, University of California, Berkeley. O'Reilly and
   Associates. 1a edicion. Junio 1994. 596 paginas. ISBN 1-56592-079-1.

   [biblio-44kernel] The Design and Implementation of the 4.4BSD Operating
   System. M. K. McKusick, Kirk Marshall, Keith Bostic, Michael J Karels, y
   John Quarterman. Addison-Wesley. Reading MA . 1996. ISBN 0-201-54979-4.

   [biblio-freebsdkernel] The Design and Implementation of the FreeBSD
   Operating System. M. K. McKusick y George V. Neville-Neil. Addison-Wesley.
   Boston MA . 2004. ISBN 0-201-70245-2.

   [biblio-nemeth3rd] Unix System Administration Handbook. Evi Nemeth, Garth
   Snyder, Scott Seebass, Trent R. Hein, y John Quarterman. Prentice-Hall.
   3ra edicion. 2000. ISBN 0-13-020601-6.

   [lehey3rd] The Complete FreeBSD. Greg Lehey. Walnut Creek. 3ra edicion.
   Junio 1999. 773 paginas. ISBN 1-57176-246-9.

   [McKusick et al, 1994] Berkeley Software Architecture Manual, 4.4BSD
   Edition. M. K. McKusick, M. J. Karels, S. J. Leffler, W. N. Joy, y R. S.
   Faber. 5:1-42.

   [biblio-ja-fbsdpc98] FreeBSD for PC 98'ers (en Japones). SHUWA System Co,
   LTD.. ISBN 4-87966-468-5 C3055 P2900E.

   [biblio-ja-fbsd] FreeBSD (en Japones). CUTT. ISBN 4-906391-22-2.

   [biblio-ja-compintro] Complete Introduction to FreeBSD (en Japones).
   Shoeisha Co., Ltd. ISBN 4-88135-473-6 P3600E.

   [biblio-ja-unixstarterkit] Personal UNIX Starter Kit FreeBSD (in
   Japanese). ASCII. ISBN 4-7561-1733-3 P3000E.

   [biblio-ja-fbsdhb] FreeBSD Handbook (traduccion al Japones). ASCII. ISBN
   4-7561-1580-2 P3800E.

   [biblio-ge-fbsdmitmeth] FreeBSD mit Methode (en Aleman). Computer und
   Literature Verlag/Vertrieb Hanser. 1998. ISBN 3-932311-31-0.

   [biblio-ja-fbsdinstandutil] FreeBSD install and Utilization Manual (en
   Japones). Mainichi Communications Inc..

   [biblio-indo-intserv] Building Internet Server with FreeBSD (en idioma
   Indonesio). Elex Media Komputindo. Onno W Purbo, Dodi Maryanto, Syahrial
   Hubbany, y Widjil Widodo.

   [biblio-fbsdcorpnetguide] The FreeBSD Corporate Networker's Guide.
   Addison-Wesley.

   [biblio-unixnutshell] UNIX in a Nutshell. O'Reilly & Associates, Inc..
   1990. ISBN 093717520X.

   [biblio-cantfindadmin] What You Need To Know When You Can't Find Your Unix
   System Administrator. O'Reilly & Associates, Inc.. 1995. Linda Mui. ISBN
   1-56592-104-6.

   [biblio-ja-fbsdusrrefman] FreeBSD User's Reference Manual (traduccion al
   Japones). Mainichi Communications Inc.. Jpman Project, Japan FreeBSD Users
   Group. 1998. ISBN 4-8399-0088-4 P3800E.

   [biblio-newcomeunix] "Online Guide for newcomers to the UNIX environment".
   Edinburgh University.

   [biblio-dnsandbind] DNS and BIND. O'Reilly & Associates, Inc. ISBN
   1-56592-512-2. Paul Albitz Albitz y Cricket Liu. 1998. 3ra edicion.

   [biblio-sendmail] Sendmail. O'Reilly & Associates, Inc. 1997. 2a edicion.
   Brian Costales. ISBN 1-56592-222-0.

   [biblio-esssysadmin] Essential System Administration. AEleen Frisch. 2a
   edicion. O'Reilly & Associates. 1995. ISBN 1-56592-127-5.

   [biblio-tcpipnetworkadministration] TCP/IP Network Administration. Craig
   Hunt. 2a edicion. O'Reilly & Associates, Inc. 1997. ISBN 1-56592-322-7.

   [biblio-managingnfsandnis] Managing NFS and NIS. Hal Stern. O'Reilly &
   Associates, Inc. 1991. ISBN 0-937175-75-7.

   [biblio-jpmanprojectjfug] FreeBSD System Administration's Manual. Jpman
   Project, Japan FreeBSD Users Group. Mainichi Communications Inc.. 1998.
   ISBN 4-8399-0109-0 P3300E.

   [biblio-xwinsystoolkit] X Window System Toolkit. Digital Press. Paul
   Asente. ISBN 1-55558-051-3.

   [biblio-carefman] C: A Reference Manual. Prentice Hall. 1995. 4a edicion.
   Samuel P. Harbison y Guy L. Jr. Steele. ISBN 0-13-326224-3.

   [biblio-thecproglang] The C Programming Language. Prentice Hall. 1998.
   Brian Kernighan y Dennis Ritchie. ISBN 0-13-110362-9.

   [biblio-portingunixsoft] Porting UNIX Software. Greg Lehey. O'Reilly &
   Associates, Inc.. 1995. ISBN 1-56592-126-7.

   [biblio-thestandardclibrary] The Standard C Library. Prentice Hall. 1992.
   P. J. Plauger. ISBN 0-13-131509-9.

   [biblio-advprogintheunixenv] Advanced Programming in the UNIX Environment.
   Addison-Wesley. 1992. W. Richard Stevens. ISBN 0-201-56317-7.

   [biblio-unixnetprog] UNIX Network Programming. W. Richard Stevens.
   Prentice Hall. 1998. 2a edicion. ISBN 0-13-490012-X.

   [biblio-writeserialdriverforunix] Writing Serial Drivers for UNIX. Bill
   Wells. Diciembre 1994. Dr. Dobb's Journal. pp68-71, pp97-99.

   [biblio-unixsysarch] UNIX System Architecture. Prentice-Hall, Inc. 1990.
   Prabhat K. Andleigh. ISBN 0-13-949843-5.

   [biblio-portingunixtothe386] Porting UNIX to the 386. William Jolitz. Dr.
   Dobb's Journal. Enero 1991-Julio 1992.

   [biblio-tcpipillv1theprotocols] TCP/IP Illustrated, Volume 1: The
   Protocols. W. Richard Stevens. Addison-Wesley. 1996. ISBN 0-201-63346-9.

   [biblio-unixsysformodrnarch] Unix Systems for Modern Architectures.
   Addison-Wesley. Curt Schimmel. 1994. ISBN 0-201-63338-8.

   [biblio-tcpipillvol3] TCP/IP Illustrated, Volume 3: TCP for Transactions,
   HTTP, NNTP and the UNIX Domain Protocols. Addison-Wesley. 1996. W. Richard
   Stevens. ISBN 0-201-63495-3.

   [biblio-unixinternthenewfrontiers] UNIX Internals -- The New Frontiers.
   Uresh Vahalia. Prentice Hall. 1996. ISBN 0-13-101908-2.

   [biblio-tcpipillvol2theimplementation] TCP/IP Illustrated, Volume 2: The
   Implementation. Gary R. Wright y W. Richard Stevens. 1995. Addison-Wesley.
   ISBN 0-201-63354-X.

   [biblio-firewallsandinternetsecurity] Firewalls and Internet Security:
   Repelling the Wily Hacker. William R. CHeswick y Steven M. Bellovin.
   Addison-Wesley. 1995. ISBN 0-201-63357-4.

   [biblio-practicalunixsecurity] Practical UNIX Security. Simson Garfinkel y
   Gene Spafford. 1996. 2a edicion. O'Reilly & Associates, Inc. ISBN
   1-56592-148-8.

   [biblio-pgpprettygoodprivacy] PGP Pretty Good Privacy. Simson Garfinkel.
   O'Reilly & Associates, Inc. 1995. ISBN 1-56592-098-8.

   [biblio-pentiumprocarch] Pentium Processor System Architecture. Don
   Anderson y Tom Shanley. Addison-Wesley. 1995. 2a edicion. ISBN
   0-201-40992-5.

   [biblio-progguidetothesvgacards] Programmer's Guide to the EGA, VGA, and
   Super VGA Cards. Richard F. Ferraro. 3ra edicion. Addison-Wesley. 1995.
   ISBN 0-201-62490-7.

   [biblio-80486] 80486 System Architecture. Tom Shanley. Addison-Wesley.
   1995. 3ra edicion. ISBN 0-201-40994-1.

   [biblio-isasysarch] ISA System Architecture. Tom Shanley. Addison-Wesley.
   3ra edicion. 1995. ISBN 0-201-40996-8.

   [biblio-pcisysarch] PCI System Architecture. Tom Shanley. Addison-Wesley.
   1995. 3ra edicion. ISBN 0-201-40993-3.

   [biblio-theundocumentedpc] The Undocumented PC. Frank Van Gilluwe.
   Addison-Wesley. 1994. ISBN 0-201-62277-7.

   [biblio-bellsystemtechnicaljournal] Bell System Technical Journal, Unix
   Time-Sharing System. American Telephone & Telegraph Company. Enero-Agosto
   1978. Vol 57, No 6, Parte 2. ISSN0005-8580.

   [biblio-commentaryonunix] Lion's Commentary on UNIX. John Lion. ITP Media
   Group. 1996. 6a edicion. ISBN 1573980137.

   [biblio-newhackerdict] The New Hacker's Dictionary. Eric S. Raymond. MIT
   Press. 1996. 3ra edicion. ISBN 0-262-68092-0.

   [biblio-aqtrcentofunix] A quarter century of UNIX. Peter H. Salus.
   Addison-Wesley. 1994. ISBN 0-201-54777-5.

   [biblio-unixhatershandbook] The UNIX-HATERS Handbook. Steven Strassman,
   Daniel Weise, y Simon Garfinkel. IDG Books Worldwide, Inc. 1994. ISBN
   1-56884-203-1.

   [biblio-lifewithunix] Life with UNIX - special edition. Don Libes y Sandy
   Ressler. Prentice-Hall. 1989. ISBN 0-13-536657-7.

   [biblio-bsdfamilytree] The BSD Family Tree. 1997.

   [absolutebsd] Absolute BSD. Michael Lucas. No Starch Press. Junio 2002.
   ISBN 1-886411-74-3.

   [biblio-ccppusersjournal] The C/C++ Users Journal. R&D Publications Inc..
   ISSN 1075-2838.

   [biblio-sysadminthejournalforunixsysadmins] Sys Admin - The Journal for
   UNIX System Administrators. Miller Freeman, Inc. ISSN 1061-2688.
