<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
 
<!ENTITY % bookinfo PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//ES">%bookinfo;
 
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//ES">
%mailing-lists;
]>

<book lang=es>
  <bookinfo>
    <title>Preguntas m&aacute;s frecuentes de FreeBSD 2.X, 3.X y 4.X</title>

    <authorgroup>
      <author>
        <surname>Proyecto de documentacion de FreeBSD</surname>
      </author>
    </authorgroup>

    <pubdate>$FreeBSD: doc/es_ES.ISO8859-1/books/faq/book.sgml,v 1.15 2001/07/13 15:39:51 nik Exp $</pubdate>

    <copyright>
      <year>1995</year>
      <year>1996</year>
      <year>1997</year>
      <year>1998</year>
      <year>1999</year>
      <year>2000</year>
      <year>2001</year>
      <holder>The FreeBSD Documentation Project</holder>
    </copyright>

    &bookinfo.legalnotice;

    <abstract>
      <para>&Eacute;sta es la FAQ de FreeBSD versi&oacute;n 2.X, 3.X y 4.X
        Todas las secciones est&aacute;n dirigidas a FreeBSD 2.0.5 y superiores.
        Los cap&iacute;tulos con &lt;XXX&gt; est&aacute;n bajo
        construcci&oacute;n.  Si est&aacute;s interesado en colaborar en este
        proyecto, env&iacute;a un e-mail a la lista de distribuci&oacute;n del
        proyecto de documentaci&oacute;n de FreeBSD (en ingl&eacute;s)
        &a.doc; o a la direcci&oacute;n 
        <ulink URL="mailto:doc@es.FreeBSD.org">doc@es.FreeBSD.org</ulink> en
        castellano. La &uacute;ltima versi&oacute;n de este documento est&aacute; 
        siempre disponible en el <ulink 
        URL="http://www.es.FreeBSD.org/es/">Mirror espa&ntilde;ol de FreeBSD</ulink>. 
        Puede obtenerse como un &uacute;nico archivo en formato 
        <ulink URL="book.html">HTML</ulink> v&iacute;a HTTP o en formato texto, 
        postscript o PDF desde el <ulink 
        URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc">servidor FTP de FreeBSD</ulink>.
        Tambi&eacute;n se pueden hacer <ulink 
        URL="http://www.FreeBSD.org/search/search.html">b&uacute;squedas 
        en las FAQ</ulink>.</para>
    </abstract>
  </bookinfo>

  <chapter id=introduction>
    <title>Introducci&oacute;n</title>

    <para>&iexcl;Bienvenido a la FAQ de FreeBSD 2.X-4.X!</para>
  
    <para>Como es habitual con las FAQ de los grupos de noticias (USENET), este
    documento pretende abarcar las preguntas m&aacute;s frecuentes referentes
    al sistema operativo FreeBSD (&iexcl;y por supuesto contestarlas!).
    Pensadas en un principio para reducir el tr&aacute;fico y evitar que se
    hagan las mismas preguntas una y otra vez, las FAQ se han convertido en un
    valorado recurso de obtenci&oacute;n de informaci&oacute;n.</para>
  
    <para>Todo el esfuerzo se ha hecho en intentar que esta FAQ sea lo
    m&aacute;s informativa posible; si tienes cualquier comentario o
    sugerencia, por favor, env&iacute;a un mail a
    <ulink URL="mailto:jesusr@FreeBSD.org">FAQ maintainer</ulink>.</para>

    <qandaset>
      <qandaentry>
        <question>
          <para>&iquest;Qu&eacute; es FreeBSD?</para>
        </question>

        <answer>
	  <para>De manera resumida, FreeBSD 2.X es un sistema operativo UNIX
	  indirectamente basado en el port de Net/2 para i386 de Berkeley
	  (conocido como 386BSD) realizado por William Jolitz's. Una
	  descripci&oacute;n m&aacute;s detallada de FreeBSD y de c&oacute;mo
	  puede trabajar, se encuentra en
	  <ulink URL="http://www.FreeBSD.org/">FreeBSD home page</ulink>.****
	  </para>
  
	  <para>FreeBSD es usado por compa&ntilde;&iacute;as, proveedores de
	  Internet, profesionales de la inform&aacute;tica, estudiantes y
	  usuarios particulares de todo el mundo en su trabajo,
	  educaci&oacute;n y ocio.  Puedes ver a algunos de ellos en
	  <ulink URL="http://www.FreeBSD.org/gallery.html">FreeBSD Gallery.</ulink></para>
  
          <para>Para informaci&oacute;n m&aacute;s detallada sobre FreeBSD, por 
          favor mira en
          <ulink URL="../../handbook/index.html">FreeBSD Handbook.</ulink></para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
          <para>&iquest;Cu&aacute;l es el objetivo de FreeBSD?</para>
        </question>

        <answer>
	  <para>El objetivo del Proyecto FreeBSD es proveer software que pueda
	  ser usado en todos los &aacute;mbitos sin ning&uacute;n tipo de
	  atadura.  Muchos de nosotros estamos significativamente involucrados
	  en el desarrollo del c&oacute;digo (y del proyecto) y no ser&iacute;a
	  cierto decir que no esper&aacute;bamos o esperamos alg&uacute;n tipo
	  de financiaci&oacute;n, pero definitivamente no estamos preparados
	  para insistir en ello. Creemos que nuestra primera y principal
	  ``misi&oacute;n'' es proporcionar el c&oacute;digo libremente, y en
	  cualquier &aacute;mbito, para que el c&oacute;digo se difunda lo
	  m&aacute;s posible y genere los mayores beneficios. Esto es,
	  creemos en uno de los objetivos fundamentales del Software Libre y lo
	  apoyamos de manera incondicional.</para>
  
	  <para>El c&oacute;digo fuente de los programas registrados bajo la
	  GNU General Public License (GPL) o la GNU Library General Public
	  License (LGPL), se proporciona bajo las condiciones fijadas por esas
	  licencias. Debido a complicaciones adicionales en el uso comercial de
	  Software GPL, intentamos reemplazar ese software por otros
	  registrados bajo el copyright BSD, menos estricto y m&aacute;s
	  permisivo.</para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
          <para>&iquest;Por qu&eacute; se llama FreeBSD?</para>
        </question>

        <answer>
          <para>
            <itemizedlist>

              <listitem>
                <para>Este sistema debe ser usado libremente, sin coste alguno
                incluso para fines comerciales.</para>
              </listitem>

              <listitem>
		<para>El c&oacute;digo fuente completo del sistema operativo es
		de libre distribuci&oacute;n, y se han establecido el menor
		n&uacute;mero posible de restricciones para su uso,
		distribuci&oacute;n e incorporaci&oacute;n a otras aplicaciones
		(comerciales o no).</para>
              </listitem>

              <listitem>
		<para>Cualquier persona que tenga alguna sugerencia de mejora
		y/o ``parche'' de alg&uacute;n ``bug'', es libre de enviar el
		c&oacute;digo y que &eacute;ste sea a&ntilde;adido al
		c&oacute;digo fuente de la distribuci&oacute;n original (sujeto
		a una o dos condiciones obvias).  </para>
              </listitem>
            </itemizedlist>
          </para>
  
	  <para>Para todos nuestros lectores cuyo primer lenguaje no sea el
	  ingl&eacute;s, aclaremos que la palabra ``free'' es usada en dos
	  sentidos, uno significando ``sin coste'' y el otro ``puedes hacer lo
	  que quieras''.  Aparte de una o dos cosas que no puedes hacer con el
	  c&oacute;digo de FreeBSD, por ejemplo decir que lo has escrito,
	  realmente puedes hacer lo que quieras con &eacute;l.</para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
          <para>&iquest;Cu&aacute;l es la &uacute;ltima versi&oacute;n de FreeBSD?</para>
        </question>

        <answer>
          <para>La versi&oacute;n 
          <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/3.4-RELEASE">3.4R</ulink> 
	  es la &uacute;ltima <emphasis>-stable</emphasis>; fue declarada
	  definitiva (a partir de ahora ``release'') en Diciembre de 1999.</para>

	  <para>Brevemente explicado, <option>-stable</option> est&aacute;
	  dirigido a proveedores de Internet y otros usuarios corporativos que
	  quieren estabilidad y una sucesi&oacute;n tranquila en los cambios y
	  actualizaciones a las nuevas versiones y sus mejoras. S&oacute;lo
	  debes usar la rama <emphasis>-current</emphasis> si est&aacute;s
	  seguro de estar preparado para su mayor ``volatilidad'' (relativa a
	  <emphasis>-stable</emphasis>).</para>
	  
	  <para>Las versiones Release se hacen cada
	  <link linkend="release-freq">varios meses</link>.  Aunque mucha gente
	  mantiene m&aacute;s al d&iacute;a los fuentes de FreeBSD (lee las
	  preguntas en <link linkend="current">FreeBSD-current</link> y
	  <link linkend="stable">FreeBSD-stable</link>, ello est&aacute;
	  pensado para gente que se considere preparada para seguir el
	  desarrollo continuo del c&oacute;digo fuente.</para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question id="current">
          <para>&iquest;Qu&eacute; es FreeBSD-current?</para>
        </question>

        <answer>
	  <para><ulink URL="../../handbook/cutting-edge.html#CURRENT">FreeBSD-current</ulink>
	  es la versi&oacute;n de desarrollo del sistema operativo, la cual
	  acabar&aacute; siendo la versi&oacute;n 4.0-RELEASE. Como es de
	  suponer, esta versi&oacute;n es de inter&eacute;s s&oacute;lo para
	  los desarrolladores que trabajan en el sistema y ``masoquistas'' de la
	  programaci&oacute;n.  Mira la <ulink URL="../../handbook/cutting-edge.html#CURRENT">secci&oacute;n correspondiente</ulink> en el
	  <ulink URL="../../handbook/index.html">handbook</ulink>
	  para saber c&oacute;mo funciona esta opci&oacute;n.</para>
  
	  <para>Si no est&aacute;s familiarizado con el sistema operativo o no
	  eres capaz de identificar la diferencia entre un problema real y un
	  problema temporal, no deber&iacute;as usar FreeBSD-current. Esta rama
	  a veces avanza muy r&aacute;pidamente y puede no ser compilable
	  durante unos d&iacute;as.  La gente que usa FreeBSD-current es capaz
	  de analizar los problemas y s&oacute;lo comunicarlos si son motivo de
	  errores. Preguntas como ``al ejecutar make world obtengo un error
	  referente a grupos'' en la lista de distribuci&oacute;n -current
	  pueden quedar fuera de lugar.</para>
  
          <para>Una release
	  <ulink URL="../releases/snapshots.html">snapshot</ulink> corresponde
	  al desarrollo de la rama -current; distribuciones en CDROM de esta
	  versi&oacute;n est&aacute;n disponibles. Los objetivos de cada
	  release snapshot son:</para>
  
          <para>
            <itemizedlist>
              <listitem>
		<para>Comprobar la &uacute;ltima versi&oacute;n del software de
		instalaci&oacute;n.</para>
              </listitem>

              <listitem>
		<para>Dar a la gente que le gustar&iacute;a usar la
		versi&oacute;n -current, pero que no tiene el tiempo suficiente
		para seguir el ritmo diario de actualizaciones, una manera
		f&aacute;cil de poder instalarla en su sistema.</para>
              </listitem>

              <listitem>
		<para>Preservar un punto de referencia fijado en el
		c&oacute;digo en cuesti&oacute;n, s&oacute;lo en caso de que
		``rompamos'' algo realmente importante. (De todas maneras, el CVS
		normalmente previene de que cosas tan horribles como
		&eacute;stas puedean suceder :)</para>
              </listitem>

              <listitem>
		<para>Asegurar que las nuevas caracter&iacute;sticas
		desarrolladas puedan ser comprobadas suficientemente por el
		mayor n&uacute;mero de gente.</para>
              </listitem>

            </itemizedlist>
          </para>
  
	  <para>No se garantiza que ning&uacute;n snapshot pueda ser
	  considerado ``calidad de producci&oacute;n''. Para conseguir
	  estabilidad y un sistema garantizado, tendr&aacute;s que usar las
	  versiones release.</para>
  
          <para>Las release snapshot est&aacute;n directamente disponibles en
          <ulink URL="ftp://current.FreeBSD.org/pub/FreeBSD/">ftp://current.FreeBSD.org/pub/FreeBSD/</ulink> 
	  y son generadas un promedio de una vez por d&iacute;a para las ramas
	  4.0-current y 3.0-stable.</para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question id="stable">
          <para>&iquest;Qu&eacute; significa FreeBSD-stable?</para>
        </question>
 
        <answer>
	  <para>Cuando la versi&oacute;n de FreeBSD 2.0.5 fue declarada
	  release, decidimos dividir el desarrollo de FreeBSD en dos ramas. Una
	  rama fue llamada
	  <ulink URL="../../handbook/stable.html">-stable</ulink> con la
	  intenci&oacute;n de que s&oacute;lo los parches bien comprobados y
	  peque&ntilde;as actualizaciones de determinadas partes del sistema
	  fuesen incluidas en ella (para proveedores de Internet y otras
	  empresas para los que no resultan deseables cambios repentinos o
	  experimentales). La otra rama fue
	  <ulink URL="../../handbook/cutting-edge.html#CURRENT">-current</ulink>,
	  la cual ha sido, esencialmente, una l&iacute;nea com&uacute;n para
	  el desarrollo de la versi&oacute;n 4.0-RELEASE. Aqu&iacute; hay un
	  peque&ntilde;o gr&aacute;fico ASCII para ayudar a entender este
	  sistema de desarrollo:</para>
  
          <para>
<literallayout>                  2.0
                   |
                   |
                   |  [2.1-stable]
*BRANCH*         2.0.5 -&gt; 2.1 -&gt; 2.1.5 -&gt; 2.1.6 -&gt; 2.1.7.1  [2.1-stable ends]
                   |                            (Mar 1997)
                   |
                   |
                   |  [2.2-stable]
*BRANCH*        2.2.1 -&gt; 2.2.2-RELEASE -&gt; 2.2.5-RELEASE -&gt; ...
                   |       (Mar 1997)      (Oct 1997)
                   |
                   |
                3.0-SNAPs  (started Q1 1997)
                   |
                   |
              3.0.0-RELEASE (Oct 1998)
                   |
                   |  [3.0-stable]
*BRANCH*          3.1  (Feb 1999) -&gt; 3.2-RELEASE -&gt; ... future 3.x releases ...
                   |                 (Mayo 1999) 
                   | 
                  \|/
                   +
           [4.0-current continues]</literallayout>
          </para>
  
	  <para>La rama -current progresa lentamente hacia la 4.0 y superiores,
	  de la misma manera la anterior 2.2-estable fue sustituida por la
	  release 3.0: la nueva ``rama estable'' tambi&eacute;n conocida como
	  3.0-stable. 4.0-current continuar&aacute; hasta donde los desarrollos
	  activos lleguen cuando se convierta en release 4.0. En ese punto, 4.0
	  se convertir&aacute; en 4.0-stable y se abrir&aacute; la nueva
	  4.1-current.</para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question id="release-freq">
          <para>&iquest;Cuando se realizan las releases de FreeBSD?</para>
        </question>

        <answer>
	  <para>Como principio general, el equipo de FreeBSD s&oacute;lo hace
	  una nueva versi&oacute;n release de FreeBSD cuando cree que hay
	  suficientes caracter&iacute;sticas nuevas y/o parches que la
	  justifiquen y esten seguros de que con los cambios realizados no se
	  compromete la estabilidad de la release. Muchos usuarios creen que
	  esta precauci&oacute;n es una de las mejores caracter&iacute;sticas
	  de FreeBSD.</para>
  
	  <para>Las versiones release son hechas cada 6 meses
	  aproximadamente.</para>
  
	  <para>Para los usuarios que necesiten (o quieran) un poco m&aacute;s
	  de excitaci&oacute;n, hay SNAP-release m&aacute;s frecuentemente,
	  particularmente durante el mes anterior a una release
	  completa.</para>
  
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
          <para>&iquest;Est&aacute; FreeBSD disponible solo para PCs?</para>
        </question>

        <answer>
	  <para>En estos momentos, s&iacute;, aunque se est&aacute; trabajando
	  en portarlo a la arquitectura DEC Alpha. Si tu m&aacute;quina tiene
	  una arquitectura diferente y necesitas un sistema de este tipo, te
	  aconsejamos que mires en
	  <ulink URL="http://www.netbsd.org/">NetBSD</ulink> o en
	  <ulink URL="http://www.openbsd.org/">OpenBSD</ulink>.</para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
          <para> &iquest;Qui&eacute;n es responsable de FreeBSD?</para>
        </question>

        <answer>
	  <para>Las decisiones clave concernientes al proyecto FreeBSD como la
	  direcci&oacute;n a seguir y qui&eacute;n est&aacute; autorizado a
	  a&ntilde;adir c&oacute;digo a la distribuci&oacute;n original, se
	  hace a trav&eacute;s de un grupo de unas 17 personas llamado
	  <ulink URL="../../handbook/staff.html#STAFF-CORE">core team</ulink>.
	  Existe tambi&eacute;n un grupo de unas 150 personas o
	  <ulink URL="../../handbook/staff-committers.html">committers</ulink>
	  que tambi&eacute;n est&aacute;n autorizadas a realizar cambios
	  directamente sobre la distribuci&oacute;n original.</para>
  
	  <para>De todas maneras, la cambios importantes son discutidos en las
	  <link linkend="mailing">listas de distribuci&oacute;n</link> en las
	  que no existen restricciones sobre qui&eacute;n participa en las
	  discusiones.</para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question id="where-get">
          <para>&iquest;D&oacute;nde puedo conseguir FreeBSD?</para>
        </question>

        <answer>
	  <para>Todas las versiones release de FreeBSD est&aacute;n disponibles
	  via ftp an&oacute;nimo en
	  <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/">el servidor FTP de
	  FreeBSD</ulink>:</para>
  
          <para>
            <itemizedlist>
              <listitem>
                <para>Para la actual 3.4-stable release, 3.4R mira en
                <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/3.4-RELEASE/">3.4-RELEASE</ulink>.
                </para>
              </listitem>

              <listitem>
                <para>Para la actual 4.0-current release, 4.0-SNAP, mira en
                <ulink URL="ftp://current.FreeBSD.org/pub/FreeBSD/">4.0</ulink>.</para>
              </listitem>

              <listitem>
		<para><ulink URL="ftp://releng22.FreeBSD.org/pub/FreeBSD/">2.2
		Snapshot</ulink> releases son hechas a partir de la rama
		RELENG_2_2 (2.2.5 -&gt; 2.2.x). Con la ocasional
		excepci&oacute;n de peque&ntilde;as variaciones, la rama
		RELENG_2_2 est&aacute; siendo cuidadosamente mantenida (no hay
		cambios experimentales y los parches son a&ntilde;adidos
		s&oacute;lo despu&eacute;s de ser comprobados en
		-current).</para>
              </listitem>

              <listitem>
		<para><ulink URL="ftp://current.FreeBSD.org/pub/FreeBSD/">4.0
		Snapshot</ulink> releases son hechas una vez al d&iacute;a a
		partir de la rama <link linkend="current">-current</link>,
		siendo &eacute;ste un servicio puramente para testeadores y
		desarrolladores.</para>
              </listitem>
            </itemizedlist>
            </para>
                
	<para>FreeBSD esta tambi&eacute;n disponible via CDROM, en los
	siguientes lugares:</para>

                <address>
                  <otheraddr>Walnut Creek CDROM</otheraddr>
                  <street>   4041 Pike Lane, Suite F</street>
                  <city>     Concord</city>, <state>CA</state>  <postcode>94520</postcode>  
                  <country>  USA</country>
                  <phone>    Orders:     +1 800 786-9907</phone>
                  <phone>    Questions:  +1 925 674-0783</phone>
                  <fax>      FAX:        +1 925 674-0821</fax>
                  <otheraddr>email: <ulink URL="mailto:orders@cdrom.com">WC Orders address</ulink></otheraddr>
                  <otheraddr>WWW: <ulink URL="http://www.cdrom.com/">WC Home page</ulink></otheraddr>
                </address>

                <para>En Australia:</para>

                <address>
                  <otheraddr>Advanced Multimedia Distributors</otheraddr>
                  <street>   Factory 1/1 Ovata Drive</street>
                  <city>     Tullamarine, Melbourne</city>
                  <state>    Victoria</state>
                  <country>  Australia</country>
                  <phone>    Voice: +61 3 9338 6777</phone>
                  <fax>      Fax:   +61 9 385-2360</fax>

                  <otheraddr>CDROM Support BBS</otheraddr>
                  <street>   17 Irvine St</street>
                  <city>     Peppermint Grove</city> <state>WA</state> <postcode>6011</postcode>
                  <phone>    Voice: +61 9 385-3793</phone>
                  <fax>      Fax:   +61 9 385-2360</fax>
                </address>

                <para>Y en el Reino Unido:</para>

                <address>
                  <otheraddr>The Public Domain &amp; Shareware Library</otheraddr>
                  <street>   Winscombe House, Beacon Rd</street>
                  <city>     Crowborough</city>
                  <state>    Sussex. TN6 1UL</state>
                  <phone>    Voice: +44 1892 663-298</phone>
                  <fax>      Fax:   +44 1892 667-473</fax>
                </address>
        </answer>
      </qandaentry>

      <qandaentry>
        <question id="mailing">
	  <para>&iquest;D&oacute;nde encuentro informaci&oacute;n sobre las
	  listas de distribuci&oacute;n de FreeBSD?</para>
        </question>

        <answer>
	  <para>Puedes encontrar toda la informaci&oacute;n en
	  <ulink URL="../../handbook/eresources.html#ERESOURCES-MAIL">la
	  secci&oacute;n de listas del Handbook.</ulink></para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
          <para>&iquest;D&oacute;nde encuentro informaci&oacute;n sobre el
          a&ntilde;o 2000 (Y2K) en FreeBSD?</para>
        </question>

        <answer>
	  <para>Tienes toda la informaci&oacute;n disponible en la <ulink
	  URL="http://www.freebsd.org/y2kbug.html">p&aacute;gina Y2K de
	  FreeBSD</ulink> </para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
	  <para>&iquest;Qu&eacute; grupos de noticias est&aacute;n disponibles
	  sobre FreeBSD?</para>
        </question>

        <answer>
	  <para>Puedes encontrar toda la informaci&oacute;n en <ulink
	  URL="../../handbook/eresources-news.html">la secci&oacute;n de news
	  del Handbook.</ulink></para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
	  <para>&iquest;Hay algun canal IRC (Internet Relay Chat) sobre
	  FreeBSD?</para>
        </question>

        <answer>
          <para>S&iacute;, muchas de las grandes redes de IRC tienen canales de
          chat de FreeBSD.</para>
  
          <para>
            <itemizedlist>
              <listitem>
		<para>El canal <emphasis remap=tt>#FreeBSD</emphasis> en EFNet
		es un f&oacute;rum de FreeBSD, pero no acudas all&iacute; para
		obtener soporte t&eacute;cnico o contar tus penas sobre como
		leer las p&aacute;ginas man ;).  Es un canal de chat, de
		principio a f&iacute;n, y los temas que se tratan suelen ser
		cosas como sexo, deportes o armas nucleares.
		&iexcl;Est&aacute;s avisado!.  Disponible en el servidor
		<filename>irc.chat.org</filename>.</para>
              </listitem>

              <listitem>
		<para>El canal <emphasis remap=tt>#FreeBSD</emphasis> en DALNET
		est&aacute; disponible en el servidor
		<filename>irc.dal.net</filename> en USA y
		<filename>irc.eu.dal.net</filename> en Europa.</para>
              </listitem>

              <listitem>
		<para>El canal <emphasis remap=tt>#FreeBSD</emphasis> en
		UNDERNET est&aacute; disponible en
		<filename>us.undernet.org</filename> en USA y
		<filename>eu.undernet.org</filename> en Europa. Igual que en
		EFNET, no hagas preguntas t&eacute;cnicas. Es un canal de chat,
		no de soporte.</para>
              </listitem>

              <listitem>
		<para>Finalmente, puedes usar el canal
		<emphasis remap=tt>#FreeBSD</emphasis> en BSDNET, una
		peque&ntilde;a red de chat, en el servidor
		<filename>irc.FreeBSD.org</filename>.  Esta red intenta ofrecer
		m&aacute;s soporte t&eacute;cnico y no ser tan an&aacute;rquica
		como EFNET, UNDERNET o DALNET. &iquest;Por qu&eacute; no
		ofrecer respuestas de manera voluntaria hoy en BSDNET?.</para>
              </listitem>

            </itemizedlist>
          </para>
  
	  <para>Cada uno de estos canales es diferente y no est&aacute;n
	  conectados entre ellos. Sus estilos de chat difieren, por lo que
	  podr&iacute;s probarlos todos para ver cu&aacute;l te gusta
	  m&aacute;s.</para>  
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
          <para>Libros sobre FreeBSD</para>
        </question>

        <answer>
	  <para>El libro de Greg Lehey's ``Installing and Running FreeBSD''
	  est&aacute; disponible en Walnut Creek y se vende con el CDROM 2.2.5.
	  Hay tambi&eacute;n un libro m&aacute;s completo titulado ``The
	  Complete FreeBSD'', el cual tiene manuales adicionales e incluye el
	  CDROM 2.2.6. Deber&iacute;a estar disponible en las mejores
	  librer&iacute;as.</para>
  
	  <para>Hay un proyecto de documentaci&oacute;n de FreeBSD con el que
	  puedes contactar (o mejor, participar), en la lista de
	  distribuci&oacute;n <emphasis remap=tt>doc</emphasis>:
	  <ulink URL="mailto:doc@FreeBSD.org">&lt;doc@FreeBSD.org&gt;</ulink>.
	  En esta lista se tratan todos los temas referentes a la
	  documentaci&oacute;n de FreeBSD. Para verdaderas preguntas sobre
	  FreeBSD, existe la lista <emphasis remap=tt>question</emphasis>:
	  <ulink URL="mailto:questions@FreeBSD.org">&lt;questions@FreeBSD.org&gt;</ulink>.
	  </para>
  
	  <para>Est&aacute; disponible un ``manual'' (handbook a patir de ahora)
	  de FreeBSD, y se puede encontrar en:
	  <ulink URL="../../handbook/index.html">El Handbook de FreeBSD</ulink>.
	  Ten en cuenta que &eacute;ste es un trabajo en constante desarrollo y
	  actualizaci&oacute;n, por lo que algunas secciones podr&iacute;an
	  estar incompletas.</para>
  
	  <para>Teniendo en cuenta que FreeBSD 2.2.x est&aacute; basado en la
	  versi&oacute;n Berkeley 4.4BSD-Lite2, la mayor&iacute;a de manuales
	  de 4.4BSD con aplicables a FreeBSD 2.2.x. O'Reilly y Asociados
	  publican estos manuales:</para>
  
          <para>
            <itemizedlist>
              <listitem>
                <para>4.4BSD System Manager's Manual <!-- <br> -->
                By Computer Systems Research Group, UC Berkeley <!-- <br> -->
                1st Edition June 1994, 804 pages <!-- <br> -->
                ISBN: 1-56592-080-5 <!-- <br> -->
                </para>
              </listitem>

              <listitem>
                <para>4.4BSD User's Reference Manual <!-- <br> -->
                By Computer Systems Research Group, UC Berkeley <!-- <br> -->
                1st Edition June 1994, 905 pages <!-- <br> -->
                ISBN: 1-56592-075-9 <!-- <br> -->
                </para>
              </listitem>

              <listitem>
                <para>4.4BSD User's Supplementary Documents <!-- <br> -->
                By Computer Systems Research Group, UC Berkeley <!-- <br> -->
                1st Edition July 1994, 712 pages <!-- <br> -->
                ISBN: 1-56592-076-7 <!-- <br> -->
                </para>
              </listitem>

              <listitem>
                <para>4.4BSD Programmer's Reference Manual <!-- <br> -->
                By Computer Systems Research Group, UC Berkeley <!-- <br> -->
                1st Edition June 1994, 886 pages <!-- <br> -->
                ISBN: 1-56592-078-3 <!-- <br> -->
                </para>
              </listitem>

              <listitem>
                <para>4.4BSD Programmer's Supplementary Documents <!-- <br> -->
                By Computer Systems Research Group, UC Berkeley <!-- <br> -->
                1st Edition July 1994, 596 pages <!-- <br> -->
                ISBN: 1-56592-079-1 <!-- <br> --></para>
              </listitem>
            </itemizedlist>
          </para>
  
	  <para>Una descripci&oacute;n de &eacute;stos puede ser encontrada
	  v&iacute;a WWW en:</para>
  
	  <para><ulink URL="http://gnn.com/gnn/bus/ora/category/bsd.html">Descripci&oacute;n de libros sobre 4.4BSD</ulink></para>
  
	  <para>Para profundizar m&aacute;s en la organizacion del kernel de
	  4.4BSD, no puedes ir mal con los siguientes:</para>
  
          <para>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
          and John Quarterman.<!-- <br> --></para>
  
          <para><emphasis>The Design and Implementation of the 4.4BSD Operating
          System</emphasis>.  Reading, Mass. : Addison-Wesley, 1996.<!-- <br> -->
          ISBN 0-201-54979-4<!-- <br> --></para>
  
          <para>Un buen libro en administraci&oacute;n de sistemas es:</para>
  
          <para>Evi Nemeth, Garth Snyder, Scott Seebass &amp; Trent R. Hein,<!-- <br> -->
          ``Unix System Administration Handbook'', Prentice-Hall, 1995<!-- <br> -->
          ISBN: 0-13-151051-7<!-- <br> --></para>
  
          <para><acronym>NOTA</acronym> Asegurate de conseguir la segunda edici&oacute;n, con 
          cubierta roja y no la primera.</para>
  
	  <para>Este libro cubre las necesidades b&aacute;sicas, as&iacute;
	  como TCP/IP, DNS, NFS,SLIP/PPP, sendmail, INN/NNTP, impresi&oacute;n,
	  etc,.  Es caro, (aproximadamente unos US&#36;45-&#36;55), pero vale
	  la pena.  Tambi&eacute;n incluye un CD-ROM con los fuentes de varias
	  herramientas, muchas de las cuales est&aacute;n incluidas,
	  tambi&eacute;n, en la versi&oacute;n 2.2.6R (CDROM) de FreeBSD,
	  incluso incluyendo versiones m&aacute;s modernas.</para>  
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
	  <para>&iquest;C&oacute;mo accedo a la base de datos de Problem
	  Report?</para>
        </question>

        <answer>
	  <para>La base de datos de Problem Report puede ser consultada
	  v&iacute;a web a traves de la direcci&oacute;n
	  <ulink URL="http://www.FreeBSD.org/cgi/query-pr-summary.cgi">query</ulink>.
	  Tambi&eacute;n pueden ser enviados v&iacute;a web a trav&eacute;s de
	  la direcci&oacute;n <ulink URL="http://www.FreeBSD.org/send-pr.html">envio</ulink>.
	  El comando <command>send-pr(1)</command> tambi&eacute;n puede ser
	  usado para el env&iacute;o de reporte de problemas.</para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
	  <para>&iquest;D&oacute;nde puedo obtener versiones ASCII/PostScript
	  de la FAQ?</para>
        </question>

        <answer>
          <para>La FAQ actualizada est&aacute; disponible en el servidor Web de 
          FreeBSD o en cualquiera de los mirrors en formato PostScript y texto 
          (7 bits ASCII y 8 bits Latin-1).</para>
  
          <para>Formato PostScript (unos 370KB):
            <itemizedlist>
              <listitem>
                <para><ulink URL="http://www.FreeBSD.org/FAQ/FAQ.ps">http://www.FreeBSD.org/FAQ/FAQ.ps</ulink></para>
              </listitem>
            </itemizedlist>
          </para>
  
          <para>Formato ASCII (unos 220KB):
            <itemizedlist>
              <listitem>
                <para><ulink URL="http://www.FreeBSD.org/FAQ/FAQ.ascii">http://www.FreeBSD.org/FAQ/FAQ.ascii</ulink></para>
              </listitem>
            </itemizedlist>
          </para>
  
          <para>Formato texto ISO 8859-1 (unos 220KB):
            <itemizedlist>
              <listitem>
                <para><ulink URL="http://www.FreeBSD.org/FAQ/FAQ.latin1">http://www.FreeBSD.org/FAQ/FAQ.latin1</ulink></para>
              </listitem>
            </itemizedlist>
          </para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
	  <para>&iquest;D&oacute;nde puedo obtener versiones ASCII/PostScript
	  del Handbook?</para>
        </question>

      <answer>
	<para>El Hansbook actualizado est&aacute; disponible en el servidor Web
	de FreeBSD o en cualquiera de los mirrors en formato PostScript y texto
	(7 bits ASCII y 8 bits Latin-1).</para>
  
        <para>Formato PostScript (unos 1.7MB):
          <itemizedlist>
            <listitem>
              <para><ulink URL="http://www.FreeBSD.org/handbook/handbook.ps">http://www.FreeBSD.org/handbook/handbook.ps</ulink></para>
            </listitem>
          </itemizedlist>
        </para>
  
        <para>Formato ASCII (unos 1080KB):
          <itemizedlist>
            <listitem>
              <para><ulink URL="http://www.FreeBSD.org/handbook/handbook.ascii">http://www.FreeBSD.org/handbook/handbook.ascii</ulink></para>
            </listitem>
          </itemizedlist>
        </para>
  
        <para>Formato texto ISO 8859-1 (unos 1080KB):
          <itemizedlist>
            <listitem>
              <para><ulink URL="http://www.FreeBSD.org/handbook/handbook.latin1">http://www.FreeBSD.org/handbook/handbook.latin1</ulink></para>
            </listitem>
          </itemizedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>El Handbook en ASCII no est&aacute; en texto plano!</para>
      </question>

      <answer>
        <para>Cierto, las versiones ASCII y Latin1 del Handbook no est&aacute;n 
        estrictamente en formato de texto plano; contienen car&aacute;cteres de
        control de impresi&oacute;n asumiendo que el documento ser&aacute; 
        enviado a una impresora. Si necesitas tenerlos en un formato leible, 
        pasa el archivo por el programa col:</para>
  
        <para>
          <literallayout>          
$ col -b &lt; inputfile &gt; outputfile
          </literallayout>
        </para>  
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Me gustar&iacute;a ser Mirror del web de FreeBSD!</para>
      </question>
 
      <answer>
        <para>Hay m&uacute;ltiples maneras de hacer mirror de las p&aacute;ginas web.</para>
        <para>
          <itemizedlist>
            <listitem>
	      <para>Usando CVSUP: Puedes obtener todo el contenido del web
	      usando el programa CVSUP desde el servidor cvsup.FreeBSD.org.
	      A&ntilde;ade esta l&iacute;nea a tu archivo de
	      configuraci&oacute;n de cvsup:

              <literallayout>
www release=current hostname=/home base=/usr/local/etc/cvsup
prefix=/usr/local/www/data/www.FreeBSD.org delete old use-rel-suffix
              </literallayout>

              </para>
            </listitem>

            <listitem>
	      <para>Usando rsync: Mira en
	      <ulink URL="http://www.FreeBSD.org/internal/mirror.html">la
	      p&aacute;gina de mirrors</ulink> para m&aacute;s
	      informaci&oacute;n.</para>
            </listitem>

            <listitem>
	      <para>Usando mirror de FTP: Puedes bajarte la copia de los
	      contenidos del web usando tu herramienta favorita de mirror de
	      FTP. Simplemente empieza en
	      ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www.</para>
            </listitem>
          </itemizedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Me gustar&iacute;a traducir la documentaci&oacute;n.</para>
      </question>

      <answer>
	<para>Bueno, no podemos pagar, pero quiz&aacute;s te enviemos un CD-ROM
	o una camiseta y a&ntilde;adiremos tu nombre en la secci&oacute;n
	``Contributors'' del Handbook si nos env&iacute;as una traducci&oacute;n
	de la documentaci&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Otras fuentes de informaci&oacute;n.</para>
      </question>

      <answer>
        <para>Los siguientes grupos de news contienen temas relacionados con
        FreeBSD y sus usuarios:</para>
  
        <para>
          <itemizedlist>
            <listitem>
              <para><ulink URL="news:comp.unix.bsd.FreeBSD.announce">comp.unix.bsd.FreeBSD.announce</ulink> (moderada)
              </para>
            </listitem>

            <listitem>
              <para><ulink URL="news:comp.unix.bsd.FreeBSD.misc">comp.unix.bsd.FreeBSD.misc</ulink>
              </para>
            </listitem>

            <listitem>
              <para><ulink URL="comp.unix.bsd.misc">comp.unix.bsd.misc</ulink></para>
            </listitem>          
          </itemizedlist>
        </para>
  
        <para>Recursos Web:</para>
  
        <para>
          <itemizedlist>
            <listitem>
              <para>The <ulink URL="http://www.FreeBSD.org/">FreeBSD Home Page</ulink>.</para>
            </listitem>

            <listitem>
	      <para><anchor id="pao">Si tienes un port&aacute;til asegurate de
	      pasar por <ulink URL="http://www.jp.FreeBSD.org/PAO/">Tatsumi
	      Hosokawa's Mobile Computing page</ulink>.</para>
            </listitem>

            <listitem>
	      <para><anchor id="smp">Informaci&oacute;n sobre SMP (Symmetric
	      MultiProcessing),
	      <ulink URL="http://www.FreeBSD.org/~fsmp/SMP/SMP.html">soporte de
	      SMP</ulink>.</para>
            </listitem>

            <listitem>
	      <para><anchor id="multimedia">Informaci&oacute;n sobre
	      aplicaciones <ulink URL="http://www.FreeBSD.org/~faulkner/multimedia/mm.html">multimedia</ulink>.
	      Si est&aacute;s interesado espec&iacute;ficamente en el chip
	      <ulink URL="http://www.FreeBSD.org/~ahasty/Bt848.html">Bt848</ulink>
	      de v&iacute;deo captura, entonces sigue este link.</para>
            </listitem>
          </itemizedlist>
        </para>
  
	<para>El handbook de FreeBSD tiene una completa bibliograf&iacute;a en
	la secci&oacute;n <ulink URL="../../handbook/bibliography.html">bibliograf&iacute;a</ulink>
	la cual recomendamos leer si est&aacute;s interesado en comprar libros
	actuales relacionados con estos temas.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="install">
  <title>Instalaci&oacute;n</title>
    
  <qandaset>
    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; archivo necesito para instalar FreeBSD?</para>
      </question>
     
      <answer>
	<para>Generalmente s&oacute;lo es necesario un disco de 1,44Mb con una
	imgen del archivo <filename>floppies/boot.flp</filename>. Arranca con
	este disco para comenzar con el programa de instalaci&oacute;n, el cual
	se encargar&aacute; de realizar todas las operaciones necesarias
	(gesti&oacute;n de TCP/IP, cintas, CDROMs, floppies, particiones DOS y
	cualquier cosa necesaria para realizar la instalaci&oacute;n).</para>
  
	<para>Si necesitas bajarte las distribuciones (para una
	instalaci&oacute;n desde una partici&oacute;n DOS por ejemplo), estas
	son las distribuciones m&iacute;nimas que necesitar&aacute;s:</para>
  
        <para>
          <itemizedlist>
            <listitem>
              <para> bin/<!-- <br> --></para>
            </listitem>

            <listitem>
              <para> manpages/<!-- <br> --></para>
            </listitem>

            <listitem>
              <para> compat*/<!-- <br> --></para>
            </listitem>

            <listitem>
              <para> doc/ <!-- <br> --></para>
            </listitem>

            <listitem>
              <para> src/ssys.* <!-- <br> --></para>
            </listitem>
          </itemizedlist>
        </para>
  
        <para>Todas las instrucciones sobre este procedimiento y una 
        ampliaci&oacute;n de la documentaci&oacute;n se puede encontrar en 
        <ulink URL="../../handbook/install.html">Instalaci&oacute;n de FreeBSD.</ulink>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iexcl;Ayuda!, La imagen del disco de arranque no cabe en un
	floppy</para>
      </question>

      <answer>
	<para>Un floppy de 1.44MB puede contener hasta 1474560 bytes de datos.
	La imagen de arranque es exactamente de 1474560 bytes.</para>
	
	<para>Los errores m&aacute;s comunes en la preparaci&oacute;n de disco
	de arranque son:
        <itemizedlist>
          <listitem>
	    <para>No bajarse la imagen en modo
	    <emphasis remap=tt>binario</emphasis> cuando se usa
	    <acronym>FTP</acronym>.</para>

	    <para>Algunos clientes FTP intentan bajar por defecto los archivos
	    en modo <acronym>ASCII</acronym> e intentan cambiar los caracteres
	    de final de l&iacute;nea recibidos por el que utilice el sistema
	    cliente.  Esto corromper&aacute; inevitablemente la imagen de
	    arranque. Revisa el tama&ntilde;o de la imagen: si no es
	    <emphasis>exactamente</emphasis> el mismo tama&ntilde;o del archivo
	    existente en el servidor, la imagen no servir&aacute;.</para>

	    <para>Soluci&oacute;n: teclea <emphasis remap=tt>binary</emphasis>
	    en la l&iacute;nea de comandos del FTP despu&eacute;s de conectar y
	    antes de empezar a bajar la im&aacute;gen.</para>
	    
	    <para></para>
          </listitem>

          <listitem>
	    <para>Usando el comando <emphasis remap=tt>copy</emphasis> de DOS
	    (o cualquier herramienta GUI equivalente) para transferir la imagen
	    a un disquete.</para>

	    <para>Programas como <emphasis remap=tt>copy</emphasis> no
	    funcionar&aacute;n para la transferencia de la imagen a un
	    disco. La imagen tiene el contenido completo del disco,
	    pista por pista, y no est&aacute; pensada para ser trasladada a un
	    disquete como un archivo normal. Tienes que hacer una transferencia
	    ``raw'' usando herramientas de bajo nivel como
	    <emphasis remap=tt>fdimage</emphasis> o
	    <emphasis remap=tt>rawrite</emphasis>, descritas en
	    <ulink URL="../../handbook/install.html">la gu&iacute;a de
	    instalaci&oacute;n de FreeBSD</ulink>.</para>
          </listitem>
        </itemizedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;D&oacute;nde puedo encontrar las instrucciones de
	instalaci&oacute;n de FreeBSD?</para>
      </question>

      <answer>
        <para>Las instrucciones de instalaci&oacute;n est&aacute;n en
        <ulink URL="../../handbook/install.html">Instalaci&oacute;n de FreeBSD.</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; necesito para poder ejecutar FreeBSD?</para>
      </question>

      <answer>
	<para>Necesitar&aacute;s un PC con 386 o superior, 5 Mb o m&aacute;s de
	memoria RAM y al menos 60 Mb de espacio en disco duro. Puede funcionar
	con tarjetas gr&aacute;ficas de bajo nivel (Hercules), pero para poder
	ejecutar X11R6 es necesario una tarjeta VGA o superior.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>S&oacute;lo tengo 4Mb de RAM. &iquest;Puedo instalar
	FreeBSD?</para>
      </question>

      <answer>
	<para>FreeBSD 2.1.7 fue la &uacute;ltima version de FreeBSD que
	pod&iacute;a ser instalada en un sistema de 4Mb. Las nuevas versiones
	de FreeBSD, como la 2.2, necesitan al menos 5Mb para poder ser
	instaladas.</para>
  
	<para>Todas las versiones de FreeBSD, incluyendo la 3.0,
	funcionar&aacute;n en sistemas con 4Mb de RAM, lo que no puedes
	ejecutar es la instalaci&oacute;n en sistemas con 4Mb. Puedes
	a&ntilde;adir memoria extra para el proceso de instalaci&oacute;n, y
	una vez instalado, volver a los 4Mb. Tambien puedes instalar tu disco
	en una m&aacute;quina con m&aacute;s de 4Mb, realizar la
	instalaci&oacute;n y reponer el disco en su m&aacute;quina con
	4Mb.</para>
  
	<para>Hay algunas situaciones en las que FreeBSD 2.1.7 no se
	instalar&aacute; en sistemas con 4Mb. Para ser exactos: no se
	instalar&aacute; con 640Kb de memoria base + 3Mb de memoria extendida.
	Si tu placa base puede remapear algo de la memoria ``perdida'' fuera de
	los 640Kb a la regi&oacute;n de 1Mb, entonces aun podr&aacute;s
	instalar FreeBSD 2.1.7.</para>
  
	<para>Intenta entrar en el setup de tu BIOS y busca la opci&oacute;n
	``remap''.  Act&iacute;vala. Quiz&aacute;s tendr&aacute;s que
	desactivar la opci&oacute;n de ROM shadowing.</para>
  
	<para>Es m&aacute;s f&aacute;cil a&ntilde;adir en la m&aacute;quina 4Mb
	de memoria para la instalaci&oacute;n. Crea un kernel unicamente con
	las opciones que necesites y vuelve a quitar los 4Mb
	a&ntilde;adidos.</para>
  
	<para>Tambi&eacute;n puedes instalar la versi&oacute;n 2.0.5 y a
	continuaci&oacute;n actualizar tu sistema a la 2.1.7 con la
	opci&oacute;n ``upgrade'' del programa de instalaci&oacute;n de la
	versi&oacute;n 2.1.7.</para>
  
	<para>Despu&eacute;s de la instalaci&oacute;n, si te creas un kernel
	personalizado, funcionar&aacute; en 4Mb. Algunos fueron capaces de
	arrancar con 2Mb (aunque despu&eacute;s el sistema era incapaz de hacer
	nada m&aacute;s :-)) </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;C&oacute;mo puedo hacer mi propio disco de
	instalaci&oacute;n?</para>
      </question>

      <answer>
	<para>Realmente, no hay una manera para
	<emphasis>s&oacute;lo</emphasis> hacer un disco de instalaci&oacute;n
	personalizado. Hay alg&uacute;n c&oacute;digo en
	<filename>/usr/src/release/floppies/Makefile</filename> que
	supuestamente es para hacer <emphasis>s&oacute;lo</emphasis> un disco
	de instalaci&oacute;n personalizado, pero no est&aacute; realmente
	testeado todav&iacute;a.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Puedo tener m&aacute;s de un sistema operativo en mi
	PC?</para>
      </question>

      <answer>
	<para>Echa un vistazo en
	<ulink URL="../tutorials/multios/multios.html">La p&aacute;gina
	multi-OS.</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puede Windows 95 coexistir con FreeBSD?</para>
      </question>

      <answer>
	<para>Instala primero Windows 95 y despu&eacute;s FreeBSD. El boot
	manager de FreeBSD se encargar&aacute; de darte la opci&oacute;n de
	arrancar con cualquiera de los dos sistemas. Si lo haces al
	rev&eacute;s, Windows 95 borrar&aacute; el boot manager sin hacer
	ninguna pregunta previa. Si ocurre esto, pasa a la siguiente
	secci&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>Windows 95 desinstal&oacute; mi boot manager! &iquest;C&oacute;mo
	lo recupero?
        </para>
      </question>

      <answer>
        <para>Puedes reinstalar el boot manager que viene con FreeBSD de dos 
        maneras:</para>
  
        <para>
          <itemizedlist>
            <listitem>
	      <para>Ejecutando el DOS, entra en el directorio
	      <filename>tools/</filename> de tu distribuci&oacute;n de FreeBSD
	      y busca el archivo <filename>bootinst.exe</filename>.
	      Ejec&uacute;talo de la siguiente manera:</para>

              <para><emphasis remap=bf>bootinst.exe boot.bin</emphasis></para>

              <para></para>

              <para>Y el boot manager estar&aacute; reinstalado.</para>

	      <para>Arranca con el disco de instalaci&oacute;n de FreeBSD y
	      entra en la secci&oacute;n ``Custom Installation''. Selecciona
	      ``Partition''. Escoge el disco en el cual debe estar instalado el
	      boot manager, y cuando entres en el editor de particiones, sin
	      hacer ning&uacute;n cambio, selecciona (W)rite. Ser&aacute;s
	      preguntado para confirmar la acci&oacute;n, responde
	      ``s&iacute;'', y cuando est&eacute;s en la ventana de ``Boot
	      manager selection'' aseg&uacute;rate de seleccionar ``Boot
	      Manager''. Esto reescribir&aacute; el boot manager en el disco.
	      Ahora, sal del programa de instalaci&oacute;n y rearranca el
	      computador de la manera habitual.</para>
            </listitem>
          </itemizedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Puedo instalar FreeBSD en un disco con sectores
	err&oacute;neos?</para>
      </question>

      <answer>
	<para>La gesti&oacute;n de sectores err&oacute;neos por parte de
	FreeBSD no est&aacute; desarrollada todav&iacute;a al 100% y
	desgraciadamente debemos decirte que si tienes discos IDE o ESDI con
	gran cantidad de sectores err&oacute;neos, FreeBSD no es para
	t&iacute;. De todas maneras, te aconsejamos que antes de descartar la
	instalaci&oacute;n, hagas un intento.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>Ocurren cosas extra&ntilde;as cuando arranco con el disco de
	instalaci&oacute;n
        </para>
      </question>

      <answer>
	<para>Si observas cosas como que la maquina se ``cuelga'' o se
	reinicializa espont&aacute;neamente cuando intentas arrancar con el
	disco de instalaci&oacute;n, aqu&iacute; tienes tres preguntas que
	debes responder tu mismo:</para>
  
        <para>
          <orderedlist>
            <listitem>
	      <para>&iquest;Est&aacute;s usando un disco nuevo, reci&eacute;n
	      formateado y libre de errores, o est&aacute;s usando el disco de
	      publicidad que ven&iacute;a con la revista que lleva guardada
	      varios meses debajo de la cama?</para>
            </listitem>

            <listitem>
	      <para>&iquest;Descargaste por ftp la imagen del disco en modo
	      binario?...  (no te preocupes ya que hasta el mejor de nosotros,
	      por lo menos una vez, ha descargado un archivo en modo
	      ASCII).</para>
            </listitem>

            <listitem>
	      <para>Si est&aacute;s usando uno de esos nuevos sistemas
	      operativos como Windows 95 o Windows NT, debes arrancar la
	      m&aacute;quina en modo DOS puro, ya que parece ser que los
	      Windows no se llevan bien con los programas que escriben
	      directamente sobre los dispositivos hardware, como hace el
	      programa de creaci&oacute;n de discos de instalaci&oacute;n de
	      FreeBSD.</para>
            </listitem>
          </orderedlist>
        </para>
  
	<para>Han habido informaciones referentes a problemas al bajar el disco
	de instalaci&oacute;n con Netscape, por lo que te recomentados que uses
	un programa diferente como cliente de ftp.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iexcl;Ayuda! &iexcl;No puedo instalar desde una cinta!</para>
      </question>

      <answer>
	<para>Si est&aacute;s instalando la versi&oacute;n 2.1.7R desde una
	cinta, debes crear esa cinta con un tama&ntilde;o de bloque de tar de
	10 (5120 bytes). El tama&ntilde;o por defecto de los bloques tar es de
	20 (10240 bytes), y las cintas creadas con este tama&ntilde;o por
	defecto no pueden ser usadas para instalar FreeBSD 2.1.7R; con estas
	cintas tendr&aacute;s un error referente a un tama&ntilde;o de registro
	demasiado grande.</para>  
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>Conexi&oacute;n de dos m&aacute;quinas FreeBSD v&iacute;a puerto
	paralelo (PLIP)
        </para>
      </question>

      <answer>
	<para>Coge un cable de laplink y asegurate que ambos computadores tienen
	un kernel que soporta el puerto paralelo.</para>
  
        <para>
          <literallayout>      
$ dmesg | grep lp
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
          </literallayout>
        </para>
  
        <para>Conecta el cable en los dos puertos paralelos.</para>
  
	<para>Configura los par&aacute;metros de red para el interfaz lp0 (como
	root) en ambas m&aacute;quinas. Por ejemplo, si quieres conectar la
	m&aacute;quina max y moritz:</para>
  
        <para>
          <literallayout>                 
max &lt;-----&gt; moritz
Direccion IP   10.0.0.1      10.0.0.2
          </literallayout>
        </para>
  
        <para>En el arranque de max
          <literallayout>        
# ifconfig lp0 10.0.0.1 10.0.0.2
          </literallayout>
        </para>
  
        <para>En el arranque de moritz</para>
  
        <para>
          <literallayout>        
# ifconfig lp0 10.0.0.2 10.0.0.1
          </literallayout>
        </para>
  
        <para>Esto es todo!!. Por favor, lee los man de lp(4) y lpt(4).</para>
  
	<para>Tambi&eacute;n deber&iacute;as a&ntilde;adir las m&aacute;quinas
	en el archivo /etc/hosts:</para>
  
        <para>
          <literallayout>     
127.0.0.1               localhost.my.domain localhost
10.0.0.1                max.my.domain max
10.0.0.2                moritz.my.domain moritz
          </literallayout>
        </para>
  
        <para>Para asegurarte que funciona haz:</para>
  
        <para>en max:</para>
  
        <para>
          <literallayout>
$ ifconfig lp0
lp0: flags=8851&lt;UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
        inet 10.0.0.1 --&gt; 10.0.0.2 netmask 0xff000000
          </literallayout>
        </para>
  
        <para>
          <literallayout>
$ netstat -r
Routing tables

Internet:
Destination        Gateway            Flags     Refs     Use     Netif Expire
moritz              max              UH          4   127592       lp0
          </literallayout>
        </para>
  
        <para>
          <literallayout>
$ ping -c 4 moritz
PING moritz (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms

--- moritz ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
          </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Puedo instalar FreeBSD en mi port&aacute;til sobre PLIP
	(Parallel Line IP)?</para>
      </question>

      <answer>
	<para>Conecta los dos computadores usando Laplink mediante el puerto
	paralelo y usa las siguientes caracter&iacute;sticas:</para>
  
        <para>
          <literallayout>            
+----------------------------------------+
|A-name A-End   B-End   Descr.  Port/Bit |
+----------------------------------------+
|DATA0  2       15      Data    0/0x01   |
|-ERROR 15      2               1/0x08   |
+----------------------------------------+
|DATA1  3       13      Data    0/0x02   |
|+SLCT  13      3               1/0x10   |
+----------------------------------------+
|DATA2  4       12      Data    0/0x04   |
|+PE    12      4               1/0x20   |
+----------------------------------------+
|DATA3  5       10      Strobe  0/0x08   |
|-ACK   10      5               1/0x40   |
+----------------------------------------+
|DATA4  6       11      Data    0/0x10   |
|BUSY   11      6               1/0x80   |
+----------------------------------------+
|GND    18-25   18-25   GND -            |
+----------------------------------------+
          </literallayout>
        </para>
  
	<para>Mira tambi&eacute;n <link linkend="pao">esta nota</link> en la
	p&aacute;gina de inform&aacute;tica m&oacute;vil.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="geometry">
        <para>&iquest;Que geometr&iacute;a debo usar para mis discos?</para>
      </question>

      <answer>
	<para>(Por geometr&iacute;a de un disco, entendemos el n&uacute;mero de
	cilindros, cabezales y sectores por pista en el disco - de ahora en
	adelante nos referiremos por conveniencia a estos par&aacute;metros
	como C/H/S.  As&iacute; es como trabaja el BIOS de los PC's para
	gestionar la lectura/escritura.</para>
  
	<para>Por alguna raz&oacute;n, esto parece crear mucha
	confusi&oacute;n.  Ante todo, la geometr&iacute;a
	<emphasis remap=tt>f&iacute;sica</emphasis> de un disco SCSI es
	totalmente irrelevante ya que FreeBSD trabaja en t&eacute;rminos de
	bloques de disco. Con discos IDE, FreeBSD trabaja en t&eacute;rminos de
	C/H/S, pero todos los discos modernos convierten estos datos en
	referencias internas de bloques.</para>
  
	<para>Para discos SCSI, la geometr&iacute;a a usar depende de si
	tenemos activado en la controladora el soporte de translaci&oacute;n
	(comunmente conocido como "soporte para discos mayores de 1GB" o
	algo similar). Si esta opci&oacute;n est&aacute; desactivada, entonces
	usa N cilindros, 64 cabezales y 32 sectores por pista, donde N es la
	capacidad del disco en MB. Por ejemplo, para un disco de 2GB, los
	par&aacute;metros correctos ser&iacute;an 2048 cilindros, 64 cabezales
	y 32 sectores.</para>
  
	<para>Si el soporte de translaci&oacute;n est&aacute; activado y la
	capacidad del disco es mayor de 1GB, usa M cilindros, 63 cabezales
	(*no* 64), y 255 sectores, donde M es la capacidad del disco en MB
	dividida por 7.844238. Para nuestro ejemplo de un disco de 2GB, los
	par&aacute;metros ser&iacute;an 261 cilindros, 62 cabezales y 255
	sectores.</para>
  
	<para>Si no est&aacute;s seguro sobre los par&aacute;metros a usar, o
	FreeBSD falla al detectar la geometr&iacute;a correcta del disco
	durante la instalaci&oacute;n, el m&eacute;todo m&aacute;s simple para
	solucionar este problema es crear una peque&ntilde;a partici&oacute;n
	DOS en el disco.  Entonces, la geometr&iacute;a deber&iacute;a ser
	detectada correctamente (y siempre puedes borrar esa partici&oacute;n
	desde el ``editor de particiones'' si no quieres mantenerla).</para>
  
	<para>Alternativamente, existe una utilidad de libre
	distribuci&oacute;n incluida en FreeBSD llamada
	<filename>pfdisk.exe</filename> (situada en el directorio
	<emphasis remap=tt>tools</emphasis> del CD-ROM de distribuci&oacute;n o
	en cualquiera de los servidores ftp) que nos dice la geometr&iacute;a
	del disco usada por el sistema operativo DOS. Lo &uacute;nico que
	tenemos que hacer es introducir los datos obtenidos en el editor de
	particiones de FreeBSD.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Existe alguna restricci&oacute;n en c&oacute;mo dividir
	el disco?</para>
      </question>

      <answer>
	<para>S&iacute;. Debes asegurarte de que la partici&oacute;n raiz esta
	por debajo del cilindro 1024, para que el BIOS pueda arrancar el kernel
	desde ella.  (&Eacute;sta es una limitaci&oacute;n del BIOS de los PCs,
	no de FreeBSD).</para>
  
	<para>Para discos SCSI, esto implica que la partici&oacute;n
	ra&iacute;z debe estar instalada en los primeros 1024MB (o en los
	primeros 4096MB si la translaci&oacute;n extendida esta activada). Para
	discos IDE, la partici&oacute;n ra&iacute;z debe estar en los primeros
	504MB.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; hay sobre los ``disk managers''?</para>
      </question>

      <answer>
        <para>FreeBSD reconoce el disk manager Ontrack. Otros disk managers no
        est&aacute;n soportados.</para>
  
	<para>Si quieres usar el disco solo con FreeBSD no necesitas el disk
	manager. Solo configura el disco para el espacio m&aacute;ximo que
	pueda manejar el BIOS (usualmente 504MB), y FreeBSD se encargar&aacute;
	de averiguar cu&aacute;nto espacio tienes realmente. Si est&aacute;s
	usando un disco antiguo con controladora MFM, necesitar&aacute;s
	decirle expl&iacute;citamente a FreeBSD cu&aacute;ntos cilindros puede
	usar.</para>
  
	<para>Si quieres usar el disco con FreeBSD y otro sistema operativo,
	todav&iacute;a puedes hacerlo sin necesitar un disk manager;
	s&oacute;lo aseg&uacute;rate de que la partici&oacute;n ra&iacute;z de
	FreeBSD y la partici&oacute;n de arranque del otro sistema operativo
	est&aacute;n en los primeros 1024 cilindros. Si eres cuidadoso, una
	partici&oacute;n raiz de 20MB deber&iacute;a ser suficiente.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="missing-os">
        <para>Cuando arranco FreeBSD obtengo ``Missing Operating System''</para>
      </question>

      <answer>
	<para>Esto es un cl&aacute;sico conflicto entre FreeBSD y DOS u otro
	sistema operativo sobre sus ideas de
	<link linkend="geometry">geometr&iacute;a.</link>.  Tendr&aacute;s que
	reinstalar FreeBSD, pero teniendo en cuenta la informaci&oacute;n que
	te damos m&aacute;s arriba sobre este asunto.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>No puedo pasar del prompt `F?'.</para>
      </question>

      <answer>
	<para>&Eacute;ste es otro problema descrito en el p&aacute;rrafo
	anterior. La geometr&iacute;a de tu BIOS y los datos de
	configuraci&oacute;n de FreeBSD no coinciden. Si tu controladora o BIOS
	soporta la translaci&oacute;n de cilindros (tambi&eacute;n conocido
	como "soporte para discos de m&aacute;s de 1GB"), intenta
	activar/desactivar esta opci&oacute;n y reinstala FreeBSD.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="bigram">
        <para>Tengo &gt;16MB de RAM. &iquest;Puede causar esto problemas?</para>
      </question>

      <answer>
	<para>Aparte del rendimiento, no. FreeBSD 2.X tiene buffers que
	permiten al ``bus mastering controller'' acceder a m&aacute;s de 16MB.
	(Esto s&oacute;lo es aplicable si est&aacute;s usando dispositivos
	ISA).</para>
  
        <para>Tambi&eacute;n mira la secci&oacute;n 
	<link linkend="reallybigram">m&aacute;quinas con &gt;64M</link> si
	tienes esta cantidad de memoria o si usas m&aacute;quinas Compaq u otro
	BIOS que no da correctamente la cantidad de memoria disponible.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Necesito instalar todo el c&oacute;digo fuente?</para>
      </question>

      <answer>
	<para>En general, no. De todas maneras, te recomendamos que instales,
	por lo menos, el kit de c&oacute;digo fuente
	<emphasis remap=tt>base</emphasis>, el cual incluye muchos de los
	archivos aqu&iacute; mencionados, y el kit
	<emphasis remap=tt>sys</emphasis>, que incluye el c&oacute;digo fuente
	del kernel. No hay nada en el sistema que requiera el c&oacute;digo
	fuente para funcionar, a excepci&oacute;n del programa de
	configuraci&oacute;n de kernel
	<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?config">config</ulink>.
	Con la excepci&oacute;n de las fuentes del kernel, nuestra estructura
	esta dise&ntilde;ada para que puedas montar una unidad en solo lectura
	via NFS en la que exista el c&oacute;digo fuente, y aun as&iacute;, ser
	capaz de compilar los nuevos binarios. (Debido a las restriciones de
	los fuentes del kernel, recomendamos que no montes estos en
	<filename>/usr/src</filename> directamente, sino en cualquier otra
	parte del disco con los links simb&oacute;licos apropiados para
	duplicar la estructura principal del &aacute;rbol de directorios
	original),</para> <para>Teniendo los fuentes on-line y sabiendo como
	crear un sistema con ellas (compilar), te haremos mucho mas
	f&aacute;cil la actualizaci&oacute;n a futuras versiones de
	FreeBSD.</para>
  
	<para>Para seleccionar aut&eacute;nticamente un subconjunto del
	c&oacute;digo fuente, usa la opci&oacute;n Custom del men&uacute; desde
	el men&uacute; Distributions de la herramienta de instalaci&oacute;n.
	El script <filename>src/install.sh</filename> instalar&aacute;
	s&oacute;lo partes de la distribuci&oacute;n del c&oacute;digo fuente
	dependiendo de los par&aacute;metros (argumentos) que se le
	pasen.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Necesito crear un nuevo kernel?</para>
      </question>

      <answer>
	<para>La creaci&oacute;n de un nuevo kernel era, originariamente, un
	paso requerido en la instalaci&oacute;n de FreeBSD, pero en las
	versiones m&aacute;s recientes nos hemos beneficiado de la
	introducci&oacute;n de una herramienta de configuraci&oacute;n de
	kernel mucho m&aacute;s amigable. Cuando en el prompt de arranque de
	FreeBSD (boot:), usamos el par&aacute;metro "-c", llegamos a una
	pantalla de configuraci&oacute;n visual la cual permite configurar las
	opciones del kernel para la mayor&iacute;a de tarjetas ISA.</para>
  
	<para>Todav&iacute;a es recomendable la creaci&oacute;n de un nuevo
	kernel conteniendo s&oacute;lo los drivers que nos sean necesarios para
	ahorrar un poco de RAM, pero no es estrictamente necesario para la
	mayor&iacute;a de sistemas.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>Vivo fuera de USA. &iquest;Puedo usar la encriptaci&oacute;n
	DES?</para>
      </question>

      <answer>
	<para>Si no es absolutamente necesario que uses la encriptaci&oacute;n
	DES, puedes usar la encriptaci&oacute;n por defecto de FreeBSD para una
	<emphasis remap=bf>mejor</emphasis> seguridad, y sin restricciones de
	importaci&oacute;n. La encriptaci&oacute;n por defecto de los passwords
	en FreeBSD est&aacute; basada en <emphasis remap=bf>MD5</emphasis>, y
	es necesario un mayor uso intensivo de CPU con programas de
	descubrimiento de passwords que en DES. La &uacute;nica raz&oacute;n
	para no usar hoy en d&iacute;a la encriptaci&oacute;n <emphasis
	remap=bf>MD5</emphasis> ser&iacute;a usar un sistema de passwords
	compartidos entre sistemas FreeBSD y no FreeBSD.</para>
  
	<para>Puesto que el algoritmo de encriptaci&oacute;n DES no puede ser
	legalmente exportado fuera de USA, los usuarios externos a USA NO
	deber&iacute;an descargar este software desde los servidores FTP
	situados en USA.</para>
  
	<para>Existe una alternativa para la biblioteca de encriptaci&oacute;n,
	basada en el c&oacute;digo escrito en Australia por David Burren. Este
	c&oacute;digo est&aacute; disponible en algunos mirrors de FreeBSD
	fuera de USA. El c&oacute;digo fuente de la biblioteca de
	encriptaci&oacute;n, y los binarios de los programas que la usan pueden
	encontrarse en los siguientes servidores FTP:</para>
  
        <para>
          <variablelist>
            <varlistentry>
              <term>
                South Africa
              </term>
              <listitem>
                <para><filename>ftp://ftp.internat.FreeBSD.org/pub/FreeBSD</filename>
                <filename>ftp://storm.sea.uct.ac.za/pub/FreeBSD</filename></para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                Brazil
              </term>
              <listitem>
                <para><filename>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</filename></para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                Finland
              </term>
              <listitem>
                <para><filename>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</filename></para>
              </listitem>
            </varlistentry>
          </variablelist>
        </para>
  
	<para>Los usuarios de fuera de USA no deben descargar ning&uacute;n
	software de encriptaci&oacute;n de servidores situados en USA, ya que
	de no seguir esta norma los responsables de esos servidores
	podr&iacute;an verse envueltos en importantes problemas legales.</para>
  
	<para>Se est&aacute; desarrollando una distribuci&oacute;n no
	estadounidense de Kerberos, cuyas versiones actuales pueden obtenerse
	v&iacute;a ftp an&oacute;nimo en
	<filename>braae.ru.ac.za</filename>.</para>
  
	<para>Existe tambi&eacute;n una <link linkend="mailing">lista de
	distribuci&oacute;n</link> para la discusi&oacute;n de software de
	encriptaci&oacute;n externo a USA. Para m&aacute;s informaci&oacute;n
	env&iacute;a un e-mail con una simple l&iacute;nea diciendo "<emphasis
	remap=tt>help</emphasis> en el cuerpo del mensaje a:</para>
  
        <para><email>majordomo@braae.ru.ac.za</email>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>El ``boot disc'' arranca pero se cuelga en la pantalla ``Probing
	Devices...''</para>
      </question>

      <answer>
	<para>Si tienes instalado un ZIP o un Jaz IDE, descon&eacute;ctalo e
	int&eacute;ntalo de nuevo. El disco de arranque puede haberse
	confundido con los discos.  Una vez el sistema est&eacute; instalado,
	puedes volver a conectar los dispositivos. Esperamos que esto sea
	arreglado en las pr&oacute;ximas releases.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>Aparece el siguiente error ``panic: can't mount root'' al
	reiniciar el computador despu&eacute;s de la instalaci&oacute;n</para>
      </question>

      <answer>
	<para>Este error proviene de la confusi&oacute;n entre los bloques de
	arranque y lo que ve el kernel en los discos. El error se suele
	manifestar en sistemas con dos discos IDE, con los discos duros
	dispuestos como m&aacute;ster o ''single'' en controladoras diferentes,
	estando FreeBSD instalado en la controladora IDE secundaria. Los
	bloques de arranque piensan que el sistema est&aacute; instalado en wd1
	(el segundo disco en el BIOS) mientras el kernel asigna el primer disco
	de la controladora secundaria wd2. Despu&eacute;s de la
	detecci&oacute;n de dispositivos, el kernel intenta montar lo que los
	bloques de arranque piensan que es el disco de arranque, wd1, cuando
	realmente es el wd2, y falla.</para>
  
	<para>Para solucionar el problema, haz una de las siguientes
	cosas:</para>
  
        <para>
          <orderedlist>
            <listitem>
              <para>En el prompt de arranque (boot:), pon
	      <emphasis remap=tt>1:wd(2,a)kernel</emphasis> y presiona Enter.
	      Si el sistema arranca, ejecuta el comando:
              <literallayout>
echo "1:wd(2,a)kernel" &gt; /boot.config
              </literallayout>
              para actualizar la cadena de arranque por defecto.</para>
            </listitem>

            <listitem>
	      <para>Mueve el disco de FreeBSD a la controladora IDE primaria
	      para que los discos sean consecutivos.</para>
            </listitem>

            <listitem>
	      <para><ulink URL="../../handbook/kernelconfig.html">Crea un nuevo
	      kernel,</ulink> modifica las l&iacute;neas de
	      configuraci&oacute;n de wd de la siguiente manera:
              <literallayout>
controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
disk            wd0     at wdc0 drive 0
# disk          wd1     at wdc0 drive 1 # comment out this line

controller      wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
disk            wd1     at wdc1 drive 0 # change from wd2 to wd1
disk            wd2     at wdc1 drive 1 # change from wd3 to wd2
              </literallayout>
	      Instala el nuevo kernel: Si moviste los discos y quieres
	      recuperar la configuraci&oacute;n previa, reemplaza los discos en
	      la configuraci&oacute;n deseada y rearranca el sistema. Tu
	      sistema deber&iacute;a arrancar sin problemas.</para>
            </listitem>
          </orderedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Cu&aacute;l es el l&iacute;mite de memoria?.</para>
      </question>

      <answer>
	<para>Para memoria, el l&iacute;mite (te&oacute;rico) es de 4
	gigabytes. Un gigabyte ha sido comprobado y funciona sin problemas:
	generalmente no se pueden comprar equipos i386 que soporten m&aacute;s
	cantidad de memoria.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Cu&aacute;l es el l&iacute;mite del sistema de archivos
	FFS?</para>
      </question>

      <answer>
	<para>Para sistemas de archivos FFS, el m&aacute;ximo te&oacute;rico
	est&aacute; en 8 terabytes (bloques de 2G), o 16TB para el
	tama&ntilde;o de bloque por defecto de 8K. En la pr&aacute;ctica hay un
	l&iacute;mite ``blando'' de 1 terabyte, pero con peque&aacute;as
	modificaciones son posibles (y existen) sistemas de archivos de 4
	terabytes.</para>
	
	<para>El tama&ntilde;o m&aacute;ximo de un &uacute;nico archivo FFS es
	aproximadamente de 1 Gbloque (4TB) si el tama&ntilde;o del bloque es
	de 4K.</para>
  
        <para>
          <literallayout>
maxfilesize
----------------------------------
                2.2.7    3.0
fs block size   -stable  -current  works  should-work
-------------   -------  --------  -----  -----------
4K              4T-1       4T-1    4T-1   4+T
8K              32+G       8T-1    32+G   16T-1
16K             128+G      16T-1   128+G  32T-1
32K             512+G      32T-1   512+G  64T-1
64K             2048+G     64T-1   2048+G 128T-1
          </literallayout>
        </para>

	<para>Cuando el tama&ntilde;o del bloque del sistema de archivos es de
	4K, los bloques triple-indirectos funcionan y el l&iacute;mite total
	deber&iacute;a venir determinado por el n&uacute;mero m&aacute;ximo de
	bloques que puede ser representado usando los bloques triple-indirectos
	(aproximadamente 1K^3 + 1K^2 + 1K), pero el l&iacute;mite total lo
	establece un l&iacute;mite (incorrecto) de 1G-1 en el n&uacute;mero de
	bloques. El l&iacute;mite en el n&uacute;mero de bloques deber&iacute;a
	ser de 2G-1, pero estos n&uacute;meros de bloque son inalcanzables
	cuando los bloques del sistema de archivos son de 4K.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;C&oacute;mo puedo poner archivos de 1TB en un
	disquete?</para>
      </question>

      <answer>
	<para>El tama&ntilde;o m&aacute;ximo de un archivo no depende
	directamente del tama&ntilde;o m&aacute;ximo del disco. El
	tama&ntilde;o m&aacute;ximo del disco es de 1TB. Es una ventaja que el
	tama&ntilde;o del archivo pueda ser mayor que el tama&ntilde;o del
	disco.</para>
  
	<para>El siguiente ejemplo crea un archivo con un tama&ntilde;o de 1TB
	usando 32K de espacio de disco (3 bloques indirectos y 1 bloque de
	datos) en una peque&ntilde;a partici&oacute;n ra&iacute;z.</para>
  
        <para>
          <literallayout>
ttyv0:bde@alphplex:/tmp/q&gt; cat foo
df .
dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
ls -l z
du z
df .
ttyv0:bde@alphplex:/tmp/q&gt; sh foo
Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
/dev/sd0a         64479    27702    31619    47%    /
1+0 records in
1+0 records out
1 bytes transferred in 0.000187 secs (5346 bytes/sec)
-rw-r--r--  1 bde  bin  8796093022207 Sep  7 16:04 z
32      z
Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
/dev/sd0a         64479    27734    31587    47%    /
ttyv0:bde@alphplex:/tmp/q&gt; exit
          </literallayout>
        </para>
  
        <para>Bruce Evans, septiembre de 1998</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>He compilado un nuevo kernel y al arrancar aparece el error
	"archsw.readin.failed".</para></question><answer>

	<para>Puedes arrancar especificando el kernel directamente en la
	segunda fase del boot, pulsando cualquier tecla cuando veas el
	s&iacute;mbolo | justo antes de que se arranque el cargador (loader).
	M&aacute;s espec&iacute;ficamente, has actualizado los fuentes para tu
	kernel, y lo has creado y actualizado a partir de ellos
	<emphasis>s&iacute;n hacer un ``make world''</emphasis>. As&iacute; no
	funciona. Haz un ``make world''.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="hardware">
  <title>Compatibilidad hardware </title>
  <qandaset>
    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; tipo de discos duros soporta FreeBSD?</para>
      </question>

      <answer>
        <para>FreeBSD soporta discos duros EIDE y SCSI (con controladoras
        compatibles; mira en la siguiente secci&oacute;n), y todos los discos
        que usen el interface original ``Western Digital'' (MFM, RLL, ESDI y
        por supuesto IDE). Algunas controladoras ESDI que usan interfaces
        propietarios quiz&aacute; no funcionen correctamente.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Qu&eacute; controladoras SCSI est&aacute;n
	soportadas?</para>
      </question>

      <answer>
        <para>FreeBSD soporta las siguientes controladoras SCSI:</para>
        <para>
          <variablelist>
            <varlistentry>
              <term>
                Adaptec
              </term>
              <listitem>
                <para>
                  AH-1505 &lt;ISA&gt;
                  AH-152x Series &lt;ISA&gt;
                  AH-154x Series &lt;ISA&gt;
                  AH-174x Series &lt;EISA&gt;
                  Sound Blaster SCSI (AH-152x compat) &lt;ISA&gt;
                  AH-2742/2842 Series &lt;ISA/EISA&gt;
                  AH-2820/2822/2825 Series (Narrow/Twin/Wide) &lt;VLB&gt;
                  AH-294x and aic7870 MB controllers (Narrow/Twin/Wide) &lt;PCI&gt;
                  AH-394x (Narrow/Twin/Wide)
                </para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry><term>Buslogic</term>
              <listitem>
                <para>
                  BT-445 Series &lt;VLB&gt;
                  BT-545 Series &lt;ISA&gt;
                  BT-742 Series &lt;EISA&gt;
                  BT-747 Series &lt;EISA&gt;
                  BT-946 Series &lt;PCI&gt;
                  BT-956 Series &lt;PCI&gt;
                </para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                Future Domain
              </term>
              <listitem>
                <para>
                  TMC-950 Series &lt;ISA&gt;
                </para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                PCI Generic
              </term>
              <listitem>
                <para>
                  NCR 53C81x based controllers &lt;PCI&gt;
                  NCR 53C82x based controllers &lt;PCI&gt;
                  NCR 53C860/75 based controllers &lt;PCI&gt;
                </para>
                <para></para>  
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                ProAudioSpectrum
              </term>
              <listitem>
                <para>
                  Zilog 5380 based controllers &lt;ISA&gt;
                  Trantor 130 based controllers &lt;ISA&gt;
                </para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                DTC
              </term>
              <listitem>
                <para>
                  DTC 3290 EISA SCSI in AHA-154x emulation.
                </para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                Seagate
              </term>
              <listitem>
                <para>
                  ST-01/02 Series &lt;ISA&gt;
                </para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                UltraStor
              </term>
              <listitem>
                <para>
                  UH-14f Series &lt;ISA&gt;
                  UH-24f Series &lt;EISA&gt;
                  UH-34f Series &lt;VLB&gt;
                </para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                Western Digital
              </term>
              <listitem>
                <para>
                  WD7000 &lt;ISA&gt; &lt;No scatter/gather&gt;
                </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; lectores CD-ROM soporta FreeBSD?</para>
      </question>

      <answer>
	<para>Est&aacute; soportado cualquier disco SCSI conectado a una
	controladora soportada</para>
  
	<para>Los siguientes interfaces de CD-ROM propietarios tambi&eacute;n
	est&aacute;n soportados:</para>
  
        <para>
          <itemizedlist>
            <listitem>
	      <para>Mitsumi LU002 (8bit), LU005 (16bit) and FX001D (16bit 2x
	      Speed).</para>
            </listitem>

            <listitem>
              <para>Sony CDU 31/33A<!-- <br> --></para>
            </listitem>

            <listitem>
              <para>Sound Blaster Non-SCSI CD-ROM<!-- <br> --></para>
            </listitem>

            <listitem>
              <para>Matsushita/Panasonic CD-ROM<!-- <br> --></para>
            </listitem>

            <listitem>
              <para>ATAPI compatible IDE CD-ROMs<!-- <br> --></para>
            </listitem>
          </itemizedlist>
        </para>
  
	<para>Todas las tarjetas no SCSI son conocidas por ser extremadamente
	lentas comparadas con los discos SCSI, y algunos CDROM ATAPI
	quiz&aacute; no funcionen correctamente.</para>
	
	<para>A partir de la versi&oacute;n 2.2 de FreeBSD en CDROM de Walnut
	Creek se soporta el arranque directo (boot) desde el propio CD.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Soporta FreeBSD discos ZIP?</para>
      </question>

      <answer>
	<para>FreeBSD soporta los ZIP SCSI externos. Las unidades ZIP
	s&oacute;lo pueden funcionar en los ID's SCSI 5 y 6, pero si el BIOS de
	tu controladora lo soporta, puedes arrancar desde &eacute;l. No sabemos
	qu&eacute; controladoras dejan arrancar desde ID's diferentes de la 0 o
	1...  mira en tu documentaci&oacute;n y h&aacute;zmelo saber si te
	funciona.</para>
  
	<para>Los discos Zip ATAPI (IDE) est&aacute;n soportados en FreeBSD
	2.2.6 y releases posteriores.</para>
  
	<para>FreeBSD ha incluido el soporte de discos ZIP por puerto paralelo
	desde la versi&oacute;n 3.0. Si est&aacute;s usando una versi&oacute;n
	actualizada, debes asegurarte de que tu configuraci&oacute;n del kernel
	incluye los drivers <emphasis remap=tt>scbus0</emphasis>, <emphasis
	remap=tt>da0</emphasis>, <emphasis remap=tt>ppbus0</emphasis> y
	<emphasis remap=tt>vp0</emphasis> (el kernel GENERIC los contiene todos
	excepto vp0).  Con todos estos drivers presentes, el disco por puerto
	paralelo deber&iacute;a estar disponible como /dev/da0s4. Los discos se
	pueden montar usando <command>mount /dev/da0s4 /mnt</command> o (para
	discos dos) <emphasis remap=tt>mount_msdos /dev/da0s4
	/mnt</emphasis>.</para>
  
	<para>Tambi&eacute;n mira en <link linkend="jaz">discos
	removibles</link>, y <link linkend="disklabel">esta nota en
	'formatting'</link>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Soporta FreeBSD JAZ, EZ y otros discos removibles?</para>
      </question>

      <answer>
	<para>Aparte de la versi&oacute;n IDE de EZ, todos estos son
	dispositivos SCSI, por lo que deber&iacute;an funcionar sin problemas
	ya que FreeBSD los toma como discos SCSI y el IDE EZ tambi&eacute;n
	deber&iacute;a funcionar sin problemas ya que se toma como un disco IDE
	est&aacute;ndar.</para>
  
	<para><anchor id="jaz">No estoy seguro de c&oacute;mo soporta FreeBSD
	el cambio de soporte mientras est&aacute; funcionando. Deber&aacute;s,
	desde luego, desmontar la unidad antes de poder cambiar el soporte, y
	estar seguro de que todas las unidades externas est&aacute;n encendidas
	antes de arrancar el computador con FreeBSD para que &eacute;ste pueda
	reconocerlas.</para>
  
	<para>Mira <link linkend="disklabel">esta nota en
	'formatting'</link>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Qu&eacute; tarjetas serie multipuerto est&aacute;n
	soportadas por FreeBSD?</para>
      </question>

      <answer>
        <para>Hay una lista de ellas en la secci&oacute;n 
        <ulink URL="../../handbook/install.html#INSTALL-HW">dispositivos varios</ulink>
        del manual (handbook).</para>
  
        <para>Algunas tarjetas ``sin nombre'' tambi&eacute;n han funcionado, 
        especialmente las que dicen ser compatibles AST.</para>
  
        <para>Mira la p&aacute;gina 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio">sio</ulink> 
	para obtener m&aacute;s informaci&oacute;n sobre la
	configuraci&oacute;n de estas tarjetas.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="busmouse">
        <para>Tengo un tipo de rat&oacute;n no habitual. &iquest;C&oacute;mo lo configuro?</para>
      </question>

      <answer>
	<para>FreeBSD soporta el ``bus mouse'' y el ``InPort bus mouse'' de
	fabricantes como Microsoft, Logitech y ATI. El driver de mouse
	esti&aacute; compilado en el kernel GENERIC (kernel por defecto que
	carga el sistema). Si est&aacute;s haci&eacute;ndote un kernel a medida
	que incluya el driver de rat&oacute;n, aseg&uacute;rate de
	a&ntilde;adir la siguiente l&iacute;nea en el archivo de
	configuraci&oacute;n del kernel:</para>
  
        <para>
          <literallayout>        
device mse0 at isa? port 0x23c tty irq5 vector mseintr
          </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="ps2mouse">
	<para>&iquest;C&oacute;mo uso mi rat&oacute;n PS/2 (``mouse port'' o
	``teclado'')?</para>
      </question>

      <answer>
	<para>Si est&aacute;s usando una versi&oacute;n reciente de FreeBSD, el
	driver necesario, psm, est&aacute; incluido y activado en el kernel. El
	propio kernel deber&iacute;a detectar tu rat&oacute;n PS/2 en el
	momento de arrancar.</para>
  
	<para>Si est&aacute;s usando una versi&oacute;n antigua, s&oacute;lo
	tienes que activarlo en la configuraci&oacute;n del kernel en el
	momento de la instalaci&oacute;n del sistema. Si &eacute;ste ya
	est&aacute; instalado, escribe -c en el prompt boot: y act&iacute;valo.
	Por defecto, este driver est&aacute; desactivado.</para>
  
	<para>Si est&aacute;s usando alguna de las versiones m&aacute;s
	antiguas, tendras que a&ntilde;adir la siguiente l&iacute;nea en el
	archivo de configuraci&oacute;n del kernel y compilar uno nuevo:</para>
  
        <para>
          <literallayout>        
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
          </literallayout>
        </para>
  
        <para>Mira la secci&oacute;n 
        <ulink URL="../../handbook/kernelconfig.html">configuraci&oacute;n del kernel</ulink> 
        si no tienes experiencia en la creaci&oacute;n de nuevos kernel.</para>
  
	<para>Una vez que el kernel detecta correctamente el dispositivo psm0
	al arrancar, aseg&uacute;rate de que existe una entrada en /dev para
	este dispositivo. Puedes hacerlo tecleando:</para>
  
        <para>
          <literallayout>        
cd /dev; sh MAKEDEV psm0
          </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="moused">
	<para>&iquest;Es posible hacer uso del rat&oacute;n fuera de X
	Windows?</para>
      </question>

      <answer>
	<para>Si est&aacute;s usando el driver por defecto de la consola,
	syscons, puedes usar el rat&oacute;n en las consolas de texto para
	realizar ``cut &amp; paste''. Ejecuta el demonio (daemon) de
	rat&oacute;n moused y arranca el rat&oacute;n en la consola
	virtual:</para>
  
        <para>
          <literallayout>        
moused -p /dev/xxxx -t yyyy 
vidcontrol -m on
          </literallayout>
        </para>
  
	<para>donde <emphasis remap=tt>xxxx</emphasis> es el nombre del
	dispositivo del rat&oacute;n e <emphasis remap=tt>yyyy</emphasis> es un
	tipo de protocolo para el rat&oacute;n. Mira en
	<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?moused">moused</ulink>
	para saber los tipos de protocolo soportados.</para>
  
	<para>Si quieres ejecutar el demonio moused autom&aacute;ticamente al
	arrancar el sistema, activa las siguientes variables en
	<filename>/etc/sysconfig</filename> (para versi&oacute;n 2.2.1).</para>
  
        <para>
          <literallayout>	
mousedtype="yyyy"
mousedport="xxxx"
mousedflags=""
          </literallayout>
        </para>
  
	<para>En versiones 2.2.2 o superiores, activa las siguientes variables
	en <filename>/etc/rc.conf</filename>.</para>
  
        <para>
          <literallayout>	
moused_type="yyyy"
moused_port="xxxx"
moused_flags=""
          </literallayout>
        </para>
  
	<para>A partir de la versi&oacute;n 2.2.6, el demonio del rat&oacute;n
	es capaz de determinar autom&aacute;ticamente el protocolo correcto a
	utilizar. S&oacute;lo tienes que especificar
	<emphasis remap=tt>auto</emphasis> como el protocolo a usar.</para>
  
	<para>Cuando el demonio de rat&oacute;n est&aacute; funcionando, el
	acceso al rat&oacute;n necesita coordinarse con otros programas como
	X Window. Mira en <link linkend="x-and-moused">esta
	secci&oacute;n</link> para m&aacute;s informaci&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;C&oacute;mo hago un cut &amp; paste con el rat&oacute;n
	en una consola de texto?</para>
      </question>

      <answer>
	<para>Una vez que tengas el demonio del rat&oacute;n funcionando (mira
	<link linkend="moused">la secci&oacute;n anterior</link>, pulsa el
	bot&oacute;n 1 (izquierdo) y mueve el rat&oacute;n para seleccionar la
	regi&oacute;n de texto. A continuaci&oacute;n, pulsa el bot&oacute;n 2
	(medio) o 3 (derecho) para hacer un paste (pegar) de la regi&oacute;n
	seleccionada en el lugar en el que tengamos situado el cursor.</para>
  
	<para>En versiones 2.2.6 o superiores, pulsando el bot&oacute;n 2 hara
	un paste del texto seleccionado. Pulsando el bot&oacute;n 3
	extenderemos la regi&oacute;n seleccionada de texto. Si tu rat&oacute;n
	no tiene el bot&oacute;n medio, puedes emularlo o ``remapear''
	(reconfigurar) los botones de tu rat&oacute;n con las opciones del
	demonio moused. Mira en
	<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?moused">moused</ulink>
	para m&aacute;s informaci&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>Mi rat&oacute;n tiene una rueda de desplazamiento y botones.
	&iquest;Puedo usarlo?</para>
      </question>

      <answer>
	<para>La respuesta es, desafortunadamente, ``depende''. Estos ratones
	con caracter&iacute;sticas adicionales requieren en muchos casos
	drivers propios y especializados. A no ser que el driver de dispositivo
	o el programa de usuario tenga soporte espec&iacute;fico, el
	rat&oacute;n se comportar&aacute; como un rat&oacute;n normal y
	corriente.</para>  
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;C&oacute;mo uso el mouse/trackball/touchpad en mi
	port&aacute;til?</para>
      </question>

      <answer>
	<para>Por favor, <link linkend="ps2mouse">mira en la respuesta
	anterior</link>.  Mira tambi&eacute;n <link linkend="pao">esta
	nota</link> en la secci&oacute;n de computadores
	port&aacute;tiles.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Qu&eacute; tipo de dispositivos de cinta est&aacute;n
	soportados?</para>
      </question>

      <answer>
	<para>FreeBSD soporta unidades SCSI, QIC-36 (con interfaz QIC-02) y
	QIC-40/80 (interfaz floppy).  Esto inclye dispositivos de 8mm
	(conocidos como Exabyte) y dispositivos DAT. Los QIC-40/80 son
	conocidos por su lentitud.</para>
  
	<para>Algunos de los dispositivos de 8mm primitivos no son totalmente
	compatibles con SCSI2 por lo que puede que no funcionen correctamente
	en FreeBSD.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Soporta FreeBSD ``tape changers''?</para>
      </question>

      <answer>
        <para>FreeBSD 2.2 soporta SCSI changers usando el dispositivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ch(4)">ch</ulink>
	y el comando
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chio">chio</ulink>. 
	Los detalles acerca de c&oacute;mo controlar realmente el changer se
	encuentran en
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chio">chio</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Qu&eacute; tarjetas de sonido est&aacute;n soportadas por
	FreeBSD?</para>
      </question>

      <answer>
	<para>FreeBSD soporta las tarjetas SoundBlaster, SoundBlaster Pro,
	SoundBlaster 16, Pro Audio Spectrum 16, AdLib y Gravis Ultrasound.  Hay
	tambi&eacute;n soporte limitado para la tarjeta MPU-401 y compatibles
	midi. Las tarjetas SoundBlaster 16 ASP todav&iacute;a no son
	soportadas.  El Microsoft Sound System s&iacute; est&aacute;
	soportado.</para>
  
	<para><acronym>NOTA</acronym>: &iexcl;Esto es solo para sonido! Este
	driver no soporta CD-ROMs, SCSI o joysticks en estas tarjetas, a
	excepci&oacute;n de la SoundBlaster. El interface SCSI de SoundBlaster
	y algunos CD-ROMs no SCSI est&aacute;n soportados, pero no
	podr&aacute;s arrancar el sistema desde ellos.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>No obtengo sonido de la tarjeta es1370 con driver pcm</para>
      </question>

      <answer>
        <para>Puedes ejecutar el siguiente mandato cada vez que arranques el
        sistema:</para>
  
        <para><literallayout>
mixer pcm 100 vol 100 cd 100
	</literallayout></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; tarjetas de red soporta FreeBSD?</para>
      </question>

      <answer>
        <para>Mira la secci&oacute;n de 
        <ulink URL="../../handbook/install:nics.html">tarjetas Ethernet</ulink> 
        en el manual para una lista m&aacute;s completa.</para>
  
        <para>
          <variablelist>
            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?de(4)">de</ulink> driver
              </term>
              <listitem>
                <para>DEC DC21x40 and compatible PCI controllers (including 21140 100bT cards)
                </para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ed(4)">ed</ulink> driver
              </term>
              <listitem>
                <para>NE2000 and 1000
                WD/SMC 8003, 8013 and Elite Ultra (8216)
                3Com 3c503
                HP 27247B and 27252A
                And clones of the above</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?le(4)">le</ulink> driver
              </term>
              <listitem>
                <para>DEC EtherWORKS II and EtherWORKS III controllers</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ie(4)">ie</ulink> driver
              </term>
              <listitem>
                <para>AT&amp;T EN100/StarLAN 10
                3COM 3c507 Etherlink 16/TP
                NI5210
                Intel EtherExpress</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?is(4)">is</ulink> driver
              </term>
              <listitem>
                <para>Isolan AT 4141-0
                Isolink 4110</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?el(4)">el</ulink> driver
              </term>
              <listitem>
                <para>3com 3c501 (does not support Multicast or DMA)</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?eg(4)">eg</ulink> driver
              </term>
              <listitem>
                <para>3com 3c505 Etherlink/+</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ze(4)">ze</ulink> driver
              </term>
              <listitem>
                <para>IBM PCMCIA credit card adapter</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?lnc(4)">lnc</ulink> drive
              </term>
              <listitem>
                <para>Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL)(*)</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ep(4)">ep</ulink> driver
              </term>
              <listitem>
                <para>3com 3c509 (Must disable PNP support on card)</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?cx(4)">cx</ulink> driver
              </term>
              <listitem>
                <para>Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing)</para>
                <para></para>
              </listitem> 
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?zp(4)">zp</ulink> driver
              </term>
              <listitem>
                <para>3Com PCMCIA Etherlink III (aka 3c589)(A-C only)</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fea(4)">fea</ulink> driver
              </term>
              <listitem>
                <para>DEC DEFEA EISA FDDI controller</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fpa(4)">fpa</ulink> driver
              </term>
              <listitem>
                <para>DEC DEFPA PCI FDDI controller</para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>
                <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fe(4)">fe</ulink> driver
              </term>
              <listitem>
                <para>Fujitsu MB86960A/MB86965A Ethernet cards</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </para>
  
        <para><acronym>NOTA</acronym> Los drivers marcados con (*) pueden tener 
        problemas.</para>
  
	<para><acronym>NOTA</acronym>: 3C598D NO est&aacute; soportada
	todav&iacute;a.</para>
  
	<para><acronym>NOTA</acronym>: FreeBSD tambi&eacute;n soporta TCP/IP
	sobre l&iacute;neas paralelo.  En estos momentos, no somos compatibles
	con otras versiones, pero esperamos corregirlo en un futuro cercano.
	Encontrar&aacute;s m&aacute;s informaci&oacute;n sobre este tema en la
	p&aacute;gina man de lp(4).</para>
  
        <para><acronym>NOTA</acronym>: Algunas de estas tarjetas requieren una 
        partici&oacute;n DOS en el disco duro para ejecutar el programa de 
        configuraci&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>No tengo coprocesador matem&aacute;tico - &iquest;es malo?</para>
      </question>

      <answer>
	<para><acronym>NOTA</acronym>: Esto s&oacute;lo afectar&aacute; a los
	computadores 386/486SX/486SLC.  El resto de los microprocesadores
	tienen un coprocesador integrado.</para>
  
	<para>En general, esto no causar&aacute; problemas, pero hay
	circunstancias en las que pudieras echarlo de menos, especialmente
	si trabajas en entorno X Window. Si puedes, te recomendamos que compres
	uno y lo instales en tu computador.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; otros dispositivos soporta FreeBSD 2.X?</para>
      </question>

      <answer>
	<para>Aqu&iacute; hay una lista de drivers que no se han podido
	catalogar en las categor&iacute;as anteriores.</para>
  
        <para>
        <variablelist>
          <varlistentry>
            <term>
              <filename>b004.c</filename>
            </term>
            <listitem>
              <para>Driver for B004 compatible Transputer boards</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              ``ctx'' driver
            </term>
            <listitem>
              <para>Driver for CORTEX-I Frame grabber</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              ``gp'' driver
            </term>
            <listitem>
              <para>Driver for National Instruments AT-GPIB and
              AT-GPIB/TNT boards</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              ``pca'' driver
            </term>
            <listitem>
              <para>Driver for PC speakers to allow the playing of audio files</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              ``spigot'' driver
            </term>
            <listitem>
              <para>Driver for the Creative Labs Video Spigot</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?gsc(4)">gsc</ulink> driver
            </term>
            <listitem>
              <para>Driver for the Genuis GS-4500 Hand scanner</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?joy(4)">joy</ulink> driver
            </term>
            <listitem>
              <para>Driver for a joystick</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?labpc(4)">labpc</ulink> driver
            </term>
            <listitem>
              <para>Driver for National Instrument's Lab-PC and Lab-PC+</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              ``uart'' driver
            </term>
            <listitem>
              <para>Stand-alone 6850 UART for MIDI</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?psm(4)">psm</ulink> driver
            </term>
            <listitem>
              <para>PS/2 mouse port</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              <filename>tw.c</filename>
            </term>
            <listitem>
              <para>Driver for the X-10 POWERHOUSE</para>
            </listitem>
          </varlistentry>
        </variablelist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Soporta FreeBSD la administraci&oacute;n de
	energ&iacute;a en mi port&aacute;til?</para>
      </question>

      <answer>
	<para>FreeBSD soporta APM en algunas m&aacute;quinas. Por favor, mira
	en el archivo de configuraci&oacute;n del kernel
	<acronym>LINT</acronym> y busca la parabra <ulink
	URL="http://www.FreeBSD.org/cgi/man.cgi?apm">APM</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Los sistemas Micron se bloquean al arrancar</para>
      </question>

      <answer>
	<para>Algunas placas base Micron tienen una implementaci&oacute;n de
	PCI en el BIOS que no es est&aacute;ndar, lo que provoca que FreeBSD no
	pueda encontrar los dispositivos PCI en las direcciones en las que
	deber&iacute;an estar.</para>
  
	<para>Desactiva la opci&oacute;n ``Plug and Play Operating System'' en
	el BIOS para solucionar el problema. Puedes encontrar m&aacute;s
	informaci&oacute;n en:
	<ulink URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>Tengo una de las controladoras Adaptec m&aacute;s modernas y
	FreeBSD no puede encontrarla</para>
      </question>

      <answer>
	<para>Las nuevas controladoras Adaptec con chipset de la serie AIC789x
	est&aacute;n soportados bajo la nueva CAM SCSI que hace su debut en la
	version 3.0 de FreeBSD. Los parches para las versiones 3.0-CURRENT y
	2.2-STABLE est&aacute;n en:
	<ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/development/cam/">ftp://ftp.FreeBSD.org/pub/FreeBSD/development/cam/</ulink>.
	Un disco de arranque con soporte CAM est&aacute; disponible en:
	<ulink URL="http://www.FreeBSD.org/~abial/cam-boot/">http://www.FreeBSD.org/~abial/cam-boot/</ulink>.
	En ambos casos lee el archivo README antes de empezar.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>Tengo un m&oacute;dem interno Plug &amp; Play y FreeBSD no lo
	encuentra</para>
      </question>

      <answer>
	<para>Necesitar&aacute;s a&ntilde;adir el ID del modem PnP a la lista
	de ID PnP en el driver serie. Para activar el soporte PnP, compila un
	nuevo kernel con <emphasis remap=tt>controller pnp0</emphasis> en el
	archivo de configuraci&oacute;n y rearranca el sistema. El kernel
	mostrar&aacute; en pantalla los IDs de todos los dispositivos PnP que
	encuentre. Copia el ID del m&oacute;dem en la tabla del archivo
	<filename>/sys/i386/isa/sio.c</filename>, sobre la l&iacute;nea 2777.
	Busca la cadena "SUP1310" en la estructura "siopnp_ids[]" para
	encontrar la tabla. Genera un nuevo kernel, inst&aacute;lalo y
	rearranca. Tu m&oacute;dem deber&iacute;a ser encontrado.</para>
  
	<para>Quiz&aacute; tengas que configurar manualmente los dispositivos
	PnP usando el comando ``pnp'' en la configuraci&oacute;n de arranque
	usandolo de la siguiente manera:
        <literallayout>   
pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;C&oacute;mo obtengo el prompt ``boot:'' en una consola
	serie?</para>
      </question>

      <answer>
        <para>
          <orderedlist>
            <listitem>
	      <para>Crea un nuevo kernel con <emphasis remap=tt>options
	      COMCONSOLE</emphasis>.</para>
            </listitem>

            <listitem>
              <para>Crea el archivo /boot.config y pon <option>-P</option> como 
              &uacute;nico texto en el archivo.</para>
            </listitem>

            <listitem>
              <para>Desconecta el teclado del computador.</para>
            </listitem>
          </orderedlist>
        </para>
  
	<para>Mira el archivo
	<filename>/usr/src/sys/i386/boot/biosboot/README.serial</filename> para
	m&aacute;s informaci&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Por qu&eacute; no funciona mi tarjeta de red PCI 3Com con
	mi computador Micron?</para>
      </question>

      <answer>
	<para>Algunas placas base Micron tienen una implementaci&oacute;n de
	PCI en el BIOS que no es est&aacute;ndar, lo que provoca que FreeBSD no
	pueda encontrar los dispositivos PCI en las direcciones en las que
	debieran estar.</para>
  
        <para>Para solucionar el problema, desactiva la opci&oacute;n 
        ``Plug and Play Operating System'' en el BIOS.</para>
  
	<para>Puedes encontrar m&aacute;s informaci&oacute;n sobre este
	problema en 
        <ulink URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
	<para>&iquest;Soporta FreeBSD el multiprocesamiento sim&eacute;trico
	(SMP)?</para>
      </question>

      <answer>
	<para>SMP s&oacute;lo est&aacute; soportado a partir de la
	versi&oacute;n 3.0-STABLE</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter
id="troubleshoot">

<title>Problemas</title>

  <qandaset>
    <qandaentry>
      <question id="awre">
        <para>Tengo bloques err&oacute;neos en mi disco duro!</para>
      </question>

      <answer>
        <para>Los discos SCSI deber&iacute;an ser capaces de marcar estos bloques
        err&oacute;neos automaticamente para que no presenten problemas. Algunos
        discos, por alguna raz&oacute;n desconocida, se venden con esta
        caracter&iacute;stica desactivada.</para>
  
        <para>Para activar esta opci&oacute;n, tendr&aacute;s que editar una de las 
        opciones del dispositivo, lo que puede ser hecho con FreeBSD tecleando el
        siguiente comando (como root):</para>
  
        <para>
          <literallayout>        
scsi -f /dev/rsd0c -m 1 -e -P 3
          </literallayout>
        </para>
  
        <para>y cambiando los valores de AWRE y ARRE de 0 a 1:-</para>
  
        <para>
          <literallayout>        
AWRE (Auto Write Reallocation Enbld):  1
ARRE (Auto Read Reallocation Enbld):  1
          </literallayout>
        </para>
  
        <para>Para otros tipos de discos, dependes de las caracter&iacute;sticas 
        de los sistemas operativos. Desafortunadamente, el comando "bad144"
        que se incluye en FreeBSD, necesita ser desarrollado m&aacute;s en
        profundidad. </para>
  
        <para>Se <emphasis>supone</emphasis> que los discos IDE incluyen de serie 
        la posibilidad de "remapear" los bloques da&ntilde;ados; si tienes 
        documentaci&oacute;n de tu disco, podr&aacute;s ver si esta opci&oacute;n 
        est&aacute; activada o desactivada.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>FreeBSD no reconoce mi Bustek 742a EISA SCSI!</para>
      </question>

      <answer>
        <para>Esta informaci&oacute;n es espec&iacute;fica para la tarjeta 742a, 
        pero puede ser aplicable a otras tarjetas Buslogic. (Bustek = Buslogic)</para>
  
        <para>Existen dos versiones de la tarjeta 742a. Son revisiones de
        hardware A-G y H. La letra de revisi&oacute;n est&aacute; situada 
        despu&eacute;s del n&uacute;mero de ensamblaje. La 742a tiene 2 ROMs, 
        una es el BIOS y la otra es el Firmware. FreeBSD no se fija en la 
        versi&oacute;n de BIOS de la tarjeta, pero si en la de Firmware. 
        Buslogic te enviar&aacute; una actualizaci&oacute;n de de las ROMs si te 
        pones en contacto con su departamento t&eacute;cnico. La BIOS y el 
        Firmware son distribuidas de manera inseparable. Deber&iacute;as tener 
        la versi&oacute;n de Firmware m&aacute;s actualizada para la 
        revisi&oacute;n de hardware de tu tarjeta.</para>
  
        <para>Las tarjetas con revisi&oacute;n A-G solo pueden aceptar BIOS/Firmware
        2.41/2.21. La revisi&oacute;n H y superiores pueden aceptar las versiones
        m&aacute;s actuales 4.70/3.37. La diferencia entre las versiones de
        Firmware es que la 3.38 soporta "round robin".</para>
  
        <para>Las tarjetas Buslogic tienen un n&uacute;mero de serie serigrafiado
        en ellas. Si tienes una revisi&oacute;n de hardware antigua, puedes llamar
        al departamento de RMA de Buslogic y darles el n&uacute;mero de serie de
        la tarjeta para intentar cambiarla por una revisi&oacute;n superior del
        hardware.</para>
  
        <para>FreeBSD 2.1 solo soporta revisiones de Firmware 2.21 o superiores.
        Si tienes una versi&oacute;n inferior, tu tarjeta no ser&aacute; 
        reconocida como Buslogic. Quiz&aacute;s sea reconocida como una Adaptec 
        1540. Las primeras versiones de Firmware de Buslogic contienen una modo 
        de emulaci&oacute;n de la AHA1540.</para>
  
        <para>Si tienes una revisi&oacute;n de hardware antigua y consigues una 
        m&aacute;s actual (2.21), necesitar&aacute;s chequear la posici&oacute;n 
        del jumper W1 y asegurarte que est&aacute; en la posici&oacute;n B-C 
        (por defecto esta en B-C).</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi controladora SCSI HP Netserver's no es detectada!</para>
      </question>

      <answer>
        <para>Este es un problema ya conocido. Las controladoras SCSI EISA
        integradas en la placa base en las m&aacute;quinas HP Netserver, ocupan
        el slot numero 11. El espacio de direcciones  para los slots
        EISA &gt;=10 colisionan con los espacios de direcciones asignados
        para los dispositivos PCI, y la autoconfiguraci&oacute;n de FreeBSD no
        maneja esta situaci&oacute;n demasiado bien.</para>
  
        <para>Lo mejor que puedes hacer es pretender que no existan clases
        de rangos de direcciones :), cambiando el valor de la opci&oacute;n del
        kernel <symbol>EISA_SLOTS</symbol> a un valor de 12.
        Configura y compila un nuevo kernel como se describe en la
        <ulink URL="../../handbook/kernelconfig.html">entrada correspondiente del manual</ulink>.
        </para>
  
        <para>Por supuesto, esto presenta un peque&ntilde;o problema. Para poder
        solucionarlo, es necesario un truco en la utilidad de
        configuraci&oacute;n. No uses el interface "visual", simplemente teclea
        lo siguiente en la l&iacute;nea de comando de la utilidad</para>
  
        <para>
          <literallayout>
eisa 12
quit
          </literallayout>
        </para>
  
        <para>Esperamos que en las pr&oacute;ximas versiones tengamos solucionados
        estos temas.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; ocurre con la controladora IDE CMD640?</para>
      </question>

      <answer>
        <para>No funciona. No puede manejar comandos en los dos canales
        simult&aacute;neamente.</para>
  
        <para>Hay una soluci&oacute;n posible y se activa autom&aacute;ticamente si 
        tu sistema usa este chip. Para m&aacute;s detalles, referirse al man del
        driver de discos (man 4 wd).</para>
  
        <para>Si todav&iacute;a est&aacute;s usando FreeBSD 2.2.1 o 2.2.2 con una 
        controladora IDE CMD640 y quieres usar el segundo canal, crea un nuevo 
        kernel con <emphasis remap=tt>options "CMD640"</emphasis> activada. Esta es 
        la opci&oacute;n por defecto en la versi&oacute;n 2.2.5 y superiores.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Tengo mensajes como ``<emphasis remap=tt>ed1: timeout</emphasis>''.</para>
      </question>

      <answer>
        <para>Esto, normalmente es causado por conflictos de interrupciones (por
        ejemplo, dos tarjetas usando la misma IRQ). Las versiones
        anteriores a la 2.0.5R eran tolerantes con los problemas de
        conflictos de IRQ. A partir de esa versi&oacute;n, los conflictos de IRQ 
        ya no son tolerados. Arranca con la opci&oacute;n -c y cambia la entrada
        correspondiente a tu tarjeta.</para>
  
        <para>Si est&aacute;s usando conectores BCN en tu tarjeta de red, el mensaje
        de error puede ser debido a una mala terminaci&oacute;n de la red. Para 
        chequear esto, conecta un terminador directamente a la salida BNC de la
        tarjeta (sin cable) y mira si el mensaje desaparece.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Cuando monto el CDROM, obtengo ``Incorrect super block''.</para>
      </question>

      <answer>
        <para>Tienes que indicar el tipo de dispositivo que quieres montar. Por 
        defecto <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?mount">mount</ulink> 
        asumir&aacute; que el dispositivo que quieres montar es 
        ``<emphasis remap=tt>ufs</emphasis>''. Si quieres montar un CDROM, tienes 
        que especificar <option>-t cd9660</option>. Esto hace que el sistema asuma 
        que tiene que montar un sistema de archivos con formato ISO 9660 que es lo 
        que los CDROM deben tener.</para>
  
        <para>Como ejemplo, si quieres montar una unidad CDROM,
        <filename>/dev/cd0c</filename>, bajo <filename>/mnt</filename>, tienes que 
        ejecutar</para>
  
        <para>
          <literallayout>
mount -t cd9660 /dev/cd0c /mnt
          </literallayout>
        </para>
  
        <para>Ten en cuenta que el nombre de tu dispositivo
        (<filename>/dev/cd0c</filename> en este ejemplo) puede ser diferente 
        dependiendo del interface que est&eacute;s usando. El comando anterior 
        puede ser acortado tecleando:</para>
  
        <para>
          <literallayout>
mount_cd9660 /dev/cd0c /mnt
          </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Cuando monto un CDROM, obtengo ``Device not configured''.</para>
      </question>

      <answer>
        <para>Esto, generalmente, significa que no hay ning&uacute;n disco en el 
        lector de CDROM. Tambi&eacute;n puede significar que el lector no es 
        visible para el bus. Chequea que est&aacute; bi&eacute;n configurado en 
        lo referente a master/slave si es IDE (ATAPI).</para>
  
        <para>Algunas veces un CDROM SCSI puede "desaparecer" por que no ha tenido
        tiempo suficiente para responder a un reset del bus. Si tienes un
        CDROM SCSI, a&ntilde;ade la siguiente l&iacute;nea en el archivo de 
        configuraci&oacute;n del kernel y recomp&iacute;lalo.</para>
  
        <para>
          <literallayout>
options "SCSI_DELAY=15"
          </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi impresora es ridiculamente lenta. &iquest;Qu&eacute; puedo hacer?</para>
      </question>

      <answer>
        <para>Si es paralelo, y el &uacute;nico problema es la lentitud, intenta
        configurar el puero de impresora en modo "polled":</para>
  
        <para>
          <literallayout>
lptcontrol -p
          </literallayout>
        </para>
  
        <para>Algunas impresoras nuevas de HP son conocidas por no trabajar
        correctamente en modo de interrupci&oacute;n, aparentemente debido (y
        todav&iacute;a no exactamente entendido), a un problema de "timing".</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mis programas ocasionalmente mueren con errores ``Signal 11''.</para>
      </question>

      <answer>
        <para>Esto puede ser por hardware err&oacute;neo (memoria, placa base, etc).
        Intenta ejecutar alg&uacute;n programa de test de memoria. Ten en cuenta
        que es posible que tu memoria pase el test del programa que uses,
        pero que falle en algunas condiciones de uso, como en compilaci&oacute;n
        de kernel.</para>
  
        <para>La FAQ SIG11 (listada m&aacute;s abajo) apunta a problemas de 
        lentitud de memoria. Incrementa el n&uacute;mero de "wait states" en tu 
        BIOS o instala una memoria m&aacute;s r&aacute;pida.</para>
  
        <para>Tambi&eacute;n puedes intentar desactivar el cach&eacute; de placa 
        base en el BIOS y comprueba si se resuelve el problema.</para>
  
        <para>Hay una extensa FAQ en
        <ulink URL="http://www.bitwizard.nl/sig11/">the SIG11 problem FAQ</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Cuando arranco, la pantalla queda negra!</para>
      </question>

      <answer>
        <para>Este es un problema conocido con las tarjetas de v&iacute;deo ATI 
        Mach 64. El problema es que esta tarjeta usa la direcci&oacute;n 
        <emphasis remap=tt>2e8</emphasis>, tambi&eacute;n usada por el puerto 
        serie 4. Debido a un bug (feature?) en el driver 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio">sio.c</ulink>
        , &eacute;ste "tocar&aacute;" este puerto aunque no est&eacute; instalado
        o est&eacute; desactivado.</para>
  
        <para>Hasta que el problema sea fijado, puedes hacer esto:</para>
  
        <para>
          <orderedlist>
            <listitem>
              <para>Teclea <option>-c</option> en el prompt de arranque. Esto te 
              llevar&aacute; a la secci&oacute;n de configuraci&oacute;n del kernel.
              </para>
            </listitem>

            <listitem>
              <para>Desactiva <emphasis remap=tt>sio0</emphasis>, 
              <emphasis remap=tt>sio1</emphasis>, <emphasis remap=tt>sio2</emphasis> y 
              <emphasis remap=tt>sio3</emphasis> (todos ellos).  De esta manera, el 
              driver sio no se activa.</para>
            </listitem>

            <listitem>
              <para>Teclea exit para seguir arrancando.</para>
            </listitem>
          </orderedlist>
        </para>
  
        <para>Si quieres ser capaz de usar tus puertos serie, tendr&aacute;s que
        compilar un nuevo kernel con la siguiente modificaci&oacute;n:
        <filename>/usr/src/sys/i386/isa/sio.c</filename>. Busca la cadena 
        <literal>0x2e8</literal> y borra esta cadena y la coma anterior 
        (mant&eacute;n la coma siguiente). Ahora, compila un nuevo kernel de 
        la manera habitual.</para>
  
        <para>Despu&eacute;s de realizar estos cambios, puedes encontrarte aun que
        las X Window no funcionan correctamente. Algunas tarjetas de
        v&iacute;deo modernas ATI Mach 64 (especialmente la ATI Mach Xpression)
        no funcionan con la versi&oacute;n actual de <emphasis remap=tt>XFree86</emphasis>; 
        la pantalla se queda negra cuando arrancas las X o ocurren cosas extra&ntilde;as en
        su funcionamiento. Puedes instalar una versi&oacute;n beta del nuevo
        servidor X que trabaja mejor, situada en
        <ulink URL="http://www.xfree86.org/">el servidor XFree86</ulink>
        y seguir los links hasta el download. Coge los siguientes archivos:</para>
  
        <para><emphasis remap=tt>AccelCards, BetaReport, Cards, Devices, FILES, README.ati,
        README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc,
        X312BMa64.tgz</emphasis></para>
  
        <para>Reemplaza los viejos archivos por las nuevas versiones y 
        aseg&uacute;rate de ejecutar de nuevo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&amp;query=xf86config">xf86config</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="reallybigram">
        <para>Tengo 128MB de RAM pero el sistema solo usa 64MB.</para>
      </question>

      <answer>
        <para>Debido a la forma que tiene FreeBSD de "ver" el tama&ntilde;o de
        memoria en el BIOS, solo puede detectar 16 bits
        (65535 Kbytes = 64MB) (o menos... algunas BIOS fijan el tama&ntilde;o de
        la memoria a 16MB).</para>
  
        <para>Para solucionar este problema, tienes que usar la opci&oacute;n del
        kernel indicada m&aacute;s adelante. Hay una manera de ver la 
        informaci&oacute;n completa sobre memoria en el BIOS, pero no tenemos 
        espacio en los bloques de arranque (bootblocks) para hacerlo. Por ahora, 
        tenemos que trabajar con la opci&oacute;n del kernel.</para>
  
        <para><literal>options "MAXMEM=&lt;n&gt;"</literal></para>
  
        <para>Donde <emphasis remap=tt>n</emphasis> es tu memoria en Kilobytes. 
        Para 128MB, tendr&iacute;as que usar <emphasis remap=tt>131072</emphasis>.
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>FreeBSD 2.0 aborta con ``kmem_map too small!''</para>
      </question>

      <answer>
        <para><emphasis remap=tt>Nota</emphasis> El mensaje deber&iacute;a ser 
        ``mb_map too small!''</para>
  
        <para>La parada indica que el sistema no tiene memoria virtual
        suficiente para los buffers de red (espec&iacute;ficamente, 
        clusters mbuf). Puedes incrementar la cantidad de memoria virtual 
        disponible para los clusters mbuf a&ntilde;adiendo:</para>
  
        <para><literal>options "NMBCLUSTERS=&lt;n&gt;"</literal></para>
  
        <para>al archivo de configuraci&oacute;n del kernel, donde &lt;n&gt; es un
        n&uacute;mero en el rango 512-4096, dependiendo del n&uacute;mero de 
        conexiones tcp simult&aacute;neas que necesites soportar. Te recomendamos
        intentar con 2048. Puedes monitorizar el n&uacute;mero de clusters mbuf 
        en uso con la orden
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?netstat">netstat -m</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>``CMAP busy panic'' al arrancar con un nuevo kernel.</para>
      </question>

      <answer>
        <para>El programa que intenta detectar archivos 
        <filename>/var/db/kvm_*.db</filename> puede fallar y provocar el "panic" 
        en el arranque.</para>
  
        <para>Si esto ocurre, arranca en mono-usuario y haz:</para>
  
        <para>
          <literallayout>
rm /var/db/kvm_*.db
          </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>ahc0: brkadrint,  Illegal Host Access at seqaddr 0x0</para>
      </question>

      <answer>
        <para>Esto significa un conflicto con una controladora Ultrastor SCSI.</para>
  
        <para>Durante el proceso de arranque, entra en el men&uacute; de 
        configuraci&oacute;n del kernel y desactiva el dispositivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?uha(4)">uha0</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Sendmail dice ``mail loops back to myself''</para>
      </question>

      <answer>
        <para>Esto est&aacute; contestado en la FAQ de sendmail de la siguiente
        manera:</para>
  
        <para>
          <literallayout>
            * Tengo el error "Local configuration error" :

            553 relay.domain.net config error: mail loops back to myself
            554 &lt;user@domain.net&gt;... Local configuration error

            C&oacute;mo puedo solventar el problema?

            Has intentado enviar un mail al dominio domain.net y que sea
            reenviado a un host espec&iacute;fico (en este caso relay.domain.net)
            usando un registro MX, pero la m&aacute;quina que tiene que aceptar
            ese mail, no reconoce el domimio como propio. A&ntilde;ade
            domain.net al archivo /etc/sendmail.cw (si est&aacute;s usando
            FEATURE(use_cw_file) o a&ntilde;ade "Cw domain.net" al archivo
            sendmail.cf
          </literallayout>
        </para>
  
        <para>La versi&oacute;n actual de la  
        <ulink URL="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq">FAQ de sendmail</ulink> 
        puede ser encontrada en
        <ulink URL="news:comp.mail.sendmail">comp.mail.sendmail</ulink>,
        <ulink URL="news:comp.mail.misc">comp.mail.misc</ulink>,
        <ulink URL="news:comp.mail.smail">comp.mail.smail</ulink>,
        <ulink URL="news:comp.answers">comp.answers</ulink>, y
        <ulink URL="news:news.answers">news.answers</ulink>.
        Tambien puedes recibir una copia enviando un mail a
        <ulink URL="mailto:mail-server@rtfm.mit.edu">mail-server@rtfm.mit.edu</ulink> 
        con el comando "send usenet/news.answers/mail/sendmail-faq" en el 
        cuerpo del mensaje.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>No funcionan correctamente las aplicaciones a pantalla completa
        en m&aacute;quinas remotas</para>
      </question>

      <answer>
        <para>Quiz&aacute;s la m&aacute;quina remota tiene el tipo de terminal 
        diferente de <emphasis remap=tt>cons25</emphasis> que es el usado por la consola de 
        FreeBSD.</para>
  
        <para>Hay diferentes maneras de solucionar este problema:
        <itemizedlist>
          <listitem>
            <para>Despu&eacute;s de hacer el login en la m&aacute;quina remota, 
            configura la variable SHELL como <acronym>ANSI</acronym> o 
            <emphasis remap=tt>sco</emphasis>.</para>
          </listitem>

          <listitem>
            <para>Usa el emulador VT100 como 
            <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?screen-">screen</ulink>
            local. <emphasis remap=tt>screen</emphasis> te permite la posibilidad de ejecutar 
            m&uacute;ltiples y concurrentes sesiones desde un terminal.</para>
          </listitem>

          <listitem>
            <para>Instala la base de datos del terminal <emphasis remap=tt>cons25</emphasis> 
            en la m&aacute;quina remota.</para>
          </listitem>

          <listitem>
            <para>Lanza las X y haz el login en la m&aacute;quina remota desde 
            <emphasis remap=tt>xterm</emphasis>.</para>
          </listitem>
        </itemizedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Aparece el mensaje de error "calcru: negative time..."</para>
      </question>

      <answer>
        <para>Esto puede ser causado por varios problemas de hardware o software
        relacionados con las interrupciones. Utilizar TCP/IP sobre el puerto
        paralelo con un MTU muy grande es una buena manera de provocar este error.
        Las tarjetas gr&aacute;ficas aceleradoras tambi&eacute;n lo pueden
        provocar, teniendo que revisar la interrupci&oacute;n utilizada
        por la tarjeta.</para>
  
        <para>El efecto de este error es que los procesos mueren con el mensaje
        "SIGXCPU exceeded cpu time limit".</para>
  
        <para>Para FreeBSD 3.0 y posteriores desde el 29 de Noviembre de 1998: si
        el problema no puede fijarse de otra manera, la soluci&oacute;n es
        poner la variable sysctl a:
          <literallayout>
sysctl -w kern.timecounter.method=1
          </literallayout>
        </para>
  
        <para>Esto puede significar un impacto en el rendimiento del sistema, pero
        considerando la causa del problema, probablemente no lo notar&aacute;s. Si
        el problema persiste, mant&eacute;n la variable sysctl a uno y 
        a&ntilde;ade la opci&oacute;n "NTIMECOUNTER" en tu kernel para aumentar
        su valor. Si finalmente llegas a un valor de "NTIMECOUNTER=20" el problema 
        no est&aacute; resuelto, y las interrupciones est&aacute;n demasiado
        saturadas para ofrecer un bu&eacute;n rendimiento.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="commercial">
  <title>Aplicaciones Comerciales</title>

  <para><acronym>NOTA</acronym> Esta secci&oacute;n est&aacute; todav&iacute;a poco 
  desarrollada, por lo que esperamos que las compa&ntilde;&iacute;as nos 
  ayuden a completarla :) . El grupo de FreeBSD no tiene ning&uacute;n 
  inter&eacute;s financiero en ninguna de las empresas aqu&iacute; listadas, 
  simplemente est&aacute;n como servicio p&uacute;blico (y creemos que el 
  inter&eacute;s comercial por FreeBSD puede tener efectos
  muy positivos en la viabilidad a largo t&eacute;rmino). Animamos a las
  empresas desarrolladoras de software que nos env&iacute;en su 
  informaci&oacute;n para ser incluidas en esta lista.</para>
  
  <qandaset>
    <qandaentry>
      <question>
        <para>&iquest;D&oacute;nde puedo obtener Motif para FreeBSD?</para>
      </question>

      <answer>
        <para>Contacta con <link linkend="apps2go">Apps2go</link> para una 
        distribuci&oacute;n de Motif ELF 2.1 para FreeBSD.<anchor id="apps2go"></para>
  
        <para>Esta distribuci&oacute;n incluye:
        <itemizedlist>
          <listitem>
            <para>OSF/Motif manager, xmbind, panner, wsm.</para>
          </listitem>

          <listitem>
            <para>Kit de desarrollo con uil, mrm, xm, xmcxx, includes y
            archivos Imake.</para>
          </listitem>

          <listitem>
            <para>Librer&iacute;as ELF est&aacute;ticas y din&aacute;micas
            (para usar con FreeBSD 3.0 y posteriores).</para>
          </listitem>

          <listitem>
            <para>Applets demostrativos.</para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>Aseg&uacute;rate de especificar que deseas la distribuci&oacute;n 
        para FreeBSD cuando hagas el pedido. Tambi&eacute;n se distribuyen 
        versiones para NetBSD y OpenBSD  por <emphasis>Apps2go</emphasis>. La 
        distribuci&oacute;n s&oacute;lo est&aacute; disponible por FTP.</para>
  
        <para>
        <variablelist>
          <varlistentry>
            <term>
              M&aacute;s informaci&oacute;n
            </term>
            <listitem>
              <para><ulink URL="http://www.apps2go.com/">P&aacute;gina web de Apps2go</ulink></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              o
            </term>
            <listitem>
              <para><ulink URL="mailto:sales@apps2go.com">Ventas</ulink> o
              <ulink URL="mailto:support@apps2go.com">Soporte</ulink></para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              o
            </term>
            <listitem>
              <para>tel&eacute;fono (817) 431 8775 o +1 817 431-8775</para>
            </listitem>
          </varlistentry>
        </variablelist>
        </para>
  
        <para>Contacta con <link linkend="metrox">Metro Link</link> para obtener una
        distribuci&oacute;n de Motif 2.1 ELF o a.out para FreeBSD.</para>
  
        <para>Esta distribuci&oacute;n incluye:
        <itemizedlist>
          <listitem>
            <para>OSF/Motif manager, xmbind, panner, wsm.</para>
          </listitem>

          <listitem>
            <para>Kit de desarrollo con uil, mrm, xm, xmcxx, includes y
            archivos Imake. </para>
          </listitem>

          <listitem>
            <para>Librer&iacute;as est&aacute;ticas y din&aacute;micas (especifica
            ELF para FreeBSD 3.0 y superior o a.out para FreeBSD 2.2.8 o
            anterior).</para>
          </listitem>

          <listitem>
            <para>Applets demostrativos.</para>
          </listitem>

          <listitem>
            <para>P&aacute;ginas man preformateadas.</para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>Aseg&uacute;rate de especificar que deseas la distribuci&oacute;n 
        para FreeBSD cuando hagas el pedido. Tambi&eacute;n se distribuyen 
        versiones para Linux por <emphasis>Metro Link</emphasis>. La distribuci&oacute;n
        est&aacute; disponible en CDROM o v&iacute;a FTP.</para>
  
        <para>Contacta con <link linkend="xig">Xi Graphics</link> para una 
        distribuci&oacute;n de Motif a.out 2.0 para FreeBSD.</para>
  
        <para>Esta distribuci&oacute;n incluye:
        <itemizedlist>
          <listitem>
            <para>OSF/Motif manager, xmbind, panner, wsm.</para>
          </listitem>

          <listitem>
            <para>Kit de desarrollo con uil, mrm, xm, xmcxx, includes y
            archivos Imake.</para>
          </listitem>

          <listitem>
            <para>Librer&iacute;as est&aacute;ticas y din&aacute;micas
            (para usar con FreeBSD 2.2.8 y anteriores).</para>
          </listitem>

          <listitem>
            <para>Applets demostrativos.</para>
          </listitem>

          <listitem>
            <para>P&aacute;ginas man preformateadas.</para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>Aseg&uacute;rate de especificar que deseas la distribuci&oacute;n
        para FreeBSD cuando hagas el pedido. Tambi&eacute;n se distribuyen
        versiones para BSDI y Linux por <emphasis>Xi Graphics</emphasis>. La 
        distribuci&oacute;n se hace en cuatro disquetes... en el futuro esto
        se cambiar&aacute; por una versi&oacute;n en CDROM unificada.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;D&oacute;nde puedo conseguir CDE para FreeBSD?</para>
      </question>

      <answer>
        <para>Contacta con <link linkend="xig">Xi Graphics</link> para la
        distribucion CDE 1.0.10 para FreeBSD. Incluye Motif 1.2.5, 
        y puede ser usada con Motif 2.0.</para>
  
        <para>Este es un CDROM unificado para FreeBSD y Linux.</para>
  
        <para><link linkend="xig">Xi Graphics</link> ya no vende el CDE 
        para FreeBSD.</para>
  
        <para><ulink URL="http://www.kde.org/">KDE</ulink> es un entorno 
        gr&aacute;fico "open source" similar a CDE en muchos aspectos.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Hay alg&uacute;n servidor X comercial de altas prestaciones?</para>
      </question>

      <answer>
        <para>S&iacute;, <ulink URL="http://www.xig.com/">Xi Graphics</ulink> y
        <ulink URL="http://www.metrolink.com/">Metro Link</ulink> venden el
        producto Accelerated-X para FreeBSD y otros sistemas basados en Intel.
        <anchor id="xig"></para>
  
        <para>La oferta de Metro Link es un servidor X de altas prestaciones que
        ofrece una f&aacute;cil configuraci&oacute;n usando el conjunto de
        herramientas "FreeBSD Package", soporte de m&uacute;ltiples tarjetas
        de v&iacute;deo concurrentes y s&oacute;lo se distribuye en formato
        binario desde su FTP. Mencionar que la oferta de Metro Link est&aacute;
        disponible por el razonable precio de $39.
        <anchor id="metrox"> </para>
  
        <para>Metro Link tambi&eacute;n vende el Motif ELF y a.out para
        FreeBSD.</para>
  
        <para>
        <variablelist>
          <varlistentry>
            <term>
              M&aacute;s informaci&oacute;n
            </term>
            <listitem>
              <para><ulink URL="http://www.metrolink.com/">Web de Metro Link</ulink></para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              o
            </term>
            <listitem>
              <para><ulink URL="mailto:sales@metrolink.com">Ventas</ulink> o
              <ulink URL="mailto:tech@metrolink.com">Soporte</ulink>.</para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              o
            </term>
            <listitem>
              <para>Tel&eacute;fono (954) 938-0283 o +1 954 938-0283</para>
            </listitem>
          </varlistentry>
        </variablelist>
        </para>
  
        <para>La oferta de Xi Graphics es un servidor X de altas prestaciones que
        ofrece una f&aacute;cil configuraci&oacute;n, soporte para
        m&uacute;ltiples tarjetas de v&iacute;deo concurrentes, y s&oacute;lo
        se distribuye en formato binario, en una distribuci&oacute;n en 
        disquetes unificada para FreeBSD y Linux. Xi Graphics tambi&eacute;n
        ofrece un servidor X de altas prestaciones para computadores
        port&aacute;tiles.</para>
  
        <para>Hay una distribuci&oacute;n demo para testear (versi&oacute;n 5.0).</para>
  
        <para>Xi Graphics tambi&eacute;n vende el Motif y CDE para FreeBSD.</para>
  
        <para>
        <variablelist>
          <varlistentry>
            <term>
              M&aacute;ss informaci&oacute;n
            </term>
            <listitem>
              <para><ulink URL="http://www.xig.com/">Web de Xi Graphics WWW</ulink></para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              o
            </term>
            <listitem>
              <para><ulink URL="mailto:sales@xig.com">ventas</ulink> o
              <ulink URL="mailto:support@xig.com">Soporte</ulink></para>
              <para></para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>
              o
            </term>
            <listitem>
              <para>Tel&eacute;fono (800) 946 7433  o +1 303 298-7478.</para>
            </listitem>
          </varlistentry>
        </variablelist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Hay alg&uacute;n sistema de base de datos para FreeBSD?</para>
      </question>

      <answer>
        <para>S&iacute;!. Mira en la secci&oacute;n 
        <ulink URL="../commercial/software_bycat.html#CATEGORY_DATABASE">Productos Comerciales</ulink>
        del web de FreeBSD.</para>
  
        <para>Tambi&eacute;n te recomendamos que mires en la secci&oacute;n 
        <ulink URL="../ports/databases.html">Bases de Datos</ulink> de la
        colecci&oacute;n de Ports.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puedo usar Oracle en FreeBSD?</para>
      </question>

      <answer>
        <para>S&iacute;. Las siguientes p&aacute;ginas te explican como configurar
        el Oracle de Linux en FreeBSD:</para>

        <para>
        <itemizedlist>
          <listitem>
            <para><ulink URL="http://www.scc.nl/~marcel/howto-oracle.html">http://www.scc.nl/~marcel/howto-oracle.html</ulink></para>
          </listitem>

          <listitem>
            <para><ulink URL="http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-FreeBSD">http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-FreeBSD</ulink></para>
          </listitem>
         </itemizedlist>
         </para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="applications">
<title>Aplicaciones de usuario</title>

  <qandaset>
    <qandaentry>
      <question>
        <para>&iquest;D&oacute;nde est&aacute;n las aplicaciones?</para>
      </question>

      <answer>
        <para>Por favor, mira en <ulink URL="http://www.FreeBSD.org/ports/">la secci&oacute;n 
        de ports</ulink> para obtener informaci&oacute;n sobre
        programas y aplicaciones que han sido portados a FreeBSD. En estos
        momentos la lista llega a los 1800 creciendo d&iacute;a a d&iacute;a, 
        por lo que te recomendamos que la visites habitualmente o te subscribas 
        a la <link linkend="mailing">lista de distribuci&oacute;n</link>
        <emphasis remap=tt>FreeBSD-announce</emphasis> para las actualizaciones 
        peri&oacute;dicas de nuevas aportaciones.</para>
  
        <para>La mayor&iacute;a de programas est&aacute;n disponibles tanto para la 
        rama 2.2 como para la 3.x y 4.0, y muchos de ellos deber&iacute;an 
        funcionar en sistemas 2.1.x. Cada vez que se realiza una release de 
        FreeBSD, se incluye un snapshot del arbol de aplicaciones en el
        directorio <filename>ports/</filename>.</para>
  
        <para>Tambi&eacute;n trabajamos con el concepto de "package", que es,
        esencialmente una distribuci&oacute;n binaria "zipada" con una
        peque&ntilde;a informaci&oacute;n extra que realiza la instalaci&oacute;n
        del programa automaticamente. Un package puede ser instalado y
        desinstalado f&aacute;cilmente sin tener que saber los detalles de
        archivos o configuraciones que esto conlleva.</para>
  
        <para>Usa el men&uacute; de instalaci&oacute;n de "packages" en
        <filename>/stand/sysinstall</filename> (bajo la opci&oacute;n post-configuration del
        men&uacute; principal) o ejecuta el comando <command>pkg_add(1)</command> con el
        package que est&aacute;s interesado en instalar. Los package pueden ser
        identificados por su extensi&oacute;n <filename>.tgz</filename>. En la 
        distribuci&oacute;n de CDROM existe un directorio <filename>packages/All</filename> 
        en la que se encuentran todos los packages disponibles. Tambi&eacute;n 
        pueden conseguirse en la red en los siguientes servidores:</para>
  
        <para>
          <variablelist>
            <varlistentry><term>para 2.2.8-RELEASE/2.2-stable</term>
              <listitem>
                <para><ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/</ulink></para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry><term>para 3.4-release/3.4-stable</term>
              <listitem>
                <para><ulink URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/ports/i386/packages-3-stable/">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/ports/i386/packages-3-stable/</ulink></para>
                <para></para>
              </listitem>
            </varlistentry>

            <varlistentry><term>para 4.0-current</term>
              <listitem>
                <para><ulink URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/ports/i386/packages-4-current/">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/ports/i386/packages-4-current/</ulink></para>
              </listitem>
            </varlistentry>
          </variablelist>
        </para>
  
        <para>o en tu mirror m&aacute;s cercano.</para>
  
        <para>Ten en cuenta que no todos los ports est&aacute;n disponibles como
        packages. Es siempre buena idea visitar periodicamente la
        direcci&oacute;n <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/">ftp.FreeBSD.org</ulink>.
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;D&oacute;nde encuentro la librer&iacute;a libc.so.3.0?</para>
      </question>

      <answer>
        <para>Est&aacute;s intentando ejecutar un package para versi&oacute;n 
        2.2/3.x/4.0 en un sistema de versi&oacute;n 2.1.x. Por favor, mira en la 
        secci&oacute;n anterior y usa el package adecuado para tu sistema.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="emul">
        <para>Ghostscript tiene muchos errores con mi 386/486SX.</para>
      </question>

      <answer>
        <para>No tienes coprocesador matem&aacute;tico, verdad?
        Necesitar&aacute;s a&ntilde;adir el emulador matem&aacute;tico en tu 
        kernel; puedes hacerlo a&ntilde;adiendo lo siguiente en el archivo de 
        configuraci&oacute;n del kernel:</para>
  
        <para>
          <literallayout>
options GPL_MATH_EMULATE
          </literallayout>
        </para>
  
        <para><acronym>NOTA</acronym> Necesitar&aacute;s eliminar la opci&oacute;n 
        <symbol>MATH_EMULATE</symbol>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Cuando ejecuto una aplicaci&oacute;n SCO/iBCS2, falla en 
        <emphasis remap=tt>socksys</emphasis>.</para>
      </question>

      <answer>
        <para>Primero necesitas editar el archivo <filename>/etc/sysconfig</filename>
        (o <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">/etc/rc.conf</ulink>) 
        y en la &uacute;ltima secci&oacute;n cambiar la siguiente variable a 
        <acronym>YES</acronym>:</para>
  
        <para>
          <literallayout>        
# Set to YES if you want ibcs2 (SCO) emulation loaded at startup
ibcs2=NO
          </literallayout>
        </para>
  
        <para>El kernel caragar&aacute; el m&oacute;dulo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ibcs2">ibcs2</ulink>
        al arrancar.</para>
  
        <para>A continuaci&oacute;n necesitar&aacute;s configurar /compat/ibcs2/dev
        de la siguiente manera</para>
  
        <para>
          <literallayout>
lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 X0R@ -&gt; /dev/null
lrwxr-xr-x  1 root  wheel         7 Oct 15 22:20 nfsd@ -&gt; socksys
-rw-rw-r--  1 root  wheel         0 Oct 28 12:02 null
lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 socksys@ -&gt; /dev/null
crw-rw-rw-  1 root  wheel   41,   1 Oct 15 22:14 spx
          </literallayout>
        </para>
  
        <para>Solo necesitas el socksys para ir a 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?null(4)">/dev/null</ulink>
        e imitar la apertura y cierre de archivos. El c&oacute;digo en -current
        gestionar&aacute; el resto. Esto es mucho m&aacute;s limpio que la 
        manera en la que se hac&iacute;a antes. Si quieres el driver 
        <emphasis remap=tt>spx</emphasis> para un conexi&oacute;n, define 
        <symbol>SPX_HACK</symbol> cuando compiles el kernel.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo configuro INN (Internet News) para mi m&aacute;quina?</para>
      </question>

      <answer>
        <para>Despu&eacute;s de la instalaci&oacute;n del package o port de inn, 
        un excelente lugar para empezar es
        <ulink URL="http://www.cis.ohio-state.edu/~barr/INN.html">Dave Barr's INN Page</ulink> 
        donde encontrar&aacute;s las FAQ de INN.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; versi&oacute;n de Microsoft FrontPage debo usar?</para>
      </question>

      <answer>
        <para>Usa el Port. Una versi&oacute;n pre-parcheada para Apache est&aacute; 
        disponible en la colecci&oacute;n de ports.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;FreeBSD soporta Java?</para>
      </question>

      <answer>
        <para>S&iacute;. Por favor, mira en 
        <ulink URL="http://www.FreeBSD.org/java/">http://www.FreeBSD.org/java/</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; no puedo compilar este port en mi m&aacute;quina
        3.x-stable?</para></question><answer>

        <para>Si utilizas una versi&oacute;n de FreeBSD que ha quedado ligeramente anticuada
        con respecto a -stable o -current necesitar&aacute;s el kit de actualizaci&oacute;n
        de ports disponible en 
        <ulink URL="http://www.FreeBSD.org/ports/">http://www.FreeBSD.org/ports/</ulink>. 
        Si tienes una versi&oacute;n actualizada, es posible que alguien haya modificado 
        el port de manera que &eacute;ste compile en -current pero no en -stable. Por favor, 
        env&iacute;a un informe de error con el comando <command>send-pr(1)</command> ya que 
        la colecci&oacute;n de ports est&aacute; pensada para que funcione tanto en las ramas 
        -stable como -current.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;D&oacute;nde encuentro ld.so?</para>
      </question>

      <answer>
        <para>Si quieres ejecutar aplicaciones a.out como Netscape en sistemas con 
        formato de ejecuci&oacute;n ELF como FreeBSD 3.1-RELEASE o posteriores, 
        necesitar&aacute;s la librer&iacute;a /usr/libexec/ld.so y algunas otras
        en formato a.out. Estas librer&iacute;as est&aacute;n incluidas en la
        distribuci&oacute;n compat22. Usa /stand/sysinstall o el script install.sh
        en el subdirectorio compat22 e instalala. Tambi&eacute;n deber&iacute;an
        consultarse los archivos ERRATA de FreeBSD 3.1-R y 3.2-R.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="kernelconfig">
  <title>Configuraci&oacute;n del Kernel</title>

  <qandaset>
    <qandaentry>
      <question id="make-kernel">
        <para>Me gustar&iacute;a personalizar mi kernel. &iquest;Es dif&iacute;cil?</para>
      </question>

      <answer>
        <para>No!, primero, necesitas la distribuci&oacute;n completa de fuentes o,
        por lo menos, la distribuci&oacute;n de fuentes del kernel. De esta manera
        tienes los fuentes necesarios para crearte un nuevo kernel. Al
        contrario que muchos Unix comerciales, nosotros tenemos la pol&iacute;tica
        de <acronym>NO</acronym> vender nuestro kernel en formato binario.</para>
  
        <para>La instalaci&oacute;n de los fuentes ocupa un poco m&aacute;s de 
        espacio, pero te permite consultar los fuentes del kernel en caso de 
        dificultad o entender que est&aacute; ocurriendo realmente en la 
        ejecuci&oacute;n del sistema.</para>
  
        <para>Una vez tienes instalada la distribuci&oacute;n completa de fuentes, o
        por lo menos la del kernel, haz lo siguiente como root:</para>
  
        <para>
        <orderedlist>
          <listitem>
            <para> <command>cd /usr/src/sys/i386/conf</command></para>
          </listitem>

          <listitem>
            <para> <emphasis remap=tt>cp GENERIC MYKERNEL</emphasis></para>
          </listitem>

          <listitem>
            <para> <emphasis remap=tt>vi MYKERNEL</emphasis></para>
          </listitem>

          <listitem>
            <para> <emphasis remap=tt>config MYKERNEL</emphasis></para>
          </listitem>

          <listitem>
            <para> <emphasis remap=tt>cd ../../compile/MYKERNEL</emphasis></para>
          </listitem>

          <listitem>
            <para> <emphasis remap=tt>make depend</emphasis></para>
          </listitem>

          <listitem>
            <para> <emphasis remap=tt>make all</emphasis></para>
          </listitem>

          <listitem>
            <para> <emphasis remap=tt>make install</emphasis></para>
          </listitem>

          <listitem>
            <para> <emphasis remap=tt>reboot</emphasis></para>
          </listitem>
        </orderedlist>
        </para>
  
        <para>El paso 2 no es necesario si todav&iacute;a tienes un archivo de
        configuraci&oacute;n del kernel de una release anterior de FreeBSD
        2.X. - simplemente, copia el archivo antiguo y exam&iacute;nalo
        cuidadosamente para asegurar que no haya cambiado la sintaxis
        da alg&uacute;n driver, o haya alguno anticuado.</para>
  
        <para>Un buen archivo de configuraci&oacute;n para consultar es <acronym>LINT</acronym>,
        el cual contiene ejemplos documentados para todas las posibles
        opciones del kernel. El archivo de configuraci&oacute;n <acronym>GENERIC</acronym> se
        usa para crear el kernel "por defacto" que es el que estar&aacute;s
        usando si no has creado ninguno nuevo.</para>
  
        <para>Si no necesitas hacer ning&uacute;n cambio al archivo <acronym>GENERIC</acronym>,
        puedes saltar al paso 3, donde personalizas el kernel para tu
        sistema. El paso 8 solo debe ejecutarse si los pasos 6 y 7 se
        han realizado de manera satisfactoria. Esto copiar&aacute; una 
        im&aacute;gen del nuevo kernel a <filename>/kernel</filename> y 
        <emphasis remap=bf>realizar&aacute; una copia del antiguo kernel en</emphasis> 
        <filename>/kernel.old</filename>. Es muy importante recordar esto por si el 
        nuevo kernel falla en algun momento - puedes seleccionar <filename>kernel.old</filename> 
        en el prompt de arranque. Al hacer un reboot, por defecto se cargar&aacute; el 
        nuevo kernel.</para>
  
        <para>Si la compilaci&oacute;n en el paso 7 falla por alguna raz&oacute;n, es
        recomendable que empieces desde el paso 4 substituyendo
        <acronym>GENERIC</acronym> por <acronym>MYKERNEL</acronym>. Si puedes generar el kernel
        <acronym>GENERIC</acronym>, significa que algo en tu archivo de configuraci&oacute;n
        es incorrecto (o has decubierto un bug). Si la compilaci&oacute;n del
        kernel <acronym>GENERIC</acronym> falla, posiblemente tengas los fuentes
        corruptos.</para>
  
        <para>Finalmente, si necesitas ver los mensajes originales de arranque
        del sistema para compilar un nuevo kernel, ejecuta el comando
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?dmesg">dmesg</ulink>. Este 
        comando debe imprimir en pantalla todos los
        mensajes producidos por el kernel al arrancar, los cuales te
        pueden servir en la configuraci&oacute;n de tu nuevo kernel.</para>
  
        <para><acronym>NOTA</acronym> Recomendamos hacer un historial fechado de los kernel
        que vayas creando, de la manera <filename>kernel.YYMMDD</filename> una vez est&eacute;n
        funcionando correctamente. De esta manera, si la pr&oacute;xima vez que
        juegues con el kernel algo no funciona, puedes arrancar desde el
        &uacute;ltimo kernel correcto. Esto es especialmente importante si ahora
        est&aacute;s arrancando desde una controladora no soportada por el kernel
        GENERIC (si, experiencia personal).</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>La compilaci&oacute;n del kernel falla por "<symbol>_hw_float</symbol> is 
        missing."</para>
      </question>

      <answer>
        <para>Dejame adivinar. Has borrado 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?npx(4)">npx0</ulink>
        de tu archivo de configuraci&oacute;n porque no tienes coprocesador
        matem&aacute;tico, no? Mal hecho :-) El dispositivo <emphasis remap=tt>npx0</emphasis> es
        <acronym>OBLIGATORIO</acronym>. Aunque no tengas coprocesador, debes incluir
        el dispositivo <emphasis remap=tt>npx0</emphasis></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Conflicto de interrupciones con tarjeta serie multi-port.</para>
      </question>

      <answer>
        <para>Cuando compilo el kernel con drivers para tarjetas serie
        multipuerto, el sistema me dice que s&oacute;lo el primer puerto es
        testeado y el resto son obviados debido a conflictos de 
        interrupci&oacute;n. C&oacute;mo soluciono esto?</para>
  
        <para>El problema en este caso es que FreeBSD tiene c&oacute;digo interno que
        evita caidas del sistema por conflictos de hardware o software. La
        manera de solucionar esto es dejar en blanco la entrada correspondiente
        a la irq en todos los puertos excepto en uno. Aqu&iacute; tienes un 
        ejemplo:</para>
  
        <para>
        <literallayout>        #
        # Multiport high-speed serial line - 16550 UARTS
        #
        device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
        device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
        device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
        device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo activo el soporte para discos QIC-40/80?</para>
      </question>

      <answer>
        <para>Necesitas "descomentar" la siguiente l&iacute;nea en el archivo 
        gen&eacute;rico de configuraci&oacute;n (o a&ntilde;adirla en tu propio 
        archivo), a&ntilde;ade un <literal>flags 0x1</literal> en la l&iacute;nea
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fdc(4)">fdc</ulink>
        y recompila.</para>
  
        <para>
        <literallayout>
controller  fdc0  at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr
disk        fd0   at fdc0 drive 0                       ^^^^^^^^^
disk        fd1   at fdc0 drive 1
#tape       ft0   at fdc0 drive 2
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        </literallayout>
        </para>
  
        <para>A continuaci&oacute;n, crea un nuevo dispositivo llamado
        <filename>/dev/ft0</filename> entrando en el directorio <filename>/dev</filename> 
        y ejecutando el comando:</para>

        <para>
        <literallayout>        sh ./MAKEDEV ft0
        </literallayout>
        </para>
  
        <para>Para el primer dispositivo. <emphasis remap=tt>ft1</emphasis> para el 
        segundo y as&iacute; para todos los dispositivos de este tipo que tengas.</para>
  
        <para>Tendr&aacute;s un dispositivo llamado <filename>/dev/ft0</filename>, al cual puedes
        escribir a trav&eacute;s de un programa especial de manejo llamado
        <emphasis remap=tt>ft</emphasis> - mira el man en 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ft">ft</ulink> 
        para m&aacute;s detalles.</para>
  
        <para>Versiones anteriores a la <option>-current</option> ten&iacute;an algunos problemas
        al encontrase con cintas en mal estado; si tienes problemas en los
        que parece que la cinta se rebovina siempre al llegar al mismo
        lugar, intenta utilizar la &uacute;ltima versi&oacute;n del programa 
        <emphasis remap=tt>ft</emphasis> que encontrar&aacute;s en 
        <filename>/usr/src/sbin/ft</filename> en <option>-current</option>.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="admin">
  <title>Administraci&oacute;n de sistema</title>

  <qandaset>
    <qandaentry>
      <question>
        <para>&iquest;D&oacute;nde est&aacute;n los archivos de configuraci&oacute;n 
        de arranque del sistema?</para>
      </question>

      <answer>
        <para>De la versi&oacute;n 2.0.5R a la 2.2.1R, el archivo principal de
        configuraci&oacute;n es <filename>/etc/sysconfig</filename>. Todas las opciones son
        especificadas en este archivo y otros como 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc">/etc/rc</ulink> y
        <filename>/etc/netstart</filename>.</para>
  
        <para>Mira en el archivo <filename>/etc/sysconfig</filename> y cambia los valores
        para tu sistema. Este archivo est&aacute; comentado para ayudar en la
        configuraci&oacute;n</para>
  
        <para>En versiones posteriores a la 2.2.1 y 3.0 el archivo
        <filename>/etc/sysconfig</filename> fue renombrado como 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">rc.conf</ulink>.
        La sintaxis tambi&eacute;n fue retocada para ser m&aacute;s descriptiva. El 
        archivo <filename>/etc/netstart</filename> tambi&eacute;n fue renombrado como
        <filename>/etc/rc.network</filename> para que todos los archivos de 
        configuraci&oacute;n puedan ser copiados con el comando 
        <command><ulink URL="http://www.FreeBSD.org/cgi/man.cgi?cp">cp</ulink> 
        /usr/src/etc/rc* /etc</command>.</para>
  
        <para><filename>/etc/rc.local</filename> existe como siempre y deber&iacute;a ser usado
        para arrancar servicios locales adicionales como 
        <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^inn">INN</ulink> o
        programas propios.</para>
  
        <para>El archivo <filename>/etc/rc.serial</filename> es para la inicializaci&oacute;n
        de puertos serie.</para>
  
        <para>El archivo <filename>/etc/rc.i386</filename> es para especificaciones propias
        de Intel, como la emulaci&oacute;n iBCS2 o la configuraci&oacute;n de la
        consola del sistema.</para>
  
        <para>A partir de la versi&oacute;n 2.1.0R, tambi&eacute;n puedes tener un 
        directorio en el que instalar archivos de arranque locales especificado en
        <filename>/etc/sysconfig</filename> (o <filename>/etc/rc.conf</filename>):</para>
  
        <para>
        <literallayout>        # Localizaci&oacute;n de los archivos de arranque locales.
        local_startup=/usr/local/etc/rc.local.d
        </literallayout>
        </para>
  
        <para>Cada archivo acabado en <filename>.sh</filename> ser&aacute; ejecutado en orden
        alfab&eacute;tico.</para>
  
        <para>Si quieres asegurarte de un cierto orden en la ejecuci&oacute;n sin 
        tener que cambiar todos los nombres de los archivos, puedes usar un 
        esquema similar al siguiente con d&iacute;gitos al principio del nombre 
        de cada archivo:</para>
  
        <para>
        <literallayout>        10news.sh
        15httpd.sh
        20ssh.sh
        </literallayout>
        </para>
  
        <para>Puede ser visto como "malo" (o SysV :-)) pero nos provee de un
        esquema regular para programas a&ntilde;adidos localmente sin tener que
        hacer ediciones complicadas del archivo <filename>/etc/rc.local</filename>.
        Muchos de los ports/packages asumen que <filename>/usr/local/etc/rc.d</filename>
        es un directorio de arranque local.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo a&ntilde;ado un usuario facilmente?</para>
      </question>

      <answer>
        <para>Usa el comando 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?adduser">adduser</ulink>. 
        Para opciones m&aacute;s avanzadas, usa el comando 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?pw">pw</ulink></para>
  
        <para>Para borrar a un usuario, usa el comando 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rmuser">rmuser</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo a&ntilde;adir mi nuevo disco a FreeBSD?</para>
      </question>

      <answer>
        <para>Consultar el Tutorial de Formateo de Discos en
        <ulink URL="../../tutorials/diskformat/">www.FreeBSD.org</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Tengo un nuevo disco removible, &iquest;como lo uso?</para>
      </question>

      <answer>
        <para>Se trate de un disco removible como un ZIP o EA (o un floppy,
        si quieres usarlo de esta manera), o un nuevo disco duro, una vez
        instalado y reconocido por el sistema, y tengas tu
        cartridge/floppy/etc en su interior, las cosas son como para la
        mayor&iacute;a de dispositivos.</para>
  
        <para><anchor id="disklabel">(esta secci&oacute;n esta basada en 
        <ulink URL="http://vinyl.quickweb.com/mark/FreeBSD/ZIP-FAQ.html">Mark Mayo's ZIP FAQ</ulink>)</para>
  
        <para>Si es un disco ZIP o floppy, y est&aacute; formateado en DOS, puedes
        usar el comando:</para>
  
        <para>
        <literallayout>        
mount -t msdos /dev/fd0c /floppy
        </literallayout>
        </para>
  
        <para>Si es un floppy, o este:</para>
  
        <para>
        <literallayout>        
mount -t msdos /dev/da2s4 /zip
        </literallayout>
        </para>
  
        <para>para un disco ZIP con la configuraci&oacute;n de f&aacute;brica.</para>
  
        <para>Para otros discos, mira como configurarlos usando 
        <emphasis remap=tt>fdisk</emphasis> o
        <filename>/stand/sysinstall</filename>.</para>
  
        <para>El resto de ejemplos ser&aacute;n para un disco ZIP en da2, el tercer
        disco SCSI.</para>
  
        <para>A no ser que se trate de un floppy o disco removible, lo que
        planeas compartir con otros usuarios, es aconsejable convertir
        el formato de archivos a BSD. Obtendr&aacute;s nombre de archivos largos,
        como m&iacute;nimo doblar&aacute;s la velocidad de acceso del disco, y 
        mucha m&aacute;s estabilidad. Antes, necesitas rehacer las particiones. 
        Puedes usar el comando 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fdisk">fdisk</ulink> 
        o la utilidad <filename>/stand/sysinstall</filename>. Si es un
        disco peque&ntilde;o que quieres dedicar enteramente a FreeBSD, solo
        tienes que eliminar la FAT y tabla de particiones, y usar el sistema
        de particiones de FreeBSD:</para>
  
        <para>
        <literallayout>        
dd if=/dev/zero of=/dev/rda2 count=2
disklabel -Brw da2 auto
        </literallayout>
        </para>
  
        <para>Puedes usar el comando disklabel o
        <filename>/stand/sysinstall</filename> para crear m&uacute;ltiples 
        particiones BSD.</para>
  
        <para>Finalmente, crea un nuevo sistema de archivos:</para>
  
        <para>
        <literallayout>        
newfs /dev/rda2c
        </literallayout>
        </para>
  
        <para>y montalo:</para>
  
        <para>
        <literallayout>        
mount /dev/da2c /zip
        </literallayout>
        </para>
  
        <para>Ser&iacute;a una buena idea a&ntilde;adir una l&iacute;nea como esta 
        en el archivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fstab">/etc/fstab</ulink> 
        para que solo tengas que teclear "mount /zip" las siguientes veces.</para>
  
        <para>
        <literallayout>        
/dev/da2c /zip ffs rw,noauto 0 0
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo monto una partici&oacute;n secundaria DOS?</para>
      </question>

      <answer>
        <para>Las particiones DOS secundarias se encuentran despu&eacute;s de TODAS
        las particiones primarias. Por ejemplo, si tienes una partici&oacute;n
        "E" como la segunda partici&oacute;n DOS en el segundo disco SCSI, 
        necesitas crear los archivos especiales para el dispositivo 5 en /dev, y 
        despu&eacute;s montar /dev/da1s5:</para>
  
        <para>
        <literallayout>        
# cd /dev
# ./MAKEDEV da1s5
# mount -t msdos /dev/da1s5 /dos/e
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puedo montar otros sistemas de archivos bajo FreeBSD?</para>
      </question>

      <answer>
        <para><emphasis remap=bf>Digital UNIX</emphasis> UFS CDROMs pueden ser 
        montados directamente en FreeBSD. Montar particiones de disco de 
        Digital UNIX y otros sistemas que soportan UFS puede ser m&aacute;s complejo, 
        dependiendo de los detalles de la partici&oacute;n de disco del sistema 
        operativo en cuesti&oacute;n.</para>
  
        <para><emphasis remap=bf> Linux</emphasis>: 2.2 y posteriores soportan 
        particiones <emphasis remap=bf>ext2fs</emphasis>. Mira 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?mount_ext2fs">mount_ext2fs</ulink> 
        para m&aacute;s informaci&oacute;n.</para>
  
        <para><emphasis remap=bf> NT</emphasis>: Existe un driver de solo lectura 
        de NTFS para FreeBSD. Para m&aacute;s informaci&oacute;n, mira este tutorial 
        de Mark Ovens en
        <ulink URL="http://www.users.globalnet.co.uk/~markov/ntfs_install.html">http://www.users.globalnet.co.uk/~markov/ntfs_install.html</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo usar el "NT loader" para arrancar FreeBSD?</para>
      </question>

      <answer>
        <para>La idea general es que copies el primer sector de la partici&oacute;n
        root nativa de FreeBSD en un archivo en la partici&oacute;n DOS/NT.
        Asumiento que nombras a ese archivo como <filename>c:\bootsect.bsd</filename>
        puedes editar el archivo <filename>c:\boot.ini</filename> para conseguir
        algo como esto:</para>
  
        <para>
        <literallayout>        
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
C:\BOOTSECT.BSD="FreeBSD"
C:\="DOS"
        </literallayout>
        </para>
  
        <para>Este proceso asume que DOS, NT, FreeBSD o cualquier otro sistema
        ha sido instalado en sus respectivas particiones en el mismo disco.
        En nuestro caso, DOS y NT est&aacute;n en la primera partici&oacute;n 
        y FreeBSD en la segunda. Instalamos FreeBSD para arrancarlo desde su 
        partici&oacute;n nativa y no desde el disco MBR.</para>
  
        <para>Monta un floppy formateado en DOS bajo la partici&oacute;n 
        <filename>/mnt</filename>.</para>
  
        <para>
        <literallayout>        
dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1
        </literallayout>
        </para>
  
        <para>Rearranca en DOS o NT. Copia el archivo 
        <filename>bootsect.bsd</filename> y/o el archivo 
        <filename>bootsect.lnx</filename> del floppy a 
        <emphasis remap=tt>C:\</emphasis>. Modifica los atributos a 
        <filename>boot.ini</filename> con:</para>
  
        <para>
        <literallayout>        
attrib -s -r c:\boot.ini
        </literallayout>
        </para>
  
        <para>Edita y a&ntilde;ade las l&iacute;neas apropiadas del boot.ini mostrado
        enteriormente de ejemplo, y vuelve a poner los atributos originales:</para>
  
        <para>
        <literallayout>        
attrib +s +r c:\boot.ini
        </literallayout>
        </para>
  
        <para>Si FreeBSD est&aacute; arrancando desde el MBR, restauralo desde el
        comando <emphasis remap=tt>fdisk</emphasis> despu&eacute;s de reconfigurarlos 
        para arrancar desde sus particiones nativas.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo arranco FreeBSD y Linux desde LILO?</para>
      </question>

      <answer>
        <para>Si tienes FreeBSD y Linux en el mismo disco, solo tienes que seguir
        las instrucciones de instalaci&oacute;n de LILO para arrancar un sistema
        operativo no Linux. Brevemente, son estas:</para>
  
        <para>Arranca Linux, y a&ntilde;ade las siguientes l&iacute;neas en el 
        archivo <filename>/etc/lilo.conf</filename>:
        <literallayout>      
other=/dev/hda2
table=/dev/hda
label=FreeBSD
        </literallayout>
 
        (Asumiendo que tu partici&oacute;n FreeBSD es conocida por Linux como
        <filename>/dev/hda2</filename>). A continuaci&oacute;n, ejecuta 
        <emphasis remap=tt>lilo</emphasis> como root y ya deber&iacute;a 
        estar.</para>
  
        <para>Si FreeBSD est&aacute; en otro disco, necesitas a&ntilde;adir 
        ``<literal>loader=/boot/chain.b</literal>'' al archivo 
        <filename>lilo.conf</filename>. Por ejemplo:
        <literallayout>      
other=/dev/sdb4
table=/dev/sdb
loader=/boot/chain.b
label=FreeBSD
        </literallayout>
        </para>
  
        <para>En algunos casos necesitar&aacute;s especificar el n&uacute;mero de 
        disco en BIOS para que el cargador del boot funcione correctamente desde 
        el segundo disco. Por ejemplo, si tu disco SCSI con FreeBSD es visto por 
        el BIOS como disco 1, en el prompt del cargador de arranque 
        necesitar&aacute;s especificar:
        <literallayout>      
Boot: 1:da(0,a)/kernel
        </literallayout>
        </para>
  
        <para>En FreeBSD 2.2.5 y posteriores, puedes configurar 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?boot(8)">boot(8)</ulink>
        para que haga esto automaticamente.</para>
  
        <para>El 
        <ulink URL="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html">Linux+FreeBSD mini-HOWTO</ulink> 
        es una buena referencia para las opciones de interoperabilidad entre 
        FreeBSD y Linux.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo arranco FreeBSD y Linux usando BootEasy?</para>
      </question>

      <answer>
        <para>Instala el LILO al inicio de la partici&oacute;n de arranque del 
        Linux en lugar de hacerlo en el "Master Boot Record". As&iacute; 
        podr&aacute;s arrancar el LILO desde BootEasy.</para>
  
        <para>Si estas usando Windows-95 y Linux, tambi&eacute;n es recomendable 
        hacer esto para simplificar el arranque de Linux en caso de que sea 
        necesaria una reinstalaci&oacute;n del Windows-95 (ya que no quiere 
        convivir con otros sistemas operativos en el mismo Master Boot Record).</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puede un disco "dedicado" provocar problemas?</para>
      </question>

      <answer>
        <para><anchor id="dedicate">El proceso de instalaci&oacute;n nos permite 
        elegir dos m&eacute;todos diferentes de particionar un disco. El sistema 
        por defecto hace que el disco sea compatible con otros sistemas 
        operativos en la misma m&aacute;quina, usando las tablas de entrada de 
        fdisk (llamadas "slices" en FreeBSD). Opcionalmente, podemos instalar un
        boot-selector que nos permite seleccionar el sistema operativo con
        el que queremos arrancar.</para>
  
        <para>Mientras este es el caso m&aacute;s com&amp;&uacute;n para gente 
        proveniente del mundo de PC, para la gente proveniente del mundo Unix y 
        quienes quieren instalar una m&aacute;quina para funcionar con FreeBSD y 
        solo FreeBSD, es m&aacute;s habitual usar el sistema de reservar todo el
        espacio del disco para un solo sistema operativo.
        Si seleccionas "A)ll FreeBSD" en el editor de fdisk de la utilidad
        sysinstall, y respondes la siguiente pregunta con "No", usar&aacute;s
        este &uacute;ltimo sistema. Ten en cuenta que usando este sistema no te
        permitir&aacute; la instalaci&oacute;n de ning&uacute;n otro sistema 
        operativo o selector de arranque (boot manager).</para>
  
        <para>Entonces, &iquest;por qu&eacute; se llama "peligroso"?. Un disco en 
        este modo no contiene lo que las utilidades normales de un PC 
        considerar&iacute;an una tabla de partici&oacute;n de archivos v&aacute;lida. 
        Dependiendo del dise&ntilde;o de estas aplicaciones, puede que da&ntilde;en 
        el sector de arranque una vez entren en contacto con el disco. Por lo menos una 
        BIOS Award usada por m&aacute;quinas HP Netservers (pero no s&oacute;lo 
        por ellos) es concocida por ignorar los disco duros que no contengan lo 
        que el BIOS entiende por una tabla de archivos v&aacute;lida.</para>
  
        <para>Para volver un disco "peligrosamente dedicado" a formato
        est&aacute;ndar de PC, hay b&aacute;sicamente dos opciones. La primera es,
        escribes suficientes bytes NULL sobre el MBR para hacer que
        las siguientes instalaciones crean que est&aacute;n en un disco s&iacute;n
        usar. Puedes hacer esto as&iacute;:</para>
  
        <para>
        <literallayout>        
dd if=/dev/zero of=/dev/rda0 count=15
        </literallayout>
        </para>
  
        <para>Alternativamente, puedes hacer:</para>
  
        <para>
        <literallayout>        
fdisk /mbr
        </literallayout>
        </para>
  
        <para>que instalar&aacute; un nuevo master boot record.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo a&ntilde;adir m&aacute;s espacio de swap?</para>
      </question>

      <answer>
        <para>La mejor manera es incrementar el tama&ntilde;o de tu partici&oacute;n
        de swap, o usar esta excusa para a&ntilde;adir un otro disco nuevo.</para>
  
        <para>A&ntilde;adir swap en discos separados hace las cosas m&aacute;s 
        r&aacute;pidas que simplemente a&ntilde;adir swap en el mismo disco. 
        Como ejemplo, si est&aacute;s compilando c&oacute;digo fuente en un 
        disco, y el swap est&aacute; en otro disco, es mucho m&aacute;s 
        r&aacute;pido que si el swap y la compilaci&oacute;n se realizaran en el 
        mismo disco. Esto es cierto espec&iacute;ficamente para discos SCSI.</para>
  
        <para>Los discos IDE no son capaces de permitir el acceso a ambos discos
        en el mismo canal al mismo tiempo (FreeBSD no soporta el modo 4, ya
        que todas las I/O de discos IDE son "programadas").</para>
  
        <para>Es realmente muy mala idea instalar el swap sobre NFS a no ser que
        trabajes en una red muy r&aacute;pida con un muy buen servidor.</para>
  
        <para>Aqu&iacute; hay un ejemplo para un archivo de swap de 64Mb
        <filename>/usr/swap0</filename>, piensa que puedes usar el nombre que quieras).</para>
  
        <para>Asegurate que el kernel est&aacute; compilado con la l&iacute;nea</para>
  
        <para>
        <literallayout>        
pseudo-device   vn 1   #Vnode driver (turns a file into a device)
        </literallayout>
        </para>
  
        <para>en tu archivo de configuraci&oacute;n. El kernel GENERIC la contiene. </para>
  
        <para>
        <orderedlist>
          <listitem>
            <para>crea un vn-device
            <literallayout>          
cd /dev
sh ./MAKEDEV vn0
            </literallayout>
            </para>
          </listitem>

          <listitem>
            <para>crea un swapfile (<filename>/usr/swap0</filename>)
            <literallayout>          
dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
            </literallayout>
            </para>
          </listitem>

          <listitem>
            <para>activa el archivo de swap en <filename>/etc/rc.conf</filename>
            <literallayout>          
swapfile="/usr/swap0"   # Set to name of swapfile if aux swapfile desired.
            </literallayout>
            </para>
          </listitem>

          <listitem>
            <para>rearranca la m&aacute;quina.</para>
          </listitem>
        </orderedlist>
        </para>
  
        <para>Para activar el archivo de swap inmediatamente teclea</para>
  
        <para>
        <literallayout>        
vnconfig -ce /dev/vn0c /usr/swap0 swap
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Tengo problemas para poner en marcha mi impresora.</para>
      </question>

      <answer>
        <para>Por favor, revisa la secci&oacute;n de impresoras del manual. Cubre la
        mayor&iacute;a de posibles problemas. P&aacute;sate por
        <ulink URL="../../handbook/printing.html">esta secci&oacute;n.</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi teclado no coincide con los car&aacute;cteres de pantalla.</para>
     </question>

     <answer>
        <para>El programa de control de teclado tiene una opci&oacute;n para cargar
        el mapa de teclado. En el directorio <filename>/usr/share/syscons/keymaps</filename>
        hay diferentes archivos de mapas de teclado. Selecciona el que
        corresponde a tu sistema y c&aacute;rgalo.</para>
  
        <para>
        <literallayout>        
kbdcontrol -l uk.iso
        </literallayout>
        </para>
  
        <para>Tanto el directorio <filename>/usr/share/syscons/keymaps</filename> como la
        extensi&oacute;n <filename>.kbd</filename> son asumidas por la orden
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?kbdcontrol">kbdcontrol</ulink>.</para>
  
        <para>Esto puede ser configurado en <filename>/etc/sysconfig</filename> 
        (o <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">rc.conf</ulink>).
        Mira los comentarios correspondientes en el propio archivo.</para>
  
        <para>En la versi&oacute;n 2.0.5R y posteriores, todo lo referente a fuentes,
        teclado, etc est&aacute; en <filename>/usr/share/examples/syscons</filename>.</para>
  
        <para>Actualmente se soportan los siguientes mapas de teclado:</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para>Belgian ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>Brazilian 275 keyboard Codepage 850 </para>
          </listitem>

          <listitem>
            <para>Brazilian 275 keyboard ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>Danish Codepage 865 </para>
          </listitem>

          <listitem>
            <para>Danish ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>French ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>German Codepage 850 </para>
          </listitem>

          <listitem>
            <para>German ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>Italian ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>Japanese 106 </para>
          </listitem>

          <listitem>
            <para>Japanese 106x </para>
          </listitem>

          <listitem>
            <para>Latin American </para>
          </listitem>

          <listitem>
            <para>Norwegian ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>Polish ISO-8859-2 (programmer's) </para>
          </listitem>

          <listitem>
            <para>Russian Codepage 866 (alternative) </para>
          </listitem>

          <listitem>
            <para>Russian koi8-r (shift) </para>
          </listitem>

          <listitem>
            <para>Russian koi8-r </para>
          </listitem>

          <listitem>
            <para>Spanish ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>Swedish Codepage 850 </para>
          </listitem>

          <listitem>
            <para>Swedish ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>Swiss-German ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>United Kingdom Codepage 850 </para>
          </listitem>

          <listitem>
            <para>United Kingdom ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>United States of America ISO-8859-1 </para>
          </listitem>

          <listitem>
            <para>United States of America dvorak </para>
          </listitem>

          <listitem>
            <para>United States of America dvorakx </para>
          </listitem>
        </itemizedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Las cuotas de usuario no funcionan correctamente.</para>
      </question>

      <answer>
        <para>
        <orderedlist>
          <listitem>
            <para>No actives las cuotas en '/',</para>
          </listitem>

          <listitem>
            <para>Pon el archivo de cuotas en el sistema de archivos en el que
          se vayan a forzar las cuotas de usuario:

            <literallayout>          
FS      QUOTA FILE
/usr    /usr/admin/quotas
/home   /home/admin/quotas
          ...
            </literallayout>
            </para>
          </listitem>
        </orderedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi ccd no funciona correctamente</para>
      </question>

      <answer>
        <para>El s&iacute;ntoma es:</para>
        <para>
        <literallayout>        
# ccdconfig -C
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
#
        </literallayout>
        </para>
  
        <para>Esto actualmente ocurre cuando est&aacute;s intentando concatenar las
        particiones c'. El driver ccd requiere que la partici&oacute;n sea del
        tipo FS_BSDFFS. Edita la etiqueta del disco (disklabel) que est&aacute;s
        intentando concatenar y cambia el tipo de partici&oacute;n a '4.2BSD'.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; no puedo editar el disklabel en mi ccd?</para>
      </question>

      <answer>
        <para>El s&iacute;ntoma es:</para>
        <para>
        <literallayout>        
# disklabel ccd0
(it prints something sensible here, so let's try to edit it)
# disklabel -e ccd0
(edit, save, quit)
disklabel: ioctl DIOCWDINFO: No disk label on disk;
use "disklabel -r" to install initial label
#
        </literallayout>
        </para>
  
        <para>Esto es porque el disklabel retornado por el ccd es actualmente
        uno que no corresponde con el real. Puedes resolver este problema
        escribiendo expl&iacute;citamente:</para>
  
        <para>
        <literallayout>        
# disklabel ccd0 &gt; /tmp/disklabel.tmp
# disklabel -Rr ccd0 /tmp/disklabel.tmp
# disklabel -e ccd0
(ahora funcionara)
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Soporta FreeBSD primitivas IPC System V?</para>
      </question>

      <answer>
        <para>S&iacute;, FreeBSD las soporta. Estas incluyen memoria compartida,
        mensajes y sem&aacute;foros. Necesitas a&ntilde;adir las siguientes 
        l&iacute;neas en la configuraci&oacute;n de tu kernel para activarlas.</para>
  
        <para>
        <literallayout>        
options    SYSVSHM
options    "SHMMAXPGS=64"   # 256Kb of sharable memory
options    SYSVSEM          # enable for semaphores
options    SYSVMSG          # enable for messaging
        </literallayout>
        </para>
  
        <para>Recompila e instala.</para>
  
        <para><emphasis remap=bf>NOTA:</emphasis> Quiz&aacute;s necesites incrementar 
        SHMMAXPGS a un n&uacute;mero como 4096 (16M) si quieres usar GIMP. 256K es 
        suficiente para la memoria compartida en X11R6.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="uucpmail">
        <para>&iquest;C&oacute;mo uso sendmail para envio de mail UUCP?</para>
      </question>

      <answer>
        <para>La configuraci&oacute;n de sendmail incluida en FreeBSD est&aacute; 
        preparada para sistemas que conectan directamente con Internet. Los 
        sistemas que quieran usar UUCP para el env&iacute;o de mail deben 
        utilizar otro archivo de configuraci&oacute;n.</para>
  
        <para>Retocar <filename>/etc/sendmail.cf</filename> manualmente est&aacute; considerado
        algo para puristas. La versi&oacute;n 8 de sendmail incluye un nuevo
        sistema de configuraci&oacute;n llamado
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?m4">m4</ulink>, en
        el cual la configuraci&oacute;n se realiza en un nivel m&aacute;s alto. 
        Deber&iacute;as usar los archivos de configuraci&oacute;n situados en</para>
  
        <para>
        <literallayout>        
/usr/src/usr.sbin/sendmail/cf
        </literallayout>
        </para>
  
        <para>Si no instalaste tu sistema con el c&oacute;digo fuente completo, el
        paquete de configuraci&oacute;n de sendmail est&aacute; en una 
        distribuci&oacute;n aparte. Asumiendo que tienes tu CD-ROM montado, haz:</para>
  
        <para>
        <literallayout>        
cd /usr/src
tar -xvzf /cdrom/dists/src/ssmailcf.aa
        </literallayout>
        </para>
  
        <para>No te preocupes, solo son unos cientos de kilobytes de tama&ntilde;o.
        El archivo <acronym>README</acronym> en el directorio 
        <emphasis remap=tt>cf</emphasis> puede servir como introducci&oacute;n a 
        la configuraci&oacute;n del m4.</para>
  
        <para>Para env&iacute;o y recepci&oacute;n va UUCP, te aconsejamos usar la
        opci&oacute;n <emphasis>mailertable</emphasis>. Se basa en una base de datos
        que sendmail puede usar como base para tomar las decisiones
        de enrutado del mail.</para>
  
        <para>Primero tienes que crear tu archivo <filename>.mc</filename>. Estos archivos
        se encuentran en el directorio
        <filename>/usr/src/usr.sbin/sendmail/cf/cf</filename>. Si miras, encontrar&aacute;s
        algunos ejemplos. Asumiendo que tu archivo se llama <filename>foo.com</filename>,
        todo lo que necesitas hacer para convertirlo en un archivo
        <filename>sendmail.cf</filename> v&aacute;lido es:</para>
  
        <para>
        <literallayout>        
cd /usr/src/usr.sbin/sendmail/cf/cf
make foo.cf
cp foo.cf /etc/sendmail.cf
        </literallayout>
        </para>
  
        <para>Un archivo t&iacute;pico <filename>.mc</filename> ser&iacute;a algo como:</para>
  
        <para>
        <literallayout>        
          include(`../m4/cf.m4')
          VERSIONID(`Your version number')
          OSTYPE(bsd4.4)

          FEATURE(nodns)
          FEATURE(nocanonify)
          FEATURE(mailertable)

          define(`UUCP_RELAY', your.uucp.relay)
          define(`UUCP_MAX_SIZE', 200000)

          MAILER(local)
          MAILER(smtp)
          MAILER(uucp)

          Cw    your.alias.host.name
          Cw    youruucpnodename.UUCP
        </literallayout>
        </para>
  
        <para>Las opciones <emphasis>nodns</emphasis> y <emphasis>nocanonify</emphasis> previenen
        del uso del DNS durante el tr&aacute;fico de correo. La cl&aacute;usula
        <symbol>UUCP_RELAY</symbol> se necesita por razones imperiosas, no
        preguntes :). Simplemente pon un nombre de m&aacute;quina de Internet que
        sea capaz de gestionar pseudo-dominios .UUCP; m&aacute;s sencillo,
        entrar&aacute;s el mail relay de tu ISP.</para>
  
        <para>Una vez hayas hecho esto, necesitas el archivo llamado
        <filename>/etc/mailtertable</filename>. Un ejemplo t&iacute;pico ser&iacute;a:</para>
  
        <para>
        <literallayout>        
          #
          # makemap hash /etc/mailertable.db &lt; /etc/mailertable
          #
          horus.interface-business.de   uucp-dom:horus
          .interface-business.de        uucp-dom:if-bus
          interface-business.de         uucp-dom:if-bus
          .heep.sax.de                  smtp8:%1
          horus.UUCP                    uucp-dom:horus
          if-bus.UUCP                   uucp-dom:if-bus
          .                             uucp-dom:sax
        </literallayout>
        </para>
  
        <para>Como puedes ver, esto es parte de un archivo real. Las tres
        primeras l&iacute;neas manejan casos especiales donde el correo dirigido
        a un dominio no debe ser enviado a trav&eacute;s de la ruta por defecto,
        si no a trav&eacute;s de un UUCP vecino para acortar el path de 
        env&iacute;o.  La siguiente l&iacute;nea gestiona el mail del dominio 
        local para que sea enviado v&iacute;a SMTP. Finalmente, los vecinos UUCP 
        son anotados en la parte .UUCP pseudo-domains, para poder sobreescribir 
        las reglas por defecto. La &uacute;ltima l&iacute;nea es siempre un 
        punto, que indica el mail gateway hacia el resto del mundo. Todos los 
        nombres de nodos detr&aacute;s de <emphasis remap=tt>uucp-dom:</emphasis> 
        deben ser vecinos v&aacute;lidos UUCP.</para>
  
        <para>Como recordatorio de que este archivo debe ser convertido a
        una base de datos DBM antes de ser usada, la l&iacute;nea de comandos
        para realizar esta operaci&oacute;n esta puesta como un comentario al
        inicio del archivo. Siempre tienes que ejecutar este comando
        cada vez que realices alg&uacute;n cambio en tu mailtertable.</para>
  
        <para>Si no tienes la seguridad de que una ruta de correo vaya a
        funcionar correctamente, recuerda la opci&oacute;n <option>-bt</option> de
        sendmail. Esta opci&oacute;n arranca el sendmail en <emphasis>modo test</emphasis>;
        simplemente entra 0, seguido por la direcci&oacute;n de mail sobre la que
        quieres testear la ruta. La &uacute;ltima l&iacute;nea te indica el agente
        interno, el host de destino y la direcci&oacute;n (posiblemente
        traducido). Sal de este modo tecleando Control-D.</para>
  
        <para>
        <literallayout>        
          j@uriah 191% sendmail -bt
          ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
          Enter &lt;ruleset&gt; &lt;address&gt;
          &gt; 0 foo@interface-business.de
          rewrite: ruleset  0   input: foo @ interface-business . de
          ...
          rewrite: ruleset  0 returns: $# uucp-dom $@ if-bus $: foo \
          &lt; @ interface-business . de &gt;
          &gt; ^D
          j@uriah 192%
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="ispmail">
        <para>&iquest;C&oacute;mo configuro el correo para conexiones NO 
        permanentes a Internet?</para>
      </question>

      <answer>
        <para>Si tienes una direcci&oacute;n IP fija en la conexi&oacute;n, no 
        necesitar&aacute;s ajustar nada de lo que ya viene por defecto. 
        Configura tu hostname como el nombre asignado a tu IP de Internet y 
        sendmail har&aacute; el resto.</para>
  
        <para>Si tienes direcciones IP asignadas dinamicamente y usas una
        conexi&oacute;n <emphasis remap=bf>ppp</emphasis> a Internet, probablemente 
        tendr&aacute;s un buz&oacute;n en el servidor de correo de tu proveedor. 
        Supongamos que el dominio de tu proveedor es <filename>myisp.com</filename>, 
        y tu nombre de usuario es <emphasis remap=tt>user</emphasis>. Supongamos 
        tambi&eacute;n que has llamado a tu m&aacute;quina <filename>bsd.home</filename> 
        y que tu proveedor te ha indicado que uses la m&aacute;aquina 
        <filename>relay.myISP.com</filename> como mail realy (gateway).</para>
  
        <para>Para poder recoger el correo de tu buz&oacute;n necesitar&aacute;s 
        instalar un agente de recogida de correo. <emphasis remap=bf>Fetchmail</emphasis> 
        es una buena opci&oacute;n ya que soporta diferentes protocolos. Normalmente se usa 
        POP3.  Puedes recoger automaticamente tu correo al realizar la
        conexi&oacute;n a&ntilde;adiendo la siguiente l&iacute;nea en el archivo
        <filename>/etc+ppp/ppp.linkup</filename>:</para>
  
        <para>
        <literallayout>        
            MYADDR:
            !bg su user -c fetchmail
        </literallayout>
        </para>
  
        <para>Asumimos que tienes una cuenta para <emphasis remap=tt>user</emphasis> 
        en <filename>bsd.home</filename>. En el home directory de 
        <emphasis remap=tt>user</emphasis> en <filename>bsd.home</filename>, crea el 
        archivo <filename>.fetchmailrc</filename>:</para>
  
        <para>
        <literallayout>        
          poll myISP.com protocol pop3 fetchall pass MySecret;
        </literallayout>
        </para>
  
        <para>No hace falta decir que este archivo no debe ser "leible" por nadie
        excepto <emphasis remap=tt>user</emphasis> ya que contiene el password 
        <emphasis remap=tt>MySecret</emphasis>.</para>
  
        <para>Para enviar el correo con la cabecera <emphasis remap=bf>from:</emphasis> 
        correcta, debes decirle al sendmail que use <email>user@myISP.com</email> en lugar de
        <email>user@bsd.home</email>. Tambi&eacute;n deber&iacute;as decirle al sendmail 
        que envie todo el correo saliente a traves de <filename>relay.myISP.com</filename>, para 
        una transmisi&oacute;n mucho m&aacute;s r&aacute;pida.</para>
  
        <para>El siguiente archivo <filename>.mc</filename> debe ser suficiente:</para>
  
        <para>
        <literallayout>        
          VERSIONID(`bsd.home.mc version 1.0')
          OSTYPE(bsd4.4)dnl
          FEATURE(nouucp)dnl
          MAILER(local)dnl
          MAILER(smtp)dnl
          Cwlocalhost
          Cwbsd.home
          CwmyISP.com
          MASQUERADE_AS(`myISP.com')dnl
          FEATURE(allmasquerade)dnl
          FEATURE(masquerade_envelope)dnl
          FEATURE(nocanonify)dnl
          FEATURE(nodns)dnl
          define(SMART_HOST, `relay.myISP.com')
          DmmyISP.com
          define(`confDOMAIN_NAME',`myISP.com')dnl
          define(`confDELIVERY_MODE',`deferred')dnl
       </literallayout>
       </para>
  
        <para>Mira en la secci&oacute;n anterior para los detalles de como convertir
        este archivo <filename>.mc</filename> en un <filename>sendmail.cf</filename>. 
        No te olvides de rearrancar sendmail despu&eacute;s de cada actualizaci&oacute;n del 
        archivo sendmail.cf.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Olvid&eacute; el password de Root!!</para>
      </question>

      <answer>
        <para>Tranquilo!!!. Simplemenre rearranca tu sistema, teclea -s en el 
        prompt de arranque para entrar en modo monousuario. En la pregunta
        sobre el shell a usar, pulsa ENTER. Aparecer&aacute; un prompt #. Teclea
        <command>mount -u /</command> para remontar tu sistema de archivos en modo
        de lectura/escritura y a continuaci&oacute;n teclea <command>mount -a</command> para 
        montar todos los sistemas de archivos. Ejecura <emphasis remap=tt>passwd root</emphasis>
        para cambiar el password de root. Teclea <emphasis remap=tt>exit</emphasis> para continuar
        normalmente con el arranque.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo mantengo el control sobre Control-Alt-Delete?</para>
      </question>

      <answer>
        <para>Edita el mapa de teclado que est&aacute;s usando para la 
        consola y reemplaza las palabras <emphasis remap=tt>boot</emphasis> por 
        <emphasis remap=tt>nop</emphasis>. El mapa de teclado por defecto es 
        <filename>/usr/share/syscons/keymaps/us.iso.kbd</filename>. Por supuesto si 
        usas otro mapa de teclado adecuado a tu pa&iacute;s, tendr&iacute;as que 
        editarlo.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo reformateo archivos de texto DOS a UNIX?</para>
      </question>

      <answer>
        <para>Simplemente usando este comando de perl:</para>
  
        <para>
        <literallayout>
          perl -i.bak -npe 's/\r\n/\n/g' file ...
        </literallayout>
        </para>
  
        <para>file es el archivo a procesar. La modificaci&oacute;n se hace en el 
        propio archivo dejando el original grabado con extensi&oacute;n .bak.</para>
  
        <para>Alternativamente puedes usar el comando 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tr">tr(1)</ulink></para>
  
        <para>
        <literallayout>tr -d '\r' &lt; dos-text-file &gt; unix-file</literallayout>
        </para>
  
        <para>dos-text-file es el archivo que contiene el texto DOS mientras que 
        unix-file contendr&aacute; la salida convertida. Este sistema puede
        ser m&aacute;s r&aacute;pido que usar perl.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo hace "kill" de procesos por nombre?</para>
      </question>

      <answer>
        <para>Usa <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?killall">killall(1)</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porque el su no me dejar ser root al no estar en el ACL?</para>
      </question>

      <answer>
        <para>El error proviene de sistema del autentificaci&oacute;n distribuida 
        Kerberos.  El problema no es fatal pero si molesto. Puedes ejecutar el 
        comando su con la opcion -K, o desinstalar Kerberos como se describe en 
        la siguiente secci&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo desinstalo Kerberos?</para>
      </question>

      <answer>
        <para>Para eliminar Kerberos del sistema, reinstala la distribuci&oacute;n 
        bin de la release que est&eacute;s usando. Si tienes el CDROM, puedes 
        montar el cd (asumiremos que esta en /cdrom) y ejecutar:</para>
  
        <para>
        <literallayout>
          cd /cdrom/bin
          ./install.sh
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo a&ntilde;ado pseudoterminales a mi sistema?</para>
      </question>

      <answer>
        <para>Si tienes muchos usuarios de telnet, ssh, X, o de consola, 
        probablemente terminar&aacute;s desbordando el n&uacute;mero de
        pseudoterminales del sistema. Aqu&iacute; tienes como a&ntilde;adir 
        m&aacute;s:</para>
  
        <para>
        <orderedlist>
          <listitem>
            <para>Compila e instala un nuevo kernel com la l&iacute;nea

            <literallayout>      
              pseudo-device pty 256
            </literallayout>
            </para>
            <para>en el archivo de configuraci&oacute;n.</para>
            <para></para>
          </listitem>

          <listitem>
            <para>Ejecuta el comando

            <literallayout>    
              # cd /dev
              # ./MAKEDEV pty{1,2,3,4,5,6,7}
            </literallayout>
            </para>
            <para>para crear 256 nodos de dispositivo para los nuevos terminales.</para>
            <para></para> 
          </listitem>

          <listitem>
            <para>Edita el archivo <filename>/etc/ttys</filename> y a&ntilde;ade una 
            l&iacute;nea para cada uno de los 256 terminales. Estas l&iacute;neas deben 
            seguir la estructura de las entradas existentes, algo como esto:

            <literallayout>      
              ttyqc none network
            </literallayout>
            </para>
            <para>El &oacute;rden de la designaci&oacute;n de letras es 
            <emphasis remap=tt>tty[pqrsPQRS][0-9a-v]</emphasis>, usando una 
            expresi&oacute;n regular.</para>
            <para></para>
          </listitem>

          <listitem>
            <para>Rearranca el sistema con el nuevo kernel, y lo tendr&aacute;s listo
            para funcionar.</para>
          </listitem>
        </orderedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo releer el archivo /etc/rc.conf y relanzar /etc/rc 
        sin tener que hacer un reboot?</para>
      </question>

      <answer>
        <para>Entra en modo monousuario y a continuaci&oacute;n vuelve a modo
        multiusuario.</para>
  
        <para>En la consola haz:
        <literallayout>    
          # shutdown now
          (Nota: sin -r o -h)

          # return
          # exit
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; es un sandbox?</para>
      </question>

      <answer>
        <para>Sandbox es un t&eacute;rmino de seguridad. Puede significar dos
        cosas:</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para></para>

            <para>Un proceso que es situado en el interior de una serie de muros
            virtuales dise&ntilde;ados como prevenci&oacute;n e imposibilitar
            el acceso al sistema principal en caso de que alguien comprometa
            la seguridad de ese proceso.</para>
 
            <para></para>

            <para>Se dice que el proceso es capaz de "jugar" entre los muros. 
            Esto significa que se supone que nada de lo que haga el proceso
            referente a la ejecuci&oacute;n de c&oacute;digo, puede ser capaz
            de romper los muros, as&iacute; no es necesario  hacer 
            auditor&iacute;as detalladas de su c&oacute;digo para poder conocer
            todo lo referente a los riesgos de seguridad del proceso.</para>

            <para></para>

            <para>Los muros pueden, por ejemplo, un userid. Esta es la 
            definici&oacute;n usada en las p&aacute;ginas man de seguridad y del
            programa named.</para>

            <para></para>

            <para>Veamos como ejemplo el servicio 'ntalk' (consultar /etc/inetd.conf).
            Este servicio sol&iacute;a ejecutarse con el userid de root. Ahora se
            ejecuta con el userid tty. El usuario tty esta dise&ntilde;ado para ser
            usado como usuario sandbox, dificultando as&iacute; la tarea de un
            intruso que haya conseguido penetrar en el sistema a trav&eacute;s del
            servicio ntalk. De esta manera, el intruso solo puede afectar a los
            servicios, programas o procesos propiedad del usuario tty.</para>
          </listitem>

          <listitem>
            <para></para>

            <para>Un proceso que se ha situado en el interior de una simulaci&oacute;n
            de la m&aacute;quina. Esto es m&aacute;s hard-core. B&aacute;sicamente, 
            significa que alguien que sea capaz de penetrar en el proceso, 
            creer&aacute; que ha penetrado en el sistema principal, pero de hecho, 
            ha penetrado en una simulaci&oacute;n de esa m&aacute;quina y no puede
            modificar ning&uacute;n dato real.</para>

            <para></para>

            <para>El sistema m&aacute;s com&uacute;n de conseguir esto es crear un 
            entorno simulado en un subdirectorio y ejecutar los procesos en ese
            subdirectorio mediante chroot (la raiz "/" para ese proceso es este
            directorio, no la raiz "/" real del sistema).</para>

            <para></para>

            <para>Otro sistema habitual es montar un sistema de archivos de solo
            lectura y a continuaci&oacute;,n crear un nivel de sistema de archivos
            por encima del anterior que d&eacute; al proceso la sensaci&oacute;n
            de encontrarse en un sistema de archivos de lectura/escritura. El 
            proceso creer&aacute; que es capaz de escribir esos archivos, pero 
            s&oacute;lo el proceso ve los efectos; otros procesos del sistema
            no ven absolutamente nada.</para>

            <para></para>

            <para>Se intenta crear este tipo de sandbox totalmente transparentes para
            que el usuario (o intruso) no se de cuenta que est&aacute; en &eacute;l.</para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>UNIX implementa dos tipos de sandboxes. Uno es a nivel de procesos,
        y el otro es a nivel de usuarios (userid).</para>
  
        <para>Cada proceso UNIX es totalmente independiente de cualquier otro proceso
        UNIX. Un proceso no puede modificar el espacio de direcciones de otro. Es
        diferente a los sistemas Windows en los que un proceso puede sobreescribir
        facilmente el espacio de direcciones de otro proceso, probocando una caida
        de la m&aacute;quina.</para>
  
        <para>Un proceso UNIX es propiedad de un userid determinado. Si el userid no
        es el usuario root, &eacute;ste solo podr&aacute; acceder a los procesos
        de su propiedad, evitando la intrusi&oacute;n en procesos ajenos. El
        userid tambi&eacute;n se usa como sistema de protecci&oacute;n para datos
        grabados en disco.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="x">
  <title>El sistema X Windows y las consolas virtuales</title>

  <qandaset>
    <qandaentry>
      <question>
        <para>Quiero ejecutar las X, &iquest;c&oacute;mo lo hago?</para>
      </question>

      <answer>
        <para>La manera m&aacute;s f&aacute;cil es, simplemente, especificar que 
        quieres usar las X durante el proceso de instalaci&oacute;n.</para>
  
        <para>Entonces, lee y sigue la documentaci&oacute;n de la herramienta
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&amp;query=xf86config">xf86config</ulink>, 
        la cual te ayuda a configurar el sistema XFree86 sobre
        las caracter&iacute;sticas propias de tu sistema (tarjeta de v&iacute;deo
        , rat&oacute;n, etc).</para>
  
        <para>Quiz&aacute;s te interesar&iacute;a investigar y probar el servidor 
        Xaccel, disponible a un precio muy razonable. Mira en la secci&oacute;n
        <link linkend="xig">Xi Graphics</link>  o 
        <link linkend="metrox">Metro Link</link> para m&aacute;s detalles.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="x-and-moused">
        <para>&iquest;Porqu&eacute; no funciona mi rat&oacute;n con las X?</para>
      </question>

      <answer>
        <para>Si est&aacute;s usando syscons (el driver de consola por 
        defecto), puedes configurar FreeBSD para soportar un rat&oacute;n en cada 
        consola virtual. Para evitar conflictos con las X, syscons soporta 
        un dispositivo virtual llamado <filename>/dev/sysmouse</filename>. Todos los 
        eventos recibidos desde el mouse real son escritos en el dispositivo sysmouse, 
        usando el protocolo MouseSystems. Si quieres usar el rat&oacute;n en una o 
        m&aacute;s consolas virtuales <emphasis remap=bf>y</emphasis> usar las X, 
        te recomendamos la siguiente configuraci&oacute;n:</para>
  
        <para>
        <literallayout>        
          /etc/rc.conf:
            moused_type=ps/2          # or whatever your actual type is
            moused_port=/dev/psm0     # or whatever your real port is
            moused_flags=

          /etc/XF86Config
            Section Pointer
                Protocol "MouseSystems"
                Device   "/dev/sysmouse"
                 .....
        </literallayout>
        </para>
  
        <para>Hay gente que prefiere usar <filename>/dev/mouse</filename> bajo X. Para que
        esto funcione, <filename>/dev/mouse</filename> debe estar lincado a
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sysmouse">/dev/sysmouse</ulink>:</para>
  
        <para>
        <literallayout>        
          # cd /dev
          # rm -f mouse
          # ln -s sysmouse mouse
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Los menus de X Window  y cajas de di&aacute;logo no funcionan bien.</para>
      </question>

      <answer>
        <para>Intenta desactivar la tecla Num Lock.</para>
  
        <para>Si tu tecla Num Lock est&aacute; activada por defecto al arrancar el
        sistema, deber&iacute;as a&ntilde;adir la siguiente l&iacute;nea en la 
        secci&oacute;n <emphasis remap=tt>Keyboard</emphasis> del archivo 
        <emphasis remap=tt>XF86Config</emphasis>.</para>
  
        <para>
        <literallayout>        
          # Let the server do the NumLock processing.  This should only be
          # required when using pre-R6 clients
              ServerNumLock
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; es una consola virtual y como creo m&aacute;s?</para>
      </question>

      <answer>
        <para>Las consolas virtuales te permiten tener sesiones 
        simult&aacute;neas en la misma m&aacute;quina sin necesidad de tener 
        montajes complicados como una red o ejecuci&oacute;n de X.</para>
  
        <para>Cuando el sistema arranca, mostrar&aacute; el prompt de login en el
        monitor una vez finalizado el mismo. Puedes entonces teclear
        tu login y password y empezar a trabajar (o jugar), en la primera
        consola virtual.</para>
  
        <para>En algun momento, es probablemente querras iniciar otra sesion
        , por ejemplo, para mirar la documentaci&oacute;n de un programa que 
        est&aacute;s ejecutando, o para leer el correo mientras esperas que 
        termine una sesi&oacute;n ftp que tienes establecida. Solo haz Alt-F2 y 
        encontrar&aacute;s un prompt un prompt de login esperandote en la segunda
        "consola virtual". Cuando quieras volver a la sesi&oacute;n 
        original, s&oacute;lo tienes que pulsar Alt-F1.</para>
  
        <para>La instalaci&oacute;n por defecto de FreeBSD tiene tres consolas
        virtuales activadas, y Alt-F1, Alt-F2 y Alt-F3 cambian entre ellas.</para>
  
        <para>Para activar m&aacute;s consolas virtuales, edita 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>
        y a&ntilde;ade tantas entradas como consolas virtuales quieras a 
        partir de <emphasis remap=tt>ttyv4</emphasis>, despu&eacute;s del 
        comentario "Virtual Terminals":</para>
  
        <para>
        <literallayout>        
        # Edit the existing entry for ttyv3 in /etc/ttys and change
        # "off" to "on".
        ttyv3   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv4   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv5   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv6   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv7   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv8   "/usr/libexec/getty Pc"         cons25  on secure
        ttyv9   "/usr/libexec/getty Pc"         cons25  on secure
        ttyva   "/usr/libexec/getty Pc"         cons25  on secure
        ttyvb   "/usr/libexec/getty Pc"         cons25  on secure
        </literallayout>
        </para>
  
        <para>Utiliza tantas consolas como quieras o necesites. Cuantas 
        m&aacute;s consolas tengas, m&aacute;s recursos utilizas; esto 
        puede ser importante si tienes 8MB de RAM o menos. Tambi&eacute;n te 
        puede interesar cambiar el modo <emphasis remap=tt>secure</emphasis> a 
        <emphasis remap=tt>insecure</emphasis>.</para>
  
        <para><emphasis remap=bf>NOTA IMPORTANTE</emphasis> si quieres usar un 
        servidor X <acronym>DEBES</acronym> dejar, al menos, un terminal virtual 
        sin usar (o desactivado).</para>
  
        <para>La manera m&aacute;s f&aacute;cil de desactivar una consola 
        es "apagarla". Por ejemplo, para desactivar el terminal 12, cambia esto:</para>
  
        <para>
        <literallayout>        
          ttyvb   "/usr/libexec/getty Pc"         cons25  on secure
        </literallayout>
        </para>
  
        <para>por esto:</para>
  
        <para>
        <literallayout>        
          ttyvb   "/usr/libexec/getty Pc"         cons25  off secure
        </literallayout>
        </para>
  
        <para>Si tu teclado solo tiene 10 teclas de funci&oacute;n, tendras que 
        acabar con:</para>
  
        <para>
        <literallayout>        
          ttyv9   "/usr/libexec/getty Pc"         cons25  off secure
          ttyva   "/usr/libexec/getty Pc"         cons25  off secure
          ttyvb   "/usr/libexec/getty Pc"         cons25  off secure
        </literallayout>
        </para>
  
        <para>(Tambi&eacute;n puedes, simplemente, borrar estas l&iacute;neas.)</para>
  
        <para>Una vez has editado el archivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>,
        el siguiente paso es asegurarte de que tienes suficientes
        dispositivos de terminales virtuales. La manera m&aacute;s f&aacute;cil 
        de hacerlo es:</para>
  
        <para>
        <literallayout>        
          # cd /dev
          # ./MAKEDEV vty12                 # For 12 devices
        </literallayout>
        </para>
  
        <para>A continuaci&oacute;n, la manera m&aacute;s f&aacute;cil de activar 
        las consolas virtuales es rearrancar el sistema. Si, realmente no 
        quieres rearrancarlo, puedes para el servidor de X Window y ejecutar
        (como <emphasis remap=tt>root</emphasis>):</para>
  
        <para>
        <literallayout>        
          kill -HUP 1
        </literallayout>
        </para>
  
        <para>Es imperativo que pares el servidor de X Window si est&aacute;
        funcionando, antes de ejecutar este comando. Si no lo haces,
        parecer&aacute; que tu sistema est&aacute; parado/colgado despu&eacute;s 
        de ejecutar el comando kill.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo accedo a las consolas virtuales desde X?</para>
      </question>

      <answer>
        <para>Si la consola est&aacute; actualmente mostrando X Window, 
        puedes usar Ctrl-Alt-F1, etc, para cambiar entre las consolas 
        virtuales. Ten en cuenta que una vez pases de una consola X Window
        a un terminal virtual, solo tienes que usar la tecla Alf- para volver a 
        conmutar entre terminales virtuales o volver a las X. No necesitas pulsar
        la tecla Ctrl. Si usas la tecla Ctrl para volver a las X en alguna
        de las releases antiguas, puedes encontrarte que la consola de 
        texto est&aacute; bloqueada. Pulsa la tecla Ctrl de nuevo para 
        desbloquearla.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo arranco XDM desde el archivo 
        <filename>/etc/ttys</filename>?</para>
      </question>

      <answer>
        <para>Existen dos escuelas sobre como arrancar el 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&amp;query=xdm">xdm</ulink>
        . Una escuela arranca el xdm desde el archivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink> 
        usando el ejemplo dado, mientras que la otra simplemente arranca el xdm 
        desde el archivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc">rc.local</ulink> o
        desde un script <filename>X.sh</filename> en 
        <filename>/usr/local/etc/rc.d</filename>.
        Ambos m&eacute;todos son igualmente v&aacute;lidos, y uno puede funcionar
        en situaciones que el otro no. En ambos casos el resultado es el mismo:
        el sistema X Window lanzar&aacute; un prompt de login gr&aacute;fico.</para>
  
        <para>El m&eacute;todo ttys tiene la ventaja de documentar en que vty se
        lanzar&aacute;n las X pasando la responsabilidad de rearrancar el 
        servidor X al hacer el logout al proceso init. El m&eacute;todo
        rc.local hace m&aacute;s f&aacute;cil terminar con el proceso xdm
        en caso de problemas con el servidor X.</para>
  
        <para>Si arrancamos desde rc.local, <emphasis remap=tt>xdm</emphasis> debe ser 
        arrancado sin argumentos (como un daemon). xdm debe arrancar DESPUES del proceso
        getty, o ambos entrar&aacute;n en conflicto bloqueando la 
        consola. La mejor manera de evitar este problema es tener un 
        script que retrase el arranque de xdm durante 10 segundos.</para>
  
        <para>Una versi&oacute;n previa de esta FAQ dec&iacute;a que deb&iacute;as
        a&ntilde;adir el <emphasis remap=tt>terminal virtual</emphasis> usado por las 
        X al archivo <filename>/usr/X11R6/lib/X11/xdm/Xservers</filename>. Esto no 
        es necesario: las X
        usar&aacute;n el primer <emphasis remap=tt>terminal virtual</emphasis> que 
        encuentre libre.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Cuando arranco xconsole obtengo "Couldn't open console".</para>
      </question>

      <answer>
        <para>Si arrancas las 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&amp;query=X">X</ulink> 
        con 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&amp;query=startx">startx</ulink>, 
        los permisos en /dev/console no ser&aacute;n cambiados, resultando en cosas 
        como que 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&amp;query=xterm">xterm -C</ulink> 
        y <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&amp;query=xconsole">xconsole</ulink> 
        no funcionen.</para>
  
        <para>Esto se debe a la manera en que son fijados los permisos de la
        consola. En un sistema multiusuario, podemos no querer que 
        cualquier usuario pueda escribir en la consola de sistema. Para 
        usuarios que realizan logins directamente desde una m&aacute;quina con 
        un VTY, existe el archivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fbtab">fbtab</ulink>
        para resolver estos problemas.</para>
  
        <para>Aseg&uacute;rate de que existe al menos una l&iacute;nea como esta 
        sin comentar:</para>
  
        <para>
        <literallayout>        
          /dev/ttyv0 0600 /dev/console
        </literallayout>
        </para>
  
        <para>Est&aacute; en 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fbtab(5)">/etc/fbtab</ulink> 
        y asegurar&aacute; que cualquiera que realice un login en 
        <filename>/dev/ttyv0</filename> ser&aacute; el propietario de la 
        consola.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi rat&oacute;n PS/2 no funciona bien en X.</para>
      </question>

      <answer>
        <para>Tu rat&oacute;n y el driver de rat&oacute;n quiz&aacute;s est&eacute;n
        fuera de sincronizaci&oacute;n.</para>
  
        <para>En versiones 2.2.5 y anteriores, conmutando entre sesiones X y
        sesiones de terminales virtuales, pod&iacute;a provocar una
        desincronizaci&oacute;n. Si el problema ocurre muy amenudo, 
        deber&iacute;as a&ntilde;adir la siguiente opci&oacute;n en el archivo 
        de configuraci&oacute;n de tu kernel y recompilarlo.</para>
  
        <para>
        <literallayout>        
          options PSM_CHECKSYNC
        </literallayout>
        </para>
  
        <para>Mira la secci&oacute;n <link linkend="make-kernel">creando un kernel</link>
        si no tienes experiencia en compilar nuevos kernels.</para>
  
        <para>En versiones 2.2.6 y posteriores, el chequeo de sincronizaci&oacute;n
        es realizado de otra manera, y es est&aacute;ndar en el driver de rat&oacute;n
        PS/2. Aun as&iacute;, en casos extra&ntilde;os puedes llegar a ver 
        mensajes de error de sincronizaci&oacute;n como este:</para>
  
        <para>
        <literallayout>        
          psmintr: out of sync (xxxx != yyyy)
        </literallayout>
        </para>
  
        <para>y parecer que tu rat&oacute;n no funciona adecuadamente.</para>
  
        <para>Si esto ocurre, desactiva el c&oacute;digo de chequeo de 
        sincronizaci&oacute;n poniendo los flags del driver PS/2 a 0x100. Entra 
        en <emphasis>UserConfig</emphasis> poniendo la opci&oacute;n <option>-c</option> 
        en el prompt de arranque:</para>
  
        <para>
        <literallayout>        
          boot: -c
        </literallayout>
        </para>
  
        <para>Entonces, en la l&iacute;nea de comando de <emphasis>UserConfig</emphasis>, 
        teclea:</para>
  
        <para>
        <literallayout>        
          UserConfig&gt; flags psm0 0x100
          UserConfig&gt; quit
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi rat&oacute;n PS/2 de MouseSystems no funciona.</para>
      </question>

      <answer>
        <para>Hemos recibido reportes de que algunos modelos de ratones PS/2 de
        MouseSystems solo trabajan si est&aacute;n configurados en modo "alta
        resoluci&oacute;n".</para>
  
        <para>Desafortunadamente no hay soluci&oacute;n para versiones 2.0.x y 2.1.x.
        En versiones 2.2.x, aplica el siguiente parche en
        <filename>/sys/i386/isa/psm.c</filename> y compila un nuevo kernel.</para>
  
        <para>
        <literallayout>
diff -u psm.c.orig psm.c
@@ -766,6 +766,8 @@
     if (verbose &gt;= 2)
 	log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n",
 	    unit, i);
+    set_mouse_resolution(sc-&gt;kbdc, PSMD_RES_HIGH);
+
 #if 0
     set_mouse_scaling(sc-&gt;kbdc); 	/* 1:1 scaling */
     set_mouse_mode(sc-&gt;kbdc);		/* stream mode */
        </literallayout>
        </para>
  
        <para>En versiones 2.2.6 o posteriores, especifica el flag 0x04 al
        driver PS/2 para poner el rat&oacute;n en modo de alta resoluci&oacute;n.
        Entra en <emphasis>UserConfig</emphasis>:</para>
  
        <para>
        <literallayout>        
          boot: -c
        </literallayout>
        </para>
  
        <para>y en la l&iacute;nea de comandos teclea:</para>
  
        <para>
        <literallayout>        
          UserConfig&gt; flags psm0 0x04
          UserConfig&gt; quit
        </literallayout>
        </para>
  
        <para>Mira en la secci&oacute;n anterior para posibles causas de problemas
        con los ratones.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Cuando compilo una aplicaci&oacute;n X. <emphasis remap=tt>imake</emphasis> 
        no puede encontrar el archivo <filename>imake.tmpl</filename>. &iquest;D&oacute;nde 
        est&aacute;?</para>
      </question>

      <answer>
        <para>Imake.tmpl es parte del package Imake, una aplicaci&oacute;n 
        est&aacute;ndar de compilaci&oacute;n de X. Tanto Imake como headers y otros 
        archivos necesarios para compilar aplicaciones X est&aacute;n en la 
        distribuci&oacute;n de programaci&oacute;n X. Puedes instalarla desde 
        el sysinstall o manualmente desde los archivos de la distribuci&oacute;n
        X.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo invierto los botones del rat&oacute;n?</para>
      </question>

      <answer>
        <para>Ejecuta el comando <literal> xmodmap -e "pointer = 3 2 1"</literal> desde el 
        archivo .xinitrc o .xsession.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo instalo un "splash screen" y donde los consigo?</para>
      </question>

      <answer>
        <para>Justo antes de la publicaci&oacute;n de FreeBSD 3.1 se a&ntilde;adi&oacute;
        una nueva caracter&iacute;stica que permite mostrar "splash screens" durante los
        mensajes de arranque del sistema. Los "splash screen" deben ser un bitmap de
        256 colores (<filename>*.BMP</filename>) o ZSoft PCX (<filename>*.PCX</filename>). 
        Adem&aacute;s, deben tener una resoluci&oacute;n de 320x200 o inferior para poder 
        trabajar en controladoras VGA est&aacute;ndares. Si se compila el soporte VESA 
        en el kernel, se pueden usar bitmaps de hasta 1024x768. Recordar que el soporte 
        de VESA requiere que la opci&oacute;n <emphasis remap=tt>VM86</emphasis> sea 
        compilada en el kernel. El soporte actual de VESA puede ser compilado 
        directamente en el kernel con la opci&oacute;n de configuraci&oacute;n 
        <acronym>VESA</acronym> o cargando el m&oacute;dulo kld VESA durante el arranque.</para>
  
        <para>Para usar un "splash screen" necesitas modificar los archivos de
        inicio que controlan el proceso de arranque de FreeBSD. Estos archivos cambiaron
        con FreeBSD 3.2, as&iacute; que ahora existen dos maneras de cargar un
        "splash screen":</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para>FreeBSD 3.1</para>
        
            <para>El primer paso es encontrar una versi&oacute;n bitmap de tu "splash
            screen". La release 3.1 s&oacute;lo soporta bitmaps de Windows. Una
            vez hayas elegido tu "splash screen" copiala en
            <filename>/boot/splash.bmp</filename>. A continuaci&oacute;n necesitas tener
            un archivo <filename>/boot/loader.rc</filename> que contenga las siguientes
            l&iacute;neas:</para>

            <para>
            <literallayout>            
              load kernel
              load -t splash_image_data /boot/splash.bmp
              load splash_bmp
              autoboot
            </literallayout>
            </para>
          </listitem>

          <listitem>
            <para>FreeBSD 3.2+</para>

            <para>Adem&aacute;s de soportar los "splash screens" en formato PCX, 
            FreeBSD 3.2 incluye un mejor sistema de configuraci&oacute;n
            del proceso de arranque. Si quieres, puedes usar el m&eacute;todo
            se&ntilde;alado para FreeBSD 3.1. Si lo haces, y quieres usar PCX,
            reemplaza <symbol>splash_bmp</symbol> con <symbol>splash_pcx</symbol>. Si por el
            contrario quieres usar la nueva configuraci&oacute;n de arranque, 
            necesitas crear un archivo <filename>/boot/loader.rc</filename> que contenga
            las siguientes l&iacute;neas:</para>

            <para>
            <literallayout>           
              include /boot/loader.4th
              start
            </literallayout>
            </para>

            <para></para>

            <para>y otro archivo <filename>/boot/loader.conf</filename> que contenga lo
            siguiente:</para>

            <para>
            <literallayout>           
              splash_bmp_load="YES"
             bitmap_load="YES"
            </literallayout>
            </para>

            <para></para>

            <para>Esto asume que est&aacute;s usando <filename>/boot/splash.bmp</filename>
            como tu "splash screen". Si quieres usar un archivo PCX, 
            copialo a <filename>/boot/splash.pcx</filename>, crea un archivo 
            <filename>/boot/loader.rc</filename> como se ha indicado anteriormente, y
            crea un <filename>/boot/loader.conf</filename> que contenga:</para>

            <para>
            <literallayout>           
              splash_pcx_load="YES"
              bitmap_load="YES"
              bitmap_name="/boot/splash.pcx"
            </literallayout>
            </para>
          </listitem>
        </itemizedlist>
      </para>
  
      <para>Ahora todo lo que necesitas es un "splash screen". Puedes navegar
      por una inmejorable galer&iacute;a en 
      <ulink URL="http://www.cslab.vt.edu/~jobaldwi/splash/">http://www.cslab.vt.edu/~jobaldwi/splash/</ulink>.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="networking">
<title>Networking</title>

  <qandaset>
    <qandaentry>
      <question>
        <para>&iquest;D&oacute;nde puedo encontrar informaci&oacute;n sobre 
        "diskless booting"?</para>
      </question>

      <answer>
        <para>"Diskless booting" significa que una m&aacute;quina FreeBSD sea 
        arrancada sobre una red, y lea los archivos necesarios de un servidor y no
        desde su disco duro. Para m&aacute;s detalles, por favor, lee la 
        secci&oacute;n 
        <ulink URL="../../handbook/diskless.html">diskless booting del manual</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puede una m&aacute;quina FreeBSD ser usada como router dedicado?</para>
      </question>

      <answer>
        <para>Los est&aacute;ndares de Internet y las buenas pr&aacute;cticas de 
        ingenier&iacute;a nos prohiben proveer el forward de paquetes en la 
        distribuci&oacute;n est&aacute;ndar. Aun as&iacute;, puedes activar esta 
        opci&oacute;n cambiando la siguiente variable a <acronym>YES</acronym> en el archivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf">rc.conf</ulink>:</para>
  
        <para>
        <literallayout>        
          gateway_enable=YES          # Set to YES if this host will be a gateway
        </literallayout>
        </para>
  
        <para>Esta opci&oacute;n pondr&aacute; la variable 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sysctl">sysctl</ulink>
        <filename>net.inet.ip.forwarding</filename> a <emphasis remap=tt>1</emphasis>.</para>
  
        <para>En muchos casos tambi&eacute;n necesitar&aacute;s ejecutar un proceso 
        de rutado para indicar la existencia en la red de tu router; FreeBSD 
        incluye el daemon est&aacute;ndar de rutado BSD
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?routed">routed</ulink>, 
        aunque en situaciones m&aacute;s complejas quiz&aacute;s quieras usar 
        <emphasis>GaTeD</emphasis> disponible en 
        <ulink URL="http://www.gated.org/">http://www.gated.org/</ulink></para>
  
        <para>Es nuestro deber advertirte que estando FreeBSD configurado de esta
        manera, no cumple completamente con todos los estandares de routers
        de Internet, pero es suficiente para uso ordinario.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puedo conectar mi Win95 con Internet a trav&eacute;s de 
        FreeBSD?</para>
      </question>

      <answer>
        <para>T&iacute;picamente, la gente que pregunta esto tiene dos pc's en casa,
        uno con FreeBSD y otro con Win95; la idea es usar FreeBSD para conectar
        a Internet y luego ser capaz de acceder a Internet desde el
        computador con Windows 95. Este es realmente un caso especial de la
        pregunta anterior.</para>
  
        <para>Hay un &uacute;til documento disponible que explica como configurar
        FreeBSD como un
        <ulink URL="http://www.ssimicro.com/~jeremyc/ppp.html">Router PPP</ulink></para>
  
        <para><emphasis remap=bf>NOTA:</emphasis> Esto requiere, al menos, tener 
        dos direcciones IP fijas disponibles, y posiblemente tres o m&aacute;s, 
        dependiendo del n&uacute;mero de m&aacute;quinas que quieras conectar. 
        Como alternativa, si no tienes una direcci&oacute;n IP fija, puedes usar 
        una de las subredes privadas e instalar un proxy como
        <ulink URL="http://squid.nlanr.net/Squid/">SQUID</ulink>
        y <ulink URL="http://www.tis.com/">The TIS firewall toolkit</ulink>
        en tu FreeBSD.</para>
  
        <para>Mira tambi&eacute;n la secci&oacute;n <link linkend="direct-at">natd</link>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Por que falla la compilaci&oacute;n del &uacute;ltimo BIND del ISC?</para>
      </question>

      <answer>
        <para>Hay un conflicto entre el archivo <filename>cdefs.h</filename> incluido en la
        distribuci&oacute;n de BIND y el distribuido con FreeBSD. Solo tienes que
        borrar <filename>compat/include/sys/cdefs.h</filename>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Soporta FreeBSD SLIP y PPP?</para>
      </question>

      <answer>
        <para>S&iacute;. Mira las paginas man de
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?slattach">slattach</ulink>, 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sliplogin">sliplogin</ulink>,
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?pppd">pppd</ulink> y 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>.
        <emphasis remap=tt>pppd</emphasis> y <emphasis remap=tt>ppp</emphasis> soportan 
        conexiones entrantes y salientes.
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sliplogin">Sliplogin</ulink> 
        trabaja exclusivamente con conexiones entrantes y
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?slattach">slattach</ulink> con 
        conexiones salientes.</para>
  
        <para>Estos programas son descritos en las siguientes secciones del
        <ulink URL="../../handbook/index.html">manual</ulink>:</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para>
            <ulink URL="../../handbook/slips.html">Handbook entry on SLIP (server side)</ulink>
            </para>
          </listitem>

          <listitem>
            <para>
            <ulink URL="../../handbook/slipc.html">Handbook entry on SLIP (client side)</ulink>
            </para>
          </listitem>

          <listitem>
            <para>
            <ulink URL="../../handbook/ppp.html">Handbook entry on PPP (kernel version)</ulink>
            </para>
          </listitem>

          <listitem>
            <para>
            <ulink URL="../../handbook/ppp-and-slip.html#USERPPP">Handbook entry on PPP (user-mode version)</ulink>
            </para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>Si solo tienes acceso a Internet a traves de un "shell
        account", quiz&aacute;s quieras mirar el package 
        <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^slirp">slirp</ulink>.
        Puede darte un (limitado) acceso a servicios como ftp y http.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="natd">
        <para>&iquest;Soporta FreeBSD NAT o Masquerading?</para>
      </question>

      <answer>
        <para>Si tienes una red local (una o m&aacute;s m&aacute;quinas), pero solo 
        se te ha asignado una &uacute;nica direcci&oacute;n IP desde tu proveedor
        de Internet (o si recibes las direcciones de manera din&aacute;mica), te 
        interesa mirar el programa
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?natd">natd</ulink>.
        <emphasis remap=tt>Natd</emphasis> te permite conectar una red entera a Internet usando
        solamente una direcci&oacute;n IP.</para>
  
        <para>El programa
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>
        tiene una funcionalidad similar incluida, a trav&eacute;s del 
        par&aacute;metro -alias. La 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?libalias">librer&iacute;a alias</ulink> 
        es usada en ambos casos.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>No puedo crear el dispositivo <filename>/dev/ed0</filename>!</para>
      </question>

      <answer>
        <para>En el sistema de trabajo de red de Berkeley, los interfaces de
        red solo son directamente accesibles por el c&oacute;digo del kernel. Por
        favor, mira el archivo <filename>/etc/rc.network</filename> y los man de los
        programas de red all&iacute; mencionados. Si esto te deja totalmente
        confundido, entonces tendr&iacute;as que conseguir algun libro de
        administraci&oacute;n de red de cualquier sistema operativo basado en BSD;
        con algunas excepciones significativas, administrar el sistema de red
        en FreeBSD es b&aacute;sicamente igual que en SunOS 4.0 o Ultrix.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo configurar alias de ethernets?</para>
      </question>

      <answer>
        <para>A&ntilde;ade ``<literal>netmask 0xffffffff</literal>'' en el comando 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ifconfig">ifconfig</ulink>
        como el siguiente:</para>
  
        <para>
        <literallayout>        
          ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo hago para usar el otro puerto de una 3C503?</para>
      </question>

      <answer>
        <para>Si quieres usar los otros puertos, tendr&aacute;s que especificar
        par&aacute;metros adicionales en el comando
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ifconfig">ifconfig</ulink>. 
        El puerto por defecto es <emphasis remap=tt>link0</emphasis>. Para usar el
        puerto AUI en lugar del BSN, usa <emphasis remap=tt>link2</emphasis>. Estos 
        flags tendr&iacute;an que ser especificados usando las variable ifconfig_* en 
        el archivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf">/etc/rc.conf</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Tengo problemas con NFS desde/hacia FreeBSD.</para>
      </question>

      <answer>
        <para>Algunas tarjetas de red son mejores que otras y algunas veces
        pueden causar problemas con aplicaciones de uso intensivo de red
        como NFS</para>
  
        <para>Mira la <ulink URL="../../handbook/nfs.html">entrada en el manual de NFS</ulink> 
        para m&aacute;s informaci&oacute;n sobre este tema.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; no puedo hacer NFS-mount desde Linux?</para>
      </question>

      <answer>
        <para>Algunas versiones de NFS para Linux solo aceptan peticiones
        para montar unidades hechas desde un puerto privilegiado; intenta:</para>
  
        <para>
        <literallayout>        
          mount -o -P linuxbox:/blah /mnt
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; no puedo hacer NFS-mount desde una Sun?</para>
      </question>

      <answer>
        <para>Las estaciones de trabajo Sun con SunOS 4.x solo aceptan peticiones
        de montar unidades hechas desde puertos privilegiados; intenta</para>
  
        <para>
        <literallayout>        
          mount -o -P sunbox:/blah /mnt
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Tengo problemas usando ppp contra m&aacute;quinas NeXTStep.</para>
      </question>

      <answer>
        <para>Intenta desactivar las extensiones TCP en
        url="http://www.FreeBSD.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf"&gt;
        cambiando la siguiente variable a NO:</para>
  
        <para>
        <literallayout>        
          tcp_extensions=NO
        </literallayout>
        </para>
  
        <para>Las m&aacute;quinas Xylogic's Annex tambi&eacute;n tienen este 
        problema, por lo que tienes que hacer el mismo cambio para conectar con 
        ellas.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo activo soporte de IP multicast?</para>
      </question>

      <answer>
        <para>Las operaciones multicast est&aacute;n totalmente soportadas en FreeBSD
        2.0 y superiores. Si quieres usar tu m&aacute;quina como router multicast,
        necesitar&aacute;s cargar el m&oacute;dulo de kernel <symbol>ip_mrouted_mod</symbol> y
        ejecutar el programa <emphasis remap=tt>mrouted</emphasis>.</para>
  
        <para>Para m&aacute;s informaci&oacute;n:</para>
  
        <para>
        <literallayout>
Producto        Descripcion             Donde
--------------- ----------------------- ---------------------------------------
faq.txt		Mbone FAQ		ftp.isi.edu:/mbone/faq.txt
imm/immserv	IMage Multicast 	ftp.hawaii.edu:/paccom/imm.src.tar.Z
        	for jpg/gif images.
nv		Network Video.		ftp.parc.xerox.com:
        				/pub/net-reseach/exp/nv3.3alpha.tar.Z
vat		LBL Visual Audio Tool.	ftp.ee.lbl.gov:
        				/conferencing/vat/i386-vat.tar.Z
wb		LBL White Board.	ftp.ee.lbl.gov:
        				/conferencing/wb/i386-wb.tar.Z
mmcc		MultiMedia Conference	ftp.isi.edu:
        	Control program		/confctrl/mmcc/mmcc-intel.tar.Z
rtpqual		Tools for testing the	ftp.psc.edu:/pub/net_tools/rtpqual.c
        	quality of RTP packets.
vat_nv_record	Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
        	and nv.
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; tarjetas de red est&aacute;n basadas en el chipset DEC PCI?</para>
      </question>

      <answer>
        <para>Aqu&iacute; tienes una lista hecha por 
        <ulink URL="mailto:gfoster@driver.nsta.org">Glen Foster</ulink>:</para>
  
        <para>
        <literallayout>        
        Fabricante      Modelo
        ----------------------------------------------
        ASUS            PCI-L101-TB
        Accton          ENI1203
        Cogent          EM960PCI
        Compex          ENET32-PCI
        D-Link          DE-530
        Dayna           DP1203, DP2100
        DEC             DE435, DE450
        Danpex          EN-9400P3
        JCIS            Condor JC1260
        Linksys         EtherPCI
        Mylex           LNP101
        SMC             EtherPower 10/100 (Model 9332)
        SMC             EtherPower (Model 8432)
        TopWare         TE-3500P
        Zynx            ZX342
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; tengo que usar el FQDN para hosts en mi servidor?</para>
      </question>

      <answer>
        <para>Probablemente el host estar&aacute; en un dominio diferente; por 
        ejemplo, si est&aacute;s en el dominio foo.bar.edu y quieres encontrar 
        un host llamado "mumble" en el dominio bar.edu, tendr&aacute;s que 
        llamarlo por su nombre de dominio, "mumble.bar.edu", en vez de solo 
        "mumble".</para>
  
        <para>Tradicionalmente, esto era permitido por los resolvers BIND BSD.
        La versi&oacute;n actual de 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?named">bind</ulink> que
        se incluye en FreeBSD no resuelve abreviaciones de nombres para
        hosts fuera de nuestro dominio.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>``Permission denied'' para todas las operaciones de red.</para>
      </question>

      <answer>
        <para>Si tienes el kernel compilado con la opci&oacute;n <acronym>IPFIREWALL</acronym>
        . debes tener en cuenta que la pol&iacute;tica por defecto es denegar
        expl&iacute;citamente todos los paquetes que no est&aacute;n 
        expl&iacute;citamente permitidos.</para>
  
        <para>Si involuntariamente has desconfigurado el firewall de tu sistema,
        puedes restaurar la operatibilidad de la red tecleando el siguiente
        comando como usuario root:</para>
  
        <para>
        <literallayout>        
          ipfw add 65534 allow all from any to any
        </literallayout>
        </para>
  
        <para>Para m&aacute;s informaci&oacute;n en la configuraci&oacute;n del firewall 
        de FreeBSD, mira la secci&oacute;n 
        <ulink URL="../../handbook/firewalls.html">del manual</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Cuanto tiempo retrasa IPFW el tr&aacute;fico?</para>
      </question>

      <answer>
        <para>Esta respuesta depende mucho en las reglas definidas y en la
        versi&oacute;n del procesador. Para la mayor&iacute;a de aplicaciones 
        que tienen que ver con la ethernet y peque&ntilde;as reglas, la 
        respuesta es, pr&aacute;cticamente nada.</para>
  
        <para>Aqu&iacute; tienes una lista de cosas a tener en cuenta para crear reglas
        de filtrado eficientes:</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para>Poner una regla "established" al inicio para manejar la
            mayor&iacute;a de trafico TCP. No pongas ninguna regla
            <emphasis remap=tt>allow tcp</emphasis> antes de esta.
            </para>
          </listitem>

          <listitem>
            <para>Pon las reglas m&aacute;s usadas antes de las menos usadas 
            (<emphasis remap=bf>sin modificar la permisividad del firewall</emphasis>). 
            Puedes ver cuales son las reglas m&aacute;s usadas examinando los contadores 
            de paquetes con la orden <command>ipfw -a l</command>.
            </para>
          </listitem>
        </itemizedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo redirigir peticiones de una m&aacute;quina a 
        otra?</para>
      </question>

      <answer>
        <para>Puedes redirigir peticiones FTP (y otros servicios) con el package
        "socket", disponible en la colecci&oacute;n de ports categor&iacute;a 
        "sysutils". Simplemente tienes que reemplazar la l&iacute;nea del servicio 
        correspondiente en el archivo /etc/services de la siguiente manera:</para>
  
        <para>
        <literallayout>ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp
        </literallayout>
        </para>
  
        <para>donde "ftp.foo.com" y "ftp" son la m&aacute;quina y puerto 
        de destino.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;D&oacute;nde puedo conseguir una herramienta de control de ancho 
        de banda?.</para>
      </question>

      <answer>
        <para>Existen dos herramientas de control de ancho de banda para FreeBSD.
        <ulink URL="http://www.csl.sony.co.jp/person/kjc/programs.html">ALTQ</ulink> es 
        gratis; Bandwidth Manager de
        <ulink URL="http://www.etinc.com/">Emerging Technologies</ulink> es un
        producto comercial.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; aparece "/dev/bpf0: device not configured"?</para>
      </question>

      <answer>
        <para>El driver Berkeley Packet Filter 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?bpf">(bpf)</ulink> necesita ser
        activado para ejecutar programas que lo utilizan. A&ntilde;ade esto al
        archivo de configuraci&oacute;n de tu kernel y crea uno nuevo:</para>
  
        <para>
        <literallayout>         
          pseudo-device bpfilter         # Berkeley Packet Filter
        </literallayout>
        </para>
  
        <para>A continuaci&oacute;n, despu&eacute;s de rearrancar tendr&aacute;s el 
        dispositivo. Esto puede hacerse entrando en el directorio <filename>/dev</filename>
        y ejecutando el siguiente comando:</para>
  
        <para>
        <informalexample>
          <screen>       
            # sh MAKEDEV bpf0
          </screen>
        </informalexample>
        </para>
  
        <para>Por favor, mira la <ulink URL="../../handbook/kernelconfig-nodes.html">entrada 
        correspondiente en el handbook</ulink> para m&aacute;s 
        informaci&oacute;n sobre la creaci&oacute;n de dispositivos.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="ppp">
<title>PPP</title>

  <qandaset>
    <qandaentry>
      <question id="userppp">
        <para>El ppp no funciona. &iquest;Qu&eacute; estoy haciendo mal?</para>
      </question>

      <answer>
        <para>Primero deber&iacute;as leer el 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">man de ppp</ulink> y
        la <ulink URL="../../handbook/ppp-and-slip.html#USERPPP">secci&oacute;n de 
        PPP del handbook</ulink>. Activa los logs con el comando</para>
  
        <para>
        <literallayout>        
          set log Phase Chat Connect Carrier lcp ipcp ccp command
        </literallayout>
        </para>
  
        <para>Este comando deber&iacute;a ser tecleado en el prompt del 
        <emphasis remap=bf>ppp</emphasis> o incluirse en el archivo de 
        configuraci&oacute;n <filename>/etc/ppp/ppp.conf</filename>
        (al inicio de la secci&oacute;n <emphasis remap=bf>default</emphasis> es el mejor lugar).
        Asegurate que el archivo
        url="http://www.FreeBSD.org/cgi/man.cgi?syslog.conf"
        name="/etc/syslog.conf"&gt; contiene las siguientes l&iacute;neas:</para>
  
        <para>
        <literallayout>        !ppp
        *.*              /var/log/ppp.log
        </literallayout>
        </para>
  
        <para>y que el archivo <filename>/var/log/ppp.log</filename> existe. Puedes
        encontrar mucha informaci&oacute;n sobre lo que est&aacute; pasando en las
        conexiones con el archivo de log.</para>
  
        <para>Si tu versi&oacute;n de ppp no entiende el comando "set log" 
        deber&iacute;as bajarte la
        <ulink URL="http://www.FreeBSD.org/~brian/">&uacute;ltima versi&oacute;n</ulink>. 
        Esta compilar&aacute; sin problemas en FreeBSD 2.1.5 y superiores.</para>
      </answer>
    </qandaentry> 

    <qandaentry>
      <question>
        <para>Ppp se bloquea al ejecutarlo</para>
      </question>

      <answer>

        <para>Esto ocurre normalmente por que no se puede resolver el nombre
        de la m&aacute;quina. La mejor manera de solucionar este problema
        es asegurarse que el sistema use en primer lugar el archivo
        <filename>/etc/hosts</filename> para hacer la resoluci&oacute;n de
        nombres. Para ello, basta con editar el archivo 
        <filename>/etc/host.conf</filename> y poner la l&iacute;nea
        <emphasis remap=tt>hosts</emphasis> en primer lugar. A 
        continuaci&oacute;n, simplemente hay que a&ntilde;adir una 
        l&iacute;nea para la m&aacute;quina local en el archivo
        <filename>/etc/hosts</filename>. Si no existe una red local, modificar
        la l&iacute;nea <emphasis remap=tt>localhost</emphasis>:</para>

        <para>
        <literallayout>127.0.0.1	foo.bar.com foo localhost
        </literallayout>
        </para>

        <para>A&ntilde;adir otra l&iacute;nea para la m&aacute;quina local. 
        Consultar las p&aacute;ginas man relevantes para m&aacute;s detalles.</para>

        <para>Ahora se deber&iacute;a poder ejecutar el siguiente mandato de
        forma satisfactoria <command>ping -c1 `hostname`</command>.</para>
      </answer>
    </qandaentry>
  
    <qandaentry>
      <question>
        <para>PPP no quiere marcar en modo -auto</para>
      </question>

      <answer>
        <para>Primero, aseg&uacute;rate de tener una ruta por defecto. Ejecutando
        el comando url="http://www.FreeBSD.org/cgi/man.cgi?netstat"&gt;
        name="netstat -rn"&gt; deber&iacute;as ver dos entradas como estas:</para>
  
        <para>
        <literallayout>
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
        </literallayout>
        </para>
  
        <para>Esto es asumiendo que hayas usado las direcciones del manual,
        la p&aacute;gina man o del archivo de ejemplo ppp.conf.sample. Si no
        tienes una ruta por defecto, puede ser por que est&eacute;s usando una
        versi&oacute;n antigua de <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink> 
        que no entiende la palabra <acronym>HISADDR</acronym> en el archivo ppp.conf. Si
        tu versi&oacute;n de <emphasis remap=bf>ppp</emphasis> es de antes de FreeBSD 2.2.5, 
        cambia la l&iacute;nea</para>
  
        <para>
        <literallayout>          add 0 0 HISADDR
        </literallayout>
        </para>
  
        <para>por otra diciendo</para>
  
        <para>
        <literallayout>          add 0 0 10.0.0.2
        </literallayout>
        </para>
  
        <para>Otra raz&oacute;n para la inexistencia de la ruta por defecto es que
        sin darte cuenta hayas creado un default router en el archivo
        /etc/rc.conf (anteriormente llamado <filename>/etc/sysconfig</filename>) y
        hayas omitido la l&iacute;nea</para>
  
        <para>
        <literallayout>          delete ALL
        </literallayout>
        </para>
  
        <para>en el archivo <filename>ppp.conf</filename>.  Si es este el caso vuelve a la
        secci&oacute;n 
        <ulink URL="../../handbook/ppp-and-slip.html#USERPPP-FINAL.html">configuraci&oacute;n final del sistema</ulink> 
        en el handbook.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; significa "No route to host"?</para>
      </question>

      <answer>
        <para>Este error se debe normalmente a la falta de la secci&oacute;n</para>
  
        <para>
        <literallayout>          
            MYADDR:
            delete ALL
            add 0 0 HISADDR
        </literallayout>
        </para>
  
        <para>en el archivo <filename>/etc/ppp/ppp.linkup</filename>. Esto es solo
        necesario si tienes una direccion IP din&aacute;mica o no sabes la
        direcci&oacute;n de tu gateway. Si est&aacute;s usando el modo 
        interactivo, puedes teclear lo siguiente despues de entrar en 
        <emphasis remap=tt>packet mode</emphasis>:</para>
  
        <para>
        <literallayout>          
          delete ALL
          add 0 0 HISADDR
        </literallayout>
        </para>
  
        <para>P&aacute;sate por la secci&oacute;n
        <ulink URL="../../handbook/ppp-and-slip.html#USERPPP-DYNAMICIP">PPP y direcciones IP din&aacute;micas</ulink> 
        del handbook para m&aacute;s informaci&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi conexi&oacute;n se corta pasados 3 minutos</para>
      </question>

      <answer>
        <para>El timeout de ppp por defecto es de 3 minutos. Se puede ajustar
        con la l&iacute;nea:</para>
  
        <para>
        <literallayout>          set timeout NNN
        </literallayout>
        </para>
  
        <para>Donde <acronym>NNN</acronym> es el n&uacute;mero de segundos de inactividad antes 
        de cerrar la conexi&oacute;n. Si <acronym>NNN</acronym> es 0, la conexi&oacute;n no 
        se cerrar&aacute; nunca por timeout. Es posible poner este comando en 
        el archivo <filename>ppp.conf</filename>, o teclearla en el prompt del modo 
        interactivo. Tambi&eacute;n es posible ajustarla en cualquier momento mientras la
        conexi&oacute;n est&eacute; activa conectando al socket del servidor 
        <emphasis remap=bf>ppp</emphasis> usando
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?telnet">telnet</ulink>
        o <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?pppctl">pppctl</ulink>. Leete el man de
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>
        para m&aacute;s detalles.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi conexi&oacute;n se corta en situaciones de carga</para>
      </question>

      <answer>
        <para>Si tienes la opci&oacute;n Link Quality Reporting (LQR) configurada
        es posible que demasiados paquetes LQR se pierdan entre tu
        m&aacute;quina y el remoto. PPP deduce que la l&iacute;nea es mala y 
        corta la conexi&oacute;n. En versiones anteriores a la 2.2.5 de 
        FreeBSD, LQR estaba activado por defecto. Ahora est&aacute; desactivado
        por defecto. LQR puede ser activado con la l&iacute;nea</para>
  
        <para>
        <literallayout>          disable lqr
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi conexi&oacute;n se corta en periodos aleatorios</para>
      </question>

      <answer>
        <para>Algunas veces, en l&iacute;neas telef&oacute;nicas de baja calidad 
        o con mucho ruido, o l&iacute;neas con la opci&oacute;n de llamada en 
        espera activada, el m&oacute;dem corta la conexi&oacute;n por que 
        piensa (err&oacute;neamente) que ha perdido la portadora.</para>
  
        <para>Hay una opci&oacute;n en muchos modems para determiar la tolerancia
        a p&eacute;rdidas temporales de portadora. En un USR Sportster por
        ejemplo, esta es medida por el registro S10 en d&eacute;cimas de 
        segundo. Para hacer que tu m&oacute;dem sea m&aacute;s resistente, 
        puedes a&ntilde;adir la siguiente secuencia "send-expect" a la cadena 
        de llamada:</para>
  
        <para>
        <literallayout>          set dial "...... ATS10=10 OK ......"
        </literallayout>
        </para>
  
        <para>Mira en el manual de tu m&oacute;dem para m&aacute;s detalles.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>No ocurre nada despu&eacute;s del mensaje Login OK</para>
      </question>

      <answer>
        <para>En versiones anteriores a FreeBSD 2.2.5, una vez estaba la
        conexi&oacute;n establecida,
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink> espera a 
        que el remoto inicie la negociaci&oacute;n LCP
        (Line Control Protocol). Muchos proveedores de Internet no
        iniciar&aacute;n la negociaci&oacute;n esperando que sea el cliente el
        que lo haga. Para forzar al <emphasis remap=bf>ppp</emphasis> a iniciar el LCP, usa la
        siguiente l&iacute;nea:</para>
  
        <para>
        <literallayout>          set openmode active
        </literallayout>
        </para>
  
        <para><emphasis remap=bf>Nota:</emphasis> Normalmente no hay problemas si las dos partes
        inician la negocioacion LCP, ya que el modo abierto (open mode)
        est&aacute; activo por defecto. De todas maneras, la siguiente 
        secci&oacute;n explica cuando pueden haber problemas.</para>
      </answer>
    </qandaentry> 

    <qandaentry>
      <question>
        <para>Sigo teniendo errores sobre el par&aacute;metro magic</para>
      </question>

      <answer>
        <para>Ocasionalmente, justo despu&eacute;s de la conexi&oacute;n, puedes 
        ver mensajes en el log referentes a "magic number is the same".
        Algunas veces, estos mensajes son inofensivos, y otras veces
        uno de los dos extremos finaliza la conexi&oacute;n. Algunas
        implementaciones de ppp no pueden solucionar este problema, y,
        aunque parezca que la conexi&oacute;n est&aacute; establecida, 
        ver&aacute;s repetidas peticiones y aceptaciones de 
        configuraci&oacute;n en el archivo de log hasta que una de las dos 
        partes cierra la conexi&oacute;n.</para>
  
        <para>Esto ocurre normalmente en servidores con disco lentos que
        tienen problemas para gestionar eficientemente los puertos
        serie. Tambi&eacute;n existen informes de problemas en conexiones
        mediante slip. La raz&oacute;n es que en el tiempo que tarda el
        servidor en salir del getty y ejecutar el ppp, el cliente
        manda los paquetes de inicio LCP. Al estar el ECHO todav&iacute;a
        activo en el puerto del servidor, el cliente ppp lo &uacute;nico que
        ve son sus propios paquetes "reflejados" por el servidor.</para>
  
        <para>Una parte de la negociaci&oacute;n LCP es establecer un n&uacute;mero
        m&aacute;gico para cada una de los dos extremos de las conexiones para
        que los "reflejos" puedan ser detectados. El protocolo dice que
        cuando el remoto intenta negociar el mismo "magic number", se debe
        enviar un NAK para seleccionar un nuevo "magic number". Durante el
        periodo de tiempo que el servidor tiene el ECHO activado en el
        puerto, el cliente ppp env&iacute;a paquetes LCP, ve que el mismo 
        "magic" vuelve en el paquete reflejado y lo da como no v&aacute;lido 
        (envia NAK).
        Este todav&iacute;a ve el paquete reflajado con NAK (lo que significa 
        que el ppp debe cambiar su "magic"). Esto produce un enorme 
        n&uacute;mero de cambios de "magic number" que son introducidos en el 
        buffer tty del servidor. Tan pronto como el ppp arranca en el servidor,
        es bombardeado con cambios de "magic numbers" e inmediatamente decide
        que ya ha realizado el n&uacute;mero suficiente de negociaciones LCP y
        corta la conexi&oacute;n. Mientras tanto, el cliente, que ya no ve los
        paquetes reflejados, recibe sin problemas la desconexi&oacute;n del
        servidor y tambi&eacute;n cierra la conexi&oacute;n.</para>
  
        <para>Esto puede ser resuelto permitiendo que el remoto inicie la
        negociaci&oacute;n, poniendo la siguiente l&iacute;nea en el archivo 
        ppp.conf:</para>
  
        <para>
        <literallayout>          set openmode passive
        </literallayout>
        </para>
  
        <para>Esto indica al ppp que espere a que el servidor comience la
        negociaci&oacute;n LCP. Es posible que algunos servidores nunca inicien
        la negociaci&oacute;n. Si este es el caso, puedes hacer algo como:</para>
  
        <para>
        <literallayout>          set openmode active 3
        </literallayout>
        </para>
  
        <para>Esto le indica al ppp que sea pasivo durante 3 segundos, y
        despues comience a enviar peticiones LCP. Si el remoto env&iacute;a
        peticiones durante este periodo, ppp responder&aacute; inmediatamente 
        sin esperar los 3 segundos establecidos.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Las negociaciones LCP continuan hasta que se cierra la conexi&oacute;n</para>
      </question>

      <answer>
        <para>Existe actualmente un problema de implementaci&oacute;n en 
        <emphasis remap=bf>ppp</emphasis> en la que no asocia las respuestas LCP, CCP 
        &amp; IPCP con sus peticiones originales. Como resultado, si una implementaci&oacute;n
        <emphasis remap=bf>ppp</emphasis> es m&aacute;s lenta durante 6 segundos que la remota, la remota
        enviar&aacute; dos peticiones de configuraci&oacute;n LCP adicionales.
        Esto es fatal.</para>
  
        <para>Considera dos implementaciones, <emphasis remap=bf>A</emphasis> y 
        <emphasis remap=bf>B</emphasis>. <emphasis remap=bf>A</emphasis> empieza
        a enviar peticiones LCP inmediatamente despu&eacute;s de conectar y 
        <emphasis remap=bf>B</emphasis> tarda 7 segundos en arrancar. Cuando 
        <emphasis remap=bf>B</emphasis> arranca, <emphasis remap=bf>A</emphasis> ha
        enviado 3 peticiones LCP. Estamos asumiendo que la l&iacute;nea tiene el
        ECHO desactivado, si no, veriamos los problemas de "magic number"
        descritos en el apartado anterior. <emphasis remap=bf>B</emphasis> env&iacute;a un REQ, y a
        continuaci&oacute;n env&iacute;a un ACK al primer REQ de <emphasis remap=bf>A</emphasis>. Esto 
        resulta en que <emphasis remap=bf>A</emphasis> entra en modo <acronym>OPENED</acronym> 
        y env&iacute;a un ACK (el primero) a <emphasis remap=bf>B</emphasis>. Mientras, 
        <emphasis remap=bf>B</emphasis> devuelve dos ACKs m&aacute;s en respuesta a los dos REQs 
        adicionales enviados por <emphasis remap=bf>A</emphasis> antes de que 
        <emphasis remap=bf>B</emphasis> arrancase .<emphasis remap=bf>B</emphasis> recibe 
        el primer ACK de <emphasis remap=bf>A</emphasis> y entra en modo
        <acronym>OPENED</acronym>. <emphasis remap=bf>A</emphasis> recibe el segundo ACK 
        de <emphasis remap=bf>B</emphasis> y vuelve al estado
        <emphasis remap=bf>REQ-SENT</emphasis>, enviando otro (el cuarto) REQ. Entonces recibe el
        tercer ACK y entra en modo <acronym>OPENED</acronym>. Mientras, 
        <emphasis remap=bf>B</emphasis> recibe el cuarto REQ de <emphasis remap=bf>A</emphasis>, 
        produciendo que vuelva de nuevo al estado <emphasis remap=bf>ACK-SENT</emphasis> y 
        enviando otro (el segundo) REQ y (cuarto) ACK. <emphasis remap=bf>A</emphasis>
        recibe el REQ, entra en modo <emphasis remap=bf>REQ-SENT</emphasis> y env&iacute;a otro REQ.
        Inmediatamente recibe el siguiente ACK y entra en <acronym>OPENED</acronym>.</para>
  
        <para>Esto pasa hasta que una de las partes piensa que ya ha realizado
        suficientes reintentos y corta la conexi&oacute;n.</para>
  
        <para>La mejor manera de evitar esto es configurar una de las partes
        de manera <emphasis remap=bf>pasiva</emphasis> - que es, hacer que una de las partes espere
        a que la otra comience la negociaci&oacute;n. Esto puede realizarse 
        con el comando:</para>
  
        <para>
        <literallayout>          
          set openmode passive
        </literallayout>
        </para>
  
        <para>Se debe tener cuidado con esta opci&oacute;n. Tambi&eacute;n se puede 
        usar:</para>
  
        <para>
        <literallayout>          
        set stopped N
        </literallayout>
        </para>
  
        <para>para limitar el n&uacute;mero de veces que <emphasis remap=bf>ppp</emphasis> 
        espera a que el remoto comience la negociaci&oacute;n. Alternativamente, puedes user 
        el comando:</para>
  
        <para>
        <literallayout>          
          set openmode active N
        </literallayout>
        </para>
  
        <para>donde <emphasis remap=bf>N</emphasis> es el n&uacute;mero de segundos que 
        espera antes de empezar la negociaci&oacute;n. Mira en el manual para m&aacute;s 
        detalles.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Ppp se bloquea al conectar</para>
      </question>

      <answer>
        <para>Antes de la versi&oacute;n 2.2.5 era posible que la conexi&oacute;n 
        se corte nada m&aacute;s iniciarse debido a un problema en la 
        negociaci&oacute;n de compresi&oacute;n Predictor1. Esto solo pasa si 
        las dos partes intentan negociar con diferentes protocolos de control 
        de compresi&oacute;n (CCP). Este problema ya est&aacute; corregido, pero 
        si est&aacute;s usando una versi&oacute;n antigua de 
        <emphasis remap=bf>ppp</emphasis>, el problema puede solucionarse 
        con la l&iacute;nea</para>
  
        <para>
        <literallayout>          
          disable pred1
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Ppp se bloqua al abrir un shell de test</para>
      </question>

      <answer>
        <para>Cuando ejecutas el comando <emphasis remap=tt>shell</emphasis> o 
        <emphasis remap=tt>!</emphasis>, <emphasis remap=bf>ppp</emphasis> ejecuta
        un shell (o si has pasado argumentos, <emphasis remap=bf>ppp</emphasis> ejecutar&aacute; esos
        argumentos). Ppp esperar&aacute; a que se complete el comando antes de
        continuar. Si intentas usar la conexi&oacute;n ppp mientras se ejecuta 
        el comando, parecer&aacute; que la conexi&oacute;n se ha colgado. Esto 
        es por que <emphasis remap=bf>ppp</emphasis> est&aacute; esperando a que se complete la 
        ejecuci&oacute;n del comando.</para>
  
        <para>Si quieres ejecutar comandos como este, usa el comando 
        <emphasis remap=tt>!bg</emphasis> en su lugar. Esto ejecutar&aacute; el comando 
        en background, y ppp contin&uacute;a sin problemas con la conexi&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Ppp sobre un cable null-modem no funciona</para>
      </question>

      <answer>
        <para>No hay manera que <emphasis remap=bf>ppp</emphasis> detecte 
        autom&aacute;ticamente que una conexi&oacute;n directa se ha cortado. Es debido 
        a las l&iacute;neas que se usan en un cable serie null-modem. Cuando usamos este tipo de 
        conexi&oacute;n, LQR deber&iacute;a estar siempre activada con el 
        comando</para>
  
        <para>
        <literallayout>          enable lqr
        </literallayout>
        </para>
  
        <para>LQR es aceptado por defecto si es negociado por el remoto.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Por que llama sin motivo el ppp en modo -auto?</para>
      </question>

      <answer>
        <para>Si <emphasis remap=bf>ppp</emphasis> llama inesperadamente, debes determinar la causa, y
        poner filtros (dfilters) para prevenir esas llamadas.</para>
  
        <para>Para determinar la causa, usa la siguiente l&iacute;nea:</para>
  
        <para>
        <literallayout>          set log +tcp/ip
        </literallayout>
        </para>
  
        <para>Esto guardara todo el tr&aacute;fico que pase a trav&eacute;s de la 
        conexi&oacute;n.
        La pr&oacute;xima vez que se realice una llamada no deseada, 
        podr&aacute;s ver la causa convenientemente guardada.</para>
  
        <para>Ahora puedes desactivar las llamadas producidas por esa causa.
        Usualmente, este tipo de problemas se debe a consultas de DNS. Para
        prevenir que las consultas de DNS puedan establecer conexiones usa
        la siguiente l&iacute;nea (esto no har&aacute; que los paquetes de DNS 
        queden parados cuando la conexi&oacute;n est&aacute; establecida):</para>
  
        <para>
        <literallayout>          set dfilter 1 deny udp src eq 53
          set dfilter 2 deny udp dst eq 53
          set dfilter 3 permit 0/0 0/0
        </literallayout>
        </para>
  
        <para>Esto no siempre es aconsejable, ya que puede afectar a la
        capacidad de realizar conexiones bajo demanda - muchos programas
        necesitan hacer una consulta al DNS antes de poder realizar
        cualquier operaci&oacute;n.</para>
  
        <para>En el caso del DNS, deber&iacute;as determinar que es lo que 
        est&aacute; intentando realizar esas consultas de DNS. Muchas veces,
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sendmail">sendmail</ulink> 
        es el culpable. Debes asegurarte configurar el
        sendmail de manera que no realice ninguna consulta al DNS. Mira la
        secci&oacute;n <link linkend="ispmail">Configuracion de correo</link> para 
        tener m&aacute;s detalles acerca de como crear una archivo propio de 
        configuraci&oacute;n de sendmail. Tambi&eacute;n deber&iacute;as 
        a&ntilde;adir la siguiente l&iacute;nea en tu archivo <filename>.mc</filename>:</para>
  
        <para>
        <literallayout>          define(`confDELIVERY_MODE', `d')dnl
        </literallayout>
        </para>
  
        <para>Esto hara que sendmail encole todo el correo hasta que no se
        procese la cola (usualmente, sendmail es invocado con
        "-bd -q30m", indicandole que procese la cola cada 30 minutos) o
        hasta que se ejecuta el comando "sendmail -q" (por ejemplo, desde
        el archivo ppp.linup).</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; significan estos errores CCP?</para>
      </question>

      <answer>
        <para>Sigo viendo los siguientes errores en el archivo de log:</para>
  
        <para>
        <literallayout>          CCP: CcpSendConfigReq
          CCP: Received Terminate Ack (1) state = Req-Sent (6)
        </literallayout>
        </para>
  
        <para>Esto es porque ppp est&aacute; intentando negociar compresi&oacute;n
        Predictor1, y el remoto no quiere negociar ning&uacute;n tipo de
        compresi&oacute;n. Estos mensajes son sin importancia, pero si quieres
        eliminarlos, puedes desactivar la compresi&oacute;n Predictor1 
        localmente:</para>
  
        <para>
        <literallayout>          disable pred1
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>PPP se cuelga durante transferencia de archivos con errores I/OP</para>
      </question>

      <answer>
        <para>En la versi&oacute;n FreeBSD 2.2.2 y anteriores, hab&iacute;a un 
        problema en el driver tun que no permit&iacute;a paquetes entrantes con
        un tama&ntilde;o mayor que el MTU del interface. La recepci&oacute;n de
        un paquete mayor que el MTU resulta en un error IO que es logueado 
        v&iacute;a syslogd.</para>
  
        <para>La especificaci&oacute;n PPP dice que un MRU de 1500 
        <emphasis remap=bf>siempre</emphasis>
        deber&iacute;a ser aceptada como m&iacute;nimo, a pesar de lo que se 
        negocie mediante LCP, de todas maneras, es posible que hayas disminuido
        el MTU por debajo de 1500 y tu proveedor te est&eacute; enviando 
        paquetes de 1500, haciendo que tu conexi&oacute;n se bloquee.</para>
  
        <para>El problema puede solucionarse haciendo que el tama&ntilde;o del
        MTU nunca sea inferior a 1500 bajo FreeBSD 2.2.2 y anteriores.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Por que ppp no loguea la velocidad de la conexi&oacute;n?</para>
      </question>

      <answer>
        <para>Para loguear todas las l&iacute;neas de "conversaci&oacute;n" de tu
        m&oacute;dem, debes activar la siguiente opci&oacute;n:</para>
  
        <para>
        <literallayout>          set log +connect
        </literallayout>
        </para>
  
        <para>Esto har&aacute; que
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>
        loguee todo hasta la &uacute;ltima cadena "expect" pedida.</para>
  
        <para>Si quieres ver la velocidad de tu conexi&oacute;n y usas PAP o CHAP
        (y por lo tanto no tienes nada que "chatear" despu&eacute;s del CONNECT
        en el script de marcado), debes estar seguro de indicarle al ppp que
        espera la l&iacute;nea "CONNECT con algo como esto:</para>
  
        <para>
        <literallayout>          set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
        </literallayout>
        </para>
  
        <para>Aqu&iacute;, tenemos nuestro CONNECT, enviamos nada, y esperamos un
        salto de l&iacute;nea, forzando al <emphasis remap=bf>ppp</emphasis> que lea 
        la respuesta del CONNECT.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Ppp ignora el car&aacute;cter `\' en mi chat script</para>
      </question>

      <answer>
        <para>PPP lee cada l&iacute;nea de los archivos de configuraci&oacute;n 
        para poder interpretar cadenas como <emphasis remap=tt>set phone "123 456 789"</emphasis> 
        correctamente.
        Para especificar un car&aacute;cter ``"'', debes usar la contrabarra 
        (``\'').</para>
  
        <para>Cuando el int&eacute;rprete lee cada argumento, reinterpreta el 
        argumento para buscar alguna secuencia especial de escape como ``\P'' 
        o ``\T''.
        Como resultado de esta doble lectura, recuerda que has de usar el
        n&uacute;mero correcto de escapes (contrabarras).</para>
  
        <para>Si quieres enviar un caracter ``\'' a tu m&oacute;dem, necesitas 
        hacer algo como:</para>
  
        <para>
        <literallayout>          set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"
        </literallayout>
        </para>
  
        <para>resultando en la siguiente secuencia:</para>
  
        <para>
        <literallayout>          ATZ
          OK
          AT\X
          OK
        </literallayout>
        </para>
  
        <para>o</para>
  
        <para>
        <literallayout>          set phone 1234567
          set dial "\"\" ATZ OK ATDT\\T"
        </literallayout>
        </para>
  
        <para>resultando en la siguiente secuencia:</para>
  
        <para>
        <literallayout>          ATZ
          OK
          ATDT1234567
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Ppp produce un seg-fault, pero no veo el archivo 
        <filename>ppp.core</filename></para>
      </question>

      <answer>
        <para>Ppp (o cualquier otro programa de este tipo), nunca deber&iacute;an
        hacer un core dump. Por que ppp funciona con un id de usuario 0,
        el sistema operativo no escribir&aacute; la imagen del core en disco.
        Si ppp termina con errores de "segmentation violation" o cualquier
        otra se&ntilde;al que normalmente causa un core dumped, y quieres poder
        hacer un debug de ese core, aseg&uacute;rate de usar la &uacute;ltima 
        versi&oacute;n de ppp, y haz lo siguiente:</para>
  
        <para>
        <literallayout>          $ tar xfz ppp-*.src.tar.gz
          $ cd ppp*/ppp
          $ echo STRIP= &gt;&gt;Makefile
          $ echo CFLAGS+=-g &gt;&gt;Makefile
          $ make clean all
          $ su
          # make install
          # chmod 555 /usr/sbin/ppp
        </literallayout>
        </para>
  
        <para>Ahora tendr&aacute;s instalada una versi&oacute;n "debuggable" de 
        ppp. Tendr&aacute;s que ser root para poder ejecutar ppp ya que todos 
        sus privilegios han sido revocados. Cuando arranques ppp, acuerdate del
        directorio en el que te encuentras.</para>
  
        <para>Ahora, cuando ppp recibe una violaci&oacute;n de segmentaci&oacute;n
        , crear&aacute; un archivo core llamado ppp.core. A continuaci&oacute;n
        , deber&iacute;as hacer lo siguiente:</para>
  
        <para>
        <literallayout>          $ su
          # gdb /usr/sbin/ppp ppp.core
          (gdb) bt
          .....
          (gdb) f 0
          .....
          (gdb) i args
          .....
          (gdb) l
          .....
        </literallayout>
        </para>
  
        <para>Toda esta informaci&oacute;n puede hacer posible diagnosticar el
        problema. Si est&aacute;s familiarizado con gdb, puedes encontrar otras
        pistas como que caus&oacute; el dump y las direcciones y valores de las
        variables m&aacute;s relevantes.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>El proceso que fuerza una llamada en modo auto nunca funciona</para>
      </question>

      <answer>
        <para>Este es un problema conocido cuando <emphasis remap=bf>ppp</emphasis> 
        est&aacute; configurado para negociar una IP din&aacute;mica local con el 
        remoto. Este problema ha sido solucionado en la &uacute;ltima versi&oacute;n - 
        busca en el man la palabra <emphasis remap=bf>iface</emphasis>.</para>
  
        <para>El problema era que cuando el programa inicial llama a
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?connect">connect(2)</ulink>, 
        el IP del interface tun es asignado al punto
        final del socket. El kernel crea el primer paquete saliente y
        establece la conexi&oacute;n. Si, como resultado de la 
        asignaci&oacute;n din&aacute;mica de IP, la direcci&oacute;n del 
        interface es cambiada, el punto final del socket original ser&aacute; 
        invalido. Los siguientes paquetes enviados al remoto normalmente 
        ser&aacute;n descartados. Aun si no lo son, cualquier respuesta no 
        ser&aacute; enrutada hacia la m&aacute;quina de origen por que la
        direcci&oacute;n IP de la m&aacute;quina de origen ha cambiado.</para>
  
        <para>Hay varias maneras te&oacute;ricas de solucionar este problema. Lo
        mejor ser&iacute;a que el remoto reasignase la misma IP si fuese 
        posible <emphasis remap=tt>:-)</emphasis> La versi&oacute;n actual de 
        <emphasis remap=bf>ppp</emphasis> hace esto,
        pero otras muchas implementaciones no.</para>
  
        <para>El m&eacute;todo m&aacute;s sencillo desde nuestra parte, 
        ser&iacute;a no cambiar nunca la IP del interface tun, pero por el 
        contrario, cambiar todos los paquetes salientes de manera que la ip de 
        origen es cambiada del IP del interface a la IP negociada, 
        instantaneamente.
        Esto es, esencialmente, lo que hacen
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?libalias">libalias(3)</ulink> 
        y el par&aacute;metro <option>-alias</option> de ppp.</para>
  
        <para>Otra alternativa (y probablemente la m&aacute;s eficaz) es implementar
        una llamada al sistema que cambie todos los sockets de una IP a
        otra. <emphasis remap=bf>Ppp</emphasis> deber&iacute;a usar esta llamada para modificar los
        sockets de todos los programas existentes cuando una nueva 
        direcci&oacute;n IP es negociada. La misma llamada de sistema
        podr&iacute;a ser usada para clientes dhcp cuando son forzados
        a rehacer sus sockets.</para>
  
        <para>Una tercera opci&oacute;n es permitir que un interface se active sin
        IP. Los paquetes salientes tendr&iacute;an un IP de 255.255.255.255 
        hasta que el primer SIOCAIFADDR ioctl este hecho. Esto 
        permitir&iacute;a que ppp cambiase el IP de origen, pero solo si el 
        socket es 255.255.255.255 y solo el IP y el checksum necesitan cambiar. Esto, de 
        todas maneras, requiere tocar el kernel para que puede enviar 
        paquetes incorrectos a un interface mal configurado.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; muchos juegos no funcionan con el 
        par&aacute;metro -alias?</para>
      </question>

      <answer>
        <para>La raz&oacute;n por la que muchos de los juegos no funcionan es 
        por que la m&aacute;quina externa intentar&aacute; abrir una 
        conexi&oacute;n o enviar paquetes UDP (no solicitados) a la 
        m&aacute;quina interna. El software "alias" no sabe que esos paquetes
        debr&iacute;n enviarse a la m&aacute;quina interna.</para>
  
        <para>Para que las cosas funcionen, aseg&uacute;rate que la &uacute;nica
        cosa que est&aacute; funcionando es el software con el que tienes
        problemas, entonces ejecuta tcpdump en el interface tun del 
        gateway o ejecuta el log tcp/ip del ppp ("set log +tcp/ip" en el
        gateway.</para>
  
        <para>Cuando arrancas el software que no funciona, deber&iacute;s ver
        paquetes que pasan a trav&eacute;s del gateway. Cuando algo
        vuelve del exterior, ser&aacute; rechazado (ese es el problema).
        Apunta el n&uacute;mero de puerto de esos paquetes y cierra el
        software que no funciona. Haz esto varias veces para comprobar si
        el n&uacute;mero de puerto se repite. Si es as&iacute;, la siguiente
        l&iacute;nea en el archivo de configuraci&oacute;n del ppp
        /etc/ppp/ppp.conf har&aacute; que las cosas funcionen:</para>
  
        <para>
        <literallayout>         alias port proto internalmachine:port port
       </literallayout>
        </para>
  
        <para>donde "proto" puede ser "tcp" o "udp", "internalmachine" es la
        m&aacute;quina a la que quieres que los paquetes sean enviados y
        "port" es el n&uacute;mero de puerto de destino de los paquetes.</para>
  
        <para>No podr&aacute;s usar ese software en otras m&aacute;quinas sin
        modificar el comando anterior, y ejecutar el software 
        simultaneamente en dos m&aacute;quinas internas no ser&aacute;
        posible - despu&eacute;s de todo, el mundo exterior est&aacute;
        viendo a toda tu red como una sola m&aacute;quina.</para>
  
        <para>Si los n&uacute;meros de puertos no se repiten, hay tres opciones
        m&aacute;s:</para>
  
        <para><emphasis remap=bf>1)</emphasis> Desarrollar el soporte en libalias. Ejemplos de estos
        "casos especiales" los puedes encontrar en
        /usr/src/lib/libalias/alias_*.c (alias_ftp.c es un bu&eacute;n
        prototipo). Esto usualmente supone leer ciertos paquetes salientes
        conocidos, identificando la instrucci&oacute;n que le indica a la 
        m&aacute;quina exterior que inicie una conexi&oacute;n con la 
        m&aacute;quina interna en un puerto espec&iacute;fico (aleatorio)
        y configurar un "ruta" en la tabla de alias para que los paquetes
        siguientes sepan donde ir.</para>
  
        <para>Esta es la soluci&oacute;n m&aacute;s dif&iacute;cil, pero es la
        mejor y har&aacute; que el software funcione con m&uacute;ltiples
        m&aacute;quinas.</para>
  
        <para><emphasis remap=bf>2)</emphasis> Usar un proxy. La aplicaci&oacute;n debe soportar
        socks5 por ejemplo, o (como en el caso del "cvsup") deber&iacute;a
        tener una opci&oacute;n "pasiva" que evita que el remoto intente abrir
        conexiones con la maquina local.</para>
  
        <para><emphasis remap=bf>3)</emphasis> Redireccionar todo el tr&aacute;fico 
        a la m&aacute;quina interna usando "alias addr". Esta es la soluci&oacute;n m&aacute;s
        sencilla.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Ha hecho alguien una lista de puertos &uacute;tiles?</para>
      </question>

      <answer>
        <para>Todav&iacute;a no, pero se podr&iacute;a hacer, si hay 
        inter&eacute;s. En cada ejemplo, <emphasis remap=tt>internal</emphasis> debe ser
        reemplazado por la direcci&oacute;n IP de la m&aacute;quina que
        va a estar jugando.</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para><emphasis remap=bf>Quake</emphasis>
            </para>

            <para><emphasis remap=tt>alias port udp internal:6112 6112</emphasis></para>

            <para>Alternativamente, quiz&aacute;s est&eacute;s interesado en 
            mirar en el 
            <ulink URL="http://www.battle.net/support/proxy/">www.battle.net</ulink>soporte 
            de Quake a trav&eacute;s de proxy"&gt;.</para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para><emphasis remap=bf>Quake 2</emphasis></para>

            <para><emphasis remap=tt>alias port udp internal:27901 27910</emphasis></para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para><emphasis remap=bf>Red Alert</emphasis></para>

            <para><emphasis remap=tt>alias port udp internal:8675 8675</emphasis></para>

            <para><emphasis remap=tt>alias port udp internal:5009 5009</emphasis></para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para><emphasis remap=bf>Half Life</emphasis></para>

            <para><emphasis remap=tt>alias port udp internal:27005 27015</emphasis></para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para><emphasis remap=bf>PCAnywhere 8.0</emphasis></para>

            <para><emphasis remap=tt>alias port udp internal:5632 5632</emphasis></para>

            <para><emphasis remap=tt>alias port tcp internal:5631 5631</emphasis></para>
          </listitem>
        </itemizedlist>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; son los errores FCS?</para>
      </question>

      <answer>
        <para>FCS significa <emphasis remap=bf>F</emphasis>rame 
        <emphasis remap=bf>C</emphasis>heck <emphasis remap=bf>S</emphasis>equence. 
        Cada paquete ppp tiene un checksum a&ntilde;adido para asegurar que los datos
        que se reciben son los datos que han sido enviados. Si el FCS de un
        paquete entrante es incorrecto, el paquete es rechazado y se
        incremente el contador HDLC FCS. Los valores de error HDLC se
        pueden visualizar usando el comando <emphasis remap=tt>show hdlc</emphasis>.</para>
  
        <para>Si tu conexi&oacute;n es mala (o si tu driver serie est&aacute;
        rechazando paquetes), ver&aacute;s errores FCS ocasionales. En general
        no tienes porque preocuparte de ellos. Si tienes un m&oacute;dem 
        externo, aseg&uacute;rate que el cable est&aacute; correctamente
        aislado de interferencias - esto deber&iacute;a erradicar el problema.</para>
  
        <para>Si tu conexi&oacute;n se corta tan pronto como has conectado y ves
        gran cantidad de errores FCS, puede ser por que ti conexi&oacute;n no
        es de 8 bits. Aseg&uacute;rate de que tu m&oacute;dem no est&aacute;
        usando control de flujo (XON/XOFF) por software. Si tu conexi&oacute;n
        de datos <emphasis remap=bf>debe</emphasis> usar control de flujo por software, usa el 
        comando <literal>set accmap 0x000a0000</literal> para indicar al 
        <emphasis remap=bf>ppp</emphasis> que "escape" los car&aacute;cteres ^Q y ^S.</para>
  
        <para>Otra raz&oacute;n para ver muchos errores FCS puede ser que el 
        remoto haya dejado de "hablar" <acronym>PPP</acronym>. Deber&iacute;s activar el
        log as&iacute;ncrono para determinar si los datos entrantes son de
        un login o un prompt de shell. Si tienes un prompt de shell en el
        extremo de la conexi&oacute;n, es posible terminar el ppp sin 
        cortar la conexi&oacute;n usando el comando <emphasis remap=tt>close clp</emphasis> (usando
        el comando <emphasis remap=tt>term</emphasis> podr&aacute;s conectar de nuevo con el shell
        de la m&aacute;quina remota.</para>
  
        <para>Si no hay nada en el log que indique por que se ha terminado la 
        conexi&oacute;n, deber&iacute;s preguntar al administrador del 
        sistema remoto porqu&eacute; ha terminado la sesi&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Nada de esto me ayuda - Estoy desesperado !</para>
      </question>

      <answer>
        <para>Si todo falla, env&iacute;a toda la informaci&oacute;n que puedas, 
        incluyendo los archivos de configuraci&oacute;n, como arrancas el ppp, 
        las partes relevantes del archivo de log y la salida del comando
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?netstat">netstat -rn</ulink> 
        (antes y despues de la conexi&oacute;n) a la lista de distribuci&oacute;n 
        <ulink URL="mailto:FreeBSD-questions@FreeBSD.org">FreeBSD-questions@FreeBSD.org</ulink>, 
        a la lista de
        <ulink URL="mailto:FreeBSD@es.FreeBSD.org">FreeBSD en castellano</ulink> o 
        al grupo de news 
        <ulink URL="news:comp.unix.bsd.FreeBSD.misc">comp.unix.bsd.FreeBSD.misc</ulink> 
        y alguien te ayudar&aacute; a solucionar los problemas.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="serial">
<title>Comunicaciones serie</title>

  <para>Esta secci&oacute;n responde las preguntas m&aacute;s frecuentes sobre las
  comunicaciones serie con FreeBSD. PPP y SLIP se tratan en la
  secci&oacute;n <link linkend="networking">Networking</link>.</para>
  
  <qandaset>
    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo se si FreeBSD ha encontrado mis puertos serie?</para>
      </question>

      <answer>
        <para>Cuando el kernel de FreeBSD arranca, testear&aacute; los puertos serie
        del sistema que est&eacute;n configurados en el kernel. Puedes estar 
        atento a los mensajes de la consola o ejecutar el comando:</para>
  
        <para>
        <literallayout>        dmesg | grep sio
        </literallayout>
        </para>
  
        <para>una vez el sistema est&eacute; en funcionamiento.</para>
  
        <para>Aqu&iacute; tienes un ejemplo del resultado de la ejecuci&oacute;n 
        del comando:</para>
  
        <para>
        <literallayout>        sio0 at 0x3f8-0x3ff irq 4 on isa
        sio0: type 16550A
        sio1 at 0x2f8-0x2ff irq 3 on isa
        sio1: type 16550A
        </literallayout>
        </para>
  
        <para>Esto muestra dos puertos serie. El primero en la irq 4 usando
        la direcci&oacute;n <literal>0x3f8</literal>, y tiene una UART 16550A. El segundo usa
        el mismo tipo de chip pero est&aacute; en la irq 3 y usa la 
        direcci&oacute;n <literal>0x2f8</literal>. Los m&oacute;dems internos son tratados 
        como puertos serie, exceptuando que siempre tienen un m&oacute;dem 
        adjuntado al puerto.</para>
  
        <para>El kernel <acronym>GENERIC</acronym> incluye soporte para dos puertos serie
        usando la misma irq y direcci&oacute;n que en el ejemplo anterior. Si 
        estas opciones no son correctar para tu sistema, o si has a&ntilde;adido 
        m&oacute;dems internos o tienes m&aacute;s puertos serie de los que 
        est&aacute;n configurados en el kernel, solo tienes que reconfigurar el 
        kernel. Mira en la secci&oacute;n
        <link linkend="make-kernel">about building a kernel</link> para m&aacute;s 
        detalles.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo se si FreeBSD ha encontrado mi m&oacute;dem interno?</para>
      </question>

      <answer>
        <para>Respondido en la secci&oacute;n anterior.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>He actualizado a 2.0.5 y mi <emphasis remap=tt>tty0X</emphasis> no 
        existen!</para>
      </question>
   
      <answer>
        <para>No te preocupes, han sido integrados en los dispositivos 
        <emphasis remap=tt>ttydX</emphasis>. Tendr&aacute;s que modificar algunos 
        archivos antiguos de configuraci&oacute;n.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo accedo a los puertos serie en FreeBSD?</para>
      </question>

      <answer>
        <para>El tercer puerto serie, 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio">sio2</ulink> (conocido
        como COM3 en DOS), est&aacute; en <filename>/dev/cuaa2</filename> para dispositivos de
        salida (dial-out) y en <filename>/dev/ttyd2</filename> para dispositivos de
        entrada (dial-in). Cu&aacute;l es la diferencia entre estas dos clases de
        dispositivos?.</para>
  
        <para>Usas los <emphasis remap=tt>ttydX</emphasis> para los entrantes. 
        Al abrir <filename>/dev/ttydX</filename>
        en "blocking mode", un proceso esperar&aacute; para que el dispositivo
        <emphasis remap=tt>cuaaX</emphasis> correspondiente se vuelva inactivo. 
        Cuando abres un dispositivo <emphasis remap=tt>cuaaX</emphasis>, se asegura 
        de que el puerto serie no est&aacute; en uso por un dispositivo 
        <emphasis remap=tt>ttydX</emphasis>. Si el puerto est&aacute; disponible,
        se lo "roba" al dispositivo <emphasis remap=tt>ttydX</emphasis>. Al mismo tiempo, 
        el dispositivo <emphasis remap=tt>cuaaXX</emphasis> no se preocupa de la 
        detecci&oacute;n de portadora. Con este
        esquema, y un m&oacute;dem en respuesta autom&aacute;tica, puedes 
        recibir usuarios remotos y puedes hacer conexiones externas con el mismo 
        m&oacute;dem, mientras el sistema se preocupa de evitar los posible 
        conflictos.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo activo el soporte de tarjetas serie multipuerto?</para>
      </question>
  
      <answer>
        <para>Otra vez, en la secci&oacute;n de configuraci&oacute;n del kernel 
        tienes la informaci&oacute;n. Para una tarjeta multipuerto, pon una 
        l&iacute;nea <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio">sio</ulink> 
        para cada puerto serie de la tarjeta en el archivo de 
        configuraci&oacute;n del kernel. Especifica la irq y vector solo en una 
        de las l&iacute;neas.
        Todos los puertos de la tarjeta compartir&aacute;n la misma irq. Por
        consistencia, usa el &uacute;ltimo puerto serie para especificar la irq. 
        De la misma manera, especifica la opci&oacute;n <symbol>COM_MULTIPORT</symbol>.</para>
  
        <para>El siguiente ejemplo es para una tarjeta AST 4-port en la irq 7:</para>
  
        <para>
        <literallayout>        options "COM_MULTIPORT"
        device sio4 at isa? port 0x2a0 tty flags 0x781
        device sio5 at isa? port 0x2a8 tty flags 0x781
        device sio6 at isa? port 0x2b0 tty flags 0x781
        device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
        </literallayout>
        </para>
  
        <para>Los flags indican que el puerto master tiene un n&uacute;mero menor 
        de 7 (<literal>0x700</literal>), los diagn&oacute;sticos est&aacute;n activados durante
        el testeo (<literal>0x080</literal>), y los puertos comparten una irq 
        (<literal>0x001</literal>).</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puede manejar FreeBSD tarjetas multipuerto compartiendo irq?</para>
      </question>

      <answer>
        <para>Todav&iacute;a no. Tendr&aacute;s que usar una irq diferente para cada
        tarjeta.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puedo cambiar los par&aacute;metros serie por defecto para 
        un puerto?</para>
      </question>

      <answer>
        <para>El dispositivo <emphasis remap=tt>ttydX</emphasis> (o 
        <emphasis remap=tt>cuaaX</emphasis>) es el que querr&aacute;s abrir
        para tus aplicaciones. Cuando un proceso abre el dispositivo, 
        tendr&aacute; una serie de configuraciones I/O por defecto. Puedes ver 
        estas configuraciones con el comando:</para>
  
        <para>
        <literallayout>        stty -a -f /dev/ttyd1
        </literallayout>
        </para>
  
        <para>Cuando le cambias la configuraci&oacute;n a este dispositivo, este cambio
        se mantiene hasta que el dispositivo se cierra. Cuando se reabre,
        vuelve a la configuraci&oacute;n por defecto. Para hacer cambios sobre la
        configuraci&oacute;n por defecto, puedes abrir y ajustar las opciones del
        "estado inicial" del dispositivo. Por ejemplo, para poner el
        dispositivo tty5 en modo <acronym>CLOCAL</acronym>, 8 bits, y contro del flujo
        <filename>XON/XOFF</filename>, haz</para>
  
        <para>
        <literallayout>        stty -f /dev/ttyid5 clocal cs8 ixon ixoff
        </literallayout>
        </para>
  
        <para>Un buen lugar para hacer esto es en <filename>/etc/rc.serial</filename>. Ahora,
        una aplicaci&oacute;n tendr&aacute; esta configuraci&oacute;n por 
        defecto cuando abra el puerto <emphasis remap=tt>ttyd5</emphasis>.</para>
          
        <para>Tambi&eacute;n puedes prevenir o limitar ciertos cambios que pretenda
        hacer una aplicaci&oacute;n. Para ello, ajusta el "lock state" del
        dispostivo. Por ejemplo, para bloquear la velocidad del puerto
        <emphasis remap=tt>ttyd5</emphasis> a 57600 bps, haz:</para>
  
        <para>
        <literallayout>        stty -f /dev/ttyld5 57600
        </literallayout>
        </para>
  
        <para>Ahora, una aplicaci&oacute;n que abre <emphasis remap=tt>ttyd5</emphasis> 
        e intenta cambiar la velocidad del puerto no podr&aacute; hacerlo.</para>
  
        <para>Naturalmente, deber&iacute;as hacer que el estado inicial y el estado 
        de bloqueo sean solo de escritura para el usuario <emphasis remap=tt>root</emphasis>. 
        El script
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?MAKEDEV">MAKEDEV</ulink> 
        <acronym>NO</acronym> hace esto cuando crea el dispositivo.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo activar logins de entrada en mi m&oacute;dem?</para>
      </question>

      <answer>
        <para>Quieres hacerte proveedor de Internet, eh?. Primero, 
        necesitar&aacute;s uno o m&aacute;s m&oacute;dems que puedan responder 
        autom&aacute;ticamente. Tu m&oacute;dem necesitar&aacute; activar el 
        carrier-detect s&oacute;lo cuando detecte una portadora y no tenerla 
        activada continuamente. Necesitar&aacute; cortar la comunicaci&oacute;n
        y resetearse &eacute;l mismo cuando la l&iacute;nea <acronym>DTR</acronym> pase de on 
        a off.
        Probablemente usar&iacute;a <filename>RTS/CTS</filename> para el control de flujo.
        Finalmente, debe usar una velocidad constante entre el computador y 
        &eacute;l mismo, pero deber&iacute;a negociar la velocidad entre 
        &eacute;l mismo y el m&oacute;dem remoto.</para>
  
        <para>Para muchos m&oacute;dems compatibles Hayes, este comando 
        crear&aacute; estas configuraciones y las grabar&aacute; en la memoria no
        vol&aacute;til:</para>
  
        <para>
        <literallayout>        AT &amp;C1 &amp;D3 &amp;K3 &amp;Q6 S0=1 &amp;W
        </literallayout>
        </para>
  
        <para>Mira la secci&oacute;n <link linkend="direct-at">enviar comandos AT</link> 
        para saber como enviar estas configuraciones al m&oacute;dem sin 
        necesidad de un programa terminal de DOS.</para>
  
        <para>A continuaci&oacute;n, a&ntilde;ade una l&iacute;nea en el archivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink> 
        para el m&oacute;dem. Este archivo lista todos los puertos en los que el 
        sistema operativo esperar&aacute; los logins. La l&iacute;nea 
        ser&iacute;a como esta:</para>
  
        <para>
        <literallayout>        ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
        </literallayout>
        </para>
  
        <para>Esta l&iacute;nea indica que el segundo puerto serie 
        <filename>/dev/ttyd1</filename> tiene un m&oacute;dem conectado, la velocidad es de 
        57600 bps y sin paridad (<emphasis remap=tt>std.57600</emphasis>. El tipo de 
        terminal para este puerto es "dialup".
        El puerto est&aacute; "on" y es inseguro (lo que significa que los logins
        como root no son permitidos).</para>
  
        <para>Muchos usuarios, ponen un sus archivos .profile o .login un
        prompt para el tipo de terminal. El ejemplo muestra el puerto como
        inseguro. Para ser root en ese puerto, hacer el login como un usuario
        normal, y ejecutar el comando su. Si en lugar de inseguro, el terminal
        es seguro (secure), puedes hacer login como root directamente.</para>
  
        <para>Despues de modificar el archivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>,
        necesitas lanzar una se&ntilde;al <acronym>HUP</acronym> al proceso 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?init">init</ulink>:</para>
  
        <para>
        <literallayout>        kill -HUP 1
        </literallayout>
        </para>
  
        <para>Esto fuerza al proceso init a releer el archivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>.
        El proceso init arrancar&aacute; los procesos getty en todos los puertos
        configurados como "on". Puedes ver si los logins est&aacute;n disponibles
        en los puertos tecleando:</para>
  
        <para>
        <literallayout>        ps -ax | grep '[t]tyd1'
        </literallayout>
        </para>
  
        <para>deber&iacute;as ver algo como:</para>
  
        <para>
        <literallayout>        747 ??  I      0:00.04 /usr/libexec/getty std.57600 ttyd1
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo conectar un dumb terminal a un FreeBSD?</para>
      </question>

      <answer>
        <para>Si est&aacute;s usando otro computador como terminal en tu sistema 
        FreeBSD, usa un cable null m&oacute;dem entre los dos puertos serie. Si 
        ya est&aacute;s usando un terminal, mira en las instrucciones del mismo.</para>
  
        <para>A continuaci&oacute;n, modifica el archivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>
        Por ejemplo, si est&aacute;s instalando un terminal WYSE-50 en el quinto 
        puerto serie, usa una l&iacute;nea como esta:</para>
  
        <para>
        <literallayout>        ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
        </literallayout>
        </para>
  
        <para>Este ejemplo muestra que el puerto <filename>/dev/ttyd4</filename> tiene un
        terminal Wyse50 conectado a 38400 bps sin paridad y los logins de
        root son permitidos.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; no puedo ejecutar <emphasis remap=tt>tip</emphasis> o 
        <emphasis remap=tt>cu</emphasis>?</para>
      </question>

      <answer>
        <para>En tu sistema, los programas 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> y 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?cu">cu</ulink> son probablemente
        ejecutables solo por <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?uucp">uucp</ulink> 
        y el grupo <emphasis remap=tt>dialer</emphasis>. Puedes usar el grupo 
        <emphasis remap=tt>dialer</emphasis>
        para controlar quien tiene acceso al m&oacute;dem o sistemas remotos. 
        S&oacute;lo tienes que a&ntilde;adirte tu mismo al grupo dialer.</para>
  
        <para>Alternativamente, puedes dejar que todos los usuarios de tu sistema
        ejecuten <emphasis remap=tt>tip</emphasis> y 
        <emphasis remap=tt>cu</emphasis> tecleando:</para>
  
        <para>
        <literallayout>        # chmod 4511 /usr/bin/cu
        # chmod 4511 /usr/bin/tip
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Mi m&oacute;dem hayes no est&aacute; soportado. &iquest;Que puedo hacer?</para>
      </question>

      <answer>
        <para>Actualmente, el man de 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> est&aacute;
        anticuado. Hay un dialer Hayes gen&eacute;rico. Solo usa
        ``<literal>at=hayes</literal>'' en tu archivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>.</para>
  
        <para>El driver Hayes no es tan desarrollado como para reconocer algunas
        de las caracter&iacute;sticas avanzadas de los m&oacute;dems modernos,
        mensajes como <acronym>BUSY</acronym>, <emphasis remap=tt>NO DIALTONE</emphasis> o 
        <emphasis remap=tt>CONNECT 115200</emphasis> lo pueden confundir.
        Deber&iacute;as anular estos mensajes cuando uses 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> (utilizando
        la cadena <emphasis remap=tt>ATX0&amp;W</emphasis>).</para>
  
        <para>Tambi&eacute;n, el timeout de llamada para <emphasis remap=tt>tip</emphasis> 
        est&aacute; en 60  segundos. Tu m&oacute;dem deber&iacute;a usar algo menor, o tip puede 
        pensar que hay un problema de comunicaci&oacute;n. Intenta con 
        <literal>ATS7=45&amp;W</literal>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="direct-at">
        <para>&iquest;C&oacute;mo puedo introducir estos comandos AT?</para>
      </question>

      <answer>
        <para>Haz lo que se llama una entrada <emphasis remap=tt>directa</emphasis> en el archivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. 
        Por ejemplo, si tu m&oacute;dem est&aacute; 
        conectado al primer puerto serie, <filename>/dev/cuaa0</filename>, escribe la 
        siguiente l&iacute;nea:</para>
  
        <para>
        <literallayout>        cuaa0:dv=/dev/cuaa0:br#19200:pa=none
        </literallayout>
        </para>
  
        <para>Usa la velocidad m&aacute;s alta que soporte tu m&oacute;dem en la 
        secci&oacute;n br.
        A continuaci&oacute;n teclea 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip cuaa0</ulink>
        y estar&aacute;s conectado al m&oacute;dem.</para>
  
        <para>Si no existe el dispositivo <filename>/dev/cuaa0</filename> en tu sistema
        , teclea lo siguiente:</para>
  
        <para>
        <literallayout>        # cd /dev
        # ./MAKEDEV cuaa0
        </literallayout>
        </para>
  
        <para>O usa el comando cu como root con los siguientes par&aacute;metros:</para>
  
        <para>
        <literallayout>        # cu -l``line'' -s``speed''
        </literallayout>
        </para>
  
        <para>con line siendo el puerto serie (por ejemplo <filename>/dev/cuaa0</filename>&gt;)
        y speed siendo la velocidad (por ejemplo <emphasis remap=tt>57600</emphasis>. Cuando
        termines de entrar los comandos AT, pulsa la tecla <emphasis remap=tt>.</emphasis> para
        salir.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>El s&iacute;mbolo <emphasis remap=tt>@</emphasis> no funciona correctamente!</para>
      </question>

      <answer>
        <para>El s&iacute;mbolo <emphasis remap=tt>@</emphasis> en la opci&oacute;n de 
        n&uacute;meros de tel&eacute;fono indica a tip que busque en el archivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?phones(5)">phone(5)</ulink> un 
        n&uacute;mero de tel&eacute;fono determinado. Pero el s&iacute;mbolo 
        <email>@</email> es tambi&eacute;n un car&aacute;cter especial en otros archivos y 
        opciones como <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. 
        Pon una contrabarra junto al car&aacute;cter:</para>
  
        <para>
        <literallayout>        pn=\@
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo llamar desde la l&iacute;nea de comandos?</para>
      </question>

      <answer>
        <para>Pon lo que se llama una entrada <emphasis remap=tt>gen&eacute;rica</emphasis> 
        en el archivo
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. 
        Por ejemplo:</para>
  
        <para>
        <literallayout>        tip115200|Dial any phone number at 115200 bps:\
        :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
        tip57600|Dial any phone number at 57600 bps:\
        :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
        </literallayout>
        </para>
  
        <para>Entonces puedes hacer cosas como <command>tip -115200 5551234</command>. Si
        prefieres usar <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?cu">cu</ulink> 
        antes que <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink>, 
        usa una entrada gen&eacute;rica de cu:</para>
  
        <para>
        <literallayout>        cu115200|Use cu to dial any number at 115200bps:\
        :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
        </literallayout>
        </para>
  
        <para>y teclea ``<command>cu 5551234 -s 115200</command>''.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Tengo que teclear la velocidad cada vez que hago esto?</para>
      </question>
  
      <answer>
        <para>Pon una entrada para <emphasis remap=tt>tip1200</emphasis> o 
        <emphasis remap=tt>cu1200</emphasis>, pero puedes usar
        la velocidad que mejor se amolde a tus necesidades. 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> piensa que
        una buena velocidad por defecto es 1200 bps ya que busca una entrada
        <emphasis remap=tt>tip1200</emphasis>. No tienes por que usar 1200 bps.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Accedo a diferentes hosts a trav&eacute;s de un servidor de terminales.</para>
      </question>

      <answer>
        <para>En lugar de esperar a que est&eacute;s conectado y teclear
        <emphasis remap=tt>CONNECT &lt;host&gt;</emphasis> cada vez, usa la 
        opci&oacute;n <emphasis remap=tt>cm</emphasis> de tip. 
        Por ejemplo, estas entradas en el archivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>:</para>
  
        <para>
        <literallayout>        pain|pain.deep13.com|Forrester's machine:\
        :cm=CONNECT pain\n:tc=deep13:
        muffin|muffin.deep13.com|Frank's machine:\
        :cm=CONNECT muffin\n:tc=deep13:
        deep13:Gizmonics Institute terminal server:\
        :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
        </literallayout>
        </para>
  
        <para>Esto har&aacute; que puedas teclear <emphasis remap=tt>tip pain</emphasis> o 
        <emphasis remap=tt>tip muffin</emphasis> 
        para conectarte a las m&aacute;quinas pain o muffin.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puede tip intentar m&aacute;s de una l&iacute;nea para cada lugar?</para>
      </question>

      <answer>
        <para>Este es un problema habitual en universidades con diferentes 
        l&iacute;neas de m&oacute;dem y unos cientos de usuarios intentado 
        usarlas...</para>
  
        <para>Haz una entrada para tu universidad en el archivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>
        y usa <emphasis remap=tt><\@></emphasis> para la opci&oacute;n 
        <emphasis remap=tt>pn</emphasis>:</para>
  
        <para>
        <literallayout>        big-university:\
        :pn=\@:tc=dialout
        dialout:\
        :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
        </literallayout>
        </para>
  
        <para>Entonces, lista los n&uacute;meros de tel&eacute;fono de la 
        universidad en el archivo 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?phones">/etc/phones</ulink>:</para>
  
        <para>
        <literallayout>        big-university 5551111
        big-university 5551112
        big-university 5551113
        big-university 5551114
        </literallayout>
        </para>
  
        <para><ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> 
        intentar&aacute; cada uno de estos n&uacute;meros en el 
        orden en el que est&eacute;n listados. Si quieres que se realicen 
        reintentos, ejecuta <emphasis remap=tt>tip</emphasis> en una bucle while.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; tengo que teclea CTRL+P dos veces para enviar 
        CTRL+P una vez?</para>
      </question>

      <answer>
        <para>CTRL+P es el car&aacute;cter por defecto de "forzar", usado para 
        indicarle al programa
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink>
        que el pr&oacute;ximo car&aacute;cter es un dato literal. Puedes 
        configurar el car&aacute;cter "forzar" a cualquier otro car&aacute;cter 
        con el escape <emphasis remap=tt>~s</emphasis>, el cual significa "poner una 
        variable".</para>
  
        <para>Teclea <literal>~sforce=&lt;single-char&gt;</literal> seguido de una nueva
        l&iacute;nea. <emphasis remap=tt>&lt;single-char&gt;</emphasis> es cualquier 
        car&aacute;cter simple. Si dejas libre <emphasis remap=tt>&lt;single-char&gt;</emphasis> 
        entonces el car&aacute;cter de forzar es el caracter nul, al cual puedes acceder 
        tecleando CTRL+2 o CTRL+SPACE. Un valor m&aacute;s adecuado para
        <emphasis remap=tt>&lt;single-char&gt;</emphasis> es SHIFT+CTRL+6, el cual solo es usado en
        algunos servidores de terminales.</para>
  
        <para>Puedes tener el car&aacute;cter de forzar donde quieras, especificando
        lo siguiente en tu archivo <filename>&#36;HOME/.tiprc</filename></para>
  
        <para>
        <literallayout>        force=&lt;single-char&gt;
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>De repente, todo lo que tecleo es en may&uacute;sculas</para>
      </question>

      <answer>
        <para>Has debido pulsar CTRL+A, 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> tiene este
        car&aacute;cter especial para gente que tenga la tecla caps-lock 
        estropeada. Usa <emphasis remap=tt>~s</emphasis> como en la secci&oacute;n anterior 
        y pon la variable "raisechar" a un valor razonable. De hecho, puedes ponerla al 
        mismo valor que que el car&aacute;cter de forzar, si no esperas usar 
        estas caracter&iacute;sticas.</para>
  
        <para>Aqui hay un ejemplo del archivo .tiprc perfecto para usuarios de
        Emacs que necesiten teclear CTRL+2 y CTRL+A muchas veces:</para>
  
        <para>
        <literallayout>        force=^^
        raisechar=^^
        </literallayout>
        </para>
  
        <para>El simbolo ^^ es SHIFT+CTRL+6.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo hacer transferecia de archivos con 
        <emphasis remap=tt>tip</emphasis>?</para>
      </question>

      <answer>
        <para>Si est&aacute;s conectado con otro sistema UNIX, puedes enviar y 
        recibir archivos con <emphasis remap=tt>~p</emphasis> (put) y 
        <emphasis remap=tt>~t</emphasis> (take). Estos comandos 
        ejecutan
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?cat">cat</ulink> y
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?echo">echo</ulink>
        en el sistema remoto para aceptar y enviar archivos. La sintaxis es:</para>
  
        <para>
        <literallayout>        ~p &lt;local-file&gt; [&lt;remote-file&gt;]
        ~t &lt;remote-file&gt; [&lt;local-file&gt;]
        </literallayout>
        </para>
  
        <para>No hay chequeo de errores, por lo que es mejor usar otro protocolo
        como zmodem.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo puedo usar zmodem con <emphasis remap=tt>tip</emphasis>?</para>
      </question>

      <answer>
        <para>Primero, instala uno de los programas zmodem de la colecci&oacute;n de
        ports (por ejemplo
        <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^lrzsz">lrzsz</ulink>
        y <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^rzsz">rzsz</ulink>).</para>
  
        <para>Para recibir archivos, inicia el programa de env&iacute;o en la parte
        remota. A continuaci&oacute;n, pulsa enter y teclea
        <emphasis remap=tt>~C rz</emphasis>'' (or ``<emphasis remap=tt>~C lrz</emphasis>'' 
        si instalaste lrzsz) para empezar a recibir localmente.</para>
  
        <para>Para enviar archivos, inicia el programa de recepci&oacute;n en la 
        parte remota. A continuaci&oacute;n pulsa enter y teclea
        <emphasis remap=tt>~C sz &lt;files&gt;</emphasis>'' 
        (o <emphasis remap=tt>~C lsz &lt;files&gt;</emphasis>) para enviarlos
        al sistema remoto.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>FreeBSD parece que no puede encontrar mis puertos series a&uacute;n 
        cuando la configuraci&oacute;n es correcta.</para>
      </question>

      <answer>
        <para>Las placas bases y tarjetas con UARTs de Acer no son detectadas
        correctamente por FreeBSD durante la fase de detecci&oacute;n serie. 
        Obten un parche de 
        <ulink URL="http://www.lemis.com/serial-port-patch.html">www.lemis.com</ulink> 
        para solucionar el problema.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="misc">
<title>Preguntas varias</title>

  <qandaset>
    <qandaentry>
      <question>
        <para>FreeBSD usa m&aacute;s espacio de swap que Linux. Porqu&eacute;?</para>
      </question>

      <answer>
        <para>No lo hace. Deber&iacute;as pensar "Porque mi swap parece lleno?". Si
        esto es lo que realmente quer&iacute;as decir, es por que poniendo los
        datos en swap en luar de descartarlos, hace que sea m&aacute;s 
        r&aacute;pido recuperarlos que si el paginador tuviese que ir a 
        trav&eacute;s del sistema de archivos y usar bloques sin modificar desde 
        un ejecutable.</para>
  
        <para>La cantidad actual de p&aacute;ginas que puedes tener en el core en una
        sola vez no es reducida; las p&aacute;ginas sin usar son desplazadas como
        sea necesario.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; usar (que son) a.out y ELF como formatos 
        ejecutables?</para>
      </question>

      <answer>
        <para>Para entender por que FreeBSD usa el formato <filename>a.out</filename>, 
        debes saber primero un poco sobre los tres formatos dominantes actualmente
        en UNIX:</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para><ulink URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out</ulink>
            </para>

            <para>El antiguo y cl&aacute;sico formato de objeto. Usa una corta y 
            compacta cabecera con un n&uacute;mero m&aacute;gico en el inicio que 
            es usado para caracterizar el formato (mira en
            <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out(5)</ulink> 
            para m&aacute;s detalles). Contiene tres segmentos
            cargados: .text, .data y .bss m&aacute;s una tabla de s&iacute;mbolos 
            y una tabla de cadenas de car&aacute;cteres.</para>
          </listitem>

          <listitem>
            <para><acronym>COFF</acronym></para>

            <para>El formato de objeto SVR3. La cabecera comprime una secci&oacute;n de
            tablas, de manera que puedas tener m&aacute;s de una sola 
            secci&oacute;n .test, .data y .bss</para>
          </listitem>

          <listitem>
            <para><acronym>ELF</acronym></para>

            <para>El sucesor de <acronym>COFF</acronym>, ofreciendo m&uacute;ltiples 
            secciones y valores posibles de 32 o 64 bits. Un problema importante: 
            <acronym>ELF</acronym> fue dise&ntilde;ado con la presunci&oacute;n de 
            que solo existir&iacute;a un &uacute;nico ABI por arquitectura de sistema. 
            Esta presunci&oacute;n actualmente es incorrecta, incluso en el 
            mundo comercial (el cual tiene al menos tres ABIs: SVR4, Solaris y SCO).</para>
        
            <para></para>

            <para>FreeBSD intenta solucionar este problema de manera que provee
            de una utilidad para <emphasis>marcar</emphasis> un ejecutable 
            <acronym>ELF</acronym> con informaci&oacute;n sobre el ABI con el que 
            es compatible. Para  m&aacute;s informaci&oacute;n, mira el man de 
            <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?brandelf">brandelf</ulink>.
            </para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>FreeBSD viene del sistema cl&aacute;sico y tradicionalmente ha 
        utilizado el formato 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out</ulink>, 
        una tecnolog&iacute;a probada y testeada a trav&eacute;s 
        de muchas generaciones de releases de BSD. Tambi&eacute;n es posible 
        construir y ejecutar binarios nativos <acronym>ELF</acronym> (y kernels) 
        en sistemas FreeBSD. FreeBSD inicialmente se resisti&oacute; al salto de cambiar a 
        <acronym>ELF</acronym> como su formato por defecto. Porqu&eacute;?, bien, cuando el 
        mundo Linux hizo su transici&oacute;n a <acronym>ELF</acronym> no era nada 
        f&aacute;cil abandonar el formato ejecutable <filename>a.out</filename> 
        debido a su inflexible mecanismo de tablas basadas en librer&iacute;as 
        compartidas. Esto hizo muy dif&iacute;cil para los fabricantes y desarrolladores la 
        creaci&oacute;n de librer&iacute;as compartidas. A partir del momento en 
        el que se ofrecieron una serie de herramientas que ofrec&iacute;an la 
        soluci&oacute;n al problema de las librer&iacute;as compartidas, el
        coste de la migraci&oacute;n fue aceptado como necesario y la 
        transici&oacute;n se hizo.</para>
  
        <para>En el caso de FreeBSD, el mecanismo de librer&iacute;as compartidas 
        esta m&aacute;s basado en el estilo de SunOS, mucho m&aacute;s sencillo 
        de usar. De todas maneras, empezando con la version 3.0, FreeBSD 
        soportar&aacute; oficialmente binarios <acronym>ELF</acronym> como el formato por 
        defecto. Aunque pensamos que el formato ejecutable <filename>a.out</filename> 
        nos ha servidor muy bi&eacute;n, la gente de GNU, que hacen las herramientas de 
        compilaci&oacute;n que usamos, ha dejado de dar soporte para el formato 
        <filename>a.out</filename>. Esto nos ha forzado a mantener dos versiones 
        divergentes del compilador y lincador.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; chmod no puede cambiar los permisos de 
        los links?</para>
      </question>

      <answer>
        <para>Tienes que usar <option>-H</option> o <option>-L</option> junto 
        con la opci&oacute;n <option>-R</option> 
        para que funcione. Para m&aacute;s informaci&oacute;n, mira la 
        p&aacute;gina de 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chmod">chmod</ulink> y de
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?symlink">symlink</ulink>.</para>
  
        <para><acronym>CUIDADO</acronym> la opci&oacute;n <option>-R</option> hace un 
        <emphasis remap=tt>chmod</emphasis> <acronym>RECURSIVO</acronym>. Ten cuidado 
        aal especificar directorios o symlinks con 
        <emphasis remap=tt>chmod</emphasis>. Si quieres cambiar los permisos de 
        un directorio referenciado por un symlink, usa
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chmod">chmod</ulink>
        sin ninguna opci&oacute;n y sigue el symlink con una barra <filename>/</filename>. 
        Por ejemplo, si <emphasis remap=tt>foo</emphasis> es un symlink al directorio 
        <emphasis remap=tt>bar</emphasis>, y quieres
        cambiar los permisos de <emphasis remap=tt>foo</emphasis> /actualmente 
        <emphasis remap=tt>bar</emphasis>), deber&iacute;as
        hacer algo como esto:</para>
  
        <para>
        <literallayout>        
          chmod 555 foo/
        </literallayout>
        </para>
  
        <para>Con la barra, 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chmod">chmod</ulink> seguira
        el symlink, <emphasis remap=tt>foo</emphasis>, para cambiar los permisos del 
        directorio <emphasis remap=tt>bar</emphasis>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Porqu&eacute; est&aacute;n los nombres de usuario restringidos 
        a 8 caracteres?</para>
      </question>

      <answer>
        <para>Pensar&aacute;s que es f&aacute;cil y suficiente con cambiar 
        <symbol>UT_NAMESIZE</symbol> y reconstruir el kernel, y todo volver&aacute; a 
        funcionar. Desafortunadamente hay aplicaciones y programas (incluyendo 
        herramientas de sistema) que tienen en el propio c&oacute;digo (no 
        siempre 8 o 9, pero si 15 o 20) en estructuras, buffers... y 
        romper&iacute;a los clientes de NIS de Sun y sin duda existir&iacute;an 
        otros problemas interactuando con otros sistemas UNIX.</para>
  
        <para>En FreeBSD 3.0 y superiores, se ha incrementado el n&uacute;mero
        m&aacute;xmimo de car&aacute;cteres a 16 y todas esas utilidades con
        longitud de car&aacute;cteres prefijada han sido encontradas y
        arregladas. El hecho de que este cambio afectase a muchas &aacute;reas
        del sistema es el motivo por el que el cambio no se ha hecho hasta
        la versi&oacute;n 3.0.</para>
  
        <para>Si eres absolutamente cuidadoso y quieres arreglas tu mismo este
        problema en versiones anteriores, edita el archivo 
        /usr/include/utmp.h y cambia el par&aacute;metro UT_NAMESIZE a la 
        longitud que desees. Tambi&eacute;n debes editar el archivo 
        /usr/include/sys/param.h y poner el valor de MAXLOGNAME al mismo que
        UT_NAMESIZE. Finalmente, recompila los fuentes, no te olvides que
        el contenido de /usr/include es actualizado cada vez!. En su lugar, 
        cambia los archivos apropiados en /usr/src/..</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Puedo ejecutar binarios DOS bajo FreeBSD?</para>
      </question>

      <answer>
        <para>S&iacute;, empezando en la versi&oacute;n 3.0 puedes usar la 
        emulaci&oacute;n DOS <emphasis remap=tt>rundos</emphasis> de BSDI, la cual 
        ha sido integrada y mejorada. Env&iacute;a un mail a la 
        <ulink URL="mailto:emulation@FreeBSD.org">Lista de discusi&oacute;n de emulaci&oacute;n en FreeBSD</ulink> 
        si est&aacute;s interesado en participar en la evoluci&oacute;n de esta 
        caracter&iacute;stica.</para>
  
        <para>Para sistemas pre-3.0 hay una peque&ntilde;a utilidad llamada
        <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^pcemu">pcemu</ulink>
        en la colecci&oacute;n de puertos que emula un 8088 y suficientes 
        servicios de BIOS para ejecutar aplicaciones de modo texto. Requiere el 
        sistema de X Window.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; es <emphasis remap=tt>sup</emphasis>, y como 
        lo uso?</para>
      </question>

      <answer>
        <para><ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^sup">SUP</ulink>
        significa Software Update Protocol, y fue desarrollado por CMU para
        mantener sus &aacute;rboles de desarrollo sincronizados. Nosotros lo
        usabamos para manterner el servidor central sincronizado con otros
        servidores remotos.</para>
  
        <para>SUP no es amigo del ancho de banda, y ha sido retirado. El 
        m&eacute;todo actual recomendado para mantener tus fuentes actualizados 
        es <ulink URL="../../handbook/synching.html#CVSUP">CVSup</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Existen herramientas de ahorro de energ&iacute;a 
        en FreeBSD?</para>
      </question>

      <answer>
        <para>FreeBSD usa la instrucci&oacute;n <acronym>HLT</acronym> (halt) 
        cuando el sistema est&aacute; (idle) para reducir el consumo de energ&iacute;a. 
        Si tienes la opci&oacute;n APM (Automatic Power Management) configurado, FreeBSD 
        puede poner la cpu en modo de baja energ&iacute;a.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; significa "MFC"?</para>
      </question>

      <answer>
        <para>MFC es un acr&oacute;nimo para "Merges From -CURRENT". Es usado en los
        logs de CVS para indicar que un cambio se ha migrado de la rama CURRENT
        a la rama STABLE.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; significa "BSD"?</para>
      </question>

      <answer>
        <para>Pertenece a un lenguaje secreto que solo sus miembros conoces. No tiene
        traducci&oacute;n literal, pero basta con decir que su traducci&oacute;n
        est&aacute; entre, "Equipo de F&oacute;rmula-1", "Los Pinguinos son un
        bu&eacute;n aperitivo", y "Tenermos mejor sentido del humor que Linux"
        :-)</para>
  
        <para>Seriamente, BSD es un acr&oacute;nimo de "Berkeley Software
        Distribution", el cual es el nombre que el CSRG de Berkeley (Computer
        Systems Research Group) escogi&oacute; para sus distribuciones de Unix.</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="hackers">
<title>S&oacute;lo para hackers serios de FreeBSD</title>

  <qandaset>
    <qandaentry>
      <question>
        <para>&iquest;Qu&eacute; son SNAPs y RELEASEs?</para>
      </question>

      <answer>
        <para>Hay actualmente tres ramas activas/semi-activas en el desarrollo de
        FreeBSD y en su
        <ulink URL="http://www.FreeBSD.org/cgi/cvsweb.cgi">CVS Repository</ulink>:</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para><symbol>RELENG_2_2</symbol> AKA <emphasis remap=bf>2.2-stable</emphasis>
            AKA <emphasis remap=bf>"2.2 branch"</emphasis></para>
          </listitem>

          <listitem>
            <para><symbol>RELENG_3</symbol> AKA <emphasis remap=bf>3.x-stable</emphasis> 
            AKA <emphasis remap=bf>"3.0 branch"</emphasis></para>
          </listitem>

          <listitem>
            <para><acronym>HEAD</acronym>  AKA <option>-current</option> AKA 
            <emphasis remap=bf>4.0-current</emphasis></para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para><acronym>HEAD</acronym> no es una rama actual, como las otras dos, es
        simplemente una constante simb&oacute;lica para <emphasis>la versi&oacute;n 
        de desarrollo actual</emphasis> a la cual nos referimos simplemente como 
        <option>-current</option>.</para>
  
        <para>Actualmente, <option>-current</option> es el desarrollo de la 
        versi&oacute;n 4.0 y la rama <emphasis remap=bf>3.0-stable</emphasis> es 
        <symbol>RELENG_3</symbol>, separada de -current en Enero 
        de 1999.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="custrel">
        <para>&iquest;C&oacute;mo puedo hacerme mi propia release personalizada?</para>
      </question>

      <answer>
        <para>Para hacer una release necesitas hacer tres cosas: primero,
        necesitas usar un kernel con el driver 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?vn">vn</ulink> configurado.
        A&ntilde;ade esto a tu archivo de configuraci&oacute;n del kernel y 
        crea un nuevo kernel:</para>
  
        <para>
        <literallayout>        
          pseudo-device vn         #Vnode driver (turns a file into a device)
        </literallayout>
        </para>
  
        <para>Segundo, debes tener las herramientas del CVS a mano. Para hacer
        esto, puedes usar 
        <ulink URL="../../handbook/synching.html#CVSUP">CVSUP</ulink>
        pero en tu supfile pon el nombre de la release a cvs y borra cualquier
        tag campo de fecha:</para>
  
        <para>
        <literallayout>        *default prefix=/home/ncvs
        *default base=/a
        *default host=cvsup.FreeBSD.org
        *default release=cvs
        *default delete compress use-rel-suffix

        ## Main Source Tree
        src-all
        src-eBones
        src-secure

        # Other stuff
        ports-all
        www
        doc-all
        </literallayout>
        </para>
  
        <para>A continuaci&oacute;n ejecuta <command>cvsup -g supfile</command> 
        para tener todos los bits correctos en tu computador.</para>
  
        <para>Finalmente, necesitas una buena cantidad de espacio vac&iacute;o para
        crear en el la release. Digamos que est&aacute; en 
        <filename>/algun/disco/grande</filename> y en el ejemplo anterior has dejado los 
        archivos del CVS en <filename>/home/ncvs</filename>:</para>
  
        <para>
        <literallayout>        
        setenv CVSROOT /home/ncvs        # or export CVSROOT=/home/ncvs
        cd /usr/src/release
        make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/algun/disco/grande/release
        </literallayout>
        </para>
  
        <para>Una release completa ser&aacute; creada en 
        <filename>/algun/disco/grande/</filename> y tendr&aacute;s una 
        instalaci&oacute;n completa de tipo FTP en 
        <filename>/algun/disco/grande/R/ftp</filename> cuando acabes.
        Si quieres crear tu SNAP usando otra rama de desarrollo diferente de 
        -current, puedes a&ntilde;adir <literal>RELEASETAG=SOMETAG</literal> a la 
        l&iacute;nea de comando anterior de creaci&oacute;n de la release. Por ejemplo, 
        <literal>RELEASETAG=RELENG_2_2</literal> crear&iacute;a un snapshot 2.2 GAMMA.
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo creo discos de instalaci&oacute;n personalizados?</para>
      </question>

      <answer>
        <para>El proceso completo de creacaci&oacute;n de discos de 
        instalaci&oacute;n y archivos fuentes y binarios esta automatizado por 
        varios targets en <filename>/usr/src/release/Makefile</filename>. La 
        informaci&oacute;n alli contenida deber&iacute;a ser suficiente para que 
        puedas empezar. Falta decir que este proceso necesita la ejecuci&oacute;n
        del comando "make world" y quiz&aacute;s te use mucho tiempo y espacio 
        en disco.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>``make world'' destruye mis binarios instalados.</para>
      </question>

      <answer>
        <para>S&iacute;, esta es la idea general; como su nombre sugiere, 
        "make world" rehace todos los binarios del sistema, de manera que puedas 
        estar seguro de tener un entorno limpio y consistente al final (que es
        por lo que tarda tanto).</para>
  
        <para>Si la variable de entorno <acronym>DESTDIR</acronym> est&aacute; 
        definida mientras se ejecuta <emphasis remap=tt>make world</emphasis> o 
        <emphasis remap=tt>make install</emphasis>, los binarios creados
        nuevamente seran depositados en un &aacute;rbol de directorios 
        id&eacute;ntico al instalado, y a partir de 
        <emphasis remap=tt>&#36;{DESTDIR}</emphasis>.  Algunas combinaciones aleatorias 
        de modificaciones de librer&iacute;as compartidas y programas pueden 
        causar que falle el <emphasis remap=tt>make world</emphasis>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Cuando mi sistema arranca, dice (bus speed defaulted).</para>
      </question>

      <answer>
        <para>Las controladoras SCSI Adaptec 1542 permiten al usuario configurar
        su velocidad de acceso al bus en software. Versiones anteriores del
        driver de la 1542 intentaban determinar la velocidad m&aacute;s alta 
        factible y configurar la Adaptec a esta. Nos hemos encontrado con que esto
        hace fallar el sistema de algunos usuarios, por lo que tienes que
        definir la opci&oacute;n de configuraci&oacute;n del kernel
        <symbol>TUNE_1542</symbol> para que esto ocurra. En algunos sistemas puede
        que puede hacer que los discos vayan m&aacute;s r&aacute;pidos, pero en 
        otros puede que los datos queden corrompidos.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question id="ctm">
        <para>&iquest;Puedo seguir la rama current con acceso limitado a Internet?</para>
      </question>

      <answer>
        <para>S&iacute;, puedes hacerlo <emphasis remap=tt>sin</emphasis> bajarte 
        todo el c&oacute;digo fuente usando la
        utilidad <ulink URL="../../handbook/synching.html#CTM">CTM.</ulink></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo partir la distribuci&oacute;n en archivos de 240k?</para>
      </question>

      <answer>
        <para>Los sistemas BSD m&aacute;s modernos tienen una opci&oacute;n 
        <option>-b</option> para partir que les permite partir los archivos en 
        tama&ntilde;os arbitrarios.</para>
  
        <para>Aqui hay un ejemplo de <filename>/usr/src/Makefile</filename>.</para>
  
        <para>
        <literallayout>        bin-tarball:
        (cd ${DISTDIR}; \
        tar cf - . \
        gzip --no-name -9 -c | \
        split -b 240640 - \
        ${RELEASEDIR}/tarballs/bindist/bin_tgz.)
        </literallayout>
        </para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;He escrito una extensi&oacute;n del kernel, a quien la 
        env&iacute;o?</para>
      </question>

      <answer>
        <para>Por favor, mira en 
        <ulink URL="../../handbook/contrib.html">como enviar c&oacute;digo.</ulink></para>
  
        <para>Y gracias por pensar en nosotros!</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;C&oacute;mo se detectan e inicializan las tarjetas ISA y PnP?</para>
      </question>

      <answer>
        <para>Brevemente, hay unos cuantos puertos de entrada/salida a los que
        todas las tarjetas PnP responden cuando el computador pregunta si hay
        alguien ah&iacute;. As&iacute;, cuando comienza la rutina de prueba
        de PnP, pregunta si hay alguna tarjeta PnP presente y todas las 
        tarjetas responden con su n&uacute;mero de modelo a una lectura I/O
        del mismo puerto. As&iacute; el c&oacute;digo de prueba puede conocer
        el ID de cada tarjeta (asignado por Microsoft/Intel).</para>
  
        <para>Los ID's son dos campos de 32 bits (2&circ;64) + 8 bits de 
        checksum. Los primeros 32 bits son el identificador del fabricante. 
        No se ha dicho publicamente, pero parece estar asumido que diferentes
        tipos de tarjeta del mismo fabricante pueden tener diferentes id's de
        fabricante. La idea de necesitar 32 bits s&oacute;lo para los
        fabricantes parece un poco excesiva.</para>
  
        <para>La parte baja de 32 bits son un n&uacute;mero de serie, 
        direcci&oacute;n ethernet, algo que haga a la tarjeta &uacute;nica. El
        fabricante no debe producir nunca una segunda tarjeta que tenga los 
        mismos 32 bits de la parte baja, aunque los 32 bits de la parte alta sean
        diferentes. As&iacute; puedes tener m&uacute;ltiples tarjetas del mismo
        tipo en la misma m&aacute;quina y los 64 bits ser&aacute;n &uacute;nicos
        para cada tarjeta.</para>
  
        <para>Los grupos de 32 bits nunca pueden ser todos cero. Esto permite
        mostrar todos los bits no-cero durante la b&uacute;squeda binaria
        inicial.</para>
  
        <para>Una vez el sistema ha identificado todos los ID's de las tarjetas
        presentes, reactivar&aacute;a cada tarjeta, una tras otra (a 
        trav&eacute;s de los mismos puertos I/O), y encontrar&aacute; los 
        recursos que cada tarjeta necesita, que opciones de interrupci&oacute;n
        est&aacute;n disponibles, etc. Se realiza un escaneo sobre todas y cada
        una de las tarjetas presentes para conocer esta informaci&oacute;n.</para>
  
        <para>Esta informaci&oacute;n se combina con la informaci&oacute;n de los
        archivos ECU del disco y con las BIOS MLB. El soporte PnP de ECU y las
        BIOS para hardware en el MLB usualmente es sint&eacute;tico, y los
        perif&eacute;ricos no hacen PnP genuino. De todas maneras, examinando
        la informaci&oacute;n del BIOS m&aacute;s la informaci&oacute;n
        ECU, la rutina de prueba puede causar que los dispositivos que no son
        PnP puedan evitar a esos dispositivos que el c&oacute;digo de prueba
        no puede volver a posicionar.</para>
  
        <para>As&iacute;, los dispositivos PnP son visitados una vez m&aacute;s
        y se les asigna su I/O, DMA, IRQ, direcciones del mapa de memoria. Los
        dispositivos aparecer&aacute;n en esas direcciones y permanecer&aacute;n
        en ellas hasta que se vuelva a reinicializar la m&aacute;quina.</para>

        <para>Todo el proceso se ha simplificado mucho, pero espero que hayas podido
        hacerte una idea del proceso.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>&iquest;Soporta FreeBSD arquitecturas diferentes a x86?</para>
      </question>

      <answer>
        <para>Diferentes grupos de personas han expresado su inter&eacute;s en
        trabajar en un port multi-arquitectura de FreeBSD y FreeBSD/AXP
        (ALPHA) es un ejemplo de ese esfuerzo realizado, ahora disponible en
        forma de 3.0 SNAPshot release en 
        <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/alpha/">ftp://ftp.FreeBSD.org/pub/FreeBSD/alpha</ulink>. 
        El port de ALPHA funciona actualmente en diferentes tipos de m&aacute;quinas ALPHA, 
        entre ellas, AlphaStation, AXPpci, PC164, Miata y Multia. Este port
        todav&iacute;a no se considera una release completa y no lo ser&aacute;
        hasta que exista una colecci&oacute;n completa de herramientas de
        instalaci&oacute;n y una distribuci&oacute;n completa en cdrom para
        instalaci&oacute;, incluyendo un n&uacute;mero razonable de ports y
        packages funcionales. FreeBSD/AXP debe considerarse software de 
        calidad BETA en estos momentos. Para m&aacute;s informaci&oacute;n del
        proyecto, subscr&iacute;bete a la 
        <email>FreeBSD-alpha@FreeBSD.org</email>
        <link linkend="mailing">lista de correo</link>.</para>
  
        <para>Tambi&eacute;n se ha expresado inter&eacute;s en un port de FreeBSD para
        arquitectura SPARC. Subscr&iacute;bete a 
        <email>FreeBSD-sparc@FreeBSD.org</email> 
        <link linkend="mailing">la lista</link> si est&aacute;s interesado en 
        participar en el proyecto. Para discusiones generales en nuevas 
        arquitecturas, participa en 
        <link linkend="mailing">la lista</link>
        <email>FreeBSD-platforms@FreeBSD.org</email>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Necesito un numero de dispositivo para un driver propio</para>
      </question>

      <answer>
        <para>Esto depende de si quieres hacer que el driver est&eacute; 
        p&uacute;blicamente disponible. Si la respuesta es afirmativa, por favor,
        envianos una copia del c&oacute;digo fuente del driver y las 
        modificaciones apropiadas del archivo <emphasis remap=tt>files.i386</emphasis>, 
        un ejemplo de configuraci&oacute;n y el c&oacute;digo apropiado de 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?MAKEDEV">MAKEDEV</ulink> para
        crear cualquier archivo especial que use tu dispositivo. Puedes enviar
        todo lo necesario a <email>FreeBSD-hackers@FreeBSD.org</email>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Alternativas a la pol&iacute;tica de directorios</para>
      </question>

      <answer>
        <para>En respuesta a esta pregunta de pol&iacute;ticas alternativas
        para los directorios, el esquema que est&aacute; actualmente en uso
        no ha cambiado desde que lo escrib&iacute; en 1983. Escrib&iacute; esa
        pol&iacute;tica para el sistema de archivos r&aacute;pido original, y
        nunca se ha revisado. Trabaja bi&eacute;n manteniendo los grupos de
        cilindros. Como muchos de vosotros habreis notado, el rendimiento es
        muy pobre con "find". Muchos sistemas de archivos son creados desde
        archivos que fueron creados por una primera b&uacute;squeda en 
        profundidad (tambi&eacute;n conocido como ftw). Estos directorios 
        terminan esparcidos a trav&eacute;s de los grupos de cilindros. Si
        conociesemos el n&uacute;mero total de directorios a crear, la 
        soluci&oacute;n ser&iacute;a  crear (total / fs_ncg) por grupo de
        cilindros antes de moverlos. Obviamente, tendriamos que crear 
        alg&uacute;n tipo de heur&iacute;stica para adivinar este n&uacute;mero.
        Usando un n&uacute;mero peque&ntilde;o fijo (como puede ser
        10) har&iacute;a de orden de magnitud. Para diferencial restores de 
        operaciones normales (cuando el algoritmo actual es probablemente
        m&aacute;s sensible), podr&iacute;s usar el clustering hasta 10 si
        fueran todos hechos dentro de una ventana de diez segundos. De cualquier
        manera, mi conclusi&oacute;n es que este es un &aacute;rea para la
        experimentaci&oacute;n.</para>
  
        <para>Kirk McKusick, Septiembre 1998</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Obtener todo lo posible de un "kernel panic"</para>
      </question>

      <answer>
        <para><emphasis>[Esta secci&oacute;n fue extraida de un mensaje escrito 
        por <ulink URL="mailto:wpaul@FreeBSD.org">Bill Paul</ulink> en la 
        <link linkend="mailing">lista</link> FreeBSD-current por 
        <ulink URL="mailto:des@FreeBSD.org">Dag-Erling Co&iuml;dan Sm&oslash;rgrav</ulink>,
        qui&eacute;n a fijado algunos errores y a&ntilde;adido algunos comentarios 
        entre corchetes]</emphasis></para>
  
        <para>
        <literallayout>From: Bill Paul &lt;wpaul@skynet.ctr.columbia.edu&gt;
        Subject: Re: the fs fun never stops
        To: ben@rosengart.com
        Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
        Cc: current@FreeBSD.org
        </literallayout>
        </para>
  
        <para><emphasis>[&lt;ben@rosengart.com&gt; envi&oacute; el siguiente 
        panic]</emphasis>
        <literallayout>&gt; Fatal trap 12: page fault while in kernel mode
        &gt; fault virtual address   = 0x40
        &gt; fault code              = supervisor read, page not present
        &gt; instruction pointer     = 0x8:0xf014a7e5
                                        ^^^^^^^^^^
        &gt; stack pointer           = 0x10:0xf4ed6f24
        &gt; frame pointer           = 0x10:0xf4ed6f28
        &gt; code segment            = base 0x0, limit 0xfffff, type 0x1b
        &gt;                         = DPL 0, pres 1, def32 1, gran 1
        &gt; processor eflags        = interrupt enabled, resume, IOPL = 0
        &gt; current process         = 80 (mount)
        &gt; interrupt mask          =
        &gt; trap number             = 12
        &gt; panic: page fault
        </literallayout>
        </para>
  
        <para>[Cuando] ves un mensaje como este, no es suficiente con solo
        reproducirlo y enviarlo. El valor del puntero de instrucciones que
        he marcado arriba es importante; desafortunadamente, depende de la
        configuraci&oacute;n. En otras palabras, el valor var&iacute;a 
        dependiendo de la im&aacute;den de kernel exacta que se use. Si 
        est&aacute;s usando el kernel GENERIC de uno de los snapshots, entonces
        es posible que alguien pueda seguir la funci&oacute;n 
        problem&aacute;tica, pero si est&aacute;s usando un kernel
        personalizado, entonces solo <emphasis>t&uacute;</emphasis> puedes decirnos donde
        ha ocurrido el fallo.</para>
  
        <para>Tendr&iacute;as que hacer lo siguiente:</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para>Anotar el valor del puntero de la instrucci&oacute;n. Ten en
            cuenta la parte <literal>0x8:</literal> al inicio no es significante 
            en este caso: es la parte <literal>0xf0xxxxxx</literal> la que queremos.</para>
          </listitem>

          <listitem>
            <para>Cuando el sistema rearranca, haz lo siguiente:
            <literallayout>
              % nm /kernel.that.caused.the.panic | grep f0xxxxxx
            </literallayout>
 
            donde <literal>f0xxxxxx</literal> es el valor del puntero de la 
            instrucci&oacute;n. El problema es que no obtendr&aacute;s una 
            b&uacute;squeda exacta ya que los s&iacute;mbolos en la tabla de 
            s&iacute;mbolos del kernel son para los puntos de entrada de las 
            funciones y la direcci&oacute;n
            del puntero de la instrucci&oacute;n estar&aacute; en alg&uacute;n
            lugar dentro de una funci&oacute;n, no al principio. Si no obtienes
            un resultado exacto, omite el &uacute;ltimo d&iacute;gito del valor
            del puntero de la instrucci&oacute;n e intentalo otra vez, por
            ejemplo:
            <literallayout>
              % nm /kernel.that.caused.the.panic | grep f0xxxxx
            </literallayout>
 
            Si esto no da ning&uacute;n resultado, elimina otro d&iacute;gito.
            Repite la operaci&oacute;n hasta que obtengas alg&uacute;n tipo de
            salida. El resultado ser&aacute; una lista de posibles funciones
            que causan el panic. Este no es un sistema muy exacto de 
            b&uacute;squeda de errores, pero es mejor que nada.</para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para>Veo gente que constantemente env&iacute;a mensajes de panics como
        este, pero raramente veo que alguien se tome el tiempo de buscar 
        la coincidencia entre el puntero de instrucci&oacute;n y una 
        funci&oacute;n en la tabla de s&iacute;mbolos del kernel.</para>
  
        <para>La mejor manera de hacer el seguimiento de la causa de un panic es
        capturar un "crash dump", usando <command>gdb(1)</command> para hacer una traza del
        "crash dump". Por supuesto, esto depende de que <command>gdb(1)</command> funcione
        correctamente en -current, lo que no puedo garantizar (recuerdo que
        alguien ha comentado que el nuevo <command>gdb(1)</command> en formato ELF no
        manejaba bi&eacute;n los "dumps" de un crash del kernel; algui&eacute;n
        deber&iacute;a mirar esto antes de que la 3.0 salga del estado beta).</para>
  
        <para>En cualquier caso, el m&eacute;todo que normalmente uso es este:</para>
  
        <para>
        <itemizedlist>
          <listitem>
            <para>Crear un archivo de configuraci&oacute;n de kernel, opcionalmente
            a&ntilde;adiendo 'options DDB' si piensas que necesitas el debugger
            del kernel por alg&uacute;n motivo. (Uso esto principalmente para
            configurar puntos de salida si sospecho que existe alguna 
            condici&oacute;n que crea un loop infinito).</para>
          </listitem>

          <listitem>
            <para>Usar <command>config -g KERNELCONFIG</command> para crear el directorio
            de configuraci&oacute;n del kernel.</para>
          </listitem>

          <listitem>
            <para><command>cd /sys/compile/KERNELCONFIG; make</command></para>
          </listitem>

          <listitem>
            <para>Esperar a que el kernel termine de compilar.</para>
          </listitem>

          <listitem>
            <para><emphasis remap=tt>cp kernel kernel.debug</emphasis></para>
          </listitem>

          <listitem>
            <para><command>strip -d kernel</command></para>
          </listitem>

          <listitem>
            <para><emphasis remap=tt>mv </emphasis>kernel /kernel.orig/</para>
          </listitem>

          <listitem>
            <para><command>cp kernel /</command></para>
          </listitem>

          <listitem>
            <para>reboot</para>
          </listitem>
        </itemizedlist>
        </para>
  
        <para><emphasis>[Nota: ahora que los kernels de FreeBSD 3.x son ELF por defecto
        debes usar <command>strip -g</command> en lugar de <command>strip -d</command>. 
        Si por alg&uacute;n motivo tu kernel es a&uacute;n a.out, usa 
        <command>strip -aout -d</command>.]</emphasis></para>
  
        <para>Ten en cuenta que TU <acronym>NO</acronym> QUIERES ARRANCAR CON UN 
        KERNEL QUE TIENE TODOS LOS SIMBOLOS DE DEBUG EN EL. Un kernel compilado 
        con <option>-g</option> puede llegar facilmente a los 10MB de tama&ntilde;o. 
        No tienes que arrancar esta im&aacute;n masiva, solo lo necesitas para poder usar
        despu&eacute;s <command>gdb(1)</command> (<command>gdb(1)</command> quiere 
        la tabla de s&iacute;mbolos). Al contrario, quieres mantener una copia de la
        im&aacute;gen completa y crear una segunda im&aacute;gen con los
        s&iacute;mbolos de debug desactivados usando <command>strip -d</command>. Es esta
        segunda im&aacute;gen la que quieres arrancar.</para>
  
        <para>Para asegurarte de capturar un "crash dump", necesitas editar el
        archivo <filename>/etc/rc.conf</filename> y apuntar 
        <emphasis remap=tt>dumpdev</emphasis> a tu 
        partici&oacute;n de swap. Esto har&aacute; que el script <command>rc(8)</command> 
        use el comando <command>dumpon(8)</command> para activar los "crash dumps". 
        Tambi&eacute;n puedes ejecutar manualmente <command>dumpon(8)</command>. 
        Despu&eacute;s de un panic, el "crash dump" puede ser recuperado usando 
        <command>savecore(8)</command>; si <emphasis remap=tt>dumpdev</emphasis> 
        est&aacute; en <filename>/etc/rc.conf</filename>, el script
        <command>rc(8)</command> ejecutar&aacute; <command>savecore(8)</command> 
        automaticamente y pondr&aacute; el "crash dump" en 
        <filename>/var/crash</filename>.</para>
  
        <para>NOTA: los "crash dumps" de FreeBSD suelen tener el mismo
        tama&ntilde;o que la cantidad total de memoria f&iacute;sica del
        sistema. Esto significa que si tienes 64MB de RAM, obtendr&aacute;s
        un "crash dump" de 64MB. Debido a esto, tienes que asegurarte de tener
        suficiente espacio libre en <filename>/var/crash</filename>. 
        Alternativamente puedes ejecutar <command>savecore(8)</command> 
        manualmente y hacer la recuparaci&oacute;n en otro directorio donde 
        tengas m&aacute;s espacio libre. Es posible limitar el tama&ntilde;o 
        del "crash dump" usando <literal>options MAXMEM=(foo)</literal>
        para indicar la cantidad de memoria que el kernel puede ocupar. Por
        ejemplo, si tienes 128MB de RAM, puedes limitar el uso de memoria del
        kernel a 16MB para que el "crash dump" sea de 16MB y no de 128MB.</para>
  
        <para>Una vez hayas recuperado el "crash dump", puedes obtener una traza
        del stack con <command>gdb(1)</command> de la manera siguiente:</para>
  
        <para>
        <literallayout>
          % gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0
          (gdb) where
        </literallayout>
        </para>
  
        <para>Es posible que aparezcan muchas l&iacute;neas de informaci&oacute;n:
        es una buena idea usar el comando <command>script(1)</command> para capturarlas
        todas. Usando la im&aacute;gen del kernel con todos los s&iacute;mbolos
        de debug deber&iacute; mostrar la l&iacute;nea exacta de c&oacute;digo
        fuente del kernel donde ha ocurrido el panic. Normalmente, tienes que
        leer la traza del stack de abajo hacia arriba para poder conocer la 
        secuencia exacta de eventos que han provocado el crash. Tambi&eacute;n
        puedes usar <command>gdb(1)</command> para mostrar los contenidos de las diferentes
        variables o estructuras para examinar el estado del sistema en el 
        momento del crash.</para>
  
        <para>Ahora, si eres realmente curioso y tienes un segundo computador, 
        puedes configurar <command>gdb(1)</command> para hacer un debug remoto de manera
        que puedes usar <command>gdb(1)</command> en un sistema para revisar el kernel
        de otro sistema, de la misma manera que lo har&iacute;as en la
        m&aacute;quina local.</para>
  
        <para><emphasis>[Bill a&ntilde;ade: "Olvid&eacute; mencionar una cosa: si tienes
        DDB activado, puedes forzar un panic (y un crash dump)  tecleando
        "panic" en el prompt del ddb. Es posible que el debugger se pare
        durante la fase del panic. Si esto ocurre, teclea "continue" y el
        crash dump finalizar&aacute;"]</emphasis></para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>dlsym() no funciona con ejecutables ELF!</para>
      </question>

      <answer>
        <para>Las herramientas ELF no hacen por defecto que los s&iacute;mbolos
        definidos en un ejecutable sean visibles por el linker din&aacute;mico.
        Consecuentemente, <function>dlsym()</function> buscar&aacute; en datos 
        obtenidos desde llamadas a <emphasis remap=tt>dlopen(NULL, flags)</emphasis>, 
        lo que provoca que no se encuentren esos s&iacute;mbolos.</para>
  
        <para>Si quieres buscar, usando <function>dlsym()</function> s&iacute;mbolos 
        presentes en el ejecutable principal de un proceso, necesitas linkar el
        ejecutable usando la opci&oacute;n <option>-export-dynamic</option> en el 
        <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ld">linkador ELF</ulink>.</para>
      </answer>
    </qandaentry>

    <qandaentry>
      <question>
        <para>Incrementando o reduciendo el espacio de direcciones del kernel</para>
      </question>

      <answer>
        <para>Por defecto, el espacio de direcciones del kernel es de 256MB en
        FreeBSD 3.x y 1GB en FreeBSD 4.x. Si gestionas un servidor de red
        muy cargado (por ejemplo, servidores FTP o HTTP con mucho 
        tr&aacute;fico), es posible que notes que 256MB no es
        suficiente.</para>
  
        <para>As&iacute; que... como incremento el espacio de direcciones?. Hay
        dos aspectos a tener en cuenta. Primero, necesitas indicarle al kernel
        que reserve una mayor parte del espacio de direcciones para &eacute;l
        mismo. Segundo, ya que el kernel se carga al inicio del espacio de
        direcciones, necesitas disminuir la direcci&oacute;n de carga.</para>
  
        <para>El primer aspecto lo solucionamos incrementando el valor de
        <acronym>NKPDE</acronym> en <filename>src/sys/i386/include/pmap.h</filename>. 
        Esta es una entrada de ejemplo para 1GB de espacio de direcciones:</para>
  
        <para>
        <literallayout>
          #ifndef NKPDE
          #ifdef SMP
          #define NKPDE                   254     /* addressable number of page tables/pde's */
          #else
          #define NKPDE                   255     /* addressable number of page tables/pde's */
          #endif  /* SMP */
          #endif
        </literallayout>
        </para>
  
        <para>Para encontrar el valor correcto de <acronym>NKPDE</acronym>, 
        divide el espacio de direcciones deseado (en megabytes) por cuatro, 
        despu&eacute;s resta uno por UP y dos por SMP.</para>
  
        <para>Para solucionar el segundo aspecto, necesitas calcular la 
        direcci&oacute;n correcta de carga: simplemente resta el tama&ntilde;o
        del espacio de direcciones (en bytes) de 0x100100000; el resultado
        es 0xc0100000 para 1GB de espacio de direcciones. Ajusta
        <symbol>LOAD_ADDRESS</symbol> en 
        <filename>src/sys/i386/conf/Makefile.i386</filename> a ese
        valor; a continuaci&oacute;n pon el contador al inicio de la
        secci&oacute;n listado en <filename>src/sys/i386/conf/kernel.script</filename>
        al mismo valor, como sigue:</para>
  
        <para>
        <literallayout>
          OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
          OUTPUT_ARCH(i386)
          ENTRY(btext)
          SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/obj/elf/home/src/tmp/usr/i386-unknown-FreeBSDelf/lib);
          SECTIONS
          {
            /* Read-only sections, merged into text segment: */
            . = 0xc0100000 + SIZEOF_HEADERS;
            .interp     : { *(.interp)    }
        </literallayout>
        </para>
  
        <para>Reconfigura y compila el kernel. Probablemente tengas problemas con
        <command>top(1)</command>, <command>ps(1)</command> y programas as&iacute; 
        haciendo un <emphasis remap=tt>make world</emphasis> deber&iacute;n 
        solucionarse esos problemas (o una recompilaci&oacute;n manual de 
        <emphasis remap=tt>libkvm</emphasis>, <emphasis remap=tt>ps</emphasis> y 
        <emphasis remap=tt>top</emphasis> despu&eacute;s de copiar el 
        <filename>pmap.h</filename> parcheado a <filename>/usr/include/vm/</filename>.
        </para>
  
        <para>NOTA: el tama&ntilde;o del espacio de direcciones debe ser un 
        m&uacute;ltiplo de cuatro megabytes.</para>
  
        <para><emphasis>[<ulink URL="mailto:dg@FreeBSD.org">David Greenman</ulink>
        a&ntilde;ade: </emphasis>Pienso que el espacio de direcciones del kernel
        necesita ser una potencia de 2, pero no estoy totalmente seguro.]</para>
      </answer>
    </qandaentry>
  </qandaset>
</chapter>

<chapter id="acknowledgments">
<title>AGRADECIMIENTOS</title>

  <para>
  <literallayout>
    Si ves alg&uacute;n problema o error en esta FAQ, o quieres enviar
    informaci&oacute;n para que sea a&ntilde;adida, por favor, env&iacute;a 
    un mail a la direcci&oacute;n faq-es@es.FreeBSD.org. Apreciamos tu 
    informaci&oacute;n e inter&eacute;s, y no podemos hacer una FAQ mejor 
    sin tu ayuda.


                                      FreeBSD Spanish Documentation Project.
  </literallayout>
  </para>
  
  <para>
  <variablelist>
    <varlistentry>
      <term>Cristobal Talavera (cristobal@es.FreeBSD.org)</term>
      <listitem>
        <para>Por haber obtenido la libertad :)</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>David Casademunt (david@es.FreeBSD.org)</term>
      <listitem>
        <para>No hay hardware que se le resista.</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Nick Clayton (nick@FreeBSD.org)</term>
      <listitem>
        <para>Gracias a su ayuda todo esto ha sido posible.</para>  
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Nexus Comunicacaciones (www.ncsa.es)</term>
      <listitem>
        <para>Por mantener el mirror y darme las facilidades para hacer todo esto.</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Oscar Colet (oscarc@abaforum.es)</term>
      <listitem>
        <para>Por aguantar lo que tiene que aguantar.</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Jordan Hubbard</term>
      <listitem>
        <para>Actualizaciones y entradas ocasionales.</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Doug White</term>
      <listitem>
        <para>Recopilaciones y respuestas en FreeBSD-questions.</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Joerg Wunsch</term>
      <listitem>
        <para>Recopilaciones y respuestas en las news.</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Garrett Wollman</term>
      <listitem>
        <para>Redes.</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Jim Lowe</term>
      <listitem>
        <para>Informaci&oacute;n sobre multicast.</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Peter da Silva</term>
      <listitem>
        <para>"Machaca de las teclas" de FreeBSD FAQ</para>
        <para></para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>The FreeBSD Team</term>
      <listitem>
        <para>De todo.</para>
      </listitem>
    </varlistentry>
  </variablelist>
  </para>
  
  <para>y para todos los que hemos olvidado, disculpas y muchas gracias por
  todo!.</para>
  
  <para>Jes&uacute;s Rodr&iacute;guez 
  <ulink URL="mailto:jesusr@FreeBSD.org">jesusr@FreeBSD.org</ulink></para>
</chapter>
</book>
