diff options
Diffstat (limited to 'es_ES.ISO_8859-1/books')
-rw-r--r-- | es_ES.ISO_8859-1/books/faq/Makefile | 26 | ||||
-rw-r--r-- | es_ES.ISO_8859-1/books/faq/book.sgml | 8250 |
2 files changed, 8276 insertions, 0 deletions
diff --git a/es_ES.ISO_8859-1/books/faq/Makefile b/es_ES.ISO_8859-1/books/faq/Makefile new file mode 100644 index 0000000000..4f8cf71be6 --- /dev/null +++ b/es_ES.ISO_8859-1/books/faq/Makefile @@ -0,0 +1,26 @@ +# +# $Id: Makefile,v 1.1 1999-08-18 13:04:30 jesusr Exp $ +# +# Build the FreeBSD FAQ +# + +MAINTAINER=jesusr@FreeBSD.org + +DOC?= book + +FORMATS?= html-split html + +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# +# SRCS lists the individual SGML files that make up the document. Changes +# to any of these files will force a rebuild +# + +# SGML content +SRCS= book.sgml + +DOC_PREFIX?= ../../.. + +.include "../../../share/mk/docproj.docbook.mk" diff --git a/es_ES.ISO_8859-1/books/faq/book.sgml b/es_ES.ISO_8859-1/books/faq/book.sgml new file mode 100644 index 0000000000..1db8e4ee10 --- /dev/null +++ b/es_ES.ISO_8859-1/books/faq/book.sgml @@ -0,0 +1,8250 @@ +<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN"> +<book> + +<bookinfo> +<bookbiblio> +<title>Frequently Asked Questions para FreeBSD 2.X</title> + +<authorgroup> +<author> +<surname>Proyecto de documentación de FreeBSD</surname> +</author> +</authorgroup> + +<pubdate>$Date: 1999-08-18 13:04:31 $</pubdate> + +<abstract><para> Esta es la FAQ para sistemas FreeBSD versión 2.X. Todas las secciones + están dirigidas a FreeBSD 2.0.5 y superiores. Los capítulos con <XXX> están bajo construcción. + Si estás interesado en colaborar en este proyecto, envía un e-mail a la lista de distribución del proyecto de documentación de FreeBSD <ulink URL="mailto:freebsd-doc@FreeBSD.org"><freebsd-doc@FreeBSD.org></ulink> o a la dirección <ulink URL="mailto:faq-es@es.FreeBSD.org">faq-es@es.FreeBSD.org</ulink>. La última versión de este documento está siempre disponible en el <ulink URL="http://www.es.FreeBSD.org/es">Mirror español de FreeBSD</ulink> + . Puede ser "bajada" en <ulink URL="FAQ.latin1">formato texto</ulink>, + o <ulink URL="FAQ-html.tar.gz">formato HTML</ulink> mediante HTTP. + </para></abstract> + +</bookbiblio> +</bookinfo> + +<chapter +id="preface"> +<title>Introducción</title> + +<para>Bienvenido a la FAQ de FreeBSD 2.X!</para> + + +<sect1> +<title>¿Cuál es el objetivo de esta FAQ?</title> + +<para>Como es habitual con las FAQ de los grupos de noticias (USENET), este +documento pretende abarcar las preguntas más frecuentes +referentes al sistema operativo FreeBSD (y por supuesto contestarlas!). +Pensadas en un principio para reducir el tráfico y evitar que se +hagan las mismas preguntas una y otra vez, las FAQ se han convertido en +un valorado recurso de obtención de información.</para> + +<para>Todo el esfuerzo se ha hecho en intentar que esta FAQ sea lo más +informativa posible; si tienes cualquier comentario o sugerencia, por +favor, envía un mail a <ulink URL="mailto:jesusr@FreeBSD.org">FAQ maintainer</ulink>.</para> + +</sect1> + +<sect1> +<title>¿Qué es FreeBSD?</title> + +<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ón más detallada de FreeBSD y de como puede +trabajar, se encuentra en +<ulink URL="http://www.FreeBSD.org">FreeBSD home page</ulink>.****</para> + +<para>FreeBSD es usado por compañís, proveedores de Internet, +profesionales de la informática, estudiantes y usuarios +particulares de todo el mundo en su trabajo, educació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ón más detallada sobre FreeBSD, por +favor mira en +<ulink URL="../../handbook/index.html">FreeBSD Handbook.</ulink></para> + +</sect1> + +<sect1> +<title>¿Cuál es el objetivo de FreeBSD?</title> + +<para>El objetivo del Proyecto FreeBSD es proveer software que pueda ser +usado en todos los ámbitos sin ningún tipo de atadura. +Muchos de nosotros estamos significativamente involucrados en el +desarrollo del código (y del proyecto) y no sería cierto +decir que no esperabamos o esperamos algún tipo de +financiación, pero definitivamente no estamos preparados para +insistir en ello. Creemos que nuestra primera y principal +"misión" es proveer el código libremente, y en cualquier +ámbito, para que el código sea lo más expandido +posible y produzca 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ódigo fuente de los programas registrados bajo GNU +General Public License (GPL) o GNU Library General Public License (LGPL), +se provee 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ás permisivo.</para> + +</sect1> + +<sect1> +<title>¿Porqué se llama FreeBSD?</title> + +<para> +<itemizedlist> + +<listitem> +<para>Este sistema debe ser usado libremente, sin coste alguno +incluso para fines comerciales. +</para> +</listitem> + +<listitem> +<para>El código fuente completo del sistema operativo es de +libre distribución, y se han marcado el menor numero posible +de restricciones para su uso, distribución e +incorporación a otros trabajos (comerciales o no). +</para> +</listitem> + +<listitem> +<para>Cualquier persona que tenga alguna sugerencia de mejora y/o +"parche" de algun "bug", es libre de enviar el código y que +este sea añadido al código fuente de la +distribución original (sujeto a una o dos condiciones obvias).</para> +</listitem> + +</itemizedlist> +</para> + +<para>Para todos nuestros lectores que su primer lenguaje no sea el +inglés, decir 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ódigo de +FreeBSD, por ejemplo decir que lo has escrito, realmente puedes hacer lo +que quieras con él.</para> + +</sect1> + +<sect1> +<title>¿Cuál es la última versión de FreeBSD? + </title> + +<para>La versión +<ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/3.2-RELEASE">3.2R</ulink> es la última <emphasis>-stable</emphasis>; fue declarada +definitiva (a partir de ahora "release") en Mayo de 1999.</para> + +<para>Brevemente explicado, <option>-stable</option> está dirigido a +proveedores de Internet y otros usuarios corporativos que quieren +estabilidad y una sucesión tranquila en los cambios y +actualizaciones a las nuevas versiones y sus mejoras. Sólo debes +usar la rama <emphasis>current</emphasis> si estás seguro de estar preparado para +su mayor "volatilidad" (relativa a <emphasis>-stable</emphasis>).</para> + +<para>Las versiones Release se hacen cada <xref linkend="release-freq" remap="varios meses">. Mientras mucha gente mantiene más al +día los fuentes de FreeBSD (lee las preguntas en +<xref linkend="current" remap="FreeBSD-current"> y <xref linkend="stable" remap="FreeBSD-stable">, hacerlo está pensado para gente que +se considere preparada para seguir el desarrollo continuo del +código fuente.</para> + +</sect1> + +<sect1 +id="current"> +<title>¿Qué es FreeBSD-current?</title> + +<para><ulink URL="../../handbook/cutting-edge.html#CURRENT">FreeBSD-current</ulink> +es la versión de desarrollo del sistema operativo, la cual +acabará siendo la versión 4.0-RELEASE. Como es de suponer, +esta versión es de interés solo para los desarrolladores +que trabajan en el sistema y "masoquistas" de la programación. +Mira la +<ulink URL="../../handbook/cutting-edge.html#CURRENT">sección correspondiente</ulink> en el <ulink URL="../../handbook/index.html">handbook</ulink> para saber como funciona esta opción.</para> + +<para>Si no estás familiarizado con el sistema operativo o no eres +capaz de identificar la diferencia entre un problema real y un problema +temporal, no deberías usar FreeBSD-current. Esta rama a veces +avanza muy rapidamente y puede no ser compilable durante unos días. La gente que usa FreeBSD-current es capaz de analizar los problemas y +solo comunicarlos si son motivo de errores. Preguntas como "al ejecutar +make world obtengo un error referente a grupos" en la lista de +distribució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ón están disponibles. Los objetivos +de cada release snapshot son:</para> + +<para> +<itemizedlist> + +<listitem> +<para>Testear la última versión del software de +instalación. +</para> +</listitem> + +<listitem> +<para>Dar a la gente que le gustaría usar la versión +-current pero que no tiene el tiempo suficiente para seguir el ritmo +diario de actualizaciones, una manera fácil de poder instalarla +en su sistema. +</para> +</listitem> + +<listitem> +<para>Preservar un punto de referencia fijado en el código en +cuestión, sólo en caso de que "rompamos" algo realmente +importante. (De todas maneras, el CVS normalmente previene de que cosas +tan horribles como estas puedean suceder :) +</para> +</listitem> + +<listitem> +<para>Asegurar que las nuevas características desarrolladas +puedan ser suficientemente testeadas por el mayor número de +gente.</para> +</listitem> + +</itemizedlist> +</para> + +<para>No se garantiza que ningún snapshot pueda ser considerado +"calidad de producción". Para conseguir estabilidad y un sistema +garantizado, tendrás que usar las versiones release.</para> + +<para>Las release snapshot está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ía para las ramas 4.0-current y +3.0-stable.</para> + +</sect1> + +<sect1 +id="stable"> +<title>¿Qué significa FreeBSD-stable?</title> + +<para>Cuando la versió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ón de que solo los parches bien testeados y pequeñ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ínea común para el +desarrollo de la versión 4.0-RELEASE. Aquí hay un +pequeño gráfico ASCII para ayudar a entender este +sistema de desarrollo:</para> + +<para> +<literallayout> 2.0 + | + | + | [2.1-stable] +*BRANCH* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-stable ends] + | (Mar 1997) + | + | + | [2.2-stable] +*BRANCH* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5-RELEASE -> ... + | (Mar 1997) (Oct 1997) + | + | + 3.0-SNAPs (started Q1 1997) + | + | + 3.0.0-RELEASE (Oct 1998) + | + | [3.0-stable] +*BRANCH* 3.1 (Feb 1999) -> 3.2-RELEASE -> ... 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én conocida como +3.0-stable. 4.0-current continuará hasta donde los desarrollos +activos lleguen cuando se convierta en release 4.0. En ese punto, 4.0 se +convertirá en 4.0-stable y se abrirá la nueva 4.1-current.</para> + +</sect1> + +<sect1 +id="release-freq"> +<title>¿Cuando se realizan las releases de FreeBSD?</title> + +<para>Como principio general, el equipo de FreeBSD solo hace una nueva +versión release de FreeBSD cuando cree que hay suficientes +caracterí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ón es una +de las mejores caracterí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ás de +excitación, hay SNAP-release más frecuentemente, +particularmente durante el mes anterior a una release completa.</para> + +</sect1> + +<sect1> +<title>¿Está FreeBSD disponible solo para PCs?</title> + +<para>En estos momentos, sí, aunque se está trabajando en +portarlo a la arquitectura DEC Alpha. Si tu má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> + +</sect1> + +<sect1> +<title> ¿Quién es responsable de FreeBSD?</title> + +<para>Las decisiones clave concernientes al proyecto FreeBSD como la +dirección a seguir y quién está autorizado a +añadir código a la distribución original, se hace a +través de un grupo de unas 17 personas llamado +<ulink URL="../../handbook/staff.html#STAFF-CORE">core team</ulink>. +Existe también un grupo de unas 150 personas o +<ulink URL="../../handbook/staff-committers.html">committers</ulink> que +también están autorizadas a realizar cambios directamente +sobre la distribución original.</para> + +<para>De todas maneras, la cambios importantes son discutidos en +las <xref linkend="mailing" remap="listas de distribución"> en las que no +existen restricciones en quien participa en las discusiones.</para> + +</sect1> + +<sect1 +id="where-get"> +<title>¿Dónde puedo conseguir FreeBSD?</title> + +<para>Todas las versiones release de FreeBSD están disponibles via ftp +anó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.2-stable release, 3.2R mira en +<ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/3.2-RELEASE/">3.2-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 vía +RELENG_2_2 rama (2.2.5 -> 2.2.x). Con la ocasional excepción de +pequeñas variaciones, la rama RELENG_2_2 esta siendo +cuidadosamente mantenida (no hay cambios experimentales y los parches +son añadidos solo después de ser testeados 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ía para la +rama <xref linkend="current" remap="-current">, siendo este un servicio +puramente para testeadores y desarrolladores. + +</para> + +<para>FreeBSD esta también disponible via CDROM, en los siguientes +lugares:</para> + +<para></para> + +<para>Walnut Creek CDROM<!-- <br> --> +4041 Pike Lane, Suite F<!-- <br> --> +Concord, CA 94520 USA<!-- <br> --> +Orders: +1 800 786-9907<!-- <br> --> +Questions: +1 925 674-0783<!-- <br> --> +FAX: +1 925 674-0821<!-- <br> --> +email: <ulink URL="mailto:orders@cdrom.com">WC Orders address</ulink><!-- <br> --> +WWW: <ulink URL="http://www.cdrom.com/">WC Home page</ulink><!-- <br> --></para> + +<para></para> + +<para>En Australia:</para> + +<para></para> + +<para>Advanced Multimedia Distributors<!-- <br> --> +Factory 1/1 Ovata Drive<!-- <br> --> +Tullamarine, Melbourne<!-- <br> --> +Victoria<!-- <br> --> +Australia<!-- <br> --> +Voice: +61 3 9338 6777<!-- <br> --></para> + +<para>CDROM Support BBS<!-- <br> --> +17 Irvine St<!-- <br> --> +Peppermint Grove WA 6011<!-- <br> --> +Voice: +61 9 385-3793<!-- <br> --> +Fax: +61 9 385-2360<!-- <br> --></para> + +<para>Y en el Reino Unido:</para> + +<para>The Public Domain & Shareware Library<!-- <br> --> +Winscombe House, Beacon Rd<!-- <br> --> +Crowborough<!-- <br> --> +Sussex. TN6 1UL<!-- <br> --> +Voice: +44 1892 663-298<!-- <br> --> +Fax: +44 1892 667-473<!-- <br> --></para> +</listitem> + +</itemizedlist> +</para> + +</sect1> + +<sect1 +id="mailing"> +<title>¿Dónde encuentro información sobre las listas de distribución de FreeBSD?</title> + +<para>Puedes encontrar toda la información en <ulink URL="../../handbook/eresources.html#ERESOURCES-MAIL">la sección de listas del Handbook.</ulink></para> + +</sect1> + +<sect1> +<title>¿Dónde encuentro información sobre el + año 2000 (Y2K) en FreeBSD?</title> + +<para>Tienes toda la información disponible en la <ulink URL="http://www.freebsd.org/y2kbug.html">página Y2K de FreeBSD</ulink>.</para> + +</sect1> + +<sect1> +<title>¿Qué grupos de noticias están disponibles sobre FreeBSD?</title> + +<para>Puedes encontrar toda la información en <ulink URL="../../handbook/eresources-news.html">la sección de news del Handbook.</ulink></para> + +</sect1> + +<sect1> +<title> ¿Hay algun canal IRC (Internet Relay Chat) sobre FreeBSD? + </title> + +<para>Sí, 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órum de +FreeBSD, pero no acudas allí para obtener soporte técnico +o contar tus penas sobre como leer las páginas man ;). Es un canal +de chat, de principio a fín, y los temas que se tratan suelen ser +cosas como sexo, deportes o armas nucleares. +Está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á 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á 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é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ña red de chat, en el servidor <filename>irc.FreeBSD.org</filename>. +Esta red intenta ofrecer más soporte técnico y no ser tan +anárquica como EFNET, UNDERNET o DALNET. Porqué no ofrecer +respuestas de manera voluntaria hoy en BSDNET?.</para> +</listitem> + +</itemizedlist> +</para> + +<para>Cada uno de estos canales es diferente y no están conectados +entre ellos. Sus estilos de chat difieren, por lo que podrís +probarlos todos para ver cual te gusta más.</para> + +</sect1> + +<sect1> +<title>Libros sobre FreeBSD</title> + +<para>El libro de Greg Lehey's ``Installing and Running FreeBSD'' +está disponible en Walnut Creek y se vende con el CDROM 2.2.5. +Hay también un libro +más completo titulado ``The Complete FreeBSD'', el cual tiene +manuales adicionales e incluye el CDROM 2.2.6. Debería estar +disponible en las mejores librerías.</para> + +<para>Hay un proyecto de documentación de FreeBSD al que puedes +contactar (o mejor, participar), en la lista de distribución +<emphasis remap=tt>doc</emphasis>: +<ulink URL="mailto:doc@FreeBSD.org"><doc@FreeBSD.org></ulink>. +En esta lista se tratan todos los temas referentes a la +documentación de FreeBSD. Para preguntas actuales sobre FreeBSD, +existe la lista <emphasis remap=tt>question</emphasis>: <ulink URL="mailto:questions@FreeBSD.org"><questions@FreeBSD.org></ulink>.</para> + +<para>Está 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 este es un trabajo en constante desarrollo y +actualización, por lo que algunas secciones podrían estar +incompletas.</para> + +<para>Teniendo en cuenta que FreeBSD 2.2.x está basado en la +versión Berkeley 4.4BSD-Lite2, la mayorí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ón de estos puede ser encontrada vía WWW en:</para> + +<para><ulink URL="http://gnn.com/gnn/bus/ora/category/bsd.html">Descripción de libros sobre 4.4BSD</ulink></para> + +<para>Para profundizar má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ón de sistemas es:</para> + +<para>Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein,<!-- <br> --> +``Unix System Administration Handbook'', Prentice-Hall, 1995<!-- <br> --> +ISBN: 0-13-151051-7<!-- <br> --></para> + +<para><acronym>NOTE</acronym> Asegurate de conseguir la segunda edición, con +cubierta roja y no la primera.</para> + +<para>Este libro cubre las necesidades básicas, así como +TCP/IP, DNS, NFS,SLIP/PPP, sendmail, INN/NNTP, impresión, etc,. +Es caro, (aproximadamente unos US$45-$55), pero vale la +pena. +También incluye un cd-rom con las fuentes de varias herramientas, +muchas de las cuales están incluidas, también, en la +versión 2.2.6R (cdrom) de FreeBSD, incluso incluyendo versiones +más modernas.</para> + +</sect1> + +<sect1> +<title>¿Cómo accedo a la base de datos de Problem Report?</title> + +<para>La base de datos de Problem Report puede ser consultada vía +web a traves de la dirección +<ulink URL="http://www.FreeBSD.org/cgi/query-pr-summary.cgi">query</ulink>. También pueden ser enviados vía web a +través de la dirección +<ulink URL="http://www.FreeBSD.org/send-pr.html">envio</ulink>. El comando <command>send-pr(1)</command> también puede ser +usado para el envío de reporte de problemas.</para> + +</sect1> + +<sect1> +<title> ¿Dónde puedo obtener versiones ASCII/PstScript de la FAQ? + </title> + +<para>La FAQ actualizada está 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> + +</sect1> + +<sect1> +<title>¿Dónde puedo obtener versiones ASCII/PostScript del Handbook? + </title> + +<para>El Hansbook actualizado está 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> + +</sect1> + +<sect1> +<title>El Handbook en ASCII no está en texto plano!</title> + +<para>Cierto, las versiones ASCII y Latin1 del Handbook no están +estrictamente en formato de texto plano; contienen carácteres de +control de impresión asumiendo que el documento será +enviado a una impresora. Si necesitas tenerlos en un formato leible, +pasa el fichero por el programa col:</para> + +<para> +<literallayout> $ col -b < inputfile > outputfile + </literallayout> +</para> + +</sect1> + +<sect1> +<title>Me gustaría ser Mirror del web de FreeBSD!</title> + +<para>Hay múltiples maneras de hacer mirror de las pá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ñade +esta línea a tu fichero de configuració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ágina de mirrors</ulink> para más informació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> + +</sect1> + +<sect1> +<title>Me gustaría traducir la documentación.</title> + +<para>Bueno, no podemos pagar, pero quizás te enviemos un cd-rom o +una camiseta y añadiremos tu nombre en la sección +"Contributors" del Handbook si nos envías una traducción +de la documentación.</para> + +</sect1> + +<sect1> +<title>Otras fuentes de información.</title> + +<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á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ó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ón sobre aplicaciones <ulink URL="http://www.FreeBSD.org/~faulkner/multimedia/mm.html">multimedia</ulink>. Si estás interesado específicamente +en el chip <ulink URL="http://www.FreeBSD.org/~ahasty/Bt848.html">Bt848</ulink> de vídeo captura, entonces sigue este link</para> +</listitem> + +</itemizedlist> +</para> + +<para>El FreeBSD handbook tiene una completa bibliografía en la +sección <ulink URL="../../handbook/bibliography.html">bibliografía</ulink> +la cual recomendamos leer si estás interesado en comprar libros +actuales relacionados con estos temas.</para> + +</sect1> +</chapter> + +<chapter +id="install"> +<title>Instalación</title> + + +<sect1> +<title>¿Qué fichero necesito para instalar FreeBSD?</title> + +<para>Generalmente solo es necesario un disco de 1,44Mb con una imágen +del fichero <filename>floppies/boot.flp</filename>. Arranca con este disco para +comenzar con el programa de instalación, el cual se +encargará de realizar todas las operaciones necesarias +(gestión de TCP/IP, cintas, CDROMs, floppies, particiones DOS +y cualquier cosa necesaria para realizar la instalación).</para> + +<para>Si necesitas bajarte las distribuciones (para una instalación +desde una partición DOS por ejemplo), estas son las distribuciones +mínimas que necesitará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ón de la documentación se puede encontrar en <ulink URL="../../handbook/install.html">Instalación de FreeBSD.</ulink></para> + +</sect1> + +<sect1> +<title>Ayuda!, La imagen del disco de arranque no cabe en un floppy</title> + +<para>Un floppy de 1.44MB puede contener hasta 1474560 bytes de datos. La +imágen de arranque es exactamente de 1474560 bytes.</para> + +<para>Los errores mas comunes en la preparació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 ficheros en modo +<acronym>ASCII</acronym> e intentan cambiar los carácteres de final de +línea recibidos por el que utilice el sistema cliente. +Esto corromperá inevitablemente la imagen de arranque. Revisa el +tamaño de la imagen: si no es <emphasis>exactamente</emphasis> el mismo +tamaño del fichero existente en el servidor, la imagen no +servirá.</para> + +<para>Solución: teclea <emphasis remap=tt>binary</emphasis> en la línea de +comandos del FTP después de conectar y antes de empezar a bajar +la imá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án para la +transferencia de la imágen a un disco. La imágen tiene el +contenido completo del disco, pista por pista, y no está pensada +para ser trasladada a un disquete como un fichero 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ía de instalación de FreeBSD</ulink>.</para> +</listitem> + +</itemizedlist> +</para> + +</sect1> + +<sect1> +<title>¿Dónde puedo encontrar las instrucciones de instalación de FreeBSD?</title> + +<para>Las instrucciones de instalación están en +<ulink URL="../../handbook/install.html">Instalación de FreeBSD.</ulink></para> + +</sect1> + +<sect1> +<title>¿Qué necesito para poder ejecutar FreeBSD?</title> + +<para>Necesitarás un PC con 386 o superior, 5 Mb o mas de memoria +RAM y al menos 60 Mb de espacio en disco duro. Puede funcionar con +tarjetas gráficas de bajo nivel (Hercules), pero para poder +ejecutar X11R6 es necesario una tarjeta VGA o superior.</para> + +</sect1> + +<sect1> +<title>Solo tengo 4Mb de RAM. ¿Puedo instalar FreeBSD?</title> + +<para>FreeBSD 2.1.7 fue la última version de FreeBSD que podí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án +en sistemas con 4Mb de RAM, lo que no pueden ejecutar es la +instalación en sistemas con 4Mb. Puedes añadir memoria +extra para el proceso de instalación, y una vez instalado, volver +a los 4Mb. Tambien puedes instalar tu disco en una máquina con +más de 4Mb, realizar la instalación y volver el disco a su +máquina con 4Mb.</para> + +<para>Hay algunas situaciones en las que FreeBSD 2.1.7 no se instalará +en sistemas con 4Mb. Para ser exactos: no se instalará 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ón de 1Mb, entonces aun podrás instalar FreeBSD 2.1.7.</para> + +<para>Intenta entrar en el setup de tu BIOS y busca la opción "remap". +Actívala. Quizás tendrás que desactivar la +opción de ROM shadowing.</para> + +<para>Es más fácil añadir en la máquina 4Mb de +memoria para la instalación. Crea un kernel unicamente con las +opciones que necesites y vuelve a quitar los 4Mb añadidos.</para> + +<para>También puedes instalar la versión 2.0.5 y a +continuación actualizar tu sistema a la 2.1.7 con la opción +"upgrade" del programa de instalación de la versión 2.1.7.</para> + +<para>Después de la instalación, si te creas un kernel +personalizado, funcionará en 4Mb. Algunos fueron capaces de +arrancar con 2Mb (aunque después el sistema era incapaz de hacer +nada mas :-)) </para> + +</sect1> + +<sect1> +<title>¿Cómo puedo hacer mi propio disco de instalación? </title> + +<para>Actualmente, no hay una manera para *sólo* hacer un disco de +instalación personalizado. Hay algún código en +<filename>/usr/src/release/floppies/Makefile</filename> que supuestamente es para +hacer *sólo* un disco de instalación personalizado, pero +no está realmente testeado todavía.</para> + +</sect1> + +<sect1> +<title>¿Puedo tener más de un sistema operativo en mi PC?</title> + +<para>Echa un vistazo en <ulink URL="../tutorials/multios/multios.html">La página multi-OS.</ulink></para> + +</sect1> + +<sect1> +<title>¿Puede Windows 95 coexistir con FreeBSD?</title> + +<para>Instala primero Windows 95 y después FreeBSD. El boot manager de +FreeBSD se encargará de darte la opción de arrancar con +cualquiera de los dos sistemas. Si lo haces al reves, Windows 95 +borrará el boot manager sin hacer ninguna pregunta previa. Si +ocurre esto, pasa a la siguiente sección.</para> + +</sect1> + +<sect1> +<title> Windows 95 desinstaló mi boot manager! ¿Cómo lo recupero? + </title> + +<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 tools/ de tu +distribución de FreeBSD y busca el archivo <filename>bootinst.exe</filename>. +Ejecútalo de la siguiente manera: + +</para> + +<para><emphasis remap=bf>bootinst.exe boot.bin</emphasis></para> + +<para></para> + +<para>Y el boot manager estará reinstalado.</para> + +<para>Arranca con el disco de instalación de FreeBSD y entra en la +sección "Custom Installation". Selecciona "Partition". Escoge +el disco en el cual debe estar instalado el boot manager, y cuando +entres en él editor de particiones, sin hacer ningún +cambio, selecciona (W)rite. Serás preguntado para confirmar la +acción, responde "sí", y cuando estés en la +ventana de "Boot manager selection" asegúrate de seleccionar +"Boot Manager". Esto reescribirá el boot manager en el disco. +Ahora, sal del programa de instalación y rearranca el ordenador +de la manera habitual.</para> +</listitem> + +</itemizedlist> +</para> + +</sect1> + +<sect1> +<title>¿Puedo instalar FreeBSD en un disco con sectores erróneos?</title> + +<para>La gestión de sectores erróneos por parte de FreeBSD no +está desarrollada todavía al 100% y desgraciadamente +debemos decirte que si tienes discos IDE o ESDI con gran cantidad de +sectores erróneos, FreeBSD no es para tí. De todas maneras, +te aconsejamos que antes de descartar la instalación, hagas un +intento.</para> + +</sect1> + +<sect1> +<title> Ocurren cosas extrañas cuando arranco con el disco de instalación + </title> + +<para>Si observas cosas como que la maquina se "cuelga" o se resetea +espontaneamente cuando intentas arrancar con el disco de +instalación, aquí tienes tres preguntas que debes +responder tu mismo:-</para> + +<para> +<orderedlist> + +<listitem> +<para>Estás usando un disco nuevo, recién formateado y +libre de errores, o estás usando el disco de publicidad que +venía con la revista que lleva guardada varios meses debajo de +la cama? +</para> +</listitem> + +<listitem> +<para>"Bajaste" por ftp la imágen del disco en modo binario?... +(no te preocupes ya que hasta el mejor de nosotros, por lo menos una +vez, ha bajado un fichero en modo ASCII) +</para> +</listitem> + +<listitem> +<para>Si estás usando uno de esos nuevos sistemas operativos como +Windows 95 o Windows NT, debes arrancar la máquina en modo DOS +puro, ya que parece ser que los Windows no se llevan bién con los +programas que escriben directamente sobre los dispositivos hardware, +como hace el programa de creación de discos de +instalación de FreeBSD.</para> +</listitem> + +</orderedlist> +</para> + +<para>Han habido informaciones referentes a problemas al bajar el disco +de instalación con Netscape, por lo que te recomentados que uses +un programa diferente como cliente de ftp.</para> + +</sect1> + +<sect1> +<title>Ayuda! No puedo instalar desde una cinta!</title> + +<para>Si estas instalando la version 2.1.7R desde una cinta, debes crear +esa cinta con un tamaño de bloque de tar de 10 (5120 bytes). El +tamaño por defecto de los bloques tar es de 20 (10240 bytes), y las +cintas creadas con este tamaño por defecto no pueden ser usadas +para instalar FreeBSD 2.1.7R; con estas cintas tendrás un error +referente a un tamaño de registro demasiado grande.</para> + +</sect1> + +<sect1> +<title> Conexión de dos máquinas FreeBSD vía puerto paralelo (PLIP) + </title> + +<para>Coge un cable de laplink y asegurate que ambos ordenadores 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ámetros de red para el interfaz lp0 (como +root) en ambas máquinas. Por ejemplo, si quieres conectar la +máquina max y moritz:</para> + +<para> +<literallayout> max <-----> 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én deberías añadir las máquinas en el +fichero /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 asegurar que funciona haz:</para> + +<para>en max:</para> + +<para> +<literallayout>$ ifconfig lp0 +lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 10.0.0.1 --> 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> + +</sect1> + +<sect1> +<title> ¿Puedo instalar FreeBSD en mi portátil sobre PLIP (Parallel Line IP)? + </title> + +<para>Conecta los dos ordenadores usando Laplink mediante el puerto +paralelo y usa las siguientes caracterí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én <xref linkend="pao" remap="esta nota"> en la +página de informática móvil.</para> + +</sect1> + +<sect1 +id="geometry"> +<title> ¿Que geometría debo usar para mis discos? + </title> + +<para>(Por geometría de un disco, entendemos el numero de cilindros, +cabezales y sectores por pista en el disco - de ahora en adelante +nos referiremos por conveniencia a estos parámetros como C/H/S. +Así es como trabaja la BIOS de los PC's para gestionar la +lectura/escritura.</para> + +<para>Por alguna razón, esto parece crear mucha confusión. +Ante todo, la geometría <emphasis remap=tt>física</emphasis> de un disco SCSI es +totalmente irrelevante ya que FreeBSD trabaja en términos de +bloques de disco. Con discos IDE, FreeBSD trabaja en té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ía a usar depende de si tenemos +activado en la controladora el soporte de translación (comunmente +conocido como "soporte para discos mayores de >1GB" o algo +similar). Si esta opción está 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ámetros correctos serían 2048 cilindros, 64 cabezales y +32 sectores.</para> + +<para>Si el soporte de translación está 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ámetros serían 261 cilindros, 62 cabezales y 255 +sectores.</para> + +<para>Si no estás seguro sobre los parámetros a usar, o +FreeBSD falla al detectar la geometría correcta del disco durante +la instalación, el método mas simple para solucionar este +problema es crear una pequeña partición DOS en el disco. +Entonces, la geometría debería ser detectada correctamente +(y siempre puedes borrar esa partición desde el "editor de +particiones" si no quieres mantenerla).</para> + +<para>Alternativamente, existe una utilidad de libre distribución +incluida en FreeBSD llamada <filename>pfdisk.exe</filename> (situada en el directorio +<emphasis remap=tt>tools</emphasis> del cd-rom de distribución o en cualquiera de los +servidores ftp) que nos dice la geometría del disco usada por el +sistema operativo DOS. Lo único que tenemos que hacer es introducir +los datos obtenidos en el editor de particiones de FreeBSD.</para> + +</sect1> + +<sect1> +<title>¿Existe alguna restricción en como dividir el disco?</title> + +<para>Si. Debes asegurarte de que la partición raiz esta por debajo +del cilindro 1024, para que la BIOS pueda arrancar el kernel desde ella. +(Esta es una limitación de las BIOS de PC's, no de FreeBSD).</para> + +<para>Para discos SCSI, esto implica que la partición raiz debe estar +instalada en los primeros 1024MB (o en los primeros 4096MB si la +translación extendida esta activada). Para discos IDE, la +partición raiz debe estar en los primeros 504MB.</para> + +</sect1> + +<sect1> +<title> ¿Qué hay sobre los "disk managers"? + </title> + +<para>FreeBSD reconoce el disk manager Ontrack. Otros disk managers no +son soportados.</para> + +<para>Si quieres usar el disco solo con FreeBSD no necesitas el +disk manager. Solo configura el disco para el espacio máximo que +pueda manejar la BIOS (usualmente 504MB), y FreeBSD se encargará +de averiguar cuanto espacio tienes realmente. Si estás usando +un disco antiguo con controladora MFM, necesitarás decirle +explícitamente a FreeBSD cuantos cilindros puede usar.</para> + +<para>Si quieres usar el disco con FreeBSD y otro sistema operativo, +todavía puedes hacerlo sin necesitar un disk manager; solo +asegurate que la partición raiz de FreeBSD y la partición +de arranque del otro sistema operativo están en los primeros 1024 +cilindros. Si eres cuidadoso, una partición raiz de 20MB +debería ser suficiente.</para> + +</sect1> + +<sect1 +id="missing-os"> +<title> Cuando arranco FreeBSD obtengo ``Missing Operating System'' + + </title> + +<para>Esto es un clásico conflicto entre FreeBSD y DOS u otro sistema +operativo sobre sus ideas de <xref linkend="geometry" remap="geometría.">. +Tendrás que reinstalar FreeBSD, pero teniendo en cuenta la +información que te damos más arriba sobre este tema.</para> + +</sect1> + +<sect1> +<title>No puedo pasar del prompt`F?'.</title> + +<para>Este es otro problema descrito en el parrafo anterior. La +geometría de tu BIOS y los datos de configuración de +FreeBSD no coinciden. Si tu controladora o BIOS soporta la +translación de cilindros (también conocido como "soporte +para discos de más de 1GB"), intenta activar/desactivar esta +opción y reinstala FreeBSD.</para> + +</sect1> + +<sect1 +id="bigram"> +<title> Tengo >16MB de RAM. ¿Puede causar esto problemas? + </title> + +<para>Aparte del rendimiento, no. FreeBSD 2.X tiene buffers que permiten +al "bus mastering controller" acceder a mas de 16MB. (Esto sólo es +aplicable si estás usando dispositivos ISA).</para> + +<para>También mira la sección <xref linkend="reallybigram" remap="maquínas con >64M"> si tienes esta cantidad de memoria o +si usas máquinas Compaq u otra BIOS que no da correctamente la +cantidad de memoria disponible.</para> + +</sect1> + +<sect1> +<title>¿Necesito instalar las fuentes completas?</title> + +<para>En general, no. De todas maneras, te recomendamos que instales, +por lo menos, el kit de fuentes <emphasis remap=tt>base</emphasis>, el cual incluye muchos de +de los ficheros aquí mencionados, y el kit <emphasis remap=tt>sys</emphasis>, que incluye el +código fuente del kernel. No hay nada en el sistema que requiera el +código fuente para funcionar, a excepción del programa de +configuración de kernel +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?config">config</ulink>. Con la excepción de las fuentes del kernel, nuestra +estructura esta diseñada para que puedas montar una unidad en solo +lectura via NFS en la que exista el código fuente, y aun +así, 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ólicos apropiados para duplicar la estructura +principal del á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ácil la +actualización a futuras versiones de FreeBSD.</para> + +<para>Actualmente, para seleccionar una parte del código fuente, usa +la opción Custom del menú cuando estás en el +menú Distributions de la herramienta de instalación. El +script <filename>src/install.sh</filename> instalará solo partes de la +distribución de fuentes dependiendo de los parámetros +(argumentos) que se le pasen.</para> + +</sect1> + +<sect1> +<title>¿Necesito crear un nuevo kernel?</title> + +<para>La creación de un nuevo kernel era, originariamente, un paso +requerido en la instalación de FreeBSD, pero en las versiones +más recientes nos hemos beneficiado de la introducción de +una herramienta de configuración de kernel mucho más +amigable. Cuando en el prompt de arranque de FreeBSD (boot:), usamos el +parámetro "-c", llegamos a una pantalla de configuración +visual la cual permite configurar las opciones del kernel para la +mayoría de tarjetas ISA.</para> + +<para>Todavía es recomendable la creación de un nuevo kernel +conteniendo solo los drivers que nos sean necesarios para ahorrar un +poco de RAM, pero no es estrictamente necesario para la mayoría +de sistemas.</para> + +</sect1> + +<sect1> +<title>Vivo fuera de USA. ¿Puedo usar la encriptación DES?</title> + +<para>Si no es absolutamente necesario que uses la encriptación DES, +puedes usar la encriptación por defecto de FreeBSD para una +<emphasis remap=bf>mejor</emphasis> seguridad, y sin restricciones de importación. La +encriptación por defecto de los passwords en FreeBSD está +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 única +razón para no usar hoy en día la encriptación +<emphasis remap=bf>MD5</emphasis> sería usar un sistema de passwords compartidos entre +sistemas FreeBSD y no FreeBSD.</para> + +<para>Desde que el algoritmo de encriptación DES no puede ser +legalmente exportado fuera de USA, los usuarios externos a USA +deberían NO bajar este software desde los servidores FTP situados +en USA.</para> + +<para>Existe una alternativa para las librerías de encriptación +basadas en el código escrito en Australia por David Burren. Este +código está disponible en algunos mirrors de FreeBSD fuera +de USA. Las fuentes de las librerías de encriptación, y los +binarios de los programas que las usan pueden encntrase en los siguientes +servidores FTP:</para> + +<para> +<variablelist> +<varlistentry><term>South Africa</term> +<listitem> +<para><filename>ftp://ftp.internat.FreeBSD.org/pub/FreeBSD</filename><!-- <br> --> +<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 los USA, no deben bajarse ningún +software de encriptación de servidores situados en USA, ya que de +no seguir esta norma, los responsables de esos servidores podrían +verse envueltos en importantes problemas legales.</para> + +<para>Una distribución no americana de Kerberos está siendo +desarrollada y las versiones actuales pueden obtenerse vía ftp +anónimo en <filename>braae.ru.ac.za</filename>.</para> + +<para>Existe también una <xref linkend="mailing" remap="lista de distribución"> para la discusión de software +de encriptación externo a USA. Para más información +envía un email con una simplre línea diciendo "<emphasis remap=tt>help</emphasis> +en el cuerpo del mensaje a:</para> + +<para><email><majordomo@braae.ru.ac.za></email>.</para> + +</sect1> + +<sect1> +<title>El "boot disc" arranca pero se cuelga en la pantalla "Probing Devices..."</title> + +<para>Si tienes un ZIP ide o un JAZZ instalado, desinstalalo e intentalo +de nuevo. El disco de arranque puede haberse confundido con los discos. +Una vez el sistema esté instalado, puedes volver a +instalar/conectar los dispositivos. Esperamos que esto sea fijado en las +próximas releases.</para> + +</sect1> + +<sect1> +<title>Aparece el siguiente error "panic: cant mount root" al reiniciar el ordenador después de la instalación</title> + +<para>Este error proviene de la confusió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 master o "single" en controladoras diferentes, estando +FreeBSD instalado en la controladora IDE secundaria. Los bloques de +arranque piensan que el sistema está instalado en wd1 (el segundo +disco en la BIOS) mientras el kernel asigna el primer disco de la +controladora secundaria wd2. Después de la detecció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" > /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íneas de +configuració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ón +previa, reemplaza los discos en la configuración deseada y +rearranca el sistema. Tu sistema debería arrancar sin problemas.</para> +</listitem> + +</orderedlist> +</para> + +</sect1> + +<sect1> +<title>¿Cuál es el límite de memoria?.</title> + +<para>Para memoria, el límite (teórico) es de 4 gigabytes. Un +gigabyte ha sido comprobado y funciona sin problemas: generalmente no se +pueden comprar equipos i386 que soporten más cantidad de memoria.</para> + +</sect1> + +<sect1> +<title>¿Cuál es el límite del sistema de ficheros ffs?</title> + +<para>Para sistemas de ficheros ffs, el máximo teórico +está en 8 terabytes (bloques de 2G), o 16TB para el tamaño +de bloque por defecto de 8K. En la práctica hay un límite +por soft de 1 terabyte, pero con pequeáas modificaciones es +posible (y existen) sistemas de ficheros de 4 terabytes.</para> + +<para>El tamaño máximo de un ffs simple es aproximadamente de +bloques de 1G (4TB) y el tamañ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ño del bloque del sistema de ficheros es de 4K, +los bloques triples funcionan y todo debería estar limitado por el +número máximo de bloques que puede ser representado usando +los bloques triples indirectos (aproximadamente 1K^3 + 1K^2 + 1K), pero +todo está limitado por un (mal) límite de 1G-1 en el +número de bloques. El límite en el número de bloques +debería ser de 2G-1, pero estos números de bloque son +inalcancables cuando los bloques del sistema de ficheros son de 4K.</para> + +</sect1> + +<sect1> +<title>¿Cómo puede poner ficheros de 1TB en un disquete?</title> + +<para>El tamaño maximo de un fichero no depende directamente del +tamaño máximo del disco. El tamaño máximo +del disco es de 1TB. Es una ventaja que el tamaño del fichero +pueda ser mayor que el tamaño del disco.</para> + +<para>El siguiente ejemplo crea un fichero con un tamaño de 1TB usando +32K de espacio de disco (3 bloques indirectos y 1 bloque de datos) en +una pequeña partición raiz.</para> + +<para> +<literallayout>ttyv0:bde@alphplex:/tmp/q> 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> 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> exit</literallayout> +</para> + +<para>Bruce Evans, September 1998</para> + +</sect1> + +<sect1> +<title>He compilado un nuevo kernel y al arrancar aparece el error + "archsw.readin.failed".</title> + +<para>Puedes arrancar especificando el kernel directamente en el segundo +estado del boot, pulsando cualquier tecla cuando veas el +símbolo | justo antes de que se cargue el loader. Más +específicamente, has actualizado los fuentes para tu kernel, +y lo has creado y actualizado a partir de ellos <emphasis>sín hacer +un "make world"</emphasis>. Así no funciona. Haz un "make world".</para> + +</sect1> +</chapter> + +<chapter +id="hardware"> +<title>Compatibilidad hardware </title> + + +<sect1> +<title>¿Qué tipo de discos duros soporta FreeBSD?</title> + +<para>FreeBSD soporta discos duros EIDE y SCSI (con controladoras +compatibles; mira en la siguiente sección), y todos los discos +usando el interface original "Western Digital" (MFM, RLL, ESDI y +por supuesto IDE). Algunas controladoras ESDI que usan interfaces +propietarios quizás no funcionen correctamente.</para> + +</sect1> + +<sect1> +<title>¿Qué controladoras SCSI están soportadas?</title> + +<para>FreeBSD soporta las siguientes controladoras SCSI:</para> + +<para> +<variablelist> +<varlistentry><term>Adaptec</term> +<listitem> +<para>AH-1505 <ISA> <!-- <br> --> +AH-152x Series <ISA> <!-- <br> --> +AH-154x Series <ISA> <!-- <br> --> +AH-174x Series <EISA> <!-- <br> --> +Sound Blaster SCSI (AH-152x compat) <ISA> <!-- <br> --> +AH-2742/2842 Series <ISA/EISA> <!-- <br> --> +AH-2820/2822/2825 Series (Narrow/Twin/Wide) <VLB> <!-- <br> --> +AH-294x and aic7870 MB controllers (Narrow/Twin/Wide) <PCI><!-- <br> --> +AH-394x (Narrow/Twin/Wide)</para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>Buslogic</term> + +<listitem> +<para>BT-445 Series <VLB> <!-- <br> --> +BT-545 Series <ISA> <!-- <br> --> +BT-742 Series <EISA><!-- <br> --> +BT-747 Series <EISA><!-- <br> --> +BT-946 Series <PCI> <!-- <br> --> +BT-956 Series <PCI> <!-- <br> --></para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>Future Domain</term> + +<listitem> +<para>TMC-950 Series <ISA> <!-- <br> --></para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>PCI Generic</term> + +<listitem> +<para>NCR 53C81x based controllers <PCI> <!-- <br> --> +NCR 53C82x based controllers <PCI> <!-- <br> --> +NCR 53C860/75 based controllers <PCI> <!-- <br> --></para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>ProAudioSpectrum</term> + +<listitem> +<para>Zilog 5380 based controllers <ISA> <!-- <br> --> +Trantor 130 based controllers <ISA> <!-- <br> --></para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>DTC</term> + +<listitem> +<para>DTC 3290 EISA SCSI in AHA-154x emulation.<!-- <br> --></para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>Seagate</term> + +<listitem> +<para>ST-01/02 Series <ISA><!-- <br> --></para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>UltraStor</term> + +<listitem> +<para>UH-14f Series <ISA><!-- <br> --> +UH-24f Series <EISA> <!-- <br> --> +UH-34f Series <VLB><!-- <br> --></para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>Western Digital</term> + +<listitem> +<para>WD7000 <ISA> <No scatter/gather></para> + +</listitem> +</varlistentry> +</variablelist> +</para> + +</sect1> + +<sect1> +<title>¿Qué lectores CD-ROM soporta FreeBSD?</title> + +<para>Cualquier disco SCSI conectado a una controladora soportada es +soportado.</para> + +<para>Los siguientes interfaces de CD-ROM propietarios son tambié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ás +no funcionen correctamente.</para> + +<para>A partir de la versión 2.2 de FreeBSD en CDROM de Walnut Creek +se soporta el arranque directo (boot) desde el propio CD.</para> + +</sect1> + +<sect1> +<title>¿Soporta FreeBSD discos ZIP?</title> + +<para>FreeBSD soporta los ZIP SCSI externos. Las unidades ZIP solo pueden +funcionar en los ID's SCSI 5 y 6, pero si la BIOS de tu controladora +lo soporta, puedes arrancar desde él. No sabemos que controladoras +dejan arrancar desde ID's diferentes de la 0 o 1... mira en tu +documentación y hazmelo saber si te funciona.</para> + +<para>Los discos Zip ATAPI (IDE) son 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ón 3.0. Si estás usando una versión +actualizada, debes asegurarte de que tu configuració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í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én mira <xref linkend="jaz" remap="en disco removibles">, +y <xref linkend="disklabel" remap="esta nota en 'formatting'">.</para> + +</sect1> + +<sect1> +<title>¿Soporta FreeBSD JAZ, EZ y otros discos removibles?</title> + +<para>Aparte de la versión IDE de EZ, todos estos son dispositivos +SCSI, por lo que deberían funcionar sin problemas ya que FreeBSD +los toma como discos SCSI y el IDE EZ también debería +funcionar sin problemas ya que se toma como un disco IDE estandard.</para> + +<para><anchor id="jaz">No estoy seguro de como soporta FreeBSD el cambio +de soporte mientras está funcionando. Deberás, desde +luego, desmontar la unidad antes de poder cambiar el soporte, y estar +seguro de que todas las unidades externas están encendidas antes +de arrancar el ordenador con FreeBSD para que este pueda reconocerlas.</para> + +<para>Mira <xref linkend="disklabel" remap="esta nota en 'formatting'">.</para> + +</sect1> + +<sect1> +<title>¿Qué tarjetas serie multipuerto son soportadas por FreeBSD?</title> + +<para>Hay una lista de ellas en la sección <ulink URL="../../handbook/install.html#INSTALL-HW">dispositivos varios</ulink> +del manual (handbook).</para> + +<para>Algunas tarjetas "sin nombre" también han funcionado, +especialmente las que dicen ser compatibles AST.</para> + +<para>Mira la página +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio">sio</ulink> para obtener más información sobre la +configuración de estas tarjetas.</para> + +</sect1> + +<sect1 +id="busmouse"> +<title>Tengo un tipo de ratón no habitual. ¿Cómo lo configuro?</title> + +<para>FreeBSD soporta el "bus mouse" y el "InPort bus mouse" de +fabricantes como Microsoft, Logitech y ATI. El driver de mouse +estiá compilado en el GENERIC kernel (kernel por defecto que +carga el sistema). Si estás haciendote un kernel a medida que +incluya el driver de ratón, asegurate de añadir la +siguiente línea en el fichero de configuración del kernel:</para> + +<para> +<literallayout> device mse0 at isa? port 0x23c tty irq5 vector mseintr + </literallayout> +</para> + +</sect1> + +<sect1 +id="ps2mouse"> +<title>¿Cómo uso mi PS/2 (``mouse port'' o ``teclado'')?</title> + +<para>Si estás usando una versión reciente de FreeBSD, el +driver necesario, psm, está incluido y activado en el kernel. El +propio kernel debería detectar tu ratón PS/2 en el momento +de arrancar.</para> + +<para>Si estás usando una versión antigua, solo tienes que +activarlo en la configuración del kernel en el momento de la +instalación del sistema. Si este ya está instalado, +escribe -c en el prompt boot: y actívalo. Por defecto, este +driver está desactivado.</para> + +<para>Si estás usando alguna de las versiones mas antiguas, tendras +que añadir la siguiente línea en el fichero de +configuració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ón <ulink URL="../../handbook/kernelconfig.html">configuracion del kernel</ulink> si no tienes experiencia en la +creación de nuevos kernel.</para> + +<para>Una vez el kernel detecta correctamente el dispositivo psm0 al +arrancar, asegúrate de que existe una entrada en /dev para este +dispositivo. Puedes hacerlo tecleando:</para> + +<para> +<literallayout> cd /dev; sh MAKEDEV psm0 + </literallayout> +</para> + +</sect1> + +<sect1 +id="moused"> +<title>¿Es posible hacer uso del ratón fuera de X Windows?</title> + +<para>Si estás usando el driver por defecto de la cónsola, +syscons, puedes usar el ratón en las cónsolas de texto +para realizar cut & paste. Ejecuta el demonio (daemon) de ratón +moused y arranca el ratón en la cónsola 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ón y +<emphasis remap=tt>yyyy</emphasis> es un tipo de protocolo para el rató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 automaticamente al arrancar +el sistema, fija las siguientes variables en <filename>/etc/sysconfig</filename> +(para versión 2.2.1).</para> + +<para> +<literallayout> mousedtype="yyyy" + mousedport="xxxx" + mousedflags="" + </literallayout> +</para> + +<para>En versiones 2.2.2 o superiores, fija 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ón 2.2.6, el demonio del ratón es +capaz de determinar automaticamente el protocolo correcto a utilizar. Solo +tienes que especificar <emphasis remap=tt>auto</emphasis> como el protocolo a usar.</para> + +<para>Cuando el demonio de ratón está funcionando, el acceso +al ratón necesita ser coordinado con otros programas como +X Window. Mira en <xref linkend="x-and-moused" remap="esta sección"> +para mas información.</para> + +</sect1> + +<sect1> +<title>¿Cómo hago un cut & paste con el ratón en una cónsola de texto?</title> + +<para>Una vez tienes el demonio del ratón funcionando (mira +<xref linkend="moused" remap="la sección anterior">, pulsa el +botón 1 (izquierdo) y mueve el ratón para seleccionar la +región de texto. +A continuación, pulsa el botón 2 (medio) o 3 (derecho) +para hacer un paste (pegar) de la región seleccionada en el lugar +en el que tengamos situado el cursor.</para> + +<para>En versiones 2.2.6 o superiores, pulsando el botón 2 hara un +paste del texto seleccionado. Pulsando el botón 3 extenderemos +la región seleccionada de texto. Si tu ratón no tiene el +botón medio, puedes emularlo o "remapear" (reconfigurar) los +botones de tu ratón con las opciones del demonio moused. MIra en +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?moused">moused</ulink> +para mas información.</para> + +</sect1> + +<sect1> +<title>Mi ratón tiene una rueda de desplazamiento y botones. ¿Puedo usarlo?</title> + +<para>La respuesta es, desafortunadamente, "depende". Estos ratones con +caracterí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ífico, el ratón +se comportará como un ratón normal y corriente.</para> + +</sect1> + +<sect1> +<title>¿Cómo uso el mouse/trackball/touchpad en mi portátil?</title> + +<para>Por favor, <xref linkend="ps2mouse" remap="mira en la respuesta anterior">. Mira también <xref linkend="pao" remap="esta nota"> en la +sección de ordenadores portátiles.</para> + +</sect1> + +<sect1> +<title>¿Qué tipo de dispositivos de cinta son soportados?</title> + +<para>FreeBSD soporta SCSI, QIC-36 (con controladora QIC-02) y +QIC-40/80. Esto inclye dispositivos de 8mm (conocidos como Exabyte) +y dispositivos DAT. Los QIC-40/80 son conocidos por ser lentos.</para> + +<para>Algunos de los primeros dispositivos de 8mm no son totalmente +compatibles con SCSI2 por lo que pueden no trabajar correctamente +en FreeBSD.</para> + +</sect1> + +<sect1> +<title>¿Soporta FreeBSD "tape changers"?</title> + +<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 comandos de como controlar el "changer" estan en el man +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chio">chio</ulink>.</para> + +</sect1> + +<sect1> +<title>¿Qué tarjetas de sonido son soportadas por FreeBSD?</title> + +<para>FreeBSD soporta las tarjetas SoundBlaster, SoundBlaster Pro, +SoundBlaster 16, Pro Audio Spectrum 16, AdLib y Gravis Ultrasound. +Hay también soporte limitado para la tarjeta MPU-401 y compatibles +midi. Las tarjetas SoundBlaster 16 ASP todavía no son soportadas. +El Microsoft Sound System sí está soportado.</para> + +<para><acronym>NOTA</acronym> Esto es solo para sonido!. Este driver no soporta +CD-ROMs, SCSI o joysticks en estas tarjetas, a excepción de la +SoundBlaster. El interface SCSI de SoundBlaster y algunos CD-ROMs +no SCSI son soportados, pero no podrás arrancar el sistema desde +ellos.</para> + +</sect1> + +<sect1> +<title>No obtengo sonido de la tarjeta es1370 con driver pcm</title> + +<para>Puedes ejecutar el siguiente mandato cada vez que arranques el +sistema:</para> + +<para>mixer pcm 100 vol 100 cd 100</para> + +</sect1> + +<sect1> +<title>¿Qué tarjetas de red soporta FreeBSD?</title> + +<para>Mira la sección de +<ulink URL="../../handbook/install:nics.html">tarjetas Ethernet</ulink> en el manual para una lista má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<!-- <br> --> +(including 21140 100bT cards) <!-- <br> --></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<!-- <br> --> +WD/SMC 8003, 8013 and Elite Ultra (8216)<!-- <br> --> +3Com 3c503 <!-- <br> --> +HP 27247B and 27252A <!-- <br> --> +And clones of the above <!-- <br> --></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. <!-- <br> --></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&T EN100/StarLAN 10 <!-- <br> --> +3COM 3c507 Etherlink 16/TP<!-- <br> --> +NI5210 <!-- <br> --> +Intel EtherExpress <!-- <br> --></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 <!-- <br> --> +Isolink 4110 <!-- <br> --></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 esta soportada todavía.</para> + +<para><acronym>NOTA</acronym> FreeBSD también soporta TCP/IP sobre líneas +paralelo. En estos momentos, no somos compatibles con otras versiones, +pero esperamos corregirlo en un futuro cercano. Encontrarás +más información sobre este tema en la página man +de lp(4).</para> + +<para><acronym>NOTA</acronym> Algunas de estas tarjetas requieren una partición DOS +en el disco duro para ejecutar el programa de configuración.</para> + +</sect1> + +<sect1> +<title>No tengo coprocesador matemático - ¿es malo?</title> + +<para><acronym>NOTA</acronym> Esto solo afectará a los ordenadores +386/486SX/486SLC. El resto de los microprocesadores tienen un +coprocesador integrado.</para> + +<para>En general, esto no causará problemas, pero hay ciscunstancias +en las que podrás echarlo de menos. Especialmente si trabajas en +entorno X Window. Si puedes, te recomendamos que compres uno y lo +instales en tu ordenador.</para> + +</sect1> + +<sect1> +<title>¿Qué otros dispositivos soporta FreeBSD 2.X?</title> + +<para>Aquí hay una lista de drivers que no se han podido catalogar en +las categorías anteriores.</para> + +<para> +<variablelist> +<varlistentry><term><filename>b004.c</filename></term> +<listitem> +<para>Driver for B004 compatible Transputer boards <!-- <br> --></para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>``ctx'' driver</term> + +<listitem> +<para>Driver for CORTEX-I Frame grabber <!-- <br> --></para> + +<para></para> + +</listitem> +</varlistentry> + +<varlistentry><term>``gp'' driver</term> + +<listitem> +<para>Driver for National Instruments AT-GPIB and<!-- <br> --> +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 <!-- <br> --></para> + +</listitem> +</varlistentry> +</variablelist> +</para> + +</sect1> + +<sect1> +<title>¿Soporta FreeBSD el "power management" en mi portátil?</title> + +<para>FreeBSD soporta APM en algunas máquinas. Por favor, mira en +el fichero de configuración del kernel <acronym>LINT</acronym> y busca la parabra +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?apm">APM</ulink></para> + +</sect1> + +<sect1> +<title>Soluciones para problemas específicos de hardware</title> + +<para>Esta sección contiene soluiones para problemas especificos +encontrados por otros usuarios.</para> + + +<sect2> +<title>Sistemas Micron se cuelgan al arrancar</title> + +<para>Algunas placas base Micron tienen una implementación de PCI +en la BIOS que no es estandard, lo que provoca que FreeBSD no pueda +encontrar los dispositivos PCI en las direcciones en las que +deberían estar.</para> + +<para>Desactiva la opción "Plug and Play Operating System" en la BIOS +para solucionar el problema. Puedes encontrar más +informació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> + +</sect2> +</sect1> + +<sect1> +<title>Tengo una de las controladoras Adaptec más nuevas y FreeBSD no puede encontrarla</title> + +<para>Las nuevas controladoras Adaptec con chipset de la serie AIC789x son +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á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á disponible en: +<ulink URL="http://www.FreeBSD.org/ ~abial/cam-boot/">http://www.FreeBSD.org/~abial/cam-boot/</ulink>. En ambos casos lee el +fichero README antes de empezar.</para> + +</sect1> + +<sect1> +<title>Tengo un módem interno Plug & Play y FreeBSD no lo encuentra</title> + +<para>Necesitarás añ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 fichero de configuración y +rebota el sistema. El kernel mostrará por pantalla los IDs de +todos los dispositivos PnP que encuentre. Copia el ID del módem +en la tabla del fichero <filename>/sys/i386/isa/sio.c</filename>, sobre la +línea 2777. Busca la cadena "SUP1310" en la estructura +"siopnp_ids[]" para encontrar la tabla. Genera un nuevo kernel, +instalalo y rearranca. Tu módem debería ser encontrado.</para> + +<para>Quizás tengas que configurar manualmente los dispositivos PnP +usando el comando "pnp" en la configuración de arranque usandolo +de la siguiente manera: +<literallayout> pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 + </literallayout> +</para> + +</sect1> + +<sect1> +<title>¿Cómo obtengo el prompt "boot:" en una cónsola serie?</title> + +<para> +<orderedlist> + +<listitem> +<para>Crea un nuevo kernel con <emphasis remap=tt>options COMCONSOLE</emphasis>.</para> +</listitem> + +<listitem> +<para>Crea el fichero /boot.config y pon <option>-P</option> como único texto +en el fichero.</para> +</listitem> + +<listitem> +<para>Desconecta el teclado del ordenador.</para> +</listitem> + +</orderedlist> +</para> + +<para>Mira el fichero <filename>/usr/src/sys/i386/boot/biosboot/README.serial</filename> +para mas información.</para> + +</sect1> + +<sect1> +<title>¿Porqué no funciona mi tarjeta de red PCI 3Com con mi ordenador Micron?</title> + +<para>>Algunas placas base Micron tienen una implementación de PCI +en la BIOS que no es estandard, lo que provoca que FreeBSD no pueda +encontrar los dispositivos PCI en las direcciones en las que +deberían estar.</para> + +<para>Para solucionar el problema, desactiva la opción +"Plug and Play Operating System" en la BIOS.</para> + +<para>Puedes encontrar más informació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> + +</sect1> + +<sect1> +<title>¿Soporta FreeBSD "Symmetric Multiproccessing (SMP)?</title> + +<para>SMP está soportado a partir de la versión 3.0-STABLE</para> + +</sect1> +</chapter> + +<chapter +id="troubleshoot"> +<title>Problemas</title> + + +<sect1 +id="awre"> +<title>Tengo bloques erróneos en mi disco duro!</title> + +<para>Los discos SCSI deberían ser capaces de marcar estos bloques +erróneos automaticamente para que no presenten problemas. Algunos +discos, por alguna razón desconocida, se venden con esta +característica desactivada.</para> + +<para>Para activar esta opción, tendrá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ísticas de +los sistemas operativos. Desafortunadamente, el comando "bad144" +que se incluye en FreeBSD, necesita ser desarrollado más en +profundidad. </para> + +<para>Se <emphasis>supone</emphasis> que los discos IDE incluyen de serie la posibilidad +de "remapear" los bloques dañados; si tienes documentación +de tu disco, podrás ver si esta opción está activada +o desactivada.</para> + +</sect1> + +<sect1> +<title>FreeBSD no reconoce mi Bustek 742a EISA SCSI!</title> + +<para>Esta información es especí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ón está situada +después del número de ensamblaje. La 742a tiene 2 ROMs, +una es la BIOS y la otra es el Firmware. FreeBSD no se fija en la +versión de BIOS de la tarjeta, pero si en la de Firmware. +Buslogic te enviará una actualización de de las ROMs si te +pones en contacto con su departamento técnico. La BIOS y el +Firmware son distribuidas de manera inseparable. Deberías tener +la versión de Firmware más actualizada para la +revisión de hardware de tu tarjeta.</para> + +<para>Las tarjetas con revisión A-G solo pueden aceptar BIOS/Firmware +2.41/2.21. La revisión H y superiores pueden aceptar las versiones +má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úmero de serie serigrafiado +en ellas. Si tienes una revisión de hardware antigua, puedes llamar +al departamento de RMA de Buslogic y darles el número de serie de +la tarjeta para intentar cambiarla por una revisión superior del +hardware.</para> + +<para>FreeBSD 2.1 solo soporta revisiones de Firmware 2.21 o superiores. +Si tienes una versión inferior, tu tarjeta no será +reconocida como Buslogic. Quizás sea reconocida como una Adaptec +1540. Las primeras versiones de Firmware de Buslogic contienen una modo +de emulación de la AHA1540.</para> + +<para>Si tienes una revisión de hardware antigua y consigues una +más actual (2.21), necesitarás chequear la posición +del jumper W1 y asegurarte que está en la posición B-C +(por defecto esta en B-C).</para> + +</sect1> + +<sect1> +<title> Mi controladora SCSI HP Netserver's no es detectada! + </title> + +<para>Este es un problema ya conocido. Las controladoras SCSI EISA +integradas en la placa base en las máquinas HP Netserver, ocupan +el slot numero 11. El espacio de direcciones para los slots +EISA >=10 colisionan con los espacios de direcciones asignados +para los dispositivos PCI, y la autoconfiguración de FreeBSD no +maneja esta situació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ó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ño problema. Para poder +solucionarlo, es necesario un truco en la utilidad de +configuración. No uses el interface "visual", simplemente teclea +lo siguiente en la línea de comando de la utilidad</para> + +<para> +<literallayout> eisa 12 + quit + </literallayout> +</para> + +<para>Esperamos que en las próximas versiones tengamos solucionados +estos temas.</para> + +</sect1> + +<sect1> +<title>¿Qué ocurre con la controladora IDE CMD640?</title> + +<para>No funciona. No puede manejar comandos en los dos canales +simultáneamente.</para> + +<para>Hay una solución posible y se activa automáticamente si +tu sistema usa este chip. Para más detalles, referirse al man del +driver de discos (man 4 wd).</para> + +<para>Si todavía está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ón por +defecto en la versión 2.2.5 y superiores.</para> + +</sect1> + +<sect1> +<title>Tengo mensajes como ``<emphasis remap=tt>ed1: timeout</emphasis>''.</title> + +<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ón, los conflictos de IRQ +ya no son tolerados. Arranca con la opción -c y cambia la entrada +correspondiente a tu tarjeta.</para> + +<para>Si estás usando conectores BCN en tu tarjeta de red, el mensaje +de error puede ser debido a una mala terminació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> + +</sect1> + +<sect1> +<title>Cuando monto el CDROM, obtengo ``Incorrect super block''.</title> + +<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á 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 +ficheros 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és usando. El comando anterior puede ser +acortado tecleando:</para> + +<para> +<literallayout> mount_cd9660 /dev/cd0c /mnt + </literallayout> +</para> + +</sect1> + +<sect1> +<title>Cuando monto un CDROM, obtengo ``Device not configured''.</title> + +<para>Esto, generalmente, significa que no hay ningún disco en el +lector de CDROM. También puede significar que el lector no es +visible para el bus. Chequea que está bié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ñade la siguiente línea en el fichero de +configuración del kernel y recompílalo.</para> + +<para> +<literallayout> options "SCSI_DELAY=15" + </literallayout> +</para> + +</sect1> + +<sect1> +<title>Mi impresora es ridiculamente lenta. ¿Qué puedo hacer?</title> + +<para>Si es paralelo, y el ú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ón, aparentemente debido (y +todavía no exactamente entendido), a un problema de "timing".</para> + +</sect1> + +<sect1> +<title>Mis programas ocasionalmente mueren con errores ``Signal 11''.</title> + +<para>Esto puede ser por hardware erróneo (memoria, placa base, etc). +Intenta ejecutar algú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ón +de kernel.</para> + +<para>La FAQ SIG11 (listada más abajo) apunta a problemas de +lentitud de memoria. Incrementa el número de "wait states" en tu +BIOS o instala una memoria más rápida.</para> + +<para>También puedes intentar desactivar el caché de placa +base en la 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> + +</sect1> + +<sect1> +<title>Cuando arranco, la pantalla queda negra!</title> + +<para>Este es un problema conocido con las tarjetas de vídeo ATI +Mach 64. El problema es que esta tarjeta usa la dirección +<emphasis remap=tt>2e8</emphasis>, tambié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> +, éste "tocará" este puerto aunque no esté instalado +o esté 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á +a la sección de configuració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ás que +compilar un nuevo kernel con la siguiente modificació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én la coma siguiente). +Ahora, compila un nuevo kernel de la manera habitual.</para> + +<para>Después de realizar estos cambios, puedes encontrarte aun que +las X Window no funcionan correctamente. Algunas tarjetas de +vídeo modernas ATI Mach 64 (especialmente la ATI Mach Xpression) +no funcionan con la versión actual de <emphasis remap=tt>XFree86</emphasis>; la pantalla +se queda negra cuando arrancas las X o ocurren cosas extrañas en +su funcionamiento. Puedes instalar una versió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 ficheros:</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 ficheros por las nuevas versiones y +asegúrate de ejecutar de nuevo<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xf86config">xf86config</ulink>.</para> + +</sect1> + +<sect1 +id="reallybigram"> +<title> Tengo 128MB de RAM pero el sistema solo usa 64MB. + + </title> + +<para>Debido a la forma que tiene FreeBSD de "ver" el tamaño de +memoria en la BIOS, solo puede detectar 16 bits +(65535 Kbytes = 64MB) (o menos... algunas BIOS fijan el tamaño de +la memoria a 16MB).</para> + +<para>Para solucionar este problema, tienes que usar la opción del +kernel indicada más adelante. Hay una manera de ver la +información completa sobre memoria en la BIOS, pero no tenemos +espacio en los bloques de arranque (bootblocks) para hacerlo. Por ahora, +tenemos que trabajar con la opción del kernel.</para> + +<para><literal>options "MAXMEM=<n>"</literal></para> + +<para>Donde <emphasis remap=tt>n</emphasis> es tu memoria en Kilobytes. Para 128MB, +tendrías que usar <emphasis remap=tt>131072</emphasis>.</para> + +</sect1> + +<sect1> +<title>FreeBSD 2.0 aborta con ``kmem_map too small!''</title> + +<para><emphasis remap=tt>Nota</emphasis> El mensaje deberí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íficamente, +clusters mbuf). +Puedes incrementar la cantidad de memoria virtual disponible para +los clusters mbuf añadiendo:</para> + +<para><literal>options "NMBCLUSTERS=<n>"</literal></para> + +<para>al fichero de configuración del kernel, donde <n> es un +número en el rango 512-4096, dependiendo del número de +conexiones tcp simultáneas que necesites soportar. Te recomendamos +intentar con 2048. Puedes monitorizar el número de clusters mbuf +en uso con la orden +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?netstat">netstat -m</ulink>.</para> + +</sect1> + +<sect1> +<title>``CMAP busy panic'' al arrancar con un nuevo kernel.</title> + +<para>El programa que intenta detectar ficheros <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> + +</sect1> + +<sect1> +<title>ahc0: brkadrint, Illegal Host Access at seqaddr 0x0</title> + +<para>Esto significa un conflicto con una controladora Ultrastor SCSI. </para> + +<para>Durante el proceso de arranque, entra en el menú de +configuración del kernel y desactiva el dispositivo +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?uha(4)">uha0</ulink>.</para> + +</sect1> + +<sect1> +<title>Sendmail dice ``mail loops back to myself''</title> + +<para>Esto está 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 <user@domain.net>... Local configuration error + + Cómo puedo solventar el problema? + + Has intentado enviar un mail al dominio domain.net y que sea + reenviado a un host específico (en este caso relay.domain.net) + usando un registro MX, pero la máquina que tiene que aceptar + ese mail, no reconoce el domimio como propio. Añade + domain.net al fichero /etc/sendmail.cw (si estás usando + FEATURE(use_cw_file) o añade "Cw domain.net" al fichero + sendmail.cf + </literallayout> +</para> + +<para>La versió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> + +</sect1> + +<sect1> +<title>No funcionan correctamente las aplicaciones a pantalla completa + en máquinas remotas</title> + +<para>Quizás la máquina remota tiene el tipo de terminal +diferente de <emphasis remap=tt>cons25</emphasis> que es el usado por la cónsola de +FreeBSD.</para> + +<para>Hay diferentes maneras de solucionar este problema: +<itemizedlist> + +<listitem> +<para>Después de hacer el login en la má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ú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áquina remota.</para> +</listitem> + +<listitem> +<para>Lanza las X y haz el login en la máquina remota desde +<emphasis remap=tt>xterm</emphasis>.</para> +</listitem> + +</itemizedlist> +</para> + +</sect1> + +<sect1> +<title>Aparece el mensaje de error "calcru: negative time..."</title> + +<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áficas aceleradoras también lo pueden +provocar, teniendo que revisar la interrupció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ó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ás. Si +el problema persiste, mantén la variable sysctl a uno y +añade la opción "NTIMECOUNTER" en tu kernel para aumentar +su valor. Si finalmente llegas a un valor de "NTIMECOUNTER=20" el problema +no está resuelto, y las interrupciones están demasiado +saturadas para ofrecer un buén rendimiento.</para> + +</sect1> +</chapter> + +<chapter +id="commercial"> +<title>Aplicaciones Comerciales</title> + +<para><acronym>NOTA</acronym> Esta sección está todavía poco +desarrollada, por lo que esperamos que las compañías nos +ayuden a completarla :) . El grupo de FreeBSD no tiene ningún +interés financiero en ninguna de las empresas aquí listadas, +simplemente están como servicio público (y creemos que el +interés comercial por FreeBSD puede tener efectos +muy positivos en la viabilidad a largo término). Animamos a las +empresas desarrolladoras de software que nos envíen su +información para ser incluidas en esta lista.</para> + + +<sect1> +<title>¿Dónde puedo obtener Motif para FreeBSD?</title> + +<para>Contacta con <xref linkend="apps2go" remap="Apps2go"> para una +distribución de Motif ELF 2.1 para FreeBSD.<anchor id="apps2go"></para> + +<para>Esta distribució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 +ficheros Imake. +</para> +</listitem> + +<listitem> +<para>Librerías ELF estáticas y dinámicas +(para usar con FreeBSD 3.0 y posteriores). +</para> +</listitem> + +<listitem> +<para>Applets demostrativos.</para> +</listitem> + +</itemizedlist> +</para> + +<para>Asegúrate de especificar que deseas la distribución +para FreeBSD cuando hagas el pedido. También se distribuyen +versiones para NetBSD y OpenBSD por <emphasis>Apps2go</emphasis>. La +distribución sólo está disponible por FTP.</para> + +<para> +<variablelist> +<varlistentry><term>Más información</term> +<listitem> +<para><ulink URL="http://www.apps2go.com/">Pá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éfono (817) 431 8775 o +1 817 431-8775</para> + +</listitem> +</varlistentry> +</variablelist> +</para> + +<para>Contacta con <xref linkend="metrox" remap="Metro Link"> para obtener una +distribución de Motif 2.1 ELF o a.out para FreeBSD.</para> + +<para>Esta distribució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 +ficheros Imake. + </para> +</listitem> + +<listitem> +<para>Librerías estáticas y diná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áginas man preformateadas.</para> +</listitem> + +</itemizedlist> +</para> + +<para>Asegúrate de especificar que deseas la distribución +para FreeBSD cuando hagas el pedido. También se distribuyen +versiones para Linux por <emphasis>Metro Link</emphasis>. La distribución +está disponible en CDROM o vía FTP.</para> + +<para>Contacta con <xref linkend="xig" remap="Xi Graphics"> para una +distribución de Motif a.out 2.0 para FreeBSD.</para> + +<para>Esta distribució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 +ficheros Imake. +</para> +</listitem> + +<listitem> +<para>Librerías estáticas y dinámicas +(para usar con FreeBSD 2.2.8 y anteriores). +</para> +</listitem> + +<listitem> +<para>Applets demostrativos. +</para> +</listitem> + +<listitem> +<para>Páginas man preformateadas.</para> +</listitem> + +</itemizedlist> +</para> + +<para>Asegúrate de especificar que deseas la distribución +para FreeBSD cuando hagas el pedido. También se distribuyen +versiones para BSDI y Linux por <emphasis>Xi Graphics</emphasis>. La +distribución se hace en cuatro disquetes... en el futuro esto +se cambiará por una versión en CDROM unificada.</para> + +</sect1> + +<sect1> +<title>¿Dónde puedo conseguir CDE para FreeBSD?</title> + +<para>Contacta con <xref linkend="xig" remap="Xi Graphics"> 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><xref linkend="xig" remap="Xi Graphics"> ya no vende el CDE para FreeBSD.</para> + +<para><ulink URL="http://www.kde.org/">KDE</ulink> es un entorno +gráfico "open source" similar a CDE en muchos aspectos.</para> + +</sect1> + +<sect1> +<title>¿Hay algún servidor X comercial de altas prestaciones? + </title> + +<para>Sí, <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ácil configuración usando el conjunto de +herramientas "FreeBSD Package", soporte de múltiples tarjetas +de vídeo concurrentes y sólo se distribuye en formato +binario desde su FTP. Mencionar que la oferta de Metro Link está +disponible por el razonable precio de $39. +<anchor id="metrox"> </para> + +<para>Metro Link también vende el Motif ELF y a.out para +FreeBSD.</para> + +<para> +<variablelist> +<varlistentry><term>Más informació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é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ácil configuración, soporte para +múltiples tarjetas de vídeo concurrentes, y sólo +se distribuye en formato binario, en una distribución en +disquetes unificada para FreeBSD y Linux. Xi Graphics también +ofrece un servidor X de altas prestaciones para ordenadores +portátiles.</para> + +<para>Hay una distribución demo para testear (versión 5.0).</para> + +<para>Xi Graphics también vende el Motif y CDE para FreeBSD.</para> + +<para> +<variablelist> +<varlistentry><term>Mas informació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éfono (800) 946 7433 o +1 303 298-7478.</para> + +</listitem> +</varlistentry> +</variablelist> +</para> + +</sect1> + +<sect1> +<title>¿Hay algún sistema de base de datos para FreeBSD?</title> + +<para>Sí!. Mira en la sección <ulink URL="../commercial/software_bycat.html#CATEGORY_DATABASE">Productos Comerciales</ulink> del web de FreeBSD.</para> + +<para>También te recomendamos que mires en la sección +<ulink URL="../ports/databases.html">Bases de Datos</ulink> de la +colección de Ports.</para> + +</sect1> + +<sect1> +<title>¿Puedo usar Oracle en FreeBSD?</title> + +<para>Sí. Las siguientes pá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> + +</sect1> +</chapter> + +<chapter +id="applications"> +<title>Aplicaciones de usuario</title> + + +<sect1> +<title>¿Dónde están las aplicaciones?</title> + +<para>Por favor, mira en <ulink URL="http://www.FreeBSD.org/ports/">la sección de ports</ulink> para obtener información sobre +programas y aplicaciones que han sido portados a FreeBSD. En estos +momentos la lista llega a los 1800 creciendo día a día, +por lo que te recomendamos que la visites habitualmente o te subscribas +a la <xref linkend="mailing" remap="lista de distribución"> +<emphasis remap=tt>FreeBSD-announce</emphasis> para las actualizaciones periódicas de nuevas +aportaciones.</para> + +<para>La mayoría de programas están disponibles tanto para la +rama 2.2 como para la 3.x y 4.0, y muchos de ellos deberí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én trabajamos con el concepto de "package", que es, +esencialmente una distribución binaria "zipada" con una +pequeña información extra que realiza la instalación +del programa automaticamente. Un package puede ser instalado y +desinstalado fácilmente sin tener que saber los detalles de +ficheros o configuraciones que esto conlleva.</para> + +<para>Usa el menú de instalación de "packages" en +<filename>/stand/sysinstall</filename> (bajo la opción post-configuration del +menú principal) o ejecuta el comando <command>pkg_add(1)</command> con el +package que estás interesado en instalar. Los package pueden ser +identificados por su extensión <filename>.tgz</filename>. En la +distribución de CDROM existe un directorio <filename>packages/All</filename> +en la que se encuentran todos los packages disponibles. Tambié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>for 3.2-release/3.2-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ás cercano.</para> + +<para>Ten en cuenta que no todos los ports están disponibles como +packages. Es siempre buena idea visitar periodicamente la +dirección <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/">ftp.FreeBSD.org</ulink>.</para> + +</sect1> + +<sect1> +<title>¿Dónde encuentro la librería libc.so.3.0?</title> + +<para>Estás intentando ejecutar un package para versión +2.2/3.x/4.0 en un sistema de versión 2.1.x. Por favor, mira en la +sección anterior y usa el package adecuado para tu sistema.</para> + +</sect1> + +<sect1 +id="emul"> +<title>Ghostscript tiene muchos errores con mi 386/486SX.</title> + +<para>No tienes coprocesador matemático, verdad? +Necesitarás añadir el emulador matemático en tu +kernel; puedes hacerlo añadiendo lo siguiente en el fichero de +configuración del kernel:</para> + +<para> +<literallayout> options GPL_MATH_EMULATE + </literallayout> +</para> + +<para><acronym>NOTA</acronym> Necesitarás eliminar la opción +<symbol>MATH_EMULATE</symbol>.</para> + +</sect1> + +<sect1> +<title>Cuando ejecuto una aplicación SCO/iBCS2, falla en <emphasis remap=tt>socksys</emphasis>.</title> + +<para>Primero necesitas editar el fichero <filename>/etc/sysconfig</filename> +(o <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">/etc/rc.conf</ulink>) y en la última secció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á el módulo <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ibcs2">ibcs2</ulink> +al arrancar.</para> + +<para>A continuación necesitarás configurar /compat/ibcs2/dev +de la siguiente manera</para> + +<para> +<literallayout>lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null +lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> 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@ -> /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 ficheros. El código en -current +gestionará el resto. Esto es mucho más limpio que la +manera en la que se hacía antes. Si quieres el driver +<emphasis remap=tt>spx</emphasis> para un conexión, define <symbol>SPX_HACK</symbol> cuando +compiles el kernel.</para> + +</sect1> + +<sect1> +<title>¿Cómo configuro INN (Internet News) para mi máquina? + </title> + +<para>Después de la instalació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ás las FAQ de INN.</para> + +</sect1> + +<sect1> +<title>¿Qué versión de Microsoft FrontPage debo usar?</title> + +<para>Usa el Port. Una versión pre-parcheada para Apache está +disponible en la colección de ports.</para> + +</sect1> + +<sect1> +<title>¿FreeBSD soporta Java?</title> + +<para>Sí. Por favor, mira en <ulink URL="http://www.FreeBSD.org/java">http://www.FreeBSD.org/java</ulink>.</para> + +</sect1> + +<sect1> +<title>¿Porqué no puedo compilar este port en mi máquina + 3.x-stable?</title> + +<para>Si utilizas una versión de FreeBSD que ha quedado ligeramente anticuada +con respecto a -stable o -current necesitarás el kit de actualización +de ports disponible en <ulink URL="http://www.FreeBSD.org/ports">http://www.FreeBSD.org/ports</ulink>. Si tienes una versión actualizada, es +posible que alguien haya modificado el port de manera que éste compile en +-current pero no en -stable. Por favor, envía un informe de error con el +comando <command>send-pr(1)</command> ya que la colección de ports está +pensada para que funcione tanto en las ramas -stable como -current.</para> + +</sect1> + +<sect1> +<title>¿Dónde encuentro ld.so?</title> + +<para>Si quieres ejecutar aplicaciones a.out como Netscape en sistemas con +formato de ejecución ELF como FreeBSD 3.1-RELEASE o posteriores, +necesitarás la librería /usr/libexec/ld.so y algunas otras +en formato a.out. Estas librerías están incluidas en la +distribución compat22. Usa /stand/sysinstall o el script install.sh +en el subdirectorio compat22 e instalala. También deberían +consultarse los ficheros ERRATA de FreeBSD 3.1-R y 3.2-R.</para> + +</sect1> +</chapter> + +<chapter +id="kernelconfig"> +<title>Configuración del Kernel</title> + + +<sect1 +id="make-kernel"> +<title>Me gustaría personalizar mi kernel. ¿Es difícil?</title> + +<para>No!, primero, necesitas la distribución completa de fuentes o, +por lo menos, la distribució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ítica +de <acronym>NO</acronym> vender nuestro kernel en formato binario.</para> + +<para>La instalación de los fuentes ocupa un poco más de +espacio, pero te permite consultar los fuentes del kernel en caso de +dificultad o entender que está ocurriendo realmente en la +ejecución del sistema.</para> + +<para>Una vez tienes instalada la distribució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ía tienes un fichero de +configuración del kernel de una release anterior de FreeBSD +2.X. - simplemente, copia el fichero antiguo y examínalo +cuidadosamente para asegurar que no haya cambiado la sintaxis +da algún driver, o haya alguno anticuado.</para> + +<para>Un buen fichero de configuración para consultar es <acronym>LINT</acronym>, +el cual contiene ejemplos documentados para todas las posibles +opciones del kernel. El fichero de configuración <acronym>GENERIC</acronym> se +usa para crear el kernel "por defacto" que es el que estarás +usando si no has creado ninguno nuevo.</para> + +<para>Si no necesitas hacer ningún cambio al fichero <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á una +imágen del nuevo kernel a <filename>/kernel</filename> y <emphasis remap=bf>realizará +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á el nuevo kernel.</para> + +<para>Si la compilación en el paso 7 falla por alguna razó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 fichero de configuración +es incorrecto (o has decubierto un bug). Si la compilació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ó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én +funcionando correctamente. De esta manera, si la próxima vez que +juegues con el kernel algo no funciona, puedes arrancar desde el +último kernel correcto. Esto es especialmente importante si ahora +estás arrancando desde una controladora no soportada por el kernel +GENERIC (si, experiencia personal).</para> + +</sect1> + +<sect1> +<title>La compilación del kernel falla por "<symbol>_hw_float</symbol> is missing."</title> + +<para>Dejame adivinar. Has borrado <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?npx(4)">npx0</ulink> +de tu fichero de configuración porque no tienes coprocesador +matemá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> + +</sect1> + +<sect1> +<title>Conflicto de interrupciones con tarjeta serie multi-port.</title> + +<para>Cuando compilo el kernel con drivers para tarjetas serie +multipuerto, el sistema me dice que sólo el primer puerto es +testeado y el resto son obviados debido a conflictos de +interrupción. Cómo soluciono esto?</para> + +<para>El problema en este caso es que FreeBSD tiene có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í 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> + +</sect1> + +<sect1> +<title>¿Cómo activo el soporte para discos QIC-40/80?</title> + +<para>Necesitas "descomentar" la siguiente línea en el fichero +genérico de configuración (o añadirla en tu propio +fichero), añade un <literal>flags 0x1</literal> en la lí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ó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í para +todos los dispositivos de este tipo que tengas.</para> + +<para>Tendrás un dispositivo llamado <filename>/dev/ft0</filename>, al cual puedes +escribir a travé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ás +detalles.</para> + +<para>Versiones anteriores a la <option>-current</option> tení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 última versión del programa +<emphasis remap=tt>ft</emphasis> que encontrarás en <filename>/usr/src/sbin/ft</filename> en +<option>-current</option>.</para> + +</sect1> +</chapter> + +<chapter +id="admin"> +<title>Administración de sistema</title> + + +<sect1> +<title>¿Dónde están los ficheros de configuración de arranque del sistema?</title> + +<para>De la versión 2.0.5R a la 2.2.1R, el fichero principal de +configuración es <filename>/etc/sysconfig</filename>. Todas las opciones son +especificadas en este fichero 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 fichero <filename>/etc/sysconfig</filename> y cambia los valores +para tu sistema. Este fichero está comentado para ayudar en la +configuración</para> + +<para>En versiones posteriores a la 2.2.1 y 3.0 el fichero +<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én fue retocada para ser mas descriptiva. El +fichero <filename>/etc/netstart</filename> también fue renombrado como +<filename>/etc/rc.network</filename> para que todos los ficheros de +configuració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í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 fichero <filename>/etc/rc.serial</filename> es para la inicialización +de puertos serie.</para> + +<para>El fichero <filename>/etc/rc.i386</filename> es para especificaciones propias +de Intel, como la emulación iBCS2 o la configuración de la +cónsola del sistema.</para> + +<para>A partir de la versión 2.1.0R, también puedes tener un +directorio en el que instalar ficheros de arranque locales especificado en +<filename>/etc/sysconfig</filename> (o <filename>/etc/rc.conf</filename>):</para> + +<para> +<literallayout> # Localización de los ficheros de arranque locales. + local_startup=/usr/local/etc/rc.local.d + </literallayout> +</para> + +<para>Cada fichero acabado en <filename>.sh</filename> será ejecutado en orden +alfabético.</para> + +<para>Si quieres asegurarte de un cierto orden en la ejecución sin +tener que cambiar todos los nombres de los ficheros, puedes usar un +esquema similar al siguiente con dígitos al principio del nombre +de cada fichero:</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ñadidos localmente sin tener que +hacer ediciones complicadas del fichero <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> + +</sect1> + +<sect1> +<title>¿Cómo añado un usuario facilmente?</title> + +<para>Usa el comando <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?adduser">adduser</ulink>. Para +opciones má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> + +</sect1> + +<sect1> +<title>¿Cómo puedo añadir mi nuevo disco a FreeBSD?</title> + +<para>Consultar el Tutorial de Formateo de Discos en +<ulink URL="../../tutorials/diskformat/">www.FreeBSD.org</ulink>.</para> +</sect1> + +<sect1> +<title>Tengo un nuevo disco removible, ¿como lo uso?</title> + +<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ía de dispositivos.</para> + +<para><anchor id="disklabel">(esta secció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á 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ón de fá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á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 ficheros a BSD. Obtendrás nombre de ficheros largos, +como mínimo doblarás la velocidad de acceso del disco, y +mucha má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ñ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últiples particiones BSD.</para> + +<para>Finalmente, crea un nuevo sistema de ficheros:</para> + +<para> +<literallayout> newfs /dev/rda2c + </literallayout> +</para> + +<para>y montalo:</para> + +<para> +<literallayout> mount /dev/da2c /zip + </literallayout> +</para> + +<para>Sería una buena idea añadir una línea como esta +en el fichero +<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> + +</sect1> + +<sect1> +<title>¿Cómo monto una partición secundaria DOS?</title> + +<para>Las particiones DOS secundarias se encuentran después de TODAS +las particiones primarias. Por ejemplo, si tienes una partición +"E" como la segunda partición DOS en el segundo disco SCSI, +necesitas crear los ficheros especiales para el dispositivo 5 en /dev, y +después montar /dev/da1s5:</para> + +<para> +<literallayout> # cd /dev + # ./MAKEDEV da1s5 + # mount -t msdos /dev/da1s5 /dos/e + </literallayout> +</para> + +</sect1> + +<sect1> +<title>¿Puedo montar otros sistemas de ficheros bajo FreeBSD?</title> + +<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 mas complejo, dependiendo de los +detalles de la partición de disco del sistema operativo en +cuestió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 mas información.</para> + +<para><emphasis remap=bf> NT</emphasis>: Existe un driver de solo lectura de NTFS para FreeBSD. Para +más informació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> + +</sect1> + +<sect1> +<title>¿Cómo puedo usar el "NT loader" para arrancar FreeBSD?</title> + +<para>La idea general es que copies el primer sector de la partición +root nativa de FreeBSD en un fichero en la partición DOS/NT. +Asumiento que nombras a ese fichero como <filename>c:\bootsect.bsd</filename> +puedes editar el fichero <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án en la primera partición +y FreeBSD en la segunda. Instalamos FreeBSD para arrancarlo desde su +partición nativa y no desde el disco MBR.</para> + +<para>Monta un floppy formateado en DOS bajo la partició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 fichero <filename>bootsect.bsd</filename> y/o el +fichero <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ñade las lí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á arrancando desde el MBR, restauralo desde el +comando <emphasis remap=tt>fdisk</emphasis> después de reconfigurarlos para arrancar desde +sus particiones nativas.</para> + +</sect1> + +<sect1> +<title> ¿Cómo arranco FreeBSD y Linux desde LILO? + </title> + +<para>Si tienes FreeBSD y Linux en el mismo disco, solo tienes que seguir +las instrucciones de instalación de LILO para arrancar un sistema +operativo no Linux. Brevemente, son estas:</para> + +<para>Arranca Linux, y añade las siguientes líneas en el +fichero +<filename>/etc/lilo.conf</filename>: +<literallayout> other=/dev/hda2 + table=/dev/hda + label=FreeBSD + </literallayout> + +(Asumiendo que tu partición FreeBSD es conocida por Linux como +<filename>/dev/hda2</filename>). A continuación, ejecuta <emphasis remap=tt>lilo</emphasis> como +root y ya debería estar.</para> + +<para>Si FreeBSD está en otro disco, necesitas añadir +``<literal>loader=/boot/chain.b</literal>'' al fichero <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ás especificar el nú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 +la BIOS como disco 1, en el prompt del cargador de arranque +necesitará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> + +</sect1> + +<sect1> +<title> ¿Cómo arranco FreeBSD y Linux usando BootEasy? + </title> + +<para>Instala el LILO al inicio de la partición de arranque del +Linux en lugar de hacerlo en el "Master Boot Record". Así +podrás arrancar el LILO desde BootEasy.</para> + +<para>Si estas usando Windows-95 y Linux, también es recomendable +hacer esto para simplificar el arranque de Linux en caso de que sea +necesaria una reinstalación del Windows-95 (ya que no quiere +convivir con otros sistemas operativos en el mismo Master Boot Record).</para> + +</sect1> + +<sect1> +<title> ¿Puede un disco "dedicado" provocar problemas? + </title> + +<para><anchor id="dedicate">El proceso de instalación nos permite +elegir dos métodos diferentes de particionar un disco. El sistema +por defecto hace que el disco sea compatible con otros sistemas +operativos en la misma má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ás com&ún para gente +proveniente del mundo de PC, para la gente proveniente del mundo Unix y +quienes quieren instalar una máquina para funcionar con FreeBSD y +solo FreeBSD, es má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ás +este último sistema. Ten en cuenta que usando este sistema no te +permitirá la instalación de ningún otro sistema +operativo o selector de arranque (boot manager).</para> + +<para>Entonces, ¿por qué se llama "peligroso"?. Un disco en +este modo no contiene lo que las utilidades normales de un PC +considerarían una tabla de partición de ficheros válida. +Dependiendo del diseño de estas aplicaciones, puede que dañen +el sector de arranque una vez entren en contacto con el disco. Por lo menos una +BIOS Award usada por máquinas HP Netservers (pero no sólo +por ellos) es concocida por ignorar los disco duros que no contengan lo +que la BIOS entiende por una tabla de ficheros válida.</para> + +<para>Para volver un disco "peligrosamente dedicado" a formato +estandard de PC, hay básicamente dos opciones. La primera es, +escribes suficientes bytes NULL sobre el MBR para hacer que +las siguientes instalaciones crean que están en un disco sín +usar. Puedes hacer esto así:</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á un nuevo master boot record.</para> + +</sect1> + +<sect1> +<title>¿Cómo puedo añadir más espacio de swap?</title> + +<para>La mejor manera es incrementar el tamaño de tu partición +de swap, o usar esta excusa para añadir un otro disco nuevo.</para> + +<para>Añadir swap en discos separados hace las cosas más +rápidas que simplemente añadir swap en el mismo disco. +Como ejemplo, si estás compilando código fuente en un +disco, y el swap está en otro disco, es mucho más +rápido que si el swap y la compilación se realizaran en el +mismo disco. Esto es cierto especí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ápida con un muy buen servidor.</para> + +<para>Aquí hay un ejemplo para un fichero de swap de 64Mb +<filename>/usr/swap0</filename>, piensa que puedes usar el nombre que quieras).</para> + +<para>Asegurate que el kernel está compilado con la línea</para> + +<para> +<literallayout> pseudo-device vn 1 #Vnode driver (turns a file into a device) + </literallayout> +</para> + +<para>en tu fichero de configuració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 fichero 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>rebota la máquina.</para> +</listitem> + +</orderedlist> +</para> + +<para>Para activar el fichero de swap inmediatamente teclea</para> + +<para> +<literallayout> vnconfig -ce /dev/vn0c /usr/swap0 swap + </literallayout> +</para> + +</sect1> + +<sect1> +<title>Tengo problemas para poner en marcha mi impresora.</title> + +<para>Por favor, revisa la sección de impresoras del manual. Cubre la +mayoría de posibles problemas. Pásate por +<ulink URL="../../handbook/printing.html">esta sección.</ulink></para> + +</sect1> + +<sect1> +<title>Mi teclado no coincide con los carácteres de pantalla.</title> + +<para>El programa de control de teclado tiene una opción para cargar +el mapa de teclado. En el directorio <filename>/usr/share/syscons/keymaps</filename> +hay diferentes ficheros de mapas de teclado. Selecciona el que +corresponde a tu sistema y cárgalo.</para> + +<para> +<literallayout> kbdcontrol -l uk.iso + </literallayout> +</para> + +<para>Tanto el directorio <filename>/usr/share/syscons/keymaps</filename> como la +extensió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 fichero.</para> + +<para>En la versión 2.0.5R y posteriores, todo lo referente a fuentes, +teclado, etc está 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> + +</sect1> + +<sect1> +<title>Las cuotas de usuario no funcionan correctamente.</title> + +<para> +<orderedlist> + +<listitem> +<para>No actives las cuotas en '/', +</para> +</listitem> + +<listitem> +<para>Pon el fichero de cuotas en el sistema de ficheros 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> + +</sect1> + +<sect1> +<title>Mi ccd no funciona correctamente</title> + +<para>El sí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ás intentando concatenar las +particiones c'. El driver ccd requiere que la partición sea del +tipo FS_BSDFFS. Edita la etiqueta del disco (disklabel) que estás +intentando concatenar y cambia el tipo de partición a '4.2BSD'.</para> + +</sect1> + +<sect1> +<title>¿Porqué no puedo editar el disklabel en mi ccd?</title> + +<para>El sí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ícitamente:</para> + +<para> +<literallayout> # disklabel ccd0 > /tmp/disklabel.tmp + # disklabel -Rr ccd0 /tmp/disklabel.tmp + # disklabel -e ccd0 + (this will work now) + </literallayout> +</para> + +</sect1> + +<sect1> +<title>¿Soporta FreeBSD primitivas IPC System V?</title> + +<para>Sí, FreeBSD las soporta. Estas incluyen memoria compartida, +mensajes y semáforos. Necesitas añadir las siguientes +líneas en la configuració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ás necesites incrementar SHMMAXPGS a un +número como 4096 (16M) si quieres usar GIMP. 256K es suficiente +para la memoria compartida en X11R6.</para> + +</sect1> + +<sect1 +id="uucpmail"> +<title> ¿Cómo uso sendmail para envio de mail UUCP? + </title> + +<para>La configuración de sendmail incluida en FreeBSD está +preparada para sistemas que conectan directamente con Internet. Los +sistemas que quieran usar UUCP para el envío de mail deben +utilizar otro fichero de configuración.</para> + +<para>Retocar <filename>/etc/sendmail.cf</filename> manualmente está considerado +algo para puristas. La versión 8 de sendmail incluye un nuevo +sistema de configuración llamado +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?m4">m4</ulink>, en +el cual la configuración se realiza en un nivel más alto. +Deberías usar los ficheros de configuración situados en</para> + +<para> +<literallayout> /usr/src/usr.sbin/sendmail/cf + </literallayout> +</para> + +<para>Si no instalaste tu sistema con el código fuente completo, el +paquete de configuración de sendmail está en una +distribució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ño. +El fichero <acronym>README</acronym> en el directorio <emphasis remap=tt>cf</emphasis> puede +servir como introducción a la configuración del m4.</para> + +<para>Para envío y recepción va UUCP, te aconsejamos usar la +opció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 fichero <filename>.mc</filename>. Estos ficheros +se encuentran en el directorio +<filename>/usr/src/usr.sbin/sendmail/cf/cf</filename>. Si miras, encontrarás +algunos ejemplos. Asumiendo que tu fichero se llama <filename>foo.com</filename>, +todo lo que necesitas hacer para convertirlo en un fichero +<filename>sendmail.cf</filename> vá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 fichero típico <filename>.mc</filename> serí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áfico de correo. La cláusula +<symbol>UUCP_RELAY</symbol> se necesita por razones imperiosas, no +preguntes :). Simplemente pon un nombre de máquina de Internet que +sea capaz de gestionar pseudo-dominios .UUCP; más sencillo, +entrarás el mail relay de tu ISP.</para> + +<para>Una vez hayas hecho esto, necesitas el fichero llamado +<filename>/etc/mailtertable</filename>. Un ejemplo típico sería:</para> + +<para> +<literallayout> # + # makemap hash /etc/mailertable.db < /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 fichero real. Las tres +primeras líneas manejan casos especiales donde el correo dirigido +a un dominio no debe ser enviado a través de la ruta por defecto, +si no a través de un UUCP vecino para acortar el path de +envío. La siguiente línea gestiona el mail del dominio +local para que sea enviado vía SMTP. Finalmente, los vecinos UUCP +son anotados en la parte .UUCP pseudo-domains, para poder sobreescribir +las reglas por defecto. La última línea es siempre un +punto, que indica el mail gateway hacia el resto del mundo. Todos los +nombres de nodos detrás de <emphasis remap=tt>uucp-dom:</emphasis> deben ser vecinos +válidos UUCP.</para> + +<para>Como recordatorio de que este fichero debe ser convertido a +una base de datos DBM antes de ser usada, la línea de comandos +para realizar esta operación esta puesta como un comentario al +inicio del fichero. Siempre tienes que ejecutar este comando +cada vez que realices algú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ón <option>-bt</option> de +sendmail. Esta opción arranca el sendmail en <emphasis>modo test</emphasis>; +simplemente entra 0, seguido por la dirección de mail sobre la que +quieres testear la ruta. La última línea te indica el agente +interno, el host de destino y la direcció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 <ruleset> <address> + > 0 foo@interface-business.de + rewrite: ruleset 0 input: foo @ interface-business . de + ... + rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ + < @ interface-business . de > + > ^D + j@uriah 192% + </literallayout> +</para> + +</sect1> + +<sect1 +id="ispmail"> +<title>¿Cómo configuro el correo para conexiones NO permanentes a Internet?</title> + +<para>Si tienes una dirección IP fija en la conexión, no +necesitará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á el resto.</para> + +<para>Si tienes direcciones IP asignadas dinamicamente y usas una +conexión <emphasis remap=bf>ppp</emphasis> a Internet, probablemente tendrás un +buzó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én que has llamado a tu máquina +<filename>bsd.home</filename> y que tu proveedor te ha indicado que uses la +máaquina <filename>relay.myISP.com</filename> como mail realy (gateway).</para> + +<para>Para poder recoger el correo de tu buzón necesitarás +instalar un agente de recogida de correo. <emphasis remap=bf>Fetchmail</emphasis> es una buena +opción ya que soporta diferentes protocolos. Normalmente se usa +POP3. Puedes recoger automaticamente tu correo al realizar la +conexión añadiendo la siguiente línea en el fichero +<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 fichero +<filename>.fetchmailrc</filename>:</para> + +<para> +<literallayout> poll myISP.com protocol pop3 fetchall pass MySecret; + </literallayout> +</para> + +<para>No hace falta decir que este fichero 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én deberías decirle al sendmail +que envie todo el correo saliente a traves de <filename>relay.myISP.com</filename>, para +una transmisión mucho más rápida.</para> + +<para>El siguiente fichero <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ón anterior para los detalles de como convertir +este fichero <filename>.mc</filename> en un <filename>sendmail.cf</filename>. No te olvides de +rearrancar sendmail después de cada actualización del +fichero sendmail.cf.</para> + +</sect1> + +<sect1> +<title>Olvidé el password de Root!!</title> + +<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á un prompt #. Teclea +<command>mount -u /</command> para remontar tu sistema de ficheros en modo +de lectura/escritura y a continuación teclea <command>mount -a</command> para +montar todos los sistemas de ficheros. 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> + +</sect1> + +<sect1> +<title>¿Cómo mantengo el control sobre Control-Alt-Delete?</title> + +<para>Edita el mapa de teclado que estás usando para la +cónsola 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ís, +tendrías que editarlo.</para> + +</sect1> + +<sect1> +<title>¿Cómo reformateo ficheros de texto DOS a UNIX?</title> + +<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 fichero a procesar. La modificación se hace en el +propio fichero dejando el original grabado con extensió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' < dos-text-file > unix-file</literallayout> +</para> + +<para>dos-text-file es el fichero que contiene el texto DOS mientras que +unix-file contendrá la salida convertida. Este sistema puede +ser más rápido que usar perl.</para> + +</sect1> + +<sect1> +<title>¿Cómo puedo hace "kill" de procesos por nombre?</title> + +<para>Usa <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?killall">killall(1)</ulink>.</para> + +</sect1> + +<sect1> +<title>¿Porque el su no me dejar ser root al no estar en el ACL?</title> + +<para>El error proviene de sistema del autentificació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ón.</para> + +</sect1> + +<sect1> +<title>¿Cómo desinstalo Kerberos?</title> + +<para>Para eliminar Kerberos del sistema, reinstala la distribución +bin de la release que esté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> + +</sect1> + +<sect1> +<title>¿Cómo añado pseudoterminales a mi sistema?</title> + +<para>Si tienes muchos usuarios de telnet, ssh, X, o de cónsola, +probablemente terminarás desbordando el número de +pseudoterminales del sistema. Aquí tienes como añadir +más:</para> + +<para> +<orderedlist> + +<listitem> +<para>Compila e instala un nuevo kernel com la línea + +<literallayout> pseudo-device pty 256 + </literallayout> + + +</para> + +<para>en el fichero de configuració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 fichero <filename>/etc/ttys</filename> y añade una línea +para cada uno de los 256 terminales. Estas líneas deben seguir la +estructura de las entradas existentes, algo como esto: + +<literallayout> ttyqc none network + </literallayout> + + +</para> + +<para>El órden de la designación de letras es +<emphasis remap=tt>tty[pqrsPQRS][0-9a-v]</emphasis>, usando una expresión regular.</para> + +<para></para> +</listitem> + +<listitem> +<para>Rebota el sistema con el nuevo kernel, y lo tendrás listo +para funcionar.</para> +</listitem> + +</orderedlist> +</para> + +</sect1> + +<sect1> +<title>¿Cómo puedo releer el fichero /etc/rc.conf y relanzar /etc/rc sin tener que hacer un reboot?</title> + +<para>Entra en modo monousuario y a continuación vuelve a modo +multiusuario.</para> + +<para>En la consola haz: +<literallayout> # shutdown now + (Nota: sin -r o -h) + + # return + # exit</literallayout> +</para> + +</sect1> + +<sect1> +<title>¿Qué es un sandbox?</title> + +<para>Sandbox es un té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ñados como prevenció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ón de código, puede ser capaz +de romper los muros, así no es necesario hacer +auditorías detalladas de su có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ón usada en las pá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ía ejecutarse con el userid de root. Ahora se +ejecuta con el userid tty. El usuario tty esta diseñado para ser +usado como usuario sandbox, dificultando así la tarea de un +intruso que haya conseguido penetrar en el sistema a travé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ón +de la máquina. Esto es más hard-core. Básicamente, +significa que alguien que sea capaz de penetrar en el proceso, +creerá que ha penetrado en el sistema principal, pero de hecho, +ha penetrado en una simulación de esa máquina y no puede +modificar ningún dato real.</para> + +<para></para> + +<para>El sistema más comú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 ficheros de solo +lectura y a continuació,n crear un nivel de sistema de ficheros +por encima del anterior que dé al proceso la sensación +de encontrarse en un sistema de ficheros de lectura/escritura. El +proceso creerá que es capaz de escribir esos ficheros, pero +só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á en é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áquina.</para> + +<para>Un proceso UNIX es propiedad de un userid determinado. Si el userid no +es el usuario root, éste solo podrá acceder a los procesos +de su propiedad, evitando la intrusión en procesos ajenos. El +userid también se usa como sistema de protección para datos +grabados en disco.</para> + +</sect1> +</chapter> + +<chapter +id="x"> +<title>El sistema X Windows y las cónsolas virtuales</title> + + +<sect1> +<title>Quiero ejecutar las X, ¿cómo lo hago?</title> + +<para>La manera más fácil es, simplemente, especificar que +quieres usar las X durante el proceso de instalación.</para> + +<para>Entonces, lee y sigue la documentación de la herramienta +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xf86config">xf86config</ulink>, la cual te ayuda a configurar el sistema XFree86 sobre +las características propias de tu sistema (tarjeta de vídeo +, ratón, etc).</para> + +<para>Quizás te interesaría investigar y probar el servidor +Xaccel, disponible a un precio muy razonable. Mira en la sección +<xref linkend="xig" remap="Xi Graphics"> o +<xref linkend="metrox" remap="Metro Link"> para más detalles.</para> + +</sect1> + +<sect1 +id="x-and-moused"> +<title>¿Porqué no funciona mi ratón con las X?</title> + +<para>Si estás usando syscons (el driver de cónsola por +defecto), puedes configurar FreeBSD para soportar un ratón en cada +cónsola 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ón en una o +más cónsolas virtuales <emphasis remap=bf>y</emphasis> usar las X, te recomendamos +la siguiente configuració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> + +</sect1> + +<sect1> +<title>Los menus de X Window y cajas de diálogo no funcionan bien.</title> + +<para>Intenta desactivar la tecla Num Lock.</para> + +<para>Si tu tecla Num Lock está activada por defecto al arrancar el +sistema, deberías añadir la siguiente línea en la +sección <emphasis remap=tt>Keyboard</emphasis> del fichero <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> + +</sect1> + +<sect1> +<title>¿Qué es una cónsola virtual y como creo más?</title> + +<para>Las cónsolas virtuales te permiten tener sesiones +simultáneas en la misma máquina sin necesidad de tener +montajes complicados como una red o ejecución de X.</para> + +<para>Cuando el sistema arranca, mostrará 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 +cónsola virtual.</para> + +<para>En algun momento, es probablemente querras iniciar otra sesion +, por ejemplo, para mirar la documentación de un programa que +estás ejecutando, o para leer el correo mientras esperas que +termine una sesión ftp que tienes establecida. Solo haz Alt-F2 y +encontrarás un prompt un prompt de login esperandote en la segunda +"cónsola virtual". Cuando quieras volver a la sesión +original, sólo tienes que pulsar Alt-F1.</para> + +<para>La instalación por defecto de FreeBSD tiene tres cónsolas +virtuales activadas, y Alt-F1, Alt-F2 y Alt-F3 cambian entre ellas.</para> + +<para>Para activar mas cónsolas virtuales, edita <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink> +y añade tantas entradas como cónsolas virtuales quieras a +partir de <emphasis remap=tt>ttyv4</emphasis>, despué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 cónsolas como quieras o necesites. Cuantas +más cónsolas tengas, más recursos utilizas; esto +puede ser importante si tienes 8MB de RAM o menos. Tambié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ás fácil de desactivar una cónsola +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ó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én puedes, simplemente, borrar estas líneas.)</para> + +<para>Una vez has editado el fichero <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ás fácil +de hacerlo es:</para> + +<para> +<literallayout> # cd /dev + # ./MAKEDEV vty12 # For 12 devices + </literallayout> +</para> + +<para>A continuación, la manera más fácil de activar +las cónsolas 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á +funcionando, antes de ejecutar este comando. Si no lo haces, +parecerá que tu sistema está parado/colgado después +de ejecutar el comando kill.</para> + +</sect1> + +<sect1> +<title>¿Cómo accedo a las cónsolas virtuales desde X?</title> + +<para>Si la cónsola está actualmente mostrando X Window, +puedes usar Ctrl-Alt-F1, etc, para cambiar entre las cónsolas +virtuales. Ten en cuenta que una vez pases de una cónsola 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 cónsola de +texto está bloqueada. Pulsa la tecla Ctrl de nuevo para +desbloquearla.</para> + +</sect1> + +<sect1> +<title>¿Cómo arranco XDM desde el fichero <filename>/etc/ttys</filename>?</title> + +<para>Existen dos escuelas sobre como arrancar el <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xdm">xdm</ulink>. Una escuela arranca el xdm desde el fichero +<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 fichero +<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étodos son igualmente válidos, y uno puede funcionar +en situaciones que el otro no. En ambos casos el resultado es el mismo: +el sistema X Window lanzará un prompt de login gráfico.</para> + +<para>El método ttys tiene la ventaja de documentar en que vty se +lanzarán las X pasando la responsabilidad de rearrancar el +servidor X al hacer el logout al proceso init. El método +rc.local hace más fá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án en conflicto bloqueando la +cónsola. La mejor manera de evitar este problema es tener un +script que retrase el arranque de xdm durante 10 segundos.</para> + +<para>Una versión previa de esta FAQ decía que debías +añadir el <emphasis remap=tt>terminal virtual</emphasis> usado por las X al fichero +<filename>/usr/X11R6/lib/X11/xdm/Xservers</filename>. Esto no es necesario: las X +usarán el primer <emphasis remap=tt>terminal virtual</emphasis> que encuentre libre.</para> + +</sect1> + +<sect1> +<title>Cuando arranco xconsole obtengo "Couldn't open console".</title> + +<para>Si arrancas las <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=X">X</ulink> con <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=startx">startx</ulink>, los permisos en /dev/console no serán cambiados, +resultando en cosas como que <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xterm">xterm -C</ulink> y <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xconsole">xconsole</ulink> no funcionen.</para> + +<para>Esto se debe a la manera en que son fijados los permisos de la +cónsola. En un sistema multiusuario, podemos no querer que +cualquier usuario pueda escribir en la cónsola de sistema. Para +usuarios que realizan logins directamente desde una máquina con +un VTY, existe el fichero +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fbtab">fbtab</ulink> +para resolver estos problemas.</para> + +<para>Asegúrate de que existe al menos una línea como esta +sin comentar:</para> + +<para> +<literallayout> /dev/ttyv0 0600 /dev/console + </literallayout> +</para> + +<para>Está en <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fbtab(5)">/etc/fbtab</ulink> y asegurará que cualquiera que realice un login +en <filename>/dev/ttyv0</filename> será el propietario de la cónsola.</para> + +</sect1> + +<sect1> +<title>Mi ratón PS/2 no funciona bien en X.</title> + +<para>Tu ratón y el driver de ratón quizás estén +fuera de sincronización.</para> + +<para>En versiones 2.2.5 y anteriores, conmutando entre sesiones X y +sesiones de terminales virtuales, podía provocar una +desincronización. Si el problema ocurre muy amenudo, +deberías añadir la siguiente opción en el fichero +de configuración de tu kernel y recompilarlo.</para> + +<para> +<literallayout> options PSM_CHECKSYNC + </literallayout> +</para> + +<para>Mira la sección <xref linkend="make-kernel" remap="creando un kernel"> +si no tienes experiencia en compilar nuevos kernels.</para> + +<para>En versiones 2.2.6 y posteriores, el chequeo de sincronización +es realizado de otra manera, y es estandard en el driver de ratón +PS/2. Aun así, en casos extraños puedes llegar a ver +mensajes de error de sincronización como este:</para> + +<para> +<literallayout> psmintr: out of sync (xxxx != yyyy) + </literallayout> +</para> + +<para>y parecer que tu ratón no funciona adecuadamente.</para> + +<para>Si esto ocurre, desactiva el código de chequeo de +sincronización poniendo los flags del driver PS/2 a 0x100. Entra +en <emphasis>UserConfig</emphasis> poniendo la opción <option>-c</option> en el prompt +de arranque:</para> + +<para> +<literallayout> boot: -c + </literallayout> +</para> + +<para>Entonces, en la línea de comando de <emphasis>UserConfig</emphasis>, teclea:</para> + +<para> +<literallayout> UserConfig> flags psm0 0x100 + UserConfig> quit + </literallayout> +</para> + +</sect1> + +<sect1> +<title>Mi ratón PS/2 de MouseSystems no funciona.</title> + +<para>Hemos recibido reportes de que algunos modelos de ratones PS/2 de +MouseSystems solo trabajan si están configurados en modo "alta +resolución".</para> + +<para>Desafortunadamente no hay solució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 >= 2) + log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", + unit, i); ++ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH); ++ + #if 0 + set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ + set_mouse_mode(sc->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ón en modo de alta resolución. +Entra en <emphasis>UserConfig</emphasis>:</para> + +<para> +<literallayout> boot: -c + </literallayout> +</para> + +<para>y en la línea de comandos teclea:</para> + +<para> +<literallayout> UserConfig> flags psm0 0x04 + UserConfig> quit + </literallayout> +</para> + +<para>Mira en la sección anterior para posibles causas de problemas +con los ratones.</para> + +</sect1> + +<sect1> +<title>Cuando compilo una aplicación X. <emphasis remap=tt>imake</emphasis> no puede + encontrar el fichero <filename>imake.tmpl</filename>. ¿Dónde está?</title> + +<para>Imake.tmpl es parte del package Imake, una aplicación +estandard de compilación de X. Tanto Imake como headers y otros +ficheros necesarios para compilar aplicaciones X están en la +distribución de programación X. Puedes instalarla desde +el sysinstall o manualmente desde los ficheros de la distribución +X.</para> + +</sect1> + +<sect1> +<title>¿Cómo invierto los botones del ratón?</title> + +<para>Ejecuta el comando <literal> xmodmap -e "pointer = 3 2 1"</literal> desde el +fichero .xinitrc o .xsession.</para> + +</sect1> + +<sect1> +<title>¿Cómo instalo un "splash screen" y donde los consigo?</title> + +<para>Justo antes de la publicación de FreeBSD 3.1 se añadió +una nueva caracterí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ás, deben tener +una resolución de 320x200 o inferior para poder trabajar en controladoras +VGA estándars. 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ó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ón de +configuración <acronym>VESA</acronym> o cargando el mó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í 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ón bitmap de tu "splash +screen". La release 3.1 sólo soporta bitmaps de Windows. Una +vez hayas elegido tu "splash screen" copiala en +<filename>/boot/splash.bmp</filename>. A continuación necesitas tener +un archivo <filename>/boot/loader.rc</filename> que contenga las siguientes +lí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ás de soportar los "splash screens" en formato PCX, +FreeBSD 3.2 incluye un mejor sistema de configuración +del proceso de arranque. Si quieres, puedes usar el método +señ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ón de arranque, +necesitas crear un archivo <filename>/boot/loader.rc</filename> que contenga +las siguientes lí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á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ía en <ulink URL="http://www.cslab.vt.edu/~jobaldwi/splash/">http://www.cslab.vt.edu/~jobaldwi/splash/</ulink>.</para> + +</sect1> +</chapter> + +<chapter +id="networking"> +<title>Networking</title> + + +<sect1> +<title>¿Dónde puedo encontrar información sobre "diskless booting"?</title> + +<para>"Diskless booting" significa que una máquina FreeBSD sea +arrancada sobre una red, y lea los ficheros necesarios de un servidor y no +desde su disco duro. Para más detalles, por favor, lee la +sección <ulink URL="../../handbook/diskless.html">diskless booting del manual</ulink></para> + +</sect1> + +<sect1> +<title> ¿Puede una máquina FreeBSD ser usada como router dedicado? + </title> + +<para>Los estandards de Internet y las buenas prácticas de +ingeniería nos prohiben proveer el forward de paquetes en la +distribución estandard. Aun así, puedes activar esta +opción cambiando la siguiente variable a <acronym>YES</acronym> en el fichero +<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ón pondrá 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én necesitarás ejecutar un proceso +de rutado para indicar la existencia en la red de tu router; FreeBSD +incluye el daemon estandard de rutado BSD +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?routed">routed</ulink> +, aunque en situaciones más complejas quizás quieras usar +<emphasis>GaTeD</emphasis> disponible por ftp en <filename>ftp.gated.Merit.EDU</filename>.</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> + +</sect1> + +<sect1> +<title>¿Puedo conectar mi Win95 con Internet a través de FreeBSD?</title> + +<para>Tí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 +ordenador con Windows 95. Este es realmente un caso especial de la +pregunta anterior.</para> + +<para>Hay un ú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ás, dependiendo del +número de máquinas que quieras conectar. Como alternativa, +si no tienes una direcció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én la sección <xref linkend="direct-at" remap="natd">.</para> + +</sect1> + +<sect1> +<title> ¿Por que falla la compilación del último BIND del ISC? + </title> + +<para>Hay un conflicto entre el fichero <filename>cdefs.h</filename> incluido en la +distribución de BIND y el distribuido con FreeBSD. Solo tienes que +borrar <filename>compat/include/sys/cdefs.h</filename>.</para> + +</sect1> + +<sect1> +<title>¿Soporta FreeBSD SLIP y PPP?</title> + +<para>Sí. 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á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> + +</sect1> + +<sect1 +id="natd"> +<title> ¿Soporta FreeBSD NAT o Masquerading? + </title> + +<para>Si tienes una red local (una o más máquinas), pero solo +se te ha asignado una única dirección IP desde tu proveedor +de Internet (o si recibes las direcciones de manera diná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ó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és del +parámetro -alias. La <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?libalias">librería alias</ulink> es usada en ambos casos.</para> + +</sect1> + +<sect1 +id="userppp"> +<title> El ppp no funciona. ¿Qué estoy haciendo mal? + </title> + +<para>Primero deberí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ó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ía ser tecleado en el prompt del <emphasis remap=bf>ppp</emphasis> o +incluirse en el fichero de configuración <filename>/etc/ppp/ppp.conf</filename> +(al inicio de la sección <emphasis remap=bf>default</emphasis> es el mejor lugar). +Asegurate que el fichero +url="http://www.FreeBSD.org/cgi/man.cgi?syslog.conf" +name="/etc/syslog.conf"> contiene las siguientes líneas:</para> + +<para> +<literallayout> !ppp + *.* /var/log/ppp.log + </literallayout> +</para> + +<para>y que el fichero <filename>/var/log/ppp.log</filename> existe. Puedes +encontrar mucha información sobre lo que está pasando en las +conexiones con el fichero de log.</para> + +<para>Si tu versión de ppp no entiende el comando "set log" +deberías bajarte la +<ulink URL="http://www.FreeBSD.org/~brian">última versión</ulink>. Esta compilará sin problemas en FreeBSD 2.1.5 y +superiores.</para> + + +<sect2> +<title>PPP no quiere marcar en modo -auto</title> + +<para>Primero, asegúrate de tener una ruta por defecto. Ejecutando +el comando url="http://www.FreeBSD.org/cgi/man.cgi?netstat"> +name="netstat -rn"> deberí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ágina man o del fichero de ejemplo ppp.conf.sample. Si no +tienes una ruta por defecto, puede ser por que estés usando una +versió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 fichero ppp.conf. Si +tu versión de <emphasis remap=bf>ppp</emphasis> es de antes de FreeBSD 2.2.5, cambia la +lí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ón para la inexistencia de la ruta por defecto es que +sin darte cuenta hayas creado un default router en el fichero +/etc/rc.conf (anteriormente llamado <filename>/etc/sysconfig</filename>) y +hayas omitido la línea</para> + +<para> +<literallayout> delete ALL + </literallayout> +</para> + +<para>en el fichero <filename>ppp.conf</filename>. Si es este el caso vuelve a la +sección +<ulink URL="../../handbook/ppp-and-slip.html#USERPPP-FINAL.html">configuración final del sistema</ulink> en el handbook.</para> + +</sect2> + +<sect2> +<title>¿Qué significa "No route to host"?</title> + +<para>Este error se debe normalmente a la falta de la sección</para> + +<para> +<literallayout> MYADDR: + delete ALL + add 0 0 HISADDR + </literallayout> +</para> + +<para>en el fichero <filename>/etc/ppp/ppp.linkup</filename>. Esto es solo +necesario si tienes una direccion IP dinámica o no sabes la +dirección de tu gateway. Si está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ásate por la sección +<ulink URL="../../handbook/ppp-and-slip.html#USERPPP-DYNAMICIP">PPP y direcciones IP dinámicas</ulink> del handbook para +más información.</para> + +</sect2> + +<sect2> +<title>Mi conexión se corta pasados 3 minutos</title> + +<para>El timeout de ppp por defecto es de 3 minutos. Se puede ajustar +con la línea:</para> + +<para> +<literallayout> set timeout NNN + </literallayout> +</para> + +<para>Donde <acronym>NNN</acronym> es el número de segundos de inactividad antes +de cerrar la conexión. Si <acronym>NNN</acronym> es 0, la conexión no +se cerrará nunca por timeout. Es posible poner este comando en +el fichero <filename>ppp.conf</filename>, o teclearla en el prompt del modo +interactivo. +También es posible ajustarla en cualquier momento mientras la +conexión esté 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ás detalles.</para> + +</sect2> + +<sect2> +<title>Mi conexión se corta en situaciones de carga</title> + +<para>Si tienes la opción Link Quality Reporting (LQR) configurada +es posible que demasiados paquetes LQR se pierdan entre tu +máquina y el remoto. PPP deduce que la línea es mala y +corta la conexión. En versiones anteriores a la 2.2.5 de +FreeBSD, LQR estaba activado por defecto. Ahora está desactivado +por defecto. LQR puede ser activado con la línea</para> + +<para> +<literallayout> disable lqr + </literallayout> +</para> + +</sect2> + +<sect2> +<title>Mi conexión se corta en periodos aleatorios</title> + +<para>Algunas veces, en líneas telefónicas de baja calidad +o con mucho ruido, o líneas con la opción de llamada en +espera activada, el módem corta la conexión por que +piensa (erróneamente) que ha perdido la portadora.</para> + +<para>Hay una opción en muchos modems para determiar la tolerancia +a pérdidas temporales de portadora. En un USR Sportster por +ejemplo, esta es medida por el registro S10 en décimas de +segundo. Para hacer que tu módem sea más resistente, +puedes añ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ódem para más detalles.</para> + +</sect2> + +<sect2> +<title>No ocurre nada después del mensaje Login OK</title> + +<para>En versiones anteriores a FreeBSD 2.2.5, una vez estaba la +conexión establecida, +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink> espera a que el remoto inicie la negociación LCP +(Line Control Protocol). Muchos proveedores de Internet no +iniciarán la negociació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í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á activo por defecto. De todas maneras, la siguiente +sección explica cuando pueden haber problemas.</para> + +</sect2> + +<sect2> +<title>Sigo teniendo errores sobre el parámetro magic</title> + +<para>Ocasionalmente, justo después de la conexió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ón. Algunas +implementaciones de ppp no pueden solucionar este problema, y, +aunque parezca que la conexión está establecida, +verás repetidas peticiones y aceptaciones de +configuración en el fichero de log hasta que una de las dos +partes cierra la conexión.</para> + +<para>Esto ocurre normalmente en servidores con disco lentos que +tienen problemas para gestionar eficientemente los puertos +serie. También existen informes de problemas en conexiones +mediante slip. La razó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ía +activo en el puerto del servidor, el cliente ppp lo único que +ve son sus propios paquetes "reflejados" por el servidor.</para> + +<para>Una parte de la negociación LCP es establecer un número +má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ía paquetes LCP, ve que el mismo +"magic" vuelve en el paquete reflejado y lo da como no válido +(envia NAK). +Este todavía ve el paquete reflajado con NAK (lo que significa +que el ppp debe cambiar su "magic"). Esto produce un enorme +nú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úmero suficiente de negociaciones LCP y +corta la conexión. Mientras tanto, el cliente, que ya no ve los +paquetes reflejados, recibe sin problemas la desconexión del +servidor y también cierra la conexión.</para> + +<para>Esto puede ser resuelto permitiendo que el remoto inicie la +negociación, poniendo la siguiente línea en el fichero +ppp.conf:</para> + +<para> +<literallayout> set openmode passive + </literallayout> +</para> + +<para>Esto indica al ppp que espere a que el servidor comience la +negociación LCP. Es posible que algunos servidores nunca inicien +la negociació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ía +peticiones durante este periodo, ppp responderá inmediatamente +sin esperar los 3 segundos establecidos.</para> + +</sect2> + +<sect2> +<title> Las negociaciones LCP continuan hasta que se cierra la conexión</title> + +<para>Existe actualmente un problema de implementación en <emphasis remap=bf>ppp</emphasis> +en la que no asocia las respuestas LCP, CCP & IPCP con sus +peticiones originales. Como resultado, si una implementación +<emphasis remap=bf>ppp</emphasis> es mas lenta durante 6 segundos que la remota, la remota +enviará dos peticiones de configuració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é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ínea tiene el +ECHO desactivado, si no, veriamos los problemas de "magic number" +descritos en el apartado anterior. <emphasis remap=bf>B</emphasis> envía un REQ, y a +continuación enví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ía un ACK +(el primero) a <emphasis remap=bf>B</emphasis>. Mientras, <emphasis remap=bf>B</emphasis> devuelve dos ACKs mas 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í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ó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ón. Esto puede realizarse +con el comando:</para> + +<para> +<literallayout> set openmode passive + </literallayout> +</para> + +<para>Se debe tener cuidado con esta opción. También se puede +usar:</para> + +<para> +<literallayout> set stopped N + </literallayout> +</para> + +<para>para limitar el número de veces que <emphasis remap=bf>ppp</emphasis> espera a que el +remoto comience la negociació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úmero de segundos que espera antes de empezar +la negociación. Mira en el manual para más detalles.</para> + +</sect2> + +<sect2> +<title>Ppp se bloquea al conectar</title> + +<para>Antes de la versión 2.2.5 era posible que la conexión +se corte nada más iniciarse debido a un problema en la +negociación de compresión Predictor1. Esto solo pasa si +las dos partes intentan negociar con diferentes protocolos de control +de compresión (CCP). +Este problema ya está corregido, pero si estás usando +una versión antigua de <emphasis remap=bf>ppp</emphasis>, el problema puede solucionarse +con la línea</para> + +<para> +<literallayout> disable pred1 + </literallayout> +</para> + +</sect2> + +<sect2> +<title>Ppp se bloqua al abrir un shell de test</title> + +<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á esos +argumentos). Ppp esperará a que se complete el comando antes de +continuar. Si intentas usar la conexión ppp mientras se ejecuta +el comando, parecerá que la conexión se ha colgado. Esto +es por que <emphasis remap=bf>ppp</emphasis> está esperando a que se complete la +ejecución del comando.</para> + +<para>Si quieres ejecutar comandos como este, usa el comando <emphasis remap=tt>!bg</emphasis> en +su lugar. Esto ejecutará el comando en background, y ppp +continúa sin problemas con la conexión.</para> + +</sect2> + +<sect2> +<title>Ppp sobre un cable null-modem no funciona</title> + +<para>No hay manera que <emphasis remap=bf>ppp</emphasis> detecte automáticamente que una +conexión directa se ha cortado. Es debido a las líneas +que se usan en un cable serie null-modem. Cuando usamos este tipo de +conexión, LQR deberí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> + +</sect2> + +<sect2> +<title>¿Por que llama sin motivo el ppp en modo -auto?</title> + +<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ínea:</para> + +<para> +<literallayout> set log +tcp/ip + </literallayout> +</para> + +<para>Esto guardara todo el tráfico que pase a través de la +conexión. +La próxima vez que se realice una llamada no deseada, +podrá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ínea (esto no hará que los paquetes de DNS +queden parados cuando la conexión está 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ón.</para> + +<para>En el caso del DNS, deberías determinar que es lo que +está 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ón <xref linkend="ispmail" remap="Configuracion de correo"> para +tener más detalles acerca de como crear una fichero propio de +configuración de sendmail. También deberías +añadir la siguiente línea en tu fichero <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 fichero ppp.linup).</para> + +</sect2> + +<sect2> +<title>¿Qué significan estos errores CCP?</title> + +<para>Sigo viendo los siguientes errores en el fichero de log:</para> + +<para> +<literallayout> CCP: CcpSendConfigReq + CCP: Received Terminate Ack (1) state = Req-Sent (6) + </literallayout> +</para> + +<para>Esto es porque ppp está intentando negociar compresión +Predictor1, y el remoto no quiere negociar ningún tipo de +compresión. Estos mensajes son sin importancia, pero si quieres +eliminarlos, puedes desactivar la compresión Predictor1 +localmente:</para> + +<para> +<literallayout> disable pred1 + </literallayout> +</para> + +</sect2> + +<sect2> +<title>PPP se cuelga durante transferencia de ficheros con errores I/OP</title> + +<para>En la versión FreeBSD 2.2.2 y anteriores, había un +problema en el driver tun que no permitía paquetes entrantes con +un tamaño mayor que el MTU del interface. La recepción de +un paquete mayor que el MTU resulta en un error IO que es logueado +vía syslogd.</para> + +<para>La especificación PPP dice que un MRU de 1500 <emphasis remap=bf>siempre</emphasis> +debería ser aceptada como mí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é enviando +paquetes de 1500, haciendo que tu conexión se bloquee.</para> + +<para>El problema puede solucionarse haciendo que el tamaño del +MTU nunca sea inferior a 1500 bajo FreeBSD 2.2.2 y anteriores.</para> + +</sect2> + +<sect2> +<title>¿Por que ppp no loguea la velocidad de la conexión?</title> + +<para>Para loguear todas las líneas de "conversación" de tu +módem, debes activar la siguiente opción:</para> + +<para> +<literallayout> set log +connect + </literallayout> +</para> + +<para>Esto hará que +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink> +loguee todo hasta la última cadena "expect" pedida.</para> + +<para>Si quieres ver la velocidad de tu conexión y usas PAP o CHAP +(y por lo tanto no tienes nada que "chatear" después del CONNECT +en el script de marcado), debes estar seguro de indicarle al ppp que +espera la lí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í, tenemos nuestro CONNECT, enviamos nada, y esperamos un +salto de línea, forzando al <emphasis remap=bf>ppp</emphasis> que lea la respuesta del +CONNECT.</para> + +</sect2> + +<sect2> +<title>Ppp ignora el carácter `\' en mi chat script</title> + +<para>PPP lee cada línea de los ficheros de configuración +para poder interpretar cadenas como <emphasis remap=tt>set phone "123 456 789"</emphasis> +correctamente. +Para especificar un carácter ``"'', debes usar la contrabarra +(``\'').</para> + +<para>Cuando el inté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úmero correcto de escapes (contrabarras).</para> + +<para>Si quieres enviar un caracter ``\'' a tu mó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> + +</sect2> + +<sect2> +<title>Ppp produce un seg-fault, pero no veo el fichero <filename>ppp.core</filename></title> + +<para>Ppp (o cualquier otro programa de este tipo), nunca deberían +hacer un core dump. Por que ppp funciona con un id de usuario 0, +el sistema operativo no escribirá la imagen del core en disco. +Si ppp termina con errores de "segmentation violation" o cualquier +otra señal que normalmente causa un core dumped, y quieres poder +hacer un debug de ese core, asegúrate de usar la última +versión de ppp, y haz lo siguiente:</para> + +<para> +<literallayout> $ tar xfz ppp-*.src.tar.gz + $ cd ppp*/ppp + $ echo STRIP= >>Makefile + $ echo CFLAGS+=-g >>Makefile + $ make clean all + $ su + # make install + # chmod 555 /usr/sbin/ppp + </literallayout> +</para> + +<para>Ahora tendrás instalada una versión "debuggable" de +ppp. Tendrá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ón de segmentación +, creará un fichero core llamado ppp.core. A continuación +, deberí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ón puede hacer posible diagnosticar el +problema. Si estás familiarizado con gdb, puedes encontrar otras +pistas como que causó el dump y las direcciones y valores de las +variables más relevantes.</para> + +</sect2> + +<sect2> +<title> El proceso que fuerza una llamada en modo auto nunca funciona + </title> + +<para>Este es un problema conocido cuando <emphasis remap=bf>ppp</emphasis> está configurado +para negociar una IP dinámica local con el remoto. Este +problema ha sido solucionado en la última versió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ón. Si, como resultado de la +asignación dinámica de IP, la dirección del +interface es cambiada, el punto final del socket original será +invalido. Los siguientes paquetes enviados al remoto normalmente +serán descartados. Aun si no lo son, cualquier respuesta no +será enrutada hacia la máquina de origen por que la +dirección IP de la máquina de origen ha cambiado.</para> + +<para>Hay varias maneras teóricas de solucionar este problema. Lo +mejor sería que el remoto reasignase la misma IP si fuese +posible <emphasis remap=tt>:-)</emphasis> La versión actual de <emphasis remap=bf>ppp</emphasis> hace esto, +pero otras muchas implementaciones no.</para> + +<para>El método más sencillo desde nuestra parte, +serí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ámetro <option>-alias</option> de ppp.</para> + +<para>Otra alternativa (y probablemente la mas eficaz) es implementar +una llamada al sistema que cambie todos los sockets de una IP a +otra. <emphasis remap=bf>Ppp</emphasis> debería usar esta llamada para modificar los +sockets de todos los programas existentes cuando una nueva +dirección IP es negociada. La misma llamada de sistema +podría ser usada para clientes dhcp cuando son forzados +a rehacer sus sockets.</para> + +<para>Una tercera opción es permitir que un interface se active sin +IP. Los paquetes salientes tendrían un IP de 255.255.255.255 +hasta que el primer SIOCAIFADDR ioctl este hecho. Esto +permitirí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> + +</sect2> + +<sect2> +<title>¿Porqué muchos juegos no funcionan con el parámetro -alias?</title> + +<para>La razón por la que muchos de los juegos no funcionan es +por que la máquina externa intentará abrir una +conexión o enviar paquetes UDP (no solicitados) a la +máquina interna. El software "alias" no sabe que esos paquetes +debrín enviarse a la máquina interna.</para> + +<para>Para que las cosas funcionen, asegúrate que la única +cosa que está 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ís ver +paquetes que pasan a través del gateway. Cuando algo +vuelve del exterior, será rechazado (ese es el problema). +Apunta el número de puerto de esos paquetes y cierra el +software que no funciona. Haz esto varias veces para comprobar si +el número de puerto se repite. Si es así, la siguiente +línea en el fichero de configuración del ppp +/etc/ppp/ppp.conf hará 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áquina a la que quieres que los paquetes sean enviados y +"port" es el número de puerto de destino de los paquetes.</para> + +<para>No podrás usar ese software en otras máquinas sin +modificar el comando anterior, y ejecutar el software +simultaneamente en dos máquinas internas no será +posible - después de todo, el mundo exterior está +viendo a toda tu red como una sola máquina.</para> + +<para>Si los números de puertos no se repiten, hay tres opciones +má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én +prototipo). Esto usualmente supone leer ciertos paquetes salientes +conocidos, identificando la instrucción que le indica a la +máquina exterior que inicie una conexión con la +máquina interna en un puerto especí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ón más difícil, pero es la +mejor y hará que el software funcione con múltiples +máquinas.</para> + +<para><emphasis remap=bf>2)</emphasis> Usar un proxy. La aplicación debe soportar +socks5 por ejemplo, o (como en el caso del "cvsup") debería +tener una opció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áfico a la máquina +interna usando "alias addr". Esta es la solución más +sencilla.</para> + + +<sect3> +<title>¿Ha hecho alguien una lista de puertos útiles?</title> + +<para>Todavía no, pero se podría hacer, si hay +interés. En cada ejemplo, <emphasis remap=tt>internal</emphasis> debe ser +reemplazado por la dirección IP de la má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ás estés interesado en +mirar en el +<ulink URL="http://www.battle.net/support/proxy/">www.battle.net</ulink>soporte de Quake a través de proxy">.</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> + +</sect3> +</sect2> + +<sect2> +<title>¿Qué son los errores FCS?</title> + +<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ñ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ón es mala (o si tu driver serie está +rechazando paquetes), verás errores FCS ocasionales. En general +no tienes porque preocuparte de ellos. Si tienes un módem +externo, asegúrate que el cable está correctamente +aislado de interferencias - esto debería erradicar el problema.</para> + +<para>Si tu conexión se corta tan pronto como has conectado y ves +gran cantidad de errores FCS, puede ser por que ti conexión no +es de 8 bits. Asegúrate de que tu módem no está +usando control de flujo (XON/XOFF) por software. Si tu conexió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ácteres ^Q y ^S.</para> + +<para>Otra razón para ver muchos errores FCS puede ser que el +remoto haya dejado de "hablar" <acronym>PPP</acronym>. Deberís activar el +log así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ón, es posible terminar el ppp sin +cortar la conexión usando el comando <emphasis remap=tt>close clp</emphasis> (usando +el comando <emphasis remap=tt>term</emphasis> podrás conectar de nuevo con el shell +de la máquina remota.</para> + +<para>Si no hay nada en el log que indique por que se ha terminado la +conexión, deberís preguntar al administrador del +sistema remoto porqué ha terminado la sesión.</para> + +</sect2> + +<sect2> +<title>Nada de esto me ayuda - Estoy desesperado !</title> + +<para>Si todo falla, envía toda la información que puedas, +incluyendo los ficheros de configuración, como arrancas el ppp, +las partes relevantes del fichero 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ón) a la lista +de distribució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á a +solucionar los problemas.</para> + +</sect2> +</sect1> + +<sect1> +<title>No puedo crear el dispositivo <filename>/dev/ed0</filename>!</title> + +<para>En el sistema de trabajo de red de Berkeley, los interfaces de +red solo son directamente accesibles por el código del kernel. Por +favor, mira el fichero <filename>/etc/rc.network</filename> y los man de los +programas de red allí mencionados. Si esto te deja totalmente +confundido, entonces tendrías que conseguir algun libro de +administración de red de cualquier sistema operativo basado en BSD; +con algunas excepciones significativas, administrar el sistema de red +en FreeBSD es básicamente igual que en SunOS 4.0 o Ultrix.</para> + +</sect1> + +<sect1> +<title>¿Cómo puedo configurar alias de ethernets?</title> + +<para>Añ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> + +</sect1> + +<sect1> +<title>¿Cómo hago para usar el otro puerto de una 3C503?</title> + +<para>Si quieres usar los otros puertos, tendrás que especificar +pará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ían +que ser especificados usando las variable ifconfig_* en el fichero +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf">/etc/rc.conf</ulink>.</para> + +</sect1> + +<sect1> +<title>Tengo problemas con NFS desde/hacia FreeBSD.</title> + +<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 mas información sobre este tema.</para> + +</sect1> + +<sect1> +<title>¿Porqué no puedo hacer NFS-mount desde Linux?</title> + +<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> + +</sect1> + +<sect1> +<title>¿Porqué no puedo hacer NFS-mount desde una Sun?</title> + +<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> + +</sect1> + +<sect1> +<title>Tengo problemas usando ppp contra máquinas NeXTStep.</title> + +<para>Intenta desactivar las extensiones TCP en +url="http://www.FreeBSD.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf"> +cambiando la siguiente variable a NO:</para> + +<para> +<literallayout> tcp_extensions=NO + </literallayout> +</para> + +<para>Las máquinas Xylogic's Annex también tienen este +problema, por lo que tienes que hacer el mismo cambio para conectar con +ellas.</para> + +</sect1> + +<sect1> +<title>¿Cómo activo soporte de IP multicast?</title> + +<para>Las operaciones multicast están totalmente soportadas en FreeBSD +2.0 y superiores. Si quieres usar tu máquina como router multicast, +necesitarás cargar el módulo de kernel <symbol>ip_mrouted_mod</symbol> y +ejecutar el programa <emphasis remap=tt>mrouted</emphasis>.</para> + +<para>Para mas informació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> + +</sect1> + +<sect1> +<title>¿Qué tarjetas de red están basadas en el chipset DEC PCI?</title> + +<para>Aquí 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> + +</sect1> + +<sect1> +<title>¿Porqué tengo que usar el FQDN para hosts en mi servidor?</title> + +<para>Probablemente el host estará en un dominio diferente; por +ejemplo, si estás en el dominio foo.bar.edu y quieres encontrar +un host llamado "mumble" en el dominio bar.edu, tendrá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ó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> + +</sect1> + +<sect1> +<title>``Permission denied'' para todas las operaciones de red. + </title> + +<para>Si tienes el kernel compilado con la opción <acronym>IPFIREWALL</acronym> +. debes tener en cuenta que la política por defecto es denegar +explícitamente todos los paquetes que no están +explí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 mas información en la configuración del firewall +de FreeBSD, mira la sección +<ulink URL="../../handbook/firewalls.html">del manual</ulink>.</para> + +</sect1> + +<sect1> +<title>¿Cuanto tiempo retrasa IPFW el tráfico?</title> + +<para>Esta respuesta depende mucho en las reglas definidas y en la +versión del procesador. Para la mayoría de aplicaciones +que tienen que ver con la ethernet y pequeñas reglas, la +respuesta es, prácticamente nada.</para> + +<para>Aquí 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í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ás usadas antes de las menos usadas +(<emphasis remap=bf>sin modificar la permisividad del firewall</emphasis>). Puedes ver cuales +son las reglas más usadas examinando los contadores de paquetes +con la orden <command>ipfw -a l</command>. +</para> +</listitem> + +</itemizedlist> +</para> + +</sect1> + +<sect1> +<title>¿Cómo puedo redirigir peticiones de una máquina a otra?<(/heading> + </title> + +<para>Puedes redirigir peticiones FTP (y otros servicios) con el package +"socket", disponible en la colección de ports categoría +"sysutils". +Simplemente tienes que reemplazar la línea del servicio +correspondiente en el fichero /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áquina y puerto +de destino.</para> + +</sect1> + +<sect1> +<title>¿Dónde puedo conseguir una herramienta de control de ancho de banda?.</title> + +<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> + +</sect1> + +<sect1> +<title>¿Porqué aparece "/dev/bpf0: device not configured"? + </title> + +<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ñade esto al +fichero de configuración de tu kernel y crea uno nuevo:</para> + +<para> +<literallayout> pseudo-device bpfilter # Berkeley Packet Filter + </literallayout> +</para> + +<para>A continuación, después de rebotar tendrá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ás +información sobre la creación de dispositivos.</para> + +</sect1> +</chapter> + +<chapter +id="serial"> +<title>Comunicaciones serie</title> + +<para>Esta sección responde las preguntas mas frecuentes sobre las +comunicaciones serie con FreeBSD. PPP y SLIP se tratan en la +sección <xref linkend="networking" remap="Networking">.</para> + + +<sect1> +<title>¿Cómo se si FreeBSD ha encontrado mis puertos serie?</title> + +<para>Cuando el kernel de FreeBSD arranca, testeará los puertos serie +del sistema que estén configurados en el kernel. Puedes estar +atento a los mensajes de la cónsola o ejecutar el comando:</para> + +<para> +<literallayout> dmesg | grep sio + </literallayout> +</para> + +<para>una vez el sistema esté en funcionamiento.</para> + +<para>Aquí tienes un ejemplo del resultado de la ejecució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ón <literal>0x3f8</literal>, y tiene una UART 16550A. El segundo usa +el mismo tipo de chip pero está en la irq 3 y usa la +dirección <literal>0x2f8</literal>. Los módems internos son tratados +como puertos serie, exceptuando que siempre tienen un módem +adjuntado al puerto.</para> + +<para>El kernel <acronym>GENERIC</acronym> incluye soporte para dos puertos serie +usando la misma irq y dirección que en el ejemplo anterior. Si +estas opciones no son correctar para tu sistema, o si has añadido +módems internos o tienes más puertos serie de los que +están configurados en el kernel, solo tienes que reconfigurar el +kernel. Mira en la sección +<xref linkend="make-kernel" remap="about building a kernel"> para más +detalles.</para> + +</sect1> + +<sect1> +<title>¿Cómo se si FreeBSD ha encontrado mi módem interno?</title> + +<para>Respondido en la sección anterior.</para> + +</sect1> + +<sect1> +<title>He actualizado a 2.0.5 y mi <emphasis remap=tt>tty0X</emphasis> no existen!</title> + +<para>No te preocupes, han sido integrados en los dispositivos <emphasis remap=tt>ttydX</emphasis>. +Tendrás que modificar algunos ficheros antiguos de +configuración.</para> + +</sect1> + +<sect1> +<title>¿Cómo accedo a los puertos serie en FreeBSD?</title> + +<para>El tercer puerto serie, <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio">sio2</ulink> (conocido +como COM3 en DOS), está en <filename>/dev/cuaa2</filename> para dispositivos de +salida (dial-out) y en <filename>/dev/ttyd2</filename> para dispositivos de +entrada (dial-in). Cuá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á 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á +en uso por un dispositivo <emphasis remap=tt>ttydX</emphasis>. Si el puerto está 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ón de portadora. Con este +esquema, y un módem en respuesta automática, puedes +recibir usuarios remotos y puedes hacer conexiones externas con el mismo +módem, mientras el sistema se preocupa de evitar los posible +conflictos.</para> + +</sect1> + +<sect1> +<title>¿Cómo activo el soporte de tarjetas serie multipuerto?</title> + +<para>Otra vez, en la sección de configuración del kernel +tienes la información. Para una tarjeta multipuerto, pon una +línea <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio">sio</ulink> para cada puerto serie de la tarjeta en el fichero de +configuración del kernel. Especifica la irq y vector solo en una +de las líneas. +Todos los puertos de la tarjeta compartirán la misma irq. Por +consistencia, usa el último puerto serie para especificar la irq. +De la misma manera, especifica la opció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úmero menor +de 7 (<literal>0x700</literal>), los diagnósticos están activados durante +el testeo (<literal>0x080</literal>), y los puertos comparten una irq (<literal>0x001</literal>).</para> + +</sect1> + +<sect1> +<title>¿Puede manejar FreeBSD tarjetas multipuerto compartiendo irq?</title> + +<para>Todavía no. Tendrás que usar una irq diferente para cada +tarjeta.</para> + +</sect1> + +<sect1> +<title>¿Puedo cambiar los parámetros serie por defecto para un puerto?</title> + +<para>El dispositivo <emphasis remap=tt>ttydX</emphasis> (o <emphasis remap=tt>cuaaX</emphasis>) es el que querrás abrir +para tus aplicaciones. Cuando un proceso abre el dispositivo, +tendrá 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ón a este dispositivo, este cambio +se mantiene hasta que el dispositivo se cierra. Cuando se reabre, +vuelve a la configuración por defecto. Para hacer cambios sobre la +configuració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ón tendrá esta configuración por +defecto cuando abra el puerto <emphasis remap=tt>ttyd5</emphasis>.</para> + +<para>También puedes prevenir o limitar ciertos cambios que pretenda +hacer una aplicació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ón que abre <emphasis remap=tt>ttyd5</emphasis> e intenta cambiar la +velocidad del puerto no podrá hacerlo.</para> + +<para>Naturalmente, deberí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> + +</sect1> + +<sect1> +<title>¿Cómo puedo activar logins de entrada en mi módem?</title> + +<para>Quieres hacerte proveedor de Internet, eh?. Primero, +necesitarás uno o mas módems que puedan responder +automáticamente. Tu módem necesitará activar el +carrier-detect sólo cuando detecte una portadora y no tenerla +activada continuamente. Necesitará cortar la comunicación +y resetearse él mismo cuando la línea <acronym>DTR</acronym> pase de on +a off. +Probablemente usaría <filename>RTS/CTS</filename> para el control de flujo. +Finalmente, debe usar una velocidad constante entre el ordenador y +él mismo, pero debería negociar la velocidad entre +él mismo y el módem remoto.</para> + +<para>Para muchos módems compatibles Hayes, este comando +creará estas configuraciones y las grabará en la memoria no +volátil:</para> + +<para> +<literallayout> AT &C1 &D3 &K3 &Q6 S0=1 &W + </literallayout> +</para> + +<para>Mira la sección <xref linkend="direct-at" remap="enviar comandos AT"> +para saber como enviar estas configuraciones al módem sin +necesidad de un programa terminal de DOS.</para> + +<para>A continuación, añade una línea en el fichero +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink> +para el módem. Este fichero lista todos los puertos en los que el +sistema operativo esperará los logins. La línea +sería como esta:</para> + +<para> +<literallayout> ttyd1 "/usr/libexec/getty std.57600" dialup on insecure + </literallayout> +</para> + +<para>Esta línea indica que el segundo puerto serie +<filename>/dev/ttyd1</filename> tiene un mó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á "on" y es inseguro (lo que significa que los logins +como root no son permitidos).</para> + +<para>Muchos usuarios, ponen un sus ficheros .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 fichero <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>, +necesitas lanzar una señ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 fichero <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>. +El proceso init arrancará los procesos getty en todos los puertos +configurados como "on". Puedes ver si los logins están disponibles +en los puertos tecleando:</para> + +<para> +<literallayout> ps -ax | grep '[t]tyd1' + </literallayout> +</para> + +<para>deberías ver algo como:</para> + +<para> +<literallayout> 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 + </literallayout> +</para> + +</sect1> + +<sect1> +<title>¿Cómo puedo conectar un dumb terminal a un FreeBSD?</title> + +<para>Si estás usando otro ordenador como terminal en tu sistema +FreeBSD, usa un cable null módem entre los dos puertos serie. Si +ya estás usando un terminal, mira en las instrucciones del mismo.</para> + +<para>A continuación, modifica el fichero +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink> +Por ejemplo, si estás instalando un terminal WYSE-50 en el quinto +puerto serie, usa una lí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> + +</sect1> + +<sect1> +<title>¿Porqué no puedo ejecutar <emphasis remap=tt>tip</emphasis> o <emphasis remap=tt>cu</emphasis>?</title> + +<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ódem o sistemas remotos. +Sólo tienes que añ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> + +</sect1> + +<sect1> +<title>Mi módem hayes no está soportado. ¿Que puedo hacer?</title> + +<para>Actualmente, el man de <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> está +anticuado. Hay un dialer Hayes genérico. Solo usa +``<literal>at=hayes</literal>'' en tu fichero <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ísticas avanzadas de los módems modernos, +mensajes como <acronym>BUSY</acronym>, <emphasis remap=tt>NO DIALTONE</emphasis> o <emphasis remap=tt>CONNECT 115200</emphasis> lo +pueden confundir. +Deberí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&W</emphasis>).</para> + +<para>También, el timeout de llamada para <emphasis remap=tt>tip</emphasis> está en 60 +segundos. Tu módem debería usar algo menor, o tip puede +pensar que hay un problema de comunicación. Intenta con +<literal>ATS7=45&W</literal>.</para> + +</sect1> + +<sect1 +id="direct-at"> +<title> ¿Cómo puedo introducir estos comandos AT? + </title> + +<para>Haz lo que se llama una entrada <emphasis remap=tt>directa</emphasis> en el fichero +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. Por ejemplo, si tu módem está +conectado al primer puerto serie, <filename>/dev/cuaa0</filename>, escribe la +siguiente línea:</para> + +<para> +<literallayout> cuaa0:dv=/dev/cuaa0:br#19200:pa=none + </literallayout> +</para> + +<para>Usa la velocidad más alta que soporte tu módem en la +sección br. +A continuación teclea <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip cuaa0</ulink> +y estarás conectado al mó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ámetros:</para> + +<para> +<literallayout> # cu -l``line'' -s``speed'' + </literallayout> +</para> + +<para>con line siendo el puerto serie (por ejemplo <filename>/dev/cuaa0</filename>>) +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> + +</sect1> + +<sect1> +<title>El símbolo <email>@</email> no funciona correctamente!</title> + +<para>El símbolo <email>@</email> en la opción de números de +teléfono indica a tip que busque en el fichero <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?phones(5)">phone(5)</ulink> un +número de teléfono determinado. Pero el símbolo +<email>@</email> es también un carácter especial en otros ficheros y +opciones como <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. Pon una contrabarra junto al carácter:</para> + +<para> +<literallayout> pn=\@ + </literallayout> +</para> + +</sect1> + +<sect1> +<title>¿Cómo puedo llamar desde la línea de comandos?</title> + +<para>Pon lo que se llama una entrada <emphasis remap=tt>genérica</emphasis> en el fichero +<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é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> + +</sect1> + +<sect1> +<title>¿Tengo que teclear la velocidad cada vez que hago esto?</title> + +<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> + +</sect1> + +<sect1> +<title>Accedo a diferentes hosts a través de un servidor de terminales.</title> + +<para>En lugar de esperar a que estés conectado y teclear +<emphasis remap=tt>CONNECT <host></emphasis> cada vez, usa la opción <emphasis remap=tt>cm</emphasis> de tip. +Por ejemplo, estas entradas en el fichero <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á que puedas teclear <emphasis remap=tt>tip pain</emphasis> o <emphasis remap=tt>tip muffin</emphasis> +para conectarte a las máquinas pain o muffin.</para> + +</sect1> + +<sect1> +<title>¿Puede tip intentar más de una línea para cada lugar?</title> + +<para>Este es un problema habitual en universidades con diferentes +líneas de módem y unos cientos de usuarios intentado +usarlas...</para> + +<para>Haz una entrada para tu universidad en el fichero <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink> +y usa <email>\@</email> para la opció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úmeros de teléfono de la +universidad en el fichero <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á cada uno de estos números en el +orden en el que estén listados. Si quieres que se realicen +reintentos, ejecuta <emphasis remap=tt>tip</emphasis> en una bucle while.</para> + +</sect1> + +<sect1> +<title>¿Porqué tengo que teclea CTRL+P dos veces para enviar CTRL+P una vez?</title> + +<para>CTRL+P es el cará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óximo carácter es un dato literal. Puedes +configurar el carácter "forzar" a cualquier otro carácter +con el escape <emphasis remap=tt>~s</emphasis>, el cual significa "poner una variable".</para> + +<para>Teclea <literal>~sforce=<single-char></literal> seguido de una nueva +línea. <emphasis remap=tt><single-char></emphasis> es cualquier carácter +simple. Si dejas libre <emphasis remap=tt><single-char></emphasis> entonces el +carácter de forzar es el caracter nul, al cual puedes acceder +tecleando CTRL+2 o CTRL+SPACE. Un valor más adecuado para +<emphasis remap=tt><single-char></emphasis> es SHIFT+CTRL+6, el cual solo es usado en +algunos servidores de terminales.</para> + +<para>Puedes tener el carácter de forzar donde quieras, especificando +lo siguiente en tu fichero <filename>$HOME/.tiprc</filename></para> + +<para> +<literallayout> force=<single-char> + </literallayout> +</para> + +</sect1> + +<sect1> +<title>De repente, todo lo que tecleo es en mayúsculas</title> + +<para>Has debido pulsar CTRL+A, <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> tiene este +carácter especial para gente que tenga la tecla caps-lock +estropeada. Usa <emphasis remap=tt>~s</emphasis> como en la sección anterior y pon la +variable "raisechar" a un valor razonable. De hecho, puedes ponerla al +mismo valor que que el carácter de forzar, si no esperas usar +estas características.</para> + +<para>Aqui hay un ejemplo del fichero .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> + +</sect1> + +<sect1> +<title>¿Cómo puedo hacer transferecia de ficheros con <emphasis remap=tt>tip</emphasis>?</title> + +<para>Si estás conectado con otro sistema UNIX, puedes enviar y +recibir ficheros 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 ficheros. La sintaxis es:</para> + +<para> +<literallayout> ~p <local-file> [<remote-file>] + ~t <remote-file> [<local-file>] + </literallayout> +</para> + +<para>No hay chequeo de errores, por lo que es mejor usar otro protocolo +como zmodem.</para> + +</sect1> + +<sect1> +<title>¿Cómo puedo usar zmodem con <emphasis remap=tt>tip</emphasis>?</title> + +<para>Primero, instala uno de los programas zmodem de la colecció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 ficheros, inicia el programa de envío en la parte +remota. A continuació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 ficheros, inicia el programa de recepción en la +parte remota. A continuación pulsa enter y teclea +<emphasis remap=tt>~C sz <files></emphasis>'' (o <emphasis remap=tt>~C lsz <files></emphasis>) para enviarlos +al sistema remoto.</para> + +</sect1> + +<sect1> +<title>FreeBSD parece que no puede encontrar mis puertos series aún cuando la configuración es correcta.</title> + +<para>Las placas bases y tarjetas con UARTs de Acer no son detectadas +correctamente por FreeBSD durante la fase de detecció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> + +</sect1> +</chapter> + +<chapter +id="misc"> +<title>Preguntas varias</title> + + +<sect1> +<title>FreeBSD usa más espacio de swap que Linux. Porqué?</title> + +<para>No lo hace. Deberías pensar "Porque mi swap parece lleno?". Si +esto es lo que realmente querías decir, es por que poniendo los +datos en swap en luar de descartarlos, hace que sea más +rápido recuperarlos que si el paginador tuviese que ir a +través del sistema de ficheros y usar bloques sin modificar desde +un ejecutable.</para> + +<para>La cantidad actual de páginas que puedes tener en el core en una +sola vez no es reducida; las páginas sin usar son desplazadas como +sea necesario.</para> + +</sect1> + +<sect1> +<title>¿Porqué usar (que son) a.out y ELF como formatos ejecutables?</title> + +<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ásico formato de objeto. Usa una corta y +compacta cabecera con un número má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ás detalles). Contiene tres segmentos +cargados: .text, .data y .bss más una tabla de símbolos +y una tabla de cadenas de carácteres.</para> +</listitem> + +<listitem> +<para><acronym>COFF</acronym> +</para> + +<para>El formato de objeto SVR3. La cabecera comprime una sección de +tablas, de manera que puedas tener más de una sola +sección .test, .data y .bss</para> +</listitem> + +<listitem> +<para><acronym>ELF</acronym> +</para> + +<para>El sucesor de <acronym>COFF</acronym>, ofreciendo múltiples secciones y +valores posibles de 32 o 64 bits. Un problema importante: <acronym>ELF</acronym> +fue diseñado con la presunción de que solo +existiría un único ABI por arquitectura de sistema. +Esta presunció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ón sobre el ABI con el que es compatible. Para más informació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ásico y tradicionalmente ha +utilizado el formato +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out</ulink>, una tecnología probada y testeada a través +de muchas generaciones de releases de BSD. También es posible +construir y ejecutar binarios nativos <acronym>ELF</acronym> (y kernels) en sistemas +FreeBSD. FreeBSD inicialmente se resistió al salto de cambiar a +<acronym>ELF</acronym> como su formato por defecto. Porqué?, bien, cuando el +mundo Linux hizo su transición a <acronym>ELF</acronym> no era nada fácil +abandonar el formato ejecutable <filename>a.out</filename> debido a su inflexible +mecanismo de tablas basadas en librerías compartidas. Esto hizo +muy difícil para los fabricantes y desarrolladores la +creación de librerías compartidas. A partir del momento en +el que se ofrecieron una serie de herramientas que ofrecían la +solución al problema de las librerías compartidas, el +coste de la migración fue aceptado como necesario y la +transición se hizo.</para> + +<para>En el caso de FreeBSD, el mecanismo de librerías compartidas +esta más basado en el estilo de SunOS, mucho más sencillo +de usar. De todas maneras, empezando con la version 3.0, FreeBSD +soportará 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én, la gente de GNU, que hacen las herramientas de +compilació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> + +</sect1> + +<sect1> +<title>¿Porqué chmod no puede cambiar los permisos de los links?</title> + +<para>Tienes que usar <option>-H</option> o <option>-L</option> junto con la opción <option>-R</option> +para que funcione. Para más información, mira la +pá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ón <option>-R</option> hace un <emphasis remap=tt>chmod</emphasis> +<acronym>RECURSIVO</acronym>. Ten cuidado al 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ó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í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> + +</sect1> + +<sect1> +<title>¿Porqué están los nombres de usuario restringidos a 8 caracteres?</title> + +<para>Pensarás que es fácil y suficiente con cambiar +<symbol>UT_NAMESIZE</symbol> y reconstruir el kernel, y todo volverá a +funcionar. Desafortunadamente hay aplicaciones y programas (incluyendo +herramientas de sistema) que tienen en el propio código (no +siempre 8 o 9, pero si 15 o 20) en estructuras, buffers... y +rompería los clientes de NIS de Sun y sin duda existirían +otros problemas interactuando con otros sistemas UNIX.</para> + +<para>En FreeBSD 3.0 y superiores, se ha incrementado el número +máxmimo de carácteres a 16 y todas esas utilidades con +longitud de carácteres prefijada han sido encontradas y +arregladas. El hecho de que este cambio afectase a muchas áreas +del sistema es el motivo por el que el cambio no se ha hecho hasta +la versión 3.0.</para> + +<para>Si eres absolutamente cuidadoso y quieres arreglas tu mismo este +problema en versiones anteriores, edita el fichero +/usr/include/utmp.h y cambia el parámetro UT_NAMESIZE a la +longitud que desees. También debes editar el fichero +/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 ficheros apropiados en /usr/src/..</para> + +</sect1> + +<sect1> +<title>¿Puedo ejecutar binarios DOS bajo FreeBSD?</title> + +<para>Sí, empezando en la versión 3.0 puedes usar la +emulación DOS <emphasis remap=tt>rundos</emphasis> de BSDI, la cual ha sido integrada y +mejorada. Envía un mail a la +<ulink URL="mailto:emulation@FreeBSD.org">Lista de discusión de emulación en FreeBSD</ulink> si +estás interesado en participar en la evolución de esta +característica.</para> + +<para>Para sistemas pre-3.0 hay una pequeña utilidad llamada +<ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^pcemu">pcemu</ulink> +en la colecció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> + +</sect1> + +<sect1> +<title>¿Qué es <emphasis remap=tt>sup</emphasis>, y como lo uso?</title> + +<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 á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étodo actual recomendado para mantener tus fuentes actualizados +es <ulink URL="../../handbook/synching.html#CVSUP">CVSup</ulink></para> + +</sect1> + +<sect1> +<title>¿Existen herramientas de ahorro de energía en FreeBSD?</title> + +<para>FreeBSD usa la instrucción <acronym>HLT</acronym> (halt) cuando el sistema +está (idle) para reducir el consumo de energía. Si tienes +la opción APM (Automatic Power Management) configurado, FreeBSD +puede poner la cpu en modo de baja energía.</para> + +</sect1> + +<sect1> +<title>¿Qué significa "MFC"?</title> + +<para>MFC es un acró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> + +</sect1> + +<sect1> +<title>¿Qué significa "BSD"?</title> + +<para>Pertenece a un lenguaje secreto que solo sus miembros conoces. No tiene +traducción literal, pero basta con decir que su traducción +está entre, "Equipo de Fórmula-1", "Los Pinguinos son un +buén aperitivo", y "Tenermos mejor sentido del humor que Linux" +:-)</para> + +<para>Seriamente, BSD es un acrónimo de "Berkeley Software +Distribution", el cual es el nombre que el CSRG de Berkeley (Computer +Systems Research Group) escogió para sus distribuciones de Unix.</para> + +</sect1> +</chapter> + +<chapter +id="hackers"> +<title>Sólo para hackers serios de FreeBSD + </title> + + +<sect1> +<title> ¿Qué son SNAPs y RELEASEs? + </title> + +<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ólica para <emphasis>la versió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ó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> + +</sect1> + +<sect1 +id="custrel"> +<title> ¿Cómo puedo hacerme mi propia release personalizada? + </title> + +<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ñade esto a tu fichero de configuració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ón ejecuta <command>cvsup -g supfile</command> para tener todos +los bits correctos en tu ordenador.</para> + +<para>Finalmente, necesitas una buena cantidad de espacio vacío para +crear en el la release. Digamos que está en +<filename>/algun/disco/grande</filename> y en el ejemplo anterior has dejado los +ficheros 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á creada en +<filename>/algun/disco/grande/</filename> y tendrás una instalació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ñadir <literal>RELEASETAG=SOMETAG</literal> a la línea +de comando anterior de creación de la release. Por ejemplo, +<literal>RELEASETAG=RELENG_2_2</literal> crearía un snapshot 2.2 GAMMA.</para> + +</sect1> + +<sect1> +<title>¿Cómo creo discos de instalación personalizados?</title> + +<para>El proceso completo de creacación de discos de +instalación y archivos fuentes y binarios esta automatizado por +varios targets en <filename>/usr/src/release/Makefile</filename>. La +información alli contenida debería ser suficiente para que +puedas empezar. Falta decir que este proceso necesita la ejecución +del comando "make world" y quizás te use mucho tiempo y espacio +en disco.</para> + +</sect1> + +<sect1> +<title>``make world'' destruye mis binarios instalados.</title> + +<para>Sí, 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á 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 árbol de directorios +idéntico al instalado, y a partir de +<emphasis remap=tt>${DESTDIR}</emphasis>. Algunas combinaciones aleatorias +de modificaciones de librerías compartidas y programas pueden +causar que falle el <emphasis remap=tt>make world</emphasis>.</para> + +</sect1> + +<sect1> +<title> Cuando mi sistema arranca, dice (bus speed defaulted). + </title> + +<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á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ón de configuración del kernel +<symbol>TUNE_1542</symbol> para que esto ocurra. En algunos sistemas puede +que puede hacer que los discos vayan más rápidos, pero en +otros puede que los datos queden corrompidos.</para> + +</sect1> + +<sect1 +id="ctm"> +<title> ¿Puedo seguir la rama current con acceso limitado a Internet? + </title> + +<para>Sí, puedes hacerlo <emphasis remap=tt>sin</emphasis> bajarte todo el código +fuente usando la +utilidad <ulink URL="../../handbook/synching.html#CTM">CTM.</ulink></para> + +</sect1> + +<sect1> +<title>¿Cómo partir la distribución en ficheros de 240k?</title> + +<para>Los sistemas BSD más modernos tienen una opción +<option>-b</option> para partir que les permite partir los ficheros en +tamañ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> + +</sect1> + +<sect1> +<title>¿He escrito una extensión del kernel, a quien la envío?</title> + +<para>Por favor, mira en <ulink URL="../../handbook/contrib.html">como enviar código.</ulink></para> + +<para>Y gracias por pensar en nosotros!</para> + +</sect1> + +<sect1> +<title>¿Cómo se detectan e inicializan las tarjetas ISA y PnP?</title> + +<para>Brevemente, hay unos cuantos puertos de entrada/salida a los que +todas las tarjetas PnP responden cuando el ordenador pregunta si hay +alguien ahí. Así, cuando comienza la rutina de prueba +de PnP, pregunta si hay alguna tarjeta PnP presente y todas las +tarjetas responden con su número de modelo a una lectura I/O +del mismo puerto. Así el có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ˆ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ólo para los +fabricantes parece un poco excesiva.</para> + +<para>La parte baja de 32 bits son un número de serie, +dirección ethernet, algo que haga a la tarjeta ú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í puedes tener múltiples tarjetas del mismo +tipo en la misma máquina y los 64 bits serán ú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úsqueda binaria +inicial.</para> + +<para>Una vez el sistema ha identificado todos los ID's de las tarjetas +presentes, reactivaráa cada tarjeta, una tras otra (a +través de los mismos puertos I/O), y encontrará los +recursos que cada tarjeta necesita, que opciones de interrupción +están disponibles, etc. Se realiza un escaneo sobre todas y cada +una de las tarjetas presentes para conocer esta información.</para> + +<para>Esta información se combina con la información de los +ficheros ECU del disco y con las BIOS MLB. El soporte PnP de ECU y las +BIOS para hardware en el MLB usualmente es sintético, y los +periféricos no hacen PnP genuino. De todas maneras, examinando +la información de la BIOS más la información +ECU, la rutina de prueba puede causar que los dispositivos que no son +PnP puedan evitar a esos dispositivos que el código de prueba +no puede volver a posicionar.</para> + +<para>Así, los dispositivos PnP son visitados una vez más +y se les asigna su I/O, DMA, IRQ, direcciones del mapa de memoria. Los +dispositivos aparecerán en esas direcciones y permanecerán +en ellas hasta que se vuelva a reinicializar la máquina.</para> + +<para>Todo el proceso se ha simplificado mucho, pero espero que hayas podido +hacerte una idea del proceso.</para> + +</sect1> + +<sect1> +<title>¿Soporta FreeBSD arquitecturas diferentes a x86?</title> + +<para>Diferentes grupos de personas han expresado su interé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áquinas ALPHA, +entre ellas, AlphaStation, AXPpci, PC164, Miata y Multia. Este port +todavía no se considera una release completa y no lo será +hasta que exista una colección completa de herramientas de +instalación y una distribución completa en cdrom para +instalació, incluyendo un número razonable de ports y +packages funcionales. FreeBSD/AXP debe considerarse software de +calidad BETA en estos momentos. Para más información del +proyecto, subscríbete a la +<email><FreeBSD-alpha@FreeBSD.org></email><xref linkend="mailing" remap="lista de correo">.</para> + +<para>También se ha expresado interés en un port de FreeBSD para +arquitectura SPARC. Subscríbete a +<email><FreeBSD-sparc@FreeBSD.org></email> <xref linkend="mailing" remap="la lista"> si estás interesado en participar en el proyecto. +Para discusiones generales en nuevas arquitecturas, participa en +<xref linkend="mailing" remap="la lista"> +<email><FreeBSD-platforms@FreeBSD.org></email>.</para> + +</sect1> + +<sect1> +<title>Necesito un numero de dispositivo para un driver propio</title> + +<para>Esto depende de si quieres hacer que el driver esté +públicamente disponible. Si la respuesta es afirmativa, por favor, +envianos una copia del código fuente del driver y las +modificaciones apropiadas del fichero <emphasis remap=tt>files.i386</emphasis>, un ejemplo de +configuración y el código apropiado de <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?MAKEDEV">MAKEDEV</ulink> para +crear cualquier fichero especial que use tu dispositivo. Puedes enviar +todo lo necesario a <email><FreeBSD-hackers@FreeBSD.org></email>.</para> + +</sect1> + +<sect1> +<title>Alternativas a la política de directorios</title> + +<para>En respuesta a esta pregunta de políticas alternativas +para los directorios, el esquema que está actualmente en uso +no ha cambiado desde que lo escribí en 1983. Escribí esa +política para el sistema de ficheros rápido original, y +nunca se ha revisado. Trabaja bién manteniendo los grupos de +cilindros. Como muchos de vosotros habreis notado, el rendimiento es +muy pobre con "find". Muchos sistemas de ficheros son creados desde +archivos que fueron creados por una primera búsqueda en +profundidad (también conocido como ftw). Estos directorios +terminan esparcidos a través de los grupos de cilindros. Si +conociesemos el número total de directorios a crear, la +solución sería crear (total / fs_ncg) por grupo de +cilindros antes de moverlos. Obviamente, tendriamos que crear +algún tipo de heurística para adivinar este número. +Usando un número pequeño fijo (como puede ser +10) haría de orden de magnitud. Para diferencial restores de +operaciones normales (cuando el algoritmo actual es probablemente +más sensible), podrís usar el clustering hasta 10 si +fueran todos hechos dentro de una ventana de diez segundos. De cualquier +manera, mi conclusión es que este es un área para la +experimentación.</para> + +<para>Kirk McKusick, Septiembre 1998</para> + +</sect1> + +<sect1> +<title>Obtener todo lo posible de un "kernel panic"</title> + +<para><emphasis>[Esta sección fue extraida de un mensaje escrito por <ulink URL="mailto:wpaul@FreeBSD.org">Bill Paul</ulink> en la +<xref linkend="mailing" remap="lista"> FreeBSD-current por <ulink URL="mailto:des@FreeBSD.org">Dag-Erling Coïdan Smørgrav</ulink>, quién a fijado algunos errores y +añadido algunos comentarios entre corchetes]</emphasis></para> + +<para> +<literallayout>From: Bill Paul <wpaul@skynet.ctr.columbia.edu> +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>[<ben@rosengart.com> envió el siguiente panic]</emphasis> +<literallayout>> Fatal trap 12: page fault while in kernel mode +> fault virtual address = 0x40 +> fault code = supervisor read, page not present +> instruction pointer = 0x8:0xf014a7e5 + ^^^^^^^^^^ +> stack pointer = 0x10:0xf4ed6f24 +> frame pointer = 0x10:0xf4ed6f28 +> code segment = base 0x0, limit 0xfffff, type 0x1b +> = DPL 0, pres 1, def32 1, gran 1 +> processor eflags = interrupt enabled, resume, IOPL = 0 +> current process = 80 (mount) +> interrupt mask = +> trap number = 12 +> panic: page fault + </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ón. En otras palabras, el valor varía +dependiendo de la imáden de kernel exacta que se use. Si +estás usando el kernel GENERIC de uno de los snapshots, entonces +es posible que alguien pueda seguir la función +problemática, pero si estás usando un kernel +personalizado, entonces solo <emphasis>tú</emphasis> puedes decirnos donde +ha ocurrido el fallo.</para> + +<para>Tendrías que hacer lo siguiente:</para> + +<para> +<itemizedlist> + +<listitem> +<para>Anotar el valor del puntero de la instrucció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ón. +El problema es que no obtendrás una búsqueda exacta ya +que los símbolos en la tabla de símbolos del kernel +son para los puntos de entrada de las funciones y la dirección +del puntero de la instrucción estará en algún +lugar dentro de una función, no al principio. Si no obtienes +un resultado exacto, omite el último dígito del valor +del puntero de la instrucción e intentalo otra vez, por +ejemplo: +<literallayout>% nm /kernel.that.caused.the.panic | grep f0xxxxx + </literallayout> + +Si esto no da ningún resultado, elimina otro dígito. +Repite la operación hasta que obtengas algún tipo de +salida. El resultado será una lista de posibles funciones +que causan el panic. Este no es un sistema muy exacto de +búsqueda de errores, pero es mejor que nada.</para> +</listitem> + +</itemizedlist> +</para> + +<para>Veo gente que constantemente envía mensajes de panics como +este, pero raramente veo que alguien se tome el tiempo de buscar +la coincidencia entre el puntero de instrucción y una +función en la tabla de sí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én los "dumps" de un crash del kernel; alguién +debería mirar esto antes de que la 3.0 salga del estado beta).</para> + +<para>En cualquier caso, el método que normalmente uso es este:</para> + +<para> +<itemizedlist> + +<listitem> +<para>Crear un fichero de configuración de kernel, opcionalmente +añadiendo 'options DDB' si piensas que necesitas el debugger +del kernel por algún motivo. (Uso esto principalmente para +configurar puntos de salida si sospecho que existe alguna +condición que crea un loop infinito).</para> +</listitem> + +<listitem> +<para>Usar <command>config -g KERNELCONFIG</command> para crear el directorio +de configuració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ún +motivo tu kernel es aú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ño. No tienes que +arrancar esta imán masiva, solo lo necesitas para poder usar +después <command>gdb(1)</command> (<command>gdb(1)</command> quiere la tabla de +símbolos). Al contrario, quieres mantener una copia de la +imágen completa y crear una segunda imágen con los +símbolos de debug desactivados usando <command>strip -d</command>. Es esta +segunda imágen la que quieres arrancar.</para> + +<para>Para asegurarte de capturar un "crash dump", necesitas editar el +fichero <filename>/etc/rc.conf</filename> y apuntar <emphasis remap=tt>dumpdev</emphasis> a tu +partición de swap. Esto hará que el script <command>rc(8)</command> use +el comando <command>dumpon(8)</command> para activar los "crash dumps". También +puedes ejecutar manualmente <command>dumpon(8)</command>. Después de un panic, +el "crash dump" puede ser recuperado usando <command>savecore(8)</command>; si +<emphasis remap=tt>dumpdev</emphasis> está en <filename>/etc/rc.conf</filename>, el script +<command>rc(8)</command> ejecutará <command>savecore(8)</command> automaticamente y +pondrá el "crash dump" en <filename>/var/crash</filename>.</para> + +<para>NOTA: los "crash dumps" de FreeBSD suelen tener el mismo +tamaño que la cantidad total de memoria física del +sistema. Esto significa que si tienes 64MB de RAM, obtendrá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ón en +otro directorio donde tengas más espacio libre. Es posible +limitar el tamañ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íneas de información: +es una buena idea usar el comando <command>script(1)</command> para capturarlas +todas. Usando la imágen del kernel con todos los símbolos +de debug deberí mostrar la línea exacta de có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é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 ordenador, +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ías en la +máquina local.</para> + +<para><emphasis>[Bill añade: "Olvidé 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á"]</emphasis></para> + +</sect1> + +<sect1> +<title>dlsym() no funciona con ejecutables ELF!</title> + +<para>Las herramientas ELF no hacen por defecto que los símbolos +definidos en un ejecutable sean visibles por el linker dinámico. +Consecuentemente, <function>dlsym()</function> buscará en datos obtenidos desde +llamadas a <emphasis remap=tt>dlopen(NULL, flags)</emphasis>, lo que provoca que no se +encuentren esos símbolos.</para> + +<para>Si quieres buscar, usando <function>dlsym()</function> símbolos presentes +en el ejecutable principal de un proceso, necesitas linkar el +ejecutable usando la opción <option>-export-dynamic</option> en el +<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ld">linkador ELF</ulink>.</para> + +</sect1> + +<sect1> +<title>Incrementando o reduciendo el espacio de direcciones del kernel</title> + +<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áfico), es posible que notes que 256MB no es +suficiente.</para> + +<para>Así 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 él +mismo. Segundo, ya que el kernel se carga al inicio del espacio de +direcciones, necesitas disminuir la direcció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és resta uno +por UP y dos por SMP.</para> + +<para>Para solucionar el segundo aspecto, necesitas calcular la +dirección correcta de carga: simplemente resta el tamañ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ón pon el contador al inicio de la +secció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í; haciendo un +<emphasis remap=tt>make world</emphasis> deberín solucionarse esos problemas (o una +recompilación manual de <emphasis remap=tt>libkvm</emphasis>, <emphasis remap=tt>ps</emphasis> y <emphasis remap=tt>top</emphasis> +después de copiar el <filename>pmap.h</filename> parcheado a +<filename>/usr/include/vm/</filename>.</para> + +<para>NOTA: el tamaño del espacio de direcciones debe ser un +múltiplo de cuatro megabytes.</para> + +<para><emphasis>[<ulink URL="mailto:dg@FreeBSD.org">David Greenman</ulink> +añade: </emphasis>Pienso que el espacio de direcciones del kernel +necesita ser una potencia de 2, pero no estoy totalmente seguro.]</para> + +</sect1> +</chapter> + +<chapter +id="acknowledgments"> +<title>AGRADECIMIENTOS</title> + +<para> +<literallayout> Si ves algún problema o error en esta FAQ, o quieres enviar + información para que sea añadida, por favor, envía + un mail a la dirección faq-es@es.FreeBSD.org. Apreciamos tu + información e interé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 ser uno de los mejores técnicos de Internet en España :)</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ó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ús Rodríguez <ulink URL="mailto:jesusr@FreeBSD.org">jesusr@FreeBSD.org</ulink></para> + +</chapter> +</book> |