aboutsummaryrefslogtreecommitdiff
path: root/es_ES.ISO8859-1/books/handbook
diff options
context:
space:
mode:
authorSergio Carlavilla Delgado <carlavilla@FreeBSD.org>2021-01-25 23:31:29 +0000
committerSergio Carlavilla Delgado <carlavilla@FreeBSD.org>2021-01-25 23:31:29 +0000
commit989d921f5d4ac8d8b7c831c13b8954ad1901be24 (patch)
treea5d768f9af4b55422fdf5b17064879ae1c7ce032 /es_ES.ISO8859-1/books/handbook
parent0cff342f42461c5081b98bce7581f43df319e4f4 (diff)
downloaddoc-989d921f5d4ac8d8b7c831c13b8954ad1901be24.tar.gz
doc-989d921f5d4ac8d8b7c831c13b8954ad1901be24.zip
Migrate doc to Hugo/AsciiDoctor
I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
Diffstat (limited to 'es_ES.ISO8859-1/books/handbook')
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/Makefile185
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/advanced-networking/chapter.xml8989
-rw-r--r--es_ES.ISO8859-1/books/handbook/audit/chapter.xml44
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/basics/chapter.xml2999
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/bibliography/chapter.xml465
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/book.xml304
-rw-r--r--es_ES.ISO8859-1/books/handbook/boot/chapter.xml763
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/chapters.ent79
-rw-r--r--es_ES.ISO8859-1/books/handbook/colophon.xml26
-rw-r--r--es_ES.ISO8859-1/books/handbook/config/chapter.xml41
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/cutting-edge/chapter.xml86
-rw-r--r--es_ES.ISO8859-1/books/handbook/desktop/chapter.xml1105
-rw-r--r--es_ES.ISO8859-1/books/handbook/disks/chapter.xml4150
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/eresources/chapter.xml1700
-rw-r--r--es_ES.ISO8859-1/books/handbook/firewalls/Makefile15
-rw-r--r--es_ES.ISO8859-1/books/handbook/firewalls/chapter.xml43
-rw-r--r--es_ES.ISO8859-1/books/handbook/geom/chapter.xml429
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/install/chapter.xml5407
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/introduction/chapter.xml1020
-rw-r--r--es_ES.ISO8859-1/books/handbook/jails/chapter.xml1018
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/kernelconfig/chapter.xml1696
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/l10n/chapter.xml1087
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/linuxemu/chapter.xml3702
-rw-r--r--es_ES.ISO8859-1/books/handbook/mac/chapter.xml171
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/mail/chapter.xml2492
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/mirrors/chapter.xml43
-rw-r--r--es_ES.ISO8859-1/books/handbook/multimedia/chapter.xml1874
-rw-r--r--es_ES.ISO8859-1/books/handbook/network-servers/chapter.xml30
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/pgpkeys/chapter.xml509
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/ports/chapter.xml1516
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml3142
-rw-r--r--es_ES.ISO8859-1/books/handbook/preface/preface.xml735
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/printing/chapter.xml260
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/security/chapter.xml5603
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/serialcomms/chapter.xml2781
-rw-r--r--es_ES.ISO8859-1/books/handbook/txtfiles.ent81
-rw-r--r--es_ES.ISO8859-1/books/handbook/users/chapter.xml1084
-rw-r--r--es_ES.ISO8859-1/books/handbook/vinum/chapter.xml328
-rw-r--r--es_ES.ISO8859-1/books/handbook/virtualization/chapter.xml31
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/x11/chapter.xml1802
40 files changed, 0 insertions, 57835 deletions
diff --git a/es_ES.ISO8859-1/books/handbook/Makefile b/es_ES.ISO8859-1/books/handbook/Makefile
deleted file mode 100755
index 19f348bda5..0000000000
--- a/es_ES.ISO8859-1/books/handbook/Makefile
+++ /dev/null
@@ -1,185 +0,0 @@
-#
-# $FreeBSD$
-# $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/Makefile,v 1.6 2004/10/08 22:36:28 jesusr Exp $
-#
-# Build the FreeBSD Handbook.
-#
-# The FreeBSD Spanish Documentation Project
-
-# %SOURCE% en_US.ISO8859-1/books/handbook/Makefile
-# %SRCID% 0.0
-
-
-MAINTAINER= jesusr@FreeBSD.org
-
-DOC?= book
-
-FORMATS?= html-split
-
-INSTALL_COMPRESSED?= gz
-INSTALL_ONLY_COMPRESSED?=
-
-IMAGES_EN = advanced-networking/isdn-bus.eps
-IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
-IMAGES_EN+= advanced-networking/natd.eps
-IMAGES_EN+= advanced-networking/net-routing.pic
-IMAGES_EN+= advanced-networking/static-routes.pic
-IMAGES_EN+= geom/striping.pic
-IMAGES_EN+= install/adduser1.scr
-IMAGES_EN+= install/adduser2.scr
-IMAGES_EN+= install/adduser3.scr
-IMAGES_EN+= install/boot-mgr.scr
-IMAGES_EN+= install/console-saver1.scr
-IMAGES_EN+= install/console-saver2.scr
-IMAGES_EN+= install/console-saver3.scr
-IMAGES_EN+= install/console-saver4.scr
-IMAGES_EN+= install/desktop.scr
-IMAGES_EN+= install/disklabel-auto.scr
-IMAGES_EN+= install/disklabel-ed1.scr
-IMAGES_EN+= install/disklabel-ed2.scr
-IMAGES_EN+= install/disklabel-fs.scr
-IMAGES_EN+= install/disklabel-root1.scr
-IMAGES_EN+= install/disklabel-root2.scr
-IMAGES_EN+= install/disklabel-root3.scr
-IMAGES_EN+= install/disk-layout.eps
-IMAGES_EN+= install/dist-set.scr
-IMAGES_EN+= install/dist-set2.scr
-IMAGES_EN+= install/docmenu1.scr
-IMAGES_EN+= install/ed0-conf.scr
-IMAGES_EN+= install/ed0-conf2.scr
-IMAGES_EN+= install/edit-inetd-conf.scr
-IMAGES_EN+= install/fdisk-drive1.scr
-IMAGES_EN+= install/fdisk-drive2.scr
-IMAGES_EN+= install/fdisk-edit1.scr
-IMAGES_EN+= install/fdisk-edit2.scr
-IMAGES_EN+= install/ftp-anon1.scr
-IMAGES_EN+= install/ftp-anon2.scr
-IMAGES_EN+= install/hdwrconf.scr
-IMAGES_EN+= install/keymap.scr
-IMAGES_EN+= install/main1.scr
-IMAGES_EN+= install/mainexit.scr
-IMAGES_EN+= install/main-std.scr
-IMAGES_EN+= install/main-options.scr
-IMAGES_EN+= install/main-doc.scr
-IMAGES_EN+= install/main-keymap.scr
-IMAGES_EN+= install/media.scr
-IMAGES_EN+= install/mouse1.scr
-IMAGES_EN+= install/mouse2.scr
-IMAGES_EN+= install/mouse3.scr
-IMAGES_EN+= install/mouse4.scr
-IMAGES_EN+= install/mouse5.scr
-IMAGES_EN+= install/mouse6.scr
-IMAGES_EN+= install/mta-main.scr
-IMAGES_EN+= install/net-config-menu1.scr
-IMAGES_EN+= install/net-config-menu2.scr
-IMAGES_EN+= install/nfs-server-edit.scr
-IMAGES_EN+= install/ntp-config.scr
-IMAGES_EN+= install/options.scr
-IMAGES_EN+= install/pkg-cat.scr
-IMAGES_EN+= install/pkg-confirm.scr
-IMAGES_EN+= install/pkg-install.scr
-IMAGES_EN+= install/pkg-sel.scr
-IMAGES_EN+= install/probstart.scr
-IMAGES_EN+= install/routed.scr
-IMAGES_EN+= install/security.scr
-IMAGES_EN+= install/sysinstall-exit.scr
-IMAGES_EN+= install/timezone1.scr
-IMAGES_EN+= install/timezone2.scr
-IMAGES_EN+= install/timezone3.scr
-IMAGES_EN+= install/userconfig.scr
-IMAGES_EN+= install/userconfig2.scr
-IMAGES_EN+= install/xf86setup.scr
-IMAGES_EN+= mail/mutt1.scr
-IMAGES_EN+= mail/mutt2.scr
-IMAGES_EN+= mail/mutt3.scr
-IMAGES_EN+= mail/pine1.scr
-IMAGES_EN+= mail/pine2.scr
-IMAGES_EN+= mail/pine3.scr
-IMAGES_EN+= mail/pine4.scr
-IMAGES_EN+= mail/pine5.scr
-
-IMAGES_EN+= install/example-dir1.eps
-IMAGES_EN+= install/example-dir2.eps
-IMAGES_EN+= install/example-dir3.eps
-IMAGES_EN+= install/example-dir4.eps
-IMAGES_EN+= install/example-dir5.eps
-IMAGES_EN+= security/ipsec-network.pic
-IMAGES_EN+= security/ipsec-crypt-pkt.pic
-IMAGES_EN+= security/ipsec-encap-pkt.pic
-IMAGES_EN+= security/ipsec-out-pkt.pic
-IMAGES_EN+= vinum/vinum-concat.pic
-IMAGES_EN+= vinum/vinum-mirrored-vol.pic
-IMAGES_EN+= vinum/vinum-raid10-vol.pic
-IMAGES_EN+= vinum/vinum-raid5-org.pic
-IMAGES_EN+= vinum/vinum-simple-vol.pic
-IMAGES_EN+= vinum/vinum-striped-vol.pic
-IMAGES_EN+= vinum/vinum-striped.pic
-
-# Images from the cross-document image library
-IMAGES_LIB= callouts/1.png
-IMAGES_LIB+= callouts/2.png
-IMAGES_LIB+= callouts/3.png
-IMAGES_LIB+= callouts/4.png
-IMAGES_LIB+= callouts/5.png
-IMAGES_LIB+= callouts/6.png
-IMAGES_LIB+= callouts/7.png
-IMAGES_LIB+= callouts/8.png
-IMAGES_LIB+= callouts/9.png
-IMAGES_LIB+= callouts/10.png
-
-#
-# SRCS lists the individual XML files that make up the document. Changes
-# to any of these files will force a rebuild
-#
-
-# XML content
-SRCS+= audit/chapter.xml
-SRCS+= book.xml
-SRCS+= colophon.xml
-SRCS+= advanced-networking/chapter.xml
-SRCS+= basics/chapter.xml
-SRCS+= bibliography/chapter.xml
-SRCS+= boot/chapter.xml
-SRCS+= config/chapter.xml
-SRCS+= cutting-edge/chapter.xml
-SRCS+= desktop/chapter.xml
-SRCS+= disks/chapter.xml
-SRCS+= eresources/chapter.xml
-SRCS+= firewalls/chapter.xml
-SRCS+= geom/chapter.xml
-SRCS+= install/chapter.xml
-SRCS+= introduction/chapter.xml
-SRCS+= jails/chapter.xml
-SRCS+= kernelconfig/chapter.xml
-SRCS+= l10n/chapter.xml
-SRCS+= linuxemu/chapter.xml
-SRCS+= mac/chapter.xml
-SRCS+= mail/chapter.xml
-SRCS+= mirrors/chapter.xml
-SRCS+= multimedia/chapter.xml
-SRCS+= network-servers/chapter.xml
-SRCS+= pgpkeys/chapter.xml
-SRCS+= ports/chapter.xml
-SRCS+= ppp-and-slip/chapter.xml
-SRCS+= preface/preface.xml
-SRCS+= printing/chapter.xml
-SRCS+= security/chapter.xml
-SRCS+= serialcomms/chapter.xml
-SRCS+= users/chapter.xml
-SRCS+= vinum/chapter.xml
-SRCS+= virtualization/chapter.xml
-SRCS+= x11/chapter.xml
-
-# Entities
-SRCS+= chapters.ent
-
-SYMLINKS= ${DESTDIR} index.html handbook.html
-
-# Turn on all the chapters.
-CHAPTERS?= ${SRCS:M*chapter.xml}
-
-XMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./}
-
-DOC_PREFIX?= ${.CURDIR}/../../..
-
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.xml b/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.xml
deleted file mode 100755
index ece1182303..0000000000
--- a/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.xml
+++ /dev/null
@@ -1,8989 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml
- %SRCID% 0.0
-
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.xml,v 1.3 2004/08/26 10:03:24 carvay Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="advanced-networking">
- <title>Networking avanzado</title>
-
- <para>Networking avanzado</para>
-
- <sect1 xml:id="advanced-networking-synopsis">
- <title>Resumen</title>
-
- <para>Este capítulo cubre algunos de los servicios de red
- que se usan con más frecuencia en sistemas
- &unix;. Para ser más concretos este capítulo
- explica cómo definir, ejecutar, probar
- y mantener todos los servicios de red que utiliza
- &os;. Se muestran además ejemplos de ficheros de
- configuración que podrá utilizar para sus
- propios quehaceres.</para>
-
- <para>Después de leer este capítulo habremos
- aprendido:</para>
-
- <itemizedlist>
- <listitem>
- <para>Los conceptos básicos de pasarelas y
- <quote>routers</quote>.</para>
- </listitem>
-
- <listitem>
- <para>Cómo poner en funcionamiento dispositivos IEEE
- 802.11 y &bluetooth;.</para>
- </listitem>
-
- <listitem>
- <para>Cómo configurar &os; para que actúe
- como un <quote>bridge</quote>.</para>
- </listitem>
-
- <listitem>
- <para>Cómo poner en funcionamiento un sistema de
- ficheros en red con NFS.</para>
- </listitem>
-
- <listitem>
- <para>Cómo realizar un arranque del sistema por red en
- máquinas sin disco duro.</para>
- </listitem>
-
- <listitem>
- <para>Cómo ejecutar un servidor de información
- en red para compartir cuentas de usuario mediante NIS.</para>
- </listitem>
-
- <listitem>
- <para>Cómo especificar parámetros de
- configuración automática de red utilizando
- DHCP.</para>
- </listitem>
-
- <listitem>
- <para>Cómo ejecutar un servidor de nombres de dominio.</para>
- </listitem>
-
- <listitem>
- <para>Cómo sincronizar la hora y la fecha y ejecutar
- un servidor horario utilizando el protocolo NTP.</para>
- </listitem>
-
- <listitem>
- <para>Cómo ejecutar un servicio de traducción de
- direcciones de red.</para>
- </listitem>
-
- <listitem>
- <para>Cómo gestionar el d&aelig;mon
- <application>inetd</application>.</para>
- </listitem>
-
- <listitem>
- <para>Cómo conectar dos computadoras a través de
- PLIP.</para>
- </listitem>
-
- <listitem>
- <para>Cómo habilitar IPv6 en una máquina
- FreeBSD.</para>
- </listitem>
-
- <listitem>
- <para>Cómo configurar ATM sobre &os;&nbsp;5.X.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo debería usted:</para>
-
- <itemizedlist>
- <listitem>
- <para>Intentar comprender los conceptos básicos de los
- scripts de <filename>/etc/rc</filename>.</para>
- </listitem>
-
- <listitem>
- <para>Familiarizarse con la terminología básica
- de redes.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="network-routing">
- <info><title>Pasarelas y <quote>routers</quote></title>
- <authorgroup>
- <author><personname><firstname>Coranth</firstname><surname>Gryphon</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>routing</primary></indexterm>
- <indexterm><primary>gateway</primary></indexterm>
- <indexterm><primary>subnet</primary></indexterm>
- <para>Para que una máquina sea capaz de encontrar otra
- máquina remota a través de la red debe existir
- mecanismo que describa cómo llegar del origen al destino.
- Este mecanismo se demonina <firstterm>routing</firstterm> o
- <firstterm>encaminamiento</firstterm>. Una <quote>ruta</quote>
- es un par definido de direcciones: una dirección de
- <quote>destino</quote> y una dirección
- de <quote>pasarela</quote>. Éste par indica que para llegar a
- dicho <emphasis>destino</emphasis> debe efectuarse una
- comunicación previa con dicha
- <emphasis>pasarela</emphasis>. Exiten tres tipos distintos
- de destinos: máquinas individuales, subredes y
- <quote>por defecto</quote>. La <quote>ruta por defecto</quote>
- se utiliza sólamente cuando no se puede aplicar ninguna
- de las otras rutas existentes. El tema de las
- rutas por defecto se tratará más adelante con
- más detalle. También existen tres tipos de
- pasarelas distintas: máquinas individuales, interfaces
- (también llamados <quote>enlaces</quote>) y direcciones
- hardware de ethernet (direcciones MAC).</para>
-
- <sect2>
- <title>Ejemplo</title>
-
- <para>Para ilustrar diferentes aspectos del sistema de
- encaminamiento veamos el siguiente ejemplo obtenido mediante
- <command>netstat</command>.</para>
-
- <screen>&prompt.user; <userinput>netstat -r</userinput>
-Routing tables
-
-Destination Gateway Flags Refs Use Netif Expire
-
-default outside-gw UGSc 37 418 ppp0
-localhost localhost UH 0 181 lo0
-test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
-10.20.30.255 link#1 UHLW 1 2421
-ejemplo.com link#1 UC 0 0
-host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
-host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =&gt;
-host2.ejemplo.com link#1 UC 0 0
-224 link#1 UC 0 0</screen>
-
- <indexterm><primary>default route</primary></indexterm>
- <para>Las primeras dos líneas especifican la ruta por
- defecto (la cual se comenta en la
- <link linkend="network-routing-default">siguiente
- sección</link>) y la ruta de <systemitem>máquina
- local</systemitem>.</para>
-
- <indexterm><primary>loopback device</primary></indexterm>
- <para>La interfaz (columna <literal>Netif</literal>) que
- especifica esta tabla de rutas
- para el destino <literal>localhost</literal> se denomina
- <filename>lo0</filename>,
- y también se conoce como el dispositivo de <quote>
- loopback</quote> a de bucle de retorno. Esto viene a decir que
- el tráfico no debe entregarse a la red puesto que
- dicho tráfico va destinado a la misma máquina
- que lo originó.</para>
-
- <indexterm>
- <primary>Ethernet</primary>
- <secondary>MAC address</secondary>
- </indexterm>
- <para>Lo siguiente que podemos observar son las direcciones
- que comienzan por
- <systemitem class="etheraddress">0:e0:</systemitem>. Son direcciones hardware de
- Ethernet, llamadas también se direcciones MAC.
- FreeBSD identifica automáticamente cualquier
- máquina (<systemitem>test0</systemitem> en el ejemplo anterior)
- que se encuentre en la red local y
- crea una ruta del estilo que estamos comentando, para entregar
- el tráfico directamente a través del
- correspondiente interfaz Ethernet, en este caso
- <filename>ed0</filename>. Existe también
- un contador (<literal>Expire</literal>) asociado con este tipo
- de rutas que se usa para borrarlas cuando dicho contador expira.
- Las rutas para las máquinas de nuestra propia red de
- de área local se crean dinámicamente
- utilizando el protocolo ARP (Address Resolution Protocol o
- Protocolo de Resolución de Direcciones),
- que se encarga de averiguar la dirección MAC que se
- corresponde con la dirección IP de la máquina
- destino.</para>
-
- <indexterm><primary>subnet</primary></indexterm>
- <para>FreeBSD tambíen utiliza rutas de subred para
- direccionar la subred local (<systemitem class="ipaddress">10.20.30.255</systemitem> es la dirección
- de broadcast para la subred
- <systemitem class="ipaddress">10.20.30</systemitem>, y
- <systemitem class="fqdomainname">ejemplo.com</systemitem> es el nombre de
- dominio asociado con dicha subred.)
- La notación <literal>link#1</literal> se refiere a la
- primera tarjeta Ethernet de la máquina.
- En este tipo de redes no se especifica ningún interfaz
- en el campo de <literal>Netif</literal>.</para>
-
- <para>Las rutas de subredes aparecen cuando se asigna una
- dirección IP a una interfaz, utilizando una
- máscara de red. También se pueden aprender
- dinámicamente utilizando demonios de encaminamiento,
- como <application>routed</application>. Por último estas
- rutas pueden crearse manualmente de forma explícita;
- es lo que se conoce con el nombre de rutas estáticas.</para>
-
- <para>La línea de <literal>host1</literal> se refiere a
- nuestra máquina, que el sistema identifica por la
- correspondiente dirección Ethernet de la tarjeta de red.
- FreeBSD sabe que debe utilizar la interfaz de loopback
- (<filename>lo0</filename>) en vez de enviar los paquetes a
- a través de red.</para>
-
- <para>Las dos líneas que comienzan por
- <literal>host2</literal> son ejemplos del uso de alias de
- &man.ifconfig.8; alias (consultar la sección sobre
- Ethernet para averiguar por qué nos podría
- interesar hacer esto.) El símbolo
- <literal>=&gt;</literal> después de la interfaz
- <filename>lo0</filename> especifica que no sólo
- estamos utilizando la interfaz de loopback, si no que
- además especifica que se trata de un alias. Estas rutas
- sólo aparecen en las máquinas que implementan el
- alias, el resto de las máquinas de la subred local
- solamente poseerán una línea
- <literal>link#1</literal> para dichas rutas.</para>
-
- <para>La última línea (destino de subred <systemitem class="ipaddress">224</systemitem>) trata sobre encaminamiento
- multicast, que cubriremos en otra sección.</para>
-
- <para>Finalmente, se pueden observar varios atributos
- relacionados con las rutas en la columna de
- <literal>Flags</literal>. A continuación se muestra una
- pequeña tabla con el significado de algunos de esos
- de los atributos o <quote>flags</quote>.</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry>U</entry>
- <entry>Up: La ruta está activa.</entry>
- </row>
-
- <row>
- <entry>H</entry>
- <entry>Host: El destino de la ruta es una única
- máquina.</entry>
- </row>
-
- <row>
- <entry>G</entry>
- <entry>Gateway: Envía cualquier cosa para éste
- destino a través de la pasarela especificada,
- la cual decidirá cómo encaminar el paquete
- hasta que eventualmente se alcance el destino.</entry>
- </row>
-
- <row>
- <entry>S</entry>
- <entry>Static: Esta ruta se configuró
- manualmente, y no se ha generado de forma
- automática por el sistema.</entry>
- </row>
-
- <row>
- <entry>C</entry>
- <entry>Clone: Genera una nueva ruta para la
- máquina a la que nos queremos conectar
- basándose en la ruta actual. Este tipo de ruta se
- utiliza normalmente en redes locales.</entry>
- </row>
-
- <row>
- <entry>W</entry>
- <entry>WasCloned: Indica una ruta que se auto-configuró
- basándose en una ruta de red de área local con
- etiqueta Clone.</entry>
- </row>
-
- <row>
- <entry>L</entry>
- <entry>Link: Esta ruta posée referencias a hardware de
- Ethernet.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
-
- <sect2 xml:id="network-routing-default">
- <title>Rutas por defecto</title>
-
- <indexterm><primary>default route</primary></indexterm>
- <para>Cuando el sistema local necesita realizar una conexión con
- una máquina remota se examina la tabla de rutas para determinar
- si se conoce algún camino para llegar al destino.
- Si la máquina remota pertenece a una subred que sabemos
- cómo alcanzar (rutas clonadas) entonces el sistema comprueba si
- se puede conectar utilizando dicho camino.</para>
-
- <para>Si todos los caminos conocidos fallan al sistema le queda una
- única opción: la <quote>ruta por defecto</quote>.
- Esta ruta está constituída por un tipo especial de
- pasarela (normalmente el único <quote>router</quote>
- presente en la red
- área local) y siempre posée el <quote>flag</quote>
- <literal>c</literal> en el campo de <quote>flags</quote>.
- En una LAN, la pasarela es la máquina que posée
- conectividad con el resto de las redes (sea a través de un
- enlace PPP, DSL, cable modem, T1 u otra interfaz de red.)</para>
-
- <para>Si se configura la ruta por defecto en una máquina que
- está actuando como pasarela hacia el mundo exterior
- la ruta por defecto será el <quote>router</quote>
- que se encuentre en
- posesión del proveedor de servicios de internet (ISP).</para>
-
- <para>Vamos a examinar un ejemplo que utiliza rutas por defecto.
- A continuación se muestra una configuración bastante
- común:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="advanced-networking/net-routing"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">
-[Local2] &lt;--ether--&gt; [Local1] &lt;--PPP--&gt; [ISP-Serv] &lt;--ether--&gt; [T1-GW]
- </literallayout>
- </textobject>
- </mediaobject>
-
- <para>Las máquinas <systemitem>Local1</systemitem> y
- <systemitem>Local2</systemitem> se encuentran en nuestro sitio u
- organización. <systemitem>Local1</systemitem> se conecta con un ISP
- a través de una conexión de modem PPP.
- El servidor PPP del ISP se conecta a través de una red de
- área local a otra pasarela utilizando una interfaz
- externa.</para>
-
- <para>Las rutas por defecto para cada una de las máquinas son
- las siguientes:</para>
-
- <informaltable frame="none">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Host</entry>
- <entry>Default Gateway</entry>
- <entry>Interface</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>Local2</entry>
- <entry>Local1</entry>
- <entry>Ethernet</entry>
- </row>
-
- <row>
- <entry>Local1</entry>
- <entry>T1-GW</entry>
- <entry>PPP</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Una pregunta bastante frecuente es <quote>?Por
- qué (o cómo) hacer que la máquina
- <systemitem>T1-GW</systemitem> sea el <quote>router</quote> por defecto para
- <systemitem>Local1</systemitem> en vez de que sea el servidor del ISP
- al cual se está conectando?</quote>.</para>
-
- <para>Recordemos que, como la interfaz PPP está utilizando una
- dirección de la red local del ISP en nuestro lado de la
- las rutas para cualquier otra máquina en la red local del
- proveedor se generarán de forma automática. De este
- ya sabemos el modo de alcanzar la máquina
- <systemitem>T1-GW</systemitem>, de tal forma que no se necesita un paso
- intermedio para enviar tráfico al servidor del ISP.</para>
-
- <para>Es frecuente utilizar la dirección <systemitem class="ipaddress">X.X.X.1</systemitem> como la dirección de
- la pasarela en la red local. Siguiendo con el ejemplo anterior, si
- nuestro espacio de direccionamiento local fuera la clase C
- <systemitem class="ipaddress">10.20.30</systemitem> y nuestro ISP estuviera
- utilizando <systemitem class="ipaddress">10.9.9</systemitem> las rutas por
- defecto serían:</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Host</entry>
- <entry>Default Route</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Local2 (10.20.30.2)</entry>
- <entry>Local1 (10.20.30.1)</entry>
- </row>
- <row>
- <entry>Local1 (10.20.30.1, 10.9.9.30)</entry>
- <entry>T1-GW (10.9.9.1)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Se puede especificar fácilmente la entrada de la
- ruta por defecto utilizando el fichero
- <filename>/etc/rc.conf</filename>. En nuestro ejemplo
- en la máquina <systemitem>Local2</systemitem>, se añadió
- la siguiente línea en dicho fichero:</para>
-
- <programlisting>defaultrouter="10.20.30.1"</programlisting>
-
- <para>También se puede hacer directamente desde la línea
- de órdenes mediante &man.route.8;:</para>
-
- <screen>&prompt.root; <userinput>route add default 10.20.30.1</userinput></screen>
-
- <para>Para obtener más información sobre la
- manipulación de tablas de rutas se ruega consultar
- la página de manual &man.route.8;.</para>
- </sect2>
-
- <sect2>
- <title>Máquinas con doble pertenencia (Dual Homed Hosts)</title>
- <indexterm><primary>dual homed hosts</primary></indexterm>
- <para>Existe otro tipo de configuración que debemos describir
- y que se produce cuando una máquina se sitúa en dos
- redes distintas al mismo tiempo. Técnicamente hablando
- cualquier máquina que actúa como pasarela (en el
- caso anterior utilizando un enlace de PPP) pertenece al tipo
- de máquinas con doble pertenencia, pero normalmente el
- término sólo se aplica para describir máquinas
- que se encuentran directamente conectadas con dos redes de área
- local.</para>
-
- <para>En un caso la máquina posée dos tarjetas de red
- Ethernet, cada una de ellas con una dirección de red
- independiente. En otro caso la máquina puede tener
- sólo una tarjeta de red, pero utilizar <quote>
- aliasing</quote> (&man.ifconfig.8;). El primer caso se utiliza cuando
- se necesita usar dos redes Ethernet al mismo tiempo mientras que el
- segundo caso se utiliza cuando se dispone de un único segmento
- de red físico pero se han definido dos redes lógicas
- distintas</para>
-
- <para>En cualquier caso la tabla de rutas se construye de tal forma
- que cada subred sepa que la máquina es la pasarela definida
- definida (<quote>inbound route</quote>) para la otra subred.
- Ésta configuración en la que la máquina
- actúa como <quote>router</quote> entre las dos subredes se
- usa a menudo
- cuando queremos implementar filtrado de paquetes o cortafuegos
- seguridad en un sentido o en ambos.</para>
-
- <para>Si queremos que dicha máquina encamine paquetes entre las
- dos interfaces es necesario decirle a FreeBSD que active dicha
- funcionalidad. En la siguiente sección se explica cómo
- hacerlo.</para>
- </sect2>
-
- <sect2 xml:id="network-dedicated-router">
- <title>Construcción de un <quote>route</quote></title>
-
- <indexterm><primary>router</primary></indexterm>
-
- <para>Un <quote>router</quote> de red, también llamado pasarela o
- <quote>route</quote>, es simplemente un sistema que reenvía
- paquetes desde un interfaz hacia otro interfaz. Los estándares
- Internet y el sentido común aplicado a la ingeniería de
- redes impiden que FreeBSD incluya por defecto ésta
- característica. Se puede activar cambiando a
- <literal>YES</literal> el valor de la siguiente variable en el fichero
- &man.rc.conf.5;:</para>
-
- <programlisting>gateway_enable=YES # Set to YES if this host will be a gateway</programlisting>
-
- <para>Esta opción modificará la variable de
- &man.sysctl.8; <varname>net.inet.ip.forwarding</varname> al valor
- <literal>1</literal>. Si en algún momento se necesita
- detener el <quote>router</quote> de forma temporal basta con
- asignar a dicha
- variable el valor <literal>0</literal>. Consulte &man.sysctl.8; para
- más detalles.</para>
-
- <para>Nuestro recién activado <quote>router</quote>
- necesita rutas para
- saber a dónde debe enviar el tráfico recibido.
- Si nuestra red es ña se pueden definir rutas estáticas.
- FreeBSD incluye por defecto el d&aelig;mon de encaminamiento BSD,
- &man.routed.8;, que admite RIP (versión 1 y versión 2)
- e IRDP. El paquete <package>net/zebra</package> le
- permitirá usar otros protocolos de encaminamiento
- dinámico como BGP v4, OSPF v2 y muchos otros.
- En caso de necesitar características avanzadas de
- gestión puede usted recurrir a productos comerciales como
- <application>&gated;</application>.</para>
-
-<indexterm><primary>BGP</primary></indexterm>
-<indexterm><primary>RIP</primary></indexterm>
-<indexterm><primary>OSPF</primary></indexterm>
-
- <para>Incluso cuando FreeBSD se configura del modo descrito no se
- cumple completamente con los estándares de Internet
- respecto a los <quote>routers</quote>. Bastará no obstante
- para poder usarse.</para>
- </sect2>
-
- <sect2>
- <info><title>Configuración de rutas estáticas</title>
- <authorgroup>
- <author><personname><firstname>Al</firstname><surname>Hoang</surname></personname><contrib>Escrito por</contrib></author>
- </authorgroup>
- </info>
- <!-- Feb 2004 -->
-
-
- <sect3>
- <title>Configuración manual</title>
-
- <para>Vamos a suponer que tenemos la siguiente topología de
- red:</para>
-
- <literallayout class="monospaced">
- INTERNET
- | (10.0.0.1/24) Router por defecto para Internet
- |
- |Interfaz xl0
- |10.0.0.10/24
- +------+
- | | RouterA
- | | (pasarela FreeBSD)
- +------+
- | Interfaz xl1
- | 192.168.1.1/24
- |
- +--------------------------------+
- Red Interna 1 | 192.168.1.2/24
- |
- +------+
- | | RouterB
- | |
- +------+
- | 192.168.2.1/24
- |
- Red Interna 2
- </literallayout>
-
- <para>En este escenario <systemitem>RouterA</systemitem> es nuestra
- máquina &os; que actúa como pasarela para acceder al
- resto de internet. Tiene una ruta por defecto que apunta a
- <systemitem class="ipaddress">10.0.0.1</systemitem> que le permite conectarse
- con el mundo exterior. Vamos a suponer también que
- <systemitem>RouterB</systemitem> se encuentra configurado de forma adecuada
- que sabe cómo llegar a cualquier sitio que necesite.
- Esto es sencillo viendo nuestra topología de red, basta
- con añadir una ruta por defecto en la máquina
- <systemitem>RouterB</systemitem> utilizando
- <systemitem class="ipaddress">192.168.1.1</systemitem> como
- <quote>router</quote>.</para>
-
- <para>Si observamos la tabla de rutas de
- <systemitem>RouterA</systemitem> veremos algo como lo siguiente:</para>
-
- <screen>&prompt.user; <userinput>netstat -nr</userinput>
-Routing tables
-
-Internet:
-Destination Gateway Flags Refs Use Netif Expire
-default 10.0.0.1 UGS 0 49378 xl0
-127.0.0.1 127.0.0.1 UH 0 6 lo0
-10.0.0/24 link#1 UC 0 0 xl0
-192.168.1/24 link#2 UC 0 0 xl1</screen>
-
- <para>Con la tabla de rutas actual <systemitem>RouterA</systemitem>
- no es capaz de alcanzar la red interna 2. Esto es así
- porque no posee ninguna ruta para la red
- <systemitem class="ipaddress">192.168.2.0/24</systemitem>. Una forma de
- mitigar esto es añadir de forma manual la ruta que falta. La
- siguiente orden añade la red interna 2 a la tabla de rutas
- de la máquina <systemitem>RouterA</systemitem>
- utilizando <systemitem class="ipaddress">192.168.1.2</systemitem> como siguiente salto:</para>
-
- <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
-
- <para>Ahora <systemitem>RouterA</systemitem> puede alcanzar cualquier
- máquina en la red
- <systemitem class="ipaddress">192.168.2.0/24</systemitem>.</para>
- </sect3>
-
- <sect3>
- <title>Cómo hacer la configuración persistente</title>
-
- <para>El ejemplo anterior es perfecto en tanto que resuelve el
- problema de encaminamiento entre redes pero existe un problema.
- La información de encaminamiento desaparecerá si se
- reinicia la máquina. La forma de evitarlo es
- añadir las rutas estáticas a
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting># Añade la red interna 2 como una ruta estática
-static_routes="redinterna2"
-route_internalnet2="-net 192.168.2.0/24 192.168.1.2"</programlisting>
-
- <para>La variable de configuración
- <literal>static_routes</literal> es una lista de cadenas
- separadas por espacios. Cada cadena identifica un nombre para la
- ruta que se desea definir. En el ejemplo anterior sólamente
- se dispone de una cadena dentro de la variable
- <literal>static_routes</literal>.
- Esta cadena es <replaceable>redinterna2</replaceable>. A
- continuación se añade otra variable de
- configuración denominada
- <literal>route_redinterna2</literal>
- donde se escriben todos los parámetros de
- configuración que normalmente utilizaríamos
- normalmente utilizaríamos con &man.route.8;.
- En el ejemplo que estamos comentando se utilizaría la
- siguiente orden:</para>
-
- <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
-
- <para>De tal forma que la variable debería contener
- <literal>"-net 192.168.2.0/24 192.168.1.2"</literal>.</para>
-
-
- <para>Como ya se ha comentado anteriormente podemos especificar
- más de una cadena en la variable
- <literal>static_routes</literal>. Esto nos permite crear varias
- rutas estáticas. Las siguientes línas muestran
- un ejemplo donde se añaden rutas estáticas para las
- redes <systemitem class="ipaddress">192.168.0.0/24</systemitem>
- y <systemitem class="ipaddress">192.168.1.0/24</systemitem> en un
- <quote>router</quote>imaginario:</para>
-
- <programlisting>static_routes="red1 red2"
-route_red1="-net 192.168.0.0/24 192.168.0.1"
-route_red2="-net 192.168.1.0/24 192.168.1.1"</programlisting>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Propagación de rutas</title>
- <indexterm><primary>routing propagation</primary></indexterm>
- <para>Ya hemos comentado cómo se definen las rutas para
- el mundo exterior pero no hemos comentado nada sobre cómo
- haremos que el mundo exterior nos encuentre a nosotros.</para>
-
- <para>También hemos aprendido que las tablas de rutas se
- pueden construír de tal forma que un grupo de tráfico
- (perteneciente a un espacio de direcciones determinado) se
- reenvíe a una máquina específica de la red,
- que se encargará de reenviar los paquetes hacia adentro.</para>
-
- <para>Cuando se obtiene un espacio de direcciones para la
- organización el proveedor de servicios modifica sus tablas de
- rutas para que todo el tráfico para nuestra subred se encamine
- a través del enlace PPP hasta alcanzarnos.
- Pero ?cómo conocen las organizaciones dispersas
- a través del país que deben enviar los paquetes
- dirigidos a nosotros hacia nuestro ISP?</para>
-
- <para>Existe un sistema (muy similar al sistema de nombres de
- dominio, DNS) que se encarga de controlar todos los espacios de
- direcciones que se encuentran actualmente repartidos y que
- además define sus puntos de conexión con el
- <quote>backbone</quote> de internet. El <quote>backbone</quote>
- está formado por las principales líneas de
- de comunicacion que se encargan de transportar el tráfico de
- internet a través del país y del mundo entero.
- Cada máquina del <quote>backbone</quote> dispone de una copia
- de un conjunto maestro de tablas de rutas gracias a las cuales pueden
- dirigir el tráfico para una red particular hacia una
- determinada red de transporte de dicho <quote>backbone</quote>.
- Una vez en la red de transporte adecuada el tráfico se encamina
- a través de un número indeterminado de redes de
- proveedores de servicio hasta que se alcanza la red de destino
- final.</para>
-
- <para>Una de las tareas que debe realizar el proveedor de servicio
- servicio consiste en anunciarse a las organizaciones del
- consiste en anunciarse a las organizaciones del
- <quote>backbone</quote> como el punto de conexión principal
- (y por tanto como el camino de entrada) para alcanzar las redes de
- sus clientes. Este proceso se denomina propagación de
- rutas.</para>
-
- </sect2>
-
- <sect2>
- <title>Solución de problemas</title>
- <indexterm>
- <primary><command>traceroute</command></primary>
- </indexterm>
- <para>En algunas ocasiones surgen problemas con la propagación
- de las rutas y algunas organizaciones son incapaces de conectarse con
- nuestra subred. Quizá la orden más útil para
- averiguar dónde se está interrumpiendo el sistema
- de encaminamiento sea &man.traceroute.8;. Se puede usar
- también cuando somos nosotros los que no podemos alcanzar
- alguna red externa (por ejemplo cuando &man.ping.8; falla).</para>
-
- <para>&man.traceroute.8; se ejecuta pasandole como parámetro el
- nombre de la máquina remota a la que nos queremos
- conectar. Esta orden muestra por pantalla lás máquinas
- que actúan de pasarela a lo largo del camino. El proceso
- termina bien porque se alcanza el destino o bien porque algún
- <quote>router</quote> intermedio no puede conectarse con el siguiente
- salto, o lo desconoce.</para>
-
- <para>Si quiere saber más sobre esto consulte la página
- man de &man.traceroute.8;.</para>
- </sect2>
-
- <sect2>
- <title>Rutas multicast</title>
- <indexterm>
- <primary>multicast</primary>
- <secondary>options MROUTING</secondary>
- </indexterm>
- <para>FreeBSD soporta tanto aplicaciones multicast como encaminamiento
- multicast de forma nativa. Las aplicaciones multicast no necesitan
- ninguna configuración especial en FreeBSD; estas aplicaciones
- se ejecutan tal cual. El encaminamiento multicast necesita para
- ser usado que se compile dicho soporte en el núcleo de
- FreeBSD:</para>
-
- <programlisting>options MROUTING</programlisting>
-
- <para>Se debe configurar además el d&aelig;mon de
- encaminamiento multicast, &man.mrouted.8;, para establecer
- túneles y ejecutar DVMRP utilizando
- <filename>/etc/mrouted.conf</filename>. Se pueden encontrar
- más detalles sobre cómo realizar una
- configuración de multicast en &man.mrouted.8;.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-wireless">
- <info><title>Redes sin cables (<quote>wireless</quote>)</title>
- <authorgroup>
- <author><personname><firstname>Eric</firstname><surname>Anderson</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>wireless networking</primary></indexterm>
- <indexterm>
- <primary>802.11</primary>
- <see>Redes sin cables</see>
- </indexterm>
-
- <sect2>
- <title>Introducción</title>
- <para>Puede resultar muy útil el ser capaz de utilizar una
- computadora sin la molestia de tener un cable de red colgando
- de la máquina en todo momento. FreeBSD puede utilizarse
- como un cliente de <quote>wireless</quote> e incluso como un
- <quote>punto de acceso</quote>.</para>
- </sect2>
-
- <sect2>
- <title>Modos de operación Wireless</title>
- <para>Existen dos formas diferentes de configurar dispositivos wireless
- 802.11: BSS e IBSS.</para>
-
- <sect3>
- <title>Modo BSS</title>
- <para>El modo BSS es el que se utiliza normalmente. Este modo
- también se denomina modo infraestructura. En
- esta configuración se conectan un determinado
- número de puntos de acceso a una red cableada. Cada red
- Cada red <quote>wireless</quote> posée su propio nombre.
- Este nombre es el SSID de la red.</para>
-
- <para>Los clientes <quote>wireless</quote> se conectan a estos puntos
- de acceso. El estándar IEEE 802.11 define el protocolo que
- se utiliza para realizar esta conexión. Un cliente
- <quote>wireless</quote> puede asociarse con una determinada red
- <quote>wireless</quote> especificando el SSID.
- Un cliente <quote>wireless</quote> también puede asociarse a
- cualquier red que se encuentre disponible; basta con no especificar
- ningún SSID.</para>
-
- </sect3>
-
- <sect3>
- <title>Modo IBSS</title>
- <para>El modo IBSS, también conocido como modo ad-hoc, se ha
- diseñado para facilitar las conexiones punto a punto.
- En realidad existen dos tipos distintos de modos ad-hoc. Uno es
- el modo IBSS, también conocido como modo ad-hoc o modo
- ad-hoc del IEEE. Este modo se encuentra especificado en el
- estándar IEEE 802.11. El segundo tipo se denomina modo
- ad-hoc de demostración o modo ad-hoc de Lucent (y algunas
- veces, también se le llama simplemente modo ad-hoc, lo cual
- es bastante confuso). Este es el modo de funcionamiento
- antíguo, anterior al estándar 802.11, del modo ad-hoc
- debería utilizarse sólo en instalaciones
- propietarias. No profundizaremos más sobre estos modos de
- funcionamiento.</para>
-
- </sect3>
- </sect2>
-
- <sect2>
- <title>Modo infraestructura</title>
- <sect3>
- <title>Puntos de acceso</title>
-
- <para>Los puntos de acceso son dispositivos de red
- <quote>wireless</quote> que funcionan de forma equivalente a los
- <quote>hubs</quote> o concentradores, permitiendo que varios clientes
- <quote> wireless</quote> se comuniquen entre sí.
- A menudo se utilizan varios puntos de acceso para cubrir un
- área determinada como una casa, una oficina u otro tipo de
- localización delimitada.</para>
-
- <para>Los puntos de acceso poseen típicamente varias
- conexiones de red: la tarjeta <quote>wireless</quote> y una o
- más tarjetas Ethernet que se utilizan para comunicarse con
- el resto de la red.</para>
-
- <para>Los puntos de acceso se pueden comprar como tales
- pero también se puede configurar un sistema FreeBSD para
- crear nuestro propio punto de acceso <quote>wireless</quote>
- utilizando un determinado tipo de tarjetas <quote>wireless</quote>
- que poseen tales capacidades de configuración.
- Existe una gran cantidad de fabricantes de hardware que distribuyen
- puntos de acceso y tarjetas de red <quote>wireless</quote>, aunque
- las capacidades de unos y otras varín.</para>
-
- </sect3>
-
- <sect3>
- <title>Construcción de un punto de acceso basado en
- &os;</title>
- <indexterm><primary>wireless networking</primary>
- <secondary>Punto de acceso</secondary>
- </indexterm>
-
- <sect4><title>Requisitos</title>
-
- <para>Para crear nuestro propio punto de acceso con FreeBSD
- debemos utilizar un determinado tipo de tarjeta
- <quote>wireless</quote>. Por el momento, sólo las tarjetas
- con el chip Prism nos permiten hacer un punto de acceso.
- También vamos a necesitar una tarjeta para red cableada que
- sea soportada por el sistema (esto no es muy complicado dada la
- ingente cantidad de dispositivos de este tipo que funcionan en
- FreeBSD). Para este ejemplo vamos a suponer que queremos puentear
- (&man.bridge.4;) todo el tráfico entre la red cableada y la
- red inalámbrica.</para>
-
- <para>El uso como punto de acceso <quote>wireless</quote>
- (también denominado <emphasis>hostap</emphasis>)
- funciona mejor con determinadas versiones del <quote>
- firmware</quote>. Las tarjetas con chip Prism2 deben disponer de
- la versión 1.3.4 (o superior) del <quote>
- firmware</quote>. Los chips Prism2.5 y Prism3 deben disponer de
- la versión 1.4.9 o superior del <quote>firmware</quote>.
- Las versiones más antíguas de estos <quote>
- firmwares</quote> pueden no funcionar correctamente. A día
- de hoy la única forma de actualizar el <quote>
- firmware</quote> de las tarjetas es usando las herramientas que
- proporciona el fabricante para &windows;.</para>
-
- </sect4>
-
- <sect4>
- <title>Puesta en marcha del sistema</title>
- <para>Primero debemos asegurarnos de que el sistema reconoce
- la tarjeta <quote>wireless</quote>:</para>
- <screen>&prompt.root; <userinput>ifconfig -a</userinput>
-wi0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
- inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
- ether 00:09:2d:2d:c9:50
- media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
- status: no carrier
- ssid ""
- stationname "nodo Wireless FreeBSD"
- channel 10 authmode OPEN powersavemode OFF powersavesleep 100
- wepmode OFF weptxkey 1</screen>
-
- <para>No se preocupe si no entiende algo de la configuración
- anterior, lo importante es asegurarse de que el sistema muestra
- algo parecido, lo cual nosindicará que la tarjeta
- <quote>wireless</quote> ha sido correctamente reconocida por
- FreeBSD. Si el interfaz inalámbrico no es reconocido
- correctamente y se está utilizando una tarjeta PC Card
- consulte &man.pccardc.8; y &man.pccardd.8;, en las que
- tiene mucha información al respecto.</para>
-
- <para>A continuación, para que podamos disponer de
- un <quote>bridge</quote> deberá cargar el módulo
- del kernel &man.bridge.4; por el sencillo procedimiento de
- ejecutar la siguiente orden:</para>
-
- <screen>&prompt.root; <userinput>kldload bridge</userinput></screen>
-
- <para>No debería aparecer mensaje de error alguno al ejecutar
- dicha orden. Si apareciera alguno quizás deba compilar
- el kernel del sistema con &man.bridge.4; incluído. La
- sección <link linkend="network-bridging">Bridging</link> de éste
- manual incluye información abundante para llevar a buen
- puerto esa tarea.</para>
-
- <para>Una vez que tenemos el soporte de <quote>bridging</quote>
- cargado debemos indicar a FreeBSD qué interfaces se desean
- puentear. Para ello emplearemos &man.sysctl.8;:</para>
-
- <screen>&prompt.root; <userinput>sysctl net.link.ether.bridge=1</userinput>
-&prompt.root; <userinput>sysctl net.link.ether.bridge_cfg="wi0,xl0"</userinput>
-&prompt.root; <userinput>sysctl net.inet.ip.forwarding=1</userinput></screen>
-
- <para>En &os;&nbsp;5.2-RELEASE y posteriores se deben emplear las
- siguientes opciones en lugar de las anteriormente expuestas:</para>
-
- <screen>&prompt.root; <userinput>sysctl net.link.ether.bridge.enable=1</userinput>
-&prompt.root; <userinput>sysctl net.link.ether.bridge.config="wi0,xl0"</userinput>
-&prompt.root; <userinput>sysctl net.inet.ip.forwarding=1</userinput></screen>
-
- <para>Ahora es el momento de configurar la tarjeta de red
- inalámbrica. La siguiente orden convierte la tarjeta en
- un punto de acceso:</para>
-
- <screen>
-&prompt.root; <userinput>ifconfig wi0 ssid mi_red channel 11 media DS/11Mbps mediaopt hostap up stationname "PA FreeBSD"</userinput>
- </screen>
-
- <para>La línea de &man.ifconfig.8; levanta el interfaz
- <filename>wi0</filename>, configura el SSID con el valor de
- <replaceable>mi_red</replaceable> y también el nombre
- de la estación como
- <replaceable>FreeBSD</replaceable>. La opción
- <option>media DS/11Mbps</option> configura la tarjeta a 11Mbps.
- Ésto es necesario para que cualquier valor que se necesite
- asignar a <option>mediaopt</option> surta efecto.
- La opción <option>mediaopt hostap</option> sitúa el
- interfaz en modo punto de acceso. La opción <option>
- channel 11</option> configura la tarjeta para que use el canal de
- radio número 11. En &man.wicontrol.8; encontraráa
- rangos de canales válidos para varios dominios
- regulatorios. Por favor, tenga en cuenta que no todos los canales
- son legales en todos los países.</para>
-
- <para>Despues de esto deberíamos disponer de un punto de
- acceso completamente funcional y en ejecución.
- Le animamos a consultar &man.wicontrol.8;, &man.ifconfig.8; y
- &man.wi.4; para máss información.</para>
-
- <para>También le recomemdamos leer la sección sobre
- cifrado que econtrará más adelante.</para>
- </sect4>
-
- <sect4>
- <title>Información de estado</title>
- <para>Una vez que el punto de acceso estáconfigurado
- resulta interesante poder obtener información acerca de los
- clientes que estén asociados. La persona encargada de la
- administración del punto de acceso puede ejecutar cuando
- estime oportuno lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>wicontrol -l</userinput>
-1 station:
-00:09:b7:7b:9d:16 asid=04c0, flags=3&lt;ASSOC,AUTH&gt;, caps=1&lt;ESS&gt;, rates=f&lt;1M,2M,5.5M,11M&gt;, sig=38/15
-</screen>
-
- <para>Lo que aquí se muestra indica que hay una única
- estación asociada y nos suministra sus parámetros.
- Los valores de señal que se muestran se deben tomar
- sólo como indicaciones aproximadas de la fuerza de dicha
- señal. Su traducción a dBm u otras unidades
- varía según la versión del <quote>
- firmware</quote> de la tarjeta que se use.</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Clientes</title>
-
- <para>Un cliente <quote>wireless</quote> es un sistema que se comunica
- con un punto de acceso o directamente con otro cliente
- <quote>wireless</quote>.</para>
-
- <para>Generalmente los clientes <quote>wireless</quote> sólo
- poseen un dispositivo de red: la tarjeta de red
- inalámbrica.</para>
-
- <para>Existen varias formas de configurar un cliente <quote>
- wireless</quote> basadas en los distintos modos
- inalámbricos, normalmente reducidos a BSS (o modo
- infraestructura, que requiere de un punto de acceso) y el
- modo IBSS (modo ad-hoc, o modo punto a punto). En nuestro ejemplo
- usaremos el más famoso de ambos, el BSS, para comunicarnos
- con un punto de acceso.</para>
-
- <sect4>
- <title>Requisitos</title>
- <para>Sólamente existe un requisito real para configurar
- un sistema FreeBSD como cliente inalámbrico: usar una
- tarjeta de red inalámbrica soportada por el sistema.</para>
- </sect4>
-
- <sect4>
- <title>Ejecución de un cliente inalámbrico &os;</title>
-
- <para>Para utilizar una red inalámbrica se necesitan
- conocer algunos conceptos básicos de redes
- de redes wireless. En nuestro ejemplo queremos conectarnos a la
- red inalámbrica <replaceable>mi_red</replaceable> y queremos
- hacerlo con el soporte de cifrado desactivado.</para>
-
- <note><para>En este ejemplo no se utiliza cifrado,
- lo cual resulta ser bastante peligroso. En la próxima
- sección aprenderemos cómo activar el sistema de
- cifrado común el los dispositivos
- inalámbricos, por qué resulta importante hacerlo
- y por qué algunas tecnologías de cifrado no son
- suficientes para protegernos completamente.</para></note>
-
- <para>Asegúrese de que FreeBSD reconoce su tarjeta de
- red inalámbrica:</para>
-
- <screen>&prompt.root; <userinput>ifconfig -a</userinput>
-wi0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
- inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
- ether 00:09:2d:2d:c9:50
- media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
- status: no carrier
- ssid ""
- stationname "FreeBSD Wireless node"
- channel 10 authmode OPEN powersavemode OFF powersavesleep 100
- wepmode OFF weptxkey 1</screen>
-
- <para>A continuación debemos especificar los
- parámetros correctos para nuestra red:</para>
-
- <screen>&prompt.root; <userinput>ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid mi_red</userinput></screen>
-
- <para>Sustituya <systemitem class="ipaddress">192.168.0.20</systemitem> y
- <systemitem class="netmask">255.255.255.0</systemitem> con una
- dirección IP y máscara de red que se
- adecúen con el espacio de direccionamiento de la red cableada.
- Recordemos que nuestro punto de acceso está puenteando la red
- inalámbrica y la red de cable, de modo que para el resto de
- dispositivos de la red el cliente inalábrico se muestra como
- un elemento más de la red cableada.</para>
-
- <para>Llegados a este punto deberíamos poder hacer ping a las
- máquinas de la red cableada como si estuviéramos
- compartiendo el mismo enlace físico cableado.</para>
-
- <para>Si se presentan problemas con la conexión
- inalámbrica se puede comprobar si la tarjeta <quote>
- wireless</quote> se encuentra correctamente asociada (conectada)
- con el punto de acceso:</para>
-
- <screen>&prompt.root; <userinput>ifconfig wi0</userinput></screen>
-
- <para>ebería devolver algún tipo de información
- entre la que deberíamos observar la siguiente
- línea:</para>
- <screen>status: associated</screen>
-
- <para>Si no aparece la palabra <literal>associated</literal> puede ser
- que nos encontremos fuera de la cobertura proporcionada por el punto
- de acceso o puede ser que necesitemos activar el cifrado, aunque
- éstos no son los únicos problemas con los que nos
- podemos encontrar.</para>
-
- </sect4>
- </sect3>
-
- <sect3>
- <title>Cifrado</title>
- <indexterm>
- <primary>wireless networking</primary>
- <secondary>encryption</secondary>
- </indexterm>
-
- <para>El cifrado, también llamado codificación, de una
- red inalámbrica es un proceso importante porque, a diferencia
- de lo que ocurre con las redes cableadas convencionales, las redes
- inalámbricas no se pueden restringir a un espacio
- físico determinado. Los datos que viajan a través de
- ondas de radio se difunden a través de las paredes y alcanzan
- a los vecinos más cercanos. Aquí es donde entra en
- en juego el sistema de cifrado. El cifrado se emplea para evitar que
- cualquiera pueda examinar los datos enviados a través del
- aire.</para>
-
- <para>Los dos métodos más comunes para realizar el cifrado
- de datos entre el cliente y el punto de acceso son WEP e
- &man.ipsec.4;.</para>
-
- <sect4>
- <title>WEP</title>
- <indexterm><primary>WEP</primary></indexterm>
-
- <para>WEP son las siglas de Wired Equivalency Protocol. WEP es un
- un intento de crear redes inalámbricas al menos tan seguras
- omo las redes cableadas o al menos de seguridad equivalente a dichas
- redes. Por desgracia el sistema WEP es débil y resulta
- bastante sencillo de romper. Esto significa que cuando se transmite
- información de carácter crítico no se debe
- confiar únicamente en este sistema de cifrado.</para>
-
- <para>No obstante es mejor que no utilizar nada; puede activar WEP en el
- sistema que hace de punto de acceso mediante:</para>
-
- <screen>&prompt.root; <userinput>ifconfig wi0 inet up ssid
- mi_red wepmode on wepkey
- 0x1234567890 media DS/11Mbps
- mediaopt hostap</userinput></screen>
-
- <para>y en un cliente inalámbrico mediante la siguiente
- orden:</para>
-
- <screen>&prompt.root; <userinput>ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid mi_red wepmode on wepkey 0x1234567890</userinput></screen>
-
- <para>Por favor, tenga un poco de sentido común y reemplace la
- clave <replaceable>0x1234567890</replaceable> por otra clave
- menos obvia.</para>
-
- </sect4>
-
- <sect4>
- <title>IPsec</title>
-
- <para>&man.ipsec.4; es una herramienta más robusta y potente para
- cifrar datos que se mueven a través de una red. Es el
- mecanismo más conveniente para asegurar los datos de una red
- inalámbrica. Tiene más información sobre el
- protocolo &man.ipsec.4; y cómo utilizarlo en la sección
- <link linkend="ipsec">IPsec</link> de este manual.</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Herramientas</title>
-
- <para>No hay muchas herramientas disponibles si se quiere depurar y
- monitorizar redes inalámbricas pero en el siguiente apartado
- mostraremos cómo utilizar algunas de ellas.</para>
- <sect4>
- <title>El paquete <application>bsd-airtools</application></title>
-
- <para>El paquete <application>bsd-airtools</application> es un
- conjunto muy completo de herramientas <quote>wireless</quote> que se
- pueden utilizar para multitud de tareas, entre las cuales podemos citar
- citar el desciframiento de claves WEP, detección de puntos de
- de acceso, monitorización de la señal de radio, etc.</para>
-
- <para>El paquete <application>bsd-airtools</application> se puede instalar
- como <quote>port</quote> desde <package>
- net/bsd-airtools</package>. La información relacionada con los
- <quote>ports</quote> puede encontrarse en la sección
- <xref linkend="ports"/> de este
- manual.</para>
-
- <para>El programa <command>dstumbler</command> es una herramienta que
- permite descubrir puntos de acceso y entre otras cosas muestra de forma
- gráfica la relación señal / ruido del enlace.
- Si se experimentan problemas para acceder a un determinado punto de
- acceso <command>dstumbler</command> puede ser muy útil.</para>
-
- <para>Para probar la seguridad de la red inalámbrica se puede usar
- <quote>dweputils</quote>, concretamente las órdenes <command>
- dwepcrack</command>, <command>dwepdump</command> y <command>
- dwepkeygen</command>. Estas órdenes permiten determinar hasta
- qué punto la seguridad que ofrece WEP es suficiente para nuestras
- necesidades.</para>
-
- </sect4>
-
- <sect4>
- <title>Las utilidades <command>wicontrol</command>,
- <command>ancontrol</command> y
- <command>raycontrol</command></title>
-
- <para>Mediante estas herramientas se puede controlar el comportamiento de
- la tarjeta de red inalámbrica. En los ejemplos anteriores se
- ha utilizado &man.wicontrol.8; debido a que la tarjeta de red del
- ejemplo utiliza el interfaz <filename>wi0</filename>. Si se
- posée una tarjeta <quote>wireless</quote> de Cisco dicha tarjeta
- se mostrará en el sistema mediante el interfaz <filename>
- an0</filename> y por lo tanto la orden equivalente que se debe usar
- será &man.ancontrol.8;.</para>
-
- </sect4>
-
- <sect4>
- <title><command>ifconfig</command></title>
- <indexterm><primary>ifconfig</primary></indexterm>
-
- <para>Con &man.ifconfig.8; se puede utilizar unas cuantas de las opciones
- que se pueden usar con &man.wicontrol.8;, pero no obstante no
- posée todas las funcionalidades que proporciona
- &man.wicontrol.8;. Se recomienda leer &man.ifconfig.8; para conocer los
- detalles de los parámetros y opciones que admite.</para>
-
- </sect4>
-
- </sect3>
-
- <sect3>
- <title>Tarjetas de Red inalámbricas soportadas</title>
- <sect4>
- <title>Puntos de acceso</title>
-
- <para>Las únicas tarjetas que soportan el modo de funcionamiento
- funcionamiento BSS (pueden funcionar como puntos de acceso) son los
- dispositivos basados en el chip Prism 2, 2.5 ó 3. Consulte
- &man.wi.4; para ver una lista completa de ellos.</para>
- </sect4>
-
- <sect4>
- <title>Clientes</title>
-
- <para>FreeBSD soporta casi todas las tarjetas inalámbricas 802.11b
- 802.11b que se encuentran actualmente en el mercado. La
- mayoría de las tarjetas basadas en los chips Prism, Spectrum24,
- Spectrum24, Hermes, Aironet y Raylink tambíen funcionan en modo
- IBSS (modos ad-hoc, punto a punto y BSS).</para>
-
- </sect4>
- </sect3>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-bluetooth">
- <info><title>Bluetooth</title>
- <authorgroup>
- <author><personname><firstname>Pav</firstname><surname>Lucistnik</surname></personname><contrib>Escrito por </contrib><affiliation>
- <address><email>pav@oook.cz</email></address>
- </affiliation></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>Bluetooth</primary></indexterm>
- <sect2>
- <title>Introducción</title>
- <para>Bluetooth es una tecnología inalámbrica que opera en
- banda de 2.4 GHz (donde no se necesita licencia). Se trata de una
- tecnología pensada para la creación de redes de
- ámbito personal (de cobertura reducida, normalmente de unos 10
- metros). Las redes se suelen construir en modo <quote>ad-hoc</quote>
- utilizando dispositivos heterogéneos como teléfonos
- móviles, dispositivos manuales (<quote>handhelds</quote>) y
- computadoras portátiles. A diferencia de otras
- tecnologías inalámbricas como Wi-Fi, Bluetooth ofrece
- perfiles de servicio más detallados; por ejemplo un perfil para
- actuar como un servidor de ficheros basado en FTP, para la
- difusión de ficheros (<quote>file pushing</quote>), para el
- transporte de voz, para la emulación de línea serie y
- muchos más.</para>
-
- <para>La pila de Bluetooth en &os; se implementa utilizando el entorno
- de Netgraph (véase &man.netgraph.4;). La mayoría de los
- dispositivos USB Bluetooth se pueden utilizar mediante el controlador
- &man.ng.ubt.4;. Los dispositivos Bluetooth basados en el chip Broadcom
- BCM2033 están soportados mediante los controladores
- &man.ubtbcmfw.4; y &man.ng.bt3c.4;. Los dispositivos Bluetooth
- basados en la interfaz serie o de Rayos Infrarrojos (UART) se
- controlan mediante &man.sio.4;, &man.ng.h4.4; y &man.hcseriald.8;.
- Este capítulo describe el uso de dispositivos Bluetooth USB.
- El soporte para Bluetooth se encuentra en las versiones de &os; 5.0 y
- posteriores.</para>
- </sect2>
-
- <sect2>
- <title>Instalación del dispositivo</title>
- <para>Por defecto los controladores de los dispositivos Bluetooth se
- encuentran disponibles como módulos del kernel. Antes de
- enchufar el dispositivo Bluetooth se debe cargar el módulo
- correspondiente dentro del núcleo.</para>
-
-
- <screen>&prompt.root; <userinput>kldload ng_ubt</userinput></screen>
-
- <para>Si el dispositivo Bluetooth se encuentra conectado cuando el
- sistema arranca se debe cargar el módulo modificando a tal
- efecto el fichero <filename>/boot/loader.conf</filename>.</para>
-
- <programlisting>ng_ubt_load="YES"</programlisting>
-
- <para>Al conectar el dispositivo Bluetooth aparecerá en la
- consola (o en syslog) la siguiente información:</para>
-
- <screen>ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
-ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
-ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
- wMaxPacketSize=49, nframes=6, buffer size=294</screen>
-
- <para>Se debe copiar
- <filename>/usr/share/examples/netgraph/bluetooth/rc.bluetooth</filename>
- a algún lugar más conveniente, por ejemplo
- <filename>/etc/rc.bluetooth</filename>. Este script se usa para
- ejecutar y detener la pila Bluetooth del sistema. Se suele recomendar
- quitar la pila antes de desenchufar el dispositivo pero si no se hace
- no debería producirse ningún desastre. Cuando se
- arranca la pila aparece un mensaje similar a este:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.bluetooth start ubt0</userinput>
-BD_ADDR: 00:02:72:00:d4:1a
-Features: 0xff 0xff 0xf 00 00 00 00 00
-&lt;3-Slot&gt; &lt;5-Slot&gt; &lt;Encryption&gt; &lt;Slot offset&gt;
-&lt;Timing accuracy&gt; &lt;Switch&gt; &lt;Hold mode&gt; &lt;Sniff mode&gt;
-&lt;Park mode&gt; &lt;RSSI&gt; &lt;Channel quality&gt; &lt;SCO link&gt;
-&lt;HV2 packets&gt; &lt;HV3 packets&gt; &lt;u-law log&gt; &lt;A-law log&gt; &lt;CVSD&gt;
-&lt;Paging scheme&gt; &lt;Power control&gt; &lt;Transparent SCO data&gt;
-Max. ACL packet size: 192 bytes
-Number of ACL packets: 8
-Max. SCO packet size: 64 bytes
-Number of SCO packets: 8</screen>
-
- </sect2>
-
- <sect2>
- <title>Interfaz de la controladora de la máquina (HCI)</title>
-
- <indexterm><primary>HCI</primary></indexterm>
-
- <para>La interfaz de la Controladora de la Máquina (Host
- Controller Interface) proporciona una interfaz de órdenes
- para la controladora de banda base y para el gestor de enlace,
- y permite acceder al estado del hardware y a los
- registros de control. Esta interfaz proporciona una capa de
- acceso homogénea para todos los dispositivos Bluetooth
- de banda base. La capa HCI de la máquina intercambia
- órdenes y datos con el firmware del HCI presente en el
- dispositivo Bluetooth. El driver de la capa de transporte de
- la controladora de la máquina
- (es decir, el driver del bus físico) proporciona
- ambas capas de HCI la posibilidad de intercambiar
- información entre ellas.</para>
-
- <para>Se crea un nodo Netgraph de tipo <emphasis>HCI</emphasis>
- para cada dispositivo Bluetooth. El nodo Netgraph HCI
- se conecta normalmente con el nodo que representa el
- controlador del dispositivo Bluetooth de la máquina
- (sentido de bajada) y con el nodo Netgraph L2CAP en el sentido
- de subida. Todas las operaciones HCI se realizan sobre el
- nodo Netgraph HCI y no sobre el el nodo que representa al
- dispositivo. El nombre por defecto para el nodo HCI es
- <quote>devicehci</quote>. Para obtener más detalles,
- por favor consulte la página del manual de
- &man.ng.hci.4;.</para>
-
- <para>Una de las tareas más importantes que se deben
- realizar es el descubrimiento automático de otros
- dispositivos Bluetooth que se encuentren dentro del radio de
- cobertura. Esta operación se denomina en inglés
- <emphasis>inquiry</emphasis> (consulta). Esta operación
- o otras operaciones HCI relacionadas se realizan mediante
- la utilidad &man.hccontrol.8;. El siguiente ejemplo muestra
- cómo descubrir dispositivos en pocos segundos.
- Tenga siempre presente que un dispositivo remoto sólo
- contesta a la consulta si se encuentra configurado en modo
- descubrimiento (<emphasis>discoverable mode</emphasis>).</para>
-
- <screen>&prompt.user; <userinput>hccontrol -n ubt0hci inquiry</userinput>
-Inquiry result, num_responses=1
-Inquiry result #0
- BD_ADDR: 00:80:37:29:19:a4
- Page Scan Rep. Mode: 0x1
- Page Scan Period Mode: 00
- Page Scan Mode: 00
- Class: 52:02:04
- Clock offset: 0x78ef
-Inquiry complete. Status: No error [00]</screen>
-
- <para><literal>BD_ADDR</literal> es la dirección
- identificativa única del dispositivo Bluetooth,
- similar a las direcciones MAC de las tarjetas Ethernet. Esta
- dirección se necesita para transmitir otro tipo de
- información a otros dispositivos. Se puede asignar un nombre
- más significativo para los humanos en la variable BD_ADDR.
- El fichero <filename>/etc/bluetooth/hosts</filename> contiene
- información relativa a los dispositivos Bluetooth conocidos.
- El siguiente ejemplo muestra cómo obtener un nombre
- significativo para los humanos que fué asignado a un
- dispositivo remoto:</para>
-
- <screen>&prompt.user; <userinput>hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4</userinput>
-BD_ADDR: 00:80:37:29:19:a4
-Name: Pav's T39</screen>
-
- <para>Si se realiza una consulta (inquiry) sobre el dispositivo
- Bluetooth remoto, dicho dispositivo identificará nuestro
- computador como <quote>nombre.de.su.sistema
- (ubt0)</quote>. El nombre asignado al dispositivo local se puede
- modificar en cualquier momento.</para>
-
- <para>El sistema Bluetooth proporciona una conexión punto a punto
- (con sólo dos unidades Bluetooth involucradas) o
- también una conexión punto multipunto. En el
- último caso, la conexión se comparte entre varios
- dispositivos Bluetooth. El siguiente ejemplo muestra como obtener una
- lista de las conexiones de banda base activas en el dispositivo
- local:</para>
-
- <screen>&prompt.user; <userinput>hccontrol -n ubt0hci read_connection_list</userinput>
-Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
-00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN</screen>
-
- <para>Resulta útil disponer de un <emphasis>manejador de
- la conexión</emphasis> cuando se necesita terminar la
- conexión de banda base. Es importante recalcar que normalmente
- no es necesario realizar esta terminación de forma manual.
- La pila Bluetooth puede concluír automáticamente las
- conexiones de banda base que se encuentren inactivas.</para>
-
- <screen>&prompt.root; <userinput>hccontrol -n ubt0hci disconnect 41</userinput>
-Connection handle: 41
-Reason: Connection terminated by local host [0x16]</screen>
-
- <para>Se ruega consultar la salida de la orden
- <command>hccontrol help</command> para obtener un listado completo de
- las órdenes HCI disponibles. La mayoría de
- estas órdenes no requiren privilegios de superusuario.</para>
-
- </sect2>
-
- <sect2>
- <title>Protocolo de adaptación y de control de enlace a
- nivel lógico (L2CAP)</title>
-
- <indexterm><primary>L2CAP</primary></indexterm>
-
- <para>El protocolo L2CAP (Logical Link Control and Adaptation
- Protocol) proporciona servicios de datos tanto orientados a
- conexión como no orientados a conexión a los protocolos
- de las capas superiores, junto con facilidades de
- multiplexación y de segmentacion y reensamblaje. L2CAP permite
- que los protocolos de capas superiores puedan transmitir y recibir
- paquetes de datos L2CAP de hasta 64 kilobytes de longitud.</para>
-
- <para>L2CAP se basa en el concepto de <emphasis>canales</emphasis>.
- Un canal es una conexión lógica que se sitúa
- sobre la conexión de banda base. Cada canal se asocia a un
- único protocolo. Cada paquete L2CAP que se recibe a un canal
- se redirige al protocolo superior correspondiente. Varios canales
- pueden operar sobre la misma conexión de banda base, pero un
- canal no puede tener asociados más de un protocolo de alto
- nivel.</para>
-
- <para>Para cada dispositivo Bluetooth se cre un único nodo
- Netgraph de tipo <emphasis>l2cap</emphasis>. El nodo L2CAP se conecta
- normalmente conectado al nodo Netgraph HCI (hacia abajo) y con nodos
- Bluetooth tipo <quote>sockets</quote> hacia arriba. El nombre por
- defecto para el nodo Netgraph L2CAP es <quote>devicel2cap</quote>.
- Para obtener más detalles se ruega consultar la página
- del manual &man.ng.l2cap.4;.</para>
-
- <para>&man.l2ping.8; le será muy útil para
- hacer ping a otros dispositivos. Algunas
- implementaciones de Bluetooth no devuelven todos los datos que se
- envían, de tal forma que el valor <emphasis>0 bytes</emphasis>
- que se observa a continuación es normal:</para>
-
- <screen>&prompt.root; <userinput>l2ping -a 00:80:37:29:19:a4</userinput>
-0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0
-0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0
-0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0
-0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0</screen>
-
- <para>La herramienta &man.l2control.8; se utiliza para realizar
- varias operaciones sobre los nodos L2CAP. Este ejemplo muestra
- cómo obtener la lista de conexiones lógicas (canales) y
- la lista de conexiones de banda base (física) que mantiene el
- dispositivo local:</para>
-
- <screen>&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_channel_list</userinput>
-L2CAP channels:
-Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State
-00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN
-&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_connection_list</userinput>
-L2CAP connections:
-Remote BD_ADDR Handle Flags Pending State
-00:07:e0:00:0b:ca 41 O 0 OPEN</screen>
-
- <para>Otra herramienta de diagnóstico interesante es
- &man.btsockstat.1;. Realiza un trabajo similar a la orden
- &man.netstat.1;, pero en este caso para las estructuras de datos
- relacionadas con el sistema Bluetooth. A continuación se
- muestra la información relativa a la misma conexión
- lógica del ejemplo anterior.</para>
-
- <screen>&prompt.user; <userinput>btsockstat</userinput>
-Active L2CAP sockets
-PCB Recv-Q Send-Q Local address/PSM Foreign address CID State
-c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN
-Active RFCOMM sessions
-L2PCB PCB Flag MTU Out-Q DLCs State
-c2afe900 c2b53380 1 127 0 Yes OPEN
-Active RFCOMM sockets
-PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State
-c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN</screen>
-
- </sect2>
-
- <sect2>
- <title>Protocolo RFCOMM </title>
-
- <indexterm><primary>RFCOMM</primary></indexterm>
-
- <para>El protocolo RFCOMM proporciona emulación de puertos serie
- a través del protocolo L2CAP. Este protocolo se basa en el
- estándar de la ETSI denominado TS 07.10. RFCOMM es un
- protoclo de transporte sencillo, con soporte para hasta 9 puertos
- serie RS-232 (EIATIA-232-E). El protocolo RFCOMM permite hasta 60
- conexiones simultaneas (canales RFCOMM) entre dos dispositivos
- Bluetooth.</para>
-
- <para>Para los propósitos de RFCOMM, un camino de
- comunicación involucra siempre a dos aplicaciones que se
- ejecutan en dos dispositivos distintos (los extremos de la
- comunicación). Entre ellos existe un segmento que los
- comunica. RFCOMM pretende cubrir aquellas aplicaciones que utilizan
- los puertos serie de las máquinas donde se ejecutan. El
- segmento de comunicación es un enlace Bluetooth desde un
- dispositivo al otro (conexión directa).</para>
-
-
- <para>RFCOMM trata únicamente con la conexión de
- dispositivos directamente, y también con conexiones entre el
- dispositivo y el modem para realizar conexiones de red. RFCOMM puede
- soportar otras configuraciones, tales como módulos que
- se comunican via Bluetooth por un lado y que proporcionan una interfaz
- de red cableada por el otro.</para>
-
- <para>En &os; el protocolo RFCOMM se implementa utilizando la
- capa de <quote>sockets</quote> de Bluetooth.</para>
- </sect2>
-
- <sect2>
- <title>Enparejamiento de dispositivos</title>
-
- <indexterm><primary>pairing</primary></indexterm>
-
- <para>Por defecto, la comunicación Bluetooth no se valida, por lo
- que cualquier dispositivo puede en principio hablar con cualquier
- otro. Un dispositivo Bluetooth (por ejemplo un teléfono
- celular) puede solicitar autenticación para realizar un
- determinado servicio (por ejemplo para el servicio de
- marcación por modem). La autenticación de Bluetooth
- normalmente se realiza utilizando <emphasis>códigos
- PIN</emphasis>. Un código PIN es una cadena ASCII de hasta
- 16 caracteres de longitud. Los usuarios deben introducir
- el mismo código PIN en ambos dispositivos. Una vez que el
- usuario ha introducido el PIN adecuado ambos dispositivos generan una
- <emphasis>clave de enlace</emphasis>. Una vez generada, la clave se
- puede almacenar en el propio dispositivo o en un dispositivo de
- almacenamiento externo. La siguiente vez que se comuniquen ambos
- dispositivos se reutilizará la misma clave. El procedimiento
- descrito hasta este punto se denomina
- <emphasis>emparejamiento (pairing)</emphasis>. Es importante recordar
- que si la clave de enlace se pierde en alguno de los dispositivos
- involucrados se debe volver a ejecutar el procedimiento de
- emparejamiento.</para>
-
- <para>El d&aelig;mon &man.hcsecd.8; se encarga de gestionar todas las
- peticiones de autenticación Bluetooth. El archivo de
- configuración predeterminado se denomina
- <filename>/etc/bluetooth/hcsecd.conf</filename>. A
- continuación se muestra una sección de ejemplo de un
- teléfono celular con el código PIN arbitrariamente
- fijado al valor <quote>1234</quote>:
- </para>
-
- <programlisting>device {
- bdaddr 00:80:37:29:19:a4;
- name "Pav's T39";
- key nokey;
- pin "1234";
- }</programlisting>
-
- <para>No existe ninguna limitación en los códigos PIN a
- excepción de su longitud. Algunos dispositivos (por ejemplo
- los dispositivos de mano Bluetooth) pueden obligar a escribir un
- número predeterminado de caracteres para el código
- PIN. La opción <option>-d</option> fuerza al d&aelig;mon
- &man.hcsecd.8; a permanecer ejecutádose en primer plano,
- de tal forma que se puede observar fácilmente lo que ocurre. Si
- se configura el dispositivo Bluetooth remoto para aceptar el
- procedimiento de emparejamiento y se inicia la conexión con
- dicho dispositivo, el dispositivo remoto debería decir que el
- procedimiento de emparejamiento se ha aceptado y debería
- solicitar el código PIN. Si se introduce el mismo
- código PIN que se escribió en su momento en el fichero
- <filename>hcsecd.conf</filename> el procedimiento de emparejamiento y
- de generación de la clave de enlace debería terminar
- satisfactoriamente. Por otra parte el procedimiento de emparejamiento
- se puede iniciar en el dispositivo remoto. A continuación
- se muestra un ejemplo de la salida del d&aelig;mon
- <command>hcsecd</command>.</para>
-
-<programlisting>hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
-hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist
-hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
-hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
-hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists
-hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4</programlisting>
-
- </sect2>
-
- <sect2>
- <title>Protocolo de descubrimiento de servicios (SDP)</title>
-
- <indexterm><primary>SDP</primary></indexterm>
-
- <para>El Protocolo de Descubrimiento de Servicios (Service
- Discovery Protocol o SDP) permite a las aplicaciones
- cliente descubrir la existencia de diversos servicios
- proporcionados por uno o varios servidores de aplicaciones,
- junto con los atributos y propiedades de los servicios que se
- ofrecen. Estos atributos de servicio incluyen
- el tipo o clase de servicio ofrecido y el mecanismo o la
- información necesaria para utilizar dichos servicios.</para>
-
- <para>SDP se basa en una determinada comunicación entre
- un servidor SDP y un cliente SDP. El servidor mantiene una lista de
- registros de servicios, los cuales describen las
- características de los servicios ofrecidos. Cada registro
- contiene información sobre un determinado servicio. Un cliente
- puede recuperar la información de un registro de servicio
- almacenado en un servidor SDP lanzando una petición SDP. Si el
- cliente o la aplicación asociada con el cliente decide utilizar
- un determinado servicio, debe establecer una conexión
- independiente con el servicio en cuestión. SDP proporciona un
- mecanismo para el descubrimiento de servicios y sus atributos
- asociados, pero no proporciona ningún mecanismo ni protocolo
- para utilizar dichos servicios.</para>
-
- <para>Normalmente, un cliente SDP realiza una búsqueda de
- servicios acotada por determinadas características. No obstante
- hay momentos en los que resulta deseable descubrir todos los
- servicios ofrecidos por un servidor SDP sin que pueda existir
- ningún conocimiento previo sobre los registros que pueda
- contener. Este proceso de búsqueda de cualquier servicio
- ofrecido se denomina <emphasis>navegación</emphasis> o
- <emphasis>browsing</emphasis>.</para>
-
- <para>El servidor Bluetooth SDP denominado &man.sdpd.8; y el cliente de
- línea de órdenes &man.sdpcontrol.8; se incluyen en
- la instalación estándar de &os;. El siguiente ejemplo
- muestra cómo realizar una consulta de navegación
- una consulta de navegación SDP.</para>
-
- <screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec browse</userinput>
-Record Handle: 00000000
-Service Class ID List:
- Service Discovery Server (0x1000)
-Protocol Descriptor List:
- L2CAP (0x0100)
- Protocol specific parameter #1: u/int/uuid16 1
- Protocol specific parameter #2: u/int/uuid16 1
-
-Record Handle: 0x00000001
-Service Class ID List:
- Browse Group Descriptor (0x1001)
-
-Record Handle: 0x00000002
-Service Class ID List:
- LAN Access Using PPP (0x1102)
-Protocol Descriptor List:
- L2CAP (0x0100)
- RFCOMM (0x0003)
- Protocol specific parameter #1: u/int8/bool 1
-Bluetooth Profile Descriptor List:
- LAN Access Using PPP (0x1102) ver. 1.0
-</screen>
-
- <para>... y así sucesivamente. Resulta importante resaltar una
- vez más que cada servicio posee una lista de atributos (por
- ejemplo en el canal RFCOMM). Dependiendo de los servicios que se
- quieran utilizar puede resultar necesario anotar algunos de los
- atributos. Algunas implementaciones de Bluetooth no soportan
- navegación de servicios y pueden devolver una lista
- vacía. En este caso se puede intentar buscar algún
- servicio determinado. El ejemplo siguiente muestra cómo buscar
- el servicio OBEX Object Push (OPUSH):</para>
-
- <screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH</userinput></screen>
-
- <para>En &os; los servicios a clientes Bluetooth se suministran mediante
- el servidor &man.sdpd.8;.</para>
- <screen>&prompt.root; <userinput>sdpd</userinput></screen>
-
- <para>La aplicación local servidora que quiere proporcionar
- servicio Bluetooth a los clientes remotos puede registrar su servicio
- con el d&aelig;mon SDP local. Un ejemplo de dicha aplicación
- Un ejemplo de dicha aplicación lo constituye el d&aelig;mon
- &man.rfcomm.pppd.8;.
- Una vez ejecutado el d&aelig;mon registra un servicio LAN de Bluetooth
- en el d&aelig;mon SDP local.</para>
-
- <para>Se puede obtener la lista de servicios registrados con el servidor
- SDP local lanzando una consulta de navegación SDP utilizando
- el canal de control local.</para>
-
- <screen>&prompt.root; <userinput>sdpcontrol -l browse</userinput></screen>
-
- </sect2>
-
- <sect2>
- <title>Acceso telefónico a redes (DUN) y acceso a redes mediante
- perfiles PPP (LAN)</title>
-
- <para>El perfil de Acceso Telefónico a Redes (Dial-Up Networking
- o DUN) se utiliza mayoritariamente con modems y teléfonos
- celulares. Los escenarios cubiertos por este perfil se describen a
- continuación:</para>
-
- <itemizedlist>
- <listitem><para>Utilización de un teléfono celular o un
- modem por una computadora para simular un modem sin cables
- que se conecte a un servidor de acceso telefónico a redes o
- para otros servicios de acceso telefónico relacionados;
- </para></listitem>
-
- <listitem><para>Utilización de un teléfono celular o un
- modem por un computador para recibir llamadas de datos.
- </para></listitem>
- </itemizedlist>
-
- <para>El Acceso a Redes con perfiles PPP (LAN) se puede utilizar en las
- siguientes situaciones:</para>
-
- <itemizedlist>
- <listitem><para>Acceso LAN para un único dispositivo Bluetooth;
- </para></listitem>
-
- <listitem><para>Acceso LAN para múltiples dispositivos
- Bluetooth;
- </para></listitem>
-
- <listitem><para>Conexión de PC a PC (utilizando
- emulación de PPP sobre una línea serie).
- </para></listitem>
- </itemizedlist>
-
- <para>En &os; ambos perfiles se implementan bajo las órdenes
- &man.ppp.8; y &man.rfcomm.pppd.8;, un encapsulador que convierte la
- conexión RFCOMM de Bluetooth en algo que puede ser utilizado
- por PPP. Antes de que se puedan utilizar los perfiles se debe
- definir una nueva etiqueta PPP en el fichero de configuración
- <filename>/etc/ppp/ppp.conf</filename>. Consulte &man.rfcomm.pppd.8;
- para ver algunos ejemplos.</para>
-
-
- <para>En el siguiente ejemplo se va a utilizar &man.rfcomm.pppd.8; para
- abrir una conexión RFCOMM con un dispositivo remoto con
- BD_ADDR 00:80:37:29:19:a4 sobre un canal RFCOMM basado en DUN (Dial-Up
- Networking). El número de canal RFCOMM se obtiene a partir del
- dispositivo remoto a través de SDP. Es posible especificar el
- canal RFCOMM a mano, en cuyo caso &man.rfcomm.pppd.8; no
- realizará ninguna consulta SDP. Se puede utilizar la orden
- &man.sdpcontrol.8; para descubrir el canal RFCOMM utilizado en el
- dispositivo remoto.</para>
-
- <screen>&prompt.root; <userinput>rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup</userinput></screen>
-
- <para>Para proporcionar el servicio de Acceso a Redes a través de
- PPP (LAN) se debe ejecutar el servidor &man.sdpd.8;. Se debe crear
- una nueva entrada en <filename>/etc/ppp/ppp.conf</filename>. Le
- rogamos que consulte &man.rfcomm.pppd.8; y observe los ejemplos que
- se facilitan. Por último se debe ejecutar el servidor PPP
- RFCOMM sobre un número de canal RFCOMM adecuado. El servidor
- PPP RFCOMM registrará automáticamente el servicio LAN
- de Bluetooth con el servidor SDP local. El ejemplo que se muestra a
- continuación describe cómo ejecutar el servidor PPP
- RFCOMM.</para>
-
- <screen>&prompt.root; <userinput>rfcomm_pppd -s -C 7 -l rfcomm-server</userinput></screen>
-
- </sect2>
-
- <sect2>
- <title>Perfil OBEX Object Push (OPUSH)</title>
-
- <indexterm><primary>OBEX</primary></indexterm>
-
- <para>OBEX es un protocolo muy utilizado para transferencias de ficheros
- sencillas entre dispositivos móviles. Su uso más
- importante se produce en comuncaciones por infrarrojos, donde se
- utiliza para transferencia de ficheros genéricos entre
- portátiles o dispositivos Palm y para enviar tarjetas de visita
- o entradas de la agenda entre teléfonos celulares y otros
- dispositivos con aplicaciones PIM.</para>
-
- <para>El cliente y el servidor de OBEX se implementan como un paquete
- denominado <application>obexapp</application> disponible como <quote>
- port</quote> en
- <package>comms/obexapp</package>.</para>
-
- <para>El cliente OBEX se utiliza para introducir y para recuperar
- recuperar objetos del servidor OBEX. Un objeto puede por ejemplo ser
- una tarjeta de visita o una cita. El cliente OBEX puede obtener un
- número de canal RFCOMM del dispositivo remoto utilizando SDP.
- Esto se hace especificando el nombre del servicio en lugar del
- número de canal RFCOMM. Los nombres de servicios soportados
- son: IrMC, FTRN y OPUSH. Es posible especificar el canal RFCOMM como
- un número. A continuación se muestra un ejemplo de una
- sesión OBEX donde el objeto que posee la información del
- dispositivo se recupera del teléfono celular y un nuevo objeto
- (la tarjeta de visita) se introduce en el directorio de dicho
- teléfono.</para>
-
- <screen>&prompt.user; <userinput>obexapp -a 00:80:37:29:19:a4 -C IrMC</userinput>
-obex&gt; get
-get: remote file&gt; telecom/devinfo.txt
-get: local file&gt; devinfo-t39.txt
-Success, response: OK, Success (0x20)
-obex&gt; put
-put: local file&gt; new.vcf
-put: remote file&gt; new.vcf
-Success, response: OK, Success (0x20)
-obex&gt; di
-Success, response: OK, Success (0x20)</screen>
-
- <para>Para proporcionar servicio de OBEX el servidor &man.sdpd.8; debe
- estar en funcionamiento. Además se debe crear un directorio
- raíz donde todos los objetos van a ser almacenados. La ruta
- por defecto para el directorio raíz es <filename>
- /var/spool/obex</filename>. Por último se debe ejecutar el
- servidor OBEX en un número de canal RFCOMM válido. El
- servidor OBEX registra automáticamente el servicio de Object
- Push con el d&aelig;mon SDP local. El ejemplo que se muestra a
- local. El ejemplo que se muestra a continuación
- continuación describe cómo ejecutar el servidor
- OBEX.</para>
-
- <screen>&prompt.root; <userinput>obexapp -s -C 10</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Perfil de puerto serie (SP) </title>
- <para>El perfil de puerto serie (Serial Port o SP) permite que
- dispositivos Bluetooth realicen emulación de RS232 (o
- similar). El escenario cubierto por este perfil trata con
- con aplicaciones comerciales que utilizan Bluetooth como un sustituto
- sustituto del cable, utilizando una capa de abstracción que
- representa un puerto serie virtual.</para>
-
- <para>La aplicación &man.rfcomm.sppd.1; implementa el perfil
- Puerto Serie. Usa una pseudo tty como abstracción de puerto
- serie virtual. El ejemplo de más abajo muestra cómo
- conectarse a un servicio de dispositivo remoto de Puerto Serie.
- Observe que no necesita especificarse el canal RFCOMM:
- &man.rfcomm.sppd.1; puede obtenerlo del dispotivo remoto via
- SDP. Si necesita especificarlo por alguna razón
- hágalo en la propia línea de órdenes.</para>
-
- <screen>&prompt.root; <userinput>rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6</userinput>
-rfcomm_sppd[94692]: Starting on /dev/ttyp6...</screen>
-
- <para>Una vez conectado el pseudo tty se puede utilizar como un puerto
- serie.</para>
-
- <screen>&prompt.root; <userinput>cu -l ttyp6</userinput></screen>
-
- </sect2>
-
- <sect2>
- <title>Solución de problemas</title>
-
- <sect3>
- <title>Un dispositivo remoto no puede conectarse</title>
-
- <para>Algunos dispositivos Bluetooh antiguos no soportan el cambio de
- cambio de roles. Por defecto,
- roles. Cuando &os; acepta una nueva conexión por defecto
- intenta realizar un cambio de rol y convertirse en maestro.
- Dispositivos que no son capaces de realizar este cambio no pueden
- conectarse. Es interesante resaltar que el cambio de roles se
- realiza cuando se está estableciendo una nueva
- conexión de tal forma que no es posible preguntar al
- dispositivo si soporta intercambio de roles. Existe una
- opción HCI para desactivar el intercambio de roles en la
- parte local.</para>
-
- <screen>&prompt.root; <userinput>hccontrol -n ubt0hci write_node_role_switch 0</userinput></screen>
-
- </sect3>
-
- <sect3>
- <title>Algo va mal ?puedo ver exactamente qué
- está ocurriendo?</title>
- <para>Sí, se puede. Utilice el paquete
- <application>hcidump-1.5</application>, que se puede descargar de
- <link xlink:href="http://www.geocities.com/m_evmenkin/">aquí</link>.
- La herramienta <application>hcidump</application> es similar a la
- herramienta &man.tcpdump.1;. Se puede utilizar para mostrar el
- contenido de los paquetes Bluetooth sobre el terminal y para volcar
- los paquetes Bluetooth a un fichero.</para>
-
- </sect3>
-
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="network-bridging">
- <info><title>Puenteado</title>
- <authorgroup>
- <author><personname><firstname>Steve</firstname><surname>Peterson</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <sect2>
- <title>Introducción</title>
- <indexterm><primary>IP subnet</primary></indexterm>
- <indexterm><primary>bridge</primary></indexterm>
- <para>Algunas veces resulta útil dividir una red física
- (como por ejemplo un segmento Ethernet) en dos segmentos de red
- separados, sin tener que crear subredes IP y sin utilizar una pasarela
- para comunicar ambos segmentos. El dispositivo que realiza esta
- función se denomina <quote>bridge</quote>. Un sistema FreeBSD
- con dos interfaces de red puede actuar como un <quote>bridge</quote>
- o puente entre ambas.</para>
-
- <para>El <quote>bridge</quote> funciona de tal forma que aprende las
- direcciones de la capa MAC (direcciones Ethernet) de los nodos que se
- encuentran conectados a cada interfaz de red de tal forma que
- sólo se reenvía tráfico entre los segmentos de
- red cuando las direcciones fuente y destino se encuentran separadas en
- segmentos distintos.</para>
-
- <para>En varios aspectos se puede comparar un <quote>bridge</quote> con
- un <quote>switch</quote> de pocos puertos.</para>
- </sect2>
-
- <sect2>
- <title>Situaciones donde el puenteado resulta adecuado</title>
-
- <para>Existen al menos dos situaciones típicas donde se puede
- utilizar la funcionalidad proporcionada por los <quote>
- bridges</quote>.</para>
-
-
- <sect3>
- <title>Tráfico de gran volumen en un segmentos de red</title>
-
- <para>La primera situación surge cuando nos encontramos con un
- segmento de red congestionado pero por las razones que sean no
- queremos subdividir la red e interconectar las nuevas subredes
- mediante un <quote>route</quote>.</para>
-
- <para>Vamos a considerar un ejemplo de un periódico donde los
- departamentos editoriales y de producción utilizan la misma
- subred. Los usuarios de la editorial utilizan el servidor
- <systemitem>A</systemitem> como servidor de ficheros y los de
- producción utilizan el servidor <systemitem>B</systemitem>. Se
- Se utiliza una red Ethernet para conectar ambos departamentos y se
- ha detectado que la alta utilización del enlace está
- ralentizando el funcionamiento de la red.</para>
-
-
- <para>Si los usuarios de la editorial pudieran agregarse en un
- segmento de red mientras que los usuarios de producción se
- localizaran en otro se podrían conectar ambos segmentos
- mediante un <quote>bridge</quote>. Sólo se utilizará
- el <quote>bridge</quote> para encaminar tráfico de red
- destinado a interfaces que se encuentren en el <emphasis>
- otro</emphasis> lado del <quote>bridge</quote>, reduciendo de esta
- forma la congestión en cada nuevo segmento.</para>
-
- </sect3>
-
- <sect3>
- <title>Cortafuegos de filtrado/conformación de tráfico
- </title>
- <indexterm><primary>firewall</primary></indexterm>
- <indexterm><primary>network address
- translation</primary></indexterm>
-
- <para>La segunda situación típica se produce cuando se
- necesita un cortafuegos pero no la Traducción de Direcciones
- de Red (NAT).</para>
-
- <para>A continuación se muestra un ejemplo. Una
- pequeña compañía se comunica con su ISP
- utilizando DSL o ISDN. Dicha compañía posee 13
- 13 direcciones IP globalmente accesibles delegadas por su ISP y tiene
- 10 ordenadores en funcionamiento. En esta situación un
- un cortafuegos basado en un <quote>router</quote> resulta
- difícil debido a la distribución del espacio de
- direccionamiento disponible (subnetting).</para>
-
- <indexterm><primary>router</primary></indexterm>
- <indexterm><primary>DSL</primary></indexterm>
- <indexterm><primary>ISDN</primary></indexterm>
- <para>Un cortafuegos implementado sobre un <quote>bridge</quote> se
- puede utilizar en el camino de bajado desde el ISP hasta las
- oficinas de la compañía sin necesidad de tener en
- cuenta ningún aspecto relacionado con la
- distribución de las direcciones IP.</para>
-
- </sect3>
- </sect2>
-
- <sect2>
- <title>Configuración de un <quote>bridge</quote></title>
-
- <sect3>
- <title>Selección de la interfaz de red</title>
-
- <para>Un <quote>bridge</quote> necesita al menos dos tarjetas de red
- situadas en dos segmentos de red para su funcionamiento. Por
- desgracia no todas las interfaces de red pueden usarse para el
- puenteo. Consulte &man.bridge.4;, ahín encontrará
- más información sobre qué tarjetas puede
- usar.</para>
-
- <para>Por favor, instale y pruebe las dos tarjetas de red antes de
- continuar.</para>
-
- </sect3>
-
- <sect3>
- <title>Cambios en la configuración del núcleo</title>
- <indexterm>
- <primary>kernel options</primary>
- <secondary>options BRIDGE</secondary>
- </indexterm>
-
- <para>Para activar el soporte de <quote>bridging</quote> en el
- núcleo añada</para>
-
- <programlisting>options BRIDGE</programlisting>
-
- <para>al fichero de configuración del núcleo y
- recompile el kernel.</para>
- </sect3>
-
- <sect3>
- <title>Soporte de cortafuegos</title>
- <indexterm><primary>firewall</primary></indexterm>
- <para>Si se desea utilizar el <quote>bridge</quote> como un
- cortafuegos, se debe añadir además la opción
- <literal>IPFIREWALL</literal>. Lea el capílo de
- firewalls <!--<xref linkend="firewalls"/>--> para obtener
- información general sobre cómo configurar el
- bridge para que actúe además como cortafuegos.</para>
-
- <para>Si además queremos que los paquetes que no sean IP (por
- ejemplo paquetes ARP) puedan atravesar el <quote>bridge</quote>
- deberemos añadir la opción
- <literal>IPFIREWALL_DEFAULT_TO_ACCEPT</literal>. Tenga en cuenta
- opción modifica el comportamiento del cortafuegos de tal
- forma que por defecto aceptará cualquier paquete. Hay que
- tener cuidado para asegurarse de que el comportamiento esperado del
- cortafuegos, que reside en el conjunto de reglas que se hayan
- definido, no se vea afectado por este cambio.</para>
-
- </sect3>
-
- <sect3>
- <title>Soporte de conformado de tráfico</title>
-
- <para>Si se quiere utilizar el <quote>bridge</quote> como un
- conformador de tráfico, es decir, como un elemento capaz de
- adaptar los distintos flujos según determinados patrones, se
- debe añadir la opción
- <literal>DUMMYNET</literal> a la configuración del
- núcleo. Se ruega consultar &man.dummynet.4; para obtener
- más información al respecto.</para>
-
- </sect3>
- </sect2>
-
- <sect2>
- <title>Cómo activar el <quote>bridge</quote></title>
-
- <para>Añadir la línea:</para>
-
- <programlisting>net.link.ether.bridge=1</programlisting>
-
- <para>en <filename>/etc/sysctl.conf</filename> para habilitar el
- soporte de <quote>bridging</quote> en tiempo de ejecución y la
- línea:</para>
-
- <programlisting>net.link.ether.bridge_cfg=<replaceable>if1</replaceable>,<replaceable>if2</replaceable></programlisting>
-
- <para>Para activar el <quote>bridging</quote> en las interfaces
- especificadas (sustituya
- <replaceable>if1</replaceable> y
- <replaceable>if2</replaceable> con los nombres de sus interfaces de
- red). Si deseamos filtrar los paquetes puenteados utilizando
- &man.ipfw.8;, debemos añadir también:</para>
-
- <programlisting>net.link.ether.bridge_ipfw=1</programlisting>
-
- <para>En &os;&nbsp;5.2-RELEASE y posteriores, se debe utilizar las
- siguientes líneas en lugar de las anteriores:</para>
-
- <programlisting>net.link.ether.bridge.enable=1
-net.link.ether.bridge.config=<replaceable>if1</replaceable>,<replaceable>if2</replaceable>
-net.link.ether.bridge.ipfw=1</programlisting>
-
- </sect2>
-
- <sect2>
- <title>Información adicional</title>
-
- <para>Si queremos ser capaces de conectarnos al <quote>bridge</quote>
- mediante &man.telnet.1; se puede asignar una dirección IP a
- una de las tarjetas de red del <quote>bridge</quote>. Por amplio
- consenso se considera una mala idea asignar más de una
- dirección IP al <quote>bridge</quote>.</para>
-
- <para>Si poseemos varios <quote>bridges</quote> en nuestra red
- sólamente puede existir un único camino entre
- cualesquiera dos máquinas de nuestra red.
- Técnicamente hablando esto significa que no existe soporte para
- gestión de enlace mediante mecanismos basados en
- árboles de recubrimiento mínimos (<quote>spanning
- tree</quote>).</para>
-
- <para>Un <quote>bridge</quote> puede añadir latencia a los tiempos
- de respuesta de la orden &man.ping.8;, especialmente cuando
- el tráfico tiene que viajar de un segmento de red al
- otro.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-nfs">
- <info><title>NFS</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Reorganizado y ampliado por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Bill</firstname><surname>Swingle</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>NFS</primary></indexterm>
- <para>FreeBSD soporta diversos sistemas de ficheros, uno de los
- cuales es el Sistema de Ficheros en Red, tambíen conocido
- por su acrónimo en inglés <acronym>NFS</acronym>.
- <acronym>NFS</acronym> permite compartir directorios y ficheros a
- través de la red. Los usuarios del sistema <acronym>
- NFS</acronym> pueden acceder a ficheros que se encuentran
- físicamente en máquinas remotas de una forma
- transparente, como si se tratara de ficheros locales.</para>
-
- <para>He aquí algunos los beneficios más destacados que
- <acronym>NFS</acronym> proporciona:</para>
-
- <itemizedlist>
- <listitem>
- <para>Las estaciones de trabajo locales utilizan menos espacio de
- disco debido a que los datos se encuentran centralizados en un
- único lugar pero pueden ser accedidos y modificados por
- varios usuarios, de tal forma que no es necesario replicar la
- información.</para>
- </listitem>
-
- <listitem>
- <para>Los usuarios no necesitan disponer de un directorio <quote>
- home</quote> en cada una de las máquinas de la
- organización. Los directorios <quote>home</quote> pueden
- crearse en el servidor de <acronym>NFS</acronym> para posteriormente
- poder acceder a ellos desde cualquier máquina a través
- de la infraestrutura de red.</para>
- </listitem>
-
- <listitem>
- <para>También se pueden compartir a través de la red
- dispositivos de almacenamiento como disqueteras, CDROM y unidades
- ZIP. Esto puede reducir la inversión en dichos dispositivos
- y mejorar el aprovechamiento del hardware existente en la
- organización.</para>
- </listitem>
- </itemizedlist>
-
- <sect2>
- <title>Cómo funciona <acronym>NFS</acronym></title>
-
- <para>El sistema <acronym>NFS</acronym> está dividido al menos en
- dos partes principales: un servidor y uno o más clientes.
- Los clientes acceden de forma remota a los datos que se encuentran
- almacenados en el servidor. Para que el sistema funcione
- correctamente se deben configurar y ejecutar unos cuantos
- procesos.</para>
-
- <note><para>En &os; 5.X se ha reemplazado <application>
- portmap</application> por <application>rpcbind</application>.
- de esta forma para los ejemplos que vamos a comentar a
- continuación se recuerda que en &os; 5.X se debe reemplazar
- cualquier instancia de <application>portmap</application> por
- <application>rpcbind</application>.</para></note>
-
- <para>El servidor de <acronym>NFS</acronym> debe ejecutar los siguientes
- d&aelig;mones:</para>
- <indexterm>
- <primary>NFS</primary>
- <secondary>server</secondary>
- </indexterm>
- <indexterm>
- <primary><application>portmap</application></primary>
- </indexterm>
- <indexterm>
- <primary><application>mountd</application></primary>
- </indexterm>
- <indexterm>
- <primary><application>nfsd</application></primary>
- </indexterm>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>D&aelig;mon</entry>
- <entry>Descripción</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><application>nfsd</application></entry>
- <entry>El d&aelig;mon<acronym>NFS</acronym>, que atiende
- peticiones de clientes <acronym>NFS</acronym>.</entry>
-
- </row>
- <row>
- <entry><application>mountd</application></entry>
- <entry>El d&aelig;mon de montaje de <acronym>NFS</acronym>,
- que transporta las peticiones que &man.nfsd.8; realiza.</entry>
- </row>
- <row>
- <entry><application>portmap</application></entry>
- <entry> El d&aelig;mon portmapper permite que los clientes
- <acronym>NFS</acronym> puedan descubrir qué puerto
- está utilizando el servidor de
- <acronym>NFS</acronym>.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>El cliente también puede ejecutar un d&aelig;mon conocido ,
- como <application>nfsiod</application>. El d&aelig;mon
- <application>nfsiod</application> atiende las peticiones provinientes
- del servidor <acronym>NFS</acronym>. Este d&aelig;mon es opcional y
- sirve para mejorar el rendimiento pero no es necesario para el
- funcionamiento correcto del sistema. Se recomienda consultar
- &man.nfsiod.8; para obtener más información.</para>
-
- </sect2>
-
- <sect2 xml:id="network-configuring-nfs">
- <title>Configuración de <acronym>NFS</acronym></title>
- <indexterm>
- <primary>NFS</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <para>La configuración de <acronym>NFS</acronym> es un proceso
- relativamente sencillo. Para que los procesos anteriormente descritos
- se ejecuten en tiempo de arranque del sistema, basta con realizar
- paqueñas modificaciones en <filename>/etc/rc.conf</filename>.
- </para>
-
- <para>En <filename>/etc/rc.conf</filename> del servidor de
- <acronym>NFS</acronym> se deben configurar las siguientes opciones:</para>
-
- <programlisting>portmap_enable="YES"
-nfs_server_enable="YES"
-mountd_flags="-r"</programlisting>
-
- <para><application>mountd</application> se ejecuta
- automáticamente cuando se activa el servidor
- <acronym>NFS</acronym>.</para>
-
- <para>En el cliente debemos asegurarnos de que se encuentra activada la
- activada la siguiente opción dentro de <filename>
- /etc/rc.conf</filename>:</para>
-
- <programlisting>nfs_client_enable="YES"</programlisting>
-
- <para>El archivo <filename>/etc/exports</filename> especifica los
- directorios o sistemas de ficheros que <acronym>NFS</acronym> exporta
- al exterior. Cada línea dentro de <filename>
- /etc/exports/</filename> especifia un sistema de ficheros y qué
- máquinas tienen derechos de acceso sobre dicho sistema.
- Además de los derechos de acceso se pueden definir otras
- opciones de acceso, tales como solo lectura o lectura y escritura.
- Existen multitud de opciones que pueden definirse sobre un directorio
- exportable pero en este manual sólo se van a comentar unas
- pocas. Consulte &man.exports.5; para obtener una descripción
- más detallada.</para>
-
- <para>Aquí se muestran algunos ejemplos de entradas para
- <filename>/etc/exports</filename>:</para>
-
- <indexterm>
- <primary>NFS</primary>
- <secondary>export examples</secondary>
- </indexterm>
-
- <para>El siguiente ejemplo proporciona una idea de cómo exportar
- sistemas de ficheros, aunque los parámetros pueden diferir
- dependiendo de su entorno y su configuración de red. En dicho
- ejemplo, se exporta el directorio <filename>/cdromm</filename> a tres
- máquinas que se encuentran en el mismo dominio que el servidor
- (de ahí que no se especifique ningún nombre de dominio
- para cada máquina) o que pueden estar dadas de alta en
- <filename>/etc/hosts</filename>. En cualquier caso la opción
- <option>-ro</option> configura el sistema de ficheros de red como
- <quote>sólo lectura</quote> (<quote>read-only</quote>).
- Con esta opción los sistemas remotos no serán capaces
- de realizar cambios sobre el sistema de ficheros exportados.</para>
-
- <programlisting>/cdrom -ro host1 host2 host3</programlisting>
-
- <para>La siguiente línea exporta el directorio
- <filename>/home</filename> a tres máquinas utilizando
- direcciones IP. Esto resulta útil cuando disponemos de una red
- privada pero no disponemos de ningún servidor de
- <acronym>DNS</acronym> configurado. También se podría
- configurar <filename>/etc/hosts</filename> para que resolviera
- nombres de máquinas internos; consulte &man.hosts.5; para
- obtener más información al respecto. La opción
- <option>-alldirs</option> permite que los subdirectorios del
- directorio <filename>/home</filename> tambíen se puedan utilizar
- como puntos de montaje. En otras palabras, esto permite que los
- clientes puedan trabajar sobre los subdirectorios en los que
- estén realmente interesados.</para>
-
- <programlisting>/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4</programlisting>
-
- <para>La siguiente línea exporta el directorio
- <filename>/a</filename> de tal forma que puedan acceder a dicho
- directorio dos máquinas situadas en distintos dominios. La
- opción <option>-maproot=root</option> permite que el usuario
- <systemitem class="username">root</systemitem> de la máquina cliente modifique los
- datos del sistema de ficheros en red como si fuera el usuario
- <systemitem class="username">root</systemitem> del servidor. Si no se especifica la
- opción <option>-maproot=root</option> el usuario
- <systemitem class="username">root</systemitem> del cliente puede no poseer los permisos
- necesarios para realizar modificaciones en el sistema de
- ficheros.</para>
-
- <programlisting>/a -maproot=root host.example.com box.example.org</programlisting>
-
- <para>Para que un cliente pueda acceder al sistema de ficheros exportado
- debe poseer permisos para ello. Debemos asegurarnos de que el cliente
- se encuentra listado en <filename>/etc/exports</filename>.</para>
-
- <para>Dentro de <filename>/etc/exports</filename> cada línea
- representa información de exportación de un sistema de
- ficheros para un determinado conjunto de máquinas. Una
- máquina sólo puede aparecer una vez dentro de un
- sistema de ficheros exportable y el archivo sólo puede tener
- una única entrada por defecto. Por ejemplo, si suponemos que
- <filename>/usr</filename> es un único sistema de ficheros la
- siguiente configuración de <filename>/etc/exports</filename>
- sería incorrecta:</para>
-
- <programlisting>/usr/src client
-/usr/ports client</programlisting>
-
- <para>Existe un sistema de ficheros, concretamente
- <filename>/usr</filename>, que posee dos líneas con reglas de
- exportación para la misma máquina,
- <systemitem>client</systemitem>. El formato correcto para esta
- situación sería el siguiente:</para>
-
- <programlisting>/usr/src /usr/ports client</programlisting>
-
- <para>Las propiedades de un sistemas de ficheros que se exporta al
- exterior deben aparecer agrupadas bajo la misma línea.
- Líneas que no poseen ningún cliente se tratan como si
- tuvieran una única máquina. Esto limita la forma en que
- pueden configurarse la exportaciones de sistemas de ficheros pero para
- la mayoría de la gente no suele ser un problema.</para>
-
- <para>El ejemplo que se muestra a continuación es una muestra de
- una lista de exportación correcta, donde <filename>
- /usr</filename> y <filename>/exports</filename> son sistemas de
- ficheros locales:</para>
-
- <programlisting># Exportar src y ports a cliente01 y cliente02, pero
-# solo el cliente01 tiene acceso root
-/usr/src /usr/ports -maproot=root cliente01
-/usr/src /usr/ports cliente02
-# Las maquinas cliente tienen acceso root y pueden montar todo lo que aparezca
-# en /exports. Cualquier sistema puede montar /exports/obj en modo
-# solo lectura
-/exports -alldirs -maproot=root cliente01 cliente02
-/exports/obj -ro</programlisting>
-
- <para>Se debe reiniciar el d&aelig;mon <application>mountd</application>
- siempre que se modifique el contenido del archivo
- <filename>/etc/exports</filename> para que los cambios surtan efecto.
- Esto se realiza enviando la señal HUP al proceso
- <command>mountd</command>:</para>
-
- <screen>&prompt.root; <userinput>kill -HUP `cat /var/run/mountd.pid`</userinput></screen>
-
- <para>También se puede reiniciar FreeBSD para que se cargue la
- nueva configuración pero este mecanismo no resulta necesario
- si se ejecutan las órdenes como
- <systemitem class="username">root</systemitem>, que ponen el servidor de
- <acronym>NFS</acronym> de nuevo en funcionamiento.</para>
-
- <para>En el servidor de <acronym>NFS</acronym>:</para>
-
- <screen>&prompt.root; <userinput>portmap</userinput>
-&prompt.root; <userinput>nfsd -u -t -n 4</userinput>
-&prompt.root; <userinput>mountd -r</userinput></screen>
-
- <para>En el cliente de <acronym>NFS</acronym>:</para>
-
- <screen>&prompt.root; <userinput>nfsiod -n 4</userinput></screen>
-
- <para>En este punto todo debería estar preparado para
- poder anclar el sistema de ficheros remoto en la máquina
- cliente. En los siguientes ejemplos el nombre del servidor es
- <systemitem>server</systemitem> y el punto de montaje temporal utilizado
- por el cliente es <systemitem>client</systemitem>. Si se desea montar el
- sistema de ficheros de forma temporal o simplemente comprobar que la
- configuración funciona sin problemas se puede ejecutar una
- orden como la que se muestra a continuación con permisos
- de <systemitem class="username">root</systemitem> en la máquina cliente:</para>
-
- <indexterm>
- <primary>NFS</primary>
- <secondary>mounting</secondary>
- </indexterm>
- <screen>&prompt.root; <userinput>mount server:/home /mnt</userinput></screen>
-
- <para>Esta orden ancla el directorio
- <filename>/home</filename> del servidor en el directorio
- <filename>/mnt</filename> del cliente. Si todo funciona correctamente
- debería poder entrar en el directorio
- <filename>/mnt</filename> del cliente y ver todos los ficheros que se
- encuentran en el directorio <filename>/home</filename> del servidor.
- </para>
-
- <para>Si queremos anclar automáticamente un sistema de ficheros
- remoto cuando la máquina está arrancando se puede
- añadir una línea como la siguiente dentro de
- <filename>/etc/fstab</filename>:</para>
-
- <programlisting>servidor:/home /mnt nfs rw 0 0</programlisting>
-
- <para>&man.fstab.5; comenta todas las opciones disponibles.</para>
- </sect2>
-
- <sect2>
- <title>Usos prácticos</title>
-
- <para>El protocolo <acronym>NFS</acronym> tiene múltiples usos
- prácticos. Los más típicos se enumeran a
- continuación:</para>
-
- <indexterm>
- <primary>NFS</primary>
- <secondary>uses</secondary>
- </indexterm>
- <itemizedlist>
- <listitem>
- <para>Compartición de la unidad de CDROM entre varias
- máquinas. Esto resulta ser más barato y una forma
- más conveniente para instalar software en varias
- máquinas.</para>
- </listitem>
-
- <listitem>
- <para>En grandes redes puede ser más adecuado configurar un
- servidor central de <acronym>NFS</acronym> en el cual se
- almacenen todos los <quote>homes</quote> de los distintos
- usuarios. Estos directorios se pueden exportar a través de
- la red de tal forma que los usuarios pueden trabajar con el mismo
- directorio independientemente de la máquina que utilicen.
- </para>
- </listitem>
-
- <listitem>
- <para>Varias máquinas pueden poseer el directorio
- <filename>/usr/ports/distfiles</filename> compartido. De
- este modo cuando necesitemos instalar un port en varias
- máquinas, se puede acceder rápidamente a las fuentes
- sin necesidad de bajarlas una vez para cada máquina.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2 xml:id="network-amd">
- <info><title>Anclajes automáticos usando <application>amd</application></title>
- <authorgroup>
- <author><personname><firstname>Wylie</firstname><surname>Stilwell</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Reescrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>amd</primary></indexterm>
- <indexterm><primary>automatic mounter daemon</primary></indexterm>
-
- <para>El d&aelig;mon &man.amd.8; (<quote>the automatic mounter
- daemon</quote>, o d&aelig;mon de montaje automático)
- automáticamente ancla un sistema de ficheros remoto cuando se
- tiene que acceder a un fichero perteneciente a dicho sistema. Los
- sistemas de ficheros que permanecen inactivos durante un determinado
- periodo de tiempo son automáticamente desmontados por el mismo
- d&aelig;mon. Este d&aelig;mon proporciona una alternativa sencilla a
- la utilización de los montajes permanentes que normalmente se
- especifican a través del fichero <filename>
- /etc/fstab</filename>.</para>
-
- <para><application>amd</application> trabaja actuando como un servidor
- servidor de NFS para los directorios
- <filename>/host</filename> y <filename>/net</filename>. Cuando se
- accede a algún fichero ubicado bajo estos directorios
- <application>amd</application> busca el punto de montaje remoto y
- automáticamente lo monta. El directorio <filename>
- /net</filename> se utiliza para anclar sistemas de ficheros remotos
- especificados mediante direcciones IP, mientras que el directorio
- <filename>/host</filename> almacena aquellos sistemas de ficheros
- remotos que han sido especificados mediante un nombre de
- máquina.</para>
-
- <para><application>amd</application> detecta cualquier intento
- de acceder a un fichero dentro del directorio
- <filename>/host/foobar/usr</filename> y se encarga de montar
- el sistema de ficheros remoto (<filename>/usr</filename>)
- en la máquina, en caso de que no estuviera ya
- anclado.</para>
-
- <example>
- <title>Anclaje de una exportación utilizando
- <application>amd</application></title>
-
- <para><command>showmount</command> muestra los
- puntos de montaje que posee una máquina remota. Por ejemplo
- para conocer los montajes de un máquina llamada
- <systemitem>foobar</systemitem>, se puede utilizar:</para>
-
- <screen>&prompt.user; <userinput>showmount -e foobar</userinput>
-Exports list on foobar:
-/usr 10.10.10.0
-/a 10.10.10.0
-&prompt.user; <userinput>cd /host/foobar/usr</userinput></screen>
- </example>
-
- <para>Como se observa en el ejemplo,
- <command>showmount</command> muestra el directorio
- <filename>/usr</filename>
- como una exportación. Cuando se cambia el directorio actual
- al directorio <filename>/host/foobar/usr</filename> el d&aelig;mon
- <application>amd</application> intenta resolver el nombre
- <systemitem>foobar</systemitem> y automáticamente ancla el sistema
- de ficheros remoto.</para>
-
- <para>El d&aelig;mon <application>amd</application> se puede ejecutar
- a partir de los scripts de inicio, utilizando la siguiente
- línea del archivo de configuración
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>amd_enable="YES"</programlisting>
-
- <para>Además, <application>amd</application> soporta opciones
- adicionales que pueden definirse mediante la variable
- <varname>amd_flags</varname>. Por defecto, la variable
- <varname>amd_flags</varname> posee las siguientes opciones:</para>
-
- <programlisting>amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"</programlisting>
-
- <para>El archivo <filename>/etc/amd.map</filename> define las opciones
- por defecto con las cuales se anclan los sistemas de ficheros
- remotos. El archivo <filename>/etc/amd.conf</filename> define algunas
- características avanzadas para el d&aelig;mon
- <application>amd</application>.</para>
-
- <para>Se ruega consultar las páginas del manual de &man.amd.8; y
- de &man.amd.conf.5; para obtener más información.</para>
- </sect2>
-
- <sect2 xml:id="network-nfs-integration">
- <info><title>Problemas de integración con otras plataformas</title>
- <authorgroup>
- <author><personname><firstname>John</firstname><surname>Lind</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <para>Determinados adaptadores Ethernet para sistemas basados en
- el bus ISA poseen restricciones que pueden producir serios problemas
- de red, en particular con el protocolo NFS. Estos problemas no son
- específicos de FreeBSD, pero los sistemas &os; se ven
- afectados por ellos.</para>
-
- <para>El problema surge casi siempre cuando el sistema (&os;)
- está empotrado dentro de una red compuesta por estaciones de
- trabajo de alto rendimiento, como por ejemplo estaciones de Silicon
- Graphics y de Sun Microsystems. El montaje del sistema de ficheros
- remoto suele funcionar perfectamente y algunas operaciones sobre el
- el sistema de ficheros pueden tener éxito pero de repente el
- el servidor que no responde a las peticiones del cliente, aunque
- peticiones y respuestas de otros clientes funcionan con normalidad y
- se continúan procesando. Esto sucede en los sistemas clientes,
- tanto en sistemas FreeBSD como en otras estaciones de trabajo.
- En muchos sistemas, lo único que se puede hacer es resetear
- la máquina de forma abrupta, ya que el bloqueo producido por el
- protocolo NFS no se puede solucionar.</para>
-
- <para>Aunque la solución <quote>correcta</quote> consiste en
- obtener un adaptador Ethernet con mayor rendimiento y capacidad,
- todavía se puede aplicar un parche sencillo que puede llegar a
- permitir un funcionamiento sin problemas. Si el sistema FreeBSD
- actúa como servidor de <emphasis>NFS</emphasis> se puede
- incluír la opción <option>w=1024</option> cuando el
- ejecute una petición de montaje sobre dicho servidor. Si &os;
- dicho servidor. Si &os; actúa como cliente de
- <emphasis>NFS</emphasis>, se puede ejecutar &man.mount.8; con el
- parámetro <option>-r=1024</option>. Estas opciones se pueden
- especificar en el <filename>/etc/fstab</filename> del cliente para que
- entren en funcionamiento cuando se realicen montajes
- automáticos y también se puede utilizar el
- parámetro <option>-o</option> de &man.mount.8; cuando se
- realicen montajes manuales.</para>
-
- <para>Resulta apropiado resaltar que existe un problema totalmente
- distinto que algunas veces se confunde con el que acabamos de
- describir, que aparece cuando el servidor y los clientes se encuentran
- en redes diferentes. Si nos encontramos en esta situación
- debemos <emphasis>asegurarnos</emphasis> de que nuestros <quote>
- routers</quote> están encaminando correctamente los paquetes
- UDP que genera el protocolo <acronym>NFS</acronym> pues en caso
- contrario el sistema no funcionará, independientemente de los
- ajustes que se realicen en el cliente o en el servidor.</para>
-
- <para>En los siguientes ejemplos <systemitem>fastws</systemitem> es el nombre de
- una estación de trabajo de altas prestaciones y <systemitem>
- freebox</systemitem> es el nombre de un sistema &os; con un adaptador
- Ethernet de bajas prestaciones. Se pretende además exportar el
- directorio <filename>/sfcompartido</filename> (ver &man.exports.5;) y
- el directorio <filename>/projecto</filename>. Tenga en cuenta que en
- cualquier caso puede resultar útil definir opciones adicionales
- a las que que se muestran en el siguiente ejemplo, como pueden ser
- <option>hard</option>, <option>soft</option> o
- <option>bg</option>. Esto dependerá de la aplicación
- que utilice el sistema de ficheros remoto.</para>
-
- <para>Ejemplos de configuración para el sistema &os;
- (<systemitem>freebox</systemitem>) que actúa como cliente.
- Configuración del archivo
- <filename>/etc/fstab</filename> de
- <systemitem>freebox</systemitem>:</para>
-
- <programlisting>fastws:/sfcompartido /projecto nfs rw,-r=1024 0 0</programlisting>
-
- <para>Orden de ejecución manual para
- <systemitem>freebox</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>mount -t nfs -o -r=1024 fastws:/sfcompartido /projecto</userinput></screen>
-
- <para>Ejemplos de configuración para el sistema &os; que
- actúa como servidor. Configuración de
- <filename>/etc/fstab</filename> de <systemitem>fastws</systemitem>:</para>
-
- <programlisting>freebox:/sfcompartido /projecto nfs rw,-w=1024 0 0</programlisting>
-
- <para>Orden de ejecución manual para
- <systemitem>fastws</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>mount -t nfs -o -w=1024 freebox:/sfcompartido /projecto</userinput></screen>
-
- <para>Casi cualquier adaptador Ethernet de 16 bits permite operar sin
- operar sin las restricciones anteriores sobre el tamaño de
- lectura o escritura especificado por defecto.</para>
-
- <para>Por si alguien estuviera interesado a continuación se
- muestra el error que aparece en estos casos, lo cual explica por
- qué decimos que el error resulta irrecuperable. NFS trabaja
- típicamente con un tamaño de <quote>bloque</quote>
- de 8&nbsp;K (aunque se pueden producir fragmentos de menor
- tamaño). Debido a que el máximo tamaño de los
- paquetes Ethernet se encuentra alrededor de los 1500&nbsp;bytes el
- <quote>bloque</quote> de NFS se trocea en varios paquetes Ethernet
- aunque desde el punto de vista del protocolo NFS se trata como si
- fuese un único paquete. Los trozos deben reensamblarse en el
- destino y se debe enviar una <emphasis>confirmación</emphasis>
- para el bloque recibido. Las estaciones de trabajo de altas
- prestaciones pueden soltar paquetes NFS de forma contínua uno
- después de otro, lo más juntos posible. Por otro lado
- en las tarjetas de red más pequeñas y de menor
- capacidad puede ocurrir que un paquete recien llegado a la tarjeta
- sobreescriba información perteneciente a un paquete anterior
- antes de que llegue a ser transmitido completamente, de tal forma que
- al recibirse el bloque NFS no puede ser ni reconstruido ni
- ni reconocido. Como resultado de este proceso la máquina
- tratará de enviar el mismo paquete transcurridos unos instantes
- de espera, pero se tratarán de enviar de nuevo los 8&nbsp;K
- que constituyen un bloque NFS, y de esta forma se repetirá el
- el proceso, así hasta el infinito.</para>
-
- <para>Si se mantiene el tamaño del bloque por debajo del
- tamaño de paquete máximo de Ethernet, podemos asegurar
- que cualquier paquete Ethernet transporta un bloque NFS, el cual
- puede asentirse individualmente, evitando así la
- explosión de paquetes y el eventual bloqueo del sistema.</para>
-
- <para>Desbordamientos circulares del <quote>buffer</quote> (<quote>
- overruns</quote>) pueden producirse si nos encontramos con una
- estación de trabajo de altas prestaciones que envía
- contínuamente mucho tráfico a un sistema convencional,
- pero con tarjetas Ethernet de buena calidad, estos desbordamientos
- resultan altamente improbables para el caso de los tamaños de
- bloque por defecto generados por el sistema NFS. Cuando se produce un
- desbordamiento, las unidades afectadas se retransmiten, y
- existe una gran probabilidad de que se reciban, se reensamblen
- y se confirmen.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-diskless">
- <info><title>Ejecución sin disco duro</title>
- <authorgroup>
- <author><personname><firstname>Jean-François</firstname><surname>Dock&egrave;s</surname></personname><contrib>Actualizado por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Alex</firstname><surname>Dupre</surname></personname><contrib>Reorganizado y ampliado por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>diskless workstation</primary></indexterm>
- <indexterm><primary>diskless operation</primary></indexterm>
-
- <para>Una máquina &os; se puede arrancar a través
- de la red y operar sin que necesite poseer ningún disco,
- utilizando sistemas de ficheros de un servidor de
- <acronym>NFS</acronym>. No se necesita realizar ninguna
- modificación al sistema, salvo configurar determinados ficheros.
- Este tipo de sistemas se pueden configurar fácilmente puesto
- que &os; dispone de todos los elementos necesarios:</para>
-
- <itemizedlist>
- <listitem>
- <para>Existen al menos dos formas de cargar el núcleo
- del sistema operativo a través de la red:</para>
- <itemizedlist>
- <listitem>
- <para><acronym>PXE</acronym>: El sistema de &intel; conocido como
- Preboot Execution Environment. Se trata de una especie de
- arranque inteligente a partir de una memoria de sólo
- lectura (ROM) que se encuentra en algunas placas bases y
- tarjetas de red. Se puede obtener más información
- en &man.pxeboot.8;.</para>
- </listitem>
- <listitem>
- <para>El port <application>etherboot</application>
- (<package>net/etherboot</package>)
- genera código de sólo lectura (código ROM)
- que se puede utilizar para arrancar máquinas a
- través de la red. Dicho código se puede instalar
- en una memoria de arranque tipo PROM en algunas tarjetas de red
- o se puede cargar en una disquetera (o disco duro), y
- también en un sistema de ficheros &ms-dos; que
- esté en ejecución. Varias tarjetas de red soportan
- este mecanismo.</para>
- </listitem>
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>Existe un script de ejemplo
- (<filename>/usr/share/examples/diskless/clone_root</filename>) que
- facilita la creación y el mantenimiento del sistema de
- ficheros raíz de la estación de trabajo en el
- servidor. La configuración de este <quote>script</quote> se
- debe retocar ligeramente pero sirve como punto de partida para
- comenzar rápidamente.</para>
- </listitem>
-
- <listitem>
- <para>Existen ficheros estándar de arranque bajo
- <filename>/etc</filename> que dan soporte al arranque de
- máquinas sin disco.</para>
- </listitem>
-
- <listitem>
- <para>El <quote>swapping</quote>, en caso de ser necesario, se puede
- realizar usando <acronym>NFS</acronym> y tambíen
- usando un disco duro local.</para>
- </listitem>
- </itemizedlist>
-
- <para>Existen varias formas de ejecutar una estación de trabajo sin
- discos. En el proceso se involucran distintos elementos y la
- mayoría se pueden adaptar a las necesidades del usuario.
- A continuación se describen variaciones sobre la
- configuración de un sistema sin discos, haciendo incapié
- en la simplicidad y compatibilidad con los <quote>scripts</quote> de
- arranque de &os;. El sistema que vamos a describir tiene las
- siguientes características.</para>
-
- <itemizedlist>
- <listitem>
- <para>Las estaciones de trabajo sin disco utilizan un sistema
- de ficheros <filename>raíz</filename> de sólo lectura
- y un sistema de ficheros compartido, también de
- sólo lectura, bajo <filename>/usr</filename>.</para>
-
-
- <para>El sistema de ficheros <filename>raíz</filename>
- es una copia del sistema raíz estandar de &os; (normalmente
- del sistema raíz del servidor), donde se sobreescriben
- algunos archivos de configuración necesarios para la
- ejecución sin discos y para la configuración local
- específica de la máquina objetivo.</para>
-
- <para>Las partes del sistema de ficheros
- <filename>raíz</filename> que tiene que tener permisos de
- lectura y escritura se superponen con los sistemas de ficheros
- &man.mfs.8; (&os;&nbsp;4.X) o &man.md.4;. Cualquier cambio que se
- produzca en dichas partes se perderá cuando se reinicie el
- sistema.</para>
- </listitem>
- <listitem>
- <para>El núcleo se transmite y se carga utilizando
- <application>etherboot</application> o bien
- <acronym>PXE</acronym>, dependiendo del hardware y los mecanismos
- que se soporten.</para>
- </listitem>
- </itemizedlist>
-
- <caution><para>Como se ha comentado con anterioridad estos sistemas son
- inseguros. Se debe confinar dentro de una red protegida y el resto
- de las máquinas por defecto no deben confiar en estos
- métodos.</para>
- </caution>
-
- <para>Toda la información que se presenta en esta
- sección se ha probado utilizando &os; 4.9-RELEASE y
- 5.2.1-RELEASE. El texto se encuentra estructurado principalmente para
- utilización en sistemas 4.X. Se insertan notas para indicar
- cambios producidos en las versiones 5.X.</para>
-
- <sect2>
- <title>Conocimientos previos</title>
-
- <para>Configurar estaciones de trabajo sin discos es una
- operación relativamente sencilla pero en la que pueden
- cometerse errores. Estos errores resultan algunas veces
- difíciles de diagnosticar debido a razones que vamos a
- exponer a continuación. Por ejemplo:</para>
-
- <itemizedlist>
- <listitem>
- <para>Diferentes opciones de tiempo de compilación pueden
- determinar comportamientos distintos en tiempo de
- ejecución.</para>
- </listitem>
-
- <listitem>
- <para>Los mensajes de error a menudo resultan crípticos o
- incluso no existen.</para>
- </listitem>
- </itemizedlist>
-
- <para>Se se quieren resolver los posibles problemas que puedan surgir
- resulta muy útil conocer el funcionamiento conceptual del
- mecanismo.</para>
-
- <para>Para que el arranque se produzca exitosamente se deben realizar
- varias operaciones:</para>
-
- <itemizedlist>
- <listitem>
- <para>La máquina necesita obtener algunos
- parámetros iniciales, tales como su dirección IP,
- el fichero ejecutable, el nombre del servidor y la ruta
- raíz. Esto se realiza utilizando los protocolos
- <acronym>DHCP</acronym> o <acronym>BOOTP</acronym>.
- <acronym>DHCP</acronym> es una extensión compatible del
- protocolo <acronym>BOOTP</acronym> y utiliza los mismos
- números de puertos y los mismos formatos de paquete
- básicos.</para>
-
- <para>Es posible configurar un sistema de tal forma que utilice
- sólamente <acronym>BOOTP</acronym>. En el sistema base de
- &os; se incluye el programa servidor &man.bootpd.8;.</para>
-
- <para>No obstante <acronym>DHCP</acronym> posee varias ventajas sobre
- BOOTP (archivos de configuración más limpios,
- posibilidad de ejecutar <acronym>PXE</acronym>, junto con otras
- características que no se relacionan directamente con el
- tema que estamos tratando tratando) por lo que principalmente se
- va a describir la configuración de <acronym>DHCP</acronym>,
- proporcionando ejemplos equivalentes en &man.bootpd.8; siempre que
- sea posible. La configuración de ejemplo se basa en el
- paquete software de <application>ISC DHCP</application> (en el
- servidor de prueba se instaló la versión
- 3.0.1.r12).</para>
- </listitem>
-
- <listitem>
- <para>La máquina sin disco necesita transferir uno o varios
- programas a la memoria local. Para ello se usa
- <acronym>TFTP</acronym> o bien <acronym>NFS</acronym>.
- La elección entre ambos se produce mediante la
- configuración de la compilación que se produce en
- varios lugares. Una fuente de error típica aparece cuando
- se especifican ficheros con el protocolo incorrecto:
- <acronym>TFTP</acronym> normalmente transfiere todos los ficheros
- desde un único directorio del servidor, de modo que espera
- nombres de ficheros relativos a dicho directorio. Por otro lado
- <acronym>NFS</acronym> necesita recibir rutas de fichero
- absolutas.</para>
-
- </listitem>
-
- <listitem>
- <para>El kernel y los programas de arranque intermedios deben ser
- inicializados y ejecutados. Existen diferencias importantes en
- este área:</para>
-
- <itemizedlist>
- <listitem>
- <para><acronym>PXE</acronym> carga &man.pxeboot.8;, una
- versión modificada de la tercera fase del cargador de
- arranque de &os;. &man.loader.8; obtiene la mayoría de
- los parámetros necesarios para arrancar el sistema
- y los deposita en variables de entorno del kernel antes de
- tranferir el control. En este caso es posible utilizar un
- un núcleo <filename>GENERIC</filename>
- .</para>
- </listitem>
-
- <listitem>
- <para><application>etherboot</application> carga directamente el
- directamente el núcleo con menos trabajo previo que
- el método anterior. Para ello se debe compilar un
- núcleo con ciertas opciones.</para>
- </listitem>
- </itemizedlist>
-
- <para><acronym>PXE</acronym> y <application>etherboot</application>
- funcionan muy bien en los sistemas 4.X. Dado que los
- núcleos de los sistemas 5.X permiten que el &man.loader.8;
- realice más tareas, se prefiere usar <acronym>
- PXE</acronym>.</para>
-
- <para>Si su <acronym>BIOS</acronym> y su tarjeta de red soportan
- <acronym>PXE</acronym> lo normal es utilizarlo. No obstante se
- puede arrancar un sistema 5.X utilizando <application>
- etherboot</application>.</para>
- </listitem>
-
- <listitem>
- <para>Para acabar la tarea la máquina necesita acceder al
- sistema de ficheros. En todos los casos se utiliza
- <acronym>NFS</acronym>.</para>
- </listitem>
- </itemizedlist>
-
- <para>No olvide consultar &man.diskless.8;.</para>
- </sect2>
-
- <sect2>
- <title>Instrucciones de configuración</title>
-
- <sect3>
- <title>Configuración utilizando <application>ISC
- DHCP</application></title>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
-
- <para>El servidor <application>ISC DHCP</application> puede
- responder tanto a peticiones de BOOTP como a peticiones de
- <acronym>DHCP</acronym>.</para>
-
- <para><application>ISC DHCP</application> no forma parte de
- la versión 4.9 de &os; por lo que se debe instalar el port
- <package>net/isc-dhcp3-server</package> o el
- paquete correspondiente. Por favor, consulte <xref linkend="ports"/> para obtener
- más información sobre los ports y los
- paquetes.</para>
-
- <para>Una vez que <application>ISC DHCP</application> se encuentra
- instalado necesita un fichero de configuración para poder
- ejecutarse
- <filename>/usr/local/etc/dhcpd.conf</filename>). A
- continuación se muestra un ejemplo comentado, donde la
- máquina <systemitem>margaux</systemitem> utiliza
- <application>etherboot</application> y
- la máquina <systemitem>corbieres</systemitem> utiliza
- <acronym>PXE</acronym>:</para>
-
- <programlisting>
-default-lease-time 600;
-max-lease-time 7200;
-authoritative;
-
-option domain-name "example.com";
-option domain-name-servers 192.168.4.1;
-option routers 192.168.4.1;
-
-subnet 192.168.4.0 netmask 255.255.255.0 {
- use-host-decl-names on; <co xml:id="co-dhcp-host-name"/>
- option subnet-mask 255.255.255.0;
- option broadcast-address 192.168.4.255;
-
- host margaux {
- hardware ethernet 01:23:45:67:89:ab;
- fixed-address margaux.example.com;
- next-server 192.168.4.4; <co xml:id="co-dhcp-next-server"/>
- filename "/data/misc/kernel.diskless"; <co xml:id="co-dhcp-filename"/>
- option root-path "192.168.4.4:/data/misc/diskless"; <co xml:id="co-dhcp-root-path"/>
- }
- host corbieres {
- hardware ethernet 00:02:b3:27:62:df;
- fixed-address corbieres.example.com;
- next-server 192.168.4.4;
- filename "pxeboot";
- option root-path "192.168.4.4:/data/misc/diskless";
- }
-}
- </programlisting>
-
- <calloutlist>
- <callout arearefs="co-dhcp-host-name"><para>Esta
- opción indica a
- <application>dhcpd</application> que envíe el
- valor que se encuentra en las declaraciones
- de <literal>host</literal> como el nombre de
- máquina para la máquina sin disco. Otra forma
- de hacer esto sería añadiendo una opción
- <literal>option host-name
- margaux</literal> dentro de las
- declaraciones de máquina.</para>
- </callout>
-
- <callout arearefs="co-dhcp-next-server"><para>La directiva
- <literal>next-server</literal> selecciona el servidor
- de <acronym>TFTP</acronym> o de <acronym>NFS</acronym>
- que se debe utilizar para cargar el núcleo
- o el fichero cargador del núcleo (por defecto se
- utiliza la misma máquina que actúa como servidor
- de <acronym>DHCP</acronym>).</para>
- </callout>
-
- <callout arearefs="co-dhcp-filename"><para>La directiva
- <literal>filename</literal> define el archivo que
- <application>etherboot</application> o <acronym>PXE</acronym>
- cargará en el siguiente paso de ejecución.
- Debe especificarse de acuerdo con el método de
- transferencia seleccionado.
- <application>Etherboot</application> se puede compilar para
- que use <acronym>NFS</acronym> o <acronym>TFTP</acronym>. El
- sistema &os; se configura por defecto para <acronym>
- NFS</acronym>.
- <acronym>PXE</acronym> utiliza <acronym>TFTP</acronym> por lo
- que se utiliza una ruta relativa para especificar el nombre del
- fichero (esto puede depender de la configuración del
- servidor de <acronym>TFTP</acronym> pero suele ser lo
- normal). Además <acronym>PXE</acronym> no carga el
- núcleo, lo hace <filename>pxeboot</filename>.
- Existen otras posibilidades interesantes, como cargar
- <filename>pxeboot</filename> desde el directorio
- <filename>/boot</filename>
- de una unidad de CD-ROM de &os; (ya que &man.pxeboot.8; puede
- cargar un núcleo
- <filename>GENERIC</filename> surge la posibilidad de utilizar
- <acronym>PXE</acronym> para arrancar desde una unidad de
- CD-ROM remota).</para>
- </callout>
-
- <callout arearefs="co-dhcp-root-path"><para>La opción
- <literal>root-path</literal> define la ruta para el
- sistema de ficheros raíz utilizando la notación
- típica de <acronym>NFS</acronym>. Cuando se utiliza
- <acronym>PXE</acronym>, es posible dejar la
- dirección IP siempre y cuando no se active la
- opción del núcleo de BOOTP. El servidor
- <acronym>NFS</acronym> será en este caso el mismo que el
- servidor de <acronym>TFTP</acronym>.</para>
- </callout>
- </calloutlist>
-
- </sect3>
- <sect3>
- <title>Configuración utilizando BOOTP</title>
- <indexterm>
- <primary>BOOTP</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
-
- <para>A continuación se muestra la configuración
- equivalente utilizando <application>bootpd</application>
- (reducida a un único cliente). Esta configuración
- se debe situar en <filename>/etc/bootptab</filename>.</para>
-
- <para>Por favor, recuerde que <application>etherboot</application>
- se debe compilar con la opción específica de
- <literal>NO_DHCP_SUPPORT</literal> para que pueda utilizar BOOTP
- y que <acronym>PXE</acronym> <emphasis>requiere</emphasis>
- <acronym>DHCP</acronym>. La única ventaja obvia de
- <application>bootpd</application> es que se encuentra disponible en
- el sistema base.</para>
-
- <programlisting>
-.def100:\
- :hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
- :sm=255.255.255.0:\
- :ds=192.168.4.1:\
- :gw=192.168.4.1:\
- :hd="/tftpboot":\
- :bf="/kernel.diskless":\
- :rp="192.168.4.4:/data/misc/diskless":
-
-margaux:ha=0123456789ab:tc=.def100
- </programlisting>
- </sect3>
-
- <sect3>
- <title>Preparación de un programa de arranque con
- <application>Etherboot</application></title>
-
- <indexterm>
- <primary>Etherboot</primary>
- </indexterm>
-
- <para><link xlink:href="http://etherboot.sourceforge.net">La
- página web de Etherboot
- </link> contiene
- <link xlink:href="http://etherboot.sourceforge.net/doc/html/userman/t1.html">
- una amplia documentación</link> enfocada
- principalmente a los sistemas Linux pero en cualquier caso contiene
- información que puede resultar útil. En los siguientes
- párrafos se describe brevemente como se puede utilizar
- <application>etherboot</application> en un sistema &os;.</para>
-
- <para>Lo primero es instalar el port o paquete <package>net/etherboot</package>. El port de
- <application>etherboot</application> está en
- <filename>/usr/ports/net/etherboot</filename>. Si el árbol
- de ports está instalado en el sistema basta con ejecutar
- <literal>make</literal> en dicho directorio. Por favor,
- lea <xref linkend="ports"/> para saber más sobre los ports y
- los paquetes.</para>
-
- <para>Se puede modificar la configuración de
- <application>etherboot</application> (por ejemplo, para que use
- <acronym>TFTP</acronym> en lugar de <acronym>NFS</acronym>) editando
- el fichero <filename>Config</filename> que se encuentra en el
- directorio fuente de <application>etherboot</application>.</para>
-
- <para>Para nuestros propósitos se utilizará un disquete
- de arranque. Para utilizar otros métodos (PROM o un
- programa &ms-dos;) por favor consulte la documentación de
- <application>etherboot</application>.</para>
-
- <para>Para crear un disco de arranque se debe insertar un disco en la
- unidad de disquetes de la máquina donde se ha instalado
- <application>etherboot</application>, cambiar al directorio
- <filename>src</filename> dentro del árbol de directorios de
- <application>etherboot</application> y teclear:</para>
-
- <screen>
-&prompt.root; <userinput>gmake bin32/tipo_de_dispositivo.fd0</userinput>
- </screen>
-
- <para><replaceable>tipo_de_dispositivo</replaceable> depende del tipo
- de tarjeta Ethernet que se encuentre instalada en la estación
- de trabajo sin disco. Consulte el fichero
- <filename>NIC</filename> en el mismo directorio para determinar
- cúal es el <replaceable>tipo_de_dispositivo</replaceable> que
- debe usted usar.</para>
-
- </sect3>
-
- <sect3>
- <title>Arranque con <acronym>PXE</acronym></title>
-
- <para>Por defecto el cargador &man.pxeboot.8; carga, valga la
- redundancia, el kernel vía <acronym>NFS</acronym>. El
- El cargador se puede compilar para que utilice <acronym>
- TFTP</acronym> en lugar de <acronym>NFS</acronym> especificando la
- opción <literal>LOADER_TFTP_SUPPORT</literal> dentro de
- <filename>/etc/make.conf</filename>. Observe los comentarios de
- <filename>/etc/defaults/make.conf</filename> (o de
- <filename>/usr/share/examples/etc/make.conf</filename> para
- sistemas 5.X) para saber más detalles.</para>
-
- <para>Existen otras dos opciones de
- <filename>make.conf</filename> no documentadas que pueden
- ser útiles para arrancar una máquina sin disco a
- través del puerto serie:
- <literal>BOOT_PXELDR_PROBE_KEYBOARD</literal> y
- <literal>BOOT_PXELDR_ALWAYS_SERIAL</literal> (esta
- última sólo existe en &os;&nbsp;5.X).</para>
-
- <para>Para utilizar <acronym>PXE</acronym> cuando arranca la
- máquina normalmente el usuario tiene que seleccionar la
- opción <literal>Boot from network</literal> dentro del
- menú de opciones de la <acronym>BIOS</acronym> o pulsar un
- tecla de función cuando la máquina se está
- inicializando.</para>
- </sect3>
-
- <sect3>
- <title>Configuración de servidores de
- <acronym>TFTP</acronym> y de <acronym>NFS</acronym></title>
-
- <indexterm>
- <primary>TFTP</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
- <indexterm>
- <primary>NFS</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
-
- <para>Si <acronym>PXE</acronym> o
- <application>etherboot</application> se encuentran configurados para
- utilizar <acronym>TFTP</acronym> se necesita activar
- <application>tftpd</application> en el servidor de ficheros:
- </para>
- <procedure>
- <step>
- <para>Crear un directorio desde el cual el d&aelig;mon
- <application>tftpd</application> servirá los
- ficheros, por ejemplo <filename>/tftpboot</filename>.</para>
- </step>
-
- <step>
- <para>Añadir la siguiente línea a
- <filename>/etc/inetd.conf</filename>:</para>
-
- <programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot</programlisting>
-
- <note><para>Parece que al menos algunas versiones de
- <acronym>PXE</acronym> utilizan la versión
- <acronym>TCP</acronym>
- de <acronym>TFTP</acronym>. En este caso se puede
- añadir una segunda línea, donde se reemplace
- <literal>dgram udp</literal> por <literal>stream
- tcp</literal>.</para>
- </note>
- </step>
- <step>
- <para>Indicar a <application>inetd</application> que
- vuelva a leer su fichero de configuración:</para>
-
- <screen>&prompt.root; <userinput>kill -HUP `cat
- /var/run/inetd.pid`</userinput></screen>
- </step>
- </procedure>
-
- <para>Se puede situar el directorio
- <filename>tftpboot</filename> en cualquier parte del servidor.
- Debe asegurarse de que la localización se encuentra
- correctamente configurada tanto en
- <filename>inetd.conf</filename> como en
- <filename>dhcpd.conf</filename>.</para>
-
- <para>En todos los casos también resulta necesario activar el
- sistema de <acronym>NFS</acronym> y exportar los sistemas de
- ficheros adecuados, todo ello en el servidor de
- <acronym>NFS</acronym>.</para>
-
- <procedure>
- <step>
- <para>Añadir lo siguiente a
- <filename>/etc/rc.conf</filename>:</para>
- <programlisting>nfs_server_enable="YES"</programlisting>
- </step>
-
- <step>
- <para>Exportar el sistema de ficheros donde el directorio
- raíz sin disco se encuentra localizado añadiendo
- lo siguiente a <filename>/etc/exports</filename> (ajuste el
- punto de montaje de la unidad y sustituya
- <replaceable>margaux corbieres</replaceable> por el
- nombre de las estaciones de trabajo sin disco, según
- corresponda):</para>
-
- <programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting>
- </step>
- <step>
- <para>Indicar a <application>mountd</application> que vuelva a leer
- su archivo de configuración. Si en un primer paso se ha
- configurado la activación automática del sistema de
- <acronym>NFS</acronym> en
- <filename>/etc/rc.conf</filename> lo mejor es reiniciar para que
- los cambios surtan efecto.</para>
-
- <screen>&prompt.root; <userinput>kill -HUP `cat
- /var/run/mountd.pid`</userinput></screen>
- </step>
- </procedure>
-
- </sect3>
-
- <sect3>
- <title>Construcción de un kernel sin
- disco</title>
-
- <indexterm>
- <primary>diskless operation</primary>
- <secondary>kernel configuration</secondary>
- </indexterm>
-
- <para>Si se utiliza <application>etherboot</application>, se necesita
- crear un archivo de configuración para el kernel de la
- máquina sin disco que posea las siguientes opciones
- (además de las opciones del núcleo habituales):</para>
-
- <programlisting>
-options BOOTP # Use BOOTP to obtain IP address/hostname
-options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
- </programlisting>
-
- <para>Puede resultar interesante utilizar además
- <literal>BOOTP_NFSV3</literal>,
- <literal>BOOT_COMPAT</literal> y
- <literal>BOOTP_WIRED_TO</literal>
- (consultar <filename>LINT</filename> en 4.X o
- <filename>NOTES</filename> en sistemas 5.X).</para>
-
- <para>Los nombres de estas opciones son nombres
- históricos y ligeramente confusos ya que permiten un uso
- indistinto tanto de <acronym>DHCP</acronym> como de BOOTP dentro del
- núcleo (también resulta posible forzar la
- utilización única de o bien BOOTP o bien de
- <acronym>DHCP</acronym>).</para>
-
- <para>Contruir el núcleo (vea <xref linkend="kernelconfig"/>) y copiarlo al lugar especificado
- en el archivo <filename>dhcpd.conf</filename>.</para>
-
- <note>
- <para>Cuando se utiliza <acronym>PXE</acronym>, la
- construcción del núcleo con las opciones anteriores
- no resulta ser algo estrictamente necesario (aunque se
- recomienda). Activar dichas opciones provoca un mayor
- tráfico de peticiones de <acronym>DHCP</acronym> durante el
- arranque del núcleo, lo que puede dar lugar a
- pequeñas inconsistencias entre los nuevos valores y los
- los valores recuperados por &man.pxeboot.8; en casos muy
- específicos. La ventaja de utilizarlas consiste en que como
- un efecto colateral se configurará el nombre de la
- máquina. De otro modo tendríamos que configurar dicho
- nombre mediante otro método por ejemplo mediante la
- configuración específica de la máquina cliente
- a través del archivo <filename>rc.conf</filename>.</para>
- </note>
-
- <note>
- <para>Para que el núcleo se pueda cargar sin problemas con
- <application>etherboot</application> en sistemas 5.X dicho
- núcleo tiene que tener compilado el soporte para
- <emphasis>device hints</emphasis>. Para ello normalmente se
- especifica la siguiente opción dentro del fichero
- de configuración del núcleo (consulte los comentarios
- del fichero <filename>NOTES</filename>):</para>
-
- <programlisting>hints "GENERIC.hints"</programlisting>
- </note>
-
- </sect3>
-
- <sect3>
- <title>Preparación del sistema de ficheros
- raíz</title>
-
- <indexterm>
- <primary>root file system</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
-
- <para>Se debe crear un sistema de ficheros raíz en las
- estaciones de trabajo sin disco, concretamente en la
- localización especificada por <literal>root-path</literal>
- dentro de <filename>dhcpd.conf</filename>. Las siguientes secciones
- describen dos formas de hacer esto.</para>
- <sect4>
- <title>Utilización del <quote>script</quote>
- <filename>clone_root</filename></title>
-
- <para>Este es el modo más rápido de crear un sistema de
- ficheros raíz, pero actulamente sólo se encuentra
- soportado en &os;&nbsp;4.X. El <quote>script</quote> de shell se
- encuentra en <filename>/usr/share/examples/diskless/clone_root</filename>
- y debe ser configurado al menos para ajustar el lugar donde se
- construirá el sistema de ficheros (concretamente la
- variable <literal>DEST</literal>).</para>
-
- <para>Consulte los comentarios que se encuentran al comienzo del
- <quote>script</quote> para conocer cuales son las instrucciones que
- debe seguir. Allí se explica cómo se construye el
- sistema de ficheros base y como determinados ficheros se pueden
- sobreescribir de manera selectiva por versiones
- específicas para funcionar sin discos, para toda una subred
- o para una máquina individual. También allí
- se muestran ejemplos de los ficheros
- <filename>/etc/fstab</filename> y
- <filename>/etc/rc.conf</filename> para máquinas sin
- disco.</para>
-
- <para>Los archivos <filename>README</filename> que se encuentran
- dentro de <filename>/usr/share/examples/diskless</filename>
- contienen mucha información de base, que junto con
- el resto de ejemplos dentro del directorio
- <filename>diskless</filename> sirven para documentar un
- método de configuración distinto del que se
- utiliza en <filename>clone_root</filename> y en los <quote>
- scripts</quote> del sistema de <filename>/etc</filename>, que resultan ser un tanto
- confusos. No obstante se pueden utilizar a modo de referencia,
- excepto si se prefiere utilizar el método que se describe
- en ellos, en cuyo caso se necesitará modificar y
- adaptar los <quote>scripts</quote> de forma adecuada.</para>
- </sect4>
-
- <sect4>
- <title>Utilización del procedimiento estándar de
- <command>make world</command>
- </title>
-
- <para>Este método se puede utilizar tanto en
- &os;&nbsp;4.X o 5.X y se instalará un sistema completamente
- nuevo (no sólo el sistema de ficheros raíz) dentro de
- <envar>DESTDIR</envar>. Basta con ejecutar el siguiente <quote>
- script</quote>:</para>
-
- <programlisting>#!/bin/sh
-export DESTDIR=/data/misc/diskless
-mkdir -p ${DESTDIR}
-cd /usr/src; make world &amp;&amp; make kernel
-cd /usr/src/etc; make distribution</programlisting>
-
- <para>Una vez ejecutado puede ser necesario ajustar los ficheros
- <filename>/etc/rc.conf</filename> y
- <filename>/etc/fstab</filename> que se encuentran en
- <envar>DESTDIR</envar> de acuerdo con nuestras necesidades.</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Configuración de la partición de
- intercambio</title>
-
- <para>En caso de ser necesario se puede acceder a un fichero
- de intercambio (swap) a través del sistema
- <acronym>NFS</acronym>. Uno de los métodos
- típicamente utilizados para realizar esta tarea ha sido
- retirado de la distribución 5.X.</para>
- <sect4>
- <title><acronym>NFS</acronym> swap en sistemas &os;&nbsp;4.X</title>
-
- <para>La ubicación del fichero de intercambio y su
- tamaño se puede especificar con las opciones
- &os;-specific 128 y 129 de BOOTP/<acronym>DHCP</acronym>.
- A continuación se muestran varios ejemplos de ficheros de
- de configuración para <application>
- ISC DHCP 3.0</application> o
- <application>bootpd</application>:</para>
-
- <procedure>
- <step><para>Añadir las siguientes líneas al fichero
- <filename>dhcpd.conf</filename>:</para>
- <programlisting>
-# Global section
-option swap-path code 128 = string;
-option swap-size code 129 = integer 32;
-
-host margaux {
- ... # Standard lines, see above
- option swap-path <replaceable>"192.168.4.4:/netswapvolume/netswap"</replaceable>;
- option swap-size <replaceable>64000</replaceable>;
-}
- </programlisting>
-
- <para><literal>swap-path</literal> es la ruta al directorio donde
- se instalarán los archivos de intercambio. Cada
- Cada fichero se denomina
- <filename>swap.direccion-ip-del-cliente</filename>.</para>
-
- <para>Versiones más antiguas de
- <application>dhcpd</application> usaban una sintáxis del
- estilo de <literal>option option-128 "...</literal>, lo cual ya
- no está soportado.</para>
-
- <para><filename>/etc/bootptab</filename> normalmente
- utiliza la siguiente sintaxis:</para>
-
- <programlisting>T128="192.168.4.4:/netswapvolume/netswap":T129=0000fa00</programlisting>
-
- <note><para>El tamaño del fichero dedicado a intercambio
- se debe expresar en <filename>/etc/bootptab</filename>
- en formato hexadecimal.</para></note>
- </step>
-
- <step>
- <para>En el servidor de ficheros <acronym>NFS</acronym>
- donde va a residir el fichero de <quote>swap</quote> se debe(n)
- crear dicho(s) fichero(s)</para>
- <screen>
-&prompt.root; <userinput>mkdir /volumenintercambiored/intercambiored</userinput>
-&prompt.root; <userinput>cd /volumenintercambiored/intercambiored</userinput>
-&prompt.root; <userinput>dd if=/dev/zero bs=1024 count=64000 of=swap.192.168.4.6</userinput>
-&prompt.root; <userinput>chmod 0600 swap.192.168.4.6</userinput>
- </screen>
- <para><replaceable>192.168.4.6</replaceable> es la dirección IP del cliente sin disco.</para>
- </step>
-
- <step>
- <para>En el servidor <acronym>NFS</acronym> añadir a
- <filename>/etc/exports</filename> la siguiente línea:
- </para>
- <programlisting>
-<replaceable>/volumenintercambiored</replaceable> -maproot=0:10 -alldirs <replaceable>margaux corbieres</replaceable>
- </programlisting>
- <para>A continuación indicar a
- <application>mountd</application> que vuelva a leer el fichero
- <filename>/etc/exports</filename> como se ha indicado
- anteriormente.</para>
- </step>
- </procedure>
- </sect4>
-
- <sect4>
- <title><acronym>NFS</acronym> swap en &os;&nbsp;5.X</title>
-
- <para>El núcleo no soporta la activación del
- intercambio a través de <acronym>NFS</acronym> en tiempo de
- arranque. De esta forma la <quote>swap</quote> se debe activar
- mediante los <quote>scripts</quote> montando un sistema de ficheros
- de lectura-escritura y creando y activando el fichero de
- intercambio. Para crear un fichero de intercambio de un
- determinado tamaño se puede ejecutar lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>dd if=/dev/zero of=/ruta/al/fichero/de/intercambio bs=1k count=1 oseek=100000</userinput></screen>
-
- <para>Para activar el intercambio se tiene que añadir
- la siguiente línea al fichero de configuración
- <filename>rc.conf</filename>:</para>
-
- <programlisting>swapfile=<replaceable>/ruta/al/fichero/de/intercambio</replaceable></programlisting>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Varios</title>
-
-
- <sect4>
- <title>Ejecución con un <filename>/usr</filename> de
- sólo lectura</title>
-
- <indexterm>
- <primary>diskless operation</primary>
- <secondary>/usr read-only</secondary>
- </indexterm>
-
- <para>Si la estación de trabajo sin disco se configura para
- utilizar el sistema X-Window se tiene que ajustar el fichero de
- configuración de xdm debido a que dicho fichero
- sitúa por defecto el fichero de <quote>logs</quote> de
- errores en el directorio <filename>/usr</filename>.</para>
- </sect4>
- <sect4>
- <title>Uso de un servidor no-&os;</title>
-
- <para>Cuando el servidor del sistema de ficheros raíz no
- ejecuta &os; se tiene que crear un sistema de ficheros
- raíz sobre una máquina &os; para después
- copiarlo al servidor original mediante las órdenes
- <command>tar</command> o <command>cpio</command>.</para>
-
-
- <para>En esta situación algunas veces surgen varios
- problemas relacionados con los dispositivos especiales que
- se encuentran en el directorio
- <filename>/dev</filename> debido a los diferentes
- tamaños de los enteros mayor/menor. Una solución
- para este problema consiste en exportar un directorio del servidor
- no-&os;, montar este directorio en la máquina &os; anterior
- y ejecutar <command>MAKEDEV</command> en dicha máquina para
- crear las entradas de dispositivo correctas (&os; 5.0 y
- posteriores utilizan &man.devfs.5; para ubicar nodos de
- dispositivos de forma transparente para el usuario de tal modo que
- la ejecución de <command>MAKEDEV</command> en estos
- sistemas no sirve para nada).</para>
-
- </sect4>
-
- </sect3>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-isdn">
- <title>RDSI</title>
-
- <indexterm>
- <primary>RDSI</primary>
- </indexterm>
-
- <para><link xlink:href="http://www.alumni.caltech.edu/~dank/isdn/">la
- página de RDSI de Dan Kegel</link> constituye un recurso de
- información bastante bueno sobre la tecnología RDSI
- (ISDN en inglés) y sobre el hardware relacionado.</para>
-
- <para>A continuación se comenta un esquema rápido sobre
- RDSI:</para>
-
- <itemizedlist>
- <listitem>
- <para>Si usted vive en Europa le puede resultar útil leer la
- sección sobre tarjetas RDSI.</para>
- </listitem>
-
- <listitem>
- <para>Si se prevee utilizar RDSI principalmente para conectarse a
- Internet a través de un Proveedor de Servicios utilizando
- un mecanismo de marcación automática no dedicado
- (dial-up), se puede echar un vistazo a los Adaptadores de
- Terminal. Dichos adaptadores proporciona la mayor flexibilidad y
- garantiza los mínimos problemas en caso de cambio de
- cambio de proveedor.</para>
- </listitem>
-
- <listitem>
- <para>Si estamos conectados a dos LAN o conectando a Internet con una
- conexión RDSI dedicada puede ser interesante considerar la
- opción de usar un <quote>router/bridge</quote>
- único.</para>
- </listitem>
- </itemizedlist>
-
- <para>El coste es un factor importante a la hora de determinar
- qué solución se debe escoger. Las siguientes opciones se
- encuentran ordenadas desde las más baratas hasta las
- más caras.</para>
-
- <sect2 xml:id="network-isdn-cards">
- <info><title>Tarjetas RDSI</title>
- <authorgroup>
- <author><personname><firstname>Hellmuth</firstname><surname>Michaelis</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>ISDN</primary>
- <secondary>cards</secondary>
- </indexterm>
-
- <para>La implementación de RDSI que posee &os; soporta
- sólamente el estandar DSS1/Q.931 (también conocido como
- Euro-RDSI) utilizando tarjetas pasivas. A partir de &os; 4.4 se
- soportan también algunas tarjetas activas usando firmware que
- además soporta otros protocolos de señalización;
- esto también sucede con la primera tarjeta RDSI de
- acceso primario (PRI) soportada.</para>
-
- <para>El software <application>isdn4bsd</application> permite conectar
- con otras pasarelas RDSI utilizando IP sobre HDLC o bien PPP
- PPP síncrono: ambos mediante el uso del PPP del núcleo
- con <literal>isppp</literal>, una versión modificada del
- controlador &man.sppp.4; o mediante la utilización del PPP de
- entorno de usuario, &man.ppp.8;. Si se utiliza &man.ppp.8; de entorno
- de usuario se pueden agrupar dos o mas canales B de RDSI (channel
- bonding). Existe también software que permite a una
- máquina responder a llamadas de teléfono y algunas
- cosas más como un modem de 300 baudios.</para>
-
- <para>Cada vez se soportan más tarjetas RDSI bajo &os; y los
- informes existentes muestra que &os; se utiliza con dichas tarjetas de
- forma satisfactoria en toda Europa y también en otras partes del
- mundo.</para>
-
- <para>Las tarjetas RDSI pasivas soportadas en &os; son principalmente las
- que poseen el chip Infineon (antiguamente Siemens) ISAC/HSCX/IPAC.
- También las tarjetas RDSI con los chips de Cologne (en bus ISA
- exclusivamente), tarjetas PCI con el chip Winbond W6692, algunas
- tarjetas con combinaciones de los chips Tiger 300/320/ISAC y
- también algunas tarjetas basadas en chips propietarios como
- las AVM Fritz! PCI V.1.0 y AVM Fritz! PnP.</para>
-
- <para>Actualmente las tarjetas RDSI activas soportadas son las
- AVM B1 (ISA y PCI) BRI, y las AVM T1 PCI PRI.</para>
-
- <para>Se puede consultar
- <filename>/usr/share/examples/isdn/</filename> para
- obtener documentación sobre
- <application>isdn4bsd</application> y también
- en <link xlink:href="http://www.freebsd-support.de/i4b/">la
- página principal de isdn4bsd</link>, donde hay enlaces de
- ayuda, erratas y mucha más información útil,
- como por ejemplo el <link xlink:href="http://people.FreeBSD.org/~hm/">manual de isdn4bsd</link>.</para>
-
- <para>Si se quiere añadir soporte para un protoclo RDSI distinto
- para una tarjeta RDSI que no se encuentra soportada o para mejorar
- <application>isdn4bsd</application> en algún aspecto por favor
- póngase en contacto con &a.hm;.</para>
-
- <para>Para realizar consultas referentes a la instalación,
- configuración y depuración de problemas relacionados con
- <application>isdn4bsd</application> le recomendamos recurrir a la lista
- de correo &a.isdn.name;.</para>
- </sect2>
-
- <sect2>
- <title>Adaptadores de terminal RDSI</title>
-
- <para>Los Adaptadores de Terminal (TA), son para RDSI lo que los modems
- son para las líneas de teléfono convencionales.</para>
-
- <indexterm><primary>modem</primary></indexterm>
- <para>La mayor parte de los TAs utilizan el conjunto de instrucciones AT
- de los modem Hayes y se pueden utilizar en lugar del modem.</para>
-
- <para>Un TA opera básicamente de igual forma que un modem,
- diferenciándose en que las velocidades de conexión y
- <quote>throughput</quote> son mucho más grandes. La
- configuración de <link linkend="ppp">PPP</link> se realiza exactamente igual que para una
- configuración de modem convencional.</para>
-
- <indexterm><primary>PPP</primary></indexterm>
-
- <para>La ventaja principal de utilizar un TA para conectarse a un
- proveedor de servicios de internet consiste en que se puede usar PPP
- dinámico. Ya que el espacio de direcciones de IP se está
- direcciones de IP se está convirtiendo cada vez
- convirtiendo en un recurso cada dí más limitado y escaso
- los proveedores ya no desean proporcionar direcciones IP
- estáticas a sus clientes. No obstante la mayoría de los
- <quote>routers standalone</quote> no son capaces de adquirir
- direcciones IP dinámicas.</para>
-
- <para>Los TAs confían completamente en el d&aelig;mon de PPP
- que se está ejecutando para proporcionar fiabilidad y
- estabilidad en la conexión. De esta forma si se tiene
- configurado PPP se puede migrar fácilmente de la
- utilización de modems analógicos al uso de RDSI. No
- obstante si existía algún problema con PPP antes de
- efectuar la migración dichos problemas persistirán en
- RDSI.</para>
-
- <para>Si se desea máxima estabilidad se puede utilizar la
- opción <link linkend="ppp">PPP</link>, no el
- <link linkend="userppp">PPP a nivel de usuario</link>.</para>
-
- <para>Se sabe que los siguientes TAs funcionan con &os;:</para>
-
- <itemizedlist>
- <listitem>
- <para>Motorola BitSurfer y Bitsurfer Pro</para>
- </listitem>
-
- <listitem>
- <para>Adtran</para>
- </listitem>
- </itemizedlist>
-
- <para>La mayoría de los demás TAs probablemente
- también funcionen puesto que los fabricantes siempre tratan de
- que sus productos puedan aceptar la mayoría de las
- órdenes AT.</para>
-
- <para>El problema que existe con los TAs es que, como sucede con los
- modems, se necesita tener una buena tarjeta serie instalada en el
- sistema.</para>
-
- <para>Se recomienda consultar el tutorial <link xlink:href="../../articles/serial-uart/index.html">FreeBSD Serial
- Hardware</link> para obtener una comprensión detallada del
- funcionamiento de los dispositivos serie en &os; y para comprender las
- diferencias entre puertos serie síncronos y
- asíncronos.</para>
-
- <para>Un TA que se ejecuta a través de un puerto serie
- (asíncrono) está limitado a 115.2&nbsp;Kbs, aunque la
- conexión RDSI sea de 128&nbsp;Kbs. Para utilizar completamente
- el ancho de banda que RDSI proporciona, se debe conectar el TA a una
- tarjeta serie síncrona.</para>
-
- <para>No se engañe creyendo que comprando un TA interno
- hará desaparecer los problemas
- síncronos/asíncronos. Los TA internos simplemente
- disponen de un chip de puerto serie instalado de fábrica.
- Lo único que se consigue con estos dispositivos es no tener
- que enchufarlos a la red elétrica ahorrando así un
- enchufe y no tener que comprar un cable serie, pero los problemas
- dichos anteriormente permanecen.</para>
-
- <para>Una tarjeta asíncrona con un TA resulta ser al menos tan
- rápida como un <quote>router standalone</quote> y si &os;
- controla dicha tarjeta se puede adaptar más
- fácilmente.</para>
-
- <para>La elección de una tarjeta síncrona/TA
- versus un <quote>router standalone</quote> se trata en la
- mayoría de los casos de una cuestión cuasi-religiosa.
- Han existido diversas discusiones sobre este tema en varias listas de
- correo. Nosotros recomendamos que busque información en los
- <link xlink:href="http://www.freebsd.org/search/index.html">
- históricos</link> para para poder sopesar los pros y los
- contras que se han esgrimido en tales discusiones.</para>
- </sect2>
-
- <sect2>
- <title><quote>bridges/routers</quote> RDSI <quote>Stand-alone</quote></title>
- <indexterm>
- <primary>ISDN</primary>
- <secondary>stand-alone bridges/routers</secondary>
- </indexterm>
- <para>Los <quote>bridges</quote> o <quote>routers</quote> RDSI no son
- específicos de &os; o de cualquier otro sistema operativo.
- Para una descripción completa de la tecnología de
- <quote>bridge</quote> y de pasarela de red por favor consulte
- cualquier libro sobre redes.</para>
-
- <para>En el contexto de esta sección los términos
- <quote>router</quote>, pasarela y <quote>bridge</quote> se
- utilizarán indistintamente.</para>
-
- <para>Según va bajando el coste de los <quote>
- routers/bridges</quote> RDSI su utilización entre el
- público en general va en aumento.
- Un <quote>router</quote> RDSI es una pequeña caja que se
- conecta directamente a la red Ethernet local y que gestiona sus propias
- conexiones con el <quote>bridge/router</quote> remoto. Posee un
- software preconfigurado para comunicarse vía PPP y
- tambíen utilizando otros protocolos de uso común.</para>
-
- <para>Un router sopota una mayor tasa de paquetes (throughput) que un
- <quote>standalone TA</quote>, ya que utiliza una conexión RDSI
- síncrona de forma completa.</para>
-
- <para>El problema principal que surge con los <quote>routers</quote> y
- los <quote>bridges</quote> RDSI es que la interoperatibilidad entre
- fabricantes muchas veces causa problemas. Si se está
- planificando conectarse a un proveedor de servicios resulta conveniente
- discutir previamente con ellos las necesidades y requisitos.</para>
-
- <para>Si se tiene en mente conectar dos segmentos LAN tales como su LAN
- de casa y la LAN de su oficina RDSI proporciona la solución
- más simple y menos costosa de gestionar. Esto es así
- porque al comprar usted mismo el equipamiento necesario para ambos
- extremos de la conexión tiene usted el control sobre el enlace
- y puede asegurar su correcto funcionamiento.</para>
-
- <para>Por ejemplo, si queremos conecar una computadora casera o una
- sucursal de la red de oficinas con la oficinal central, se puede
- utilizar una configuración como la que se muestra a
- continuación.</para>
-
- <example>
- <title>Sucursal o red doméstica</title>
-
- <indexterm><primary>10 base 2</primary></indexterm>
- <para>La red utiliza una topología basada en bus con
- Ethernet tipo 10 base 2 (<quote>thinnet</quote>). Se conecta, en
- caso de ser necesario, el <quote>router</quote> a la red cableada
- mediante un <quote>transceiver</quote> AUI/10BT.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="advanced-networking/isdn-bus"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">---Estacion Sun
-|
----Sistema FreeBSD
-|
----Windows 95
-|
-Router Stand-alone
- |
-ISDN BRI line</literallayout>
- </textobject>
-
- <textobject>
- <phrase>10 Base 2 Ethernet</phrase>
- </textobject>
- </mediaobject>
-
- <para>Si nuestra sucursal o red hogar está compuesta
- únicamente por una computadora se puede utilizar un cable
- cruzado de par trenzado para conectar con el <quote>router
- standalone</quote> de forma directa.</para>
- </example>
-
- <example>
- <title>Oficina central u otra LAN</title>
-
- <indexterm><primary>10 base T</primary></indexterm>
- <para>La red utiliza una topología en estrella basada en
- Ethernet de 10 base T (<quote>Par Trenzado</quote>).</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="advanced-networking/isdn-twisted-pair"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> -------Novell Server
- | H |
- | ---Sun
- | |
- | U ---FreeBSD
- | |
- | ---Windows 95
- | B |
- |___---Stand-alone router
- |
- ISDN BRI line</literallayout>
- </textobject>
-
- <textobject>
- <phrase>ISDN Network Diagram</phrase>
- </textobject>
- </mediaobject>
- </example>
-
- <para>Una gran ventaja que poseen la mayoría de los
- <quote>routers/bridges</quote> es que pueden gestionar al mismo tiempo
- dos conexiones PPP <emphasis>independientes</emphasis> destinadas a dos
- organizaciones distintas. Esta funcionalidad no se proporciona en la
- mayoría de los TAs, excepto para determinados modelos
- (normalmente más caros) que se fabrican con dos puertos serie.
- No confunda esto con la agrupación de canales, MPP, etc.</para>
-
- <para>Esta característica puede resultar muy útil si, por
- ejemplo, se dispone de una conexión RDSI dedicada con la
- oficina y queremos introducirnos en ella pero no queremos utilizar
- otra línea RDSI en el trabajo. Un <quote>router</quote> situado
- en las instalaciones de la oficina puede gestionar una
- conexión de canal B dedicada (64&nbsp;Kpbs) hacia internet y
- utilizar el otro canal B como una conexión de datos
- independiente. El segundo canal B se puede utilizar para
- marcación remota (<quote>dial-in</quote> y <quote>
- dial-out</quote>) o para agrupación dinámica de canales
- (MPP, etc) en conjunción con el primer canal B con el objetivo
- de obtener un mayor ancho de banda.</para>
-
- <indexterm><primary>IPX/SPX</primary></indexterm>
- <para>Un <quote>bridge</quote> Ethernet permite transmitir más
- tráfico aparte del tráfico IP. Se puede transmitir
- IPX/SPX o cualquier otro protocolo que se esté utilizando.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-nis">
- <info><title>NIS/YP</title>
- <authorgroup>
- <author><personname><firstname>Bill</firstname><surname>Swingle</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Eric</firstname><surname>Ogren</surname></personname><contrib>Ampliado por </contrib></author>
- <author><personname><firstname>Udo</firstname><surname>Erdelhoff</surname></personname></author>
- </authorgroup>
- </info>
-
-
- <sect2>
- <title>?Qué es esto?</title>
- <indexterm><primary>NIS</primary></indexterm>
- <indexterm><primary>Solaris</primary></indexterm>
- <indexterm><primary>HP-UX</primary></indexterm>
- <indexterm><primary>AIX</primary></indexterm>
- <indexterm><primary>Linux</primary></indexterm>
- <indexterm><primary>NetBSD</primary></indexterm>
- <indexterm><primary>OpenBSD</primary></indexterm>
- <para>NIS, siglas de Network Information Services (Servicios de
- Información de Red), fué un servicio desarrollado por
- Sun Microsystems para centralizar la administración de sistemas
- &unix; (originalmente &sunos;). Actualmente se considera como un
- estándar de la industria; los principales sistemas tipo &unix;
- (&solaris;, HP-UX, &aix;, Linux, NetBSD, OpenBSD, &os;, etc)
- implementan NIS.</para>
-
- <indexterm><primary>yellow pages</primary><see>NIS</see></indexterm>
- <para>NIS también se conocía como el servicio de
- páginas amarillas pero debido a problemas legales debidos a
- la propiedad de marcas comerciales, Sun tuvo que cambiar el nombre.
- El antíguo término (<quote>Yellow Pages</quote> o yp)
- todavía se ve y se utiliza con frecuencia.</para>
-
- <indexterm>
- <primary>NIS</primary>
- <secondary>domains</secondary>
- </indexterm>
- <para>Se trata de un sistema cliente servidor basado en llamadas RPC que
- permite a un grupo de máquinas que se encuentran definidas
- dentro de un dominio administrativo NIS compartir un conjunto de
- ficheros de configuración. Esto permite al administrador de
- sistemas por un lado configurar clientes NIS de forma minimalista y
- por otro lado centralizar la gestión de los ficheros de
- configuración en una única ubicación (una sola
- máquina).</para>
-
- <indexterm><primary>Windows NT</primary></indexterm>
- <para>Se trata de algo similar al sistema de dominio de &windowsnt;
- aunque la implementación interna no se puede comparar, la
- funcionalidad y el servicio obtenido son similares.</para>
- </sect2>
-
- <sect2>
- <title>Términos/procesos que debe usted conocer</title>
-
- <para>Existen varios conceptos y varios procesos de usuario que el
- usuario no versado en estos temas suele encontrarse la primera vez que
- se intenta implantar un servicio de NIS en &os;, tanto si se intenta
- configurar un servidor como si se intenta configurar un cliente:</para>
-
- <indexterm>
- <primary><application>portmap</application></primary>
- </indexterm>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Term</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>NIS domainname</entry>
- <entry>Un servidor maestro de NIS y todos sus clientes
- (incluyendo a sus servidores esclavos) poseen el mismo nombre
- dominio NIS. Al igual que ocurre con el nombre de dominio de
- &windowsnt;, el nombre de dominio de NIS no tiene nada que ver
- con el nombre de dominio de DNS.</entry>
- </row>
- <row>
- <entry><application>portmap</application></entry>
- <entry>Debe ejecutarse para que se activen las llamadas a
- procedimientos remotos (Remote Procedure Call o RPC)
- que son utilizadas por NIS. Si
- <application>portmap</application> no se está ejecutando
- no se podrá ejecutar ni clientes ni servidores de
- NIS.</entry>
- </row>
- <row>
- <entry><application>ypbind</application></entry>
-
- <entry><quote>Asocia</quote> un cliente con un servidor NIS.
- Primeramente se lee el nombre de dominio NIS del sistema y
- utilizando RPC se conecta con el servidor.
- <application>ypbind</application> es la parte central de la
- comunicación cliente servidor del sistema NIS;
- si <application>ypbind</application> muere en una
- máquina cliente, dicha máquina no podrá
- acceder al servidor NIS.</entry>
- </row>
- <row>
- <entry><application>ypserv</application></entry>
- <entry>Debe ejecutarse sólamente en los servidores NIS;
- se trata del proceso servidor de NIS. Si &man.ypserv.8;
- muere, el servidor no será capaz de responder a
- peticiones NIS (no obstante, si se definen servidores NIS
- esclavos la situación puede recuperarse). Existen
- algunas implementaciones de NIS (no es el caso de &os;)
- que no intentan conectarse con otro servidor si el servidor
- con otro servidor si el servidor que se estaba
- que se estaba utilizando muere. A menudo lo único que
- se puede hacer en estos casos es reiniciar el servidor (el
- proceso o la propia máquina) o el proceso
- <application>ypbind</application> del cliente.</entry>
- </row>
- <row>
- <entry><application>rpc.yppasswdd</application></entry>
- <entry>Otro proceso que sólo debe ejecutarse en el
- servidor maestro de NIS; se trata de un d&aelig;mon que permite
- a los clientes de NIS modificar las contraseñas de los
- usuarios. Si no se ejecuta este d&aelig;mon los usuarios
- tendrán que entrar en el servidor maestro de NIS para
- cambiar sus contraseñas allí.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <!-- XXX Missing: rpc.ypxfrd (not important, though) May only run
- on the master -->
-
- </sect2>
-
- <sect2>
- <title>?Cómo funciona?</title>
-
- <para>Existen tres tipos de máquinas dentro del entorno
- NIS: los servidores maestros, los servidores esclavos y los clientes
- de NIS. Los servidores actúan como repositorios centrales para
- almacenamiento de información de configuración.
- Los servidores maestros mantienen una copia maestra de dicha
- información, mientras que los servidores esclavos mantienen
- copias de la información maestra por motivos de redundancia.
- Los servidores se encargan de transmitir la información
- necesaria a los clientes a petición de estos
- últimos.</para>
-
- <para>De esta forma se pueden compatir mucha información
- contenida en varios archivos. Los ficheros <filename>
- master.passwd</filename>, <filename>group</filename> y <filename>
- hosts</filename> normalmente se comparten a través de NIS.
- Siempre que un proceso en un cliente necesita información que,
- en caso de no utilizar NIS, se podría recuperar de ficheros
- locales, en este caso se envía una solicitud al servidor NIS con
- el que nos encontramos asociados.</para>
-
- <sect3>
- <title>Clases de máquinas</title>
-
- <itemizedlist>
- <listitem>
- <indexterm>
- <primary>NIS</primary>
- <secondary>master server</secondary>
- </indexterm>
-
- <para><emphasis>Servidor de NIS maestro</emphasis>.
- Este servidor, semejante a un controlador de dominio primario de
- &windowsnt; mantiene todos los archivos que utilizan los
- clientes. Los ficheros <filename>passwd</filename>,
- <filename>group</filename> y algunos otros se encuentran
- ubicados en el servidor maestro.</para>
-
- <note><para>Resulta posible configurar una máquina para que
- actúe como servidor NIS maestro para más de un
- dominio NIS. No obstante esta configuración no se va a
- tratar en esta introducción, en la cual asumimos un
- entorno NIS de tamaño relativamente
- pequeño.</para></note>
- </listitem>
-
- <listitem>
- <indexterm>
- <primary>NIS</primary>
- <secondary>slave server</secondary>
- </indexterm>
-
- <para><emphasis>Servidores de NIS esclavos</emphasis>.
- Semejantes a los controladores de backup de &windowsnt;,
- los servidores NIS esclavos se utilizan para proporcionar
- redundancia en entornos de trabajo donde la disponibilidad del
- servicio resulta muy importante. Además se utilizan para
- distribuir la carga que normalmente soporta un servidor
- maestro: los clientes de NIS siempre se asocian con el servidor
- de NIS que posee mejor tiempo de respuesta, y esto
- y esto también incluye a los servidores de NIS
- esclavos.</para>
- </listitem>
-
- <listitem>
- <indexterm>
- <primary>NIS</primary>
- <secondary>client</secondary>
- </indexterm>
-
- <para><emphasis>Clientes NIS</emphasis>. Los clientes NIS, de
- forma semejante a las estaciones de trabajo de &windowsnt;, se
- validan contra un servidor NIS (en el caso de &windowsnt; se
- validan contra un controlador de dominio) para acceder al
- sistema.</para>
- </listitem>
- </itemizedlist>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Uso de NIS/YP</title>
-
- <para>Esta sección trata sobre cómo configurar y poner en
- funcionamiento un entorno de NIS sencillo.</para>
-
- <note><para>Esta sección supone que se está utilizando
- utilizando &os;&nbsp;3.3 o posteriores. Las instrucciones dadas
- aquí <emphasis>probablemente</emphasis> funcionen
- también en cualquier versión de &os; superior a la 3.0
- pero no podemos garantizar que esto sea así.</para></note>
-
- <sect3>
- <title>Planificación</title>
-
- <para>Vamos a suponer que somos el administrador de un pequeño
- laboratorio de una universidad. En este laboratorio, compuesto por
- 15 máquinas &os;, actualmente no existe ningún punto
- de administración centralizada; cada máquina posee sus
- sus propios <filename>/etc/passwd</filename> y <filename>
- /etc/master.passwd</filename>. Estos ficheros se encuentran
- sincronizados el uno con el otro mediante intervención
- manual; por tanto, cuando queramos añadir un usuario a
- nuestro laboratorio tendremos que ejecutar
- <command>adduser</command> en todas las máquinas.
- Claramente esta situación tiene que cambiar, de tal forma que
- hemos decidido crear un dominio NIS en el laboratorio usando dos
- máquinas como servidores NIS.</para>
-
- <para>La configuración de nuestro laboratorio debería ser
- algo parecido a lo siguiente:</para>
-
- <informaltable>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Nombre de máquina</entry>
- <entry>Dirección IP</entry>
- <entry>Papel</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><systemitem>ellington</systemitem></entry>
- <entry><systemitem class="ipaddress">10.0.0.2</systemitem></entry>
- <entry>servidor NIS maestro</entry>
- </row>
- <row>
- <entry><systemitem>coltrane</systemitem></entry>
- <entry><systemitem class="ipaddress">10.0.0.3</systemitem></entry>
- <entry>Servidor NIS esclavo</entry>
- </row>
- <row>
- <entry><systemitem>basie</systemitem></entry>
- <entry><systemitem class="ipaddress">10.0.0.4</systemitem></entry>
- <entry>Estación de trabajo del profesorado</entry>
- </row>
- <row>
- <entry><systemitem>bird</systemitem></entry>
- <entry><systemitem class="ipaddress">10.0.0.5</systemitem></entry>
- <entry>máquina cliente</entry>
- </row>
- <row>
- <entry><systemitem>cli[1-11]</systemitem></entry>
- <entry><systemitem class="ipaddress">10.0.0.[6-17]</systemitem></entry>
- <entry>Resto de máquinas clientes</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Si se está configurando un esquema de NIS por primera vez
- es una buena idea detenerse a pensar cómo queremos implantar
- el sistema. Existen varias decisiones que se deben tomar
- independientemente del tamaño de nuestra red.</para>
-
- <sect4>
- <title>Elección del nombre de dominio NIS</title>
-
- <indexterm>
- <primary>NIS</primary>
- <secondary>domainname</secondary>
- </indexterm>
- <para>Este nombre puede no ser el <quote>nombre de
- dominio</quote> al que estamos acostumbrados. Resulta más
- preciso llamarlo <quote>nombre de dominio NIS</quote>.
- Cuando un cliente genera peticiones de NIS que llegan a todas las
- máquinas (broadcast) solicitando información se
- incluye el nombre de dominio NIS que tiene configurado.
- De esta forma, varios servidores de dominios distintos situados en
- la misma red pueden discriminar las peticiones recibidas. Se puede
- pensar en el nombre de dominio NIS como un identificador de grupos
- de máquinas que se encuentran relacionados
- administrativamente de alguna forma.</para>
-
- <para>Algunas organizaciones eligen utilizar su nombre de dominio de
- Internet como nombre de dominio NIS. Esto no se recomienda ya que
- puede causar confusión cuando se intentan depurar problemas
- de red. El nombre de dominio NIS debería ser un nombre
- único dentro de nuestra red y resulta más
- útil aún si el nombre elegido puede describir de
- alguna forma al conjunto de máquinas que representa.
- Por ejemplo el departamento de arte de la empresa Acme puede
- utilizar como nombre de dominio <quote>acme-art</quote>.
- En nuestro ejemplo hemos utilizado el nombre
- <literal>test-domain</literal>.</para>
-
- <indexterm><primary>SunOS</primary></indexterm>
- <para>No obstante algunos sistemas operativos (de forma
- notable &sunos;) utilizan como nombres de dominio nombres de
- Internet. Si se poseen máquinas con esta
- restricción no queda más remedio que
- <emphasis>utilizar</emphasis> los nombres de dominio de Internet
- como nombres de dominio NIS.</para>
- </sect4>
-
- <sect4>
- <title>Requisitos físicos de los servidores</title>
-
- <para>Existen varias cosas que debemos tener en cuenta cuando se
- selecciona una máquina para actuar como servidor NIS.
- Una de las características desafortunadas del servicio de
- páginas amarillas es el alto nivel de dependencia que llegan
- a tener los clientes respecto del servidor de NIS. Si el cliente
- no puede contactar con el servidor NIS normalmente la
- máquina se queda en un estado totalmente inutilizable.
- La carencia de información de usuarios y grupos provoca que
- las máquinas se bloqueen. Con esto en mente debemos
- debemos asegurarnos de escoger un servidor de NIS que no se
- reinicie de forma habitual o uno que no se utilice para
- para desarrollar. Si se dispone de una red con poca carga
- puede resultar aceptable colocar el servidor de NIS en una
- máquina donde se ejecuten otros servicios pero en todo
- momento se debe tener presente que si por cualquier motivo el
- servidor de NIS quedara inutilizable afectaría a
- <emphasis>todas</emphasis> las máquinas de forma
- negativa.</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Servidores NIS</title>
-
- <para>Las copias canónicas de toda la información que
- mantiene el sistema de páginas amarillas se almacenan en una
- única máquina denominada servidor maestro de NIS.
- Las bases de datos utilizadas para almacenar la información
- se denominan mapeos NIS. En &os; estas asociaciones o mapeos se
- almacenan en el directorio <filename>/var/yp/[nombrededominio]</filename>
- donde <filename>[nombrededominio]</filename> es el nombre del dominio
- de NIS que el servidor gestiona. Un único servidor NIS puede
- gestionar varios dominios al mismo tiempo de forma que resulta
- posible tener varios directorios como el anterior, uno por cada
- dominio soportado. Cada dominio posee su conjunto de mapeos
- independiente y propio.</para>
-
- <para>Los servidores maestro y esclavos manejan todas las peticiones de
- a través del d&aelig;mon <command>ypserv</command>.
- <command>ypserv</command> se responsabiliza de recibir
- peticiones de los clientes NIS. Estas peticiones se traducen a una
- ruta dentro del servidor. Esta ruta localiza un fichero de base de
- datos determinado del servidor de NIS, y finalmente <command>
- ypserv</command> se encarga de transmitir la información de
- dicha base de datos de vuelta al cliente que la
- solicitó.</para>
-
- <sect4>
- <title>Configuración de un servidor de NIS maestro</title>
- <indexterm>
- <primary>NIS</primary>
- <secondary>server configuration</secondary>
- </indexterm>
- <para>La configuración de un servidor de NIS maestro puede
- resultar relativamente sencilla dependiendo de las necesidades que
- se tengan. &os; viene preconfigurado por defecto con un servicio
- NIS. Todo lo que necesitamos es añadir la siguiente
- línea en <filename>/etc/rc.conf</filename> y
- &os; se encarga del resto.</para>
-
- <procedure>
- <step>
- <para><programlisting>nisdomainname="test-domain"</programlisting>
- Esta línea establece el nombre de dominio NIS como
- <literal>test-domain</literal>, cuando se realiza la
- configuración de la red (por ejemplo, después
- de un reinicio).</para>
- </step>
- <step>
- <para><programlisting>nis_server_enable="YES"</programlisting>
- Esta variable indica a &os; que ejecute los procesos
- necesarios para actuar como un servidor de NIS la
- próxima vez que se configure el subsistema de
- red.</para>
- </step>
- <step>
- <para><programlisting>nis_yppasswdd_enable="YES"</programlisting>
- Esto permite activar el d&aelig;mon
- <command>rpc.yppasswdd</command> el cual, como se ha
- mencionado anteriormente, permite a los usuarios realizar
- cambios de contraseña desde las máquinas clientes
- de NIS.</para>
- </step>
- </procedure>
-
- <note>
- <para>Dependiendo de la configuración de NIS podemos
- necesitar añadir algunas entradas más. Consulte
- la <link linkend="network-nis-server-is-client">sección sobre
- servidores NIS que también actúan como
- clientes</link>, más adelante en el texto, para saber
- más sobre esto.</para>
- </note>
-
- <para>Una vez hecho esto todo lo que tenemos que hacer es ejecutar
- <command>/etc/netstart</command> como superusuario. Esta
- orden realiza los pasos de configuración necesarios
- utilizando los valores de las variables definidas en
- <filename>/etc/rc.conf</filename>.</para>
- </sect4>
-
- <sect4>
- <title>Inicialización de los mapeos de NIS</title>
- <indexterm>
- <primary>NIS</primary>
- <secondary>maps</secondary>
- </indexterm>
- <para>Las <emphasis>asociaciones o mapeos de NIS</emphasis>
- no son más que ficheros de base de datos.
- Estos ficheros se generan a partir de los ficheros de
- configuración contenidos en el directorio <filename>
- etc/</filename> excepto para el caso del fichero <filename>
- etc/master.passwd</filename>. Esto es así por una buena
- razón ya que no suele ser buena idea propagar las
- contraseñas de <systemitem class="username">root</systemitem> y de otras cuentas
- de administración a todos los servidores NIS del dominio.
- servidores NIS del dominio. Así, antes de inicializar los
- mapeos se debe ejecutar:</para>
-
- <screen>&prompt.root; <userinput>cp /etc/master.passwd /var/yp/master.passwd</userinput>
-&prompt.root; <userinput>cd /var/yp</userinput>
-&prompt.root; <userinput>vi master.passwd</userinput></screen>
-
- <para>Se deben borrar todas las entradas que hagan referencia a
- cuentas del sistema
- (<systemitem class="username">bin</systemitem>, <systemitem class="username">tty</systemitem>,
- <systemitem class="username">kmem</systemitem>, <systemitem class="username">games</systemitem>,
- etc), junto con cualquier cuenta que no deseemos que se transmita
- a los clientes NIS (por ejemplo la cuenta de <systemitem class="username">
- root</systemitem> y cualquier otra cuenta con UID 0 (el del
- superusuario)).</para>
-
- <note><para>Asegúrese de que
- <filename>/var/yp/master.passwd</filename> no se puede leer ni por
- grupos ni por el resto de usuarios (modo 600). Utilice
- <command>chmod</command> en caso de necesidad.</para></note>
-
- <indexterm><primary>Tru64 UNIX</primary></indexterm>
- <para>Una vez hecho esto es hora de inicializar las asociaciones de
- NIS. &os; incluye un <quote>script</quote> denominado
- <command>ypinit</command> para realizar esta tarea (consulte su
- página del manual para obtener más
- información). Recuerde que este <quote>script</quote> se
- encuentra disponible en la mayoría de los sistemas &unix;,
- pero no en todos. En sistemas Digital UNIX/Compaq Tru64 UNIX se
- denomina <command>ypsetup</command>. Debido a que se pretende
- generar asociaciones para un servidor NIS maestro vamos a
- ejecutar <command>ypinit</command> con la opción
- <option>-m</option>. A modo de ejemplo, suponiendo que todos los
- pasos comentados anteriormente se han realizado con éxito,
- ejecute:</para>
-
- <screen>ellington&prompt.root; <userinput>ypinit -m test-domain</userinput>
-Server Type: MASTER Domain: test-domain
-Creating an YP server will require that you answer a few questions.
-Questions will all be asked at the beginning of the procedure.
-Do you want this procedure to quit on non-fatal errors? [y/n: n] <userinput>n</userinput>
-Ok, please remember to go back and redo manually whatever fails.
-If you don't, something might not work.
-At this point, we have to construct a list of this domains YP servers.
-rod.darktech.org is already known as master server.
-Please continue to add any slave servers, one per line. When you are
-done with the list, type a &lt;control D&gt;.
-master server : ellington
-next host to add: <userinput>coltrane</userinput>
-next host to add: <userinput>^D</userinput>
-The current list of NIS servers looks like this:
-ellington
-coltrane
-Is this correct? [y/n: y] <userinput>y</userinput>
-
-[..salida de la generacion de mapeos..]
-
-NIS Map update completed.
-ellington has been setup as an YP master server without any errors.</screen>
-
- <para><command>ypinit</command> debería haber creado el
- fichero <filename>/var/yp/Makefile</filename> a partir de
- <filename>/var/yp/Makefile.dist</filename>.
- Una vez creado este archivo presupone que se está usando un
- entorno NIS con un único servidor utilizando
- sólamente máquinas &os;. Debido a que
- <literal>test-domain</literal> posee también un servidor
- NIS esclavo se debe editar el fichero <filename>
- var/yp/Makefile</filename>:</para>
-
- <screen>ellington&prompt.root; <userinput>vi
- /var/yp/Makefile</userinput></screen>
-
- <para>Se debe comentar la línea que dice:</para>
-
- <programlisting>NOPUSH = "True"</programlisting>
-
- <para>(si es que no se encuentra ya comentada).</para>
- </sect4>
-
- <sect4>
- <title>Configuración de un servidor NIS
- esclavo</title>
- <indexterm>
- <primary>NIS</primary>
- <secondary>slave server</secondary>
- </indexterm>
- <para>La configuración de un servidor NIS esclavo resulta ser
- incluso más sencilla que la del maestro. Basta con entrar
- en el servidor esclavo y editar <filename>/etc/rc.conf</filename>
- de foma semejante a como se realizó en el apartado
- anterior. La única diferencia consiste en que ahora debemos
- utilizar la opción <option>-s</option> cuando ejecutemos
- ejecutemos <command>ypinit</command>. A continuación del
- parámetro <option>-s</option> se debe especificar el nombre
- del servidor maestro de modo que la orden tendría que ser
- algo parecido a esto:</para>
-
- <screen>coltrane&prompt.root; <userinput>ypinit -s ellington test-domain</userinput>
-
-Server Type: SLAVE Domain: test-domain Master: ellington
-
-Creating an YP server will require that you answer a few questions.
-Questions will all be asked at the beginning of the procedure.
-
-Do you want this procedure to quit on non-fatal errors? [y/n: n] <userinput>n</userinput>
-
-Ok, please remember to go back and redo manually whatever fails.
-If you don't, something might not work.
-There will be no further questions. The remainder of the procedure
-should take a few minutes, to copy the databases from ellington.
-Transferring netgroup...
-ypxfr: Exiting: Map successfully transferred
-Transferring netgroup.byuser...
-ypxfr: Exiting: Map successfully transferred
-Transferring netgroup.byhost...
-ypxfr: Exiting: Map successfully transferred
-Transferring master.passwd.byuid...
-ypxfr: Exiting: Map successfully transferred
-Transferring passwd.byuid...
-ypxfr: Exiting: Map successfully transferred
-Transferring passwd.byname...
-ypxfr: Exiting: Map successfully transferred
-Transferring group.bygid...
-ypxfr: Exiting: Map successfully transferred
-Transferring group.byname...
-ypxfr: Exiting: Map successfully transferred
-Transferring services.byname...
-ypxfr: Exiting: Map successfully transferred
-Transferring rpc.bynumber...
-ypxfr: Exiting: Map successfully transferred
-Transferring rpc.byname...
-ypxfr: Exiting: Map successfully transferred
-Transferring protocols.byname...
-ypxfr: Exiting: Map successfully transferred
-Transferring master.passwd.byname...
-ypxfr: Exiting: Map successfully transferred
-Transferring networks.byname...
-ypxfr: Exiting: Map successfully transferred
-Transferring networks.byaddr...
-ypxfr: Exiting: Map successfully transferred
-Transferring netid.byname...
-ypxfr: Exiting: Map successfully transferred
-Transferring hosts.byaddr...
-ypxfr: Exiting: Map successfully transferred
-Transferring protocols.bynumber...
-ypxfr: Exiting: Map successfully transferred
-Transferring ypservers...
-ypxfr: Exiting: Map successfully transferred
-Transferring hosts.byname...
-ypxfr: Exiting: Map successfully transferred
-
-coltrane has been setup as an YP slave server without any errors.
-Don't forget to update map ypservers on ellington.</screen>
-
- <para>En estos momentos debemos tener un nuevo directorio llamado
- <filename>/var/yp/test-domain</filename>. Las copias de los
- mapeos del servidor maestro se almacenan en dicho directorio.
- Es nuestra responsabilidad como administradores asegurar que dichas
- copias permanecen actualizadas en todo momento. La siguiente
- entrada en el archivo <filename>/etc/crontab</filename> del
- servidor esclavo se encarga de realizar esta tarea:</para>
-
- <programlisting>20 * * * * root /usr/libexec/ypxfr passwd.byname
-21 * * * * root /usr/libexec/ypxfr passwd.byuid</programlisting>
-
- <para>Estas dos líneas obligan al servidor esclavo a
- sincronizar los mapeos con el servidor maestro. Estas entradas no
- son obligatorias ya que el servidor maestro siempre intenta
- comunicar cualquier cambio que se produzca en sus asociaciones
- a todos los servidores esclavos ya que la información de,
- esclavos, ya que la información de, por ejemplo,
- contraseñas es de vital importancia para el funcionamiento
- de los sistemas que dependen del servidor. No obstante es una
- buena idea obligar a que se realicen estos cambios mediante las
- entradas anteriores. Esto resulta ser incluso más
- importante en redes de sobrecargadas donde las actualizaciones de
- asociaciones pueden algunas veces no llegar a realizarse de forma
- completa.</para>
-
- <para>A continuación se ejecuta
- <command>/etc/netstart</command> en el servidor esclavo de igual
- de igual forma que se hizo con el servidor maestro; esto relanza
- de nuevo el servidor de NIS.</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Clientes NIS</title>
-
- <para>Un cliente de NIS establece lo que se conoce con el nombre de
- asociación (bind en inglés) con un servidor NIS
- NIS determinado utilizando el d&aelig;mon <command>
- ypbind</command>. <command>ypbind</command> comprueba el dominio
- por defecto del sistema (especificado mediante
- <command>domainname</command>) y comienza a enviar peticiones
- RPC a todos los elementos de la red local (broadcast). Estas
- peticiones especifican el nombre del dominio con el que se quiere
- establecer la asociación. Si esta petición alcanza una
- petición alcanza un servidor NIS configurado para servir dicho
- dominio el servidor responde a la petición e
- <command>ypbind</command> almacenará la dirección de
- dicho servidor. Si existen varios servidores disponibles (un maestro
- y varios esclavos, por ejemplo), <command>ypbind</command>
- utilizará la dirección del primero en responder.
- A partir de este punto el cliente dirigirá el resto de sus
- peticiones NIS directamente a la dirección IP almacenada.
- Ocasionalmente <command>ypbind</command> envía un
- <quote>ping</quote> sobre el servidor para comprobar que en efecto
- se encuentra funcionando. Si no se recibe contestación al
- ping dentro de un espacio de tiempo determinado
- <command>ypbind</command> marca el dominio como <quote>sin
- asociar</quote> y comienza de nuevo a inundar la red con la esperanza
- de localizar algún otro servidor NIS.</para>
-
- <sect4>
- <title>Configuración de un cliente NIS</title>
- <indexterm>
- <primary>NIS</primary>
- <secondary>client configuration</secondary>
- </indexterm>
- <para>La configuración de un cliente &os; de NIS resulta ser
- una operación extremadamente sencilla.</para>
-
- <procedure>
- <step>
- <para>Editar el fichero
- <filename>/etc/rc.conf</filename> y añadir las
- siguientes líneas para establecer el nombre de dominio
- NIS y para que se ejecute
- <command>ypbind</command> al arranque de la red:</para>
-
- <programlisting>nisdomainname="test-domain"
-nis_client_enable="YES"</programlisting>
- </step>
-
- <step>
- <para>Para importar todas las entradas de contraseñas del
- servidor de NIS hay que eliminar todas las cuentas de usuario
- de <filename>/etc/master.passwd</filename> y utilizar
- <command>vipw</command> para añadir la siguiente
- línea al final de dicho fichero:</para>
-
- <programlisting>+:::::::::</programlisting>
-
- <note>
- <para>Esta línea permite que cualquiera abra una cuenta
- en local, siempre que dicha cuenta se encuentre definida en
- las asociaciones de cuentas y contraseñas del
- servidor NIS. Existen varias formas de configurar los
- clientes NIS modificando esta línea. Consulte la
- <link linkend="network-netgroups">sección sobre
- netgroups</link> que se encuentra más adelante en
- este mismo texto. Si quiere saber más puede consultar
- el libro de O'Reilly <literal>Managing NFS and
- NIS</literal>.</para>
- </note>
-
- <note>
- <para>Se debe mantener al menos una cuenta local (por ejemplo,
- una cuenta que no se importe a través de NIS) en
- el fichero <filename>/etc/master.passwd</filename> y
- además dicha cuenta debería ser miembro del
- grupo <systemitem class="groupname">wheel</systemitem>. Si algo va mal con el
- procedimiento descrito esta cuenta se puede utilizar
- para entrar en la máquina cliente de forma remota
- para posteriormente convertirse en superusuario e intentar
- solucionar el problema.</para>
- </note>
- </step>
-
- <step>
- <para>Para importar todas las entradas de grupo posibles del
- servidor NIS se debe añadir la siguiente línea
- al fichero <filename>/etc/group</filename>:</para>
-
- <programlisting>+:*::</programlisting>
- </step>
- </procedure>
-
- <para>Después de completar estos pasos deberímos ser
- capaces de ejecutar <command>ypcat passwd</command> y ver la
- asociación de contraseñas que se encuentra en el
- servidor de NIS</para>
- </sect4>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Seguridad en NIS</title>
-
- <para>En general cualquier usuario remoto puede realizar peticiones de
- RPC a &man.ypserv.8; y recuperar los contenidos de las asociaciones
- de NIS siempre y cuando el usuario remoto conozca el nombre de
- dominio de NIS. Para evitar este tipo de transacciones no autorizadas,
- &man.ypserv.8; soporta una característica denominada
- <quote>securenets</quote> la cual se puede utilizar para limitar el
- acceso a un determinado conjunto de máquinas. En el arranque
- &man.ypserv.8; intenta cargar la información de
- <quote>securenets</quote> a partir de un fichero denominado
- <filename>/var/yp/securenets</filename>.</para>
-
- <note>
- <para>Esta ruta de fichero varía dependiendo del camino
- especificado con la opción <option>-p</option>. Dicho fichero
- contiene entradas compuestas de, por un lado, un rango de red y por
- otro una máscara de red, separados por espacios en blanco.
- Las líneas que comienzan por <quote>#</quote> se consideran
- comentarios. A continuación se muestra un ejemplo de un
- fichero <quote>securenet</quote>:</para>
- </note>
-
- <programlisting># admitir conexiones desde localhost -- obligatorio
-127.0.0.1 255.255.255.255
-# admitir conexiones desde cualquier host
-# on the 192.168.128.0 network
-192.168.128.0 255.255.255.0
-# admitir conexiones desde cualquier host
-# between 10.0.0.0 to 10.0.15.255
-# esto incluye las maquinas en el 'testlab'
-10.0.0.0 255.255.240.0</programlisting>
-
- <para>Si &man.ypserv.8; recibe una petición de una
- dirección que coincide con alguna de las reglas especificadas
- en el fichero se procesa la petición. Si no existe ninguna
- coincidencia la petición se rechaza y se graba un mensaje de
- aviso. Si el archivo
- <filename>/var/yp/securnets</filename> no existe
- <command>ypserv</command> acepta conexiones de cualquier
- máquina.</para>
-
- <para>El programa <command>ypserv</command> también posee soporte
- para el paquete de Wietse Venema denominado <application>
- tcpwrapper</application>. Este paquete permite utilizar los ficheros
- de configuración de <application>tcpwrapper</application> para
- realizar control de acceso en lugar de utilizar <filename>
- var/yp/securenets</filename>.</para>
-
- <note>
- <para>Aunque ambos mecanismos de control de acceso proporcionan un
- grado de seguridad mayor que no utilizar nada resultan vulnerables
- a ataques de <quote>falsificación de IPs</quote>. El
- cortafuegos de la red donde se implanta el servicio de NIS
- debería encargarse de bloquear el tráfico
- específico de dicho servicio.</para>
-
- <para>Los servidores que utilizan
- <filename>/var/yp/securenets</filename>
- pueden no prestar servicio a clientes NIS legítimos cuando se
- trabaja con implementaciones arcaicas de TCP/IP. Algunas de estas
- implementaciones ponen a cero todos los bits de máquina
- cuando se realizan broadcast y/o pueden fallar al especificar la
- máscara de red en el mismo caso, por citar algunos
- ejemplos. Mientras que algunos de estos problemas se pueden
- solucionar variando la configuración del cliente en otros
- casos podemos vernos obligados a prescindir del cliente en
- cuestión o a prescindir del fichero <filename>
- var/yp/securenets</filename>.</para>
-
- <para>Se desaconseja la utilización de <filename>
- var/yp/securenets</filename> en un sistema con una
- implementación arcaica de TCP/IP y puede suponer una
- pérdida de funcionalidad para grandes zonas de la red.</para>
-
- <indexterm><primary>tcpwrapper</primary></indexterm>
- <para>La utilización del paquete
- <application>tcpwrapper</application> incrementa la latencia del
- servidor NIS. El retardo adicional introducido puede ser lo
- suficientemente grande como para causar la expiración de
- ciertos temporizadores de los programas clientes, especialmente en
- redes muy cargadas o con servidores de NIS lentos. Si se
- experimentan estos síntomas en varias máquinas
- clientes, puede ser conveniente convertir dichas máquinas
- en servidores NIS esclavos y obligarlas a asociarse con ellas
- mismas.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>Prohibir el acceso a determinados usuarios</title>
-
- <para>En nuestro laboratorio de ejemplo existe una
- máquina denominada <systemitem>basie</systemitem> que
- actúa sólo como una estación de trabajo para el
- profesorado. No queremos sacar a esta máquina del dominio NIS
- pero nos damos cuenta de que el fichero <filename>passwd</filename>
- que se encuentra en el servidor de NIS posee cuentas tanto para
- profesores como para alumnos. ?Qué podemos
- hacer?.</para>
-
- <para>Existe una forma de prohibir el acceso a determinados usuarios
- sobre una determinada máquina incluso aunque se encuentren dados
- de alta en la base de datos de NIS. Para realizar esto todo lo que
- debemos hacer es añadir
- <literal>-nombredeusuario</literal> al final del
- fichero <filename>/etc/master.passwd</filename> en la máquina
- cliente donde <replaceable>nombredeusuario</replaceable> es el nombre
- de usuario del usuario al que queremos prohibirle el acceso.
- Esto se debe realizar a poder ser mediante
- <command>vipw</command> ya que <command>vipw</command> realiza
- comprobaciones de seguridad sobre los cambios realizados y
- además se encarga de reconstruir la base de datos de
- contraseñas cuando se termina la edición. Por ejemplo,
- si quisiéramos prohibir el acceso al usuario <systemitem class="username">
- bill</systemitem> a la máquina <systemitem>basie</systemitem>
- haríamos:</para>
-
-
- <screen>basie&prompt.root; <userinput>vipw</userinput>
-<userinput>[añadimos -bill al final y salimos]</userinput>
-vipw: rebuilding the database...
-vipw: done
-
-basie&prompt.root; <userinput>cat /etc/master.passwd</userinput>
-
-root:[password]:0:0::0:0:The super-user:/root:/bin/csh
-toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh
-daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
-operator:*:2:5::0:0:System &amp;:/:/sbin/nologin
-bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin
-tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
-kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
-games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin
-news:*:8:8::0:0:News Subsystem:/:/sbin/nologin
-man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
-bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
-uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
-xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin
-pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin
-nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
-+:::::::::
--bill
-
-basie&prompt.root;</screen>
- </sect2>
-
- <sect2 xml:id="network-netgroups">
- <info><title>Uso de Netgroups</title>
- <authorgroup>
- <author><personname><firstname>Udo</firstname><surname>Erdelhoff</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>netgroups</primary></indexterm>
-
- <para>El método descrito en la sección anterior funciona
- razonablemente bien si las reglas especiales se definen para un
- conjunto pequeño de usuarios y/o máquinas. En dominios
- admnistrativos grandes puede que se nos <emphasis>olvide</emphasis>
- prohibir el acceso a algún usuario en determinadas
- máquinas perdiendo de esta forma el principal beneficio de
- utilizar el servicio de páginas amarillas:<emphasis>
- administración centralizada</emphasis>.</para>
-
- <para>La solución creada por los desarrolladores de NIS se
- denomina <emphasis>netgroups</emphasis>. Su propósito se
- asemeja al concepto de grupos utilizado por los sistemas &unix;. La
- diferencia principal es la carencia de un identificador
- numérico y la habilidad para definir un <quote>netgroup</quote>
- que incluye tanto a cuentas de usuario como a otros
- <quote>netgroups</quote>.</para>
-
- <para>Los netgroups se desarrollaron para gestionar redes grandes y
- y complejas con cientos de usuarios y máquinas. Por un lado
- esto es una Cosa Buena si nos encontramos en tal situación
- pero por otro lado esta complejidad añadida hace que sea casi
- imposible de explicar a través de ejemplos sencillos. El
- ejemplo que va a utilizar en lo que queda de sección
- ilustrará este hecho.</para>
-
- <para>Vamos a suponer que la exitosa introducción del servicio de
- páginas amarillas en nuestro laboratorio ha llamado la
- atención de nuestros jefes. Nuestra siguiente tarea consiste en
- extender el dominio de NIS para que cubra otras máquinas del
- campus. Las tablas que se muestran a continuación contienen los
- nombres de los nuevos usuarios y máquinas junto con una breve
- descripción de ellas.</para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Nombre del Usuario/usuarios</entry>
- <entry>Descripción</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><systemitem class="username">alpha</systemitem>, <systemitem class="username">beta</systemitem></entry>
- <entry>Empleados normales del departamento de IT</entry>
- </row>
-
- <row>
- <entry><systemitem class="username">charlie</systemitem>, <systemitem class="username">delta</systemitem></entry>
- <entry>Los nuevos aprendices del departamento de IT</entry>
- </row>
-
- <row>
- <entry><systemitem class="username">echo</systemitem>, <systemitem class="username">foxtrott</systemitem>, <systemitem class="username">golf</systemitem>, ...</entry>
- <entry>Empleados normales</entry>
- </row>
-
- <row>
- <entry><systemitem class="username">able</systemitem>, <systemitem class="username">baker</systemitem>, ...</entry>
- <entry>Los actuales internos</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Nombre de la Máquina(s)</entry>
- <entry>Descripción</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <!-- Nombres provenientes de "Buenos Presagios" de Neil Gaiman y
- Terry Pratchett. Muchas gracias por ese libro
- tan brillante. -->
- <!-- Nota del Revisor: No era del todo necesario traducir los
- nombres de los hosts pero siendo el revisor fan convicto y
- confeso de Terry Pratchett no ha habido mas remedio -->
- <entry><systemitem>guerra</systemitem>, <systemitem>muerte</systemitem>,
- <systemitem>hambre</systemitem>,
- <systemitem>peste</systemitem></entry>
- <entry>Los servidores más
- importantes. Sólo los empleados de IT pueden
- entrar en estas máquinas</entry>
- </row>
- <row>
- <!-- omitimos gula porque estaba muy gorda -->
- <entry><systemitem>orgullo</systemitem>, <systemitem>avaricia</systemitem>,
- <systemitem>envidia</systemitem>, <systemitem>ira</systemitem>,
- <systemitem>lujuria</systemitem>, <systemitem>pereza</systemitem></entry>
- <entry>Servidores de menor importancia. Todos los miembros del
- departamento de IT pueden entrar en ellos.</entry>
- </row>
-
- <row>
- <entry><systemitem>uno</systemitem>, <systemitem>dos</systemitem>,
- <systemitem>tres</systemitem>, <systemitem>cuatro</systemitem>,
- ...</entry>
- <entry>Estaciones de trabajo ordinarias. Sólo los
- empleados <emphasis>actuales</emphasis> pueden utilizar estas
- máquinas.</entry>
- </row>
-
- <row>
- <entry><systemitem>trashcan</systemitem></entry>
- <entry>Una máquina muy vieja sin ningún dato
- dato crítico. Incluso los internos pueden utilizar
- esta máquina.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Si se trata de implementar estas restricciones a nivel de usuario
- particular tendríamos que añadir una línea
- <literal>-usuario</literal> a cada fichero
- <filename>passwd</filename> del sistema para cada usuario que tuviera
- prohibido el acceso a dicho sistema. Si nos olvidamos de una sola
- entrada podrímos tener serios problemas. Puede ser factible
- realizar esta configuración cuando se instala el servicio pero
- no obstante el riesgo que corremos al mantener este sistema de
- restricciones en el día día es muy alto. Después
- de todo Murphy era un optimista.</para>
-
- <para>La gestión de esta situación mediante netgroups
- ofrece varias ventajas. Cada usuario no tiene que tratarse de una
- forma individualizada; basta con añadir un usuario a uno o
- más netgroups y posteriormente permitir o prohibir el acceso
- para todos los usuarios del netgroup. Si se añade una nueva
- máquina al servicio de NIS simplemente tendremos que definir
- restricciones de acceso para los netgroups definidos en la
- red. Si se añade un nuevo usuario bastará con
- añadir dicho usuario a un netgroup existente. Estos cambios son
- independientes unos de otros: se acabó la necesidad de aplicar
- la frase <quote>por cada combinación de usuario y máquina
- haga esto y esto</quote>. Si hemos planificado nuestro servicio de
- NIS cuidadosamente, sólo tendremos que modificar un fichero de
- configuración en un determinado servidor para permitir o denegar
- estos accesos.</para>
-
- <para>El primer paso consiste en la inicialización de la
- asociación o mapeo del netgroup. La orden de &os;
- &man.ypinit.8; no crea este mapeo por defecto pero una vez creado
- será tenido en cuenta por la implementación de NIS.
- Para crear una asociación vacía simplemente
- escriba:</para>
-
- <screen>ellington&prompt.root; <userinput>vi /var/yp/netgroup</userinput></screen>
-
- <para>y comienze a añadir contenido. En nuestro ejemplo
- necesitamos al menos cuatro netgroups: empleados de IT,
- aprendices de IT, empleados normales e internos.</para>
-
- <programlisting>IT_EMP (,alpha,test-domain) (,beta,test-domain)
-IT_APP (,charlie,test-domain) (,delta,test-domain)
-USERS (,echo,test-domain) (,foxtrott,test-domain) \
- (,golf,test-domain)
-INTERNS (,able,test-domain) (,baker,test-domain)</programlisting>
-
- <para><literal>IT_EMP</literal>, <literal>IT_APP</literal> etc.
- son los nombres de los netgroups. Cada conjunto delimitado por
- paréntesis define una o más cuentas como pertenecientes
- al netgroup. Existen tres campos definidos dentro de dichos de dichos
- grupos:</para>
-
- <orderedlist>
- <listitem>
- <para>El nombre de las máquinas donde los siguientes items
- son aplicables. Si no se especifica un nombre de
- máquina la entrada se aplica a todas las máquinas
- existentes. Si se especifica una máquina determinada
- entraremos en un mundo lleno de horrores y confusiones así
- que mejor no hacerlo.</para>
- </listitem>
-
- <listitem>
- <para>El nombre de la cuenta que pertenece al netgroup que estamos
- definiendo.</para>
- </listitem>
-
- <listitem>
- <para>El dominio NIS donde reside la cuenta. Se pueden importar
- cuentas de otros dominios NIS (en caso de que usted pertenezca al
- extraño grupo de personas que gestionan más de un
- dominio NIS.</para>
- </listitem>
- </orderedlist>
-
- <para>Cada uno de estos campos puede contener comodines. Consulte
- &man.netgroup.5; para obtener más detalles.</para>
-
- <note>
- <indexterm><primary>netgroups</primary></indexterm>
- <para>No se deben utilizar nombres de los netgroups superiores
- a ocho caracteres, especialmente si las máquinas de nuestro
- dominio utilizan sistemas operativos variados. Los nombres son
- sensibles a las mayúsculas/minúsculas: se recomienda
- utilizar nombres en mayúsculas para distinguirlos de los
- usuarios o máquinas.</para>
-
- <para>Algunos clientes de NIS (distintos de los clientes &os;) no
- pueden gestionar netgroups con un gran número de entradas.
- Por ejemplo algunas versiones antiguas de &sunos; comienzan a
- presentar problemas si un netgroup contiene más de
- <emphasis>quince entradas</emphasis>. Se puede solventar este
- problema creando varios sub-netgroups de como mucho quince usuarios
- y finalmente creando el verdadero netgroup compuesto por los
- sub-netgroups:</para>
-
- <programlisting>BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
-BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
-BIGGRP3 (,joe31,domain) (,joe32,domain)
-BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3</programlisting>
-
- <para>Se puede repetir este proceso si se tienen que definir
- más de 225 usuarios dentro de un único netgroup.</para>
- </note>
-
- <para>La activación y distribución de nuestro nuevo mapeo
- NIS resulta sencillo:</para>
-
- <screen>ellington&prompt.root; <userinput>cd /var/yp</userinput>
-ellington&prompt.root; <userinput>make</userinput></screen>
-
- <para>Esto genera las tres asociaciones NIS
- <filename>netgroup</filename>, <filename>netgroup.byhost</filename> y
- <filename>netgroup.byuser</filename>. Utilice &man.ypcat.1; para
- comprobar si el nuevo mapeo NIS se encuentra disponible:</para>
-
- <screen>ellington&prompt.user; <userinput>ypcat -k netgroup</userinput>
-ellington&prompt.user; <userinput>ypcat -k netgroup.byhost</userinput>
-ellington&prompt.user; <userinput>ypcat -k netgroup.byuser</userinput></screen>
-
- <para>La salida de la primera orden debería parecerse a los
- contenidos del fichero
- <filename>/var/yp/netgroup</filename>. La segunda orden no
- mostrará ninguna salida salvo que se hayan especificado
- netgroups específicos para máquinas. La tercera orden
- se puede utilizar para obtener la lista de los netgroups a los que
- petenece un determinado usuario.</para>
-
- <para>La configuración del cliente es bastante simple. Para
- configurar el servidor <systemitem>guerra</systemitem> se debe ejecutar
- &man.vipw.8; y sustituír la línea</para>
-
- <programlisting>+:::::::::</programlisting>
-
- <para>por</para>
-
- <programlisting>+@IT_EMP:::::::::</programlisting>
-
- <para>Ahora sólo se importan los datos para los usuarios
- que se encuentren definidos en el netgroup
- <literal>IT_EMP</literal>; dichos datos se importan en la base de datos
- de contraseñas de <systemitem>guerra</systemitem> y sólo se
- permite el acceso a estos usuarios.</para>
-
- <para>Por desgraciaesta información también se aplica a la
- función <literal>~</literal> del shell y a todas las rutinas que
- traducen nombres de usuarios con los correspondientes identificadores
- númericos de usuario (uid). En otras palabras, la orden
- <command>cd
- ~</command> no va a funcionar, <command>ls
- -l</command> muestra el identificador numérico en lugar del
- nombre de usuario y <command>find . -user joe
- -print</command> produce un error de <errorname>
- No such user</errorname> (<quote>Usuario desconocido</quote>). Para
- solucionar esto debemos importar todas las entradas de usuario en la
- máquina cliente NIS pero sin permitirles el acceso.</para>
-
- <para>Esto se puede realizar añadiendo otra línea
- al fichero <filename>/etc/master.passwd</filename>. Esta línea
- debería contener lo siguiente:</para>
-
- <para><literal>+:::::::::/sbin/nologin</literal>, lo que significa que se
- <quote>importen todas las entradas pero que se reemplace el shell por
- <filename>/sbin/nologin</filename></quote>. Se puede sustituir
- cualquier campo de la entrada de contraseñas especificando un
- valor concreto para dicho campo en el fichero local
- local <filename>/etc/master.passwd</filename>.</para>
-
- <!-- Been there, done that, got the scars to prove it - ue -->
- <warning>
- <para>Asegúrese de que la línea
- <literal>+:::::::::/sbin/nologin</literal> se sitúa
- después de
- <literal>+@IT_EMP:::::::::</literal>. Si esto no se cumple todas las
- cuentas de usuario importadas del servidor NIS poseerán
- <filename>/sbin/nologin</filename> como shell de acceso.</para>
- </warning>
-
- <para>Después de este cambio si se introduce un nuevo empleado
- en el departamento de IT basta con cambiar una asociación de
- NIS. Se podría aplicar una aproximación similar para los
- servidores menos importantes sustituyendo la cadena
- <literal>+:::::::::</literal> en las versiones locales del fichero
- <filename>/etc/master.passwd</filename> por algo parecido a
- esto:</para>
-
- <programlisting>+@IT_EMP:::::::::
-+@IT_APP:::::::::
-+:::::::::/sbin/nologin</programlisting>
-
- <para>Las líneas correspondientes para las estaciones de trabajo
- normales podrían ser:</para>
-
- <programlisting>+@IT_EMP:::::::::
-+@USERS:::::::::
-+:::::::::/sbin/nologin</programlisting>
-
- <para>Y parece que todos nuestros problemas de gestión han
- desaparecido; hasta que unas semanas más tarde se produce un
- cambio en la política de gestión: el depatamento de IT
- comienza a alquilar interinos. Los interinos de IT pueden utilizar
- las estaciones de trabajo normales y los servidores menos importantes
- y los aprendices de IT pueden acceder a los servidores principales.
- No nos queda más remedio que añadir un nuevo netgroup
- denominado <literal>IT_INTERN</literal> y añadir los nuevos
- interinos de IT a este nuevo grupo y comenzar a cambiar la
- la configuración de cada máquina, una por una...
- Como dice el antiguo proverbio: <quote>Errores en la
- planificación centralizada conllevan grandes quebraderos de
- de cabeza globales</quote>.</para>
-
- <para>La habilidad que posee NIS para crear netgroups a partir de otros
- netgroups se puede utilizar para evitar la situación
- anterior. Una posibilidad consiste en la creación de netgroups
- basados en roles. Por ejemplo, se podría crear un netgroup
- denominado <literal>BIGSRV</literal> para definir las restricciones
- de acceso para los servidores importantes, otro grupo denominado
- <literal>USERBOX</literal> para las estaciones de trabajo... Cada uno
- de estos netgroups podría contener los netgroups que pueden
- acceder a dichas máquinas. Las nuevas entradas para nuestro
- mapeo NIS de netgroups sería algo así:</para>
-
- <programlisting>BIGSRV IT_EMP IT_APP
-SMALLSRV IT_EMP IT_APP ITINTERN
-USERBOX IT_EMP ITINTERN USERS</programlisting>
-
- <para>Este método de definir restricciones de acceso funciona
- razonablemente bien si podemos definir grupos de máquinas
- que posean restricciones semejantes. Por desgracia lo normal es que
- este caso resulta ser una excepción más que una regla.
- En la mayor parte de las ocasiones necesitaremos definir restricciones
- de acceso en función de máquinas individuales.</para>
-
- <para>Las definiciones de netgroups específicos para determinadas
- máquinas constituyen el segundo método que se puede
- utilizar para gestionar el cambio de política del ejemplo
- que estamos explicando. En nuestro caso el fichero
- <filename>/etc/master.passwd</filename> de cada máquina
- contiene dos líneas que comienzan por
- <quote>+</quote>. La primera de ellas añade un netgroup con las
- cuentas que pueden acceder a esa máquina, mientras que la
- segunda añade el resto de cuentas con shell
- el resto de cuentas con shell
- <filename>/sbin/nologin</filename>. Es una buena idea utilizar la
- versión <quote>todo en mayúsculas</quote> del nombre de
- máquina como el nombre del netgroup. En otras palabras, las
- líneas deberían ser como la siguiente:</para>
-
- <programlisting>+@<replaceable>BOXNAME</replaceable>:::::::::
-+:::::::::/sbin/nologin</programlisting>
-
- <para>Una vez que hemos completado esta tarea para todas las
- máquinas nunca más resultará necesario modificar
- las versiones locales de <filename>/etc/master.passwd</filename>.
- Los futuros cambios se pueden gestionar simplemente modificando el
- mapeo o asociación de NIS. A continuación se muestra un
- mapeo de netgroups para el escenario que se está explicando
- junto con algunas buenas ideas:</para>
-
- <programlisting># Definimos antes que nada los grupos de usuarios
-IT_EMP (,alpha,test-domain) (,beta,test-domain)
-IT_APP (,charlie,test-domain) (,delta,test-domain)
-DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
-DEPT2 (,golf,test-domain) (,hotel,test-domain)
-DEPT3 (,india,test-domain) (,juliet,test-domain)
-ITINTERN (,kilo,test-domain) (,lima,test-domain)
-D_INTERNS (,able,test-domain) (,baker,test-domain)
-#
-# Ahora definimos unos pocos grupos basados en roles
-USERS DEPT1 DEPT2 DEPT3
-BIGSRV IT_EMP IT_APP
-SMALLSRV IT_EMP IT_APP ITINTERN
-USERBOX IT_EMP ITINTERN USERS
-#
-# Y un grupo para tareas especiales
-# Permitimos a echo y golf acceso a nuestra maquina-anti-virus
-SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)
-#
-# netgroups basados en maquinas
-# Nuestros servidores principales
-GUERRA BIGSRV
-HAMBRE BIGSRV
-# El usuario india necesita acceso a este servidor
-PESTE BIGSRV (,india,test-domain)
-#
-# Este es realmente importante y necesita mas restricciones de
-# acceso
-MUERTE IT_EMP
-#
-# La maquina-anti-virus que mencionabamos mas arriba
-ONE SECURITY
-#
-# Restringimos una maquina a un solo usuario
-TWO (,hotel,test-domain)
-# [...otros grupos]</programlisting>
-
- <para>Si estamos utilizando algun tipo de base de datos para gestionar
- cuentas de usuario debemos ser capaces de crear la primera parte del
- mapeo utilizando las herramientas proporcionadas por dicho sistema
- de base de datos. De este modo los nuevos usuarios tendrán
- automáticamente derechos de acceso sobre las máquinas.
- </para>
-
- <para>Una última, por precaución: puede no ser siempre
- aconsejable utilizar netgroups basados en máquinas. Si se
- están desplegando, por ejemplo, un par de docenas o
- incluso cientos de máquinas idénticas en laboratorios
- de estudiantes, es mejor utilizar netgroups basados en roles en lugar
- de netgroups basados en máquinas individuales
- para mantener el tamaño de la asociación NIS dentro de
- unos límites razonables.</para>
- </sect2>
-
- <sect2>
- <title>Conceptos importantes a tener muy en cuenta</title>
-
- <para>Todavía quedan un par de cosas que tendremos que hacer de
- forma distinta a lo comentado hasta ahora en caso de encontrarnos
- dentro de un entorno de NIS.</para>
-
- <itemizedlist>
- <listitem>
- <para>Cada vez que deseemos añadir un usuario a nuestro
- laboratorio debemos añadirlo al servidor NIS maestro
- <emphasis>únicamente</emphasis> y es tarea fundamental del
- administrador <emphasis>acordarse de reconstruir los mapeos
- NIS</emphasis>. Si nos olvidamos de esto el nuevo usuario
- será incapaz de acceder a ninguna máquina excepto al
- servidor NIS. Por ejemplo, si necesitáramos
- añadir el nuevo usuario <systemitem class="username">jsmith</systemitem> al
- laboratorio tendríamos que ejecutar lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>pw useradd jsmith</userinput>
-&prompt.root; <userinput>cd /var/yp</userinput>
-&prompt.root; <userinput>make test-domain</userinput></screen>
-
- <para>Se puede ejecutar también <command>adduser
- jsmith</command> en lugar de
- <command>pw useradd jsmith</command>.</para>
- </listitem>
- <listitem>
- <para><emphasis>No introduzca las cuentas de administración
- dentro de los mapeos de NIS</emphasis>. No es buena idea
- propagar cuentas y contraseñas de administración a
- máquinas donde residen usuarios que normalmente no
- deberían poder acceder a dichas cuentas.</para>
- </listitem>
- <listitem>
- <para><emphasis>Mantenga el servidor maestro y esclavo de NIS
- seguros y minimize el tiempo de interrupción del
- servicio</emphasis>. Si alguien fuera capaz de comprometer la
- integridad de estas máquinas o de apagarlas los usuarios
- del dominio no podrían acceder a sus cuentas en
- ningún sistema.</para>
-
- <para>Esto es la debilidad principal de cualquier sistema de
- administración centralizada. Si no se protegen los servidores
- NIS tendremos frente a nosotros a una horda de usuarios bastante
- enfadados.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Compatibilidad con NIS v1</title>
-
- <para> El servicio <application>ypserv</application> de &os; puede servir
- también a clientes NIS v1. La implementación de NIS de
- &os; sólo utiliza el protocolo NIS v2 aunque otras
- implementaciones incluyen soporte para el protocolo v1 por razones de
- compatibilidad con sistemas antiguos. Los d&aelig;mones
- <application>ypbind</application> suministrados con estos sistemas
- tratan de establecer una asociación con un servidor NIS
- versión 1 aunque puede que nunca la lleguen a utilizar (y
- pueden continuar realizando búsquedas mediante broadcast incluso
- cuando reciben una respuesta de un servidor versión 2).
- Tenga muy presente que mientras se soportan las llamadas normales de
- clientes v1, la versión de <application>ypserv</application>
- actualmente suministrada no gestiona peticiones de transferencia de
- mapeos a través de la versión 1; en consecuencia no se
- puede utilizar como maestro o esclavo junto con servidores de NIS
- antiguos que sólo soporten el protocolo v1. Por suerte quedan
- muy pocos servidores de este estilo en funcionamiento hoy en
- día.</para>
-
- </sect2>
-
- <sect2 xml:id="network-nis-server-is-client">
- <title>Servidores NIS que actúan también como clientes
- NIS</title>
-
- <para>Se debe tener cuidado cuando se ejecuta
- <application>ypserv</application> en un entorno multi-servidor
- donde las máquinas servidoras actúan
- también como máquinas clientes de NIS. Normalmente
- es una buena idea obligar a los servidores a que se asocien con
- ellos mismos mejor que permitirles emitir peticiones de
- asociación en broadcast, lo que posiblemente
- terminará con los servidores asociados entre sí.
- Se pueden producir extraños fallos si un servidor del que
- dependen otros deja de funcionar. Puede darse que los contadores
- de todos los clientes expiren e intenten asociarse a otro
- servidor, pero el retardo puede ser considerable y los fallos
- todavía podrín persistir debido a que los servidores
- se asocian contínuamente los unos a los otros.</para>
-
- <para>Se puede obligar a una máquina a asociarse con un
- servidor en particular ejecutando
- <command>ypbind</command> con la opción
- <option>-S</option>. Si no se quiere ejecutar esto manualmente
- cada vez que se reinice el servidor NIS se puede
- puede añadir la siguiente línea al fichero
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>nis_client_enable="YES" # ejecuta tambien el soft cliente
-nis_client_flags="-S <replaceable>NIS domain</replaceable>,<replaceable>server</replaceable>"</programlisting>
-
- <para>Consulte &man.ypbind.8; para obtener más información.</para>
- </sect2>
-
- <sect2>
- <title>Formatos de contraseñas</title>
- <indexterm>
- <primary>NIS</primary>
- <secondary>password formats</secondary>
- </indexterm>
- <para>Uno de los problemas más comunes que se encuentra la gente
- a la hora de implantar un servicio de NIS es la compatibilidad del
- formato de las contraseñas. Si nuestro servidor de NIS
- utiliza contraseñas cifradas mediante DES sólo
- podrá aceptar clientes que utilicen DES. Por ejemplo, si
- poseemos clientes de NIS &solaris; en nuestra red casi seguro que
- necesitaremos utilizar contraseñas cifradas mediante
- DES.</para>
-
- <para>Para comprobar qué formato utilizan los servidores y los
- clientes, se puede mirar en
- <filename>/etc/login.conf</filename>. Si la máquina se
- configura para utilizar cifrado de contraseñas mediante
- DES, entonces la clase por defecto debe poseer una entrada como la
- siguiente:</para>
-
- <programlisting>default:\
- :passwd_format=des:\
- :copyright=/etc/COPYRIGHT:\
- [Se han omitido otras entradas]</programlisting>
-
- <para>Otros posibles valores para característica de
- <literal>passwd_format</literal> pueden ser
- <literal>blf</literal> y <literal>md5</literal> (para utilizar los
- algoritmos Blowfish y MD5 respectivamente).</para>
-
- <para>Se debe reconstruir la base de datos de acceso siempre que se
- modifique el fichero
- <filename>/etc/login.conf</filename> mediante la ejecución
- de la siguiente orden como <systemitem class="username">root</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
-
- <note><para>El formato de las contraseñas que ya se encuentran
- definidas en <filename>/etc/master.passwd</filename> no
- se actualizará hasta que el usuario cambie su
- contraseña, después de que se haya reconstruido la
- base de datos de tipos de acceso.</para></note>
-
- <para>A continuación para asegurarse de que las
- contraseñas se cifran con el formato seleccionado
- también debemos comprobar que la variable
- <literal>crypt_default</literal> dentro del fichero
- <filename>/etc/auth.conf</filename> da preferencia al formato de
- contraseña elegido. Por ejemplo cuando se utilizan
- contraseñas cifradas con DES la entrada debe ser:</para>
-
- <programlisting>crypt_default = des blf md5</programlisting>
-
- <para>Si se realizan los pasos anteriores en cada una de las
- máquinas clientes y servidoras de nuestro entorno NIS podemos
- asegurar que todas utilizan el mismo formato de contraseña
- dentro de nuestra red. Si se presentan problemas de validación
- con determinados usuarios en una determinada máquina cliente se
- puede empezar a investigar sobre el asunto. Recuerde: si se quiere
- desplegar un servicio de páginas amarillas sobre un entorno de
- red heterogéneo probablemente se deba utilizar DES en todos los
- sistemas puesto que DES es el mínimo común
- denominador.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-dhcp">
- <info><title>DHCP</title>
- <authorgroup>
- <author><personname><firstname>Greg</firstname><surname>Sutter</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <sect2>
- <title>?Qué es DHCP?</title>
- <indexterm>
- <primary>Dynamic Host Configuration Protocol</primary>
- <see>DHCP</see>
- </indexterm>
- <indexterm>
- <primary>Internet Software Consortium (ISC)</primary>
- </indexterm>
-
- <para>DHCP, el Protocolo de Configuración Dinamica de
- Máquinas (<quote>Dynamic Host Configuration Protocol</quote>),
- especifica un método para configurar dinámicamente los
- parámetros de red necesarios para que un sistema pueda
- comunicarse efectivamente. &os; utiliza la implementación de
- DHCP proporcionada por el Internet Software Consortium (ISC) de tal
- forma que toda la información relativa a la configuración
- de DHCP se basa en la distribución proporcionada por el
- ISC.</para>
- </sect2>
-
- <sect2>
- <title>Contenido de esta seccións</title>
-
- <para>Esta sección describe tanto los componentes de la parte
- servidora como los componentes de la parte cliente del sistema DHCP del
- ISC. El programa cliente, denominado forma parte por defecto de los
- sistemas &os; y el programa servidor se puede instalar a partir del
- <quote>port</quote> <package>net/isc-dhcp3-server</package>. Las principales
- fuentes de información son las páginas de manual
- &man.dhclient.8;, &man.dhcp-options.5; y &man.dhclient.conf.5; junto
- con las referencias que se muestran a continuación en esta misma
- sección.</para>
- </sect2>
-
- <sect2>
- <title>Cómo funciona</title>
- <indexterm><primary>UDP</primary></indexterm>
- <para>Cuando el cliente de DHCP, <command>dhclient</command>, se ejecuta
- en una máquina cliente, valga la redundancia, comienza a enviar
- peticiones <quote>broadcast</quote> solicitando información de
- configuración. Por defecto estas peticiones se realizan contra
- el puerto UDP 68. El servidor responde a través del puerto
- UDP 67 proporcionando al cliente una dirección IP junto con
- otros parámetros relevantes para el correcto funcionamiento del
- sistema en la red, tales como la máscara de red, el <quote>
- router</quote> por defecto y los servidores de DNS. Toda esta
- información se <quote>presta</quote> y es válida
- sólo durante un determinado período de tiempo
- (configurado por el administrador del servidor de DHCP). De esta forma
- direcciones IP asignadas a clientes que ya no se encuentran conectados
- a la red pueden ser reutilizadas al pasar determinado periodo de
- tiempo.</para>
-
- <para>Los clientes de DHCP pueden obtener una gran cantidad de
- información del servidor. Se puede encontrar una lista completa
- en &man.dhcp-options.5;.</para>
- </sect2>
-
- <sect2>
- <title>Integración dentro de los sistemas &os;</title>
-
- <para>&os; se integra totalmente con el cliente DHCP del ISC, <command>
- dhclient</command>. Este soporte se proporciona tanto en el proceso de
- instalación como en la instalación por defecto del
- sistema base obviando la necesidad de poseer un conocimiento detallado
- de aspectos relacionados con la configuración de redes siempre y
- cuando se disponga de servicio de DHCP en la red dada.
- <command>dhclient</command> se incluye en todas las distribuciones de
- &os; desde la versión 3.2.</para>
- <indexterm>
- <primary><application>sysinstall</application></primary>
- </indexterm>
-
- <para><application>sysinstall</application> soporta DHCP. Cuando se
- configura la interfaz de red la primera pregunta es: <quote>
- ?Quiere intentar configurar el interfaz mediante
- DHCP?</quote>. Si se responde afirmativamente se ejecutará
- <command>dhclient</command> y si tiene éxito se
- procede con los siguientes pasos de configuración rellenandose
- automáticamente las variables de arranque necesarias para
- completar la configuración de la red.</para>
-
- <para>Existen dos cosas que se deben realizar de tal forma que nuestro
- sistema utilice la configuración de red mediante DHCP al
- arrancar:</para>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>requirements</secondary>
- </indexterm>
- <itemizedlist>
- <listitem>
- <para>Asegurarse de que el dispositivo <filename>
- bpf</filename> se encuentra compilado en el kernel. Para ello
- basta añadir <literal>device bpf</literal>
- (<literal>pseudo-device bpf</literal> en los sistemas
- &os;&nbsp;4.X) al fichero de configuración del kernel y
- recompilarlo e instalarlo. Para más información
- sobre la construcción de núcleos consulte <xref linkend="kernelconfig"/>.</para>
-
- <para>El dispositivo <filename>bpf</filename> se encuentra
- activado por defecto dentro del fichero de configuración
- del núcleo (<filename>GENERIC</filename> que
- encontrará en su sistema &os; de forma que si no se
- está utilizando un fichero de configuración del
- núcleo específico (hecho a medida y/o por usted) no
- es necesario crear uno nuevo y se puede utilizar directamente
- <filename>GENERIC</filename>.</para>
- <note>
- <para>Para aquellas personas especialmente preocupadas por la
- seguridad debemos advertir de que el dispositivo <filename>
- bpf</filename> es el dispositivo que las aplicaciones de
- captura de paquetes utilizan para acceder a los mismos (aunque
- dichas aplicaciones deben ser ejecutadas como
- <systemitem class="username">root</systemitem>). DHCP
- <emphasis>requiere</emphasis> la presencia de
- <filename>bpf</filename> pero si la seguridad del sistema
- es más importante que la configuración
- automática de la red no se recomienda instalar
- <filename>bpf</filename> en el núcleo.</para>
- </note>
- </listitem>
- <listitem>
- <para>Editar el fichero <filename>/etc/rc.conf</filename> para
- para incluir lo siguiente:</para>
-
- <programlisting>ifconfig_fxp0="DHCP"</programlisting>
-
- <note>
- <para>Asegúrese de sustituir <literal>fxp0</literal> con
- el nombre de interfaz que desea que se configure
- dinámicamente, como se describe en <xref linkend="config-network-setup"/>.</para>
- </note>
-
- <para>Si se utiliza una ubicación distinta para
- <command>dhclient</command> o si se desea añadir opciones
- adicionales a <command>dhclient</command> se puede
- incluir, adaptándolo a las condiciones particulares de
- cada usuario, lo siguiente:</para>
-
- <programlisting>dhcp_program="/sbin/dhclient"
-dhcp_flags=""</programlisting>
- </listitem>
- </itemizedlist>
-
- <indexterm>
- <primary>DHCP</primary>
- <secondary>server</secondary>
- </indexterm>
- <para>El servidor de DHCP (<application>dhcpd</application>) forma
- parte del <quote>port</quote> <package>net/isc-dhcp3-server</package>. Este <quote>
- port</quote> también contiene la documentación de ISC
- DHCP.</para>
- </sect2>
-
- <sect2>
- <title>Ficheros</title>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>configuration files</secondary>
- </indexterm>
- <itemizedlist>
- <listitem><para><filename>/etc/dhclient.conf</filename></para>
- <para><command>dhclient</command> necesita un fichero de
- configuración denominado
- <filename>/etc/dhclient.conf</filename>. Normalmente este
- fichero sólo contiene comentarios de forma que las
- opciones que se definen por defecto son razonablemente
- inocuas. Este fichero de configuración se describe
- en la página de manual de
- &man.dhclient.conf.5;.</para>
- </listitem>
-
- <listitem><para><filename>/sbin/dhclient</filename></para>
- <para><command>dhclient</command> se encuentra enlazado de
- forma estática y reside en <filename>/sbin</filename>.
- La página de manual de &man.dhclient.8; proporciona
- más información sobre la orden
- <command>dhclient</command>.</para>
- </listitem>
-
- <listitem><para><filename>/sbin/dhclient-script</filename></para>
- <para><command>dhclient-script</command> es el <quote>
- script</quote> de configuración del cliente de DHCP
- específico de &os;. Tiene todos los detalles en
- &man.dhclient-script.8; pero no necesita hacer ninguna
- modificación en él para que todo funcione
- correctamente.</para>
- </listitem>
-
- <listitem><para><filename>/var/db/dhclient.leases</filename></para>
- <para>El cliente de DHCP mantiene una base de datos de
- préstamos en este fichero que se escribe de forma semejante
- a un <quote>log</quote>. En &man.dhclient.leases.5; puede
- consultar una explicación ligeramente más
- detallada.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Lecturas recomendadas</title>
-
- <para>El protocolo DHCP se describe completamente en
- <link xlink:href="http://www.freesoft.org/CIE/RFC/2131/">RFC 2131</link>.
- También tiene más información en
- <link xlink:href="http://www.dhcp.org/">dhcp.org</link>.</para>
- </sect2>
-
- <sect2 xml:id="network-dhcp-server">
- <title>Instalación y configuración de un servidor de
- DHCP</title>
-
- <sect3>
- <title>Qué temas se tratan en esta sección</title>
-
- <para>Esta sección proporciona información sobre
- cómo configurar un sistema &os; de forma que actúe
- como un servidor de DHCP utilizando la implementación
- proporcionada por el Internet Software Consortium
- (ISC).</para>
-
- <para>La parte servidora del paquete proporcionado por el ISC no
- se instala por defecto en los sistemas &os; pero se puede
- intalar como <quote>port</quote> desde <package>net/isc-dhcp3-server</package>. Consulte <xref linkend="ports"/> si necesita saber más sobre la
- Colección de <quote>ports</quote>.</para>
- </sect3>
-
- <sect3>
- <title>Instalación del servidor DHCP</title>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>installation</secondary>
- </indexterm>
- <para>Para configurar un sistema &os; como servidor de DHCP debe
- asegurarse de que el dispositivo &man.bpf.4; está compilado
- dentro del núcleo. Para ello basta añadir
- <literal>device bpf</literal> (<literal>
- pseudo-device bpf</literal> en &os;&nbsp;4.X) al fichero de
- configuración del núcleo y reconstruir el mismo.
- Si necesita saber más sobre el proceso de compilar e
- instalar el núcleo consulte <xref linkend="kernelconfig"/>.</para>
-
- <para>El dispositivo <filename>bpf</filename> ya se encuentra
- activado en el fichero de configuración
- <filename>GENERIC</filename> del núcleo que se facilita
- con &os; de tal forma que no resulta imprescindible crear un
- núcleo a medida para ejecutar DHCP.</para>
-
- <note>
- <para>Para aquellas personas especialmente preocupadas por la
- seguridad debemos advertir de que el dispositivo
- <filename>bpf</filename> es el dispositivo que las
- aplicaciones de captura de paquetes utilizan para acceder a
- los mismos (aunque dichas aplicaciones deben ser ejecutadas
- como <systemitem class="username">root</systemitem>). DHCP
- <emphasis>requiere</emphasis> la presencia de
- <filename>bpf</filename> pero si la seguridad del sistema
- es más importante que la configuración
- automática de la red no se recomienda instalar
- <filename>bpf</filename> en el núcleo.</para>
- </note>
-
- <para>El siguiente paso consiste en editar el fichero de ejemplo
- <filename>dhcpd.conf</filename> que se crea al instalar el
- <quote>port</quote> <package>net/isc-dhcp3-server</package>. Por defecto el
- fichero se llama
- <filename>/usr/local/etc/dhcpd.conf.sample</filename>,
- así que se debe copiar este fichero a
- <filename>/usr/local/etc/dhcpd.conf</filename> y a
- continuación realizar todos los cambios sobre este
- último.</para>
- </sect3>
-
- <sect3>
- <title>Configuración del servidor de DHCP</title>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>dhcpd.conf</secondary>
- </indexterm>
- <para>El fichero <filename>dhcpd.conf</filename> se compone
- de un conjunto de declaraciones que hacen referencia a
- máquinas y a subredes. Esto se entenderá mejor
- mediante el siguiente ejemplo:</para>
-
- <programlisting>option domain-name "ejemplo.com";<co xml:id="domain-name"/>
-option domain-name-servers 192.168.4.100;<co xml:id="domain-name-servers"/>
-option subnet-mask 255.255.255.0;<co xml:id="subnet-mask"/>
-
-default-lease-time 3600;<co xml:id="default-lease-time"/>
-max-lease-time 86400;<co xml:id="max-lease-time"/>
-ddns-update-style none;<co xml:id="ddns-update-style"/>
-
-subnet 192.168.4.0 netmask 255.255.255.0 {
- range 192.168.4.129 192.168.4.254;<co xml:id="range"/>
- option routers 192.168.4.1;<co xml:id="routers"/>
-}
-
-host mailhost {
- hardware ethernet 02:03:04:05:06:07;<co xml:id="hardware"/>
- fixed-address mailhost.ejemplo.com;<co xml:id="fixed-address"/>
-}</programlisting>
-
- <calloutlist>
- <callout arearefs="domain-name">
- <para>Esta opción especifica el dominio que se proporciona
- a los clientes y que dichos clientes utilizan como dominio de
- búsqueda por defecto. Consulte &man.resolv.conf.5;
- si necesita más información sobre qué
- significa el dominio de búsqueda.</para>
- </callout>
-
- <callout arearefs="domain-name-servers">
- <para>Esta opción especifica la lista de servidores de DNS
- (seperados por comas) que deben utilizar los clientes.</para>
- </callout>
-
- <callout arearefs="subnet-mask">
- <para>La máscara de red que se proporciona a los clientes.</para>
- </callout>
-
- <callout arearefs="default-lease-time">
- <para>Un cliente puede solicitar un determinado tiempo de vida
- para el préstamo. En caso contrario el servidor asigna
- un tiempo de vida por defecto mediante este valor (expresado en
- segundos).</para>
- </callout>
-
- <callout arearefs="max-lease-time">
- <para>Este es el máximo tiempo que el servidor puede
- utilizar para realizar préstamos a los clientes. Si un
- cliente solicita un tiempo mayor como máximo se
- responderá con el valor aquí configurado,
- ignorándose la petición de tiempo del
- cliente.</para>
- </callout>
-
- <callout arearefs="ddns-update-style">
- <para>Esta opción especifica si el servidor de DHCP debe
- intentar actualizar el servidor de DNS cuando se acepta o se
- libera un préstamo. En la implementación
- proporcionada por el ISC esta opción es
- <emphasis>obligatoria</emphasis>.</para>
- </callout>
-
- <callout arearefs="range">
- <para>Esto indica qué direcciones IP se pueden utilizar
- para ser prestadas a los clientes que las soliciten. Las
- direcciones IP pertenecientes a este rango, incluyendo los
- extremos, se pueden entregar a los clientes.</para>
- </callout>
-
- <callout arearefs="routers">
- <para>Declara cúal es la pasarela por defecto que se
- proporcionará a los clientes.</para>
- </callout>
-
- <callout arearefs="hardware">
- <para>Especifica la dirección MAC de una máquina,
- de tal forma que el servidor de DHCP pueda identificar a la
- máquina cuando realice una petición.</para>
- </callout>
-
- <callout arearefs="fixed-address">
- <para>Especifica que la máquina cliente debería
- obtener siempre la misma dirección IP. Recuerde
- que se puede utilizar un nombre de máquina para esto
- ya que el servidor de DHCP resolverá el nombre por
- sí mismo antes de devolver la información al
- cliente.</para>
- </callout>
- </calloutlist>
-
- <para>Una vez que se ha acabado de configurar el fichero
- <filename>dhcpd.conf</filename> se puede proceder con la
- ejecución del servidor mediante la siguiente
- orden:</para>
-
- <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/isc-dhcpd.sh start</userinput></screen>
-
- <para>Si posteriormente se necesitan realizar cambios en la
- configuración anterior tenga en cuenta que el envío
- de la señál <literal>SIGHUP</literal> a la
- aplicación <application>dhcpd</application>
- <emphasis>no</emphasis> provoca que se lea de nuevo la
- configuración como suele ocurrir en la mayoría de
- los d&aelig;mones. Tendrá que enviar la señal
- <literal>SIGTERM</literal> para parar el proceso y
- posteriormente relanzar el d&aelig;mon utilizando la orden
- anterior.</para>
- </sect3>
-
- <sect3>
- <title>Ficheros</title>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>configuration files</secondary>
- </indexterm>
- <itemizedlist>
- <listitem><para><filename>/usr/local/sbin/dhcpd</filename></para>
- <para><application>dhcpd</application> se encuentra
- enlazado de forma estática y reside en el directorio
- <filename>/usr/local/sbin</filename>. La página de
- manual &man.dhcpd.8; que se instala con el <quote>port</quote>
- le proporcionará más información sobre
- <application>dhcpd</application>.</para>
- </listitem>
-
- <listitem><para><filename>/usr/local/etc/dhcpd.conf</filename></para>
- <para><application>dhcpd</application> necesita un fichero de
- configuración, <filename>
- /usr/local/etc/dhcpd.conf</filename>. Este fichero contiene
- toda la información relevante que se quiere proporcionar
- a los clientes que la soliciten, junto con información
- relacionada con el funcionamiento del servidor. Este fichero
- de configuración se describe en la página del
- manual &man.dhcpd.conf.5; que instala el <quote>
- port</quote>.</para>
- </listitem>
-
- <listitem><para><filename>/var/db/dhcpd.leases</filename></para>
- <para>El servidor de DHCP mantiene una base de datos de
- préstamos o alquileres dentro de este fichero, que
- presenta un formato de fichero de <quote>log</quote>. La
- página del manual &man.dhcpd.leases.5; que se
- instala con el <quote>port</quote> proporciona una
- descripción ligeramente más larga.</para>
- </listitem>
-
- <listitem><para><filename>/usr/local/sbin/dhcrelay</filename></para>
- <para><application>dhcrelay</application> se utiliza en
- entornos de red avanzados donde un servidor de DHCP
- reenvía una petición de un cliente hacia otro
- servidor de DHCP que se encuentra localizado en otra subred.
- Si se necesita esta funcionalidad se debe instalar el
- <quote>port</quote> <package>net/isc-dhcp3-server</package>. La
- página del manual &man.dhcrelay.8; proporcionada por
- el <quote>port</quote> contiene más detalles sobre
- esto.</para>
- </listitem>
- </itemizedlist>
- </sect3>
-
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="network-dns">
- <info><title>DNS</title>
- <authorgroup>
- <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Enviado por </contrib></author>
- </authorgroup>
- </info>
-
-
- <sect2>
- <title>Resumen</title>
- <indexterm><primary>BIND</primary></indexterm>
-
- <para>FreeBSD utiliza por defecto una versión de BIND (Berkeley
- Internet Name Domain) que proporciona la implementación
- más común del protocolo de DNS. DNS es el protocolo a
- través del cual los nombres de máquinas se asocian con
- direcciones IP y viceversa. Por ejemplo una consulta preguntando por
- <systemitem>www.FreeBSD.org</systemitem> recibe una respuesta con la
- dirección IP del servidor web del Proyecto FreeBSD, mientras que
- una pregunta sobre <systemitem>ftp.FreeBSD.org</systemitem> recibe como
- respuesta la dirección IP correspondiente al servidor de FTP.
- El proceso inverso sucede de una forma similar. Una pregunta
- relativa a una determinada dirección IP se resuelve al nombre de
- la máquina que la posee. No se necesita ejecutar un servidor de
- DNS para poder realizar consultas y búsquedas de DNS.</para>
-
- <indexterm><primary>DNS</primary></indexterm>
- <para>El DNS se coordina de forma distribuida a través de
- Internet utilizando un sistema en cierta forma complejo de servidores
- de nombres raíz autorizados y mediante otros servidores de
- nombres de menor escala que se encargan de replicar la
- información de dominios individuales con el objetivo de mejorar
- los tiempos de respuesta de búsquedas reiteradas de la misma
- información.</para>
-
- <para>
- Este documento hace referencia a la versión estable BIND 8.X.
- BIND 9.X se puede instalar a través del <quote>port</quote>
- <package>net/bind9</package>.</para>
-
- <para>
- El protocolo de DNS se encuentra definido en la RFC1034 y la RFC1035.
- </para>
-
- <para>
- El <link xlink:href="http://www.isc.org/">
- Internet Software Consortium (www.isc.org)</link> se encarga de
- de mantener el software de BIND.
- </para>
- </sect2>
-
- <sect2>
- <title>Terminología</title>
-
- <para>Para comprender este documento se deben definir los siguientes
- términos:</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Término</entry>
- <entry>Definición</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>DNS directo (Forward DNS)</entry>
- <entry>Asociación de nombres de máquinas con
- direcciones IP</entry>
- </row>
-
- <row>
- <entry>Origen</entry>
- <entry>Se refiere al dominio cubierto por un determinado fichero
- de zona</entry>
- </row>
-
- <row>
- <entry><application>named</application>, BIND, servidor
- de nombres (name server)</entry>
- <entry>Nombres típicos que hacen referencia al paquete
- servidor de nombres de BIND de &os;</entry>
- </row>
-
- <row>
- <entry>
- <indexterm><primary>resolver</primary></indexterm>
- Resolver</entry>
- <entry>Un proceso del sistema que utilizan las aplicaciones para
- hacer preguntas al servidor de nombres.</entry>
- </row>
-
- <row>
- <entry>
- <indexterm><primary>reverse DNS</primary></indexterm>
- DNS inverso (Reverse DNS)</entry>
- <entry>Lo contrario de lo que realiza el DNS directo;
- asocia direcciones IP con nombres de máquinas</entry>
- </row>
-
- <row>
- <entry>
- <indexterm><primary>root zone</primary></indexterm>
- Zona Raíz</entry>
-
- <entry>El comienzo de la jerarquía de zonas de Internet.
- Todas las zonas surgen a partir de una zona raíz de
- forma similar a como todos los directorios de un sistema de
- ficheros se encuentran a partir de un directorio raíz
- inicial.</entry>
- </row>
-
- <row>
- <entry>Zona</entry>
- <entry>Un dominio individual, subdominio o porción del
- DNS que se encuentra administrado por la misma autoridad.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <indexterm>
- <primary>zones</primary>
- <secondary>examples</secondary>
- </indexterm>
-
- <para>Ejemplos de zonas:
- </para>
- <itemizedlist>
- <listitem>
- <para><systemitem>.</systemitem> es la zona raíz</para>
- </listitem>
- <listitem>
- <para><systemitem>org.</systemitem> es una zona localizada bajo la zona
- raíz</para>
- </listitem>
- <listitem>
- <para><systemitem>ejemplo.org</systemitem> es una zona localizada bajo la
- zona <systemitem>org.</systemitem></para>
- </listitem>
- <listitem>
- <para><systemitem>foo.ejemplo.org.</systemitem> es un subdominio o una zona
- ubicada bajo la zona <systemitem>ejemplo.org.</systemitem></para>
- </listitem>
- <listitem>
- <para>
- <systemitem>1.2.3.in-addr.arpa</systemitem> es una zona que referencia a
- a todas las direcciones IP que se encuentran dentro del espacio de
- direcciones de 3.2.1.*.</para>
- </listitem>
- </itemizedlist>
-
- <para>Como se puede observar la parte más específica de una
- máquina aparece más a la izquierda. Por ejemplo
- <systemitem>ejemplo.org</systemitem> es más específico que
- <systemitem>org.</systemitem> y del mismo modo <systemitem>org.</systemitem> es
- más específico que la zona raíz. El formato de
- cada parte del nombre de la máquina es muy similar al formato
- de un sistema de ficheros: el directorio
- <filename>/dev</filename> se encuentra dentro del directorio
- raíz, y así sucesivamente.</para>
- </sect2>
-
- <sect2>
- <title>Razones para ejecutar un servidor de nombres</title>
-
- <para>Los servidores de nombres normalmente son de dos tipos:
- autoritarios y de cache.</para>
-
- <para>Se necesita un servidor de nombres autoritario cuando:</para>
-
- <itemizedlist>
- <listitem>
- <para>uno quiere proporcionar información de DNS al resto del
- mundo respondiendo con información autoritaria a las
- consultas recibidas.</para>
- </listitem>
- <listitem>
- <para>un dominio, por ejemplo
- <systemitem>ejemplo.org</systemitem>, está registrado y se
- necesita añadir nombres de máquinas bajo dicho
- dominio.</para>
- </listitem>
- <listitem>
- <para>un bloque de direcciones IP necesita entradas de DNS inversas
- (de IP a nombre de máquina).</para>
- </listitem>
- <listitem>
- <para>un servidor de nombres de <quote>backup</quote>, llamado
- esclavo, debe responder a consultas cuando el servidor primario se
- encuentre caído o inaccesible.</para>
- </listitem>
- </itemizedlist>
-
- <para>Se necesita un servidor caché cuando:</para>
-
- <itemizedlist>
- <listitem>
- <para>un servidor de DNS local puede responder más
- rápidamente de lo que se haría si se tuviera que
- preguntar al servidor de nombres externo.</para>
- </listitem>
- <listitem>
- <para>se desea reducir el tráfico global de red (se ha
- llegado a comprobar que el tráfico de DNS supone un 5% o
- más del total del tráfico que circula por
- Internet).</para>
- </listitem>
- </itemizedlist>
-
- <para>Cuando se pregunta por <systemitem>www.FreeBSD.org</systemitem> el <quote>
- resolver</quote> normalmente pregunta al servidor de nombres del ISP
- de nivel superior y se encarga de recibir la respuesta. Si se utiliza
- un servidor de DNS caché local la pregunta sólo se dirige
- una única vez hacia el exterior. Dicha pregunta la realiza el
- servidor caché. Posteriores consultas sobre el mismo nombres
- son respondidas directamente por este servidor.</para>
-
- </sect2>
-
- <sect2>
- <title>Cómo funciona</title>
- <para>En &os; el d&aelig;mon de BIND se denomina
- <application>named</application> por razones obvias.</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Fichero</entry>
- <entry>Descripción</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><application>named</application></entry>
- <entry>El d&aelig;mon de BIND</entry>
- </row>
-
- <row>
- <entry><command>ndc</command></entry>
- <entry>El programa de control del d&aelig;mon</entry>
- </row>
-
- <row>
- <entry><filename>/etc/namedb</filename></entry>
- <entry>El directorio donde se almacena la información de
- las zonas de BIND</entry>
- </row>
-
- <row>
- <entry><filename>/etc/namedb/named.conf</filename></entry>
- <entry>El archivo de configuración del d&aelig;mon</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>
- Los ficheros de zonas se encuentran normalmente bajo el directorio
- <filename>/etc/namedb</filename> y contienen la información
- que proporciona el servidor de nombres al resto de máquinas de
- Internet.
- </para>
- </sect2>
-
- <sect2>
- <title>Ejecución de BIND</title>
- <indexterm>
- <primary>BIND</primary>
- <secondary>starting</secondary>
- </indexterm>
- <para>
- Debido a que BIND se instala por defecto la configuración
- resulta ser bastante sencilla.
- </para>
- <para>
- Para asegurarnos de que el d&aelig;mon se ejecuta al inicio del
- sistema se deben añadir las siguientes modificaciones en
- <filename>/etc/rc.conf</filename>:
- </para>
- <programlisting>named_enable="YES"</programlisting>
- <para>Para arrancar el d&aelig;mon de forma manual (una vez
- configurado)</para>
- <screen>&prompt.root; <userinput>ndc start</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Ficheros de configuración</title>
- <indexterm>
- <primary>BIND</primary>
- <secondary>configuration files</secondary>
- </indexterm>
- <sect3>
- <title>Uso de <command>make-localhost</command></title>
- <para>Asegúrese de hacer los siguiente
- </para>
- <screen>&prompt.root; <userinput>cd /etc/namedb</userinput>
-&prompt.root; <userinput>sh make-localhost</userinput></screen>
- <para>para que se cree el archivo de zona inversa
- <filename>/etc/namedb/localhost.rev</filename> de forma apropiada.
- </para>
- </sect3>
-
- <sect3>
- <title><filename>/etc/namedb/named.conf</filename></title>
-
- <programlisting>// &dollar;FreeBSD$
-//
-// Consulte la página man de named(8) para más detalles. tiene
-// alguna vez la necesidad de configurar un servidor primario
-// asegúree de que entiende a la perfección los detalles peliagudos
-// del funcionamiento del DNS. Si hay errores, incluso triviales,
-// puede sufrir pérdidas de conectividad ogenerar cantidades ingentes
-// de tráfico inútil hacia o desde Interne
-
-options {
- directory "/etc/namedb";
-
-// Además de con la láusula "forwarders" puedeobligar a su servidor
-// de nombres a que nunca lance búsquedas por su cuenta sino que
-// se las pida a sus "forwarders". Esto se hace del siguiente modo:
-//
-// forward only;
-
-// Si su proveedor de acceso tiene a su alcance un servidor DNS
-// escriba aquí su dirección IP y descomente la líneaPodrá usar
-// su caché y por lo tanto reducir el tráfico DNS de Internet.
-//
-
-/*
- forwarders {
- 127.0.0.1;
- };
-*/</programlisting>
-
- <para>
- Tal y como se dice en los comentarios del ejemplo para beneficiarnos
- de la caché se puede activar <literal>forwarders</literal>.
- En circunstancias normales un servidor de nombres busca de forma
- recursiva a través de Internet tratando de localizar un
- servidor de nombres que sea capaz de responder una determinada
- pregunta. Si se activa esta opción por defecto se pasa a
- preguntar primero al servidor de nombres especificado (servidor o
- servidores) pudiendo aprovecharse de la información de
- caché que dicho servidor tuviera disponible. Si el servidor
- de nivel superior al nuestro se encuentra congestionado puede
- merecer la pena la activación de esta característica de
- <quote>redirección</quote> ya que se puede disminuir la carga
- de tráfico que dicho servidor tiene que soportar.</para>
-
- <warning><para>La dirección IP <systemitem class="ipaddress">127.0.0.1</systemitem> <emphasis>no</emphasis> funciona
- aí. Se debe cambiar esta dirección IP por un
- servidor de nombres válido.</para>
- </warning>
-
- <programlisting> /*
- * Si hay un cortafuegos entre usted y los servidores de
- * nombres que quiere consultar tendrá que descoentar la
- * siguiente directiva, "query-source". Las versiones
- * anteriores de BIND siempre hacían sus consultas a través
- * del puerto 53 pero BIND 8.1 utiliza por defecto un puerto no
- * privilegiado.
- */
- // query-source address * port 53;
-
- /*
- * Si lo va a ejecutar en un "cajón de arena" (o "sandbox")
- * tendrá que declarar una uicación diferente para el
- * fichero de volcado de named.
- */
- // dump-file "s/named_dump.db";
-};
-
-// Nota: lo siguiente será incluído en futuras versiones.
-/*
-host { any; } {
- topology {
- 127.0.0.0/8;
- };
-};
-*/
-
-// La configuración de secundarios se explica de modo secillo a
-// partir de aquí.
-//
-// Si activa un servidor de nombres local no olvide incluír
-// 127.0.0.1 en su /etc/resolv.conf para que sea ese servidor el
-// primero al que se consulte.
-// Asegúrese también de activarlo en /etc/rc.con
-
-zone "." {
- type hint;
- file "named.root";
-};
-
-zone "0.0.127.IN-ADDR.ARPA" {
- type master;
- file "localhost.rev";
-};
-
-zone
-"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" {
- type master;
- file "localhost.rev";
-};
-
-// Nota: No use las direcciones IP que se muestran aquí, son falsas
-// y sólo se usancomo demostración y para una mejor comprensión.
-//
-// Ejemplo de entradas en la configuración de secundarios. Puede ser
-// conveniente convertirse en secundario al menos del dominio en cuya
-// zona está su dominio. Cnsulte con su administrador de red para
-// que le facilite la dirección IP del servidor primario.
-//
-// No olvide incluír la zona del bucle inverso (IN-ADDR.ARPA). (Son
-// los primeros bytes de la dirección IP correspondiente, en orden
-// inverso, con ".IN-ADDR.ARPA" al final.)
-//
-// Antes de configurar una zona primara asegúresede haber comprendido
-// completamente cómo funcionan DNS y BIND. Hay errores que no son
-// visibles fácilmente. La configuración de un secundario es, por
-// el contrario, muchísimo más sencilla.
-//
-// Nota: No se limite a copiar los ejemplos de más arriba. :-)
-// Utilice nombres y direcciones reales.
-//
-// ADVERTENCIA: FreeBSD ejecuta bind en un sandbok (observe los
-// parámeros de named (named_flags) en rc.conf). El directorio que
-// contiene las zonas secundarias debe tener permisos de escritura
-// para bind. Le sugerimos la siguiente secuencia de órdenes:
-//
-// mkdir /etc/namedb/s
-// chown bind:bind /etc/namedb/s
-// chmod 750 /etc/namedb/s</programlisting>
-
- <para>Si quiere más información sobre cómo
- ejecutar BIND en un <quote>sandbox</quote> consulte
- <link linkend="network-named-sandbox">Ejecución de named en
- un sandbox</link>.
- </para>
-
- <programlisting>/*
-zone "ejemplo.com" {
- type slave;
- file "s/ejemplo.com.bak";
- masters {
- 192.168.1.1;
- };
-};
-
-zone "0.168.192.in-addr.arpa" {
- type slave;
- file "s/0.168.192.in-addr.arpa.bak";
- masters {
- 192.168.1.1;
- };
-};
-*/</programlisting>
- <para>Dentro del fichero <filename>named.conf</filename> se muestran
- ejemplos de entradas de esclavo tanto para las zonas directas como
- para las inversas.</para>
-
- <para>Para cada nueva zona administrada se debe crear una entrada de
- zona dentro del fichero
- <filename>named.conf</filename></para>
-
- <para>Por ejemplo la entrada de zona más simple para el dominio
- <systemitem class="fqdomainname">ejemplo.org</systemitem> puede ser algo como
- esto:</para>
-
- <programlisting>zone "ejemplo.org" {
- type master;
- file "ejemplo.org";
-};</programlisting>
-
- <para>Esta zona es una zona maestra ( observe la línea de
- <option>type</option>, y mantiene la información de la zona en
- <filename>/etc/namedb/ejemplo.org</filename> tal como se indica en la
- línea de <option>file</option>.</para>
-
- <programlisting>zone "ejemplo.org" {
- type slave;
- file "ejemplo.org";
-};</programlisting>
-
- <para>En el caso del esclavo la información de la zona se
- transmite desde el servidor de nombres maestro y se almacena en el
- fichero especificado. Cuando el servidor maestro <quote>
- muere</quote> o no puede ser alcanzado el servidor de nombres esclavo
- puede responder a las peticiones debido a que posee la
- información de la zona.</para>
- </sect3>
-
- <sect3>
- <title>Ficheros de zona</title>
- <para>
- A continuación se muestra un fichero de una zona maestra para
- el dominio <systemitem>ejemplo.org</systemitem>, que se encuentra ubicado en
- <filename>/etc/namedb/ejemplo.org</filename>:</para>
-
- <programlisting>$TTL 3600
-
-example.org. IN SOA ns1.ejemplo.org. admin.ejemplo.org. (
- 5 ; Serial
- 10800 ; Refresh
- 3600 ; Retry
- 604800 ; Expire
- 86400 ) ; Minimum TTL
-
-; DNS Servers
-@ IN NS ns1.ejemplo.org.
-@ IN NS ns2.ejemplo.org.
-
-; Machine Names
-localhost IN A 127.0.0.1
-ns1 IN A 3.2.1.2
-ns2 IN A 3.2.1.3
-mail IN A 3.2.1.10
-@ IN A 3.2.1.30
-
-; Aliases
-www IN CNAME @
-
-; MX Record
-@ IN MX 10 mail.ejemplo.org.</programlisting>
-
- <para>
- Tenga muy en cuenta que todo nombre de máquina que termina en
- <quote>.</quote> es tratado como si fuera un nombre de
- máquina completo mientras que cualquier otro nombre sin el
- <quote>.</quote> final se trata como una referencia relativa al
- dominio de origen de la zona. Por ejemplo <literal>www</literal> se
- traduce a <literal>www + origen</literal>. En nuestro fichero de
- zona ficticio nuestro origen es <systemitem>ejemplo.org</systemitem> de forma
- que <literal>www</literal> se convierte en <systemitem>
- www.ejemplo.org</systemitem>
- </para>
-
- <para>
- El formato de un fichero de zona es el siguiente:
- </para>
- <programlisting>nombrederegistro IN tipodeentrada valor</programlisting>
-
- <indexterm>
- <primary>DNS</primary>
- <secondary>records</secondary>
- </indexterm>
- <para>
- Los registros de DNS que más se utilizan son:
- </para>
-
- <variablelist>
- <varlistentry>
- <term>SOA</term>
-
- <listitem><para>Comienzo de Zona con Autoridad (Start Of zone Authority)</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term>NS</term>
-
- <listitem><para>Un servidor de nombres con autoridad para una
- una determinada zona</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term>A</term>
-
- <listitem><para>Una dirección IP de una máquina</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term>CNAME</term>
-
- <listitem><para>El nombre canónico de una máquina para definir un alias</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term>MX</term>
-
- <listitem><para>mail exchanger</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term>PTR</term>
-
- <listitem><para>Un puntero a un nombre de dominio (utilizados para
- definir el DNS inverso)
- </para></listitem>
- </varlistentry>
- </variablelist>
-
- <programlisting>
-ejemplo.org. IN SOA ns1.ejemplo.org. admin.ejemplo.org. (
- 5 ; Serial
- 10800 ; Refresh after 3 hours
- 3600 ; Retry after 1 hour
- 604800 ; Expire after 1 week
- 86400 ) ; Minimum TTL of 1 day</programlisting>
-
-
-
- <variablelist>
- <varlistentry>
- <term><systemitem>ejemplo.org.</systemitem></term>
-
- <listitem><para>el nomre de dominio, también el origen para
- el fichero de zona</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><systemitem>ns1.ejemplo.org.</systemitem></term>
-
- <listitem><para>el servidor de nombres
- primario/autoritario para esta zona</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>admin.ejemplo.org.</literal></term>
-
- <listitem><para>la persona responsable de esta zona; observe que
- la dirección de correo electrónico aparece con la @
- sustituida por un punto. (<email>admin@ejemplo.org</email> se
- escribe <literal>admin.ejemplo.org</literal>)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>5</literal></term>
-
- <listitem><para>el número de serie del fichero. Este
- número se debe incrementar cada vez que se modifique
- el fichero de zona. Muchos administradores prefieren un
- formato expresado del siguiente modo <literal>
- aaaammddss</literal>. 2001041002 significa (según dicho
- formato) que el fichero se modificó por última
- vez el 04/10/2001 y se indica con los dos últimos
- dígitos (02) que es la segunda vez en el día que
- se ha modificado el fichero. El número de serie es
- importante ya que para avisar a los servidores de nombres
- esclavos de que se ha actualizado la zona.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <programlisting>
-@ IN NS ns1.ejemplo.org.</programlisting>
-
- <para>
- Esta es una entrada de tipo <varname>NS</varname>. Cada servidor de
- nombres que contesta de forma autoritaria a las consultas de un
- determinado dominio debe tener una de estas entradas. El caracter
- <literal>@</literal> se sustituye por <systemitem class="fqdomainname">ejemplo.org.</systemitem>, es decir, se sustituye
- por el origen.
- </para>
-
- <programlisting>
-localhost IN A 127.0.0.1
-ns1 IN A 3.2.1.2
-ns2 IN A 3.2.1.3
-mail IN A 3.2.1.10
-@ IN A 3.2.1.30</programlisting>
-
- <para>
- El registro de tipo A hace referencia a nombres de máquinas .
- Como puede verse más arriba <systemitem>
- ns1.ejemplo.org</systemitem> se resuelve a <systemitem class="ipaddress">3.2.1.2</systemitem>. Vemos que se utiliza otra vez el
- origen <literal>@</literal>, que significa que <systemitem>
- ejemplo.org</systemitem> se resuelve a <systemitem class="ipaddress">3.2.1.30</systemitem>.
- </para>
-
- <programlisting>
-www IN CNAME @</programlisting>
-
- <para>
- Los registros de nombres canónicos se utilizan normalmente
- como alias de máquinas. En el ejemplo
- <systemitem>www</systemitem> es un alias de <systemitem>ejemplo.org</systemitem>
- (<systemitem class="ipaddress">3.2.1.30</systemitem>).
- <varname>CNAME</varname>s se puede utilizar para proporcionar alias
- de nombres de máquinas, o también para proporcionar un
- mecanismo de vuelta cíclica (<quote>round robin</quote>)
- de un nombre de máquina mapeado a un determinado conjunto de
- máquinas intercambiables.</para>
- <indexterm>
- <primary>MX record</primary>
- </indexterm>
-
- <programlisting>
-@ IN MX 10 mail.ejemplo.org.</programlisting>
-
- <para>
- El registro <varname>MX</varname> indica qué servidores de
- correo se encargan de recibir correos para esta zona.
- <systemitem class="fqdomainname">mail.example.org</systemitem> es el nombre del
- servidor de correo y 10 significa la prioridad de dicho
- servidor.
- </para>
-
- <para>
- Se pueden especificar varios servidores de correo con prioridades de,
- por ejemplo,3, 2 y 1. Un servidor de correo que intenta entregar
- correo para el dominio <systemitem class="fqdomainname">ejemplo.org</systemitem> primero intentará
- contactar con el servidor especificado en el registro MX de mayor
- prioridad, después con el siguiente y así sucesivamente
- hasta que lo logre entregar.
- </para>
-
- <para>
- Para los ficheros de zona de in-addr.arpa (DNS inverso) se utiliza
- el mismo formato excepto que se especifican registros
- <varname>PTR</varname> en lugar de registros
- <varname>A</varname> o <varname>CNAME</varname>.
- </para>
-
- <programlisting>$TTL 3600
-
-1.2.3.in-addr.arpa. IN SOA ns1.ejemplo.org. admin.ejemplo.org. (
- 5 ; Serial
- 10800 ; Refresh
- 3600 ; Retry
- 604800 ; Expire
- 3600 ) ; Minimum
-
-@ IN NS ns1.ejemplo.org.
-@ IN NS ns2.ejemplo.org.
-
-2 IN PTR ns1.ejemplo.org.
-3 IN PTR ns2.ejemplo.org.
-10 IN PTR mail.ejemplo.org.
-30 IN PTR ejemplo.org.</programlisting>
- <para>
- Este fichero proporciona las asociaciones de direcciones IP con
- nombres de máquinas adecuadas para nuestro dominio ficticio.
- </para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Servidor de nombres de cache</title>
- <indexterm>
- <primary>BIND</primary>
- <secondary>caching name server</secondary>
- </indexterm>
- <para>
- Un servidor de nombres de tipo caché es un servidor de nombres
- que no es autoritario para ninguna zona. Simplemente realiza consultas
- por sí mismo y recuerda las respuestas para futuros usos.
- Para configura uno de estos servidores se configura el servidor de la
- forma habitual pero se omite la inclusión de zonas.
- </para>
- </sect2>
-
- <sect2 xml:id="network-named-sandbox">
- <title>Ejecución de <application>named</application> en una <quote>
- Sandbox</quote></title>
- <indexterm>
- <primary>BIND</primary>
- <secondary>running in a sandbox</secondary>
- </indexterm>
-
- <indexterm>
- <primary><command>chroot</command></primary>
- </indexterm>
- <para>Para obtener una mayor seguridad se puede ejecutar
- &man.named.8; como un usuario sin privilegios y configurarlo mediante
- &man.chroot.8; dentro del directorio especificado como el directorio
- del <quote>sandbox</quote>. Esto hace que cualquier cosa que se
- encuentre fuera de dicho directorio resulte inaccesible para el
- d&aelig;mon <application>named</application>. En caso de que se
- comprometiera la seguridad de <application>named</application> esta
- restricción puede ayudar a limitar el daño sufrido.
- &os; dispone por defecto de un usuario y un grupo destinado a este
- uso: <systemitem class="groupname">bind</systemitem>.</para>
-
- <note><para>Hay quien recomienda que en lugar de configurar
- <application>named</application> con <command>chroot</command> es mejor
- configurarlo dentro de &man.jail.8;. En esta sección no se va
- a explicar esa alternativa.</para>
- </note>
-
- <para>Debido a que <application>named</application> no va a poder
- acceder a nada que se encuentre fuera del directorio <quote>
- sandbox</quote> (y esto incluye cosas tales como bibliotecas
- compartidas, <quote>sockets</quote> de <quote>log</quote>, etc) se
- debe efectuar una serie de cambios para que <application>
- named</application> pueda funcionar con normalidad. En la siguiente
- lista se supone que la ruta del <quote>sandbox</quote> es
- <filename>/etc/namedb</filename> y que no se ha modificado
- anteriormente dicho directorio. Por favor, ejecute los pasos que se
- muestran a continuación:</para>
-
- <itemizedlist>
- <listitem>
- <para>Cree todos los directorios que
- <application>named</application> espera tener a su
- disposición:</para>
-
- <screen>&prompt.root; <userinput>cd /etc/namedb</userinput>
-&prompt.root; <userinput>mkdir -p bin dev etc var/tmp var/run master slave</userinput>
-&prompt.root; <userinput>chown bind:bind slave var/*</userinput><co xml:id="chown-slave"/></screen>
-
- <calloutlist>
- <callout arearefs="chown-slave">
- <para><application>named</application> sólamente necesita
- escribir en estos directorios así que eso es todo lo que
- debemos crear.</para>
- </callout>
- </calloutlist>
- </listitem>
-
- <listitem>
- <para>Reorganizar y crear los archivos de configuración de
- zona básicos:</para>
- <screen>&prompt.root; <userinput>cp /etc/localtime etc</userinput><co xml:id="localtime"/>
-&prompt.root; <userinput>mv named.conf etc &amp;&amp; ln -sf etc/named.conf</userinput>
-&prompt.root; <userinput>mv named.root master</userinput>
-<!-- I don't like this next bit -->
-&prompt.root; <userinput>sh make-localhost &amp;&amp; mv localhost.rev localhost-v6.rev master</userinput>
-&prompt.root; <userinput>cat &gt; master/named.localhost
-$ORIGIN localhost.
-$TTL 6h
-@ IN SOA localhost. postmaster.localhost. (
- 1 ; serial
- 3600 ; refresh
- 1800 ; retry
- 604800 ; expiration
- 3600 ) ; minimum
- IN NS localhost.
- IN A 127.0.0.1
-^D</userinput></screen>
-
- <calloutlist>
- <callout arearefs="localtime">
- <para>Esto permite que <application>named</application> pueda
- escribir al archivo de log la hora correcta a través
- del &man.syslogd.8;</para>
- </callout>
- </calloutlist>
- </listitem>
-
- <listitem>
- <para>Si está usando una versión de &os; anterior a
- 4.9-RELEASE se debe construir una copia estáticamente
- enlazada de <application>named-xfer</application> y copiarla dentro
- del directorio del <quote>sandbox</quote>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src/lib/libisc</userinput>
-&prompt.root; <userinput>make cleandir &amp;&amp; make cleandir &amp;&amp; make depend &amp;&amp; make all</userinput>
-&prompt.root; <userinput>cd /usr/src/lib/libbind</userinput>
-&prompt.root; <userinput>make cleandir &amp;&amp; make cleandir &amp;&amp; make depend &amp;&amp; make all</userinput>
-&prompt.root; <userinput>cd /usr/src/libexec/named-xfer</userinput>
-&prompt.root; <userinput>make cleandir &amp;&amp; make cleandir &amp;&amp; make depend &amp;&amp; make NOSHARED=yes all</userinput>
-&prompt.root; <userinput>cp named-xfer /etc/namedb/bin &amp;&amp; chmod 555 /etc/namedb/bin/named-xfer</userinput><co xml:id="clean-cruft"/></screen>
-
- <para>Despueés de instalar la versión estática
- de <command>named-xfer</command> se deben realizar algunas tareas
- de limpieza para evitar dejar copias de bibliotecas o de programas
- en nuestros ficheros de fuentes:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src/lib/libisc</userinput>
-&prompt.root; <userinput>make cleandir</userinput>
-&prompt.root; <userinput>cd /usr/src/lib/libbind</userinput>
-&prompt.root; <userinput>make cleandir</userinput>
-&prompt.root; <userinput>cd /usr/src/libexec/named-xfer</userinput>
-&prompt.root; <userinput>make cleandir</userinput></screen>
-
- <calloutlist>
- <callout arearefs="clean-cruft">
- <para>En algunas ocasiones este paso puede fallar. Si es su caso
- ejecute lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src &amp;&amp; make cleandir &amp;&amp; make cleandir</userinput></screen>
-
- <para>y borre su directorio <filename>/usr/obj</filename>:</para>
-
- <screen>&prompt.root; <userinput>rm -fr /usr/obj &amp;&amp; mkdir /usr/obj</userinput></screen>
-
- <para>Esto limpia cualquier <quote>impureza</quote> del
- árbol de fuentes y si se repiten los pasos anteriores
- todo debería funcionar.</para>
- </callout>
- </calloutlist>
-
- <para>Si se está usando &os; version 4.9-RELEASE o posterior
- el ejecutable de <command>named-xfer</command> del directorio
- <filename>/usr/libexec</filename> ya se encuentra
- enlazado estáticamente y se puede utilizar &man.cp.1; para
- copiarlo directamente en nuestro <quote>sandbox</quote>.</para>
- </listitem>
-
- <listitem>
- <para>Cree el fichero <filename>dev/null</filename> de tal forma
- que <application>named</application> pueda verlo y pueda escribir
- sobre él:</para>
-
- <screen>&prompt.root; <userinput>cd /etc/namedb/dev &amp;&amp; mknod null c 2 2</userinput>
-&prompt.root; <userinput>chmod 666 null</userinput></screen>
- </listitem>
-
- <listitem>
- <para>Enlace simbólicamente <filename> /var/run/ndc</filename>
- con <filename>/etc/namedb/var/run/ndc</filename>:</para>
-
- <screen>&prompt.root; <userinput>ln -sf /etc/namedb/var/run/ndc /var/run/ndc</userinput></screen>
-
- <note>
- <para>Esto simplemente evita el tener que especificar la
- opción <option>-c</option> de &man.ndc.8; cada vez que se
- ejecute. Dado que los contenidos de /var/run se borran al
- inicio del sistema, si se piensa que esto puede resultar
- útil, se puede añadir esta orden al <quote>
- crontab</quote> del usuario root utilizando la opción
- <option>@reboot</option>. Consulte &man.crontab.5; para
- saber más información sobre esto.</para>
- </note>
-
- </listitem>
-
- <listitem>
- <para>Configure &man.syslogd.8; para que cree un <quote>socket</quote>
- de <filename>log</filename> adicional de tal forma que
- <application>named</application> pueda escribir sobre él.
- Añada <literal>-l
- /etc/namedb/dev/log</literal> a la variable
- <varname>syslogd_flags</varname> dentro del fichero
- <filename>/etc/rc.conf</filename>.</para>
- </listitem>
-
- <listitem>
- <para>Reorganice la ejecución de las aplicaciones
- <application>named</application> y
- <command>chroot</command> para que se ejecuten dentro
- del <quote>sandbox</quote> añadiendo lo siguiente al
- fichero<filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>named_enable="YES"
-named_flags="-u bind -g bind -t /etc/namedb /etc/named.conf"</programlisting>
-
- <note>
- <para>Recuerde que el fichero de configuración
- <replaceable>/etc/named.conf</replaceable> tiene una ruta
- completa <emphasis>que comienza en el directorio del
- <quote>sandbox</quote></emphasis>; por ejemplo, en la
- línea superior el fichero que aparece es en realidad
- <filename>/etc/namedb/etc/named.conf</filename>.</para>
- </note>
- </listitem>
- </itemizedlist>
-
- <para>El siguiente paso consiste en editar el fichero
- <filename>/etc/namedb/etc/named.conf</filename> de tal forma que
- <application>named</application> pueda conocer qué zonas cargar
- y donde encontrarlas en disco. A continuación se muestra un
- ejemplo comentado (cualquier cosa que no se comenta en el ejemplo es
- porque resulta igual que la configuración del servidor de DNS
- del caso normal):</para>
-
- <programlisting>options {
- directory "/";<co xml:id="directory"/>
- named-xfer "/bin/named-xfer";<co xml:id="named-xfer"/>
- version ""; // No muestra la versiÃn de BIND
- query-source address * port 53;
-};
-// ndc control socket
-controls {
- unix "/var/run/ndc" perm 0600 owner 0 group 0;
-};
-// A partir de aquívan las zonas:
-zone "localhost" IN {
- type master;
- file "master/named.localhost";<co xml:id="master"/>
- allow-transfer { localhost; };
- notify no;
-};
-zone "0.0.127.in-addr.arpa" IN {
- type master;
- file "master/localhost.rev";
- allow-transfer { localhost; };
- notify no;
-};
-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.int" {
- type master;
- file "master/localhost-v6.rev";
- allow-transfer { localhost; };
- notify no;
-};
-zone "." IN {
- type hint;
- file "master/named.root";
-};
-zone "private.example.net" in {
- type master;
- file "master/private.example.net.db";
- allow-transfer { 192.168.10.0/24; };
-};
-zone "10.168.192.in-addr.arpa" in {
- type slave;
- masters { 192.168.10.2; };
- file "slave/192.168.10.db";<co xml:id="slave"/>
-};</programlisting>
-
- <calloutlist>
- <callout arearefs="directory">
- <para>La línea que contiene
- <literal>directory</literal> se especifica como
- <filename>/</filename>, ya que todos los ficheros que
- <application>named</application> necesita se encuentran dentro de
- este directorio (recuerde que esto es equivalente al fichero
- <filename>/etc/namedb</filename> de un usuario
- <quote>normal</quote>.</para>
- </callout>
-
- <callout arearefs="named-xfer">
- <para>Especifica la ruta completa para el binario
- <command>named-xfer</command> binary (desde el marco de referencia
- de <application>named</application>). Esto resulta necesario ya
- que por defecto <application>named</application> se compila de tal
- forma que trata de localizar
- <command>named-xfer</command> dentro de
- <filename>/usr/libexec</filename>.</para>
- </callout>
- <callout arearefs="master"><para>Especifica el nombre del fichero
- (relativo a la línea
- (relativo a la línea ) <literal>directory</literal> anterior)
- donde <application>named</application> puede encontrar el fichero de
- zona para esta zona.</para>
- </callout>
- <callout arearefs="slave"><para>Especifica el nombre del fichero
- (relativo a la líena <literal>directory</literal> anterior)
- donde <application>named</application> debería escribir una
- copia del archivo de zona para esta zona después de
- recuperarla exitosamente desde el servidor maestro. Este es el
- motivo por el que en las etapas de configuración anteriores
- necesitábamos cambiar la propiedad del directorio
- <filename>slave</filename> al grupo
- <systemitem class="groupname">bind</systemitem>.</para>
- </callout>
- </calloutlist>
-
- <para>Después de completar los pasos anteriores reinicie el
- servidor o reinicie &man.syslogd.8; y ejecute &man.named.8;
- asegurándose de que se utilicen las nuevas opciones
- especificadas en <varname>syslogd_flags</varname> y
- <varname>named_flags</varname>. En estos momentos deberíamos
- estar ejecutando una copia de <application>named</application> dentro
- de un <quote>sandbox</quote>.</para>
- </sect2>
-
- <sect2>
- <title>Seguridad</title>
-
- <para>Aunque BIND es la implementación de DNS más
- utilizada existe siempre el asunto relacionado con la seguridad. De
- vez en cuando se encuentran agujeros de seguridad y
- vulnerabilidades.</para>
-
- <para>
- Es una buena idea suscribirse a <link xlink:href="http://www.cert.org/">CERT</link> y a <link xlink:href="../handbook/eresources.html#ERESOURCES-MAIL">freebsd-security-notifications</link>
- para estar al día de los problemas de seguridad relacionados
- con <application>named</application>.</para>
-
- <tip><para>Si surge un problema nunca está de más
- actualizar los fuentes y recompilar los ejecutables desde dichas
- fuentes.</para></tip>
-
- </sect2>
-
- <sect2>
- <title>Lecturas recomendadas</title>
- <para>
- Las páginas del manual de BIND/named:
- &man.ndc.8; &man.named.8; &man.named.conf.5;
- </para>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="http://www.isc.org/products/BIND/">Página oficial
- de ISC Bind</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.nominum.com/getOpenSourceResource.php?id=6">
- Preguntas más frecuentes sobre BIND</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.oreilly.com/catalog/dns4/">Libro de O'Reilly
- "DNS and BIND", cuarta edición</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="ftp://ftp.isi.edu/in-notes/rfc1034.txt">RFC1034
- - Nombre de Dominio - Conceptos y Características</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="ftp://ftp.isi.edu/in-notes/rfc1035.txt">RFC1035
- - Nombres de Domninio - Implementación y
- Especificación</link></para>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-ntp">
- <info><title>NTP</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Hukins</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>NTP</primary></indexterm>
-
- <sect2>
- <title>Resumen</title>
-
- <para>Según pasa el tiempo el reloj de un computador está
- expuesto a ligeros desplazamientos. NTP (Protocolo de Hora
- en Red, en inglés <quote>Network Time Protocol</quote>) es
- un protocolo que permite asegurar la exactitud de nuestro reloj.</para>
-
- <para>Existen varios servicios de internet que confían y se pueden
- beneficiar de relojes de computadores precisos. Por ejemplo un
- servidor web puede recibir peticiones de un determinado fichero si ha
- sido modificado posteriormente a una determinada fecha u hora.
- Servicios como &man.cron.8; ejecutan órdenes en determinados
- instantes. Si el reloj no se encuentra ajustado estas órdenes
- pueden ejecutarse fuera de la hora prevista.</para>
-
- <indexterm>
- <primary>NTP</primary>
- <secondary>ntpd</secondary>
- </indexterm>
- <para>&os; viene con el servidor NTP &man.ntpd.8; que se puede utilizar
- para preguntar a otros servidores NTP, de tal forma que podemos
- ajustar nuestro reloj según la hora de otros servidores e
- incluso proporcionar servicio de hora nosotros mismos.</para>
-
- </sect2>
-
- <sect2>
- <title>Elección de los servidores de hora adecuados</title>
-
- <indexterm>
- <primary>NTP</primary>
- <secondary>choosing servers</secondary>
- </indexterm>
-
- <para>Para sincronizar nuestro reloj necesitamos comunicarnos con uno o
- más servidores NTP. El administrador de nuestra red o nuestro
- proveedor de servicios de Internet muy posiblemente hayan configurado
- algún servidor NTP para estos propósitos. Consulte la
- documentación de que disponga. Existe una <link xlink:href="http://www.eecis.udel.edu/~mills/ntp/servers.html">lista de
- servidores NTP públicamente accesibles</link> que se pueden
- utilizar para buscar un servidor NTP que se encuentre
- geográficamente próximo. Asegúrese de que conoce
- la política de uso de estos servidores públicos ya que
- en algunos casos es necesario pedir permiso al administrador antes de
- de poder utilizarlos, principalmente por motivos
- estadísticos.</para>
-
- <para>Le recomendamos seleccionar servidores NTP que no se encuentren
- conectados entre sí por si alguno de los servidores que use
- sea inaccesible o su reloj se averíe. &man.ntpd.8; utiliza las
- respuestas que recibe de otros servidores de una forma inteligente.
- servidores de una forma inteligente (Tiene a hacer más caso a
- los más fiables.</para>
-
- </sect2>
-
- <sect2>
- <title>Configuración de la máquina</title>
-
- <indexterm>
- <primary>NTP</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <sect3>
- <title>Configuración básica</title>
- <indexterm><primary>ntpdate</primary></indexterm>
-
- <para>Si sólamente deseamos sincronizar nuestro reloj cuando
- se arranca la máquina se puede utilizar &man.ntpdate.8;.
- Esto puede ser adecuado en algunas máquinas de escritorio que
- se reinician frecuentemente y donde la sincronización no suele
- ser un objetivo prioritario pero normalmente la mayoría de las
- máquinas deberían ejecutar &man.ntpd.8;.</para>
-
- <para>La utilización de &man.ntpdate.8; en tiempo de arranque
- es también una buena idea incluso para las máquinas que
- ejecutan &man.ntpd.8;. El programa &man.ntpd.8; modifica el reloj de
- forma gradual, mientras que &man.ntpdate.8; ajusta directamente el
- reloj sin importar que tamaño tenga la diferencia de tiempo
- existente entre la máquina y el servidor de tiempo de
- referencia.</para>
-
- <para>Para activar &man.ntpdate.8; en tiempo de arranque, añada
- <literal>ntpdate_enable="YES"</literal> al fichero
- <filename>/etc/rc.conf</filename>. También es necesario
- especificar todos los servidores que deseamos utilizar para
- realizar el proceso de sincronización y cualquier
- parámetro que deseemos pasar a &man.ntpdate.8;
- utilizando la variable <varname>ntpdate_flags</varname>.</para>
-
- </sect3>
-
- <sect3>
- <title>Configuración general</title>
-
- <indexterm>
- <primary>NTP</primary>
- <secondary>ntp.conf</secondary>
- </indexterm>
-
- <para>NTP se configura mediante el archivo
- <filename>/etc/ntp.conf</filename> utilizando el formato descrito en
- &man.ntp.conf.5;. A continuación se muestra un sencillo
- ejemplo:</para>
-
- <programlisting>server ntplocal.ejemplo.com prefer
-server timeserver.ejemplo.org
-server ntp2a.ejemplo.net
-
-driftfile /var/db/ntp.drift</programlisting>
-
- <para>La opción <literal>server</literal> especifica qué
- servidores se van a utilizar, especificando un servidor por
- línea. Si se especifica un servidor con el argumento
- <literal>prefer</literal>, como en <systemitem class="fqdomainname">ntplocal.ejemplo.com</systemitem> dicho servidor se prefiere
- sobre los demás. No obstante la respuesta de su servidor
- preferido se descartará si difiere sustancialmente de la
- respuesta recibida por parte del resto de los servidores
- especificados; en caso contrario sólo se tendrá en
- cuenta la respuesta del servidor preferido sin importar la
- información suministrada por el resto. El argumento
- <literal>prefer</literal> se utiliza normalmente en servidores NTP
- altamente precisos, como aquellos que poseen hardware de tiempo
- específico.</para>
-
- <para>La opción <literal>driftfile</literal> especifica
- qué fichero se utiliza para almacenar el desplazamiento de
- la fracuencia de reloj de la máquina. El programa
- &man.ntpd.8; utiliza este valor para automáticamente
- compensar el desvío que experimenta de forma natural el reloj
- de la máquina, permitiendo mantener una precisión
- acotada incluso cuando se pierde la comunicación con el resto
- de referencias externas.</para>
-
- <para>La opción <literal>driftfile</literal> especifica
- qué fichero se utiliza para almacenar la información
- sobre espuestas anteriores de servidores NTP. Este fichero
- contiene información útil para la implementación
- de NTP. No debería ser modificada por ningún otro
- proceso.</para>
-
- </sect3>
-
- <sect3>
- <title>Control de acceso al servidor NTP</title>
-
- <para>Por defecto nuestro servidor de NTP puede ser accedido por
- cualquier máquina de Internet. La opción
- <literal>restrict</literal> se puede utilizar para controlar
- controlar qué máquinas pueden acceder al
- servicio.</para>
-
- <para>Si queremos denegar el acceso a todas las máquinas
- existentes basta con añadir la siguiente línea a
- <filename>/etc/ntp.conf</filename>:</para>
-
- <programlisting>restrict default ignore</programlisting>
-
- <para>Si sólo queremos permitir el acceso al servicio de hora
- a las máquinas de nuestra red y al menos tiempo nos queremos
- asegurar de que dichos clientes no pueden a su vez configurar la
- hora del servidor o utilizarse ellos mismos como nuevos servidores
- de hora basta con añadir lo siguiente en lugar de lo
- anterior:</para>
-
- <programlisting>restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap</programlisting>
-
- <para>donde <systemitem class="ipaddress">192.168.1.0</systemitem> es la
- dirección IP de nuestra red y <systemitem class="netmask">255.255.255.0</systemitem> es la máscara de
- red.</para>
-
- <para><filename>/etc/ntp.conf</filename> puede contener varias
- opciones de tipo <literal>restrict</literal>. Para más
- detalles consulte la sección <literal>Soporte de Control de
- Acceso</literal> de &man.ntp.conf.5;.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Ejecución del servidor de NTP</title>
-
- <para>Para asegurarnos de que el servidor de NTP se ejecuta en tiempo de
- arranque se debe añadir la línea <literal>
- xntpd_enable="YES"</literal> al fichero
- <filename>/etc/rc.conf</filename>. Si deseamos pasar opciones
- adicionales a &man.ntpd.8; se puede modificar la variable
- <varname>xntpd_flags</varname> del fichero
- <filename>/etc/rc.conf</filename>.</para>
-
- <para>Para ejecutar el servidor sin reiniciar la máquina ejecute
- <command>ntpd</command> junto con todos aquellos parámetros que
- haya especificado en la variable de arranque
- <varname>xntpd_flags</varname> del fichero
- <filename>/etc/rc.conf</filename>. Por ejemplo:</para>
-
- <screen>&prompt.root; <userinput>ntpd -p /var/run/ntpd.pid</userinput></screen>
-
- <note>
- <para>Bajo &os;&nbsp;5.X se han renombrado algunas opciones del
- fichero <filename>/etc/rc.conf</filename>. Se debe reemplazar
- cualquier aparición <literal>xntpd</literal> por
- por <literal>ntpd</literal>.</para></note>
- </sect2>
-
- <sect2>
- <title>Utilización de ntpd junto con una conexión temporal
- a Internet</title>
-
- <para>El programa &man.ntpd.8; no necesita una conexión
- permanente a Internet para poder funcionar correctamente. No obstante
- si la conexión a Internet se encuentra configurada con
- marcación bajo demanda es una buena idea impedir que el
- tráfico de NTP lance una marcación automática o
- que mantenga la conexión viva. Si se utiliza el PPP de
- entorno de usuario se pueden utilizar las directivas
- <literal>filter</literal> dentro del fichero
- <filename>/etc/ppp/ppp.conf</filename> para evitar esto. Por
- ejemplo:</para>
-
- <programlisting> set filter dial 0 deny udp src eq 123
- # Evita que el tráfico NTP inice una llamada saliente
- set filter dial 1 permit 0 0
- set filter alive 0 deny udp src eq 123
- Evita que el tráficoNTP entrante mantenga abierta la conexión
- set filter alive 1 deny udp dst eq 123
- Evita que el tráfico NTP saliente mantenga abierta la conexión
- set filter alive 2 permit 0/0 0/0</programlisting>
-
- <para>Para ás detalles consulte la sección
- <literal>PACKET FILTERING</literal> de &man.ppp.8; y los ejemplos que
- se encuentran en
- <filename>/usr/share/examples/ppp/</filename>.</para>
-
- <note>
- <para>Algunos proveedores de acceso a Internet bloquean paquetes que
- utilizan números de puertos bajos impidiendo que los paquetes
- de vuelta alcancen nuestra máquina.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>Información adicional</title>
-
- <para>Hay documentación sobre el servidor NTP en formato HTML en
- <filename>/usr/share/doc/ntp/</filename>.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-natd">
- <info><title>Traducción de direcciones de red</title>
- <authorgroup>
- <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <sect2 xml:id="network-natoverview">
- <title>Overview</title>
- <indexterm>
- <primary><application>natd</application></primary>
- </indexterm>
- <para>El d&aelig;mon de &os; que se encarga de traducir direcciones de
- red, más conocido como &man.natd.8;, es un d&aelig;mon que
- acepta paquetes IP, modifica la dirección IP fuente de dichos
- paquetes y los reinyecta en el flujo de paquetes IP de salida.
- &man.natd.8; ejecuta este proceso modificando la dirección de
- origen y el puerto de tal forma que cuando se reciben paquetes de
- contestación &man.natd.8; es capaz de determinar el destino
- real y reenviar el paquete a dicho destino.</para>
-
- <indexterm><primary>Internet connection sharing</primary></indexterm>
- <indexterm><primary>IP masquerading</primary></indexterm>
- <para>El uso más común de NAT es para Compartir la
- Conexión a Internet.</para>
- </sect2>
-
- <sect2 xml:id="network-natsetup">
- <title>Configuración</title>
- <para>Debido al pequeño espacio de direccionamiento que se
- encuentra actualmente disponible en IPv4 y debido también al
- gran aumento que se está produciendo en cuanto a número
- de usuarios de líneas de conexión a Internet de alta
- velocidad como cable o DSL la gente necesita utilizar cada vez
- más la salida de Compartición de
- Conexión a Internet. La característica de poder conectar
- varios computadores a través de una única conexión
- y una única dirección IP hacen de &man.natd.8; una
- elección razonable.</para>
-
- <para>Cada vez con más frecuencia un usuario típico
- dispone de una máquina conectada mediante cable o DSL pero
- desearía utilizar dicha máquina como un <quote>
- router</quote> de acceso para el resto de los ordenadores de su red
- de área local.</para>
-
- <para>Para poder hacerlo la máquina (&os; por supuesto) debe
- configurarse para actuar como pasarela. Debe tener al menos dos
- tarjetas de red, una para conectarse a la red de área local y
- la otra para conectarse con el <quote>router</quote> de acceso a
- Internet. Todas las máquinas de la LAN se conectan entre
- sí mediante un <quote>hub</quote> o un <quote>
- switch</quote>.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="advanced-networking/natd"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> _______ __________ ________
- | | | | | |
- | Hub |-----| Client B |-----| Router |----- Internet
- |_______| |__________| |________|
- |
- ____|______
-| |
-| Cliente A |
-|___________|</literallayout>
- </textobject>
-
- <textobject>
- <phrase>Topología de la Red</phrase>
- </textobject>
- </mediaobject>
-
- <para>Una configuración como esta se utiliza frecuentemente para
- compartir el acceso a Internet. Una de las máquinas de la
- <acronym>LAN</acronym> está realmente conectada a Internet.
- El resto de las máquinas acceden a Internet utilizando como
- <quote>pasarela</quote> la máquina inicial.</para>
-
- </sect2>
-
- <sect2 xml:id="network-natdkernconfiguration">
- <title>Configuración</title>
-
- <indexterm>
- <primary>kernel</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <para>Se deben añadir las siguientes opciones al fichero de
- configuración del núcleo:</para>
- <programlisting>options IPFIREWALL
-options IPDIVERT</programlisting>
-
- <para>Además, según se prefiera, se pueden añadir
- también las siguientes:</para>
- <programlisting>options IPFIREWALL_DEFAULT_TO_ACCEPT
-options IPFIREWALL_VERBOSE</programlisting>
-
- <para>Lo que viene a continuación se tiene que definir en
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>gateway_enable="YES"
-firewall_enable="YES"
-firewall_type="OPEN"
-natd_enable="YES"
-natd_interface="<replaceable>fxp0</replaceable>"
-natd_flags=""</programlisting>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry>gateway_enable="YES"</entry>
- <entry>Configura la máquina para que actúe como
- <quote>router</quote> o pasarela de red. Se puede conseguir
- lo mismo ejecutando
- <command>sysctl net.inet.ip.forwarding=1</command>.</entry>
- </row>
- <row><entry>firewall_enable="YES"</entry>
- <entry>Activa las reglas de cortafuegos que se encuentran
- definidas por defecto en
- <filename>/etc/rc.firewall</filename> y que entran en
- funcionamiento en el arranque del sistema.</entry>
- </row>
- <row><entry>firewall_type="OPEN"</entry>
- <entry>Especifica un conjunto de reglas de cortafuegos que
- permite el acceso a todos los paquetes que se reciban.
- Consulte <filename>/etc/rc.firewall</filename> para obtener
- información sobre el resto de tipos de reglas que se
- pueden configurar.</entry>
- </row>
- <row>
- <entry>natd_interface="fxp0"</entry>
- <entry>Indica qué interfaz se utiliza para reenviar
- paquetes (la interfaz que se conecta a Internet).</entry>
- </row>
- <row>
- <entry>natd_flags=""</entry>
- <entry>Define cualesquiera otras opciones que se deseen
- proporcionar a &man.natd.8; en tiempo de arranque.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Si se definen las opciones anteriores, en el arranque del sistema
- el fichero <filename>/etc/rc.conf</filename> configurará las
- variables de tal forma que se ejecutaría
- <command>natd -interface fxp0</command>. Evidentemente esta orden
- también se puede ejecutar de forma manual.</para>
-
- <note>
- <para>También es posible utilizar un fichero de
- configuración para &man.natd.8; en caso de que deseemos
- especificar muchos parámetros de arranque. Tendremos que
- declarar la ubicación del fichero de configuración
- mediante la inclusión de lo siguiente en
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>natd_flags="-f /etc/natd.conf"</programlisting>
-
- <para>El fichero <filename>/etc/natd.conf</filename> debe contener una
- lista de opciones de configuración una opción por
- línea. Por ejemplo, en el caso que se comenta en la siguiente
- sección se utilizaría un fichero de
- configuración con la siguiente información:</para>
-
- <programlisting>redirect_port tcp 192.168.0.2:6667 6667
-redirect_port tcp 192.168.0.3:80 80</programlisting>
-
- <para>Para obtener más información sobre el fichero de
- configuración se puede consultar la opción
- <option>-f</option> que se describe en la página del manual de
- &man.natd.8;.</para>
- </note>
-
- <para>Cada máquina (y cada interfaz) que se encuentra conectada
- a la LAN debe poseer una dirección IP perteneciente al espacio
- de direcciones IP privado tal y como se define en <link xlink:href="ftp://ftp.isi.edu/in-notes/rfc1918.txt">RFC 1918</link> y debe
- poseer como pasarela por defecto la dirección IP de la
- interfaz interna (la interfaz que se conecta a la LAN) de la
- máquina que ejecuta
- <application>natd</application>.</para>
-
- <para>Por ejemplo los clientes <systemitem>A</systemitem> y
- <systemitem>B</systemitem> se encuentran en la LAN utilizando las direcciones
- IP <systemitem class="ipaddress">Â192.168.0.2</systemitem> y
- <systemitem class="ipaddress">192.168.0.3</systemitem>, respectivamente. La
- máquina que ejecuta <application>natd</application> posee la
- dirección IP <systemitem class="ipaddress">192.168.0.1</systemitem> en la interfaz que se conecta a la
- LAN. El <quote>router</quote> por defecto tanto de <systemitem>A</systemitem>
- omo de <systemitem>B</systemitem> se establece al valor
- <systemitem class="ipaddress">192.168.0.1</systemitem>. La interfaz externa de la
- máquina que ejecuta <application>natd</application>, la interfaz
- que se conecta con Internet, no necesita de ninguna
- especial en relación con el tema que estamos tratando en esta
- sección.</para>
- </sect2>
-
- <sect2 xml:id="network-natdport-redirection">
- <title>Redirección de puertos</title>
-
- <para>El incoveniente que se presenta con la utilización de
- &man.natd.8; es que los clientes de la LAN no son accesibles desde
- Internet. Dichos clientes pueden establecer conexiones con el
- exterior pero no pueden recibir intentos de conexión desde
- pueden recibir intentos de conexion desde Internet. Esto supone un
- gran problema cuando se quieren ejecutar servicios de acceso global
- en una o varias máquinas de la red LAN. Una forma sencilla de
- solucionar parcialmente este problemma consiste en redirigir
- determinados puertos en el servidor <application>natd</application>
- hacia determinadas máquinas de la LAN.</para>
-
- <para>Supongamos por ejemplo que en <systemitem>A</systemitem> se ejecuta un
- servidor de IRC y que en <systemitem>B</systemitem> se ejecuta un servidor
- web. Para que funcione lo que hemos comentado anteriormente se tienen
- que redirigir las conexiones recibidas en los puertos 6667 (IRC) y
- 80 (web) a dichas máquinas, respectivamente.</para>
-
- <para>Se debe pasar la opción <option>-redirect_port</option> a
- &man.natd.8; con los valores apropiados. La sintaxis es como
- sigue:</para>
- <programlisting> -redirect_port proto IPdestino:PUERTOdestino[-PUERTOdestino]
- [aliasIP:]aliasPUERTO[-aliasPUERTO]
- [IPremota[:PUERTOremoto[-PUERTOremoto]]]</programlisting>
-
- <para>Continuando con el ejemplo anterior los valores serían:</para>
-
- <programlisting> -redirect_port tcp 192.168.0.2:6667 6667
- -redirect_port tcp 192.168.0.3:80 80</programlisting>
-
- <para>
- Esto redirigirá los puertos <emphasis>tcp</emphasis> adecuados
- a las máquinas situadas en la LAN.</para>
-
- <para>La opción <option>-redirect_port</option> se puede
- utilizar para indicar rangos de puertos en vez de puertos
- individuales. Por ejemplo, <replaceable>tcp
- 192.168.0.2:2000-3000 2000-3000</replaceable> redirige todas las
- conexiones recibidas desde los puertos 2000 al 3000 a los puertos
- puertos 2000 a 3000 de la máquina
- <systemitem>A</systemitem>.</para>
-
- <para>Estas opciones se pueden utilizar cuando se ejecute
- directamente &man.natd.8; se pueden situar en la variable
- <literal>natd_flags=""</literal> en
- <filename>/etc/rc.conf</filename> y también se pueden pasar
- mediante un archivo de configuración.</para>
-
- <para>Para obtener más información sobre opciones de
- configuración por favor consulte &man.natd.8;</para>
- </sect2>
-
- <sect2 xml:id="network-natdaddress-redirection">
- <title>Redirección de direcciones</title>
- <indexterm><primary>address redirection</primary></indexterm>
-
- <para>La redirección de direcciones es una característica
- útil si se dispone de varias direcciones IP pero todas ellas se
- ubican en una única máquina. Gracias a esto
- &man.natd.8; puede asignar a cada cliente de la red LAN su propia
- dirección IP externa. &man.natd.8; reescribe los paquetes que
- salen de la red LAN con la dirección IP externa adecuada y
- redirige todo el tráfico recibido de vuelta al cliente en
- función de la dirección IP de destino: esto se conoce
- como NAT estático. Por ejemplo las direcciones IP
- <systemitem class="ipaddress">128.1.1.1</systemitem>,
- <systemitem class="ipaddress">128.1.1.2</systemitem> y
- <systemitem class="ipaddress">128.1.1.3</systemitem> pertenecen al <quote>
- router</quote> <application>natd</application>.
- <systemitem class="ipaddress">128.1.1.1</systemitem> se puede utilizar como la
- dirección IP externa del
- <application>natd</application>, mientras que
- <systemitem class="ipaddress">128.1.1.2</systemitem> y
- <systemitem class="ipaddress">128.1.1.3</systemitem> se redirigen a los
- clientes <systemitem>A</systemitem> y <systemitem>B</systemitem>, respectivamente.</para>
-
- <para>La sintaxis de la opción
- <option>-redirect_address</option> es la siguiente:</para>
-
- <programlisting>-redirect_address IPlocal IPpública</programlisting>
-
-
- <informaltable frame="none">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry>IPlocal</entry>
- <entry>La dirección IP interna del cliente de la LAN.</entry>
- </row>
- <row>
- <entry>IPpública</entry>
- <entry>La dirección IP externa que se corresponde con un
- determinado cliente de la LAN.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>En nuestro ejemplo esta opción se especificaría de la
- siguiente forma:</para>
-
- <programlisting>-redirect_address 192.168.0.2 128.1.1.2
--redirect_address 192.168.0.3 128.1.1.3</programlisting>
-
- <para>De forma semejante a la opción
- <option>-redirect_port</option> estos argumentos se pueden especificar
- directamente sobre la variable
- <literal>natd_flags=""</literal> del fichero
- <filename>/etc/rc.conf</filename> o también se pueden pasar
- vía archivo de configuración de
- <application>natd</application>. Si se utiliza redirección
- de direcciones ya no es necesario utilizar redirección de
- puertos ya que todos los paquetes que se reciben en una determinada
- dirección IP son redirigidos a la máquina
- especificada.</para>
-
- <para>Las direcciones IP externas de la máquina que ejecuta
- <application>natd</application> se deben activar y deben formar
- parte de un alias configurado sobre la interfaz externa que se conecta
- a Internet. Consulte &man.rc.conf.5; para aprender a
- hacerlo.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-inetd">
- <info><title>El <quote>Superservidor</quote> <application>
- inetd</application></title>
- <authorgroup>
- <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect2 xml:id="network-inetd-overview">
- <title>Resumen</title>
-
- <para>&man.inetd.8; se conoce como el <quote>Super Servidor de
- Internet</quote> debido a que gestiona las conexiones de
- varios d&aelig;mones. Los d&aelig;mones son programas que
- proporcionan servicios de red.
- <application>inetd</application> actúa como un servidor de
- servidor de gestión de otros d&aelig;mones. Cuando
- &man.inetd.8; recibe una conexión se determina qué
- d&aelig;mon debería responder a dicha conexión, se lanza
- un proceso que ejecuta dicho d&aelig;mon y se le entrega el <quote>
- socket</quote>. La ejecución de una única instancia de
- <application>inetd</application> reduce la carga del sistema en
- comparación con lo que significaría ejecutar cada uno de
- los d&aelig;mones que gestiona de forma individual.</para>
-
- <para><application>inetd</application> se utiliza principalmente para
- lanzar procesos que albergan a otros d&aelig;mones pero
- <application>inetd</application> también se utiliza para
- gestionar determinados protocolos triviales como
- <application>chargen</application>,
- <application>auth</application> y
- <application>daytime</application>.</para>
-
- <para>Esta sección trata la configuración básica de
- <application>inetd</application> a través de sus opciones de
- línea de órdenes y utilizando su fichero de
- configuración, denominado
- <filename>/etc/inetd.conf</filename>.</para>
-
- </sect2>
-
- <sect2 xml:id="network-inetd-settings">
- <title>Configuraciones</title>
-
- <para><application>inetd</application> se inicializa a través
- del fichero <filename>/etc/rc.conf</filename> en tiempo de
- arranque. La opción <literal>inetd_enable</literal> posee el
- valor <literal>NO</literal> por defecto, pero a menudo la
- aplicación <application>sysinstall</application> la activa
- cuando se utiliza la configuración de perfil de seguridad
- medio.
- Estableciendo <programlisting>inetd_enable="YES"</programlisting> o
- <programlisting>inetd_enable="NO"</programlisting> dentro de
- <filename>/etc/rc.conf</filename> se puede activar o desactivar la
- la ejecución de
- <application>inetd</application> en el arranque del
- sistema.</para>
-
- <para>Se pueden además aplicar distintas opciones de
- línea de órdenes mediante la opción
- <literal>inetd_flags</literal>.</para>
-
- </sect2>
-
- <sect2 xml:id="network-inetd-cmdline">
- <title>Opciones de línea de órdenes</title>
-
- <para><application>sinopsis de inetd</application>:</para>
-
- <para><option> inetd [-d] [-l] [-w] [-W] [-c máximo] [-C tasa] [-a dirección | nombre_de_host]
- [-p nombre_de_fichero] [-R tasa] [fichero de configuración ]</option></para>
-
- <variablelist>
- <varlistentry>
- <term>-d</term>
-
- <listitem>
- <para>Activa la depuración.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-l</term>
-
- <listitem>
- <para>Activa el <quote>logging</quote> de las conexiones
- efectuadas con écute.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-w</term>
-
- <listitem>
- <para>Activa el recubrimiento de TCP para servicios
- externos (activado por defecto).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-W</term>
-
- <listitem>
- <para>Activa el recubrimiento de TCP para los servicios
- internos, ejecutados directamente por el d&aelig;mon
- <application>inetd</application> (activado por defecto).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-c máximo</term>
-
- <listitem>
- <para>Especifica el máximo número de invocaciones
- simultáneas de cada servicio; el valor por defecto es
- ilimitado. Se puede sobreescribir para cada servicio utilizando
- la opción <option>max-child</option>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-C tasa</term>
-
- <listitem>
- <para>Especifica el máximo número de veces que se
- puede llamar a un servicio desde un dirección IP
- determinada por minuto; el valor por defecto es ilimitado. Se
- puede redefinir para cada servicio utilizando la opción
- <option>max-connections-per-ip-per-minute</option>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-R tasa</term>
-
- <listitem>
- <para>Especifica el máximo número de veces que se
- puede invocar un servicio en un minuto; el valor por defecto es
- 256. Un valor de 0 permite un número ilimitado de
- llamadas.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-a</term>
-
- <listitem>
- <para>Especifica una dirección IP a la cual se asocia y
- sobre la cual se queda esperando recibir conexiones. Puede
- declararse también un nombre de máquina, en cuyo
- caso se utilizará la dirección (o direcciones si
- hay más de una) IPv4 o IPv6 que estén tras dicho
- nombre. Normalmente se usa un nombre de
- máquina cuando <application>inetd</application> se
- ejecuta dentro de un &man.jail.8;, en cuyo caso el nombre de
- máquina se corresponde con el entorno
- &man.jail.8;.</para>
-
- <para>Cuando se desea asociarse tanto a direcciones IPv4 como a
- direcciones IPv6 y se utiliza un nombre de máquina se
- necesita una entrada para cada protocolo (IPv4 o IPv6) para cada
- servicio que se active a través de <filename>
- /etc/inetd.conf</filename>. Por ejemplo un servicio basado en
- TCP necesitaría dos entradas, una utilizando
- <literal>tcp4</literal> para el protocolo IPv4 y otra con
- <literal>tcp6</literal> para las conexiones a través del
- procolo de red IPv6.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-p</term>
-
- <listitem>
- <para>Especifica un fichero alternativo en el cual se guarda el
- ID del proceso.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Estas opciones se pueden declarar dentro de las variables
- <literal>inetd_flags</literal> del fichero
- <filename>/etc/rc.conf</filename>. Por defecto
- <literal>inetd_flags</literal> tiene el valor <literal>-wW</literal>,
- lo que activa el recubrimiento de TCP para los servicios internos y
- externos de <application>inetd</application>. Los usuarios inexpertos
- no suelen introducir estos parámetros y por ello ni siquiera
- necesitan especificarse dentro de <filename>
- /etc/rc.conf</filename>.</para>
-
- <note>
- <para>Un servicio externo es un d&aelig;mon que se ejecuta fuera de
- <application>inetd</application> y que se lanza cuando se recibe
- un intento de conexión. Un servicio interno es un servicio
- que <application>inetd</application> puede servir directamente sin
- necesidad de lanzar nuevos procesos.</para>
- </note>
-
- </sect2>
-
- <sect2 xml:id="network-inetd-conf">
- <title><filename>inetd.conf</filename></title>
-
- <para>La configuración de
- <application>inetd</application> se realiza a través del
- ficherode configuración <filename>
- /etc/inetd.conf</filename>.</para>
-
- <para>Cuando se realiza una modificación en el fichero
- <filename>/etc/inetd.conf</filename> se debe obligar a
- <application>inetd</application> a releer dicho fichero de
- configuración, lo cual se realiza enviando una señal
- <quote>HANGUP</quote> al proceso <application>inetd</application>
- como se muestra a continuación:</para>
-
- <example xml:id="network-inetd-hangup">
- <title>Envío de una señal HANGUP a
- <application>inetd</application></title>
-
- <screen>&prompt.root; <userinput>kill -HUP `cat /var/run/inetd.pid`</userinput></screen>
- </example>
-
- <para>Cada línea del fichero de configuración especifica un
- d&aelig;mon individual. Los comentarios se preceden por el
- caracter <quote>#</quote>. El formato del fichero de
- configuración <filename>/etc/inetd.conf</filename> es el
- siguiente:</para>
-
- <programlisting>service-name
-socket-type
-protocol
-{wait|nowait}[/max-child[/max-connections-per-ip-per-minute]]
-user[:group][/login-class]
-server-program
-server-program-arguments</programlisting>
-
- <para>A continuación se muestra una entrada de ejemplo para el
- d&aelig;mon <application>ftpd</application> para IPv4:</para>
-
- <programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting>
-
- <variablelist>
- <varlistentry>
- <term>service-name</term>
-
- <listitem>
- <para>Este es el nombre del servicio que proporciona un
- determinado d&aelig;mon. Se debe corresponder con el nombre del
- nombre de servicio que se declara en el fichero
- <filename>/etc/services</filename>. Este fichero determina sobre
- qué puerto debe ponerse a escuchar
- <application>inetd</application>. Si se crea un nuevo servicio
- se debe especificar primero en
- <filename>/etc/services</filename>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>socket-type</term>
-
- <listitem>
- <para>Puede ser <literal>stream</literal>,
- <literal>dgram</literal>, <literal>raw</literal> o
- <literal>seqpacket</literal>. <literal>stream</literal>
- se debe utilizar obligatoriamente para d&aelig;mones orientados
- a conexión (d&aelig;mones TCP) mientras que
- <literal>dgram</literal> se utiliza en d&aelig;mones basados en
- el protocolo de transporte UDP.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>protocol</term>
-
- <listitem>
- <para>Uno de los siguientes:</para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Protocolo</entry>
- <entry>Explicación</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>tcp, tcp4</entry>
- <entry>TCP IPv4</entry>
- </row>
- <row>
- <entry>udp, udp4</entry>
- <entry>UDP IPv4</entry>
- </row>
- <row>
- <entry>tcp6</entry>
- <entry>TCP IPv6</entry>
- </row>
- <row>
- <entry>udp6</entry>
- <entry>UDP IPv6</entry>
- </row>
- <row>
- <entry>tcp46</entry>
- <entry>TCP IPv4 e IPv6 al mismo tiempo</entry>
- </row>
- <row>
- <entry>udp46</entry>
- <entry>UDP IPv4 e IPv6 al mismo tiempo</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>{wait|nowait}[/max-child[/max-connections-per-ip-per-minute]]</term>
-
- <listitem>
- <para><option>wait|nowait</option> indica si el d&aelig;mon puede
- gestionar su propio <quote>socket</quote> o no. Los <quote>
- sockets</quote> de tipo <option>dgram</option> deben utilizar
- obigatoriamente la opción <option>wait</option> mientras
- que los d&aelig;mones basados en <quote>sockets</quote> de tipo
- <quote>stream</quote>, los cuales se implementan normalmente
- mediante hilos, debería utilizar la opción
- <option>nowait</option>. La opción
- <option>wait</option> normalmente entrega varios <quote>
- sockets</quote> a un único d&aelig;mon, mientras que la
- opción <option>nowait</option> lanza un d&aelig;mon
- <quote>hijo</quote> por cada nuevo <quote>
- socket</quote>.</para>
-
- <para>El número máximo de d&aelig;mones <quote>
- hijo</quote> que puede lanzar
- <application>inetd</application> se puede especificar mediante
- la opción <option>max-child</option>. Si se necesita por
- ejemplo un límite de diez instancias para un d&aelig;mon
- en particular se puede especificar el valor
- <literal>10</literal> justo después de la opción
- <option>nowait</option>.</para>
-
- <para>Además de <option>max-child</option> se puede activar
- otra opción para limitar en número máximo de
- conexiones que se aceptan desde un determinado lugar mediante la
- opción
- <option>max-connections-per-ip-per-minute</option>.
- Esta opción hace justo lo que su nombre indica. Un
- valor de, por ejemplo, diez en esta opción
- limitaría cualquier máquina remota a un
- máximo de diez intentos de conexión por
- minuto. Esto resulta útil para prevenir un consumo
- incontrolado de recursos y ataques de Denegación de
- Servicio (<quote>Denial of Service</quote> o DoS) sobre nuestra
- máquina.</para>
-
- <para>Cuando se especifica este campo las opciones
- <option>wait</option> o <option>nowait</option> son
- obligatorias <option>max-child</option> y
- <option>max-connections-per-ip-per-minute</option> son
- opcionales.</para>
-
- <para>Un d&aelig;mon de tipo <quote>stream</quote> sin la
- opción <option>max-child</option> y sin la opción
- <option>max-connections-per-ip-per-minute</option>
- simplemente especificaría la opción
- <literal>nowait</literal>.</para>
-
- <para>El mismo d&aelig;mon con el límite máximo de
- diez d&aelig;mones <quote>hijos</quote> sería:
- <literal>nowait/10</literal>.</para>
-
- <para>La misma configuración con un límite
- de veinte conexiones por dirección IP por minuto y un
- máximo total de diez d&aelig;mones <quote>hijos</quote>
- sería:
- <literal>nowait/10/20</literal>.</para>
-
- <para>Todas estas opciones son utilizadas por el d&aelig;mon
- <application>fingerd</application> que se muestra a
- continuación a modo de ejemplo:</para>
-
- <programlisting>finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s</programlisting>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>user</term>
-
- <listitem>
- <para>Este es el nombre de usuario con el que debería
- ejecutarse un determinado d&aelig;mon. Normalmente los
- d&aelig;mones se suelen ejectar con permisos de
- <systemitem class="username">root</systemitem>. Por motivos de seguridad, resulta
- bastante común encontrarse con algunos servidores que se
- ejecutan bajo el usuario <systemitem class="username">daemon</systemitem> o incluso
- por el usuario menos privilegiado de todos que es el usuario
- <systemitem class="username">nobody</systemitem>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>server-program</term>
-
- <listitem>
- <para>La ruta completa de la localización del d&aelig;mon
- que se quiere ejecutar cuando se recibe un intento de
- conexión. Si el d&aelig;mon es un servicio
- proporcionado por el propio <application>inetd</application> se
- debe utilizar la opcion <option>internal</option> en su
- lugar.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>server-program-arguments</term>
-
- <listitem>
- <para>Esto funciona en conjunción con
- <option>server-program</option>, ya que especifica los
- argumentos, comenzando por
- <literal>argv[0]</literal>, que se pasan al d&aelig;mon
- cuando se le invoca. Si la línea de órdenes es
- <command>mydaemon -d</command>, <literal>mid&aelig;mon
- -d</literal> debería ser el valor de la opción
- <option>server-program-arguments</option>. Si el
- d&aelig;mon es un servicio interno se debe utilizar la
- utilizar la opción <option>internal</option> en lugar de
- la que estamos comentando.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
-
- <sect2 xml:id="network-inetd-security">
- <title>Seguridad</title>
-
- <para>Dependiendo del perfil de seguridad establecido cuando se
- instaló el sistema &os; varios d&aelig;mones de
- <application>inetd</application> pueden estar desactivados o
- activados. Si no se necesita un d&aelig;mon determinado, <emphasis>
- no lo active</emphasis>. Especifique un <quote>#</quote> al
- comienzo de la línea del d&aelig;mon que quiere desactivar y
- envíe una señal <link linkend="network-inetd-hangup">hangup</link> a
- <application>inetd</application>. No se aconseja ejecutar algunos
- d&aelig;mones determinados (un caso típico es
- <application>fingerd</application>) porque pueden proporcionar
- información valiosa para un atacante.</para>
-
- <para>Algunos d&aelig;mones no presentan ninguna característica de
- seguridad y poseen grandes o incluso no poseen tiempos de
- expiración para los intentos de conexión. Esto permite
- que un atacante sature los recursos de nuestra máquina
- realizando intentos de conexión a una tasa relativamente baja
- contra uno de estos ingenuos d&aelig;mones. Pueder ser una buena
- idea protegerse de esto utilizando las opciones
- <option>max-connections-per-ip-per-minute</option> y <option>
- max-child</option> para este tipo de d&aelig;mones.</para>
-
- <para>El recubrimiento de TCP está activado por defecto tal y como
- ya se ha comentado anteriormente. Consulte la página
- del manual de &man.hosts.access.5; para obtener más
- información sobre cómo aplicar restricciones
- relacionadas con TCP a los d&aelig;mones invocados por
- <application>inetd</application>.</para>
- </sect2>
-
- <sect2 xml:id="network-inetd-misc">
- <title>Varios</title>
-
- <para><application>daytime</application>,
- <application>time</application>,
- <application>echo</application>,
- <application>discard</application>,
- <application>chargen</application> y
- <application>auth</application> son servicios que
- <application>inetd</application> proporciona de forma
- interna y propia.</para>
-
- <para>El servicio <application>auth</application> proporciona
- servicios de identificación a través de la red
- (<application>ident</application>,
- <application>identd</application>) y se puede configurar
- hasta en cierto grado.</para>
-
- <para>Consulte la página del manual de &man.inetd.8; si quiere
- conocer todos los detalles.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-plip">
- <title>Línea IP paralela (PLIP)</title>
-
- <indexterm><primary>PLIP</primary></indexterm>
- <indexterm><primary>Parallel Line IP</primary></indexterm>
-
- <para>PLIP nos permite configurar TCP/IP a través del puerto
- paralelo. Es útil para conectar máquinas que no poseen
- tarjetas de red, o para instalar &os; en ciertos viejos modelos de
- portátiles. En esta sección se explica lo
- siguiente:</para>
-
- <itemizedlist>
- <listitem>
- <para>Construcción de un cable paralelo (laplink).</para>
- </listitem>
-
- <listitem>
- <para>Conexión de dos computadores utilizando PLIP.</para>
- </listitem>
- </itemizedlist>
-
- <sect2 xml:id="network-create-parallel-cable">
- <title>Construcción de un cable paralelo</title>
-
- <para>Se puede comprar un cable paralelo en cualquier tienda de
- componentes informáticos. No obstante si no es posible
- comprarlo o simplemente queremos saber cómo hacerlo
- nosotros mismos, en la siguiente tabla mostramos como hacer un cable
- de impresora paralelo.</para>
-
- <table>
- <title>Cableado de una conexión de cable paralelo para redes</title>
-
- <tgroup cols="5">
- <thead>
- <row>
- <entry>Nombre-A</entry>
-
- <entry>Extremo-A</entry>
-
- <entry>Extremo-B</entry>
-
- <entry>Descr.</entry>
-
- <entry>Post/Bit</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literallayout>DATA0
--ERROR</literallayout></entry>
-
- <entry><literallayout>2
-15</literallayout></entry>
-
- <entry><literallayout>15
-2</literallayout></entry>
-
- <entry>Data</entry>
-
- <entry><literallayout>0/0x01
-1/0x08</literallayout></entry>
- </row>
-
- <row>
- <entry><literallayout>DATA1
-+SLCT</literallayout></entry>
-
- <entry><literallayout>3
-13</literallayout></entry>
-
- <entry><literallayout>13
-3</literallayout></entry>
-
- <entry>Data</entry>
-
- <entry><literallayout>0/0x02
-1/0x10</literallayout></entry>
- </row>
-
- <row>
- <entry><literallayout>DATA2
-+PE</literallayout></entry>
-
- <entry><literallayout>4
-12</literallayout></entry>
-
- <entry><literallayout>12
-4</literallayout></entry>
-
- <entry>Data</entry>
-
- <entry><literallayout>0/0x04
-1/0x20</literallayout></entry>
- </row>
-
- <row>
- <entry><literallayout>DATA3
--ACK</literallayout></entry>
-
- <entry><literallayout>5
-10</literallayout></entry>
-
- <entry><literallayout>10
-5</literallayout></entry>
-
- <entry>Strobe</entry>
-
- <entry><literallayout>0/0x08
-1/0x40</literallayout></entry>
- </row>
-
- <row>
- <entry><literallayout>DATA4
-BUSY</literallayout></entry>
-
- <entry><literallayout>6
-11</literallayout></entry>
-
- <entry><literallayout>11
-6</literallayout></entry>
-
- <entry>Data</entry>
-
- <entry><literallayout>0/0x10
-1/0x80</literallayout></entry>
- </row>
-
- <row>
- <entry>GND</entry>
-
- <entry>18-25</entry>
-
- <entry>18-25</entry>
-
- <entry>GND</entry>
-
- <entry>-</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect2>
-
- <sect2 xml:id="network-plip-setup">
- <title>Configuración de PLIP</title>
-
- <para>En primer lugar debemos tener en nuesras manos un cable <quote>
- laplink</quote>. A continuación se debe comprobar que ambos
- sistemas poseen núcleos con soporte para el controlador
- &man.lpt.4;:</para>
-
- <screen>&prompt.root; <userinput>grep lp /var/run/dmesg.boot</userinput>
-lpt0: &lt;Printer&gt; on ppbus0
-lpt0: Interrupt-driven port</screen>
-
- <para>El puerto paralelo debe ser un puerto controlado por alguna <quote>
- irq</quote>. En &os;&nbsp;4.X se debería tener un línea
- como la siguiente en el fichero de configuración del
- kernel:</para>
-
- <programlisting>device ppc0 at isa? irq 7</programlisting>
-
- <para>En &os;&nbsp;5.X el fichero
- <filename>/boot/device.hints</filename> debe contener las siguientes
- líneas:</para>
-
- <programlisting>hint.ppc.0.at="isa"
-hint.ppc.0.irq="7"</programlisting>
-
- <para>A continuación se debe comprobar que el fichero de
- configuración del núcleo posee una línea con
- <literal>device plip</literal> o también puede
- comprobar si se ha cargado el módulo del núcleo
- <filename>plip.ko</filename>. Tanto en un caso como en el otro, cuando
- se ejecute &man.ifconfig.8; debería aparecer el interfaz de
- red paralelo. En &os;&nbsp;4.X se muestra algo parecido a
- lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>ifconfig lp0</userinput>
-lp0: flags=8810&lt;POINTOPOINT,SIMPLEX,MULTICAST&gt; mtu 1500</screen>
-
- <para>y en &os;&nbsp;5.X:</para>
-
- <screen>&prompt.root; <userinput>ifconfig plip0</userinput>
-plip0: flags=8810&lt;POINTOPOINT,SIMPLEX,MULTICAST&gt; mtu 1500</screen>
-
- <note><para>El nombre del dispositivo utilizado para la interfaz
- paralela es distinto en &os;&nbsp;4.X
- (<filename>lpX</filename>)
- y en &os;&nbsp;5.X
- (<filename>plipX</filename>).</para></note>
-
- <para>Enchufe el cable <quote>laplink</quote> en los interfaces de ambos
- computadores.</para>
-
- <para>Configure los parámetros de la interfaz de red en ambas
- máquinas como <systemitem class="username">root</systemitem>. Por ejemplo, si
- queremos conectar la máquina <systemitem>host1</systemitem>
- ejecutando &os;&nbsp;4.X con la máquina
- <systemitem>host2</systemitem> que ejecuta &os;&nbsp;5.X:</para>
-
- <programlisting> host1 &lt;-----&gt; host2
-Dirección IP 10.0.0.1 10.0.0.2</programlisting>
-
- <para>Configure la interfaz de <systemitem>host1</systemitem> así:</para>
-
- <screen>&prompt.root; <userinput>ifconfig lp0 10.0.0.1 10.0.0.2</userinput></screen>
-
- <para>Configure la interfaz de <systemitem>host2</systemitem> por medio de:</para>
-
- <screen>&prompt.root; <userinput>ifconfig plip0 10.0.0.2 10.0.0.1</userinput></screen>
-
-
- <para>Tras esto debería disponerse de una conexión
- totalmente funcional. Por favor, consulte &man.lp.4; y &man.lpt.4;
- si quiere saber más.</para>
-
- <para>Además se debe añadir ambas máquinas al
- fichero <filename>/etc/hosts</filename>:</para>
-
- <programlisting>127.0.0.1 localhost.mi.dominio localhost
-10.0.0.1 host1.mi.dominio host1
-10.0.0.2 host2.mi.dominio</programlisting>
-
- <para>Para comprobar que efectivamente la conexión funciona se
- puede probar a hacer un ping desde cada máquina. Por
- ejemplo en la máquina <systemitem>host1</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>ifconfig lp0</userinput>
-lp0: flags=8851&lt;UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet 10.0.0.1 --&gt; 10.0.0.2 netmask 0xff000000
-&prompt.root; <userinput>netstat -r</userinput>
-Routing tables
-
-Internet:
-Destination Gateway Flags Refs Use Netif Expire
-host2 host1 UH 0 0 lp0
-&prompt.root; <userinput>ping -c 4 host2</userinput>
-PING host2 (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
-
---- host2 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</screen>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-ipv6">
- <info><title>IPv6</title>
- <authorgroup>
- <author><personname><firstname>Aaron</firstname><surname>Kaplan</surname></personname><contrib>Texto original de </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Reestructurado y ampliado por </contrib></author>
- </authorgroup>
- </info>
-
-
- <para>IPv6 (también conocido como IPng o <quote>IP de nueva
- generación</quote>) es la nueva versión del conocido
- protocolo de red IP, tambíen llamado IPv4. Como sucede con el
- resto de los sistemas *BSD &os; proporciona una implementación
- de referencia que desarrolla el proyecto japonés
- <acronym>KAME</acronym>. &os; dispone de todo lo necesario para
- experimentar con el nuevo protocolo de red. Esta sección se
- centra en conseguir configurar y ejecutar correctamente el protocolo
- IPv6.</para>
-
- <para>Al comienzo de los años 90 la gente comenzó a
- preocuparse por el rápido consumo del espacio de direcciones
- de IPv4. Dada la expansión actual de Internet existen dos
- preocupaciones principales:</para>
-
- <itemizedlist>
- <listitem>
- <para>Agotamiento de las direcciones disponibles. Actualmente
- no se trata del principal problema debido al uso generalizado del
- del espacio de direccionamiento privado
- (<systemitem class="ipaddress">10.0.0.0/8</systemitem>,
- <systemitem class="ipaddress">192.168.0.0/24</systemitem>, etc.) junto con
- <acronym>NAT</acronym>.</para>
- </listitem>
-
- <listitem>
- <para>El número de entradas de las tablas de rutas comenzaba a
- ser imposible de manejar. Esto todavia es un problema
- prioritario.</para>
- </listitem>
- </itemizedlist>
-
- <para>IPv6 trata de resolver estos problemas y algunos más de la
- siguiente forma:</para>
-
- <itemizedlist>
- <listitem>
- <para>IPv6 posee un espacio de direccionamiento de 128 bits. En otras
- palabras, en teoría existen
- 340,282,366,920,938,463,463,374,607,431,768,211,456
- direcciones disponibles. Esto significa que existen
- aproximadamente 6.67 * 10^27 direcciones IPv6 por metro cuadrado
- disponibles para todo el planeta Tierra.</para>
- </listitem>
-
- <listitem>
- <para>Los <quote>routers</quote> sólo almacenan direcciones de
- red agregadas así que se reduce el número de entradas
- para cada tabla de rutas a un promedio de 8192.</para>
- </listitem>
- </itemizedlist>
-
- <para>Existen además muchas otras caracterísiticas
- interesantes que IPv6 proporciona, como:</para>
-
- <itemizedlist>
- <listitem>
- <para>Autoconfiguración de direcciones (<link xlink:href="http://www.ietf.org/rfc/rfc2462.txt">RFC2462</link>)</para>
- </listitem>
-
- <listitem>
- <para>Direcciones anycast (<quote>una-de-varias</quote>)</para>
- </listitem>
-
- <listitem>
- <para>Soporte de direcciones multicast predefinido</para>
- </listitem>
-
- <listitem>
- <para>IPsec (Seguridad en IP)</para>
- </listitem>
-
- <listitem>
- <para>Estructura de la cabecera simplificada</para>
- </listitem>
-
- <listitem>
- <para>IP móvil</para>
- </listitem>
-
- <listitem>
- <para>Mecanismos de traducción de IPv6 a IPv4 (y viceversa)</para>
- </listitem>
- </itemizedlist>
-
-
- <para>Si quiere saber más sobre IPv6 le recomendamos que
- consulte:</para>
-
- <itemizedlist>
- <listitem>
- <para>Resumen de IPv6 en <link xlink:href="http://playground.sun.com/pub/ipng/html/ipng-main.html">playground.sun.com</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.kame.net">KAME.net</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.6bone.net">6bone.net</link></para>
- </listitem>
- </itemizedlist>
-
- <sect2>
- <title>Conceptos básicos sobre las direcciones IPv6</title>
-
- <para>Existen varios tipos distintos de direcciones IPv6: Unicast,
- Anycast y Multicast.</para>
-
- <para>Las direcciones unicast son direcciones bien conocidas. Un
- paquete que se envía a una dirección unicast
- deberín llega a la interfaz identificada por dicha
- dirección.</para>
-
- <para>Las direcciones anycast son sintácticamente indistinguibles
- de las direcciones unicast pero sirven para identificar a un
- <emphasis>conjunto</emphasis> de interfaces. Un paquete destinado a
- una dirección anycast llega a la interfaz
- <quote>más cercana</quote> (en términos de
- métrica de <quote>routers</quote>). Las direcciones anycast
- sólo se pueden utilizar en <quote>routers</quote>.</para>
-
- <para>Las direcciones multicast identifican un grupo de interfaces.
- Un paquete destinado a una dirección multicast llega a todos los
- los interfaces que se encuentran agrupados bajo dicha
- dirección.</para>
-
- <note><para>Las direcciones IPv4 de tipo broadcast
- (normalmente <systemitem class="ipaddress">xxx.xxx.xxx.255</systemitem>) se expresan en
- IPv6 mediante direcciones multicast.</para></note>
-
- <table>
- <title>Direcciones IPv6 reservadas</title>
-
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Dirección IPv6</entry>
- <entry>Longitud del Prefijo (Bits)</entry>
- <entry>Descripción</entry>
- <entry>Notas</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><systemitem>::</systemitem></entry>
- <entry>128 bits</entry>
- <entry>sin especificar</entry>
- <entry>como <systemitem class="ipaddress">0.0.0.0</systemitem> en Pv4</entry>
- </row>
-
- <row>
- <entry><systemitem>::1</systemitem></entry>
- <entry>128 bits</entry>
- <entry>dirección de bucle local (loopback)</entry>
- <entry>como las <systemitem class="ipaddress">127.0.0.1</systemitem> en
- IPv4</entry>
- </row>
-
- <row>
- <entry><systemitem>::00:xx:xx:xx:xx</systemitem></entry>
- <entry>96 bits</entry>
- <entry>direcciónes IPv6 compatibles con IPv4</entry>
- <entry>Los 32 bits más bajos contienen una
- dirección IPv4. También se denominan direcciones
- <quote>empotradas.</quote></entry>
- </row>
-
- <row>
- <entry><systemitem>::ff:xx:xx:xx:xx</systemitem></entry>
- <entry>96 bits</entry>
- <entry>direcciones IPv6 mapeadas a IPv4</entry>
- <entry>Los 32 bits más bajos contienen una
- dirección IPv4. Se usan para representar direcciones
- IPv4 mediante direcciones IPv6.</entry>
- </row>
-
- <row>
- <entry><systemitem>fe80::</systemitem> -
- <systemitem>feb::</systemitem></entry>
- <entry>10 bits</entry>
- <entry>direcciones link-local</entry>
- <entry>equivalentes a la dirección de loopback de
- IPv4</entry>
- </row>
-
- <row>
- <entry><systemitem>fec0::</systemitem> -
- <systemitem>fef::</systemitem></entry>
- <entry>10 bits</entry>
- <entry>direcciones site-local</entry>
- <entry>Equivalentes al direccionamiento privado de IPv4</entry>
- </row>
-
- <row>
- <entry><systemitem>ff::</systemitem></entry>
- <entry>8 bits</entry>
- <entry>multicast</entry>
- <entry>&nbsp;</entry>
- </row>
-
- <row>
- <entry><systemitem>001</systemitem> (base
- 2)</entry>
- <entry>3 bits</entry>
- <entry>direcciones unicast globales</entry>
- <entry>Todas las direcciones IPv6 globales se asignan a partir de
- este espacio. Los primeros tres bits siempre son
- <quote>001</quote>.</entry>
-
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect2>
-
- <sect2>
- <title>Lectura de las direcciones IPv6</title>
- <para>La forma canónica que se utiliza para representar
- direcciones IPv6 es: <systemitem>x:x:x:x:x:x:x:x</systemitem>, donde cada
- <quote>x</quote> se considera un valor hexadecimal de 16 Bit.
- Por ejemplo
- <systemitem>FEBC:A574:382B:23C1:AA49:4592:4EFE:9982</systemitem></para>
-
- <para>A menudo una dirección posee alguna subcadena de varios
- ceros consecutivos de forma que se puede abreviar dicha cadena
- (sólo una vez, para evitar ambigúedades) mediante
- <quote>::</quote>. También se pueden omitir los ceros a la
- ceros a la izquierda dentro de un valor
- <quote>x</quote>. Por ejemplo
- <systemitem>fe80::1</systemitem> se corresponde con la forma
- canónica
- <systemitem>fe80:0000:0000:0000:0000:0000:0000:0001</systemitem>.</para>
-
- <para>Una tercera forma de escribir direciones IPv6 es utilizando la
- ya tradicional notación decimal de IPv4 pero
- sólamente para los 32 bits más bajos de la
- dirección IPv6. Por ejemplo
- <systemitem>2002::10.0.0.1</systemitem> se correspondería
- con la representation hexadecimal canónica
- <systemitem>2002:0000:0000:0000:0000:0000:0a00:0001</systemitem>
- la cual es equivalente también a escribir <systemitem>2002::a00:1</systemitem>.</para>
-
-
- <para>A estas alturas el lector debería ser capaz de comprender
- lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>ifconfig</userinput></screen>
-
- <programlisting>rl0: flags=8943&lt;UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST&gt; mtu 1500
- inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
- inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1
- ether 00:00:21:03:08:e1
- media: Ethernet autoselect (100baseTX )
- status: active</programlisting>
-
- <para><systemitem>fe80::200:21ff:fe03:8e1%rl0</systemitem>
- es una dirección link-local autoconfigurada. Se construye a
- partir de la dirección MAC de la tarjeta de red.</para>
-
- <para>Si quiere saber más sobre la estructura de las
- direcciones IPv6 puede consultar <link xlink:href="http://www.ietf.org/rfc/rfc3513.txt">RFC3513</link>.</para>
- </sect2>
-
- <sect2>
- <title>Establecimiento de conectividad</title>
-
- <para>Actualmente existen cuatro formas distintas de conectarse
- con otras máquinas y redes IPv6:</para>
-
- <itemizedlist>
- <listitem>
- <para>Unirse a la red experimental denominada 6bone</para>
- </listitem>
-
- <listitem>
- <para>Obtener una red IPv6 a través de nuestro proveedor de
- acceso a Internet. Consulte a su proveedor de servicios para
- para más información.</para>
- </listitem>
-
- <listitem>
- <para>Encapsulación de IPv6 sobre IPv4 (<link xlink:href="http://www.ietf.org/rfc/rfc3068.txt">RFC3068</link>)</para>
- </listitem>
-
- <listitem>
- <para>Utilización del <quote>port</quote> <package>net/freenet6</package> si se dispone de una
- de una conexión de marcación por modem.</para>
- </listitem>
- </itemizedlist>
-
- <para>Vamos a explicar cómo conectarse al 6bone ya que parece ser
- la forma más utilizada en la actualidad.</para>
-
- <para>En primer lugar se recomienda consultar el sitio web de
- <link xlink:href="http://www.6bone.net/">6bone</link> para saber
- cuál es la conexión del 6bone (físicamente)
- más próxima. Se debe escribir a la persona responsable
- de ese nodo y con un poco de suerte dicha persona responderá con
- con un conjunto de instrucciones y pasos a seguir para establecer la
- la conexión con ellos y a través de ellos con el resto
- de los nodos IPv6 que forman parte del 6bone. Normalmente esta
- conexión se establece usando túneles GRE (gif).</para>
-
- <para>Veamos un ejemplo típico de configuración de un
- de un túnel &man.gif.4;:</para>
-
- <screen>&prompt.root; <userinput>ifconfig gif0 create</userinput>
-&prompt.root; <userinput>ifconfig gif0</userinput>
-gif0: flags=8010&lt;POINTOPOINT,MULTICAST&gt; mtu 1280
-&prompt.root; <userinput>ifconfig gif0 tunnel MI_DIRECCIÓn_IPV4 SU_DIRECCIÓn_IPV4</userinput>
-&prompt.root; <userinput>ifconfig gif0 inet6 alias DIRECCIÓn_DE-SALIDA_IPv6_DEL_TÚNEL_ASIGNADO</userinput></screen>
-
- <para>Sustituya las palabras en mayúsculas por la
- información recibida del nodo 6bone al que nos queremos
- conectar.</para>
-
- <para>La orden anterior establece el túnel. Compruebe que el
- túnel funciona correctamente mediante &man.ping.8;.
- Haga un &man.ping6.8; a <systemitem>ff02::1%gif0</systemitem>. Deberíamos recibir
- recibir <quote>dos</quote> respuestas.</para>
-
- <note><para>Para que el lector no se quede pensando en el significado
- significado de la dirección <systemitem>ff02:1%gif0</systemitem> le podemos decir que se trata de
- de una dirección IPv6 multicast de tipo link-local.
- <literal>%gif0</literal> no forma parte del protocolo IPv6 como tal
- sino que se trata de un detalle de implementación relacionado
- con las direcciones link-local y se añade para especificar la
- interfaz de salida que se debe utilizar para enviar los paquetes de
- &man.ping6.8;. Como estamos haciendo ping a una dirección
- multicast a la que se unen todos los interfaces pertenecientes al
- mismo enlace debería responder al ping tanto nuestro propio
- interfaz como el interfaz remoto.</para></note>
-
- <para>A continuación se configura la ruta por defecto hacia
- nuestro enlace 6bone; observe que es muy semejante a lo que hay que
- hacer en IPv4:</para>
-
- <screen>&prompt.root; <userinput>route add -inet6 default -interface gif0</userinput>
-&prompt.root; <userinput>ping6 -n MI_UPLINK</userinput></screen>
-
- <screen>&prompt.root; <userinput>traceroute6 www.jp.FreeBSD.org</userinput>
-(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets
- 1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms
- 2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms *
- 3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms
- 4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms
- 5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms
- 6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms</screen>
-
- <para>Esta captura de pantalla variará dependiendo de la
- localización de la máquina. Tras seguir estos pasos
- deberíamos poder alcanzar el sitio IPv6 de <link xlink:href="http://www.kame.net">www.kame.net</link> y ver la tortuga
- bailarina, que es una imagen animada que sólo se muestra cuando
- se accede al servidor web utilizando el protocolo IPv6 (para
- ellos se encesita utilizar un navegador web que soporte IPv6,
- IPv6, por ejemplo <package>www/mozilla</package> o
- <application>Konqueror</application>, que forma parte de
- <package>x11/kdebase3</package>, o también
- con <package>www/epiphany</package>.</para>
-
- </sect2>
-
- <sect2>
- <title>DNS en el mundo IPv6</title>
-
- <para>Existen dos tipos de registros de DNS para IPv6. No
- obstante el IETF ha declarado los registros A6 y CNAME como registros
- para uso experimental. Los registros de tipo AAAA son los
- únicos estandar a día de hoy.</para>
-
- <para>La utilización de registros de tipo AAAA es muy
- sencilla. Se asocia el nombre de la máquina con la
- dirección IPv6 de la siguiente forma:</para>
-
- <programlisting>NOMBREDEMIMÁQUINA AAAA MIDIRECCIÓNIPv6</programlisting>
-
- <para>De igual forma que en IPv4 se utilizan los registros de tipo
- A. En caso de no poder administrar su propia zona de
- <acronym>DNS</acronym> se puede pedir esta configuración a su
- proveedor de servicios. Las versiones actuales de
- <application>bind</application> (versiones 8.3 y 9) y el
- <quote>port</quote> <package>dns/djbdns</package>
- (con el parche de IPv6 correspondiente) soportan los registros de tipo
- AAAA.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-atm">
- <info><title>ATM en &os;&nbsp;5.X</title>
- <authorgroup>
- <author><personname><firstname>Harti</firstname><surname>Brandt</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect2>
- <title>Configuración de IP clásico sobre ATM (PVCs)</title>
-
- <para>IP clásico sobre ATM (<acronym>CLIP</acronym>) es el
- método más sencillo de utilizar ATM con IP. Se puede
- utilizar con conexiones conmutadas (SVC) y con conexiones
- permanentes (PVCs). En esta sección se describe cómo
- configurar una red basada en PVCs.</para>
-
- <sect3>
- <title>Configuraciones en red mallada completa</title>
-
- <para>El primer método para configurar <acronym>CLIP</acronym>
- con PVCs consiste en conectar unas máquinas con otras mediante
- circuitos PVC dedicados. Aunque la configuración parece
- sencilla llega a resultar imposible de manejar cuando se posee un
- número grande de máquinas. El ejemplo que se muestra
- a continuación supone que nuestra red posee cuatro
- máquinas y que cada una se conecta a la red ATM mediante una
- tarjeta de red ATM. El primer paso consiste en planificar las
- direcciones IP y las conexiones ATM que se van a configurar en las
- máquinas.</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="1*"/>
- <thead>
- <row>
- <entry>Máquina</entry>
- <entry>Dirección IP</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><systemitem>hostA</systemitem></entry>
- <entry><systemitem class="ipaddress">192.168.173.1</systemitem></entry>
- </row>
-
- <row>
- <entry><systemitem>hostB</systemitem></entry>
- <entry><systemitem class="ipaddress">192.168.173.2</systemitem></entry>
- </row>
-
- <row>
- <entry><systemitem>hostC</systemitem></entry>
- <entry><systemitem class="ipaddress">192.168.173.3</systemitem></entry>
- </row>
-
- <row>
- <entry><systemitem>hostD</systemitem></entry>
- <entry><systemitem class="ipaddress">192.168.173.4</systemitem></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Para construir una red completamente mallada necesitamos una
- conexión ATM entre cada par de máquinas:</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="1*"/>
- <thead>
- <row>
- <entry>Máquinas</entry>
- <entry>Pareja VPI.VCI</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><systemitem>hostA</systemitem> - <systemitem>hostB</systemitem></entry>
- <entry>0.100</entry>
- </row>
-
- <row>
- <entry><systemitem>hostA</systemitem> - <systemitem>hostC</systemitem></entry>
- <entry>0.101</entry>
- </row>
-
- <row>
- <entry><systemitem>hostA</systemitem> - <systemitem>hostD</systemitem></entry>
- <entry>0.102</entry>
- </row>
-
- <row>
- <entry><systemitem>hostB</systemitem> - <systemitem>hostC</systemitem></entry>
- <entry>0.103</entry>
- </row>
-
- <row>
- <entry><systemitem>hostB</systemitem> - <systemitem>hostD</systemitem></entry>
- <entry>0.104</entry>
- </row>
-
- <row>
- <entry><systemitem>hostC</systemitem> - <systemitem>hostD</systemitem></entry>
- <entry>0.105</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Los valores VPI y VCI en cada extremo de la conexión
- pueden ser diferentes pero por simplicidad suponemos que son
- iguales. A continuación necesitamos configurar las
- interfaces ATM en cada máquina:</para>
-
- <screen>hostA&prompt.root; ifconfig hatm0 192.168.173.1 up
-hostB&prompt.root; ifconfig hatm0 192.168.173.2 up
-hostC&prompt.root; ifconfig hatm0 192.168.173.3 up
-hostD&prompt.root; ifconfig hatm0 192.168.173.4 up</screen>
-
- <para>Suponiendo que la interfaz ATM es
- <filename>hatm0</filename> en todas las máquinas. Ahora
- necesitamos configurar los PVCs en las máquinas (suponemos que
- ya se han configurado de forma correcta en el <quote>switch</quote>
- ATM, para lo cual puede ser necesario consultar el manual del
- <quote>switch</quote>).</para>
-
- <screen>hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
-hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
-hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr
-
-hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
-hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
-hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr
-
-hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
-hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
-hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr
-
-hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
-hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
-hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr</screen>
-
- <para>Por supuesto que se pueden utilizar otras especificaciones
- de tráfico siempre y cuando las tarjetas de red las
- soporten. En este caso la especificación del tipo de
- tráfico se completa con los parámetros del
- tráfico. Puede acceder a la ayuda de &man.atmconfig.8;
- así:</para>
-
- <screen>&prompt.root; <userinput>atmconfig help natm add</userinput></screen>
-
- <para>y por supuesto en la página de manual de
- &man.atmconfig.8;.</para>
-
- <para>Se puede crear la misma configuración utilizando el
- fichero <filename>/etc/rc.conf</filename>. Para la máquina
- <systemitem>hostA</systemitem> sería algo así:</para>
-
-<programlisting>network_interfaces="lo0 hatm0"
-ifconfig_hatm0="inet 192.168.173.1 up"
-natm_static_routes="hostB hostC hostD"
-route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr"
-route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr"
-route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"</programlisting>
-
- <para>El estado de todas las rutas
- <acronym>CLIP</acronym> se puede obtener en todo momento
- con:</para>
-
- <screen>hostA&prompt.root; <userinput>atmconfig natm show</userinput></screen>
- </sect3>
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/audit/chapter.xml b/es_ES.ISO8859-1/books/handbook/audit/chapter.xml
deleted file mode 100644
index 92c9ec56b6..0000000000
--- a/es_ES.ISO8859-1/books/handbook/audit/chapter.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- $FreeBSD$
-
-
-
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/audit/chapter.xml
- %SRCID% 0.0
-
-
-
-Need more documentation on praudit, auditreduce, etc. Plus more info
-on the triggers from the kernel (log rotation, out of space, etc).
-And the /dev/audit special file if we choose to support that. Could use
-some coverage of integrating MAC with Event auditing and perhaps discussion
-on how some companies or organizations handle auditing and auditing
-requirements. -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="audit">
- <info><title>Auditoría de eventos de seguridad</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- <author><personname><firstname>Robert</firstname><surname>Watson</surname></personname></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml:id="audit-synopsis">
- <title>*</title>
-
- <indexterm><primary>AUDIT</primary></indexterm>
- <indexterm>
- <primary>Auditoría de eventos de seguridad</primary>
- <see>MAC</see>
- </indexterm>
-
- <para>Pendiente de traducción.</para>
-
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/basics/chapter.xml b/es_ES.ISO8859-1/books/handbook/basics/chapter.xml
deleted file mode 100755
index f64860e325..0000000000
--- a/es_ES.ISO8859-1/books/handbook/basics/chapter.xml
+++ /dev/null
@@ -1,2999 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/basics/chapter.xml
- %SRCID% 1.154
-
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="basics">
- <info><title>Conceptos básicos de Unix</title>
- <authorgroup>
- <author><personname><firstname>Chris</firstname><surname>Shumway</surname></personname><contrib>Reescrito por </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <sect1 xml:id="basics-synopsis">
- <title>Sinopsis</title>
-
- <para>El siguiente capítulo comprende la funcionalidad y
- órdenes básicas del sistema operativo &os;.
- Gran parte de este material es relevante para cualquier sistema
- operativo tipo &unix;.
- Puede saltarse este capítulo si considera que ya conoce
- el funcionamiento de &unix;.
- Si no tiene experiencia previa con &os; debería leer este
- capítulo con mucha atención.</para>
-
- <para>Después de leer este capítulo, usted
- sabrá:</para>
-
- <itemizedlist>
- <listitem>
- <para>Cómo usar las «consolas virtuales» de
- FreeBSD.</para>
- </listitem>
- <listitem>
- <para>Cómo funcionan los permisos de fichero &unix; en
- relación con las banderas de fichero en &os;.</para>
- </listitem>
- <listitem>
- <para>La disposición de sistemas de ficheros por
- omisión en &os;.</para>
- </listitem>
- <listitem>
- <para>La organización de disco de &os;.</para>
- </listitem>
- <listitem>
- <para>Cómo montar y desmontar sistemas de ficheros.</para>
- </listitem>
- <listitem>
- <para>Qué son los procesos, d&aelig;mons y señales.</para>
- </listitem>
- <listitem>
- <para>Qué es una shell, cómo modificar sus variables
- de entorno por omisión.</para>
- </listitem>
- <listitem>
- <para>Cómo utilizar editores de texto básicos.</para>
- </listitem>
- <listitem>
- <para>Qué son los dispositivos y nodos de dispositivos.</para>
- </listitem>
- <listitem>
- <para>Qué formato binario se usa en &os;.</para>
- </listitem>
- <listitem>
- <para>Cómo buscar información en las páginas
- de manual.</para>
- </listitem>
- </itemizedlist>
-
- </sect1>
-
- <sect1 xml:id="consoles">
- <title>Consolas virtuales y terminales</title>
- <indexterm><primary>consola virtual</primary></indexterm>
- <indexterm><primary>terminales</primary></indexterm>
-
- <para>&os; puede utilizarse de muchas maneras. Una de ellas es
- tecleando órdenes en una terminal de texto. De este modo, mucha
- de la flexibilidad y poder de un sistema operativo &unix; está
- inmediatamente en sus manos cuando usa &os;. Esta sección
- describe qué son «terminales» y
- «consolas» y cómo puede usarlas en &os;.</para>
-
- <sect2 xml:id="consoles-intro">
- <title>La consola</title>
- <indexterm><primary>consola</primary></indexterm>
-
- <para>Si no ha configurado &os; para ejecutar automáticamente
- un entorno gráfico en el arranque, el sistema le
- presentará un «prompt» de entrada después
- del arranque, inmediatamente después de que los
- «scripts» de inicio terminen de ejecutarse.
- Verá algo similar a esto:</para>
-
- <screen>Additional ABI support:.
-Local package initialization:.
-Additional TCP options:.
-
-Fri Sep 20 13:01:06 EEST 2002
-
-FreeBSD/i386 (pc3.ejemplo.org) (ttyv0)
-
-login:</screen>
-
- <para>Los mensajes pueden ser un poco diferentes en su sistema, pero
- verá algo similar. Las últimas dos líneas son
- las que nos interesan por el momento. La penúltima línea
- dice:</para>
-
- <programlisting>FreeBSD/i386 (pc3.ejemplo.org) (ttyv0)</programlisting>
-
- <para>Esta línea contiene información
- acerca del sistema que acaba de arrancar. Esta usted ante una
- consola «FreeBSD» que se ejecuta en un procesador Intel
- o compatible de la arquitectura x86<footnote>
- <para>Esto es lo que <literal>i386</literal> significa. Tenga en
- cuenta que incluso si no está ejecutando &os; en una CPU
- Intel 386, éste va a ser <literal>i386</literal>.
- No es el tipo de su procesador, sino la
- «arquitectura» la que se muestra aquí.</para>
- </footnote>.
- El nombre de esta máquina (todas las máquinas &unix;
- tiene un nombre) es <systemitem>pc3.ejemplo.org</systemitem>, y usted
- está ahora ante su consola de sistema (la
- terminal <filename>ttyv0</filename>).</para>
-
- <para>Para acabar, la última línea siempre es:</para>
-
- <programlisting>login:</programlisting>
-
- <para>Este es el lugar donde se usted tecleará su
- «nombre de usuario» para entrar en &os;.
- La siguiente sección describe cómo hacerlo.</para>
- </sect2>
-
- <sect2 xml:id="consoles-login">
- <title>La entrada a &os;</title>
-
- <para>&os; es un sistema multiusuario multiprocesador. Esta
- es la descripción formal que se suele dar a un
- sistema que puede ser utilizado por muchas personas diferentes,
- que simultáneamente ejecutan muchos programas en un sola
- máquina.</para>
-
- <para>Cada sistema multiusuario necesita algún modo de
- distinguir a un «usuario» del resto. En &os;
- (y en todos los sistemas operativos de tipo &unix;) esto se
- logra requiriendo que cada usuario «acceda»
- al sistema antes de poder ejecutar programas. Cada usuario
- tiene un nombre único (el «nombre de usuario»)
- y una clave secreta, personal (la «contraseña»).
- &os; preguntará por ambos antes de permitirle a
- un usuario ejecutar cualquier programa.</para>
-
- <indexterm><primary>scripts de inicio</primary></indexterm>
- <para>Justo después de que &os; arranque y termine de
- ejecutar sus «scripts» de inicio
- <footnote>
- <para>Los «scripts» de inicio son programas que &os;
- ejecuta automáticamente cuando arranca. Su función
- principal es preparar todo lo necesario para que todo lo demás
- se ejecute, e iniciar cualquier servicio que tenga configurado
- para ejecutarse en segundo plano algo
- útiles.</para>
- </footnote>, le presentará un «prompt» y
- solicitará un nombre válido de usuario:</para>
-
- <screen>login:</screen>
-
- <para>En este ejemplo vamos a asumir que su nombre de
- usuario es <systemitem class="username">john</systemitem>. Teclée
- <literal>john</literal> en el «prompt» y pulse
- <keycap>Intro</keycap>. Debería presentársele un
- «prompt» donde introducir una
- «contraseña»:</para>
-
- <screen>login: <userinput>john</userinput>
-Password:</screen>
-
- <para>Teclée ahora la contraseña de <systemitem class="username">john</systemitem>
- y pulse <keycap>Enter</keycap>. La contraseña
- <emphasis>no se muestra en pantalla</emphasis>, pero no debe
- preocuparse por ello. Esto se hace así por motivos de
- seguridad.</para>
-
- <para>Si ha tecleado su contraseña correctamente ya está
- usted en un sistema &os;, listo para probar todas las
- órdenes disponibles.</para>
-
- <para>Verá el <acronym>MOTD</acronym> (mensaje del día)
- seguido por un «prompt» (un caracter <literal>#</literal>,
- <literal>$</literal> o <literal>%</literal>). Esto confirma
- que ha validado con éxito su usuario en &os;.</para>
- </sect2>
-
- <sect2 xml:id="consoles-virtual">
- <title>Consolas múltiples</title>
-
- <para>Ejecutar órdenes &unix; en una consola está bien,
- pero &os; puede ejecutar muchos programas a la vez. Tener una consola
- donde se pueden teclear órdenes puede ser un desperdicio
- cuando un sistema operativo como &os; puede ejecutar docenas de
- programas al mismo tiempo. Aquí es donde las
- «consolas virtuales» muestran su potencial.</para>
-
- <para>&os; puede configurarse para presentarle diferentes
- consolas virtuales. Puede cambiar de una de ellas a cualquier
- otra consola virtual pulsando un par de teclas en su teclado.
- Cada consola tiene su propio canal de salida, y &os;
- se ocupa de redirigir correctamente la entrada del teclado y
- la salida al monitor cuando cambia de una consola virtual a la
- siguiente.</para>
-
- <para>Se han reservado ciertas combinaciones especiales de teclas
- para pasar de unas consolas virtuales a otras en &os; <footnote>
- <para>Tiene una descripción bastante técnica y correcta
- de todos los detalles de la consola &os; y los controladores de
- teclado pueden encontrarse en las páginas de manual de
- &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; y
- &man.kbdcontrol.1;. No nos extenderemos en los detalles aquí,
- pero el lector interesado siempre puede consultar dichas
- páginas de manual si quiere una explicación
- más detallada y profunda de cómo funcionan
- estas cosas.</para>
- </footnote>. Puede utilizar
- <keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
- <keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo> y
- así sucesivamente hasta
- <keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo> para
- cambiar a una consola virtual diferente en &os;.</para>
-
- <para>Mientras está cambiando de una consola a la siguiente,
- &os; se ocupa de guardar y restaurar la salida de pantalla. El
- resultado es la «ilusión» de tener varias
- pantallas y teclados «virtuales» que puede utilizar
- para teclear órdenes para que &os; los ejecute. El programa que
- usted lanza en una consola virtual no deja de ejecutarse cuando la
- consola no está visible. Continúan ejecutándose
- cuando se cambia a una consola virtual diferente.</para>
- </sect2>
-
- <sect2 xml:id="consoles-ttys">
- <title>El fichero <filename>/etc/ttys</filename></title>
-
- <para>La configuración por omisión de &os; iniciará
- con ocho consolas virtuales. No es una configuración
- estática por hardware, así que puede personalizar
- fácilmente su sistema para arrancar con más o menos
- consolas virtuales. El número y propiedades de las consolas
- virtuales están detallados en
- <filename>/etc/ttys</filename>.</para>
-
- <para>En <filename>/etc/ttys</filename> es donde se configuran
- las consolas virtuales de &os;. Cada línea no
- comentada de este fichero (líneas que no comienzan con un
- caracter <literal>#</literal>) contiene propiedades para una sola
- terminal o consola virtual. La versión por omisión de
- este fichero en &os; configura nueve consolas
- virtuales y habilita ocho de ellas. Son las líneas que
- comienzan con <literal>ttyv</literal>:</para>
-
- <programlisting># name getty type status comments
-#
-ttyv0 "/usr/libexec/getty Pc" cons25 on secure
-# Virtual terminals
-ttyv1 "/usr/libexec/getty Pc" cons25 on secure
-ttyv2 "/usr/libexec/getty Pc" cons25 on secure
-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/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
-
- <para>Consulte &man.ttys.5; si quiere una descripción detallada
- de cada columna en este fichero y todas las opciones que puede usar
- para configurar las consolas virtuales.</para>
- </sect2>
-
- <sect2 xml:id="consoles-singleuser">
- <title>Consola en modo monousuario</title>
-
- <para>En la <xref linkend="boot-singleuser"/> encontrará una
- descripción detallada de lo que es «modo
- monousuario».
- No importa que sólo exista una consola cuando ejecuta &os; en
- modo monousuario. No hay otra consola virtual disponible. Las
- configuraciones de la consola en modo monousuario se pueden encontrar
- también en <filename>/etc/ttys</filename>. Busque la
- línea que comienza por <literal>console</literal>:</para>
-
- <programlisting># name getty type status comments
-#
-# Si la consola está marcada como "insecure", entonces init
-# le pedirá la contraseña de root al entrar a modo monousuario.
-console none unknown off secure</programlisting>
-
- <note>
- <para>Tal y como indican los comentarios por encima de la
- línea <literal>console</literal>, puede editar esta
- línea y cambiar <literal>secure</literal> por
- <literal>insecure</literal>. Si lo hace, cuando &os; arranque
- en modo monousuario el sistema le pedirá la
- contraseña de <systemitem class="username">root</systemitem>.</para>
-
- <para><emphasis>Tenga cuidado si cambia esto a
- <literal>insecure</literal></emphasis>. Si olvida la
- contraseña de <systemitem class="username">root</systemitem> arrancar
- en modo monousuario será con seguridad más
- complicado. Sigue siendo posible, pero será un poco
- difícil para alguien que no esté familiarizado
- con le proceso de arranque de &os; y los programas involucrados
- en dicho proceso.</para>
- </note>
- </sect2>
-
-
-
- <sect2 xml:id="consoles-vidcontrol">
- <title>Cambio del modo de video de la consola</title>
-
- <para>La consola &os; por omisión tiene un modo de video que
- puede ajustarse a 1024x768, 1280x1024 o cualquier otra resolución
- que admita su chip gráfico y su monitor. Si quiere utilizar
- uno diferente tendrá que recompilar su kernel con estas dos
- opciones añadidas:</para>
-
- <programlisting>options VESA
-options SC_PIXEL_MODE</programlisting>
-
- <para>Una vez recompilado el kernel con esas dos opciones en él
- determine qué modos de video admite su hardware; para ello
- use &man.vidcontrol.1;. Con lo siguiente le mostrará una
- lista de modos de video soportados:</para>
-
- <screen>&prompt.root; <userinput>vidcontrol -i mode</userinput></screen>
-
- <para>La salida de esta orden es una lista de los modos de
- que admite su tarjeta. Para elegir uno de ellos tendrá
- que ejecutar &man.vidcontrol.1; en una consola como
- <systemitem class="username">root</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>vidcontrol MODE_279</userinput></screen>
-
- <para>Si el modo de video que ha elegido le parece adecuado puede
- configurarlo de forma permanente haciendo que funcione desde el
- momento del arranque; para ello debe editar <filename>/etc/rc.conf</filename>
- file:</para>
-
- <programlisting>allscreens_flags="MODE_279"</programlisting>
- </sect2>
-
-
- </sect1>
-
- <sect1 xml:id="permissions">
- <title>Permisos</title>
- <indexterm><primary>UNIX</primary></indexterm>
-
- <para>&os;, cuya raíz histórica es el &unix; BSD,
- se fundamenta en varios conceptos clave de UNIX. El primero y
- más importante es que &os; es un sistema operativo
- multi-usuario. El sistema puede gestionar múltiples usuarios
- trabajando simultáneamente y en tareas que no guarden relación
- entre sí. El sistema se encarga de compartir y administrar
- peticiones de dispositivos de hardware, periféricos, memoria y
- tiempo de CPU de manera equitativa para cada usuario.</para>
-
- <para>Debido a que el sistema es capaz de soportar múltiples
- usuarios, todo lo que el sistema administra tiene un conjunto de
- permisos que usa para decidir quién puede leer, escribir y
- ejecutar un recurso. Estos permisos se guardan como octetos
- divididos en tres partes: una para el propietario del fichero, otra
- para el grupo al que el fichero pertenece, y otra para todos los
- demás grupos y usuarios. Veamos una
- representación numérica de esto:</para>
-
- <indexterm><primary>permisos</primary></indexterm>
- <indexterm>
- <primary>permisos de fichero</primary>
- </indexterm>
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Valor</entry>
- <entry>Permiso</entry>
- <entry>Listado de directorio</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>0</entry>
- <entry>No leer, no escribir, no ejecutar</entry>
- <entry><literal>---</literal></entry>
- </row>
-
- <row>
- <entry>1</entry>
- <entry>No leer, no escribir, ejecutar</entry>
- <entry><literal>--x</literal></entry>
- </row>
-
- <row>
- <entry>2</entry>
- <entry>No leer, escribir, no ejecutar</entry>
- <entry><literal>-w-</literal></entry>
- </row>
-
- <row>
- <entry>3</entry>
- <entry>No leer, escribir, ejecutar</entry>
- <entry><literal>-wx</literal></entry>
- </row>
-
- <row>
- <entry>4</entry>
- <entry>Leer, no escribir, no ejecutar</entry>
- <entry><literal>r--</literal></entry>
- </row>
-
- <row>
- <entry>5</entry>
- <entry>Leer, no escribir, ejecutar</entry>
- <entry><literal>r-x</literal></entry>
- </row>
-
- <row>
- <entry>6</entry>
- <entry>Leer, escribir, no ejecutar</entry>
- <entry><literal>rw-</literal></entry>
- </row>
-
- <row>
- <entry>7</entry>
- <entry>Leer, escribir, ejecutar</entry>
- <entry><literal>rwx</literal></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <indexterm>
- <primary><command>ls</command></primary>
- </indexterm>
- <indexterm><primary>directorios</primary></indexterm>
-
- <para>Puede utilizar el parámetro de línea de órdenes
- <option>-l</option> de &man.ls.1; para ver un listado
- largo que incluya una columna con información acerca
- de los permisos de fichero para el propietario, grupo y
- los demás. Por ejemplo, un <command>ls -l</command> en
- un directorio puede mostrar algo como esto:</para>
-
- <screen>&prompt.user; <userinput>ls -l</userinput>
-total 530
--rw-r--r-- 1 root wheel 512 Sep 5 12:31 mifichero
--rw-r--r-- 1 root wheel 512 Sep 5 12:31 otrofichero
--rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt
-...</screen>
-
- <para>Aquí está como se divide la primera columna
- de <command>ls -l</command>:</para>
-
- <screen>-rw-r--r--</screen>
-
- <para>El primer caracter (más a la izquierda) indica si
- este fichero es un fichero regular, un directorio, un
- dispositivo especial de caracter, un socket o cualquier otro
- dispositivo especial pseudo-ficheroa . En este caso, el
- <literal>-</literal> un fichero regular. Los siguientes tres
- caracteres, <literal>rw-</literal> en este ejemplo, dan los permisos
- para el propietario del fichero. Los siguientes tres caracteres,
- <literal>r--</literal>, dan los permisos para el grupo al que
- el fichero pertenece. Los últimos tres caracteres,
- <literal>r--</literal>, dan los permisos para el resto del
- mundo. Un guión indica que el permiso está desactivado.
- En el caso de este fichero, los permisos están
- asignados de tal manera que el propietario puede leer y escribir
- en el fichero, el grupo puede leer el fichero, y el resto del
- mundo sólo puede leer el fichero. De acuerdo con la tabla
- de arriba, los permisos para este fichero serían
- <literal>644</literal>,
- donde cada dígito representa las tres partes de los
- permisos del fichero.</para>
-
- <para>Todo ésto está muy bien, pero ?cómo
- controla el sistema los permisos de los dispositivos? &os; en
- realidad trata la mayoría de los dispositivos hardware como un
- fichero que los programas pueden abrir, leer y en los que pueden
- escribir datos como si de cualquier otro fichero se tratara. Estos
- ficheros especiales de dispositivo se encuentran en el directorio
- <filename>/dev</filename>.</para>
-
- <para>Los directorios también son tratados como ficheros. Tienen
- permisos de lectura, escritura y ejecución. El bit de
- ejecución en un directorio tiene un significado
- ligeramente distinto que para los ficheros. Cuando un directorio
- está marcado como ejecutable significa que se puede mirar dentro,
- se puede hacer un «cd» (cambiar directorio) a él.
- Esto también significa que dentro del directorio es posible
- acceder a ficheros cuyos nombres son conocidos (sujeto, claro está,
- a los permisos de los ficheros mismos).</para>
-
- <para>En particular, para poder realizar un listado de directorio,
- el permiso de lectura debe ser activado en el directorio,
- mientras que para borrar un fichero del que se conoce el
- nombre es necesario tener permisos de escritura <emphasis>y</emphasis>
- ejecución en el directorio que contiene el fichero.</para>
-
- <para>Existen más permisos, pero se usan principalmente en
- circunstancias especiales como los binarios ejecutables de tipo setuid
- y los los directorios de tipo «sticky». Si desea más
- información acerca de los permisos de ficheros y cómo
- establecerlos, consulte &man.chmod.1;.
- </para>
-
- <sect2>
- <info><title>Permisos simbólicos</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>permisos</primary><secondary>symbolic</secondary></indexterm>
-
- <para>Los permisos simbólicos, también conocidos como
- expresiones simbólicas, utilizan caracteres en lugar de valores
- octales para asignar permisos a ficheros o directorios. Las expresiones
- simbólicas utilizan la sintaxis de (quién) (acción)
- (permisos) mediante los siguientes valores:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Opción</entry>
- <entry>Letra</entry>
- <entry>Representa</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>(quién)</entry>
- <entry>u</entry>
- <entry>Usuario</entry>
- </row>
-
- <row>
- <entry>(quién)</entry>
- <entry>g</entry>
- <entry>Grupo propietario</entry>
- </row>
-
- <row>
- <entry>(quién)</entry>
- <entry>o</entry>
- <entry>Otro</entry>
- </row>
-
- <row>
- <entry>(quién)</entry>
- <entry>a</entry>
- <entry>Todos («todo el mundo»)</entry>
- </row>
-
- <row>
- <entry>(acción)</entry>
- <entry>+</entry>
- <entry>Añadir permisos</entry>
- </row>
-
- <row>
- <entry>(acción)</entry>
- <entry>-</entry>
- <entry>Quitar permisos</entry>
- </row>
-
- <row>
- <entry>(acción)</entry>
- <entry>=</entry>
- <entry>Activar permisos explícitamente</entry>
- </row>
-
- <row>
- <entry>(permisos)</entry>
- <entry>r</entry>
- <entry>Lectura</entry>
- </row>
-
- <row>
- <entry>(permisos)</entry>
- <entry>w</entry>
- <entry>Escritura</entry>
- </row>
-
- <row>
- <entry>(permisos)</entry>
- <entry>x</entry>
- <entry>Ejecución</entry>
- </row>
-
- <row>
- <entry>(permisos)</entry>
- <entry>t</entry>
- <entry>Bit Sticky («pegajoso»)</entry>
- </row>
-
- <row>
- <entry>(permisos)</entry>
- <entry>s</entry>
- <entry>Activar UID o GID</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Estos valores se aplican con &man.chmod.1;
- de la misma manera que los anteriores, pero con letras. Por
- ejemplo, podría usar la siguiente orden para
- bloquear a otros usuarios el acceso a <replaceable>FICHERO</replaceable>:</para>
-
- <screen>&prompt.user; <userinput>chmod go= FICHERO</userinput></screen>
-
- <para>Puede usarse una lista separada por comas cuando
- se quiera aplicar más de un conjunto de cambios a un fichero.
- Por ejemplo la siguiente orden eliminará los permisos de
- escritura de grupo y «mundo» a
- <replaceable>FICHERO</replaceable>, y añade permisos de
- ejecución para todos:</para>
-
- <screen>&prompt.user; <userinput>chmod go-w,a+x FILE</userinput></screen>
-
-<!--
- <para>Most users will not notice this, but it should be pointed out
- that using the octal method will only set or assign permissions to
- a file; it does not add or delete them.</para>
--->
- </sect2>
-
- <sect2>
- <info><title>Banderas de fichero en &os;</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Además de los permisos de fichero previamente
- expuestos, &os; permite el uso de «banderas de
- fichero». Estas banderas añaden un nivel de seguridad
- y control adicional a los ficheros, pero no a los directorios.</para>
-
- <para>Las banderas de fichero añaden un nivel adicional
- de control sobre los ficheros ayudando a asegurar que en algunos
- casos ni siquiera <systemitem class="username">root</systemitem> pueda eliminar
- o alterar ficheros.</para>
-
- <para>Las banderas de fichero se modifican mediante
- &man.chflags.1;, gracias a una interfaz muy sencilla. Por ejemplo,
- para habilitar la bandera imborrable de sistema en
- <filename>fichero1</filename>, escriba lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>chflags sunlink fichero1</userinput></screen>
-
- <para>Y para dehabilitar la bandera imborrable de sistema,
- simplemente escriba la orden previa con «no»
- antes de <option>sunlink</option>. Observe:</para>
-
- <screen>&prompt.root; <userinput>chflags nosunlink fichero1</userinput></screen>
-
- <para>Para ver las banderas de este fichero, utilice
- &man.ls.1; con las opciones <option>-lo</option>:</para>
-
- <screen>&prompt.root; <userinput>ls -lo fichero1
- </userinput></screen>
-
- <para>La salida debería ser como esta:</para>
-
- <programlisting>-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 fichero1</programlisting>
-
- <para>Varias banderas solo pueden ser añadidas o retiradas
- de ficheros por el usuario <systemitem class="username">root</systemitem>. En
- otros casos, el propietario del fichero puede activar estas
- banderas. Se recomienda que para más información
- la persona encargada de la administración del sistema
- consulte las páginas de manual &man.chflags.1; y
- &man.chflags.2;.</para>
- </sect2>
-
-
- <sect2>
- <info><title>Los permisos <literal>setuid</literal>,
- <literal>setgid</literal> y <literal>sticky</literal></title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Además de los permisos que se han explicado hay
- más, hay tres tipos más que todos los administradores
- deberían conocer. Son los permisos
- <literal>setuid</literal>,
- <literal>setgid</literal> y <literal>sticky</literal>.</para>
-
- <para>Estos permisos juegan un papel clave en ciertas operaciones
- &unix; puesto que facilitan funcionalidades que no se suelen
- permitir a los usuarios normales. Para comprenderlas
- totalmente hay que comprender la diferencia entre el ID real
- del usuario y el ID efectivo.</para>
-
- <para>El ID del usuario real es el
- <acronym>UID</acronym> que arranca (y el propietario) del
- proceso. El <acronym>UID</acronym> efectivo es el ID bajo
- el que se ejecuta el proceso. Veamos un ejemplo; el programa
- &man.passwd.1; se ejecuta con el ID real del usuario puesto que
- el usuario está cambiando su contraseña. Pero para
- poder manipular la base de datos de contraseñas debe
- ejecutarse con el ID efectivo del usuario
- <systemitem class="username">root</systemitem>. De este modo es posible que los usuarios
- cambien su contraseña sin llegar a ver un error de
- <errorname>Permission Denied</errorname> (permiso denegado).</para>
-
- <note>
- <para>La opción <literal>nosuid</literal> de &man.mount.8;
- hace que estos binarios den errores silenciosos, es decir,
- fallarán pero el usuario no recibirá ningún
- mensaje de error por ello. Esta opción no funciona
- siempre, pues, según la página man de
- &man.mount.8;, un «wrapper»
- <literal>nosuid</literal> puede sortear esta limitación.</para>
- </note>
-
- <para>El permiso setuid puede asignarse colocando un número
- cuatro (4) antes de los permisos. Se ve mejor con un ejemplo:</para>
-
- <screen>&prompt.root; <userinput>chmod 4755 ejemplosuid.sh</userinput></screen>
-
- <para>Los permisos de
- <filename>ejemplosuid.sh</filename>
- deberían ser así:</para>
-
- <programlisting>-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 ejemplosuid.sh</programlisting>
-
- <para>Fíjese atentamente en la
- <literal>s</literal> que ha aparecido en los permisos
- del fichero, en la parte de los permisos del propietario;
- esa <literal>s</literal> está en donde estaría
- el bit de ejecución. Gracias a esto el funcionamiento
- de aplicaciones que necesitan permisos elevados, como
- <command>passwd</command>, pueden funcionar.</para>
-
- <para>Si quiere ver un ejemplo con sus propios ojos abra dos
- terminales. En una arranque un proceso (ejecute)
- <command>passwd</command> con un usuario normal. Mientras la
- aplicación espera a que le de una nueva contraseña
- busque la información de usuario del proceso
- <command>passwd</command> en la tabla de procesos.</para>
-
- <para>En la terminal A:</para>
-
- <screen>Changing local password for trhodes
-Old Password:</screen>
-
- <para>En la terminal B:</para>
-
- <screen>&prompt.root; <userinput>ps aux | grep passwd</userinput></screen>
-
- <screen>trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
-root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
-
- <para>Tal y como se ha dicho, un usuario normal puede ejecutar
- <command>passwd</command>, pero en realidad está
- utilizando el <acronym>UID</acronym> efectivo de
- <systemitem class="username">root</systemitem>.</para>
-
- <para>El permiso <literal>setgid</literal> actúa del mismo
- modo que el <literal>setuid</literal>, pero afecta a los permisos
- del grupo. Cuando una aplicación funciona con esta
- configuración lo hace con los permisos del grupo al
- que pertenece el fichero, no los del usuario que ha
- arrancado el proceso.</para>
-
- <para>Si quiere utilizar el permiso <literal>setgid</literal>
- debe situar un núnmero dos (2) al principio de los
- permisos que vaya a asignar mediante
- <command>chmod</command>.</para>
-
- <screen>&prompt.root; <userinput>chmod 2755 ejemplosuid.sh</userinput></screen>
-
- <para>La nueva configuración tiene un aspecto muy
- similar a la que tenía antes, pero observe que la
- <literal>s</literal> de antes está ahora en el campo
- de los permisos de grupo:</para>
-
- <screen>-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 ejemplosuid.sh</screen>
-
- <note>
- <para>En ambos ejemplos, incluso si el «script»
- en cuestión es ejecutable, no se va a ejecutar
- con un
- <acronym>EUID</acronym> distinto o un ID efectivo de
- usuario porque los «scripts» de shell no
- pueden acceder a la llama del sistema
- &man.setuid.2;.</para>
- </note>
-
- <para>Los dos permisos que acabamos de mostrar
- los bits de permisos (<literal>setuid</literal>
- y <literal>setgid</literal>) pueden reducir el nivel
- de seguridad haciendo que se escalen los permisos.
- Pero hay un tercer bit especial de permisos que puede
- ser de mucha ayuda para reforzar la seguridad del
- sistema:
- el <literal>sticky bit</literal>.</para>
-
- <para>El <literal>sticky bit</literal>( que podríamos
- traducir como «bit pegajoso») aplicado a un
- directorio hace que solamente el propietario de un fichero
- pueda borrarlo. Esto evita el borrado de ficheros ajenos
- en directorios públicos como
- <filename>/tmp</filename>. Si quiere
- usarlo coloque un uno (1) antes de los permisos. Veamos
- un ejemplo:</para>
-
- <screen>&prompt.root; <userinput>chmod 1777 /tmp</userinput></screen>
-
- <para>Para ver el <literal>;sticky bit</literal> en acción usamos
- <command>ls</command>:</para>
-
- <screen>&prompt.root; <userinput>ls -al / | grep tmp</userinput></screen>
-
- <screen>drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp</screen>
-
- <para>El <literal>sticky bit</literal> es la letra
- <literal>t</literal> al final de los permisos.</para>
- </sect2>
- </sect1>
-
-
-
- <sect1 xml:id="dirstructure">
- <title>Estructura de directorios</title>
- <indexterm><primary>jerarquía de directorios</primary></indexterm>
-
- <para>La jerarquía del sistema de ficheros de &os; es
- fundamental para obtener una compresión completa del
- sistema. El concepto más importante a entender es el
- del directorio raíz, «/». Este directorio
- es el primero en ser montado en el arranque y contiene
- el sistema básico necesario para preparar el sistema
- operativo para su funcionamiento en modo multiusuario.
- El directorio raíz también contiene puntos de montaje
- para cualquier otro sistema de ficheros que se pretenda montar.</para>
-
- <para>Un punto de montaje es un directorio del que se pueden
- colgar sistemas de ficheros adicionales en un sistema padre
- (que suele ser el directorio raíz).
- Esto se explica con detalle en la <xref linkend="disk-organization"/>.
- Los puntos de montaje estándar son, por ejemplo,
- <filename>/usr</filename>, <filename>/var</filename>,
- <filename>/tmp</filename>,
- <filename>/mnt</filename> y <filename>/cdrom</filename>. Estos
- directorios suelen corresponderse con entradas en
- <filename>/etc/fstab</filename>. <filename>/etc/fstab</filename>
- es una tabla que sirve de referencia al sistema y contiene
- los diferentes sistemas de ficheros y sus respectivos
- puntos de montaje. La mayoría de los sistemas de ficheros
- en <filename>/etc/fstab</filename> se montan automáticamente
- en el arranque gracias al «script» &man.rc.8;,
- a menos que contengan la opción <option>noauto</option>.
- Si quiere más información consulte la <xref linkend="disks-fstab"/>.</para>
-
- <para>Veremos ahora una descripción de los directorios
- más comunes. Si desea información más
- completa consulte &man.hier.7;.</para>
-
- <para>
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Directorio</entry>
- <entry>Descripción</entry>
- </row>
- </thead>
- <tbody valign="top">
- <row>
- <entry><filename>/</filename></entry>
- <entry>Directorio raíz del sistema de ficheros.</entry>
- </row>
-
- <row>
- <entry><filename>/bin/</filename></entry>
- <entry>Utilidades de usuario fundamentales tanto para el
- ambiente monousuario como para el multiusuario.</entry>
- </row>
-
- <row>
- <entry><filename>/boot/</filename></entry>
- <entry>Programas y ficheros de configuración necesarios
- durante el arranque del sistema operativo.</entry>
- </row>
-
- <row>
- <entry><filename>/boot/defaults/</filename></entry>
- <entry>Ficheros de configuración por omisión del
- arranque; ver &man.loader.conf.5;.</entry>
- </row>
-
- <row>
- <entry><filename>/dev/</filename></entry>
- <entry>Nodos de dispositivo; ver &man.intro.4;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/</filename></entry>
- <entry>Ficheros de configuración y
- «scripts» del sistema.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/defaults/</filename></entry>
- <entry>Ficheros de configuración por omisión del sistema;
- ver &man.rc.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/mail/</filename></entry>
- <entry>Ficheros de configuración para agentes de
- transporte de correo como &man.sendmail.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/namedb/</filename></entry>
- <entry>Ficheros de configuración de <command>named</command>;
- ver &man.named.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/periodic/</filename></entry>
- <entry>«Scripts» que se ejecutan diariamente,
- semanalmente y mensualmente mediante &man.cron.8;;
- ver &man.periodic.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/ppp/</filename></entry>
- <entry>Ficheros de configuración de <command>ppp</command>;
- ver &man.ppp.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/mnt/</filename></entry>
- <entry>Directorio vacío utilizado de forma habitual por
- administradores de sistemas como punto de montaje
- temporal.</entry>
- </row>
-
- <row>
- <entry><filename>/proc/</filename></entry>
- <entry>Sistema de ficheros de procesos; ver &man.procfs.5;,
- &man.mount.procfs.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/rescue/</filename></entry>
- <entry>Programas enlazados estáticamente para
- restauraciones de emergencia; ver &man.rescue.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/root/</filename></entry>
- <entry>Directorio local para la cuenta <systemitem class="username">root</systemitem>.</entry>
- </row>
-
- <row>
- <entry><filename>/sbin/</filename></entry>
- <entry>Programas del sistema y utilidades fundamentales de
- administración para ambientes monousuario y
- multiusuario.</entry>
- </row>
-
-
- <row>
- <entry><filename>/tmp/</filename></entry>
- <entry>Ficheros temporales. El contenido de
- <filename>/tmp</filename>
- <emphasis>NO</emphasis> suelen conservarse después
- de un reinicio del sistema.
- Los sistemas de ficheros basados en memoria suelen montarse
- en <filename>/tmp</filename>
- Puede automatizarse mediante variables de
- tmpmfs en &man.rc.conf.5; (o con una entrada en
- <filename>/etc/fstab</filename>; ver &man.mdmfs.8;,
- o para FreeBSD&nbsp;4.X, &man.mfs.8;).</entry>
- </row>
-
-
- <row>
- <entry><filename>/usr/</filename></entry>
- <entry>La mayoría de utilidades y aplicaciones de usuario.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/bin/</filename></entry>
- <entry>Aplicaciones comunes, herramientas de programación y
- otras aplicaciones.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/include/</filename></entry>
- <entry>Ficheros «include» estándar de C.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/lib/</filename></entry>
- <entry>Bibliotecas.</entry>
- </row>
-
-
- <row>
- <entry><filename>/usr/libdata/</filename></entry>
- <entry>Ficheros de datos con diversas funciones.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/libexec/</filename></entry>
- <entry>D&aelig;mons del sistema y utilidades del sistema
- (ejecutados por otros programas).</entry>
- </row>
-
- <row>
- <entry><filename>/usr/local/</filename></entry>
-
- <entry>Ejecutables locales, bibliotecas, etc.
- también se usa como destino por omisión
- de la infraestructura de ports de &os;. Dentro de
- <filename>/usr/local</filename> debe seguirse el esquema
- general definido en &man.hier.7; para
- <filename>/usr</filename>. Las
- excepciones son el directorio man, que está
- directamente bajo <filename>/usr/local</filename> en
- lugar de debajo de <filename>/usr/local/share</filename>,
- y la documentación de los ports está en
- <filename>share/doc/port</filename>.
- </entry>
- </row>
-
- <row>
- <entry><filename>/usr/obj/</filename></entry>
- <entry>Arbol destino dependiente de arquitectura fruto de
- la compilación del árbol
- <filename>/usr/src</filename>.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/ports</filename></entry>
- <entry>La colección de Ports de &os; (opcional).</entry>
- </row>
-
- <row>
- <entry><filename>/usr/sbin/</filename></entry>
- <entry>D&aelig;mons del sistema y utilidades del sistema
- (ejecutados por usuarios del sistema).</entry>
- </row>
-
- <row>
- <entry><filename>/usr/share/</filename></entry>
- <entry>Ficheros independientes de arquitectura.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/src/</filename></entry>
- <entry>Ficheros fuente BSD y/o local.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/X11R6/</filename></entry>
- <entry>Ejecutables de la distribución X11R6,
- bibliotecas, etc (opcional).</entry>
- </row>
-
- <row>
- <entry><filename>/var/</filename></entry>
- <entry>Ficheros multipropósito de log, temporales, en
- tránsito y de «spool».
- En ocasiones se monta en
- <filename>/var</filename> un sistema de
- ficheros basado en memoria.</entry>
- </row>
-
-
- <row>
- <entry><filename>/var/log/</filename></entry>
- <entry>Diversos ficheros de log del sistema.</entry>
- </row>
-
- <row>
- <entry><filename>/var/mail/</filename></entry>
- <entry>Ficheros de buzones de correo de usuarios.</entry>
- </row>
-
- <row>
- <entry><filename>/var/spool/</filename></entry>
- <entry>Directorios diversos del sistema de spool de impresora
- y correo.</entry>
- </row>
-
- <row>
- <entry><filename>/var/tmp/</filename></entry>
- <entry>Ficheros temporales. Suelen conservarse tras el
- Estos ficheros suelen conservarse tras el reinicio del
- sistema, a menos que
- <filename>/var</filename> sea un
- sistema de ficheros basado en memoria.</entry>
- </row>
-
- <row>
- <entry><filename>/var/yp</filename></entry>
- <entry>Mapas NIS.</entry>
- </row>
-
- </tbody>
- </tgroup>
- </informaltable>
- </para>
-
- </sect1>
-
- <sect1 xml:id="disk-organization">
- <title>Organización de disco</title>
-
- <para>La unidad más pequeña que &os; utiliza para
- ubicar ficheros es el nombre de fichero. Los nombres de fichero
- son sensibles a las mayúsculas, lo que significa que
- <filename>readme.txt</filename> y <filename>README.TXT</filename>
- son dos ficheros distintos. &os; no utiliza la extensión
- (<filename>.txt</filename>) de un fichero para determinar si
- es un programa, o un documento o alguna otra forma de datos.</para>
-
- <para>Los ficheros se almacenan en directorios. Un directorio puede
- estar vacío, o puede contener cientos de ficheros. Un
- directorio también puede contener otros directorios,
- permitiéndole contruir una jerarquía de directorios
- dentro de otro. Esto hace mucho más fácil la
- organización de sus datos.</para>
-
- <para>Para referirse a ficheros o directorios se usa el nombre
- de archivo o de directorio, seguido por una barra,
- <literal>/</literal>, seguido por cualquier otro nombre de
- directorio que sea necesario. Si tiene un directorio
- <filename>tal</filename>, el cual contiene el directorio
- <filename>cual</filename>, el cual contiene el fichero
- <filename>readme.txt</filename>, entonces el nombre completo
- o <firstterm>ruta</firstterm> al fichero es
- <filename>tal/cual/readme.txt</filename>.</para>
-
- <para>Los directorios y ficheros se almacenan en un sistema de ficheros.
- Cada sistema de ficheros contiene un sólo directorio en el nivel
- más elevado, que es el
- <firstterm>directorio raíz</firstterm>
- de ese sistema de ficheros. Este directorio raíz puede
- contener otros directorios.</para>
-
- <para>Lo visto hasta ahora probablemente sea similar a cualquier otro
- sistema operativo que pueda haber utilizado, pero hay unas cuantas
- diferencias; por ejemplo, &ms-dos; utiliza <literal>\</literal> para
- separar nombres de fichero y directorio, mientras que &macos; usa
- <literal>:</literal>.</para>
-
- <para>&os; no utiliza letras de unidades, u otro nombre de unidad
- en la ruta. Por tanto, no podrá escribir
- <filename>c:/tal/cual/readme.txt</filename>
- en &os;.</para>
-
- <para>En &os;, en cambio, un sistema de ficheros recibe el nombre de
- <firstterm>sistema de ficheros raíz</firstterm>. El
- directorio raíz del sistema de ficheros raíz se
- representa como <literal>/</literal>. Cualquier otro sistema
- de ficheros, por tanto, se <firstterm>monta</firstterm> bajo el
- sistema de ficheros raíz. No importa cuántos discos
- tenga en su sistema &os;, cada directorio parecerá ser parte del
- mismo disco.</para>
-
- <para>Suponga que tiene tres sistemas de ficheros, denominados
- <literal>A</literal>,
- <literal>B</literal> y <literal>C</literal>. Cada sistema de
- ficheros tiene un directorio raíz, el cual contiene
- otros dos directorios, llamados
- <literal>A1</literal>, <literal>A2</literal> (y de la misma manera
- <literal>B1</literal>, <literal>B2</literal> y
- <literal>C1</literal>, <literal>C2</literal>).</para>
-
- <para>Usaremos <literal>A</literal> como sistema de ficheros
- raíz. Si usara <command>ls</command> para ver el contenido de
- este directorio vería dos subdirectorios, <literal>A1</literal>
- y <literal>A2</literal>. El árbol de directorios sería
- como este:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir1"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- |
- `--- A2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>Un sistema de ficheros debe montarse en un directorio
- de otro sistema de ficheros. Ahora suponga que monta el
- sistema de ficheros <literal>B</literal> en el directorio
- <literal>A1</literal>. El directorio raíz de
- <literal>B</literal> reemplaza a <literal>A1</literal>,
- y los directorios en <literal>B</literal> aparecen de
- esta manera:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir2"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- | |
- | +--- B1
- | |
- | `--- B2
- |
- `--- A2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>Cualquier fichero que esté en el directorio
- <literal>B1</literal> o <literal>B2</literal> puede
- encontrarse con la ruta <filename>/A1/B1</filename> o
- <filename>/A1/B2</filename> según sea necesario.
- Cualquier fichero que esté en <filename>/A1</filename>
- ha desaparecido temporalmente. Aparecerán de nuevo
- si <literal>B</literal> se <firstterm>desmonta</firstterm>
- de A.</para>
-
- <para>Si <literal>B</literal> se monta en <literal>A2</literal>
- entonces el diagrama se vería así:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir3"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- |
- `--- A2
- |
- +--- B1
- |
- `--- B2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>y las rutas serían <filename>/A2/B1</filename> y
- <filename>/A2/B2</filename> respectivamente.</para>
-
- <para>Pueden montarse sistemas de ficheros uno sobre otro. Continuando
- con el ejemplo anterior, el sistema de ficheros <literal>C</literal>
- podría montarse en el directorio <literal>B1</literal>
- en el sistema de ficheros <literal>B</literal>, lo que nos
- llevaría a esto:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir4"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- |
- `--- A2
- |
- +--- B1
- | |
- | +--- C1
- | |
- | `--- C2
- |
- `--- B2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>O <literal>C</literal> podría montarse directamente
- en el sistema de ficheros <literal>A</literal>, bajo el directorio
- <literal>A1</literal>:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir5"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- | |
- | +--- C1
- | |
- | `--- C2
- |
- `--- A2
- |
- +--- B1
- |
- `--- B2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>Si está familiarizado con &ms-dos; esto es similar,
- aunque no idéntico, a utilizar <command>join</command>.</para>
-
- <para>Esto no es algo a lo deba usted dedicar tiempo de forma habitual.
- Normalmente creará sistemas de ficheros al instalar &os;
- y decidirá dónde montarlos; lo más habitual es que
- no los cambie de sitio a menos que agregue un disco nuevo.</para>
-
- <para>Es perfectamente posible tener un sistema de ficheros raíz
- extenso y no necesitar crear otros. Este esquema tiene unos cuantos
- inconvenientes y una ventaja:
- </para>
-
- <itemizedlist>
- <title>Ventajas de disponer de múltiples sistemas de
- ficheros</title>
-
- <listitem>
- <para>Si dispone de varios sistemas de ficheros puede optar por
- usar distintas <firstterm>opciones de montaje</firstterm>.
- Por ejemplo, gracias a una planificación cuidadosa, el
- sistema de ficheros raíz puede montarse como
- sólo-lectura, haciendo imposible borrar sin querer o
- editar un fichero crítico. Al mantener separados
- sistemas de ficheros en los que los usuarios pueden escribir,
- como <filename>/home</filename>, de otros sistemas de ficheros
- también le permite montar con la opción
- <firstterm>nosuid</firstterm>; dicha opción previene
- que los bits <firstterm>suid</firstterm>/<firstterm>guid</firstterm>
- en los ejecutables almacenados en el sistema de ficheros
- tengan efecto, mejorando en cierto modo la seguridad.</para>
- </listitem>
-
- <listitem>
- <para>&os; optimiza automáticamente el esquema de ficheros
- en un sistema de ficheros, dependiendo de cómo el sistema
- de ficheros esté siendo utilizado.
- Uno que contenga muchos ficheros pequeños tendrá
- una optimización distinta de uno que contenga menos ficheros
- y más grandes. Si sólo tiene un gran sistema de
- ficheros no hay manera de aplicar esta optimización.</para>
- </listitem>
-
- <listitem>
- <para>Los sistemas de ficheros de &os; son muy robustos en caso
- de sufrir un caída eléctrica. De todas maneras, un fallo
- eléctrico en un momento crítico puede
- dañar la estructura del sistema de ficheros. Si reparte
- sus datos en múltiples sistemas de ficheros hará
- que sea más probable que el sistema arranque después
- de uno de esos fallos, haciéndole además
- más fácil la tarea de restaurarlo desde
- un respaldo si fuera necesario.</para>
- </listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>Ventajas de un sólo sistema de ficheros</title>
-
- <listitem>
- <para>Los sistemas de ficheros son de un tamaño fijo. Si crea
- un sistema de ficheros cuando instala &os; y le da un tamaño
- específico, tal vez descubra más tarde que necesita
- hacer la partición más grande. Esto no es
- fácil de realizar sin hacer una copia de seguridad, crear
- de nuevo el sistema de ficheros con el nuevo
- tamaño y entonces restaurar los datos respaldados.</para>
-
- <important>
- <para>&os; dispone de &man.growfs.8;, que permite incrementar el
- tamanño de un sistema de ficheros «al vuelo»,
- eliminando esta limitación.</para>
- </important>
- </listitem>
- </itemizedlist>
-
- <para>Los sistemas de ficheros están alojados en particiones.
- Este es un detalle muy importante, puesto que el
- término <emphasis>partición</emphasis> no significa
- aquí lo mismo que en otros entornos (por ejemplo, en &ms-dos;)
- debido a la herencia &unix; de &os;. Cada partición se
- identifica con una letra desde <literal>a</literal> hasta
- <literal>h</literal>. Cada partición puede contener solamente
- un sistema de ficheros, lo que significa que los sistemas de
- ficheros suelen definirse mediante su punto de montaje en la
- jerarquía del sistema de ficheros o por la letra de la
- partición en la que están alojados.</para>
-
- <para>&os; también utiliza espacio de disco
- como <firstterm>espacio de intercambio (swap)</firstterm>.
- El espacio de intercambio le brinda a &os;
- <firstterm>memoria virtual</firstterm>. Esto permite al
- su sistema comportarse como si tuviera más memoria de
- la que realmente tiene. Cuando a &os; se le agota la memoria
- mueve algunos de los datos que no está utilizando en
- ese momento al espacio de intercambio, y los vuelve a poner
- donde estaban (desplazando alguna otra cosa) cuando
- los necesita.</para>
-
- <para>Algunas particiones tienen ciertas convenciones heredadas.</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="5*"/>
-
- <thead>
- <row>
- <entry>Partición</entry>
-
- <entry>Representación</entry>
- </row>
- </thead>
-
- <tbody valign="top">
- <row>
- <entry><literal>a</literal></entry>
-
- <entry>Normalmente contiene el sistema de ficheros raíz</entry>
- </row>
-
- <row>
- <entry><literal>b</literal></entry>
-
- <entry>Normalmente contiene el espacio de intercambio (swap)</entry>
- </row>
-
- <row>
- <entry><literal>c</literal></entry>
-
- <entry>Suele tener el mismo tamaño de la
- «slice» que la encierra. Esto permite
- a las utilidades que necesitan trabajar en toda la
- «slice» entera (por ejemplo durante una
- búsqueda de bloques dañados) trabajar en
- la partición <literal>c</literal>. Normalmente no
- debería usted crear un sistema de ficheros en esta
- partición.</entry>
- </row>
-
- <row>
- <entry><literal>d</literal></entry>
-
- <entry>La partición <literal>d</literal> solía
- tuvo un significado especial asociado pero ya no lo
- tiene.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Cada partición que contiene un sistema de ficheros
- se almacena en lo que &os; llama una «slice».
- «slice» es en &os; lo que en otros ámbitos se
- denomina partición; es un hecho que deriva de los orígenes
- de &os; como ya sabemos basado en &unix;.</para>
-
- <indexterm><primary>slices</primary></indexterm>
- <indexterm><primary>particiones</primary></indexterm>
- <indexterm><primary>peligrosamente dedicadas</primary></indexterm>
-
- <para>Los números de «slice» muestran
- el nombre de dispositivo, al que precede una
- <literal>s</literal> y un número que puede ser un
- 1 u otro número mayor. Por lo tanto
- «da0<emphasis>s1</emphasis>» es la
- primera slice en la primera unidad SCSI. Sólo
- puede haber cuatro «slice» físicas en un
- disco, pero puede haber «slice» lógicas dentro
- «slice» físicas del tipo apropiado. Estas
- «slice»extendidas se numeran a partir de 5,
- así que «ad0<emphasis>s5</emphasis>»
- es la primera «slice» extendida en el primer
- disco IDE. Estos dispositivos se usan en sistemas de ficheros
- que se preve que ocupen una slice.</para>
-
- <para>Tanto las «slice» y las unidades físicas
- «peligrosamente dedicadas», como otras unidades
- contienen <firstterm>particiones</firstterm>, que se designan
- mediante letras desde la <literal>a</literal>
- hasta <literal>h</literal>. Esta letra se añade al nombre
- del dispositivo. Se verá mucho mejor mediante ejemplos:
- «da0<emphasis>a</emphasis>» es la partición
- a en la primera unidad da y es una de esas a las que llamamos
- «peligrosamente dedicada».
- «ad1s3<emphasis>e</emphasis>» es la quinta
- partición en la tercera slice de la segunda
- unidad de disco IDE.</para>
-
- <para>Para terminar, cada disco en el sistema tiene también
- su designación.
- El nombre de disco comienza por un código que indica
- el tipo de disco, luego un número, que indica qué disco
- es. A diferencia de las «slice», la numeración de
- discos comienza desde 0. Puede las numeraciones más comunes en
- el <xref linkend="basics-dev-codes"/>.</para>
-
- <para>Cuando se hace referencia a una partición, &os;
- necesita que también se nombre la «slice»
- y el disco que contiene la partició. Esto se hace
- con el nombre de disco, <literal>s</literal>, el número
- «slice» y por último la letra de la
- partición. Tiene varios casos en el
- <xref linkend="basics-disk-slice-part"/>.</para>
-
- <para>En el <xref linkend="basics-concept-disk-model"/> muestra un modelo
- conceptual del esquema de un disco que debería ayudarle a
- aclarar las cosas.</para>
-
- <para>Antes de instalar &os; tendrá que configurar las
- «slice» de disco, después crear particiones
- dentro de las «slice» que vaya a usar en &os; y luego
- crear un sistema de ficheros (o swap) en cada partición y
- luego decidir cuál va a ser el punto de montaje del sistema
- de ficheros.</para>
-
- <table frame="none" pgwide="1" xml:id="basics-dev-codes">
- <title>Códigos de dispositivos de disco</title>
-
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="5*"/>
-
- <thead>
- <row>
- <entry>Código</entry>
-
- <entry>Significado</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><filename>ad</filename></entry>
-
- <entry>Disco ATAPI (IDE)</entry>
- </row>
-
- <row>
- <entry><filename>da</filename></entry>
-
- <entry>Disco de acceso directo SCSI</entry>
- </row>
-
- <row>
- <entry><filename>acd</filename></entry>
-
- <entry>CDROM ATAPI (IDE)</entry>
- </row>
-
- <row>
- <entry><filename>cd</filename></entry>
-
- <entry>CDROM SCSI</entry>
- </row>
-
- <row>
- <entry><filename>fd</filename></entry>
-
- <entry>Disquete (floppy)</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <example xml:id="basics-disk-slice-part">
- <title>Ejemplo de nombres de disco, «slice» y partición</title>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="5*"/>
-
- <thead>
- <row>
- <entry>Nombre</entry>
-
- <entry>Significado</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literal>ad0s1a</literal></entry>
-
- <entry>La primera partición (<literal>a</literal>) en
- la primera slice (<literal>s1</literal>) en el
- primer disco IDE (<literal>ad0</literal>).</entry>
- </row>
-
- <row>
- <entry><literal>da1s2e</literal></entry>
-
- <entry>La quinta partición (<literal>e</literal>) en
- la segunda slice (<literal>s2</literal>) en el
- segundo disco SCSI (<literal>da1</literal>).</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </example>
-
- <example xml:id="basics-concept-disk-model">
- <title>Modelo conceptual de un disco</title>
-
- <para>Este diagrama muestra cómo ve &os; el primer disco IDE
- en el sistema. Se asume que el disco es de 4&nbsp;GB,
- y contiene dos «slices» de 2&nbsp;GB (particiones &ms-dos;).
- La primera partición contiene un disco &ms-dos;,
- <filename>C:</filename>,
- y la segunda partición contiene una instalación de &os;.
- Esta instalación de ejemplo tiene tres particiones, y una
- partición swap.</para>
-
- <para>Cada una de las tres particiones tiene un sistema de ficheros.
- La partición <literal>a</literal> se utilizará
- para el sistema de ficheros raíz, <literal>e</literal>
- para la jerarquía del directorio <filename>/var</filename>,
- y <literal>f</literal> para la jerarquía del directorio
- <filename>/usr</filename>.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/disk-layout"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">.-----------------. --.
-| | |
-| DOS / Windows | |
-: : &gt; Primera partición, ad0s1
-: : |
-| | |
-:=================: ==: --.
-| | | Partición a, montada como / |
-| | &gt; recibe el nombre de ad0s2a |
-| | | |
-:-----------------: ==: |
-| | | Partición b, usada como swap |
-| | &gt; recibe el nombre de ad0s2b |
-| | | |
-:-----------------: ==: | Partición c, sin
-| | | Partición e, usada como /var &gt; sistema de archivos, la
-| | &gt; recibe el nombre de ad0s2e | porción completa de FreeBSD,
-| | | | ad0s2c
-:-----------------: ==: |
-| | | |
-: : | Partición f, usada como /usr |
-: : &gt; referida como ad0s2f |
-: : | |
-| | | |
-| | --' |
-`-----------------' --'</literallayout>
- </textobject>
- </mediaobject>
- </example>
- </sect1>
-
-
-
- <sect1 xml:id="mount-unmount">
- <title>Montaje y desmontaje de sistemas de ficheros</title>
-
- <para>El sistema de ficheros se visualiza mejor como un
- árbol enraizado, tal y como esá, en
- <filename>/</filename>.
- <filename>/dev</filename>, <filename>/usr</filename> y todos
- los demás directorios en el directorio raíz son
- raamas, las cuales pueden tener sus propias ramas, como
- <filename>/usr/local</filename> y así sucesivamente.</para>
-
- <indexterm><primary>sistema de ficheros raíz</primary></indexterm>
-
- <para>Existen varias razones para albergar algunos de
- estos directorios en sistemas de ficheros separados.
- <filename>/var</filename> contiene los directorios
- <filename>log/</filename>, <filename>spool/</filename> y
- varios tipos de ficheros temporales y pueden llegar a desbordarse.
- Agotar el espacio del sistema de ficheros raíz
- no es nada bueno desde cualquier punto de vista, así que
- separar <filename>/var</filename> de
- de <filename>/</filename> es algo que debería
- hacerse siempre que sea posible.</para>
-
- <para>Otra razón para meter ciertos árboles
- de directorios en otros sistemas de ficheros es si van a estar
- albergados en discos físicos separados, o si son discos
- virtuales separados, como un montaje por
- <link linkend="network-nfs">NFS</link> en el caso de unidades
- de CDROM.</para>
-
- <sect2 xml:id="disks-fstab">
- <title>El fichero <filename>fstab</filename></title>
- <indexterm>
- <primary>sistemas de ficheros</primary>
- <secondary>montaje con fstab</secondary>
- </indexterm>
-
- <para>Durante el <link linkend="boot">proceso de arranque</link>
- los sistemas de ficheros listados en <filename>/etc/fstab</filename>
- se montan automáticamente (a menos que estén
- listados con la opción <option>noauto</option>).</para>
-
- <para><filename>/etc/fstab</filename> contiene una
- lista de líneas con el siguiente formato:</para>
-
- <programlisting><replaceable>dispositivo</replaceable> <replaceable>/punto-de-montaje</replaceable> <replaceable>punto de montaje</replaceable> <replaceable>opciones</replaceable> <replaceable>dumpfreq</replaceable> <replaceable>passno</replaceable></programlisting>
-
- <variablelist>
- <varlistentry>
- <term><literal>dispositivo</literal></term>
- <listitem>
- <para>Un nombre de dispositivo (<emphasis>debe existir</emphasis>).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>punto-de-montaje</literal></term>
-
- <listitem><para>Un directorio (que debe existir) en
- el que montar el sistema de ficheros.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>tipo de sistema ficheros</literal></term>
-
- <listitem><para>El tipo de sistema de ficheros es un parámetro
- que interpretará &man.mount.8;. El sistema de
- ficheros por omisión de &os; es
- <literal>ufs</literal>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>opciones</literal></term>
-
- <listitem><para>Ya sea <option>rw</option> para sistemas
- de ficheros de lectura-escritura, o <option>ro</option>
- para sistemas de ficheros de sólo lectura, seguido
- de cualquier otra opción que sea necesaria.
- Una opción muy habitual es <option>noauto</option>,
- que se suele usar en sistemas de ficheros que no se deben
- montar durante la secuencia de arranque. Tiene otras
- opciones en la página de manual de
- &man.mount.8;.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>dumpfreq</literal></term>
-
- <listitem><para>&man.dump.8; la usa para determinar qué
- sistema de ficheros requieren volcado. Si el campo no
- está declarado se asume un valor de cero.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>passno</literal></term>
-
- <listitem>
- <para>Determina el orden en el cual los sistemas de
- ficheros deben revisarse. Los sistemas de ficheros
- que hayan de saltarse deben tener su <literal>passno</literal>
- a cero. El sistema de ficheros raíz (que obviamente
- debe ser revisado antes que cualquier otro) debe tener
- su <literal>passno</literal> puesto a uno, y los demás
- sistemas de ficheros deben tener valores mayores que uno.
- Si más de un sistema de ficheros tiene el mismo
- <literal>passno</literal> &man.fsck.8; tratará
- de revisarlos en paralelo en caso de ser posible.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Consulte la página de manual de &man.fstab.5; para
- mayor información sobre el formato del fichero
- <filename>/etc/fstab</filename> y las opciones que contiene.</para>
- </sect2>
-
- <sect2 xml:id="disks-mount">
- <title>La orden <command>mount</command></title>
- <indexterm>
- <primary>sistemas de ficheros</primary>
- <secondary>montaje</secondary>
- </indexterm>
-
- <para>&man.mount.8; es al fin y al cabo quien monta los sistemas
- de ficheros.</para>
-
- <para>En su forma más básica se usa lo siguiente:</para>
-
- <informalexample>
- <screen>&prompt.root; <userinput>mount dispositivo punto-de-montaje</userinput></screen>
- </informalexample>
-
- <para>Existe una gran cantidad de opciones (las encontrará
- todas en &man.mount.8;) pero las más comunes son:</para>
-
- <variablelist>
- <title>Opciones de montaje</title>
-
- <varlistentry>
- <term><option>-a</option></term>
-
- <listitem>
- <para>Montar todos los sistemas de ficheros
- que aparezcan en <filename>/etc/fstab</filename>,
- excepto aquellos marcados como «noauto»,
- excluidos por el parámetro <option>-t</option> o
- aquellos que ya estén montados.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-d</option></term>
-
- <listitem>
- <para>Realizar todo excepto la llamada real de montaje del
- sistema. Esta opción es muy útil en caso
- de problemas si se combina con la opción
- <option>-v</option> para determinar qué es lo que
- &man.mount.8; está haciendo realmente.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-f</option></term>
-
- <listitem>
- <para>Forzar el montaje de un sistema de ficheros inestable
- (por ejemplo uno que da errores tras un reinicio súbito,
- algo que es bastante <emphasis>peligroso</emphasis>), o forzar
- la revocación de accesos de escritura cuando se cambia
- el estado de un sistema de ficheros de lectura-escritura
- a solo lectura.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-r</option></term>
-
- <listitem>
- <para>Montar el sistema de ficheros como sólo lectura.
- Esto es idéntico a utilizar el argumento
- <option>ro</option>
- (<option>rdonly</option> para versiones anteriores a
- &os;&nbsp;5.2) en la opción <option>-o</option>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-t</option>
- <replaceable>tipo de sistema de ficheros</replaceable></term>
-
- <listitem>
- <para>Montar un sistema de ficheros dado con el tipo de
- sistema de ficheros, o montar solamente sistemas
- de ficheros del tipo dado si se proporciona la
- opción <option>-a</option>.</para>
-
- <para>«ufs» es el sistema de ficheros
- por omisión.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-u</option></term>
-
- <listitem>
- <para>Actualizar puntos de montaje en el sistema
- de ficheros.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-v</option></term>
-
- <listitem>
- <para>Mostrar mayor información.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-w</option></term>
-
- <listitem>
- <para>Montar el sistema de ficheros como lectura-escritura.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>La opción <option>-o</option> toma una lista las siguientes
- opciones separada por comas:</para>
-
- <variablelist>
- <varlistentry>
- <term>nodev</term>
-
- <listitem>
- <para>No interpretar dispositivos especiales en el sistema
- ficheros. Es una opción de seguridad que puede
- ser muy útil.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>noexec</term>
-
- <listitem>
- <para>No permitir la ejecución de binarios
- en este sistema de ficheros. Esta también
- es una opción de seguridad útil.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>nosuid</term>
-
- <listitem>
- <para>No interpretar bits setuid o setgid en el
- sistema de ficheros. Esta también es una
- opción de seguridad útil.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
-
- <sect2 xml:id="disks-umount">
- <title>La orden <command>umount</command></title>
- <indexterm>
- <primary>sistemas de ficheros</primary>
- <secondary>desmontar</secondary>
- </indexterm>
-
- <para>&man.umount.8; toma como parámetro un
- punto de montaje, un nombre de dispositivo, o la opción
- <option>-a</option> o <option>-A</option>.</para>
-
- <para>Todas las formas toman <option>-f</option> para forzar
- el desmontaje y <option>-v</option> para mostrar más
- información. Tenga muy en cuenta que usar <option>-f</option>
- no suele ser una forma recomendable de proceder. Desmontar a la
- fuerza los sistemas de ficheros puede acarrear el congelar la
- máquina o dañar los datos en el sistema de
- ficheros.</para>
-
- <para><option>-a</option> y <option>-A</option> se usan para
- desmontar todos los sistemas de ficheros montados,
- con la ventaja de poder elegir el tipo de sistema de ficheros
- que se use tras <option>-t</option>. De todas maneras
- <option>-A</option> no trata de desmontar el sistema de
- ficheros raíz.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="basics-processes">
- <title>Procesos</title>
-
- <para>&os; es un sistema operativo multitarea. Esto significa que
- parece como si más de un programa se estuviera ejecutando al
- mismo tiempo. Cada programa uno de esos programas que se está
- ejecutando en un momento dado se denomina
- <firstterm>proceso</firstterm>. Cada orden que ejecuta iniciará
- al menos un proceso nuevo, y hay muchos procesos que se están
- que se están ejecutando en todo momento, manteniendo
- el sistema en funcionamiento.</para>
-
- <para>Cada proceso tiene un identificador individual consistente en
- un número llamado <firstterm>ID del proceso</firstterm>,
- o <firstterm>PID</firstterm>, y al igual que sucede con los
- ficheros, cada proceso tiene un propietario y un grupo. La
- información de propietario y grupo se usa para determinar
- qué ficheros y dispositivos puede abrir el proceso
- mediante los permisos de fichero explicados anteriormente. La
- mayoría de los procesos también tiene un proceso
- padre. El proceso padre es el proceso que los inició. Por
- ejemplo, si está tecleando órdenes en la shell,
- la shell es un proceso, y cualquier orden que usted ejecute
- también lo será. De este modo cada proceso que ejecute
- tendrá como proceso padre a su shell. La excepción
- es un proceso especial llamado &man.init.8;. <command>init</command>
- es siempre el primer proceso, así que su PID siempre es 1.
- El kernel arranca automáticamente <command>init</command>
- en el arranque de &os;.</para>
-
- <para>Hay dos órdenes particularmente útiles para ver
- los procesos en el sistema, &man.ps.1; y &man.top.1;.
- <command>ps</command> se usa para mostrar una lista estática
- de los procesos que se ejecutan en el sistema en es momento, y
- puede mostrar sus PID, cuánta memoria está usando,
- la línea de órdenes con la que fueron iniciados y
- muchas más cosas. <command>top</command> despliega todos
- los procesos que se están ejecutando y actualiza la
- pantalla cada pocos segundos para que pueda ver lo que
- está haciendo su sistema.</para>
-
- <para>Por omisión <command>ps</command> solo le muestra las
- órdenes que están ejecutando
- <emphasis>y</emphasis> que sean propiedad de su usuario.
- Por ejemplo:</para>
-
- <screen>&prompt.user; <userinput>ps</userinput>
- PID TT STAT TIME COMMAND
- 298 p0 Ss 0:01.10 tcsh
- 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
-37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
-48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
-48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
-72210 p0 R+ 0:00.00 ps
- 390 p1 Is 0:01.14 tcsh
- 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
- 6688 p3 IWs 0:00.00 tcsh
-10735 p4 IWs 0:00.00 tcsh
-20256 p5 IWs 0:00.00 tcsh
- 262 v0 IWs 0:00.00 -tcsh (tcsh)
- 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
- 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
- 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
- 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish</screen>
-
- <para>Como puede ver en este ejemplo la salida de &man.ps.1; está
- organizada en columnas. <literal>PID</literal>
- es el ID de proceso anteriormente expuesto. Los PIDs se asignan
- a partir del 1 y hasta 99999, y vuelven a comenzar desde el 1 otra
- cuando se terminan los números. La columna
- <literal>TT</literal> muestra la tty en la que el programa se está
- ejecutando; podemos ignorarla tranquilamente por el momento.
- <literal>STAT</literal> muestra el estado del programa; de momento
- también podemos ignorarlo. <literal>TIME</literal> es la
- cantidad de tiempo que el programa ha se ha estado ejecutando en la
- CPU (generalmente no es el tiempo transcurrido desde que se
- inició el programa, ya que la mayoría de los
- programas pasan mucho tiempo esperando antes
- de que necesiten gastar tiempo en la CPU. Finalmente,
- <literal>COMMAND</literal> es la línea de órdenes que
- se empleó para ejecutar el programa.</para>
-
- <para>&man.ps.1; admite muchas opciones sobre la información
- que se desea ver. Uno de los conjuntos más
- útiles es <literal>auxww</literal>. <option>a</option>
- muestra información acerca de todos los procesos
- ejecutándose, no solamente los suyos. <option>u</option>
- despliega el nombre de usuario del propietario del proceso, así
- como el uso de memoria. <option>x</option> despliega información
- acerca de los procesos d&aelig;mon y <option>ww</option> hace que
- &man.ps.1; despliegue la línea de órdenes completa, en lugar
- de truncarla cuando es demasiado larga para caber en la pantalla.</para>
-
- <para>La salida de &man.top.1; es similar. Veamos un ejemplo:
- </para>
-
- <screen>&prompt.user; <userinput>top</userinput>
-last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
-47 processes: 1 running, 46 sleeping
-CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
-Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
-Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
-
- PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
-72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
- 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
- 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
- 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
-48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
- 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
- 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
-...</screen>
-
- <para>La salida está dividida en dos secciones. La cabecera (las
- primeras cinco líneas) muestra el PID del último proceso
- en ejecutarse, la carga promedio del sistema (una medida de la carga
- del sistema), el «uptime» del sistema (tiempo
- desde el último reinicio) y la hora actual. Las otras cifras
- en la cabecera se relacionan con cuántos procesos hay en
- ejecución en el sistema (47 en este caso), cuánta
- memoria y espacio de intercambio (swap) está en uso, y
- cuánto tiempo está el sistema en diferentes estados de
- CPU.</para>
-
- <para>Más abajo hay una serie de columnas con información
- similar a la salida de &man.ps.1;. Igual que antes, puede usted
- ver el PID, el nombre de usuario, la cantidad de tiempo de CPU
- en uso y la orden que se ejecutó. &man.top.1;
- también mostrará por omisión la cantidad de espacio
- de memoria que emplea cada proceso. Está dividido en dos
- columnas, una para el tamaño total y otra para el tamaño
- residente (el tamaño total es cuánta memoria
- ha necesitado la aplicación y el tamaño residente
- es cuánta se está usando en ese momento concreto).
- En este ejemplo puede verse que <application>&netscape;</application>
- requerido casi 30&nbsp;MB de RAM, pero actualmente solo está usando
- 9&nbsp;MB.</para>
-
- <para>&man.top.1; actualiza automáticamente el listado cada
- dos segundos, pero este lapso puede cambiarse mediante la
- opción <option>s</option>.</para>
- </sect1>
-
- <sect1 xml:id="basics-daemons">
- <title>D&aelig;mons, señales y cómo matar procesos</title>
-
- <para>cuando ejecuta un editor es fácil controlarlo,
- decirle que cargue ficheros y demás. Puede hacerse
- porque el editor permite ese control y porque el editor
- depende de una <firstterm>terminal</firstterm>. Algunos
- programas no están diseñados para ejecutarse
- entradas continuas por parte del usuario, así que se desconectan
- de la terminal a la primera oportunidad. Por ejemplo, un servidor
- web pasa todo el dia respondiendo peticiones web y normalmente
- no necesita que usted le haga caso. Los programas que transportan
- correo electrónico de un sitio a otro son otro ejemplo de
- esta clase de aplicación.</para>
-
- <para>Llamamos a estos programas <firstterm>d&aelig;mons</firstterm>.
- Los D&aelig;mons eran personajes de la mitología griega;
- no eran ni buenos ni malos, eran pequeños espíritus
- sirvientes que, en gran medida, hacían cosas útiles por
- la humanidad. Algo muy parecido a cómo los servidores web y
- los servidores de correo hacen hoy día tantas cosas
- útiles para nosotros. Por eso, desde hace mucho tiempo la
- mascota de BSD es ese d&aelig;mon de aspecto tan ufano con su tridente
- y su cómodo calzado deportivo.</para>
-
- <para>Hay una norma según la cual se da nombre a los programas que
- suelen ejecutarse como d&aelig;mons con una «d» final.
- <application>BIND</application> es el d&aelig;mon de nombres de
- Berkeley (y el programa que en realidad se ejecuta se llama
- <command>named</command>); el servidor web
- <application>Apache</application> se llama
- <command>httpd</command>, el d&aelig;mon de «spool» de
- impresora de línea es <command>lpd</command> y así
- sucesivamente. Se trata de un acuerdo, no una ley férrea; por
- ejemplo el d&aelig;mon principal de correo de
- <application>Sendmail</application> se llama
- <command>sendmail</command>, y no <command>maild</command>,
- como podría suponerse visto lo precedente.</para>
-
- <para>Algunas veces necesitará comunicarse con un d&aelig;mon.
- Estas comunicaciones se denominan <firstterm>señales</firstterm>;
- es posible comunicarse con un d&aelig;mon (o con cualquier otro proceso
- ejecutándose) mandándole una señal. Existen
- diversos tipos de señales diferentes que puede mandar: algunas
- tienen un significado especial, otras son interpretadas por
- la aplicación y la documentación de la aplicación
- le dirá cómo interpreta la señal esa
- aplicación). Solamente puede enviar una señal a un
- del que sea usted propietario. Si manda una señal a un proceso
- de otro usuario con &man.kill.1; o &man.kill.2; verá un mensaje
- del sistema en el que se le comunica que no tiene permiso para hacer
- tal cosa. La excepción a esto es el usuario
- <systemitem class="username">root</systemitem>, que puede mandar señales a los
- procesos de cualquier usuario del sistema.</para>
-
- <para>&os; también enviará señales de
- aplicación en determinados casos. Si una aplicación
- está mal escrita y trata de acceder a memoria a la que no
- está previsto que acceda &os; manda al proceso la señal
- <firstterm>Violación de segmento</firstterm>
- (<literal>SIGSEGV</literal>). Si una aplicación ha utilizado
- la llamada de sistema &man.alarm.3; para ser avisada después
- de que un periodo de tiempo haya transcurrido se le
- mandará la señal de alarma (<literal>SIGALRM</literal>),
- y así sucesivamente.</para>
-
- <para>Hay dos señales que pueden usarse para detener un proceso,
- <literal>SIGTERM</literal> y <literal>SIGKILL</literal>.
- <literal>SIGTERM</literal> es la manera amable de matar un proceso;
- el proceso puede <emphasis>recibir</emphasis> la señal,
- darse cuenta que usted quiere que se apague, cerrar cualquier
- fichero de log que pueda tener abierto y generalmente terminar
- cualquier tarea que esté realizando en ese momento antes
- de apagarse. En algunos casos un proceso puede incluso ignorar
- <literal>SIGTERM</literal> si se encuentra inmerso en una
- tarea que no puede ser interrumpida.</para>
-
- <para>Por el contrario, un proceso no puede ignorar una señal
- <literal>SIGKILL</literal>.
- Esta es la señal «No me importa lo que estás
- haciendo, detente ahora mismo». Si manda un
- <literal>SIGKILL</literal> a un proceso &os; detendrá ese
- proceso inmediatamente.<footnote>
- <para>Esto no es del todo cierto (ciertas cosas no pueden
- ser interrumpidas. Por ejemplo, si el proceso está tratando
- de leer desde un fichero que está en otro sistema de
- la red, y el otro sistema no está disponible por
- alguna razón (por estar apagada, o que la red tenga un fallo),
- tenemos un caso de lo que llamamos
- «proceso ininterrumpible».
- Más tarde, al proceso se le acabará el tiempo de
- espera, generalmente pasados dos minutos. Tan pronto como esto
- ocurra el proceso será liquidado.</para>
- </footnote>.</para>
-
- <para>Otras señales que puede usar:
- <literal>SIGHUP</literal>, <literal>SIGUSR1</literal> y
- <literal>SIGUSR2</literal>. Son señales de propósito
- general, y aplicaciones diferentes pueden hacer cosas diferentes
- cuando se utilicen.</para>
-
- <para>Suponga que ha cambiado el fichero de configuración de su
- servidor web; es un buen momento para decirle al servidor
- web que lea y aplique la configuración. Podría detener y
- reiniciar <command>httpd</command>, pero esto implicaría
- un período breve de suspensión del servicio de su
- servidor web, lo cual puede no ser asumible. La mayoría de
- los d&aelig;mons fueron creados pensando en que fueran capaces de
- responder a la señal
- <literal>SIGHUP</literal> releyendo su fichero de configuración.
- En lugar de matar y reiniciar <command>httpd</command>
- le podría mandar la señal <literal>SIGHUP</literal>.
- Dado que no hay una manera estándar para responder a estas
- señales, diferentes d&aelig;mons tendrán diferente
- comportamiento, así que asegúrese de leer la
- documentación del d&aelig;mon en cuestión.</para>
-
- <para>Las señales se envian mediante &man.kill.1;,
- como puede verse en el siguiente ejemplo.</para>
-
- <procedure>
- <title>Envío de una señal a un proceso</title>
-
- <para>Este ejemplo muestra como enviar una señal a
- &man.inetd.8;. El fichero de configuración de
- <command>inetd</command> es
- <filename>/etc/inetd.conf</filename> e <command>inetd</command>
- releerá dicho fichero de configuración cuando
- se le envíe un <literal>SIGHUP</literal>.</para>
-
- <step>
- <para>Identifique el ID de proceso del proceso al que quiere
- enviarle la señal mediante &man.ps.1; y
- &man.grep.1;. &man.grep.1; se usa para buscar cadenas de
- texto de su elección en la salida estándar.
- Puede ejecutarse como un usuario normal, mientras que
- &man.inetd.8; se ejecuta como <systemitem class="username">root</systemitem>,
- así que debe pasarle los parámetros
- <option>ax</option> a &man.ps.1;.</para>
-
- <screen>&prompt.user; <userinput>ps -ax | grep inetd</userinput>
- 198 ?? IWs 0:00.00 inetd -wW</screen>
-
- <para>Vemos que el PID de &man.inetd.8; es 198. En algunos casos
- <literal>grep inetd</literal> también
- puede aparecer en esta salida. Esto se debe a la manera en que
- &man.ps.1; tiene que encontrar la lista de procesos
- ejecutándose.</para>
- </step>
-
- <step>
- <para>Utilice &man.kill.1; para enviar la señal. Debido a que
- &man.inetd.8; está siendo ejecutado po
- <systemitem class="username">root</systemitem> tendrá que usar primero
- &man.su.1; para volverse <systemitem class="username">root</systemitem>.</para>
-
- <screen>&prompt.user; <userinput>su</userinput>
-<prompt>Password:</prompt>
-&prompt.root; <userinput>/bin/kill -s HUP 198</userinput></screen>
-
- <para>Del mismo modo que la mayoría de órdenes &unix;
- &man.kill.1; no imprimirá ninguna salida si ha funcionado
- bien.
- Si envía una señal a un proceso del que no es
- el propietario verá lo siguiente: <errorname>kill:
- <replaceable>PID</replaceable>: Operation not permitted</errorname>.
- Si no teclea bien el PID puede enviar la señal a un
- proceso equivocado, lo cual puede ser malo, o si tiene suerte,
- habrá enviado la señal a un proceso que no está
- en uso y verá el sistema le dir&acute; <errorname>kill:
- <replaceable>PID</replaceable>: No such process</errorname>.</para>
-
- <note>
- <title>¿Por qué utilizar <command>/bin/kill</command>?</title>
-
- <para>Muchas shells incorporan su propio <command>kill</command>;
- esto es, el shell mandará la señal directamente,
- en lugar de ejecutar
- <filename>/bin/kill</filename>. Esto puede ser útil
- pero las diferentes shells tienen diferentes sintaxis para
- especificar el nombre de la señal que envían. En
- lugar de tratar de aprederse todas ellas, es más
- fácil simplemente usar
- <command>/bin/kill ...</command>
- sea la que sea la shell que prefiera usar.</para>
- </note>
- </step>
- </procedure>
-
- <para>El envío de otras señales es muy similar;
- sustituya <literal>TERM</literal> o <literal>KILL</literal>
- en la línea de órdenes según sea necesario.</para>
-
- <important>
- <para>Matar procesos aleatorios en el sistema es una mala
- idea. En particular, &man.init.8;, ID de proceso 1, es muy
- especial. Ejecutar <command>/bin/kill -s KILL 1</command> es
- una manera rápida de apagar su sistema.
- <emphasis>Siempre</emphasis> revise dos veces los argumentos con
- los que ejecuta &man.kill.1; <emphasis>antes</emphasis>
- de pulsar <keycap>Intro</keycap>.</para>
- </important>
- </sect1>
-
- <sect1 xml:id="shells">
- <title>Shells</title>
- <indexterm><primary>shells</primary></indexterm>
- <indexterm><primary>línea de órdenes</primary></indexterm>
-
- <para>En &os; gran parte del trabajo diario se hace en una
- interfaz de línea de órdenes llamada shell. El trabajo
- principal de la shell es ir recibiendo órdenes mediante un
- canal de entrada y ejecutarlos.
- Muchas shells también tienen funciones integradas para ayudar
- ayudar con las tareas diarias como manipulación de ficheros,
- gestión de archivos con expresiones regulares,
- edición en la propia línea de órdenes, macros de
- órdenes y variables de entorno.
- &os; incluye diversas shells, como <command>sh</command>,
- el shell Bourne y <command>tcsh</command>, el shell C mejorado.
- Hay muchas otras shells disponibles en la colección de
- ports de &os;, como <command>zsh</command> y
- <command>bash</command>.</para>
-
- <para>?Qué shell usar? es una cuestión
- de gustos. Si va a programar en C puede preferir usar una shell
- tipo C, como <command>tcsh</command>.
- Si viene del mundo Linux o si es nuevo en la interfaz de línea
- de órdenes de &unix; puede probar con <command>bash</command>.
- Tenga en cuenta que cada shell posee unas propiedades únicas que
- pueden o no funcionar con su entorno de trabajo preferido y que
- puede usted elegir qué shell usar.</para>
-
- <para>Una de las propiedades comunes de las shell es que completan los
- nombres de fichero. Una vez que ha introducido las primeras letras
- de una orden o del nombre de un fichero, se puede hacer que la shell
- complete automáticamente el resto de la orden o nombre de fichero
- pulsando la tecla <keycap>Tab</keycap>.
- Veamos un ejemplo. Suponga que tiene dos ficheros
- llamados <filename>talcual</filename> y <filename>tal.cual</filename>.
- Usted quiere borrar <filename>tal.cual</filename>. Lo que
- habría que teclear es:
- <command>rm ta[tabulador].[tabulador]</command>.</para>
-
- <para>La shell mostraría en pantalla <command>rm
- ta[BIP].cual</command>.</para>
-
- <para>El [BIP] es la campana de la consola, es decir, la shell
- está diciéndome que no pudo completar totalmente el nombre
- de fichero porque hay más de una coincidencia.
- Tanto <filename>talcual</filename> como <filename>tal.cual</filename>
- comienzan por <literal>ta</literal>, pero solo se pudo completar
- hasta <literal>tal</literal>. Si se teclea <literal>.</literal>,
- y de nuevo <keycap>tabulador</keycap> la shell es capaz de
- añadir el resto del nombre de fichero.</para>
- <indexterm><primary>variables de entorno</primary></indexterm>
-
- <para>Otra función de la shell son las variables de entorno.
- Las variables de entorno son parejas de valores clave almacenados
- en el espacio de entorno del shell. Este espacio puede ser leído
- por cualquier programa invocado por la shell y por lo tanto
- contiene mucha configuración de programas. Esta es una lista
- de las variables de entorno más comunes y su
- significado:</para>
- <indexterm><primary>variables de entorno</primary></indexterm>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Variable</entry>
- <entry>Descripción</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><envar>USER</envar></entry>
- <entry>Nombre de usuario en el sistema.</entry>
- </row>
-
- <row>
- <entry><envar>PATH</envar></entry>
- <entry>Lista de directorios, separados por punto y coma, en los que
- se buscan ejecutables.</entry>
- </row>
-
- <row>
- <entry><envar>DISPLAY</envar></entry>
- <entry>Nombre de red de la pantalla X11 a la que conectarse,
- si está disponible.</entry>
- </row>
-
- <row>
- <entry><envar>SHELL</envar></entry>
- <entry>La shell actual.</entry>
- </row>
-
- <row>
- <entry><envar>TERM</envar></entry>
- <entry>El nombre de la terminal del usuario. Se usa para determinar
- las características de la terminal.</entry>
- </row>
-
- <row>
- <entry><envar>TERMCAP</envar></entry>
- <entry>Base de datos donde encontrar los códigos de
- escape necesarios para realizar diferentes funciones en la
- terminal.</entry>
- </row>
-
- <row>
- <entry><envar>OSTYPE</envar></entry>
- <entry>Tipo de sistema operativo. Por ejemplo, &os;.</entry>
- </row>
-
- <row>
- <entry><envar>MACHTYPE</envar></entry>
- <entry>Arquitectura de CPU en la que se está ejecutando
- el sistema.</entry>
- </row>
-
- <row>
- <entry><envar>EDITOR</envar></entry>
- <entry>El editor de texto preferido por el usuario.</entry>
- </row>
-
- <row>
- <entry><envar>PAGER</envar></entry>
- <entry>El paginador de texto preferido por el usuario.</entry>
- </row>
-
- <row>
- <entry><envar>MANPATH</envar></entry>
- <entry>Lista de directorios separados por punto y coma
- en los que se buscan páginas de manual.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <indexterm><primary>Shells Bourne</primary></indexterm>
- <para>Establecer una variable de entorno difiere ligeramente
- de shell a shell. Por ejemplo, en las shells al estilo C
- como <command>tcsh</command> y <command>csh</command>,
- se usa <command>setenv</command> para establecer
- las variables de entorno. Bajo shells Bourne como
- <command>sh</command> y <command>bash</command>, se
- usa <command>export</command> para establecer
- las variables de entorno actuales. Por ejemplo, para
- establecer o modificar la variable de entorno
- <envar>EDITOR</envar> (bajo <command>csh</command> o
- <command>tcsh</command>) la siguiente orden establece
- <envar>EDITOR</envar> como
- <filename>/usr/local/bin/emacs</filename>:</para>
-
- <screen>&prompt.user; <userinput>setenv EDITOR /usr/local/bin/emacs</userinput></screen>
-
- <para>Bajo shells Bourne:</para>
-
- <screen>&prompt.user; <userinput>export EDITOR="/usr/local/bin/emacs"</userinput></screen>
-
- <para>También se puede hacer que la mayoría de las shells
- muestren el contenido de una variable de entorno situando el
- carácter <literal>$</literal> delante del nombre de la variable
- en la línea de órdenes. Por ejemplo,
- <command>echo $TERM</command>
- mostrará cualquiera que sea el valor que
- haya establecido para <envar>$TERM</envar>, porque la shell
- expande el valor de <envar>$TERM</envar> y se lo pasa al
- programa <command>echo</command>.</para>
-
- <para>Las shells manejan muchos caracteres especiales, llamados
- metacaracteres, como representaciones especiales de datos. El más
- común es el caracter <literal>*</literal>, que representa
- cualquier número de caracteres en un nombre de fichero. Estos
- metacaracteres especiales se pueden usar para la expansión de
- nombres de fichero. Por ejemplo, teclear <command>echo *</command> es
- casi lo mismo que introducir <command>ls</command> porque la shell
- toma todos los ficheros que coinciden con <command>*</command> y se
- los pone en la línea de órdenes para que
- <command>echo</command> los vea.</para>
-
- <para>Para evitar que la shell interprete estos caracteres especiales
- pueden escamotearse anteponiéndoles una contrabarra
- (<literal>\</literal>). <command>echo $TERM</command> imprime
- el nombre de terminal que esté usando.
- <command>echo \$TERM</command> imprime <envar>$TERM</envar>,
- literalmente.</para>
-
- <sect2 xml:id="changing-shells">
- <title>Cómo cambiar su shell</title>
-
- <para>La manera más fácil de cambiar de shell es
- mediante <command>chsh</command>. <command>chsh</command>
- le colocará dentro del editor que esté configurado en
- la variable de entorno <envar>EDITOR</envar>; si no la ha modificado,
- el sistema ejecutará <command>vi</command>, el editor por
- omisión. Cambie la línea «Shell:» según
- sus gustos.</para>
-
- <para>También se le puede suministrar a <command>chsh</command>
- la opción <option>-s</option>; ésto establecerá la
- shell sin necesidad de entrar en el editor de texto.
- Si por ejemplo quiere que <command>bash</command> sea su shell por
- omisión puede configurarlo del siguiente modo:</para>
-
- <screen>&prompt.user; <userinput>chsh -s /usr/local/bin/bash</userinput></screen>
-
- <para>Ejecutar <command>chsh</command> sin parámetros y
- editar la shell desde ahí también funciona.</para>
-
- <note>
- <para>La shell que se desee usar <emphasis>debe</emphasis> estar
- incluida en <filename>/etc/shells</filename>.
- Si se ha instalado una shell desde la
- <link linkend="ports">colección de ports</link>
- esto deberí estar hecho automáticamente. Si ha
- instalado la shell manualmente, tendrá usted que
- realizar el cambio oportuno en
- <filename>/etc/shells</filename>.</para>
-
- <para>Por ejemplo, si instaló manualmente <command>bash</command>
- y lo ubicó en <filename>/usr/local/bin</filename>
- debería hacer lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>echo &quot;/usr/local/bin/bash&quot; &gt;&gt; /etc/shells</userinput></screen>
-
- <para>Hecho esto vuelva a ejecutar <command>chsh</command>.</para>
- </note>
- </sect2>
- </sect1>
-
- <sect1 xml:id="editors">
- <title>Editores de texto</title>
- <indexterm><primary>editores de texto</primary></indexterm>
- <indexterm><primary>editores</primary></indexterm>
-
- <para>Gran parte de la configuración de &os; se realiza
- modificando ficheros de texto, así que le conviene
- familiarizarse con alguno de ellos. &os; viene con unos cuantos
- como parte del sistema base y encontrará muchos más
- en la colección de ports.</para>
-
- <indexterm>
- <primary><command>ee</command></primary>
- </indexterm>
- <indexterm>
- <primary>editors</primary>
- <secondary><command>ee</command></secondary>
- </indexterm>
- <para>El editor de textos más sencillo y fácil de
- aprender es uno llamado <application>ee</application>, cuyo nombre
- proviene del inglés «easy editor» (editor fácil).
- Para iniciar <application>ee</application> se debe teclear en la
- línea de órdenes
- <command>ee nombre-de-fichero</command>,
- donde <replaceable>nombre-de-fichero</replaceable> es el nombre
- del fichero que se quiere editar. Por ejemplo, para editar
- <filename>/etc/rc.conf</filename>
- teclée <command>ee /etc/rc.conf</command>. Una vez dentro
- de <command>ee</command> todas las órdenes para manipular
- las funciones del editor están listadas en la parte
- superior de la pantalla. El caracter <literal>^</literal> representa
- la tecla <keycap>Ctrl</keycap> del teclado, por lo tanto
- <literal>^e</literal> significa la combinación de teclas
- <keycombo action="simul"><keycap>Ctrl</keycap><keycap>e</keycap></keycombo>.
- Para salir de <application>ee</application> pulse la tecla
- <keycap>Esc</keycap> y elija abandonar («leave») el editor.
- El editor preguntará entonces si quiere conservar los
- cambios si el fichero hubiera sido modificado.</para>
-
- <indexterm>
- <primary><command>vi</command></primary>
- </indexterm>
- <indexterm>
- <primary>editors</primary>
- <secondary><command>vi</command></secondary>
- </indexterm>
- <indexterm>
- <primary><command>emacs</command></primary>
- </indexterm>
- <indexterm>
- <primary>editors</primary>
- <secondary><command>emacs</command></secondary>
- </indexterm>
- <para>&os; viene también con editores de texto mucho más
- potentes, como <application>vi</application>, como parte del
- sistema base, mientras que otros editores, como
- <application>Emacs</application>
- y <application>vim</application> son parte de la colección
- de ports de &os;
- (<package>editors/emacs</package> y
- <package>editors/vim</package>).
- Estos editores son muchísimo más poderosos, pero tienen
- la desventaja de ser un poco más complicados de aprender a
- manejar.
- De cualquier manera si planea hacer mucho trabajo de edición
- de texto, aprender a usar un editor de texto más poderoso
- como <application>vim</application> o <application>Emacs</application>
- le ahorrará muchísimo más tiempo a la larga.</para>
- </sect1>
-
- <sect1 xml:id="basics-devices">
- <title>Dispositivos y nodos de dispositivos</title>
-
- <para>Dispositivo es un término utilizado
- la mayoría de las veces para actividades relacionadas
- con hardware del sistema, como discos, impresoras, tarjetas
- gráficas y teclados. Cuando &os; arranca, la
- mayoría de lo que &os; despliega son dispositivos
- en el momento de ser detectados. Si lo desea, puede volver a
- ver todos los mensajes que el sistema emite durante el arranque
- consultando
- <filename>/var/run/dmesg.boot</filename>.</para>
-
- <para>Por ejemplo, <filename>acd0</filename> es la
- primera unidad CDROM IDE, mientras que <filename>kbd0</filename>
- representa el teclado.</para>
-
- <para>En un sistema operativo &unix; debe accederse a la mayoría
- de estos dispositivos a través de ficheros especiales llamados
- nodos de dispositivo, que se encuentran en el directorio
- <filename>/dev</filename>.</para>
-
- <sect2>
- <title>Creación de nodos de dispositivo</title>
- <para>Cuando agregue un nuevo dispositivo a su sistema, o
- compile soporte para dispositivos adicionales, puede que
- necesite crear uno o más nodos de dispositivo.
- </para>
-
- <sect3>
- <title><literal>DEVFS</literal> Dispositivo de sistema de ficheros (DEVice File System)</title>
-
- <para>El dispositivo de sistema de ficheros, o <literal>DEVFS</literal>,
- ofrece acceso a dispositivos del espacio de nombres del kernel en el
- espacio de nombres del sistema de ficheros global.
- En lugar de tener que crear y modificar nodos de dispositivo,
- <literal>DEVFS</literal> se encarga del mantenimiento
- dinámico de este sistema de fichero.</para>
-
- <para>Consulte &man.devfs.5; si quiere más
- información.</para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="binary-formats">
-
- <title>Formatos binarios</title>
-
- <para>Para poder entender por qué &os; utiliza el formato
- &man.elf.5; primero debe saber ciertas cosas sobre los tres
- formatos de ejecutables «dominantes» en &unix;:</para>
-
- <itemizedlist>
- <listitem>
- <para>&man.a.out.5;</para>
-
- <para>El formato objeto de &unix; más antiguo y
- «clásico». Utiliza una cabecera
- corta y compacta con un número mágico al
- inicio que se usa frecuentemente para identificar el
- formato (vea &man.a.out.5; para más información).
- Contiene tres segmentos cargados: .text, .data, y .bss
- además de una tabla de símbolos y una tabla
- de cadena («strings»).</para>
- </listitem>
-
- <listitem>
- <para><acronym>COFF</acronym></para>
-
- <para>El formato objeto de SVR3. La cabecera consiste
- en una tabla de sección, para que pueda tener más
- contenido además de las secciones .text, .data,
- y .bss.</para>
- </listitem>
-
- <listitem>
- <para>&man.elf.5;</para>
-
- <para>Es el sucesor de <acronym>COFF</acronym>; dispone de
- secciones múltiples y valores posibles de 32-bits
- o 64-bits. Una gran desventaja: <acronym>ELF</acronym>
- fué también diseñado asumiendo que
- solamente existiría una ABI por cada arquitectura
- de sistema. Esa suposición es en realidad bastante
- incorrecta y ni siquiera en el mundo comercial SYSV (el
- cual tiene al menos tres ABIs: SVR4, Solaris y SCO) se
- puede dar por buena.</para>
-
- <para>&os; trata de solucionar este problema de alguna
- manera ofreciendo una herramienta para <emphasis>marcar</emphasis>
- un ejecutable <acronym>ELF</acronym> conocido con
- información acerca de la ABI con la que funciona.
- Si quiere más información consulte
- la página de manual de &man.brandelf.1;.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>&os; viene del campo «clásico» y ha
- utilizado el formato &man.a.out.5;, una tecnología usada
- y probada en muchas de muchas generaciones de versiones de
- BSD hasta el inicio de la rama 3.X. Aunque era posible
- compilar y ejecutar binarios nativos <acronym>ELF</acronym>
- (y kernels) en un sistema &os; desde algún tiempo
- antes de esto, &os; al principio se mantuvo
- «contra corriente» y no cambió a
- <acronym>ELF</acronym> como formato por defecto.
- ?Por qué? Bueno, cuando el mundo Linux
- efectuó su dolorosa transición a
- <acronym>ELF</acronym> no fué tanto por huir del formato
- <filename>a.out</filename> como por su inflexible mecanismo de
- bibliotecas compartidas basado en tablas de saltos, que
- hacía igual de difícil la construcción de
- bibliotecas compartidas tanto para los desarrolladores como para
- los proveedores.
- Ya que las herramientas <acronym>ELF</acronym>
- disponibles ofrecían una solución al problema de
- las bibliotecas compartidas y eran vistas por mucha gente como
- «la manera de avanzar», el costo
- de migración fué aceptado como necesario y se
- realizó la transición. El mecanismo de
- bibliotecas compartidas de &os; está diseñado de
- manera más cercana al estilo del sistema de
- bibliotecas compartidas de &sunos; de Sun y, como tal, es
- muy sencillo de utilizar.</para>
-
- <para>Entonces, ?por qué existen tantos formatos
- diferentes?</para>
-
- <para>En un tiempo muy, muy lejano, existía hardware simple.
- Este hardware tan simple soportaba un sistema pequeño, simple.
- <filename>a.out</filename> era idóneo para el trabajo
- de representar binarios en este sistema tan simple (un PDP-11). A
- medida que la gente portaba &unix; desde este sistema simple,
- retuvieron el formato <filename>a.out</filename> debido a que
- era suficiente para los primeros portes de &unix; a arquitecturas
- como 68k de Motorola, VAXen, etc.</para>
-
- <para>Entonces algún brillante ingeniero de hardware decidió
- que si podía forzar al software a hacer algunos trucos
- sucios podría sortear ciertos obstáculos del
- diseño y permitir al núcleo de su CPU correr más
- rápidamente. Aunque estaba hecho para trabajar con este nuevo
- tipo de hardware (conocido entonces como <acronym>RISC</acronym>),
- <filename>a.out</filename> no estaba bien adaptado para este
- hardware, así que varios formatos fueron desarrollados
- para obtener un rendimiento mayor de este hardware que el
- podía extraerse del limitado y simple formato
- <filename>a.out</filename>.
- Así fué cómo <acronym>COFF</acronym>,
- <acronym>ECOFF</acronym> y algunos otros formatos más
- extraños fueron inventados y sus limitaciones exploradas hasta
- que se fué llegando a la elección de
- <acronym>ELF</acronym>.</para>
-
- <para>Además, el tamaño de los programas estaba
- volviendose gigante y los discos (y la memoria física)
- eran relativamente pequeños, así que el concepto
- de una biblioteca compartida nació. El sistema
- VM también se volvió más sofisticado.
- A pesar de que todos estos avances se hicieron utilizando
- el formato <filename>a.out</filename>, su utilidad se iba reduciendo
- paulatinamente con cada nueva opción. Además,
- la gente quería cargar cosas dinámicamente en el momento
- de ejecución, o descartar partes de su programa después de
- que el código de inicio se ejecutara para ahorrar memoria
- principal y espacio de swap. Al volverse más sofisticados los
- lenguajes, la gente empezó a ver la necesidad de introducir
- código antes del inicio del programa de forma automática.
- Se hicieron muchos hacks al formato <filename>a.out</filename> para
- permitir que todas estas cosas sucedieran y lo cierto es que por un
- tiempo funcionaron. Pero <filename>a.out</filename> no estaba
- para solucionar todos estos problemas sin incrementar la carga
- y complejidad del código. Aunque <acronym>ELF</acronym>
- resolvía muchos de estos problemas, en ese momento hubiera sido
- terrible dejar de lado un sistema que funcionaba,
- así que
- <acronym>ELF</acronym> tuvo que esperar hasta que fué más
- doloroso permanecer con <filename>a.out</filename> que migrar a
- <acronym>ELF</acronym>.</para>
-
- <para>De todas maneras, con el paso del tiempo las herramientas
- de compilación de las que &os; derivó
- las suyas (en especial el ensamblador y el cargador) evolucionaron
- en dos árboles paralelos. El árbol &os;
- &os; añadió bibliotecas compartidas y corrigió
- algunos errores. La gente de GNU (que fueron quienes escribieron
- estos programas) los reescribió y añadieron una forma
- más simple de disponer de compiladores cruzados
- («cross compilers»), el uso de diferentes formatos, etc.
- Aunque mucha gente quería compiladores cruzados con &os;
- como «blanco» no hubo suerte, porque los fuentes que
- que &os; tenía para <application>as</application> y
- <application>ld</application> no estaban listos para cumplir esa
- tarea. La nueva cadena de herramientas
- GNU (<application>binutils</application>) soporta compilación
- cruzada, <acronym>ELF</acronym>, bibliotecas compartidas,
- extensiones C++, etc. Además, muchos proveedores están
- liberando binarios <acronym>ELF</acronym> y es algo muy bueno
- que &os; los pueda ejecutar.</para>
-
- <para><acronym>ELF</acronym> es más expresivo que
- <filename>a.out</filename>
- y permite un sistema base más extensible.
- Las herramientas <acronym>ELF</acronym> están mejor
- mantenidas y ofrecen soporte de compilación cruzada,
- muy importante para mucha gente.
- <acronym>ELF</acronym> puede ser un poco más lento que
- <filename>a.out</filename>, pero tratar de medirlo puede ser
- difícil. También existen numerosos detalles
- que son diferentes entre los dos en cómo gestionan páginas,
- cómo gestionan código de inicio, etc. Ninguna
- es muy importante, pero las diferencias existen. Con el tiempo,
- el soporte para <filename>a.out</filename> será eliminado
- del kernel <filename>GENERIC</filename> y es muy posible que
- se elimine del kernel la posibilidad de ejecutar tales binarios
- una vez que la necesidad de usar programas
- <filename>a.out</filename> haya pasado.</para>
- </sect1>
-
- <sect1 xml:id="basics-more-information">
- <title>Más información</title>
-
- <sect2 xml:id="basics-man">
- <title>Páginas de manual</title>
- <indexterm><primary>páginas de manual</primary></indexterm>
-
- <para>La documentación más exhaustiva de &os;
- está en las páginas de manual. Casi todos los
- programas del sistema vienen con un breve manual de referencia
- explicando el funcionamiento básico y sus diferentes argumentos.
- Estos manuales pueden revisarse mediante <command>man</command>.
- El uso de <command>man</command> es simple:</para>
-
- <screen>&prompt.user; <userinput>man orden</userinput></screen>
-
- <para><literal>orden</literal> es el nombre de la orden sobre la que
- que desea saber más. Por ejemplo, para más información
- sobre <command>ls</command> escriba:</para>
-
- <screen>&prompt.user; <userinput>man ls</userinput></screen>
-
- <para>El manual en línea está dividido en secciones
- numeradas:</para>
-
- <orderedlist>
- <listitem>
- <para>Comandos de usuario.</para>
- </listitem>
-
- <listitem>
- <para>Llamadas al sistema y números de error.</para>
- </listitem>
-
- <listitem>
- <para>Funciones en las bibliotecas de C.</para>
- </listitem>
-
- <listitem>
- <para>Controladores de dispositivo.</para>
- </listitem>
-
- <listitem>
- <para>Formatos de fichero.</para>
- </listitem>
-
- <listitem>
- <para>Juegos y demás pasatiempos.</para>
- </listitem>
-
- <listitem>
- <para>Información sobre temas diversos.</para>
- </listitem>
-
- <listitem>
- <para>Comandos relacionados con el mantenimiento del sistema y
- su funcionamiento.</para>
- </listitem>
-
- <listitem>
- <para>Desarrolladores del Kernel.</para>
- </listitem>
- </orderedlist>
-
- <para>En algunos casos, el mismo tema puede aparecer en más de
- una sección del manual en línea. Por ejemplo,
- existe una orden de usuario <command>chmod</command> y una
- llamada del sistema <function>chmod()</function>. En este caso
- se le puede decir a <command>man</command>
- cuál desea consultar especificando la sección:</para>
-
- <screen>&prompt.user; <userinput>man 1 chmod</userinput></screen>
-
- <para>Esto desplegará la página de manual de la
- orden de usuario <command>chmod</command>. Las referencias
- a una sección concreta del manual en línea
- tradicionalmente suelen colocarse entre paréntesis
- en la documentación escrita, por lo tanto &man.chmod.1;
- se refiere a la orden de usuario <command>chmod</command> y
- &man.chmod.2; se refiere a la llamada de sistema.</para>
-
- <para>Esto está muy bien si se conoce el nombre del programa y
- simplemente se quiere saber como usarlo. Pero ?y si no
- puede recordar el nombre de la orden? Se puede usar man para que
- realice una búsqueda mediante palabras clave en las descripciones
- de programas utilizando el argumento <option>-k</option>:</para>
-
- <screen>&prompt.user; <userinput>man -k mail</userinput></screen>
-
- <para>Dicha orden mostrará una lista de
- órdenes que contengan la palabra clave «mail»
- en sus descripciones. Esto es funcionalmente
- equivalente a usar <command>apropos</command>.</para>
-
- <para>Así que, ¿está viendo todos esos programas
- tan atractivos en <filename>/usr/bin</filename> pero no tiene
- ni la menor idea de lo que la mayoría de ellos hace?
- Haga lo siguiente:</para>
-
- <screen>&prompt.user; <userinput>cd /usr/bin</userinput>
-&prompt.user; <userinput>man -f *</userinput></screen>
-
- <para>o</para>
-
- <screen>&prompt.user; <userinput>cd /usr/bin</userinput>
-&prompt.user; <userinput>whatis *</userinput></screen>
-
- <para>que hace exactamente lo mismo.</para>
- </sect2>
-
- <sect2 xml:id="basics-info">
- <title>Ficheros de información GNU: info</title>
- <indexterm><primary>Free Software Foundation</primary></indexterm>
-
- <para>&os; incluye muchas aplicaciones y utilidades producidas
- por la FSF (Free Software Foundation). Además de con
- las correspondientes páginas de manual, estos programas
- vienen con documentos de hipertexto más detallados,
- llamados ficheros <literal>info</literal>, los
- cuales pueden ser visualizados con <command>info</command>,
- o si tiene instalado <application>emacs</application>, con
- el modo info de <application>emacs</application>.</para>
-
- <para>Si quiere utilizar la orden &man.info.1;
- teclée:</para>
-
- <screen>&prompt.user; <userinput>info</userinput></screen>
-
- <para>Para una breve introducción teclée <literal>h</literal>.
- Cuando necesite una referencia rápida, teclée
- <literal>?</literal>.</para>
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/bibliography/chapter.xml b/es_ES.ISO8859-1/books/handbook/bibliography/chapter.xml
deleted file mode 100755
index 690a19228e..0000000000
--- a/es_ES.ISO8859-1/books/handbook/bibliography/chapter.xml
+++ /dev/null
@@ -1,465 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
-
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/bibliography/chapter.xml
- %SRCID% 0.0
-
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="bibliography">
- <title>Bibliografía</title>
-
- <para>Aunque las páginas del manual proveen la referencia definitiva
- para partes individuales del sistema operativo &os;, son notorias por
- no ilustrar como poner todas las piezas juntas para hacer que todo el
- sistema operativo funcione fácilmente. Debido a esto, no hay
- sustituto para un buen libro de administración de sistemas UNIX y un
- buen manual de usuario.</para>
-
- <sect1>
- <title>Libros y revistas específicas sobre &os;</title>
-
- <para><emphasis>Libros y revistas internacionales:</emphasis></para>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="http://freebsd.csie.nctu.edu.tw/~jdli/book.html">Usando
- FreeBSD</link> (en Chino).</para>
- </listitem>
-
- <listitem>
- <para>FreeBSD for PC 98'ers (en japonés), publicado por SHUWA System
- Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.</para>
- </listitem>
-
- <listitem>
- <para>FreeBSD (en japonés), publicado por CUTT. ISBN 4-906391-22-2
- C3055 P2400E.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.shoeisha.co.jp/pc/index/shinkan/97_05_06.htm">Introducción
- completa a FreeBSD</link> (en japonés), publicado por
- <link xlink:href="http://www.shoeisha.co.jp/">Shoeisha Co., Ltd</link>.
- ISBN 4-88135-473-6 P3600E.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html">Kit personal del
- principiante UNIX FreeBSD</link> (en japonés), publicado por
- <link xlink:href="http://www.ascii.co.jp/">ASCII</link>. ISBN 4-7561-1733-3 P3000E.</para>
- </listitem>
-
- <listitem>
- <para>Manual FreeBSD (traducción del japonés), publicado por <link xlink:href="http://www.ascii.co.jp/">ASCII</link>. ISBN 4-7561-1580-2
- P3800E.</para>
- </listitem>
-
- <listitem>
- <para>FreeBSD mit Methode (en alemán), publicado por Computer und
- Literatur Verlag/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.pc.mycom.co.uk/FreeBSD/install-manual.html">Manual de
- instalación y utilización de FreeBSD</link> (en japonés),
- publicado por
- <link xlink:href="http://www.pc.mycom.co.jp/">Mainichi Communications Inc.</link>.</para>
- </listitem>
- </itemizedlist>
-
- <para><emphasis>Libros y revistas en inglés:</emphasis></para>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="http://www.cdrom.com/titles/freebsd/bsdcomp_bkx.phtml">
- The Complete FreeBSD</link>, publicado por <link xlink:href="http://www.cdrom.com/">Walnut Creek CDROM</link>.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>Guías de usuario</title>
-
- <itemizedlist>
- <listitem>
- <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
- User's Reference Manual</emphasis>. O'Reilly &amp; Associates,
- Inc., 1994. ISBN 1-56592-075-9</para>
- </listitem>
-
- <listitem>
- <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
- User's Supplementary Documents</emphasis>. O'Reilly &amp;
- Associates, Inc., 1994. ISBN 1-56592-076-7</para>
- </listitem>
-
- <listitem>
- <para><emphasis>UNIX in a Nutshell</emphasis>. O'Reilly &amp;
- Associates, Inc., 1990. ISBN 093717520X</para>
- </listitem>
-
- <listitem>
- <para>Mui, Linda. <emphasis>What You Need To Know When You Can't Find Your
- UNIX System Administrator</emphasis>. O'Reilly &amp;
- Associates, Inc., 1995. ISBN 1-56592-104-6</para>
- </listitem>
-
- <listitem>
- <para>La <link xlink:href="http://www-wks.acs.ohio-state.edu/">Ohio State
- University</link> ha escrito un <link xlink:href="http://www-wks.acs.ohio-state.edu/unix_course/unix.html">Curso de
- introducción a UNIX</link> disponible en línea en
- formato HTML y postscript.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.jp.FreeBSD.org/">Jpman Project, Japan
- FreeBSD Users Group</link>. <link xlink:href="http://www.pc.mycom.co.jp/FreeBSD/urm.html">FreeBSD User's
- Reference Manual</link> (traducción japonesa). <link xlink:href="http://www.pc.mycom.co.jp/">Mainichi Communications
- Inc.</link>, 1998. ISBN4-8399-0088-4 P3800E.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>Guías de administrador</title>
-
- <itemizedlist>
- <listitem>
- <para>Albitz, Paul and Liu, Cricket. <emphasis>DNS and
- BIND</emphasis>, 2nd Ed. O'Reilly &amp; Associates, Inc., 1997.
- ISBN 1-56592-236-0</para>
- </listitem>
-
- <listitem>
- <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
- System Manager's Manual</emphasis>. O'Reilly &amp; Associates,
- Inc., 1994. ISBN 1-56592-080-5</para>
- </listitem>
-
- <listitem>
- <para>Costales, Brian, et al. <emphasis>Sendmail</emphasis>, 2nd Ed.
- O'Reilly &amp; Associates, Inc., 1997. ISBN 1-56592-222-0</para>
- </listitem>
-
- <listitem>
- <para>Frisch, &AElig;leen. <emphasis>Essential System
- Administration</emphasis>, 2nd Ed. O'Reilly &amp; Associates,
- Inc., 1995. ISBN 1-56592-127-5</para>
- </listitem>
-
- <listitem>
- <para>Hunt, Craig. <emphasis>TCP/IP Network
- Administration</emphasis>. O'Reilly &amp; Associates, Inc., 1992.
- ISBN 0-937175-82-X</para>
- </listitem>
-
- <listitem>
- <para>Nemeth, Evi. <emphasis>UNIX System Administration
- Handbook</emphasis>. 2nd Ed. Prentice Hall, 1995. ISBN
- 0131510517</para>
- </listitem>
-
- <listitem>
- <para>Stern, Hal <emphasis>Managing NFS and NIS</emphasis> O'Reilly
- &amp; Associates, Inc., 1991. ISBN 0-937175-75-7</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.jp.FreeBSD.org/">Jpman Project, Japan
- FreeBSD Users Group</link>. <link xlink:href="http://www.pc.mycom.co.jp/FreeBSD/sam.html">FreeBSD System
- Administrator's Manual</link> (traducción japonesa). <link xlink:href="http://www.pc.mycom.co.jp/">Mainichi Communications
- Inc.</link>, 1998. ISBN4-8399-0109-0 P3300E.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>Guías de programadores</title>
-
- <itemizedlist>
- <listitem>
- <para>Asente, Paul. <emphasis>X Window System Toolkit</emphasis>.
- Digital Press. ISBN 1-55558-051-3</para>
- </listitem>
-
- <listitem>
- <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
- Programmer's Reference Manual</emphasis>. O'Reilly &amp;
- Associates, Inc., 1994. ISBN 1-56592-078-3</para>
- </listitem>
-
- <listitem>
- <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
- Programmer's Supplementary Documents</emphasis>. O'Reilly &amp;
- Associates, Inc., 1994. ISBN 1-56592-079-1</para>
- </listitem>
-
- <listitem>
- <para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A
- Reference Manual</emphasis>. 4rd ed. Prentice Hall, 1995.
- ISBN 0-13-326224-3</para>
- </listitem>
-
- <listitem>
- <para>Kernighan, Brian and Dennis M. Ritchie. <emphasis>The C
- Programming Language.</emphasis>. PTR Prentice Hall, 1988.
- ISBN 0-13-110362-9</para>
- </listitem>
-
- <listitem>
- <para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>.
- O'Reilly &amp; Associates, Inc., 1995. ISBN 1-56592-126-7</para>
- </listitem>
-
- <listitem>
- <para>Plauger, P. J. <emphasis>The Standard C Library</emphasis>.
- Prentice Hall, 1992. ISBN 0-13-131509-9</para>
- </listitem>
-
- <listitem>
- <para>Stevens, W. Richard. <emphasis>Advanced Programming in the UNIX
- Environment</emphasis>. Reading, Mass. : Addison-Wesley, 1992
- ISBN 0-201-56317-7</para>
- </listitem>
-
- <listitem>
- <para>Stevens, W. Richard. <emphasis>UNIX Network
- Programming</emphasis>. 2nd Ed, PTR Prentice Hall, 1998. ISBN
- 0-13-490012-X</para>
- </listitem>
-
- <listitem>
- <para>Wells, Bill. &ldquo;Writing Serial Drivers for UNIX&rdquo;.
- <emphasis>Dr. Dobb's Journal</emphasis>. 19(15), December 1994.
- pp68-71, 97-99.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>El sistema operativo por dentro</title>
-
- <itemizedlist>
- <listitem>
- <para>Andleigh, Prabhat K. <emphasis>UNIX System
- Architecture</emphasis>. Prentice-Hall, Inc., 1990. ISBN
- 0-13-949843-5</para>
- </listitem>
-
- <listitem>
- <para>Jolitz, William. &ldquo;Porting UNIX to the 386&rdquo;.
- <emphasis>Dr. Dobb's Journal</emphasis>. January 1991-July
- 1992.</para>
- </listitem>
-
- <listitem>
- <para>Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and
- John Quarterman <emphasis>The Design and Implementation of the
- 4.3BSD UNIX Operating System</emphasis>. Reading, Mass. :
- Addison-Wesley, 1989. ISBN 0-201-06196-1</para>
- </listitem>
-
- <listitem>
- <para>Leffler, Samuel J., Marshall Kirk McKusick, <emphasis>The Design
- and Implementation of the 4.3BSD UNIX Operating System: Answer
- Book</emphasis>. Reading, Mass. : Addison-Wesley, 1991. ISBN
- 0-201-54629-9</para>
- </listitem>
-
- <listitem>
- <para>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and
- John Quarterman. <emphasis>The Design and Implementation of the
- 4.4BSD Operating System</emphasis>. Reading, Mass. :
- Addison-Wesley, 1996. ISBN 0-201-54979-4</para>
- </listitem>
-
- <listitem>
- <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 1:
- The Protocols</emphasis>. Reading, Mass. : Addison-Wesley,
- 1996. ISBN 0-201-63346-9</para>
- </listitem>
-
- <listitem>
- <para>Schimmel, Curt. <emphasis>Unix Systems for Modern
- Architectures</emphasis>. Reading, Mass. : Addison-Wesley, 1994.
- ISBN 0-201-63338-8</para>
- </listitem>
-
- <listitem>
- <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 3:
- TCP for Transactions, HTTP, NNTP and the UNIX Domain
- Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996.
- ISBN 0-201-63495-3</para>
- </listitem>
-
- <listitem>
- <para>Vahalia, Uresh. <emphasis>UNIX Internals -- The New
- Frontiers</emphasis>. Prentice Hall, 1996. ISBN
- 0-13-101908-2</para>
- </listitem>
-
- <listitem>
- <para>Wright, Gary R. and W. Richard Stevens. <emphasis>TCP/IP
- Illustrated, Volume 2: The Implementation</emphasis>. Reading,
- Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>Referencia de seguridad</title>
-
- <itemizedlist>
- <listitem>
- <para>Cheswick, William R. and Steven M. Bellovin. <emphasis>Firewalls
- and Internet Security: Repelling the Wily Hacker</emphasis>.
- Reading, Mass. : Addison-Wesley, 1995. ISBN
- 0-201-63357-4</para>
- </listitem>
-
- <listitem>
- <para>Garfinkel, Simson and Gene Spafford. <emphasis>Practical UNIX
- Security</emphasis>. 2nd Ed. O'Reilly &amp; Associates, Inc.,
- 1996. ISBN 1-56592-148-8</para>
- </listitem>
-
- <listitem>
- <para>Garfinkel, Simson. <emphasis>PGP Pretty Good
- Privacy</emphasis> O'Reilly &amp; Associates, Inc., 1995. ISBN
- 1-56592-098-8</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>Referencia de hardware</title>
-
- <itemizedlist>
- <listitem>
- <para>Anderson, Don and Tom Shanley. <emphasis>Pentium Processor
- System Architecture</emphasis>. 2nd Ed. Reading, Mass. :
- Addison-Wesley, 1995. ISBN 0-201-40992-5</para>
- </listitem>
-
- <listitem>
- <para>Ferraro, Richard F. <emphasis>Programmer's Guide to the EGA,
- VGA, and Super VGA Cards</emphasis>. 3rd ed. Reading, Mass. :
- Addison-Wesley, 1995. ISBN 0-201-62490-7</para>
- </listitem>
-
- <listitem>
- <para>La corporación Intel publica documentación sobre sus CPUs,
- chipsets y estándares en su <link xlink:href="http://developer.intel.com/">web para desarrolladores</link>,
- normalmente en archivos con formato PDF.</para>
- </listitem>
-
- <listitem>
- <para>Shanley, Tom. <emphasis>80486 System Architecture</emphasis>.
- 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
- 0-201-40994-1</para>
- </listitem>
-
- <listitem>
- <para>Shanley, Tom. <emphasis>ISA System Architecture</emphasis>.
- 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
- 0-201-40996-8</para>
- </listitem>
-
- <listitem>
- <para>Shanley, Tom. <emphasis>PCI System Architecture</emphasis>.
- 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
- 0-201-40993-3</para>
- </listitem>
-
- <listitem>
- <para>Van Gilluwe, Frank. <emphasis>The Undocumented PC</emphasis>.
- Reading, Mass: Addison-Wesley Pub. Co., 1994. ISBN
- 0-201-62277-7</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>Historia de UNIX</title>
-
- <itemizedlist>
- <listitem>
- <para>Lion, John <emphasis>Lion's Commentary on UNIX, 6th Ed. With
- Source Code</emphasis>. ITP Media Group, 1996. ISBN
- 1573980137</para>
- </listitem>
-
- <listitem>
- <para>Raymond, Eric S. <emphasis>The New Hacker's Dictionary, 3rd
- edition</emphasis>. MIT Press, 1996. ISBN
- 0-262-68092-0. Also known as the <link xlink:href="http://www.ccil.org/jargon/jargon.html">Jargon
- File</link></para>
- </listitem>
-
- <listitem>
- <para>Salus, Peter H. <emphasis>A quarter century of UNIX</emphasis>.
- Addison-Wesley Publishing Company, Inc., 1994. ISBN
- 0-201-54777-5</para>
- </listitem>
-
- <listitem>
- <para>Simon Garfinkel, Daniel Weise, Steven Strassmann. <emphasis>The
- UNIX-HATERS Handbook</emphasis>. IDG Books Worldwide, Inc.,
- 1994. ISBN 1-56884-203-1</para>
- </listitem>
-
- <listitem>
- <para>Don Libes, Sandy Ressler <emphasis>Life with UNIX</emphasis>
- &mdash; special edition. Prentice-Hall, Inc., 1989. ISBN
- 0-13-536657-7</para>
- </listitem>
-
- <listitem>
- <para><emphasis>The BSD family tree</emphasis>. 1997. <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree</link>
- o <link xlink:href="file://localhost/usr/share/misc/bsd-family-tree">local</link> on a FreeBSD-current
- machine.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>The BSD Release Announcements collection</emphasis>.
- 1997. <link xlink:href="http://www.de.FreeBSD.org/de/ftp/releases/">http://www.de.FreeBSD.org/de/ftp/releases/</link></para>
- </listitem>
-
- <listitem>
- <para><emphasis>Networked Computer Science Technical Reports
- Library</emphasis>. <link xlink:href="http://www.ncstrl.org/">http://www.ncstrl.org/</link></para>
- </listitem>
-
- <listitem>
- <para><emphasis>Antiguas releases BSD procedentes del Computer Systems Research
- Group (CSRG)</emphasis>. <link xlink:href="http://www.mckusick.com/csrg/">http://www.mckusick.com/csrg/</link>:
- El paquete de 4 CDs cubre todas las versiones de BSD desde la 1BSD hasta la
- 4.4BSD y 4.4BSD-Lite2 (pero no la 2.11BSD, desafortunadamente). El último
- disco contiene el código fuente final y los archivos SCCS.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>Diarios y revistas</title>
-
- <itemizedlist>
- <listitem>
- <para><emphasis>The C/C++ Users Journal</emphasis>. R&amp;D
- Publications Inc. ISSN 1075-2838</para>
- </listitem>
-
- <listitem>
- <para><emphasis>Sys Admin &mdash; The Journal for UNIX System
- Administrators</emphasis> Miller Freeman, Inc., ISSN
- 1061-2688</para>
- </listitem>
- </itemizedlist>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/book.xml b/es_ES.ISO8859-1/books/handbook/book.xml
deleted file mode 100755
index 22413096a0..0000000000
--- a/es_ES.ISO8859-1/books/handbook/book.xml
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
-<!ENTITY % chapters SYSTEM "chapters.ent">
-%chapters;
-<!ENTITY % txtfiles SYSTEM "txtfiles.ent">
-%txtfiles;
-]>
-<!--
- The FreeBSD Documentation Project
-
-
-
- %SOURCE% en_US.ISO8859-1/books/handbook/book.xml
- %SRCID% 1.173
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/book.xml,v 1.7 2004/10/08 22:36:39 jesusr Exp $
--->
-<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="es">
- <info><title>Manual de FreeBSD</title>
-
-
- <author><orgname>Proyecto de Documentación de FreeBSD</orgname></author>
-
- <pubdate>Febrero 1999</pubdate>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
-
- <copyright>
- <year>1995</year>
- <year>1996</year>
- <year>1997</year>
- <year>1998</year>
- <year>1999</year>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>The FreeBSD Documentation Project</holder>
- </copyright>
-
- &legalnotice;
-
- <legalnotice xml:id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.3com;
- &tm-attrib.3ware;
- &tm-attrib.arm;
- &tm-attrib.adaptec;
- &tm-attrib.adobe;
- &tm-attrib.apple;
- &tm-attrib.corel;
- &tm-attrib.creative;
- &tm-attrib.cvsup;
- &tm-attrib.heidelberger;
- &tm-attrib.ibm;
- &tm-attrib.ieee;
- &tm-attrib.intel;
- &tm-attrib.intuit;
- &tm-attrib.linux;
- &tm-attrib.lsilogic;
- &tm-attrib.m-systems;
- &tm-attrib.macromedia;
- &tm-attrib.microsoft;
- &tm-attrib.netscape;
- &tm-attrib.nexthop;
- &tm-attrib.opengroup;
- &tm-attrib.oracle;
- &tm-attrib.powerquest;
- &tm-attrib.realnetworks;
- &tm-attrib.redhat;
- &tm-attrib.sap;
- &tm-attrib.sun;
- &tm-attrib.symantec;
- &tm-attrib.themathworks;
- &tm-attrib.thomson;
- &tm-attrib.usrobotics;
- &tm-attrib.vmware;
- &tm-attrib.waterloomaple;
- &tm-attrib.wolframresearch;
- &tm-attrib.xfree86;
- &tm-attrib.xiph;
- &tm-attrib.general;
- </legalnotice>
-
- <abstract>
- <para>¡Bienvenido a FreeBSD! Este manual cubre la
- instalación y uso diario de <emphasis>FreeBSD
- &rel.current;-RELEASE</emphasis> y <emphasis>FreeBSD
- &rel2.current;-RELEASE</emphasis>. Este manual está en
- <emphasis>constante evolución</emphasis> y es el resultado del
- trabajo de muchas personas. Algunas secciones no están
- completas y otras necesitan ser actualizadas. Si está
- interesado en colaborar en este proyecto envíe un mensaje de
- correo electrónico a &a.doc;. La última versión
- de este documento está siempre disponible en el <link xlink:href="http://www.FreeBSD.org"> sitio web de
- &os;</link>. También puede encontrarla en diferentes
- formatos y opciones de compresión en el <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">servidor FTP de
- FreeBSD</link> o en las numerosas <link linkend="mirrors-ftp">réplicas</link>. Si prefiere una
- copia en papel de este manual puede comprarla en <link xlink:href="http://www.freebsdmall.com/">FreeBSD Mall</link>. También
- es posible <link xlink:href="../../../../search/index.html">hacer búsquedas</link>
- en este manual.</para>
- </abstract>
- </info>
-
-<!-- Eliminamos el preface hasta que este traducido -->
- &chap.preface;
-
- <part xml:id="getting-started">
- <title>Primeros pasos</title>
-
- <partintro>
- <para>Esta parte del manual de &os; es para usuarios y
- administradores nuevos en &os;. El cometido de estos
- capítulos es:</para>
-
- <itemizedlist>
- <listitem>
- <para>Ofrecer una introducción a &os;.</para>
- </listitem>
-
- <listitem>
- <para>Guiar a través de una instalación de
- &os;.</para>
- </listitem>
-
- <listitem>
- <para>Explicar conceptos básica de Unix.</para>
- </listitem>
-
- <listitem>
- <para>Explicar cómo instalar la gran cantidad de software de
- terceros disponible para &os;.</para>
- </listitem>
-
- <listitem>
- <para>Presentar una introducción al manejo de X Window,
- el sistema de ventanas de &unix;, y detallar cómo
- configurar un entorno de escritorio
- más productivo.</para>
- </listitem>
- </itemizedlist>
-
- <para>Se ha intentado minimizar el número de referencias a
- otras secciones de este documento para evitar el salto entre
- páginas y facilitar la lectura continuada.</para>
- </partintro>
-
- &chap.introduction;
- &chap.install;
- &chap.basics;
- &chap.ports;
- &chap.x11;
- </part>
-
- <part xml:id="common-tasks">
- <title>Tareas comunes</title>
-
- <partintro>
- <para>Una vez tratados los aspectos más básicos,
- pasaremos a detallar alguna de las características
- más utilizadas de &os;:</para>
-
- <itemizedlist>
- <listitem>
- <para>Introducción a algunas de las aplicaciones de
- escritorio más útiles y extendidas: navegadores,
- herramientas de productividad,
- visores de documentos, etc.</para>
- </listitem>
-
- <listitem>
- <para>Introducción a algunas de las herramientas
- multimedia de &os;.</para>
- </listitem>
-
- <listitem>
- <para>Explicación de cómo crear un kernel
- personalizado en &os;, lo que le permitirá
- añadir nuevas funcionalidades al
- sistema.</para>
- </listitem>
-
- <listitem>
- <para>Descripción en detalle del sistema de
- impresión, tanto en entornos de escritorio como en
- impresoras conectadas en red.</para>
- </listitem>
-
- <listitem>
- <para>Cómo ejecutar aplicaciones de &linux; en
- &os;.</para>
- </listitem>
- </itemizedlist>
-
- <para>Algunos de los capítulos recomiendan lecturas de
- capítulos anteriores, lo que se indica al inicio de
- cada capítulo.</para>
- </partintro>
-
- &chap.desktop;
- &chap.multimedia;
- &chap.kernelconfig;
- &chap.printing;
- &chap.linuxemu;
- </part>
-
- <part xml:id="system-administration">
- <title>Administración del sistema.</title>
-
- <partintro>
- <para>Los restantes capítulos de este libro cubren
- todos los aspectos de administración de un sistema &os;.
- Cada capítulo comienza describiendo lo que será
- aprendido una vez finalizada la lectura, explicando también
- los conocimientos mínimos necesarios para una
- comprensión satisfactoria del texto.</para>
-
- <para>Estos capítulos están diseñados para
- leerse cuando se necesita la información. No es
- necesario leerlos en un determinado orden ni es necesario
- leerlos todos antes de comenzar a usar &os;.</para>
- </partintro>
-
- &chap.config;
- &chap.boot;
- &chap.users;
- &chap.security;
- &chap.jails;
- &chap.mac;
- &chap.audit;
- &chap.disks;
- &chap.geom;
- &chap.vinum;
- &chap.virtualization;
- &chap.l10n;
- &chap.cutting-edge;
- </part>
-
- <part xml:id="network-communication">
- <title>Comunicaciones en red</title>
-
- <partintro>
- <para>&os; es uno de los sistemas operativos más
- utilizados como servidores en red de alto rendimiento. Los
- siguientes capítulos cubren:</para>
-
- <itemizedlist>
- <listitem>
- <para>Comunicaciones serie</para>
- </listitem>
-
- <listitem>
- <para>PPP y PPP sobre Ethernet</para>
- </listitem>
-
- <listitem>
- <para>Correo electrónico</para>
- </listitem>
-
- <listitem>
- <para>Servidores de red</para>
- </listitem>
-
- <listitem>
- <para>Otros aspectos avanzados de red</para>
- </listitem>
- </itemizedlist>
-
- <para>Estos capítulos están diseñados para
- leerse según van haciendo falta. No tienen por qué
- leerse en un determinado orden, ni tiene por qué leerlos
- todos antes de poder usar &os; en un entorno de red.</para>
- </partintro>
-
- &chap.serialcomms;
- &chap.ppp-and-slip;
- &chap.firewalls;
- &chap.mail;
- &chap.network-servers;
- &chap.advanced-networking;
-
- </part>
-
- <part xml:id="appendices">
- <title>Apéndices</title>
-
- &chap.mirrors;
- &chap.bibliography;
- &chap.eresources;
- &chap.pgpkeys;
- &chap.index;
-
- </part>
- &chap.colophon;
-</book>
diff --git a/es_ES.ISO8859-1/books/handbook/boot/chapter.xml b/es_ES.ISO8859-1/books/handbook/boot/chapter.xml
deleted file mode 100644
index f3ef6fa191..0000000000
--- a/es_ES.ISO8859-1/books/handbook/boot/chapter.xml
+++ /dev/null
@@ -1,763 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/boot/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/boot/chapter.xml,v 1.3 2004/10/08 18:39:51 jesusr Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="boot">
- <title>El proceso de arranque en &os;</title>
-
- <sect1 xml:id="boot-synopsis">
- <title>Sinopsis</title>
- <indexterm><primary>inicio</primary></indexterm>
- <indexterm><primary>mecanismo de arranque (bootstrap)</primary></indexterm>
-
- <para>Al proceso de inicio del sistema y carga del sistema operativo
- se le conoce como <quote>mecanismo de arranque</quote> (bootstrap),
- o simplemente
- <quote>arranque</quote> (booting). El proceso de arranque de FreeBSD
- provee de gran flexibilidad al configurar lo que ocurre cuando se
- inicia el sistema, permitiendole seleccionar de diferentes sistemas
- operativos instalados en el mismo ordenador, o inclusive diferentes
- versiones del mismo sistema oprativo o kernels instalados.</para>
-
- <para>Este capítulo detalla las opciones de configuración
- que puede manejar y como personalizar el proceso de arranque de
- FreeBSD. Esto incluye todo lo que sucede hasta que el kernel de
- FreeBSD comienza con la comprobación de dispositivos y se
- inicializa &man.init.8;. En caso de que usted desconozca cuando ocurre
- todo esto, esto sucede cuando el color del texto que aparece al iniciar
- el sistema, cambia de blanco a gris.</para>
-
- <para>Una vez que concluya con la lectura de este capítulo, usted
- sabrá:</para>
-
- <itemizedlist>
- <listitem>
- <para>Cuales son los componentes del mecanismo de arranque de FreeBSD,
- y como es que interactuan entre sí.</para>
- </listitem>
-
- <listitem>
- <para>Las opciones que puede manejar con los componentes del mecanismo
- de arranque de FreeBSD, para controlar el proceso de inicio
- del sistema.</para>
- </listitem>
- </itemizedlist>
-
- <note>
- <title>Sólo x86</title>
-
- <para>El presente capítulo describe únicamente el
- proceso de inicio, para sistemas FreeBSD que corren en plataformas
- Intel x86.</para>
- </note>
- </sect1>
-
- <sect1 xml:id="boot-introduction">
- <title>El problema que representa arrancar el sistema</title>
-
- <para>El encender una computadora e iniciar el sistema operativo, trae
- consigo un dilema interesante. Por definición, la computadora
- no sabe hacer nada, hasta que el sistema operativo ha sido cargado. Esto
- incluye la ejecución de programas desde el disco duro. Así
- que este es el dilema; si la computadora no sabe hacer nada hasta que se
- cargue el sistema operativo, y el sistema operativo es un conjunto de
- programas que residen en el disco duro, ?Cómo es que
- arranca el sistema operativo?</para>
-
- <para>Este problema se asemeja a un problema del libro <citetitle>Las
- Aventuras del Barón Munchausen</citetitle>. Donde un personaje ha
- caido parcialmente en un hoyo, y ha podido salir al tomarse de las cintas
- de sus botas y jalarse hacia fuera. En los años mozos de la
- computación, el término utilizado para hablar sobre el
- proceso de carga del sistema operativo era <firstterm>mecanismo de
- arranque</firstterm> (bootstrap), que por efectos de simplificación
- ahora conocemos como <quote>arranque</quote> (booting).</para>
-
- <para>En equipos con arquitectura x86, el Sistema Básico de
- Entrada/Salida (BIOS) es el responsable de cargar el sistema
- operativo. Para hacer esto, el BIOS busca en el disco duro el Registro
- Maestro de Arranque (RMA) (N de T. Conocido como MBR&mdash;Master Boot
- Record), el cual debe localizarse en un lugar específico del disco.
- El BIOS cuenta con suficiente información, para cargar y ejecutar
- el RMA, y asumir que el RMA puede encargarse del resto de las tareas
- necesarias en la carga del sistema operativo.</para>
-
- <indexterm>
- <primary>BIOS</primary>
- <secondary>Sistema Básico de Entrada/Salida</secondary>
- </indexterm>
-
- <para>Si usted sólo cuenta con un sistema operativo instalado en
- su disco duro, el RMA estándar será suficiente. Este RMA
- buscará la primer partición del disco que pueda arrancar, y
- posteriormente ejecutará el código restante de dicha
- partición, para efecto de completar la carga del sistema
- operativo.</para>
-
- <para>Si usted cuenta con varios sistemas operativos instalados en su
- disco, entonces puede hacer uso de un RMA diferente, uno que despliegue
- una lista de los diferentes sistemas operativos, y le permita escoger
- cual de ellos desea que se cargue. FreeBSD cuenta con un RMA de este
- tipo que puede ser instalado, así como otros distribuidores de
- sistemas operativos cuentan con RMAs alternativos.</para>
-
- <para>En el caso de FreeBSD, el resto del mecanismo de arranque, está
- dividido en tres etapas. La primer etapa es ejecutada por al RMA, que
- sabe lo suficiente como para poner a la computadora en un estado
- específico y ejecutar la segunda etapa. La segunda etapa puede
- hacer un poco más que esto, antes de ejecutar la tercer etapa. La
- tercer etapa finaliza el trabajo de carga del sistema operativo. El
- trabajo es dividido en tres etapas, debido a las limitantes que tiene
- una PC, en cuanto al tamaño de los programas a ejecutar, durante
- las etapas uno y dos. El encadenar estas tareas, le permiten a FreeBSD
- contar con un arrancador más flexible.</para>
-
- <indexterm><primary>kernel</primary></indexterm>
- <indexterm><primary><command>init</command></primary></indexterm>
-
- <para>Posteriormente el kernel es inicializado y comienza con la
- comprobación de dispositivos, y prepararlos para su uso. Una
- vez que el proceso de arranque del kernel ha finalizado, el kernel
- transfiere el control al proceso de usuario &man.init.8;, quien se
- asegura de que los discos se encuentren en buen estado para su
- uso. Posteriormente &man.init.8; inicia la configuración
- fuente a nivel de usuario, que monta los sistemas de ficheros,
- configura las tarjetas de red para que pueden comunicarse en la red,
- y comunmente inicia todos los procesos que normalmente son ejecutados
- en un sistema FreeBSD al arrancar el mismo.</para>
- </sect1>
-
- <sect1 xml:id="boot-blocks">
- <title>El RMA y las etapas de arranque uno, dos y tres</title>
-
- <sect2 xml:id="boot-boot0">
- <title>RMA, <filename>/boot/boot0</filename></title>
- <indexterm><primary>Registro Maestro de Arranque (RMA)</primary></indexterm>
-
- <para>El RMA de FreeBSD, se localiza en <filename>/boot/boot0</filename>.
- Este es una <emphasis>copia</emphasis> del RMA, ya que el RMA real
- debe localizarse en una parte especial del disco duro, fuera de la
- área de FreeBSD.</para>
-
- <para>El fichero <filename>boot0</filename> es muy simple, dado que el
- programa en el <abbrev>RMA</abbrev> sólo puede ser de 512 bytes.
- Si usted ha instalado el RMA de FreeBSD y ha instalado varios sistemas
- operativos en sus discos duros, entonces al momento de arrancar el
- sistema, visualizará una pantalla similar a la siguiente.</para>
-
- <example xml:id="boot-boot0-example">
- <title>Pantalla <filename>boot0</filename></title>
-
- <screen>F1 DOS
-F2 FreeBSD
-F3 Linux
-F4 ??
-F5 Drive 1
-
-Default: F2</screen>
- </example>
-
- <para>Es sabido que otros sistemas, en particular Windows 95, sobreescriben
- el RMA con el suyo. Si esto le sucede, o bien desea reemplazar su RMA
- actual con el RMA de FreeBSD, entonces puede utilizar las siguientes
- órdenes.</para>
-
- <screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 dispositivo</userinput></screen>
-
- <para>Donde <replaceable>dispositivo</replaceable> es aquel, desde el
- cual usted pretende arrancar el sistema, tal como
- <filename>ad0</filename> para el disco conectado al primer IDE,
- <filename>ad2</filename> para el disco maestro conectado al IDE
- secundario, <filename>da0</filename> para el primer disco SCSI, y
- así sucesivamente.</para>
-
- <para>Por otro lado, si usted es un usuario de Linux, y prefiere que
- la aplicación <application>LILO</application> controle el
- proceso de arranque, puede editar el fichero
- <filename>/etc/lilo.conf</filename> para incluir a FreeBSD, o bien
- seleccionar la opción
- <option>Leave The Master Boot Record Untouched</option> durante
- el proceso de instalación. Si ha instalado el gestor de
- arranque de FreeBSD, puede arrancar Linux y modificar el fichero
- de configuración de <application>LILO</application>,
- <filename>/etc/lilo.conf</filename>, añadiendo la
- siguiente opción:</para>
-
- <programlisting>other=/dev/hdXY
-table=/dev/hdb
-loader=/boot/chain.b
-label=FreeBSD</programlisting>
-
- <para>lo que permitirá el arranque de FreeBSD y Linux, por
- medio de <application>LILO</application>. En nuestro ejemplo
- hemos utilizado <replaceable>XY</replaceable> para especificar
- el disco utilizado y su partición. Si usted utiliza un
- sistema <acronym>SCSI</acronym>, deberá cambiar
- <replaceable>/dev/hdXY</replaceable> por algo similar a
- <replaceable>/dev/sdXY</replaceable>, que nuevamente utiliza
- la sintáxis <replaceable>XY</replaceable>. La opción
- <option>loader=/boot/chain.b</option> puede omitirse si usted
- cuenta con ambos sistemas operativos en el mismo disco. Una vez
- que esto se ha completado, puede ejecutar
- <command>/sbin/lilo -v</command> para que se actualicen los cambios
- en el sistema, lo cual deberá verificarse con los
- mensajes que aparezcan en pantalla.</para>
-
- <note>
- <para>N de T: La opción mencionada como;
- <option>Leave The Master Boot Record Untouched</option>, se
- mostrará <quote>tal cual</quote> aparece en este
- documento, una vez que ha terminado la fase de
- partición del disco duro.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="boot-boot1">
- <title>Etapa uno, <filename>/boot/boot1</filename>, y etapa dos,
- <filename>/boot/boot2</filename></title>
-
- <para>Conceptualmente las estapas uno y dos, son parte del mismo
- programa, en la misma área del disco. Por cuestiones de
- espacio se han dividido en dos, pero estas siempre se instalaran
- de manera conjunta.</para>
-
- <para>Estas son localizadas en el sector de arranque, de la
- partición de arranque, que es donde <link linkend="boot-boot0">boot0</link>, o cualquier otro programa
- del <abbrev>RMA</abbrev> espera encontrar el programa que
- dará continuación al proceso de arranque. Los
- ficheros localizados bajo el directorio <filename>/boot</filename>
- son copias de los ficheros reales, que se localizan fuera del
- sistema de ficheros de FreeBSD.</para>
-
- <para>El fichero <filename>boot1</filename> es muy simple, en virtud
- de que sólo puede tener un tamaño de 512 bytes, y
- conocer simplemente del etiquetador de discos de FreeBSD
- (<firstterm>disklabel</firstterm>), el cual almacena la
- información de las particiones, para efecto de localizar
- y ejecutar <filename>boot2</filename>.</para>
-
- <para>El fichero <filename>boot2</filename> es un poco más
- sofisticado, y comprende lo suficiente del sistema de ficheros de
- FreeBSD como para localizar ficheros en el, y puede proveer una
- interfaz simple, para seleccionar el kernel o cargador que
- deberá ejecutarse.</para>
-
- <para>En virtud de que el <link linkend="boot-loader">cargador</link>
- (loader) es mucho más sofisticado, y provee una
- configuración de arranque más sencilla de utilizar,
- <filename>boot2</filename> la ejecuta normalmente, una vez que ha
- terminado de solicitar el arranque del kernel directamente.</para>
-
- <example xml:id="boot-boot2-example">
- <title>Pantalla de <filename>boot2</filename></title>
-
- <screen>&gt;&gt; FreeBSD/i386 BOOT
-Default: 0:ad(0,a)/kernel
-boot:</screen>
- </example>
-
- <para>Si alguna vez requiere reemplazar los ficheros
- <filename>boot1</filename> y <filename>boot2</filename>
- instalados, utilice &man.disklabel.8;.</para>
-
- <screen>&prompt.root; <userinput>disklabel -B partición</userinput></screen>
-
- <para>Donde <replaceable>partición</replaceable> es el disco
- y partición del cual pretende arrancar el sistema, tal como
- <filename>ad0s1</filename> para la primer partición del
- disco Mastro&mdash;Primario.</para>
-
- <warning>
- <title>Modo peligrosamente dedicado</title>
-
- <para>Si sólo utiliza el nombre del disco, tal como
- <filename>ad0</filename>, al usar &man.disklabel.8;
- creará un disco peligrosamente dedicado, sin partición
- alguna. Seguramente esto no es lo que desea hacer, así que
- asegurese dos veces antes de presionar la tecla <keycap>Return</keycap>
- cuando utilice &man.disklabel.8;.</para>
- </warning>
- </sect2>
-
- <sect2 xml:id="boot-loader">
- <title>Etapa tres, <filename>/boot/loader</filename> (cargador de arranque)</title>
-
- <indexterm><primary>cargador-de-arranque (boot-loader)</primary></indexterm>
- <para>El cargador es la etapa final de las tres etapas del mecanismo
- de arranque, y esta localizado en el sistema de ficheros, normalmente
- como <filename>/boot/loader</filename>.</para>
-
- <para>El cargador pretende ser un metodo amistoso de
- configuración, utilizando una serie de órdenes integradas
- de fácil uso, respaldado por un intérprete más
- poderoso, con una serie de órdenes de mayor complejidad.</para>
-
- <sect3 xml:id="boot-loader-flow">
- <title>Flujo del programa cargador</title>
-
- <para>Durante la inicialización del sistema, el cargador
- hará una comprobación en busca de una
- consola y discos, y sabra de que disco se encuentra
- arrancando. Establecerá las variables necesarias, y
- posteriormente es iniciado el intérprete donde se
- pueden introducir órdenes desde un <quote>script</quote> o de
- manera interactiva.</para>
-
- <indexterm><primary>cargador</primary></indexterm>
- <indexterm><primary>configuración del cargador</primary></indexterm>
-
- <para>Posteriormente el cargador leerá el fichero
- <filename>/boot/loader.rc</filename>, que por default lee
- la información del fichero
- <filename>/boot/defaults/loader.conf</filename> que a su
- vez, establece las variables correspondientes y verifica en
- el fichero <filename>/boot/loader.conf</filename> los cambios
- locales que se hayan hecho, para establecer valores de las
- variables modificadas. Una vez llevado a cabo esto,
- <filename>loader.rc</filename> actua sobre estas variables,
- cargando cualquier módulo y kernel seleccionado.</para>
-
- <para>Finalmente, y por default, el cargador hace una pausa contando
- 10 segundos y en espera de que al presionar una tecla se
- interrumpa el proceso, de no ser así, procederá a
- arrancar el kernel. En el caso de que al hacer esta pausa, se haya
- presionado una tecla (diferente de <keycap>Return</keycap>), el
- proceso será interrumpido y se nos mostrará un
- <quote>prompt</quote>, que entiende el conjunto de órdenes
- de fácil-uso, y donde el usuario puede ajustar
- ciertas variables, cargar y descargar todos los módulos, y
- también arrancar o reiniciar el sistema.</para>
- </sect3>
-
- <sect3 xml:id="boot-loader-commands">
- <title>Órdenes internas del cargador</title>
-
- <para>A continuación se presentan las órdenes más
- comunes del cargador. Para ver una descripción detallada
- de los mismos, por favor consulte la página de manual de
- &man.loader.8;</para>
-
- <variablelist>
- <varlistentry>
- <term>autoboot <replaceable>segundos</replaceable></term>
-
- <listitem>
- <para>Procede a iniciar el arranque del sistema, si es que
- no es interrumpido el periodo dado, en segundos. Despliega
- una cuenta regresiva, y el tiempo dado es de 10 segundos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>boot
- <optional>-opciones</optional>
- <optional>nombre_del_kernel</optional></term>
-
- <listitem>
- <para>Procede a iniciar el kernel de manera inmediata, con
- las opciones dadas, si es que fuera el caso y el kernel
- especificado, si es que se especifica alguno.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>boot-conf</term>
-
- <listitem>
- <para>Rehace la configuración automática de
- modulos en función a las variables definidas, como
- sucede al arrancar. Esta opción sólo tiene
- sentido utilizarla, si en primer lugar hemos usado
- <command>unload</command>, y hemos modificado alguna
- variable, siendo lo más común el
- <envar>kernel</envar>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>help
- <optional>tema</optional></term>
-
- <listitem>
- <para>Muestra la ayuda de un tema específico, que lee
- del fichero <filename>/boot/loader.help</filename>. Si el
- tema que se indica es <literal>index</literal>, entonces se
- mostrará una lista de todos los temas disponibles.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>include <replaceable>fichero</replaceable>
- &hellip;</term>
-
- <listitem>
- <para>Procesa el fichero que se ha especificado.
- El fichero se lee e interpreta
- línea por línea. Cualquier
- error detendrá inmediatamente a include.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>load <optional>-t
- tipo</optional>
- <replaceable>fichero</replaceable></term>
-
- <listitem>
- <para>Carga el kernel, modulo del kernel, o el fichero
- del tipo dado, en base al fichero especificado. Cualquier
- argumento que se añada, será pasado al
- fichero.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>ls <optional>-l</optional>
- <optional>ruta</optional></term>
-
- <listitem>
- <para>Despliega un listado de todos los ficheros que se
- localizan en la ruta especificada, o en el directorio
- raíz, si es que no se le especifica ruta alguna. Si
- se utiliza la opción <option>-l</option>, también
- se mostrara el tamaño de los ficheros.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>lsdev <optional>-v</optional></term>
-
- <listitem>
- <para>Nos muestra una lista de todos los dispositivos desde
- los cuales puede ser posible cargar modulos. Si se
- incluye la opción <option>-v</option>, el listado
- que se obtiene cuenta con más detalle.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>lsmod <optional>-v</optional></term>
-
- <listitem>
- <para>Despliega los módulos cargados. Si se utiliza la
- opción <option>-v</option>, se mostraran más
- detalles.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>more <replaceable>fichero</replaceable></term>
-
- <listitem>
- <para>Despliega el contenido del fichero especificado, haciendo
- una pausa a cada numero determinado de <varname>LINEAS</varname>
- mostradas.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>reboot</term>
-
- <listitem>
- <para>Reinicia el sistema de forma inmediata.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>set <replaceable>variable</replaceable></term>
- <term>set
- <replaceable>variable</replaceable>=<replaceable>valor</replaceable></term>
-
- <listitem>
- <para>Especifica los valores de las variables de entorno del
- cargador.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>unload</term>
-
- <listitem>
- <para>Remueve todos los módulos cargados.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect3>
-
- <sect3 xml:id="boot-loader-examples">
- <title>Ejemplos de uso del cargador</title>
-
- <para>He aqui unos ejemplos prácticos sobre el uso
- correcto del cargador.</para>
-
- <itemizedlist>
- <listitem>
- <indexterm><primary>modo de arranque mono-usuario</primary></indexterm>
-
- <para>Para arrancar simplemente su kernel usual, pero en modo
- mono-usuario, deberá hacer lo siguiente:</para>
-
- <screen><userinput>boot -s</userinput></screen>
- </listitem>
-
- <listitem>
- <para>Para descargar su kernel usual y sus módulos
- correspondientes, y posteriormente cargar su kernel anterior
- (o cualquier otro):</para>
- <indexterm>
- <primary><filename>kernel.old</filename></primary>
- </indexterm>
-
- <screen><userinput>unload</userinput>
-<userinput>load kernel.old</userinput></screen>
-
- <para>Puede utilizar <filename>kernel.GENERIC</filename> para
- referirse al kernel generico actual que viene con la
- instalación, o bien puede utilizar
- <filename>kernel.old</filename> para hacer referencia al
- kernel anterior (por ejemplo, cuando ha actualizado su
- sistema o ha recompilado su propio kernel).</para>
-
- <note>
- <para>Utilice lo siguiente para cargar sus módulos
- actuales con otro kernel:</para>
-
- <screen><userinput>unload</userinput>
-<userinput>set kernel="kernel.old"</userinput>
-<userinput>boot-conf</userinput></screen></note>
- </listitem>
-
- <listitem>
- <para>Para cargar un escrito de configuración (script que
- de forma automática hará todo lo que normalmente
- hace usted de forma manual al momento de ejecutarse el
- configurador de arranque):</para>
-
- <screen><userinput>load -t escrito_de_configuración /boot/kernel.conf</userinput></screen>
- </listitem>
- </itemizedlist>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="boot-kernel">
- <title>Interacción con el kernel durante el arranque</title>
- <indexterm>
- <primary>kernel</primary>
- <secondary>interacción de arranque</secondary>
- </indexterm>
-
- <para>Una vez que el kernel ha sido iniciado, ya sea por
- el <link linkend="boot-loader">cargador</link> (que es lo
- común) o bien por <link linkend="boot-boot1">boot2</link> (sobrepasando el cargador),
- examinará las opciones de arranque, en busca de cambios,
- y ajustar su comportamiento en caso de ser necesario.</para>
-
- <sect2 xml:id="boot-kernel-bootflags">
- <title>Opciones de arranque del kernel</title>
- <indexterm>
- <primary>kernel</primary>
- <secondary>opciones de arranque</secondary>
- </indexterm>
-
- <para>He aqui las opciones de arranque más comunes:</para>
-
- <variablelist xml:id="boot-kernel-bootflags-list">
- <varlistentry>
- <term><option>-a</option></term>
-
- <listitem>
- <para>durante la inicialización del kernel, pregunta por
- los dispositivos a utilizar, para montar el sistema de ficheros
- raíz.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-C</option></term>
-
- <listitem>
- <para>arranque desde una unidad de CDROM.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-c</option></term>
-
- <listitem>
- <para>ejecuta UserConfig, la utilidad de configuración
- de arranque del kernel.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-s</option></term>
-
- <listitem>
- <para>arranca el sistem en modo mono-usuario.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-v</option></term>
-
- <listitem>
- <para>imprime mensajes informativos durante el arranque del kernel</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <note>
- <para>Existen otras opciones de arranque, por favor vea la página
- de ayuda &man.boot.8; para más información al respecto.
- </para>
- </note>
- </sect2>
-
-<!-- <sect2 id="boot-kernel-userconfig">
- <title>UserConfig: The boot-time kernel configurator</title>
-
- <para> </para>
- </sect2> -->
- </sect1>
-
- <sect1 xml:id="device-hints">
- <info><title>Device Hints</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <indexterm>
- <primary>device.hints</primary>
- </indexterm>
-
- <para>Pendiente de Traducción</para>
-
- </sect1>
-
- <sect1 xml:id="boot-init">
- <title>Init: inicialización del proceso de control</title>
-
- <indexterm>
- <primary><command>init</command></primary>
- </indexterm>
-
- <para>Ya que el kernel ha finalizado de arrancar, pasará el
- control a un proceso de usuario llamado <command>init</command>,
- el cual se localiza en <filename>/sbin/init</filename>, o bien
- en la ruta especificada por la variable de entorno
- <envar>init_path</envar> del cargador.</para>
-
- <sect2 xml:id="boot-autoreboot">
- <title>Secuencia automática de reinicio</title>
-
- <para>La secuencia automática de reinicio se asegura
- de que los sistemas de ficheros disponibles en el sistema
- sean consistentes. Si no lo son, y el programa
- <command>fsck</command> no puede arreglar estas
- inconsistencias, <command>init</command> envia el sistema
- a modo <link linkend="boot-singleuser">monousuario</link>, de
- tal forma que el administrador pueda ingresar en él y
- arreglar los problemas directamente.</para>
- </sect2>
-
- <sect2 xml:id="boot-singleuser">
- <title>Modo monousuario</title>
- <indexterm><primary>modo mono-usuario</primary></indexterm>
- <indexterm><primary>consola</primary></indexterm>
-
- <para>A este modo se puede llegar por medio de la <link linkend="boot-autoreboot">secuencia automática de reinicio</link>,
- o por medio de la opción <option>-s</option> en el
- arranque de usuario o al establecer la variable
- <envar>boot_single</envar> en el cargador.</para>
-
- <para>También desde el modo <link linkend="boot-multiuser">multi-usuario</link> se puede acceder,
- al utilizar <command>shutdown</command> sin la
- opción de reinicio (<option>-r</option>) o la de
- apagado (<option>-h</option>) del sistema.</para>
-
- <para>Si la consola del sistema esta configurada de modo
- <literal>inseguro</literal> en el fichero
- <filename>/etc/ttys</filename>, entonces el sistema
- solicitará la contraseña del
- <systemitem class="username">superusuario</systemitem> (root), antes de ingresar
- al sistema en modo mono-usuario.</para>
-
- <example xml:id="boot-insecure-console">
- <title>Una consola insegura en /etc/ttys</title>
-
- <programlisting># name getty type status comments
-#
-# If console is marked "insecure", then init will ask for the root password
-# when going to single-user mode.
-console none unknown off insecure</programlisting>
- </example>
-
- <note>
- <para>Una consola <literal>insegura</literal> significa que usted
- considera como insegura físicamente su consola, por lo
- que desea asegurarse de que sólo quien conoce la
- contraseña del <systemitem class="username">superusuario</systemitem> puede
- ingresar al sistema en modo mono-usuario, y no que desea ejecutar
- la consola inseguramente. Esto es, si desea contar con seguridad
- escoja la opción <literal>insecure</literal>, y no
- <literal>secure</literal>.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="boot-multiuser">
- <title>Modo multiusuario</title>
- <indexterm><primary>modo multi-usuario</primary></indexterm>
-
- <para>En el caso de que <command>init</command> encuentre en
- buen estado al sistema de ficheros, o una vez que el usuario
- ha terminado del modo <link linkend="boot-singleuser">mono-usuario</link>, el sistema
- entrará al modo multi-usuario, en donde comienzan
- los ficheros de configuración-fuente del sistema.</para>
-
- <sect3 xml:id="boot-rc">
- <title>Configuración-Fuente(rc)</title>
- <indexterm><primary>ficheros rc</primary></indexterm>
-
- <para>La configuración fuente lee la configuración
- por default del fichero
- <filename>/etc/defaults/rc.conf</filename>, y detalles
- específicos del sistema desde el fichero
- <filename>/etc/rc.conf</filename>, y posteriormente procede
- a montar los sistemas de ficheros del sistema, descritos en
- <filename>/etc/fstab</filename>, iniciar servicios de red,
- así como varios demonios del sistema, para finalmente
- ejecutar los escritos (scripts) de configuración
- instalados por paquetes, localmente.</para>
-
- <para>La página de ayuda &man.rc.8; es una buena referencia
- para conocer más de este tipo de ficheros, así como
- examinar los mismos ficheros.</para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="boot-shutdown">
- <title>Secuencia de apagado</title>
- <indexterm>
- <primary><command>apagado</command></primary>
- </indexterm>
-
- <para>Una vez que el apagado sea controlado, por medio de
- <command>shutdown</command>, <command>init</command>
- ejecutará el escrito <filename>/etc/rc.shutdown</filename>,
- para posteriormente enviar a todos los procesos la señal
- <literal>TERM</literal>, y subsecuentemente la señal
- <literal>KILL</literal> a cualquiera que no haya terminado en
- tiempo.</para>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/chapters.ent b/es_ES.ISO8859-1/books/handbook/chapters.ent
deleted file mode 100755
index 025e26bc1d..0000000000
--- a/es_ES.ISO8859-1/books/handbook/chapters.ent
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/chapters.ent
- %SRCID% 0.0
-
- Crea entidades para cada uno de los capítulos en el Manual de
- FreeBSD. Cada entidad es nombrada como chap.foo, donde foo es el
- atributo identificador en ese capítulo y corresponde al
- nombre del directorio en el que está guardado el archivo
- .xml que contiene la información.
-
- Chapters should be listed in the order in which they are referenced.
- Los capítulos deben listarse en el mismo orden en el que son
- referenciados.
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/chapters.ent,v 1.2 2004/10/08 22:36:51 jesusr Exp $
--->
-
-<!ENTITY chap.preface SYSTEM "preface/preface.xml">
-<!ENTITY % pgpkeys SYSTEM "../../../share/pgpkeys/pgpkeys.ent"> %pgpkeys;
-
-<!-- Part One -->
- <!ENTITY chap.introduction SYSTEM "introduction/chapter.xml">
- <!ENTITY chap.install SYSTEM "install/chapter.xml">
- <!ENTITY chap.basics SYSTEM "basics/chapter.xml">
- <!ENTITY chap.ports SYSTEM "ports/chapter.xml">
- <!ENTITY chap.x11 SYSTEM "x11/chapter.xml">
-
-<!-- Part Two -->
- <!ENTITY chap.desktop SYSTEM "desktop/chapter.xml">
- <!ENTITY chap.multimedia SYSTEM "multimedia/chapter.xml">
- <!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.xml">
- <!ENTITY chap.printing SYSTEM "printing/chapter.xml">
- <!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.xml">
-
-<!-- Part Three -->
- <!ENTITY chap.config SYSTEM "config/chapter.xml">
- <!ENTITY chap.boot SYSTEM "boot/chapter.xml">
- <!ENTITY chap.users SYSTEM "users/chapter.xml">
- <!ENTITY chap.security SYSTEM "security/chapter.xml">
- <!ENTITY chap.jails SYSTEM "jails/chapter.xml">
- <!ENTITY chap.mac SYSTEM "mac/chapter.xml">
- <!ENTITY chap.audit SYSTEM "audit/chapter.xml">
- <!ENTITY chap.disks SYSTEM "disks/chapter.xml">
- <!ENTITY chap.geom SYSTEM "geom/chapter.xml">
- <!ENTITY chap.filesystems SYSTEM "filesystems/chapter.xml">
- <!ENTITY chap.vinum SYSTEM "vinum/chapter.xml">
- <!ENTITY chap.virtualization SYSTEM "virtualization/chapter.xml">
- <!ENTITY chap.l10n SYSTEM "l10n/chapter.xml">
- <!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.xml">
- <!ENTITY chap.dtrace SYSTEM "dtrace/chapter.xml">
-
-<!-- Part Four -->
- <!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.xml">
- <!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.xml">
- <!ENTITY chap.mail SYSTEM "mail/chapter.xml">
- <!ENTITY chap.network-servers SYSTEM "network-servers/chapter.xml">
- <!ENTITY chap.firewalls SYSTEM "firewalls/chapter.xml">
- <!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.xml">
-
-<!-- Part Five (appendices) -->
- <!ENTITY chap.mirrors SYSTEM "mirrors/chapter.xml">
- <!ENTITY chap.mirrors.lastmod.inc SYSTEM "mirrors.lastmod.inc">
- <!ENTITY chap.mirrors.ftp.index.inc SYSTEM "mirrors.xml.ftp.index.inc">
- <!ENTITY chap.mirrors.ftp.inc SYSTEM "mirrors.xml.ftp.inc">
- <!ENTITY chap.mirrors.cvsup.index.inc SYSTEM "mirrors.xml.cvsup.index.inc">
- <!ENTITY chap.mirrors.cvsup.inc SYSTEM "mirrors.xml.cvsup.inc">
- <!ENTITY chap.bibliography SYSTEM "bibliography/chapter.xml">
- <!ENTITY chap.eresources SYSTEM "eresources/chapter.xml">
- <!ENTITY chap.eresources.www.index.inc SYSTEM "eresources.xml.www.index.inc">
- <!ENTITY chap.eresources.www.inc SYSTEM "eresources.xml.www.inc">
- <!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.xml">
- <!ENTITY chap.freebsd-glossary SYSTEM "../../share/xml/glossary.ent">
- <!ENTITY chap.index "<index xmlns='http://docbook.org/ns/docbook'/>">
-
-<!ENTITY chap.colophon SYSTEM "colophon.xml">
diff --git a/es_ES.ISO8859-1/books/handbook/colophon.xml b/es_ES.ISO8859-1/books/handbook/colophon.xml
deleted file mode 100644
index c1c2d234b5..0000000000
--- a/es_ES.ISO8859-1/books/handbook/colophon.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
-
- %SOURCE% en_US.ISO8859-1/books/handbook/colophon/chapter.xml
- %SRCID% 0.0
-
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/colophon.xml,v 1.2 2004/10/08 21:21:21 jesusr Exp $
--->
-<colophon xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="colophon">
- <para>Este libro es el resultado del trabajo de cientos de colaboradores
- del <quote>Proyecto de Documentación de FreeBSD</quote>. El texto
- esta escrito en SGML de acuerdo al DTD DocBook y es formateado
- automáticamente en diferentes formatos de presentación
- usando <application>Jade</application>, una herramienta DSSSL de
- software libre. Se han usado las hojas de estilo DSSSL de Norm Walsh
- con personalización de niveles para las instrucciones de
- presentación de Jade. La versión impresa de este
- documento no hubiese sido posible sin los programas
- &tex; de Donald Knuth,
- <application>LaTeX</application> de Leslie Lamport y
- <application>JadeTeX</application> de Sebastian Rahtz.</para>
-</colophon>
diff --git a/es_ES.ISO8859-1/books/handbook/config/chapter.xml b/es_ES.ISO8859-1/books/handbook/config/chapter.xml
deleted file mode 100644
index 3bc0205ed6..0000000000
--- a/es_ES.ISO8859-1/books/handbook/config/chapter.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/config/chapter.xml
- %SRCID% 0.0
-
-
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/config/chapter.xml,v 1.1 2004/08/25 18:49:07 carvay Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="config-tuning">
- <title>Configuración y Adaptación del Sistema</title>
-
- <para>Configuración y Adaptación del Sistema</para>
-
-<sect1 xml:id="config-network-setup">
- <title>Configuración de Tarjetas de Red</title>
- <para>Pendiente de Traducción</para>
-</sect1>
-
-
-<sect1 xml:id="configtuning-starting-services">
- <title><quote>Arrancar servicios</quote></title>
- <para>Pendiente de Traducción</para>
-
-</sect1>
-<sect1 xml:id="soft-updates">
- <title><quote>Soft Updates</quote></title>
- <para>Pendiente de Traducción</para>
-</sect1>
-
-<sect1 xml:id="adding-swap-space">
- <title>Añadir espacio swap</title>
- <para>Pendiente de traducción</para>
-</sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/cutting-edge/chapter.xml b/es_ES.ISO8859-1/books/handbook/cutting-edge/chapter.xml
deleted file mode 100755
index aebe818c7b..0000000000
--- a/es_ES.ISO8859-1/books/handbook/cutting-edge/chapter.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
- %SRCID% 0.0
-
-
- $FreeBSD$
-
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="cutting-edge">
- <info><title>Lo último de lo último</title>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Restructured, reorganized, and parts updated by </contrib></author>
- <!-- Mar 2000 -->
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Jordan</firstname><surname>Hubbard</surname></personname><contrib>Original work by </contrib></author>
- <author><personname><firstname>Poul-Henning</firstname><surname>Kamp</surname></personname></author>
- <author><personname><firstname>John</firstname><surname>Polstra</surname></personname></author>
- <author><personname><firstname>Nik</firstname><surname>Clayton</surname></personname></author>
- </authorgroup>
-
- </info>
-
-
-
- <sect1>
- <title>Sinopsis</title>
-
- <para>Pendiente de Traducción</para>
-
-
- </sect1>
-
- <sect1 xml:id="current-stable">
- <title>&os.current; vs. &os.stable;</title>
-
-
- <sect2 xml:id="current">
-
- <title>Current</title>
-
- <para>Pendiente de Traducción</para>
-
- </sect2>
-
- <sect2 xml:id="stable">
-
- <title>Stable</title>
-
- <para>Pendiente de Traducción</para>
-
-
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="synching">
- <title>Sincronización de su código fuente</title>
-
- <para>Pendiente de Traducción</para>
-
-
- </sect1>
-
- <sect1 xml:id="makeworld">
- <title>Uso de <command>make world</command></title>
-
-
-<para>Pendiente de Traducción</para>
-
-
- </sect1>
-
- <sect1 xml:id="small-lans">
- <title>Redes pequeñas</title>
-
- <para>Pendiente de Traducción</para>
- </sect1>
-
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/desktop/chapter.xml b/es_ES.ISO8859-1/books/handbook/desktop/chapter.xml
deleted file mode 100644
index 5da16b6834..0000000000
--- a/es_ES.ISO8859-1/books/handbook/desktop/chapter.xml
+++ /dev/null
@@ -1,1105 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- Version en ingles traducida: 1.45
-
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/desktop/chapter.xml
- %SRCID% 1.78
-
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="desktop">
- <info><title>Aplicaciones de escritorio</title>
- <authorgroup>
- <author><personname><firstname>Christophe</firstname><surname>Juniet</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml:id="desktop-synopsis">
- <title>Sinopsis</title>
-
- <para>&os; puede ejecutar gran número de aplicaciones de
- escritorio, como navegadores y procesadores de texto. La
- mayoría de ellas están disponibles como packages o
- se pueden compilar automáticamente desde la
- colección de ports. Muchos usuarios nuevos esperan
- encontrar este tipo de aplicaciones en su escritorio. Este
- capítulo mostrará cómo instalar de forma
- fácil algunas aplicaciones populares, bien como packages o
- desde la colección de ports.</para>
-
- <para>Tenga en cuenta que cuando se instalan programas desde los
- ports se compilan desde el código fuente. Esto puede
- tardar muchísimo tiempo, dependiendo de qué esté
- compilando y la potencia de proceso de su máquina. Si
- compilar una o más aplicaciones le requiere una cantidad de
- tiempo desmesurada para sus necesidades recuerde que puede
- instalar la mayoría de programas de la Colección
- de Ports como packages precompilados.</para>
-
- <para>&os; tiene compatibilidad binaria con &linux;, así que
- muchas aplicaciones originariamente desarrolladas para Linux
- existen también para su escritorio. Le recomendamos
- encarecidamente que lea el <xref linkend="linuxemu"/> antes
- instalar aplicaciones Linux. Muchos de los ports que usan la
- compatibilidad binaria de Linux empiezan por
- «linux-». Recuérdelo cuando busque un port en
- particular, por ejemplo con &man.whereis.1;. En el siguiente
- texto se asume que ha habilitado usted la compatibilidad
- binaria de Linux antes de instalar aplicaciones de
- Linux.</para>
-
- <para>Estas son las categorías que cubre este
- capítulo:</para>
-
- <itemizedlist>
- <listitem>
- <para>Navegadores (como <application>Mozilla</application>,
- <application>&netscape;</application>,
- <application>Opera</application>,
- <application>Firefox</application>,
- <application>Konqueror</application>)</para>
- </listitem>
-
- <listitem>
- <para>Productividad (como
- <application>KOffice</application>,
- <application>AbiWord</application>,
- <application>The GIMP</application>,
- <application>OpenOffice.org</application>)</para>
- </listitem>
-
- <listitem>
- <para>Visores de documentos (como
- <application>&acrobat.reader;</application>,
- <application>gv</application>,
- <application>Xpdf</application>,
- <application>GQview</application>)</para>
- </listitem>
-
- <listitem>
- <para>Finanzas (como
- <application>GnuCash</application>,
- <application>Gnumeric</application>,
- <application>Abacus</application>)</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo, usted debería:</para>
-
- <itemizedlist>
- <listitem>
- <para>Saber como instalar software de terceros
- (<xref linkend="ports"/>).</para>
- </listitem>
-
- <listitem>
- <para>Saber como instalar software de Linux
- (<xref linkend="linuxemu"/>).</para>
- </listitem>
- </itemizedlist>
-
- <para>Si quiere más información sobre cómo
- conseguir un entorno un entorno multimedia en &os; consulte el
- <xref linkend="multimedia"/>. Si quiere configurar y usar el
- correo electrónico consulte el
- <xref linkend="mail"/>.</para>
- </sect1>
-
- <sect1 xml:id="desktop-browsers">
- <title>Navegadores</title>
-
- <para>&os; no trae ningún navegador preinstalado, pero en
- el directorio <link xlink:href="http://www.FreeBSD.org/ports/www.html">www</link> de la
- colección de ports tiene muchos navegadores listos para
- instalar. Si no tiene tiempo para compilarlo todo (esto
- puede requerir muchísimo tiempo en algunos casos) muchos de
- ellos están disponibles como packages.</para>
-
- <para><application>KDE</application> y
- <application>GNOME</application> ya proporcionan navegadores
- HTML. Consulte la <xref linkend="x11-wm"/> para más
- información sobre cómo configurar estos
- escritorios.</para>
-
- <para>Si busca navegadores ligeros tiene en la
- colección de ports
- <package>www/dillo</package>,
- <package>www/links</package>, o
- <package>www/w3m</package>.</para>
-
- <para>Esta sección cubre estas aplicaciones:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Nombre de aplicación</entry>
- <entry>Recursos necesarios</entry>
- <entry>Instalación desde los Ports</entry>
- <entry>Dependencias importantes</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><application>Mozilla</application></entry>
- <entry>pesado</entry>
- <entry>pesado</entry>
- <entry><application>Gtk+</application></entry>
- </row>
-
- <row>
- <entry><application>Opera</application></entry>
- <entry>ligero</entry>
- <entry>ligero</entry>
- <entry>Versiones para &os; y Linux disponibles. La
- versión de Linux depende de la compatibiliad
- binaria de Linux y de
- <application>linux-openmotif</application>.</entry>
- </row>
-
- <row>
- <entry><application>Firefox</application></entry>
- <entry>medio</entry>
- <entry>pesado</entry>
- <entry><application>Gtk+</application></entry>
- </row>
-
- <row>
- <entry><application>Konqueror</application></entry>
- <entry>medio</entry>
- <entry>pesado</entry>
- <entry><application>KDE</application> Librerís</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <sect2>
- <title>Mozilla</title>
- <indexterm>
- <primary><application>Mozilla</application></primary>
- </indexterm>
-
- <para><application>Mozilla</application> es una navegador
- moderno y estable que dispone de soporte completo en &os;:
- dispone de un motor de presentación de HTML muy
- ajustado a los estándares, tiene cliente de correo
- electrónico, lector de noticias e incluso ofrece un
- editor de páginas HTML por si quiere crear
- páginas web. Los usuarios de
- <application>&netscape;</application> encontrarán semejanzas
- con la suite <application>Communicator</application>, dado que
- ambos navegadores comparten parte de la base de desarrollo.</para>
-
- <para>En máquinas lentas, con una CPU de velocidad inferior a
- 233MHz o con menos de 64MB de RAM,
- <application>Mozilla</application> puede consumir demasiados
- recursos para poder utilizarse. Puede usar el navegador
- <application>Opera</application>, mucho más ligero,
- que se describe más adelante en este mismo
- capítulo.</para>
-
- <para>Si no puede o no quiere compilar
- <application>Mozilla</application> por algún motivo, el equipo
- de &os; GNOME ya lo ha hecho por usted. Instale el
- package desde la red del siguiente modo:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r mozilla</userinput></screen>
-
- <para>Si no hay package disponible y tiene suficiente
- tiempo y espacio en el disco puede obtener el código
- de <application>Mozilla</application>, compilarlo e instalarlo
- en su sistema. Esto se hace con:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/www/mozilla</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>El port de <application>Mozilla</application> se asegura
- de que se inicialice adecuadamente ejecutando la
- configuración del registro «chrome» con
- privilegios de <systemitem class="username">root</systemitem>, aunque si quiere instalar
- algún añadido como «mouse gestures»
- (gestos del ratón) tendrá que ejecutar
- que correr <application>Mozilla</application> como
- <systemitem class="username">root</systemitem> para que se instale correctamente.</para>
-
- <para>Una vez efectuada la instalación de
- <application>Mozilla</application> no es necesario ser
- <systemitem class="username">root</systemitem> por más tiempo. Puede arrancar
- <application>Mozilla</application> como navegador
- escribiendo:</para>
-
- <screen>&prompt.user; <userinput>mozilla</userinput></screen>
-
- <para>Puede arrancarlo directamente como lector de correo y
- noticias del siguiente modo:</para>
-
- <screen>&prompt.user; <userinput>mozilla -mail</userinput></screen>
- </sect2>
-
-
- <sect2>
- <title>Firefox</title>
- <indexterm>
- <primary><application>Firefox</application></primary>
- </indexterm>
-
- <para><application>Firefox</application> es un navegador de nueva
- generación basado en el código fuente de
- <application>Mozilla</application>.
- <application>Mozilla</application> es una suite completa de
- aplicaciones en la que encontrará un navegador, un
- cliente de correo, un cliente de chat y muchas otras.
- <application>Firefox</application> es solamente un navegador,
- lo que hace que sea mucho más pequeño y
- ligero.</para>
-
- <para>Puede instalarlo como package del siguiente modo:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r firefox</userinput></screen>
-
- <para>Si prefiere compilar el código fuente e instalarlo
- desde los ports puede hacer esto otro:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/www/firefox</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
- </sect2>
-
- <sect2 xml:id="moz-java-plugin">
- <title>Firefox, Mozilla y el «plugin» &java;</title>
-
- <note>
- <para>En esta sección y en la siguiente asumiremos que
- ya ha instalado <application>Firefox</application> o
- <application>Mozilla</application>.</para>
- </note>
-
- <para>La &os; Foundation disponde una licencia de Sun
- Microsystems que le permite distribuir binarios &os; del
- Java Runtime Environment (&jre;) y del
- Java Development Kit (&jdk;). Puede descargar packages binarios
- para &os; desde el <link xlink:href="http://www.freebsdfoundation.org/downloads/java.shtml">sitio
- web</link>de la &os; Foundation.</para>
-
- <para>Para añadir soporte &java; a
- <application>Firefox</application> o
- <application>Mozilla</application> tiene que instalar el port
- the <package>java/javavmwrapper</package>. Después
- descargue el package <application>Diablo &jre;</application>
- desde <uri xlink:href="http://www.freebsdfoundation.org/downloads/java.shtml">http://www.freebsdfoundation.org/downloads/java.shtml</uri>
- e instálelo con &man.pkg.add.1;.</para>
-
- <para>Arranque su navegador, introduzca
- <literal>about:plugins</literal> en la barra de navegación
- y pulse <keycap>Intro</keycap>. Verá una página
- con una lista de los «plugins» que tenga instalados; el
- «plugin» <application>&java;</application> debería
- ser uno de los que aparezcan. Si no es así ejecute
- (como <systemitem class="username">root</systemitem>) lo siguiente</para>
-
- <screen>&prompt.root; <userinput>ln -s /usr/local/diablo-jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so \
- /usr/local/lib/browser_plugins/</userinput></screen>
-
- <para>y reinicie su navegador.</para>
- </sect2>
-
- <sect2>
- <title>Opera</title>
- <indexterm>
- <primary><application>Opera</application></primary>
- </indexterm>
-
- <para><application>Opera</application> es un navegador muy
- rápido, completo y que cumple con los estándares.
- Hay dos versiones: la versión «nativa» de &os;
- y la versión que se ejecuta bajo la emulación de
- Linux. Para cada sistema operativo hay una versión
- gratuita que muestra publicidad y otra sin publicidad que se
- puede comprar en <link xlink:href="http://www.opera.com/">la página web de Opera</link>.</para>
-
- <para>Para navegar por la web con la versión para &os;
- de <application>Opera</application> tendrá que instalar
- el package:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r opera</userinput></screen>
-
- <para>Algunos sitios FTP no tienen todos los paquetes, pero
- puede instalarlo desde la Colección de
- Ports:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/www/opera</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>Si quiere instalar la versión de Linux de
- <application>Opera</application> ponga
- <literal>linux-opera</literal> en lugar de
- <literal>opera</literal> en los atnteriores ejemplos. La
- versión de Linux es útil en situaciones donde se
- necesitan «plugins» de los que sólo hay
- versiones para Linux, como
- <application>Adobe &acrobat.reader;</application>. En todos los
- demás aspectos las versiones de &os; y Linux son iguales.</para>
-
- </sect2>
-
- <sect2>
- <title>Konqueror</title>
- <indexterm>
- <primary><application>Konqueror</application></primary>
- </indexterm>
-
- <para><application>Konqueror</application> forma parte de
- <application>KDE</application> pero también se puede
- instalar y usar independienmente de
- <application>KDE</application> instalando
- <package>x11/kdebase3</package>.
- <application>Konqueror</application> es mucho más que un
- navegador, también es gestor de ficheros y visor
- multimedia.</para>
-
- <para><application>Konqueror</application> también trae
- un conjunto de «plugins», disponibles en <package>misc/konq-plugins</package>.</para>
-
- <para><application>Konqueror</application> también
- soporta <application>&flash;</application>, hay un tutorial
- en <uri xlink:href="http://freebsd.kde.org/howto.php">http://freebsd.kde.org/howto.php</uri>.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="desktop-productivity">
- <title>Productividad</title>
-
- <para>Cuando se trata de productividad, normalmente los nuevos
- usuarios piensan en una buena suite ofimática o un procesador
- de textos amigable. Mientras que algunos <link linkend="x11-wm">entornos de escritorio</link> como
- <application>KDE</application> ofrecen una suite
- ofimática propia, no hay una aplicación por
- defecto. &os; permite usar todo lo que se necesite sin importar
- qué entorno de escritorio use.</para>
-
-
- <para>Esta sección cubre estas aplicaciones:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Nombre de la aplicación</entry>
- <entry>Recursos necesarios</entry>
- <entry>Instalación desde los ports</entry>
- <entry>Dependencias importantes</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><application>KOffice</application></entry>
- <entry>ligero</entry>
- <entry>pesado</entry>
- <entry><application>KDE</application></entry>
- </row>
-
- <row>
- <entry><application>AbiWord</application></entry>
- <entry>ligero</entry>
- <entry>ligero</entry>
- <entry><application>Gtk+</application> o <application>GNOME</application></entry>
- </row>
-
- <row>
- <entry><application>The Gimp</application></entry>
- <entry>ligero</entry>
- <entry>pesado</entry>
- <entry><application>Gtk+</application></entry>
- </row>
-
- <row>
- <entry><application>OpenOffice.org</application></entry>
- <entry>pesado</entry>
- <entry>enorme</entry>
- <entry><application>GCC 3.1</application>, <application>&jdk; 1.3</application>, <application>Mozilla</application></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <sect2>
- <title>KOffice</title>
- <indexterm>
- <primary><application>KOffice</application></primary>
- </indexterm>
- <indexterm>
- <primary>office suite</primary>
- <secondary><application>KOffice</application></secondary>
- </indexterm>
-
- <para>La comunidad de KDE ha dotado su entorno de escritorio
- con una suite ofimática totalmente independiente de
- <application>KDE</application>. Incluye los 4 componentes
- estándar que se pueden encontrar en otras suites
- ofimáticas. <application>KWord</application> es el
- procesador de textos, <application>KSpread</application> es la
- hoja de cálculo, <application>KPresenter</application>
- se encarga de las presentaciones y
- <application>Kontour</application> le permite dibujar
- documentos gráficos.</para>
-
- <para>Antes de instalar el último
- <application>KOffice</application> asegúrese de que tiene
- una versión actualizada de <application>KDE</application>.</para>
-
- <para>Para instalar <application>KOffice</application> como un
- paquete ejecute la siguiente orden:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r koffice</userinput></screen>
-
- <para>Si el paquete no está disponible puede usar la
- colección de ports. Por ejemplo, para instalar
- <application>KOffice</application> para
- <application>KDE3</application> haga lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/editors/koffice-kde3</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
- </sect2>
-
- <sect2>
- <title>AbiWord</title>
- <indexterm>
- <primary><application>AbiWord</application></primary>
- </indexterm>
-
- <para><application>AbiWord</application> es un procesador de
- textos libre con un aspecto parecido a
- <application>&microsoft; Word</application>. Es útil
- para escribir documentos, cartas, informes, notas, etc. Es
- muy rápido, tiene muchas opciones y es muy amigable.</para>
-
- <para><application>AbiWord</application> puede importar o
- exportar muchos formatos de fichero, incluyendo algunos
- propietarios como Microsoft <filename>.doc</filename>.</para>
-
- <para><application>AbiWord</application> está disponible como
- package. Si quiere instalarlo haga lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r AbiWord2</userinput></screen>
-
- <para>Si el package no está disponible por el motivo que
- fuere puede instalarlo desde la colección de Ports.
- La colección de ports
- debería estar más actualizada:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/editors/AbiWord2</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
- </sect2>
-
- <sect2>
- <title>The GIMP</title>
- <indexterm>
- <primary><application>The GIMP</application></primary>
- </indexterm>
-
- <para><application>GIMP</application> es un programa de
- manipulación de imágenes muy sofisticado
- que le permitirá también crearlas y
- retocarlas. Puede usarlo como un programa de dibujo
- sencillo o como una sofisticada herramienta de retoque
- fotográfico. Admite una gran cantidad de
- «plug-ins» y tiene opciones tan interesantes como
- una interfaz para «scripts».
- <application>GIMP</application> puede leer y
- escribir un gran número de formatos de fichero.
- Soporta escáners y tabletas gráficas.</para>
-
- <para>Instale el package mediante la siguiente orden:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r gimp</userinput></screen>
-
- <para>Si su servidor FTP no tiene este package puede usar la
- colección de ports. El directorio
- <link xlink:href="http://www.FreeBSD.org/ports/graphics.html">graphics</link>
- de la colección de ports también contiene
- <application>The Gimp Manual</application>. Si quiere instalarlo
- haga lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/graphics/gimp</userinput>
-&prompt.root; <userinput>make install clean</userinput>
-&prompt.root; <userinput>cd /usr/ports/graphics/gimp-manual-pdf</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <note>
- <para>El directorio
- <link xlink:href="http://www.FreeBSD.org/ports/graphics.html">graphics</link>
- de la colección de ports tiene la versión de
- desarrollo de <application>GIMP</application> en
- <package>graphics/gimp-devel</package>.
- Hay una versión en HTML de
- <application>The Gimp Manual</application> en
- <package>graphics/gimp-manual-html</package>.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>OpenOffice.org</title>
- <indexterm>
- <primary><application>OpenOffice.org</application></primary>
- </indexterm>
- <indexterm>
- <primary>office suite</primary>
- <secondary><application>OpenOffice.org</application></secondary>
- </indexterm>
-
- <para><application>OpenOffice.org</application> incluye todas
- las aplicaciónes esenciales en una completa suite
- ofimática: un procesador de textos, una hoja de
- cálculo, un gestor de presentaciones y un programa de
- dibujo. Su interfaz de usuario es muy parecida a otras suites
- ofimáticas y puede importar y exportar diversos
- formatos muy extendidos. Está disponible en diversos
- idiomas; el proceso de internacionalización incluye
- interfaces, correctores
- ortográficos y diccionarios.</para>
-
- <para>El procesador de textos de
- <application>OpenOffice.org</application> usa un fichero XML
- nativo para aumentar la portabilidad y la eficiencia. El
- programa de hojas de cálculo tiene un lenguaje de
- macros y puede usarse desde bases de datos
- externas. <application>OpenOffice.org</application> es
- estable y hay versiones nativas para &windows;,
- &solaris;, Linux, &os;, y &macos;&nbsp;X. Tiene más
- información sobre
- <application>OpenOffice.org</application> en
- <link xlink:href="http://www.openoffice.org/">la página web de
- OpenOffice</link>. Si quiere información específica
- para &os;, o si quiere bajar directamente los packages
- use la página web de <link xlink:href="http://porting.openoffice.org/freebsd/">&os; OpenOffice
- Porting Team</link>.</para>
-
- <para>Para instalar <application>OpenOffice.org</application>
- ejecute:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r openoffice</userinput></screen>
-
- <note>
- <para>Si usa una versión -RELEASE de &os; todo lo antedicho
- funcionará. Si usa cualquier otra versión
- visite el sitio web del &os;
- <application>OpenOffice.org</application> Porting Team, desde
- el cual podrá descargar e instalar el package
- más adecuado e instalarlo mediante
- &man.pkg.add.1;. En este sitio web encontrará tanto
- una versión current como la de desarrollo.</para>
- </note>
-
- <para>Una vez instalado el package escriba la siguiente orden para
- ejecutar
- <application>OpenOffice.org</application>:</para>
-
- <screen>&prompt.user; <userinput>openoffice.org</userinput></screen>
-
- <note>
- <para>En el primer arranque se le harán diversas preguntas
- se creará un directorio
- <filename>.openoffice.org2</filename> en su
- «home».</para>
- </note>
-
- <para>Si no hay packages de
- <application>OpenOffice.org</application> disponibles siempre
- tiene la opción de compilar el port. Tenga muy en cuenta
- que necesitará gran cantidad de espacio en disco y que
- este port necesita una cantidad de tiempo monstruosa para
- efectuar la compilación.</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/editors/openoffice.org-2</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <note>
- <para>Si quiere compilar una de las muchas versiones que existen en
- idiomas distintos del inglés sustituya la orden anterior
- por la que se muestra a continuación:</para>
-
- <screen>&prompt.root; <userinput>make LOCALIZED_LANG=su_idioma install clean</userinput></screen>
-
- <para>Sustituya
- <replaceable>su_idioma</replaceable> por el código ISO
- del idioma que quiera. Tiene una lista de códigos de
- idioma disponibles dentro del directorio del port en
- <filename>files/Makefile.localized</filename>.</para>
- </note>
-
- <para>Hecho esto puede ejecutar
- <application>OpenOffice.org</application> con la orden:</para>
-
- <screen>&prompt.user; <userinput>openoffice.org</userinput></screen>
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="desktop-viewers">
- <title>Visores de documentos</title>
-
- <para>Desde la aparición de &unix; han ido apareciendo formatos
- de documento de lo más diverso, alguno de los cuales se ha
- hecho muy popular. Los visores de documentos estándar
- que requieren no tienen por qué estar en el sistema base. En
- esta sección veremos cómo instalar estos visores.</para>
-
- <para>Esta sección cubre las siguientes aplicaciones:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Nombre de la aplicación</entry>
- <entry>Recursos necesarios</entry>
- <entry>Instalación desde los ports</entry>
- <entry>Dependencias importantes</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><application>&acrobat.reader;</application></entry>
- <entry>ligero</entry>
- <entry>ligero</entry>
- <entry>Compatibilidad binaria de Linux</entry>
- </row>
-
- <row>
- <entry><application>gv</application></entry>
- <entry>ligero</entry>
- <entry>ligero</entry>
- <entry><application>Xaw3d</application></entry>
- </row>
-
- <row>
- <entry><application>Xpdf</application></entry>
- <entry>ligero</entry>
- <entry>ligero</entry>
- <entry><application>FreeType</application></entry>
- </row>
-
- <row>
- <entry><application>GQview</application></entry>
- <entry>ligero</entry>
- <entry>ligero</entry>
- <entry><application>Gtk+</application> o <application>GNOME</application></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <sect2>
- <title>&acrobat.reader;</title>
- <indexterm>
- <primary><application>Acrobat Reader</application></primary>
- </indexterm>
- <indexterm>
- <primary>PDF</primary>
- <secondary>viewing</secondary>
- </indexterm>
-
- <para>Muchos documentos se distribuyen en formato
- PDF, siglas de «Portable Document Format».
- Uno de los visores recomendados para este tipo de ficheros es
- <application>&acrobat.reader;</application>, un producto de Adobe
- para Linux. Dado que &os; puede ejecutar binarios de Linux
- también existe para &os;.</para>
-
- <para>Para instalar <application>&acrobat.reader;
- 7</application> desde la Colección de Ports ejecute:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/print/acroread7</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>No hay package debido a las restricciones que impone la licencia
- del software.</para>
-
-
- </sect2>
-
- <sect2>
- <title>gv</title>
- <indexterm>
- <primary><application>gv</application></primary>
- </indexterm>
- <indexterm>
- <primary>PDF</primary>
- <secondary>viewing</secondary>
- </indexterm>
- <indexterm>
- <primary>PostScript</primary>
- <secondary>viewing</secondary>
- </indexterm>
-
- <para><application>gv</application> es un visor de &postscript; y
- PDF. Tiene su origen en <application>ghostview</application> pero
- tiene un aspecto bastante mejorado gracias a la librería
- <application>Xaw3d</application>. Es rápido y tiene una
- interfaz limpia. <application>gv</application> tiene muchas
- opciónes como orientación, tamaño del
- papel, escalado o antialias. Casi todas las operaciones se
- pueden realizar desde el teclado o desde el ratón.</para>
-
- <para>Para instalar <application>gv</application> como package
- ejecute:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r gv</userinput></screen>
-
- <para>Si no puede obtener el package puede usar la
- colección de ports:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/print/gv</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Xpdf</title>
- <indexterm>
- <primary><application>Xpdf</application></primary>
- </indexterm>
- <indexterm>
- <primary>PDF</primary>
- <secondary>viewing</secondary>
- </indexterm>
-
- <para>Si quiere un visor de PDF pequeño,
- <application>Xpdf</application> es un visor ligero y
- eficiente. Requiere muy pocos recursos y es muy estable. Usa
- los tipos estándar de X y no depende de
- <application>&motif;</application> ni de ningún otro
- «toolkit» de X.</para>
-
- <para>Para instalar el package de
- <application>Xpdf</application> use la siguiente orden:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r xpdf</userinput></screen>
-
- <para>Si el paquete no está disponible o prefiere usar la
- colección de ports ejecute:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/graphics/xpdf</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>Una vez que la instalación haya concluido puede
- lanzar <application>Xpdf</application>; use el botón
- derecho del ratón para activar el menú.</para>
- </sect2>
-
- <sect2>
- <title>GQview</title>
- <indexterm>
- <primary><application>GQview</application></primary>
- </indexterm>
-
- <para><application>GQview</application> es un visor de
- imágenes. Puede ver un fichero con un click, lanzar un
- editor externo, obtener imágenes de previsualización y
- muchas cosas más. También tiene un modo de
- presentación y admite algunas opciones básicas de
- manipulación de ficheros. Puede gestionar colecciones
- de imágenes y encontrar ficheros duplicados con
- facilidad. <application>GQview</application>
- puede mostrar las imágenes a pantalla completa
- y está preparado para la internacionalización.</para>
-
- <para>Si quiere instalar el paquete de
- <application>GQview</application> ejecute:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r gqview</userinput></screen>
-
- <para>Si el paquete no está disponible o prefiere usar la
- colección de ports ejecute:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/graphics/gqview</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
- </sect2>
- </sect1>
-
- <sect1 xml:id="desktop-finance">
- <title>Finanzas</title>
-
- <para>Si por algun motivo quisiera gestionar sus finanzas
- personales en su escritorio &os; hay algunas aplicaciones
- potentes y sencillas de utilizar que puede instalar. Algunas
- de ellas son compatibles con formatos muy extendidos
- como documentos de <application>Quicken</application> o
- <application>Excel</application>.</para>
-
- <para>Esta sección cubre las siguientes aplicaciones:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Nombre de aplicación</entry>
- <entry>Recursos necesarios</entry>
- <entry>Instalación desde los ports</entry>
- <entry>Dependencias importantes</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><application>GnuCash</application></entry>
- <entry>ligero</entry>
- <entry>pesado</entry>
- <entry><application>GNOME</application></entry>
- </row>
-
- <row>
- <entry><application>Gnumeric</application></entry>
- <entry>ligero</entry>
- <entry>pesado</entry>
- <entry><application>GNOME</application></entry>
- </row>
-
- <row>
- <entry><application>Abacus</application></entry>
- <entry>ligero</entry>
- <entry>pesado</entry>
- <entry><application>Tcl/Tk</application></entry>
- </row>
-
- <row>
- <entry><application>KMyMoney</application></entry>
- <entry>ligero</entry>
- <entry>pesado</entry>
- <entry><application>KDE</application></entry>
- </row>
-
-
-
- </tbody>
- </tgroup>
- </informaltable>
-
- <sect2>
- <title>GnuCash</title>
- <indexterm>
- <primary><application>GnuCash</application></primary>
- </indexterm>
-
- <para><application>GnuCash</application> es parte del afán
- de <application>GNOME</application> por ofrecer aplicaciones
- de uso sencillo pero a la vez potentes a los usuarios. Con
- <application>GnuCash</application>, puede gestionar sus
- ingresos y sus gastos, sus cuentas bancarias o sus acciones.
- Tiene una interfaz intuitiva pero muy profesional.</para>
-
- <para><application>GnuCash</application> dispone de un registro
- elegante, un sistema jerárquico de cuentas, muchos
- atajos de teclado y métodos de autocompletado. Puede
- dividir una transacción en varias partes más
- detalladas. <application>GnuCash</application> puede importar
- y mezclar ficheros QIF de <application>Quicken</application>.
- También admite muchos formatos internacionales de fecha
- y moneda.</para>
-
- <para>Para instalar <application>GnuCash</application> en su
- sistema ejecute:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r gnucash</userinput></screen>
-
- <para>Si el paquete no está disponible puede usar la
- colección de ports:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/finance/gnucash</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Gnumeric</title>
- <indexterm>
- <primary><application>Gnumeric</application></primary>
- </indexterm>
- <indexterm>
- <primary>spreadsheet</primary>
- <secondary><application>Gnumeric</application></secondary>
- </indexterm>
-
- <para><application>Gnumeric</application> es una hoja de
- cálculo que forma parte del entorno de escritorio
- <application>GNOME</application>. Implementa una
- «predicción» automática de la entrada
- del usuario de acuerdo con el formato de celda y un sistema de
- completado automático para múltiples secuencias. Puede
- importar ficheros de un gran número de formatos muy
- extendidos, como <application>Excel</application>, <application>Lotus
- 1-2-3</application> o <application>Quattro Pro</application>.
- <application>Gnumeric</application> soporta gráficas
- mediante el programa de gráficas <package>math/guppi</package>. Tiene un gran
- n&acute;mero de funciones internas y permite todos los
- formatos normales de celda como número, moneda, fecha,
- hora y muchos más.</para>
-
- <para>Para instalar <application>Gnumeric</application> como
- package ejecute:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r gnumeric</userinput></screen>
-
- <para>Si el package no está disponible puede usar la
- colección de ports del siguiente modo:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/math/gnumeric</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Abacus</title>
- <indexterm>
- <primary><application>Abacus</application></primary>
- </indexterm>
- <indexterm>
- <primary>spreadsheet</primary>
- <secondary><application>Abacus</application></secondary>
- </indexterm>
-
- <para><application>Abacus</application> es una hoja de
- cálculo pequeña y fácil de usar. Tiene
- muchas funciones útiles en varios ámbitos como la
- estadística, las finanzas y las matemáticas. Puede
- importar y exportar ficheros
- con formato <application>Excel</application>.
- <application>Abacus</application> puede generar ficheros
- &postscript;.</para>
-
- <para>Para instalar <application>Abacus</application> como package
- ejecute:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r abacus</userinput></screen>
-
- <para>Si no hay package al alcance puede usar la
- colección de ports:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/deskutils/abacus</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
- </sect2>
- </sect1>
-
- <sect1 xml:id="desktop-summary">
- <title>Resumen</title>
-
- <para>&os; está muy extendido en ISP por su alto
- rendimiento y estabilidad, pero también se puede usar a diario
- como escritorio. Hay miles de aplicaciones disponibles como
- <link xlink:href="http://www.FreeBSD.org/where.html">packages</link> o
- <link xlink:href="http://www.FreeBSD.org/ports/index.html">ports</link>
- con las que puede crear un escritorio que cubra todas sus
- necesidades.</para>
-
- <para>Aqui hay un resumen de todas las aplicaciones cubiertas en
- este cápitulo:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Nombre De La Aplicación</entry>
- <entry>Nombre Del Paquete</entry>
- <entry>Nombre Del Port</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><application>Mozilla</application></entry>
- <entry><literal>mozilla</literal></entry>
- <entry><package>www/mozilla</package></entry>
- </row>
-
- <row>
- <entry><application>Opera</application></entry>
- <entry><literal>opera</literal></entry>
- <entry><package>www/opera</package></entry>
- </row>
-
- <row>
- <entry><application>Firefox</application></entry>
- <entry><literal>firefox</literal></entry>
- <entry><package>www/firefox</package></entry>
- </row>
-
- <row>
- <entry><application>KOffice</application></entry>
- <entry><literal>koffice-kde3</literal></entry>
- <entry><package>editors/koffice-kde3</package></entry>
- </row>
-
- <row>
- <entry><application>AbiWord</application></entry>
- <entry><literal>AbiWord2</literal></entry>
- <entry><package>editors/AbiWord2</package></entry>
- </row>
-
- <row>
- <entry><application>GIMP</application></entry>
- <entry><literal>gimp</literal></entry>
- <entry><package>graphics/gimp</package></entry>
- </row>
-
- <row>
- <entry><application>OpenOffice.org</application></entry>
- <entry><literal>openoffice</literal></entry>
- <entry><package>editors/openoffice-1.1</package></entry>
- </row>
-
- <row>
- <entry><application>&acrobat.reader;</application></entry>
- <entry><literal>acroread</literal></entry>
- <entry><package>print/acroread7</package></entry>
- </row>
-
- <row>
- <entry><application>gv</application></entry>
- <entry><literal>gv</literal></entry>
- <entry><package>print/gv</package></entry>
- </row>
-
- <row>
- <entry><application>Xpdf</application></entry>
- <entry><literal>xpdf</literal></entry>
- <entry><package>graphics/xpdf</package></entry>
- </row>
-
- <row>
- <entry><application>GQview</application></entry>
- <entry><literal>gqview</literal></entry>
- <entry><package>graphics/gqview</package></entry>
- </row>
-
- <row>
- <entry><application>GnuCash</application></entry>
- <entry><literal>gnucash</literal></entry>
- <entry><package>finance/gnucash</package></entry>
- </row>
-
- <row>
- <entry><application>Gnumeric</application></entry>
- <entry><literal>gnumeric</literal></entry>
- <entry><package>math/gnumeric</package></entry>
- </row>
-
- <row>
- <entry><application>Abacus</application></entry>
- <entry><literal>abacus</literal></entry>
- <entry><package>deskutils/abacus</package></entry>
- </row>
-
- <row>
- <entry><application>KMyMoney</application></entry>
- <entry><literal>kmymoney2</literal></entry>
- <entry><package>finance/kmymoney2</package></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/disks/chapter.xml b/es_ES.ISO8859-1/books/handbook/disks/chapter.xml
deleted file mode 100644
index b0e68b657c..0000000000
--- a/es_ES.ISO8859-1/books/handbook/disks/chapter.xml
+++ /dev/null
@@ -1,4150 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/disks/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="disks">
- <title>Almacenamiento</title>
-
- <sect1 xml:id="disks-synopsis">
- <title>Sinopsis</title>
-
-
- <para>Este capítulo trata sobre el uso de discos en &os;.
- Esto incluye discos basados en memoria, discos conectados
- a través de la red, dispositivos de almacenamiento SCSI/IDE
- estándar y dispositivos que utilizan el interfaz
- USB.</para>
-
- <para>Tras leer este capítulo:</para>
- <itemizedlist>
- <listitem><para>Conocerá la terminología que se usa en
- &os; para describir la organización de datos en un disco
- físico (particiones y porciones).</para>
- </listitem>
- <listitem><para>Sabrá cómo añadir discos duros
- a su sistema.</para>
- </listitem>
- <listitem>
- <para>Sabrá cómo configurar &os; para utilizar
- dispositivos de almacenamiento USB.</para>
- </listitem>
- <listitem><para>Sabrá cómo configurar sistemas virtuales
- de ficheros, como los discos de memoria.
- </para></listitem>
- <listitem>
- <para>Sabrá cómo usar cuotas para limitar el uso del
- espacio en disco.</para>
- </listitem>
- <listitem>
- <para>Sabrá cómo cifrar discos para hacerlos más
- seguros ante un atacante.</para>
- </listitem>
- <listitem>
- <para>Sabrá cómo se crean y graban los CD y DVD en
- &os;.</para>
- </listitem>
- <listitem>
- <para>Conocerá diversas opciones de almacenamiento de copias
- de seguridad.</para>
- </listitem>
- <listitem>
- <para>Sabrá cómo usar diversos programas de respaldo
- que pueden utilizarse en &os;.</para>
- </listitem>
- <listitem>
- <para>Sabrá cómo hacer copias de seguridad utilizando
- disquetes (floppy).</para>
- </listitem>
- <listitem>
- <para>Sabrá en qué consiste una instantánea
- (<quote>snapshot</quote>) y cómo utilizarla
- de forma eficiente.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo:</para>
-
- <itemizedlist>
- <listitem>
- <para>Debe saber cómo configurar e instalar un nuevo kernel
- en &os; (<xref linkend="kernelconfig"/>).</para>
- </listitem>
- </itemizedlist>
-
- </sect1>
-
- <sect1 xml:id="disks-naming">
- <title>Nombres de dispositivo</title>
-
- <para>A continuación le mostraremos una lista de dispositivos
- de físicos almacenamiento soportados por &os;
- y los nombres de dispositivo asociados con ellos.</para>
-
- <table xml:id="disk-naming-physical-table" frame="none">
- <title>Convenciones para nombrar discos físicos</title>
-
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Tipo de unidad</entry>
- <entry>Nombre de dispositivo de la unidad</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Discos duros IDE</entry>
- <entry><literal>ad</literal></entry>
- </row>
- <row>
- <entry>Unidades CDROM IDE</entry>
- <entry><literal>acd</literal></entry>
- </row>
- <row>
- <entry>Discos duros SCSI y dispositivos de almacenamiento masivo
- USB</entry>
- <entry><literal>da</literal></entry>
- </row>
- <row>
- <entry>Unidades CDROM SCSI</entry>
- <entry><literal>cd</literal></entry>
- </row>
- <row>
- <entry>Diferentes tipos de unidades CDROM no estándares</entry>
- <entry><literal>mcd</literal> para CD-ROM Mitsumi,
- <literal>scd</literal> para CD-ROM Sony,
- <literal>matcd</literal> para CD-ROM Matsushita/Panasonic
- </entry>
- </row>
- <row>
- <entry>Unidades de disquete (floppy)</entry>
- <entry><literal>fd</literal></entry>
- </row>
- <row>
- <entry>Unidades de cinta SCSI</entry>
- <entry><literal>sa</literal></entry>
- </row>
- <row>
- <entry>Unidades de cinta IDE</entry>
- <entry><literal>ast</literal></entry>
- </row>
- <row>
- <entry>Unidades Flash</entry>
- <entry><literal>fla</literal> para dispositivos &diskonchip;</entry>
- </row>
- <row>
- <entry>Unidades RAID</entry>
- <entry><literal>aacd</literal> para &adaptec; AdvancedRAID,
- <literal>mlxd</literal> y <literal>mlyd</literal>
- para &mylex;,
- <literal>amrd</literal> para AMI &megaraid;,
- <literal>idad</literal> para Compaq Smart RAID,
- <literal>twed</literal> para &tm.3ware; RAID.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect1>
-
- <sect1 xml:id="disks-adding">
- <info><title>Añadir discos</title>
- <authorgroup>
- <author><personname><firstname>David</firstname><surname>O'Brien</surname></personname><contrib>Texto original de </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <indexterm>
- <primary>discos</primary>
- <secondary>añadir</secondary>
- </indexterm>
-
- <para>Digamos que queremos añadir un nuevo disco SCSI a una
- máquina que solo tiene un disco. Comience por apagar el
- sistema e instale el disco siguiendo las instrucciones del fabricante
- de la computadora, del disco y de la controladora. Debido a la gran
- variedad de procedimientos posibles los detalles están más
- allá del alcance de este texto.</para>
-
- <para>Entre como usuario <systemitem class="username">root</systemitem>. Una vez instalado el
- disco inspeccione <filename>/var/run/dmesg.boot</filename>
- para asegurarse de que el sistema encontró el nuevo disco.
- Continuando con nuestro ejemplo, el disco recién añadido
- será
- <filename>da1</filename> y queremos montarlo en
- <filename>/1</filename> (si está añadiendo un disco IDE,
- el nombre de dispositivo será
- <filename>wd1</filename> en sistemas anteriores a 4.0, y
- <filename>ad1</filename> en sistemas 4.X y 5.X).</para>
-
- <indexterm><primary>particiones</primary></indexterm>
- <indexterm><primary>slices</primary></indexterm>
- <indexterm>
- <primary><command>fdisk</command></primary>
- </indexterm>
-
- <para>&os; funciona en computadoras IBM-PC y compatibles, por lo tanto
- tendrá en cuenta las particiones de la BIOS del PC, que son
- diferentes del tipo de partición que se ha venido usando en
- BSD. Un disco para PC puede contener hasta cuatro entradas de
- particiones BIOS. Si el disco va a utilizarse íntegramente
- con &os; puede usar el modo
- <emphasis>dedicado</emphasis>. Si no, &os; tendrá que
- instalarse dentro de una las particiones BIOS. En &os; se llama
- slices (<quote>porciones</quote> o <quote>rebanadas</quote>) a las
- particiones de PC BIOS para no confundirlas con las particiones BSD.
- También puede utilizar slices en un disco dedicado a
- &os; pero que se está usando en un sistema que también
- tiene otro sistema operativo instalado.
- Esta es una buena manera de evitar confundir la versión de
- <command>fdisk</command> de otros sistemas operativos.</para>
-
- <para>Desde el punto de vista de las slices el disco se
- añadirá como <filename>/dev/da1s1e</filename>.
- Se interpreta del siguiente modo: disco SCSI, unidad
- número 1 (segundo disco SCSI), slice 1 (partición 1
- de PC BIOS), y partición BSD <filename>e</filename>.
- Si es un disco dedicado, el disco se añadirá como
- <filename>/dev/da1e</filename>.</para>
-
-
- <para>Debido al uso de enteros de 32-bits para almacenar el número
- de sectores, &man.bsdlabel.8; (llamado &man.disklabel.8; en
- &os;&nbsp;4.X) está limitado a 2^32-1 sectores por disco
- ó 2TB (en la mayoría de los casos). El formato de
- &man.fdisk.8; permite un sector de arranque de un máximo de
- más de 2^32-1 y no más de 2^32-1 de longitud, limitando
- las particiones a 2TB y los discos a 4TB (también en
- la mayoría de los casos). El formato &man.sunlabel.8; tiene
- una limitación de 2^32-1 sectores por partición y 8
- particiones en un espacio máximo de 16TB. Si va a usar discos
- mayores puede usar particiones &man.gpt.8;.</para>
-
- <sect2>
- <title>Uso de &man.sysinstall.8;</title>
- <indexterm>
- <primary><application>sysinstall</application></primary>
- <secondary>añadir discos</secondary>
- </indexterm>
- <indexterm>
- <primary>su</primary>
- </indexterm>
- <procedure>
- <step>
- <title>Navegar en <application>Sysinstall</application></title>
-
-
- <para>Puede utilizar <command>sysinstall</command>
- (<command>/stand/sysinstall</command> en versiones de &os;
- anteriores a 5.2) para particionar y etiquetar un
- disco nuevo usando sus intuitivos menús.
- Entre como el usuario <systemitem class="username">root</systemitem> o utilice
- <command>su</command>. Ejecute
- <command>sysinstall</command> y entre al menú
- <literal>Configure</literal>. Dentro de
- <literal>FreeBSD Configuration Menu</literal>, descienda
- y seleccione la opción <literal>Fdisk</literal>.</para>
- </step>
-
- <step>
- <title>Editor de particiones <application>fdisk</application></title>
-
- <para>Una vez dentro de <application>fdisk</application>,
- teclée <userinput>A</userinput> si quiere usar el
- disco entero con &os; Cuando se le pregunte
- <quote>remain cooperative with any future
- possible operating systems</quote>
- <footnote><para>
- Mantener el disco accesible a sistemas operativos que pudieran
- necesitar acceder al mismo en algún momento.
- </para></footnote>, responda <literal>YES</literal>.
- Escriba los cambios al disco pulsando <userinput>W</userinput>.
- Salga del editor FDISK pulsando <userinput>q</userinput>.
- A continuación se le preguntará sobre el
- <quote>Master Boot Record</quote>. Debido a que está
- añadiendo un nuevo disco a un sistema que ya está
- instalado, tendrá que seleccionar
- <literal>None</literal>.</para>
- </step>
-
- <step>
- <title>Editor de etiquetas de disco</title>
-
- <indexterm><primary>particiones BSD</primary></indexterm>
-
- <para>A continuación, debe salir de
- <application>sysinstall</application> e iniciarlo de nuevo.
- Siga las instrucciones arriba expuestas, pero esta vez elija la
- opción <literal>Label</literal>. De este modo
- accederá al
- <literal>editor de etiquetas de disco</literal>.
- En él creará las particiones BSD
- tradicionales. Un disco puede tener hasta ocho particiones,
- etiquetadas desde la <literal>a</literal> a la
- <literal>h</literal>.
- Algunas de las etiquetas de las particiones tienen
- usos especiales. La partición <literal>a</literal>
- se utiliza para la partición raíz
- (<filename>/</filename>), por lo tanto sólo su disco
- de sistema (esto es, el disco desde el cual arranca)
- tendrá una partición <literal>a</literal>.
- La partición <literal>b</literal> se usa como
- partición swap; puede tener más de una
- partición swap y puede alojarlas en más de un
- disco. La partición <literal>c</literal>
- hace referencia al disco entero en modo dedicado, o a
- la slice de &os; completa en modo slice. Las demás
- particiones son para el resto de los usos típicos.</para>
-
- <para>El editor de etiquetas de
- <application>sysinstall</application>
- creará la partición <literal>e</literal> como
- partición <quote>ni raíz, ni swap</quote>.
- En el editor de etiquetas crée un solo sistema de
- ficheros tecleando <userinput>C</userinput>. Cuando se
- le pregunte si debe etiquetarse como FS (sistema de ficheros) o
- swap, elija <literal>FS</literal> y teclée un punto de
- montaje (por ejemplo <filename>/mnt</filename>). Al
- añadir un disco en modo
- <quote>post-instalación</quote>
- <application>sysinstall</application> no creará
- automáticamente las entradas correspondientes en
- <filename>/etc/fstab</filename>, por lo que el punto de
- montaje que usted especifique no tiene importancia.</para>
-
- <para>Ahora puede escribir la nueva etiqueta al disco y
- crear un sistema de ficheros en él tecleando
- <userinput>W</userinput>. Ignore cualquier error que
- pudiera generar <application>sysinstall</application> acerca
- de dificultades para montar la nueva partición. Salga del
- editor de etiquetas y de <application>sysinstall</application>.
- </para>
- </step>
-
- <step>
- <title>Terminar</title>
-
- <para>El último paso es editar
- <filename>/etc/fstab</filename>
- y añadir una entrada para su nuevo disco.</para>
- </step>
- </procedure>
- </sect2>
-
- <sect2>
- <title>Uso de utilidades de línea de comandos</title>
-
- <sect3>
- <title>Uso de slices</title>
-
- <para>Esta configuración le permitirá a su
- disco convivir sin sobresaltos con otro sistema operativo
- que pueda estar instalado en su sistema y no
- confundirá a las utilidades <command>fdisk</command> de
- esos otros sistemas operativos. Se recomienda utilizar este
- método para instalar discos nuevos.
- <emphasis>Utilice el modo dedicado sólamente si tiene
- un buen motivo para hacerlo</emphasis>.</para>
-
- <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
-&prompt.root; <userinput>fdisk -BI da1</userinput> #Initialice el nuevo disco.
-&prompt.root; <userinput>disklabel -B -w -r da1s1 auto</userinput> #Etiquételo.
-&prompt.root; <userinput>disklabel -e da1s1</userinput> # Edite la etiqueta de disco que acaba de crear y añada particiones.
-&prompt.root; <userinput>mkdir -p /1</userinput>
-&prompt.root; <userinput>newfs /dev/da1s1e</userinput> # Repita este paso por cada partición que crée.
-&prompt.root; <userinput>mount /dev/da1s1e /1</userinput> # Monte la partición o particiones.
-&prompt.root; <userinput>vi /etc/fstab</userinput> # Añada la/s entrada/s apropiadas en <filename>/etc/fstab</filename>.</screen>
-
- <para>Si tiene un disco IDE, sustituya <filename>ad</filename>
- por <filename>da</filename>. En sistemas anteriores a 4.X
- utilice <filename>wd</filename>.</para>
- </sect3>
-
- <sect3>
- <title>Dedicado</title>
- <indexterm><primary>OS/2</primary></indexterm>
-
- <para>Si no va a compartir el nuevo disco con otro sistema
- operativo puede utilizar el modo <literal>dedicado</literal>.
- Recuerde que este modo puede confundir a los sistemas operativos
- de Microsoft, aunque no podrán dañar por ello el
- disco o su contenido. Tenga en cuenta que &os; (de IBM)
- se <quote>apropiará</quote> de cualquier partición
- que encuentre y no entienda.</para>
-
- <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
-&prompt.root; <userinput>disklabel -Brw da1 auto</userinput>
-&prompt.root; <userinput>disklabel -e da1</userinput> # crear partición `e'
-&prompt.root; <userinput>newfs -d0 /dev/da1e</userinput>
-&prompt.root; <userinput>mkdir -p /1</userinput>
-&prompt.root; <userinput>vi /etc/fstab</userinput> # agregar una entrada para /dev/da1e
-&prompt.root; <userinput>mount /1</userinput></screen>
-
- <para>Una forma alternativa de hacerlo sería:</para>
-
- <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 count=2</userinput>
-&prompt.root; <userinput>disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin</userinput>
-&prompt.root; <userinput>newfs /dev/da1e</userinput>
-&prompt.root; <userinput>mkdir -p /1</userinput>
-&prompt.root; <userinput>vi /etc/fstab</userinput> # añadir una entrada para /dev/da1e
-&prompt.root; <userinput>mount /1</userinput></screen>
-
- <note><para>A partir de &os;&nbsp;5.1-RELEASE, la utilidad
- &man.bsdlabel.8; reemplazó al antiguo programa
- &man.disklabel.8;. En &man.bsdlabel.8; se han eliminado muchos
- parámetros y opciones obsoletas;
- en los ejemplos de arriba la opción <option>-r</option>
- debe eliminarse si se usa &man.bsdlabel.8;. Para más
- información diríjase al manual
- de &man.bsdlabel.8;.</para></note>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="raid">
- <title>RAID</title>
-
- <sect2 xml:id="raid-soft">
- <title>Software RAID</title>
-
- <sect3 xml:id="ccd">
- <info><title>Configuración de controlador de disco
- concatenado (CCD)</title>
- <authorgroup>
- <author><personname><firstname>Christopher</firstname><surname>Shumway</surname></personname><contrib>Texto original de </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Brown</surname></personname><contrib>Revisado por </contrib></author>
- </authorgroup>
- </info>
-
-
-
-<indexterm><primary>RAID</primary><secondary>software</secondary></indexterm>
-<indexterm>
- <primary>RAID</primary><secondary>CCD</secondary>
-</indexterm>
-
- <para>Al escoger una solución de almacenamiento masivo
- los factores más importantes a considerar son velocidad,
- fiabilidad y coste. Es raro tener los tres por igual;
- normalmente un dispositivo de almacenamiento masivo veloz y
- fiable es caro, y para recortar los costes suele sacrificarse
- la velocidad o la fiabilidad.</para>
-
- <para>Al diseñar el sistema descrito más adelante se
- eligió el coste como el factor más importante,
- seguido de la velocidad, y luego la fiabilidad.
- La velocidad de transferencia de datos para este sistema está,
- en última instancia, limitada por la red. Y mientras que la
- confiabilidad es muy importante, el controlador CCD descrito
- más adelante sirve datos que están respaldados
- en CD-R y pueden ser reemplazados sin dificultad.</para>
-
- <para>Al escoger una solución de almacenamiento masivo el
- primer paso es definir sus necesidades. Si prefiere velocidad o
- fiabilidad por encima del coste, el resultado será
- distinto del que vamos a describir en esta sección.
- </para>
-
-
- <sect4 xml:id="ccd-installhw">
- <title>Instalación del hardware</title>
-
- <para>Además del disco IDE, el núcleo del
- disco CCD está compuesto por tres discos IDE
- discos IDE Western Digital de 30GB y 5400 RPM, que
- ofrecen aproximadamente 90GB de almacenamiento.
- Lo ideal sería que cada disco IDE tuviera
- su propio cable y controlador, pero para minimizar
- costes no se utilizaron controladores IDE adicionales.
- En lugar de eso se configuraron los discos
- con <quote>jumpers</quote> para que cada controlador IDE
- tuviera un maestro y un esclavo.</para>
-
- <para>Despues de reiniciar la BIOS se configuró
- para que detectara automáticamente los discos
- conectados.
- &os; los detectó al reiniciar:</para>
-
- <programlisting>ad0: 19574MB &lt;WDC WD205BA&gt; [39770/16/63] at ata0-master UDMA33
-ad1: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata0-slave UDMA33
-ad2: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-master UDMA33
-ad3: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-slave UDMA33</programlisting>
-
- <note><para>Si &os; no detecta todos los discos
- asegúrese de que ha colocado correctamente los
- <quote>jumpers</quote>. La mayoría de los discos IDE
- tienen un <quote>jumper</quote> <quote>Cable Select</quote>.
- Este <emphasis>no</emphasis> es el
- <quote>jumper</quote> que define la relación
- maestro/esclavo. Consulte la documentación
- del disco para identificar el <quote>jumper</quote>
- correcto.</para></note>
-
- <para>El siguiente paso es estudiar cómo conectarlos
- para que formen parte del sistema de ficheros. Investigue
- Debe investigar &man.vinum.8;
- (<xref linkend="vinum-vinum"/>) y &man.ccd.4;. Nosotros
- elegimos &man.ccd.4; para nuestra
- configuración.</para>
- </sect4>
-
- <sect4 xml:id="ccd-setup">
- <title>Configuración de CCD</title>
-
- <para>El controlador &man.ccd.4; le permite tomar
- varios discos idénticos y concatenarlos
- en un solo sistema lógico de ficheros.
- Para poder usar &man.ccd.4; necesita un
- kernel compilado con soporte de &man.ccd.4;.
- Añada esta línea al fichero de
- configuración de su kernel, recompile y
- reinstale su kernel:</para>
-
- <programlisting>pseudo-device ccd 4</programlisting>
-
- <para>En sistemas 5.X, use la siguiente línea:</para>
-
- <programlisting>device ccd</programlisting>
-
- <note><para>En FreeBSD&nbsp;5.X no es necesario especificar
- un número de dispositivos &man.ccd.4;, ya que el controlador
- de dispositivo &man.ccd.4; es capaz de clonarse a sí
- mismo (se crearán nuevas instancias de dispositivo
- automáticamente según vayan haciendo falta).
- </para></note>
-
- <para>El soporte de &man.ccd.4; también puede
- cargarse como módulo en &os; 3.0 y
- posteriores.</para>
-
- <para>Para configurar &man.ccd.4; tendrá que
- usar &man.disklabel.8; para etiquetar los
- discos:</para>
-
- <programlisting>disklabel -r -w ad1 auto
-disklabel -r -w ad2 auto
-disklabel -r -w ad3 auto</programlisting>
-
- <para>Esto crea una etiqueta de disco para
- <filename>ad1c</filename>,
- <filename>ad2c</filename> y
- <filename>ad3c</filename> que abarcan
- el disco completo.</para>
-
- <note><para>A partir de &os;&nbsp;5.1-RELEASE
- &man.bsdlabel.8; reemplazó al antiguo programa
- &man.disklabel.8;. En &man.bsdlabel.8; se eliminaron muchas
- opciones y parámetros obsoletos;
- en los ejemplos de arriba la opción <option>-r</option>
- deben obviarse. Para más información consulte
- &man.bsdlabel.8;.</para></note>
-
- <para>El siguiente paso es cambiar el tipo de etiqueta
- de disco. Edite los discos con &man.disklabel.8;:
- </para>
-
- <programlisting>disklabel -e ad1
-disklabel -e ad2
-disklabel -e ad3</programlisting>
-
- <para>Esto abre la etiqueta de disco de cada disco
- con el editor declarado en la variable de
- entorno <envar>EDITOR</envar>, por defecto &man.vi.1;.</para>
-
- <para>Esta es una etiqueta de disco sin modificar:</para>
-
- <programlisting>8 partitions:
-# size offset fstype [fsize bsize bps/cpg]
- c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)</programlisting>
-
- <para>&man.ccd.4; necesita que añada una nueva
- partición <literal>e</literal>. Puede copiarla desde la
- partición <literal>c</literal>, pero el tipo de sistema de
- ficheros (la opción <option>fstype</option>) debe ser
- <userinput>4.2BSD</userinput>. La etiqueta del disco
- debería tener este aspecto:</para>
-
- <programlisting>8 partitions:
-# size offset fstype [fsize bsize bps/cpg]
- c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
- e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)</programlisting>
-
- </sect4>
-
- <sect4 xml:id="ccd-buildingfs">
- <title>Contrucción del sistema de ficheros</title>
-
- <para>Puede que todavía no exista el
- nodo de dispositivo para <filename>ccd0c</filename>.
- Si es así, ejecute lo siguiente:
- </para>
-
- <programlisting>cd /dev
-sh MAKEDEV ccd0</programlisting>
-
- <note><para>En FreeBSD 5.0 &man.devfs.5; administrará
- automáticamente los nodos de dispositivos en
- <filename>/dev</filename>, así que no tendrá que
- usar <command>MAKEDEV</command>.</para></note>
-
- <para>Una vez etiquetados todos los discos construya
- el &man.ccd.4;. Utilice
- &man.ccdconfig.8; con opciones similares a las siguientes:</para>
-
- <programlisting>ccdconfig ccd0<co xml:id="co-ccd-dev"/> 32<co xml:id="co-ccd-interleave"/> 0<co xml:id="co-ccd-flags"/> /dev/ad1e<co xml:id="co-ccd-devs"/> /dev/ad2e /dev/ad3e</programlisting>
-
- <para>El uso y el significado de cada una de las opciones se
- muestra más abajo:</para>
-
- <calloutlist>
- <callout arearefs="co-ccd-dev">
- <para>El primer argumento es el dispositivo a configurar, en este
- caso <filename>/dev/ccd0c</filename>. La parte
- <filename>/dev/</filename> es opcional.</para>
- </callout>
-
- <callout arearefs="co-ccd-interleave">
-
- <para>El intervalo para el sistema de ficheros. El intervalo
- define el tamaño de una banda en bloques de disco,
- normalmente 512 bytes. Por lo tanto, un intervalo
- de 32 equivaldría 16.384 bytes.</para>
- </callout>
-
- <callout arearefs="co-ccd-flags">
- <para>Banderas para &man.ccdconfig.8;. Si desea disponer
- sus discos en espejo use aquí una bandera.
- Esta configuración no necesita discos en espejo,
- por lo que está dispuesta a 0 (cero).</para>
- </callout>
-
- <callout arearefs="co-ccd-devs">
- <para>Los últimos argumentos de &man.ccdconfig.8;
- son los dispositivos a colocar en el array. Utilice
- la ruta completa para cada dispositivo.</para>
- </callout>
- </calloutlist>
-
-
- <para>Despues de ejecutar &man.ccdconfig.8; el &man.ccd.4;
- estará configurado y podrá instalar un sistema
- de ficheros. Consulte las opciones de &man.newfs.8; y
- ejecute:</para>
-
- <programlisting>newfs /dev/ccd0c</programlisting>
-
-
- </sect4>
-
- <sect4 xml:id="ccd-auto">
- <title>Automatización</title>
-
- <para>Seguramente querrá que
- &man.ccd.4; esté dispuesto tras cada reinicio. Para
- ello, debe configurarlo. Guarde su configuración
- en <filename>/etc/ccd.conf</filename> mediante lo
- siguiente:</para>
-
- <programlisting>ccdconfig -g &gt; /etc/ccd.conf</programlisting>
-
- <para>Durante el reinicio, el <quote>script</quote>
- <command>/etc/rc</command>
- ejecuta <command>ccdconfig -C</command> si encuentra
- el fichero <filename>/etc/ccd.conf</filename>. De este modo
- &man.ccd.4; queda configurado automáticamente para que
- pueda montarse.</para>
-
- <note><para>Si ha arrancando en modo mono usuario necesita
- ejecutar el siguiente comando antes de que pueda montar
- el &man.ccd.4; para configurar el array:</para>
-
- <programlisting>ccdconfig -C</programlisting>
- </note>
-
- <para>Para montar automaticamente el &man.ccd.4;
- coloque una entrada para &man.ccd.4; en
- <filename>/etc/fstab</filename> para que se monte
- durante el arranque:</para>
-
- <programlisting>/dev/ccd0c /media ufs rw 2 2</programlisting>
- </sect4>
- </sect3>
-
- <sect3 xml:id="vinum">
- <title>El administrador de volúmenes Vinum</title>
-
-<indexterm><primary>RAID</primary><secondary>software</secondary></indexterm>
-<indexterm>
- <primary>RAID</primary>
- <secondary>Vinum</secondary>
-</indexterm>
-
- <para>El administrador de volúmenes Vinum es un
- controlador de dispositivos de bloque que implementa
- unidades de disco virtuales. Aísla los discos hardware de
- la interfaz de dispositivos de bloque y mapea datos de
- modo que revierta en un incremento de flexibilidad,
- rendimiento y fiabilidad comparados con el sistema de slices
- de almacenamiento de disco tradicional.
- &man.vinum.8; implementa los modelos RAID-0, RAID-1 y
- RAID-5, individualmente o combinados.</para>
-
- <para>Consulte el <xref linkend="vinum-vinum"/> para mayor
- información sobre &man.vinum.8;.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="raid-hard">
- <title>RAID por Hardware</title>
-
- <indexterm>
- <primary>RAID</primary>
- <secondary>hardware</secondary>
- </indexterm>
-
- <para>FreeBSD admite una gran variedad de controladores
- <acronym>RAID</acronym> por hardware. Estos dispositivos
- controlan un subsistema <acronym>RAID</acronym> sin necesidad
- de software específico para &os; que administre el
- array.</para>
-
- <para>Puede controlar la mayoría de las operaciones de disco con
- una tarjeta que incorpore <acronym>BIOS</acronym>.
- El siguiente texto es una breve
- descripción de configuración utilizando una
- controladora Promise <acronym>RAID</acronym> <acronym>IDE</acronym>.
- Cuando se instala esta tarjeta e inicia el sistema despliega
- un <quote>prompt</quote> pidiendo información. Siga las
- instrucciones para entrar a la pantalla de configuración de la
- tarjeta. Ahí tendrá posibilidad de combinar todos los
- discos que haya conectado. Hecho esto el disco (o discos)
- aparecerán como una sola unidad en &os;. Pueden configurarse
- otros niveles de
- <acronym>RAID</acronym>.</para>
- </sect2>
-
- <sect2>
- <title>Reconstrucción de arrays ATA RAID1</title>
-
- <para>&os; le permite reemplazar en caliente un disco dañado.
- Esto requiere que lo intercepte antes de reiniciar.</para>
-
- <para>Probablemente vea algo como lo siguiente en
- <filename>/var/log/messages</filename> o en la salida de
- &man.dmesg.8;:</para>
-
- <programlisting>ad6 on monster1 suffered a hard error.
-ad6: READ command timeout tag=0 serv=0 - resetting
-ad6: trying fallback to PIO mode
-ata3: resetting devices .. done
-ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\
-status=59 error=40
-ar0: WARNING - mirror lost</programlisting>
-
- <para>Consulte &man.atacontrol.8; para más
- información:</para>
-
- <screen>&prompt.root; <userinput>atacontrol list</userinput>
-ATA channel 0:
- Master: no device present
- Slave: acd0 &lt;HL-DT-ST CD-ROM GCR-8520B/1.00&gt; ATA/ATAPI rev 0
-
-ATA channel 1:
- Master: no device present
- Slave: no device present
-
-ATA channel 2:
- Master: ad4 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
- Slave: no device present
-
-ATA channel 3:
- Master: ad6 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
- Slave: no device present
-
-&prompt.root; <userinput>atacontrol status ar0</userinput>
-ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED</screen>
-
- <procedure>
- <step>
- <para>Primero debe desconectar el disco del array para
- que pueda retirarlo con seguridad:</para>
-
- <screen>&prompt.root; <userinput>atacontrol detach 3</userinput></screen>
- </step>
-
- <step>
- <para>Reemplace el disco.</para>
- </step>
-
- <step>
- <para>Conecte el disco de repuesto:</para>
-
- <screen>&prompt.root; <userinput>atacontrol attach 3</userinput>
-Master: ad6 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
-Slave: no device present</screen>
- </step>
-
- <step>
- <para>Reconstruya el array:</para>
-
- <screen>&prompt.root; <userinput>atacontrol rebuild ar0</userinput></screen>
- </step>
-
- <step>
-
- <para>El comando de reconstrucción no responderá hasta
- que termine la tarea. Puede abrir otra terminal (mediante
- <keycombo action="simul"><keycap>Alt</keycap> <keycap>F<replaceable>n</replaceable></keycap></keycombo>)
- y revisar el progreso ejecutando lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>dmesg | tail -10</userinput>
-[texto eliminado]
-ad6: removed from configuration
-ad6: deleted from ar0 disk1
-ad6: inserted into ar0 disk1 as spare
-
-&prompt.root; <userinput>atacontrol status ar0</userinput>
-ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed</screen>
- </step>
-
- <step>
- <para>Espere hasta que termine la operación.</para>
- </step>
- </procedure>
- </sect2>
- </sect1>
-
- <sect1 xml:id="usb-disks">
- <info><title>Dispositivos de almacenamiento USB</title>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
-
- </info>
-
-
- <indexterm>
- <primary>USB</primary>
- <secondary>discos</secondary>
- </indexterm>
-
- <para>Hoy día hay una enorme cantidad de soluciones de
- almacenamiento externoque usan el bus serie universal (USB):
- discos duros, <quote>mecheros</quote> (o
- <quote>lápices</quote>) USB, grabadoras de
- CD-R, etc. &os; puede usar estos dispositivos.</para>
-
- <sect2>
- <title>Configuración</title>
-
- <para>El controlador de dispositivos de almacenamiento masivo
- USB, &man.umass.4;, ofrece soporte para dispositivos de
- almacenamiento USB. Si usa el kernel <filename>GENERIC</filename>
- no necesita cambiar nada en su configuración. Si
- utiliza un kernel personalizado asegúrese de que su
- fichero de configuración del kernel contiene las
- siguientes líneas:</para>
-
- <programlisting>device scbus
-device da
-device pass
-device uhci
-device ohci
-device usb
-device umass</programlisting>
-
- <para>El controlador &man.umass.4; usa el subsistema SCSI para
- acceder a los dispositivos de almacenamiento USB y su
- dispositivo USB aparecerá en el sistema como
- dispositivo SCSI. Dependiendo del chipset USB de su
- placa base sólamente necesitará
- <literal>device uhci</literal> o
- <literal>device ohci</literal>; en cualquier caso tener
- los dos en el fichero de configuración del kernel
- no provocará ningún daño. No olvide
- compilar e instalar el nuevo kernel si hizo alguna
- modificación.</para>
-
- <note>
- <para>Si su dispositivo USB es una grabadora CD-R o DVD el
- controlador SCSI CD-ROM, &man.cd.4;, debe ser añadirse al
- kernel mediante la siguiente línea:</para>
-
- <programlisting>device cd</programlisting>
-
- <para>Dado que la grabadora aparece como una unidad
- SCSI no tiene que usar el controlador &man.atapicam.4;
- en la configuración del kernel.</para>
- </note>
-
- <para>En &os;&nbsp;5.X y en la rama 4.X desde &os;&nbsp;4.10-RELEASE
- el soporte para controladores USB 2.0 se incorpora al sistema del
- siguiente modo:</para>
-
- <programlisting>device ehci</programlisting>
-
- <para>Tenga en cuenta que &man.uhci.4; y
- &man.ohci.4; siguen siendo necesarios si quiere disponer de
- soporte para USB 1.X.</para>
-
- <note>
- <para>En &os;&nbsp;4.X, El d&aelig;mon USB (&man.usbd.8;) debe
- ejecutarse para poder ver ciertos tipos de dispositivo USB.
- Para habilitarlo, añada
- <literal>usbd_enable="YES"</literal> en
- <filename>/etc/rc.conf</filename> y reinicie la
- máquina.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>Prueba de la configuración</title>
-
- <para>La configuración está lista para probarse:
- conecte su dispositivo USB; en el búfer de mensajes del
- sistema (&man.dmesg.8;), la unidad debe aparecer como algo
- similar a esto:</para>
-
- <screen>umass0: USB Solid state disk, rev 1.10/1.00, addr 2
-GEOM: create disk da0 dp=0xc2d74850
-da0 at umass-sim0 bus 0 target 0 lun 0
-da0: &lt;Generic Traveling Disk 1.11&gt; Removable Direct Access SCSI-2 device
-da0: 1.000MB/s transfers
-da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)</screen>
-
- <para>Obviamente la marca, el nodo de dispositivo
- (<filename>da0</filename>) y otros detalles
- pueden diferir dependiendo de su hardware.</para>
-
- <para>Ya que el dispositivo USB aparece como uno SCSI,
- puede usar <command>camcontrol</command> para ver una lista
- de dispositivos USB conectados al
- sistema:</para>
-
- <screen>&prompt.root; <userinput>camcontrol devlist</userinput>
-&lt;Generic Traveling Disk 1.11&gt; at scbus0 target 0 lun 0 (da0,pass0)</screen>
-
- <para>Si la unidad tiene un sistema de ficheros puede montarla.
- La <xref linkend="disks-adding"/> contiene información que
- le resultará muy útil para formatear y crear
- particiones en el disco USB en caso de necesitarlo.</para>
-
- <para>Si desconecta el dispositivo (el disco debe desmontarse
- previamente), debería ver en el búfer de mensajes
- del sistema algo parecido a esto:</para>
-
- <screen>umass0: at uhub0 port 1 (addr 2) disconnected
-(da0:umass-sim0:0:0:0): lost device
-(da0:umass-sim0:0:0:0): removing device entry
-GEOM: destroy disk da0 dp=0xc2d74850
-umass0: detached</screen>
- </sect2>
-
- <sect2>
- <title>Lecturas recomendadas</title>
-
- <para>Ademas de las secciones
- <link linkend="disks-adding">Cómo añadir discos</link>
- y <link linkend="mount-unmount">Montado y desmontado de sistemas
- ficheros</link>, consulte las siguientes páginas man:
- &man.umass.4;, &man.camcontrol.8; y
- &man.usbdevs.8;.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="creating-cds">
- <info><title>Creación y uso de medios ópticos (CD)</title>
- <authorgroup>
- <author><personname><firstname>Mike</firstname><surname>Meyer</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
-
- </info>
-
-
- <indexterm>
- <primary>CDROM</primary>
- <secondary>creación</secondary>
- </indexterm>
-
- <sect2>
- <title>Introducción</title>
-
- <para>Los CD tienen muchas opciones que los hacen distintos de
- los discos convencionales. Al principio los usuarios no
- podían escribirlos. Su diseño permite que leamos
- en ellos sin el retardo del movimiento de una cabeza lectora
- de una pista a otra.
- También son mucho más fáciles de transportar
- de un sistema a otro que muchos otros soportes de
- información.</para>
-
- <para>Los CD tienen pistas, pero son una sección de los
- que permiten lectura contínua, no una propiedad
- física del disco. Para crear un CD en &os; debe
- preparar los ficheros de datos que van a constituir las pistas
- del CD y luego escribir las pistas al CD.</para>
-
- <indexterm><primary>ISO 9660</primary></indexterm>
- <indexterm>
- <primary>sistema de ficheros</primary>
- <secondary>ISO 9660</secondary>
- </indexterm>
- <para>El sistema de ficheros ISO 9660 se diseñó
- para gestionar estas diferencias. Por desgracia implementa
- límites de sistema de ficheros que eran comunes en la
- época en que se diseñó.
- Por suerte también proporciona un mecanismo de extensiones
- que permite que CD escritos excediendo dichos límites
- funcionen en sistemas que no soportan esas extensiones.</para>
-
- <indexterm>
- <primary><package>sysutils/cdrtools</package></primary>
- </indexterm>
- <para>El port <package>sysutils/cdrtools</package>
- incluye &man.mkisofs.8;, un programa que le permitirá
- crear un fichero de datos que contenga un sistema de
- ficheros ISO 9660. Incorpora opciones que soportan varias
- extensiones. Se describe más adelante.</para>
-
- <indexterm>
- <primary>grabadora de CD</primary>
- <secondary>ATAPI</secondary>
- </indexterm>
- <para>Qué herramienta usar para grabar el CD depende de si
- su grabadora es ATAPI o no. Las grabadoras de CD ATAPI usan el
- programa <command>burncd</command>,
- que forma parte del sistema base. Las grabadoras SCSI y USB usan
- <command>cdrecord</command>, del
- port <package>sysutils/cdrtools</package>.</para>
-
- <para><command>burncd</command> no soporta cualquier unidad de
- grabación. Para saber si una unidad está
- soportada consulte la siguiente lista de
- <link xlink:href="http://www.freebsd.dk/ata/">unidades CD-R/RW soportadas</link>.</para>
-
- <note>
- <indexterm>
- <primary>grabadora de CD</primary>
- <secondary>controlador ATAPI/CAM</secondary>
- </indexterm>
- <para>Si utiliza &os;&nbsp;5.X, &os;&nbsp;4.8-RELEASE
- o posteriores, puede utilizar
- <command>cdrecord</command> y
- otras herramientas para unidades SCSI en hardware ATAPI con
- el <link linkend="atapicam">módulo ATAPI/CAM</link>.</para>
- </note>
-
- <para>Si quiere usar un interfaz gráfico con su software
- de grabación de CD quizás le guste
- <application>X-CD-Roast</application> o
- <application>K3b</application>. Puede instalar estas herramientas
- como paquetes o desde los ports
- <package>sysutils/xcdroast</package> y
- <package>sysutils/k3b</package>, respectivamente.
- <application>X-CD-Roast</application> y
- <application>K3b</application> requieren el
- <link linkend="atapicam">módulo ATAPI/CAM</link>
- si usa hardware ATAPI.</para>
- </sect2>
-
- <sect2 xml:id="mkisofs">
- <title>mkisofs</title>
-
- <para>El programa &man.mkisofs.8; (que forma parte del
- port <package>sysutils/cdrtools</package>)
- genera un sistema de ficheros ISO 9660 que es una imagen
- de un árbol de directorios en el espacio de nombres
- del sistema de ficheros &unix;. Esta es la forma más simple
- de usarlo:</para>
-
- <screen>&prompt.root; <userinput>mkisofs -o ficherodeimagen.iso /ruta/del/árbol</userinput></screen>
-
- <indexterm>
- <primary>sistemas de ficheros</primary>
- <secondary>ISO 9660</secondary>
- </indexterm>
- <para>Este comando creará un
- <replaceable>ficherodeimagen.iso</replaceable>
- que contenga un sistema de ficheros ISO 9660 que es una copia del
- árbol ubicado en
- <replaceable>/ruta/al/árbol</replaceable>. En el
- proceso, mapeará los nombres de fichero a nombres que
- se ajusten a las limitaciones del estándar del sistema
- de ficheros ISO 9660, y excluirá ficheros que posean
- nombres no característicos de sistemas de ficheros
- ISO.</para>
-
- <indexterm>
- <primary>sistemas de ficheros</primary>
- <secondary>HFS</secondary>
- </indexterm>
- <indexterm>
- <primary>sistemas de ficheros</primary>
- <secondary>Joliet</secondary>
- </indexterm>
-
- <para>Existe gran cantidad de opciones que permiten superar
- esas restricciones. En particular, <option>-R</option>
- habilita las extensiones Rock Ridge comunes para sistemas
- &unix;, <option>-J</option> habilita las extensiones Joliet
- usadas por sistemas Microsoft y <option>-hfs</option> puede
- usarse para crear sistemas de ficheros utilizados por
- &macos;.</para>
-
- <para>Puede utilizar <option>-U</option> para deshabilitar
- todas las restricciones de nombres de fichero si quiere crear un
- CD que se vaya a usar exclusivamente en sistemas &os;. Cuando se
- usa con <option>-R</option> produce una imagen de sistema
- de ficheros que es idéntica al árbol &os;
- origen, aunque puede violar el estándar ISO 9660
- de múltiples formas.</para>
-
- <indexterm>
- <primary>CDROMs</primary>
- <secondary>creación cd CD arrancables</secondary>
- </indexterm>
- <para>La última opción de uso general es
- <option>-b</option>. Se usa para configurar la ubicación
- de la imagen de arranque que se usará al crear un CD
- arrancable <quote>El Torito</quote>.
- Esta opción usa como argumento la ruta a la imagen de
- arranque desde la raíz del árbol de directorios que
- se va a escribir en el CD. Por defecto &man.mkisofs.8;
- crea una imagen ISO en un modo llamado <quote>de emulación
- de disquete (floppy)</quote>, y por lo tanto espera que
- la imagen de arranque sea exactamente de 1.200, 1.440 o
- 2880&nbsp;KB de tamaño. Algunos cargadores de arranque,
- como el que se usa en los discos de la distribución &os;,
- no utilizan modo de emulación: se usa la opción
- <option>-no-emul-boot</option>. Por tanto, si
- <filename>/tmp/miarranque</filename> tiene un sistema &os;
- arrancable con la imagen de arranque en
- <filename>/tmp/miarranque/boot/cdboot</filename> podría
- crear la imagen en un sistema de ficheros ISO 9660 en
- <filename>/tmp/arrancable.iso</filename> de la siguiente manera:</para>
-
- <screen>&prompt.root; <userinput>mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/arrancable.iso /tmp/miarranque</userinput></screen>
-
- <para>Hecho esto, si tiene <filename>vn</filename>
- (FreeBSD&nbsp;4.X), o <filename>md</filename>
- (FreeBSD&nbsp;5.X)
- configurado en su kernel, puede montar el sistema de
- ficheros del siguiente modo:</para>
-
- <screen>&prompt.root; <userinput>vnconfig -e vn0c /tmp/arrancable.iso</userinput>
-&prompt.root; <userinput>mount -t cd9660 /dev/vn0c /mnt</userinput></screen>
-
- <para>En FreeBSD&nbsp;4.X y FreeBSD&nbsp;5.X proceda del siguiente
- modo:</para>
-
- <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /tmp/arrancable.iso -u 0</userinput>
-&prompt.root; <userinput>mount -t cd9660 /dev/md0 /mnt</userinput></screen>
-
- <para>Ahora puede verificar que <filename>/mnt</filename>
- y <filename>/tmp/miarranque</filename> sean idénticos.</para>
-
- <para>Existen muchas otras opciones que puede usar para depurar el
- comportamiento de &man.mkisofs.8;, sobre todo en lo que se refiere
- al esquema ISO 9660 y la creación de discos Joliet y HFS.
- Consulte el manual de &man.mkisofs.8;.</para>
- </sect2>
-
- <sect2 xml:id="burncd">
- <title>burncd</title>
- <indexterm>
- <primary>CDROM</primary>
- <secondary>grabar</secondary>
- </indexterm>
- <para>Si tiene una grabadora ATAPI puede usar
- <command>burncd</command> para grabar una imagen ISO en un
- CD. <command>burncd</command> forma parte del sistema base, y
- está en <filename>/usr/sbin/burncd</filename>. Su uso
- es muy sencillo, ya que tiene pocas opciones:</para>
-
- <screen>&prompt.root; <userinput>burncd -f unidaddecd data ficheroimagen.iso fixate</userinput></screen>
-
- <para>Esto grabará una copia de <replaceable>ficheroimagen.iso</replaceable>
- en <replaceable>unidadcd</replaceable>. El dispositivo por
- defecto es <filename>/dev/acd0</filename>
- (o <filename>/dev/acd0c</filename> en &os;&nbsp;4.X).
- Consulte &man.burncd.8; para ver las opciones de configuración
- de velocidad de escritura, expulsión de CD una vez grabado, y
- escritura de datos de audio.</para>
- </sect2>
-
- <sect2 xml:id="cdrecord">
- <title>cdrecord</title>
-
- <para>Si no dispone de una grabadora ATAPI de CD, tendrá que
- usar <command>cdrecord</command> para grabar sus CD.
- <command>cdrecord</command> no forma parte del sistema
- base; instálelo desde el port
- <package>sysutils/cdrtools</package> o
- como paquete. Los cambios en el sistema base pueden
- hacer que las versiones binarias del programa fallen.
- Tendrá que actualizar el port cuando actualice su sistema
- o, si está
- <link linkend="stable">siguiendo la rama -STABLE</link>,
- actualizar el port cuando haya una nueva versión
- disponible.</para>
-
- <para>Aunque <command>cdrecord</command> tiene muchas opciones, el
- uso básico es incluso más simple que
- el de <command>burncd</command>. Así se graba una imagen
- ISO 9660:</para>
-
- <screen>&prompt.root; <userinput>cdrecord dev=dispositivo ficheroimagen.iso</userinput></screen>
-
- <para>La parte complicada de utilizar <command>cdrecord</command> es
- encontrar qué <option>dev</option> usar. Utilice la
- bandera <option>-scanbus</option> para dar con la
- configuración apropiada. La salida será parecida a
- la siguiente:</para>
- <indexterm>
- <primary>CDROMs</primary>
- <secondary>grabar</secondary>
- </indexterm>
- <screen>&prompt.root; <userinput>cdrecord -scanbus</userinput>
-Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 J&ouml;rg Schilling
-Using libscg version 'schily-0.1'
-scsibus0:
- 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
- 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk
- 0,2,0 2) *
- 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk
- 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
- 0,5,0 5) *
- 0,6,0 6) *
- 0,7,0 7) *
-scsibus1:
- 1,0,0 100) *
- 1,1,0 101) *
- 1,2,0 102) *
- 1,3,0 103) *
- 1,4,0 104) *
- 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM
- 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner
- 1,7,0 107) *</screen>
-
- <para>Esta lista muestra los valores <option>dev</option> apropiados para
- los dispositivos de la lista. Localice su grabadora de CD y
- utilice los tres números separados por comas como valor
- para <option>dev</option>. En este caso, el dispositivo CDW
- es 1,5,0 y por tanto la entrada apropiada sería
- <option>dev=1,5,0</option>. Hay modos más
- fáciles de especificar este valor; consulte &man.cdrecord.1;
- para más detalles. También es el lugar donde buscar
- información sobre la escritura de pistas de audio,
- controlar la velocidad de escritura y muchas más cosas.</para>
- </sect2>
-
- <sect2 xml:id="duplicating-audiocds">
- <title>Copiar CD de audio</title>
-
- <para>Puede duplicar un CD de audio extrayendo los datos de audio del
- CD a ficheros y escribir estos ficheros en un CD virgen.
- El proceso es ligeramente diferente en unidades ATAPI y
- SCSI.</para>
-
- <procedure>
- <title>Unidades SCSI</title>
-
- <step>
- <para>Use <command>cdda2wav</command> para extraer el audio.</para>
-
- <screen>&prompt.user; <userinput>cdda2wav -v255 -D2,0 -B -Owav</userinput></screen>
- </step>
-
- <step>
- <para>Use <command>cdrecord</command> para escribir
- los ficheros <filename>.wav</filename>.</para>
-
- <screen>&prompt.user; <userinput>cdrecord -v dev=2,0 -dao -useinfo *.wav</userinput></screen>
-
- <para>Asegúrese de que <replaceable>2,0</replaceable>
- este configurado apropiadamente, como se describe en la
- <xref linkend="cdrecord"/>.</para>
- </step>
- </procedure>
-
- <procedure>
- <title>Unidades ATAPI</title>
-
- <step>
- <para>El controlador de CD ATAPI hace que cada pista sea
- accesible como
- <filename>/dev/acddtnn</filename>,
- donde <replaceable>d</replaceable> es el número
- de unidad y <replaceable>nn</replaceable> es el
- número de pista expresado con dos dígitos
- decimales, precedido por un cero si es necesario.
- La primera pista del primer disco es
- <filename>/dev/acd0t01</filename>, la segunda es
- <filename>/dev/acd0t02</filename>, la tercera es
- <filename>/dev/acd0t03</filename> y así
- sucesivamente.</para>
-
- <para>Asegúrese de que existen los ficheros apropiados
- en <filename>/dev</filename>.</para>
-
- <screen>&prompt.root; <userinput>cd /dev</userinput>
-&prompt.root; <userinput>sh MAKEDEV acd0t99</userinput></screen>
-
- <note><para>En FreeBSD 5.0 &man.devfs.5; creará
- y gestionará automáticamente las entradas
- necesarias en <filename>/dev</filename>, así que
- no será necesario usar
- <command>MAKEDEV</command>.</para></note>
- </step>
-
- <step>
- <para>Extraer cada pista con &man.dd.1;. También
- deberá declarar un tamaño específico de
- bloque al extraer los ficheros.</para>
-
- <screen>&prompt.root; <userinput>dd if=/dev/acd0t01 of=pista1.cdr bs=2352</userinput>
-&prompt.root; <userinput>dd if=/dev/acd0t02 of=pista2.cdr bs=2352</userinput>
-...
-</screen>
- </step>
-
- <step>
- <para>Grabar los ficheros extraídos a disco con
- <command>burncd</command>. Debe declarar que son
- ficheros de audio y que <command>burncd</command> debe cerrar
- (<quote>fixate</quote>) el disco al terminar la
- grabación.</para>
-
- <screen>&prompt.root; <userinput>burncd -f /dev/acd0 audio pista1.cdr pista2.cdr ... fixate</userinput></screen>
- </step>
- </procedure>
- </sect2>
-
- <sect2 xml:id="imaging-cd">
- <title>Duplicar CDs de datos</title>
-
- <para>Puede copiar un CD de datos a un fichero de
- imagen que será funcionalmente equivalente al fichero
- de imagen creado con &man.mkisofs.8;, y puede usarlo
- para duplicar cualquier CD de datos. El ejemplo dado
- aquí asume que su dispositivo CDROM es
- <filename>acd0</filename>. Sustitúyalo por el
- dispositivo CDROM correcto para su configuración.
- Bajo &os;&nbsp;4.X, se debe añadir una
- <literal>c</literal> al final del nombre del dispositivo para
- indicar la partición entera o, en el caso de los CDROM,
- el disco entero.</para>
-
- <screen>&prompt.root; <userinput>dd if=/dev/acd0 of=fichero.iso bs=2048</userinput></screen>
-
- <para>Hecha la imagen puede garbarla en un CD como se
- describió anteriormente.</para>
- </sect2>
-
- <sect2 xml:id="mounting-cd">
- <title>Uso de CD de datos</title>
-
- <para>Ahora que ha creado un CDROM de datos estándar
- tal vez quiera montarlo y leer los datos que contiene. Por
- defecto &man.mount.8; asume que los sistemas de ficheros
- son de tipo <literal>ufs</literal>. Si trata de
- hacer algo como</para>
-
- <screen>&prompt.root; <userinput>mount /dev/cd0 /mnt</userinput></screen>
-
- <para>recibirá un error como este:
- <errorname>Incorrect super block</errorname> y no se
- montará. Un CDROM no es un sistema de ficheros
- <literal>UFS</literal> así que los intentos de montarlo
- como tal fallarán. Tendrá que decirle a &man.mount.8;
- que el sistema de ficheros es de tipo <literal>ISO9660</literal>
- y funcionará. Puede hacerlo mediante la
- opción <option>-t cd9660</option>.
- Por ejemplo, si quiere montar el dispositivo CDROM
- <filename>/dev/cd0</filename> en
- <filename>/mnt</filename> ejecute:</para>
-
- <screen>&prompt.root; <userinput>mount -t cd9660 /dev/cd0 /mnt</userinput></screen>
-
- <para>Tenga en cuenta que el nombre de su dispositivo
- (<filename>/dev/cd0</filename> en este ejemplo) puede
- ser diferente, dependiendo de la interfaz que su CDROM
- utilice. Además la opción <option>-t cd9660</option>
- sólo ejecuta &man.mount.cd9660.8;. El ejemplo de arriba
- puede resumirse del siguiente modo:</para>
-
-<screen>&prompt.root; <userinput>mount_cd9660 /dev/cd0 /mnt</userinput></screen>
-
- <para>En general puede usar CDROM de datos de cualquier
- fabricante, aunque los discos con ciertas extensiones
- ISO 9660 pueden mostrar un comportamiento extraño.
- Por ejemplo, los discos Joliet almacenan todos los nombres
- de fichero en caracteres unicode de dos-bytes. El kernel
- de &os; no comprende unicode
- (<emphasis>todavía</emphasis>) así que
- los caracteres que no están en inglés aparecen
- como signos de interrogación. (Si utiliza &os; 4.3
- o alguna versión posterior, el controlador CD9660 incluye
- unas estructuras llamadas <quote>ganchos</quote>, que le
- permitirán cargar una tabla de conversión unicode
- apropiada cuando haga falta. Hay módulos para algunas
- de las codificaciones más comunes en el port
- <package>sysutils/cd9660_unicode</package>.)</para>
-
- <para>Es posible que reciba un error <errorname>Device not
- configured</errorname> al tratar de montar un CDROM.
- Generalmente esto significa que la unidad de CDROM piensa que no
- hay disco en la bandeja, o que la unidad no es visible
- en el bus. Puede llevar un par de segundos el que una
- unidad de CDROM se dé cuenta de que ha sido alimentada,
- por lo tanto sea paciente.</para>
-
- <para>Algunas veces un CDROM SCSI puede <quote>perdido</quote> debido
- a que no tuvo tiempo suficiente para responder al reset del
- bus. Si tiene un CDROM SCSI añada la siguiente opción
- a su fichero de configuración del kernel y
- <link linkend="kernelconfig-building">recompile su kernel</link>.</para>
-
- <programlisting>options SCSI_DELAY=15000</programlisting>
-
- <para>Esto le indica a su bus SCSI que haga una pausa de 15
- segundos durante el arranque para darle ocasión
- a su unidad de CDROM de responder al reset del bus.</para>
- </sect2>
-
- <sect2 xml:id="rawdata-cd">
- <title>Grabar CD de datos <quote>crudos</quote> (Raw)</title>
-
- <para>Puede guardar un fichero directamente a CD
- sin crear un sistema de ficheros ISO 9660. Algunas
- personas hacen esto al crear respaldos. Es un proceso
- más rápido que grabar un CD
- estándar:</para>
-
- <screen>&prompt.root; <userinput>burncd -f /dev/acd1 -s 12 data fichero.tar.gz fixate</userinput></screen>
-
- <para>Para recuperar los datos guardardados de este modo en un CD,
- debe leer los datos desde el nodo de dispositivo
- <quote>crudo</quote>:</para>
-
- <screen>&prompt.root; <userinput>tar xzvf /dev/acd1</userinput></screen>
-
- <para>No puede montar este disco como lo haría con un
- CDROM normal. Estos CDROM no pueden leerse en ningún
- sistema operativo que no sea &os;. Si quiere montar el CD
- o compartir los datos con otro sistema operativo debe utilizar
- &man.mkisofs.8; como se describió previamente.</para>
- </sect2>
-
- <sect2 xml:id="atapicam">
- <info><title>Uso del controlador ATAPI/CAM</title>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Original de </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>Grabadora de CD</primary>
- <secondary>controlador ATAPI/CAM</secondary>
- </indexterm>
-
- <para>Este controlador permite que dispositivos ATAPI
- (CD-ROM, CD-RW, unidades DVD, etc) sean accesibles a través
- del subsistema SCSI y por lo tanto permite el uso de
- aplicaciones como
- <package>sysutils/cdrdao</package> o
- &man.cdrecord.1;.</para>
-
- <para>Para usar este controlador necesitará añadir
- la siguiente línea al fichero de configuración
- de su kernel:</para>
-
- <programlisting>device atapicam</programlisting>
-
- <para>Es posible que necesite también las siguientes
- líneas en el fichero de configuración
- de su kernel:</para>
-
- <programlisting>device ata
-device scbus
-device cd
-device pass</programlisting>
-
- <para>(que, por otra parte, ya deberín estar presentes).</para>
-
- <para>Recompile, instale su nuevo kernel y reinicie
- su máquina. Durante el proceso de arranque su
- grabadora debe ser detectada; veamos un ejemplo:</para>
-
- <screen>acd0: CD-RW &lt;MATSHITA CD-RW/DVD-ROM UJDA740&gt; at ata1-master PIO4
-cd0 at ata1 bus 0 target 0 lun 0
-cd0: &lt;MATSHITA CDRW/DVD UJDA740 1.00&gt; Removable CD-ROM SCSI-0 device
-cd0: 16.000MB/s transfers
-cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed</screen>
-
- <para>Puede acceder a la unidad a través del
- del nombre de dispositivo <filename>/dev/cd0</filename>;
- por ejemplo, para montar un CDROM en <filename>/mnt</filename>,
- teclée lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>mount -t cd9660 /dev/cd0 /mnt</userinput></screen>
-
- <para>Como <systemitem class="username">root</systemitem>, puede ejecutar el
- siguiente comando para obtener las direcciones SCSI
- del dispositivo:</para>
-
- <screen>&prompt.root; <userinput>camcontrol devlist</userinput>
-&lt;MATSHITA CDRW/DVD UJDA740 1.00&gt; at scbus1 target 0 lun 0 (pass0,cd0)</screen>
-
- <para>Según esto, <literal>1,0,0</literal> será la
- dirección SCSI a utilizar con &man.cdrecord.1;
- y otras aplicaciones SCSI.</para>
-
- <para>Para mayor información sobre sistemas
- ATAPI/CAM y SCSI, diríjase a las páginas
- de manual &man.atapicam.4; y &man.cam.4;.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="creating-dvds">
- <info><title>Crear y utilizar medios ópticos (DVDs)</title>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Andy</firstname><surname>Polyakov</surname></personname><contrib>Con colaboraciones de </contrib></author>
- </authorgroup>
-
- </info>
-
-
- <indexterm>
- <primary>DVD</primary>
- <secondary>grabar</secondary>
- </indexterm>
-
- <sect2>
- <title>Introducción</title>
-
- <para>Comparado con el CD, el DVD es la nueva generación
- de tecnología de almacenamiento en medios ópticos.
- El DVD puede almacenar más datos que cualquier CD y
- hoy día es el estándar para publicación
- de vídeo.</para>
-
- <para>Se pueden definir cinco formatos de grabación para
- lo que llamamos un DVD grabable:</para>
-
- <itemizedlist>
- <listitem>
- <para>DVD-R: Este fué el primer formato de grabación
- de DVD. El DVD-R estándar fué definido por el
- <link xlink:href="http://www.dvdforum.com/forum.shtml">DVD Forum</link>.
- Este formato es de una sola escritura.</para>
- </listitem>
-
- <listitem>
- <para>DVD-RW: Esta es la versión reescribible
- del DVD-R estándar. Un DVD-RW puede reescribirse
- unas 1.000 veces.</para>
- </listitem>
-
- <listitem>
- <para>DVD-RAM: Este es también un formato
- reescribible soportado por el DVD Forum. Un
- DVD-RAM puede verse como un disco duro extraíble.
- Este medio no es compatible con la
- mayoría de las unidades DVD-ROM y reproductores
- de video DVD; hay muy pocas grabadoras de DVD que soporten
- el formato DVD-RAM.</para>
- </listitem>
-
- <listitem>
- <para>DVD+RW: Este es un formato reescribible definido
- por la
- <link xlink:href="http://www.dvdrw.com/">DVD+RW Alliance</link>.
- Un DVD+RW puede reescribirse unas 1000 veces.</para>
- </listitem>
-
- <listitem>
- <para>DVD+R: Este un formato es la versión
- de una sola escritura del formato DVD+RW.</para>
- </listitem>
- </itemizedlist>
-
- <para>Un DVD grabable de una capa puede almacenar hasta
- 4.700.000.000&nbsp;bytes, es decir, 4'38&nbsp;GB o
- 4485&nbsp;MB (1 kilobyte son 1.024 bytes).</para>
-
- <note>
- <para>Debemos hacer una distinción entre medio físico
- y aplicación. Un DVD de vídeo es una estructura
- de fichero específica que puede escribirse en cualquier
- medio físico consistente en un DVD grabable: DVD-R, DVD+R,
- DVD-RW, etc. Antes de elegir el tipo de medio, debe
- asegurarse que la grabadora y el reproductor de DVD de
- vídeo (un reproductor independiente o una unidad DVD-ROM
- en una computadora) son compatibles con el medio que
- pretende utilizar.</para></note>
- </sect2>
-
- <sect2>
- <title>Configuración</title>
-
- <para>Utilice &man.growisofs.1; para grabar el DVD. Forma parte
- de las herramientas <application>dvd+rw-tools</application>
- (<package>sysutils/dvd+rw-tools</package>).
- Las <application>dvd+rw-tools</application> permiten usar todos
- los tipos de DVD.</para>
-
- <para>Estas herramientas utilizan el subsistema SCSI para
- acceder a los dispositivos, por lo tanto el
- <link linkend="atapicam">soporte ATAPI/CAM</link> debe estar
- presente en su kernel. Si su grabadora usa el interfaz
- USB no tendrá que hacerlo, pero tendrá que leer
- la
- <xref linkend="usb-disks"/> para más información sobre
- la configuración de dispositivos USB.</para>
-
- <para>También debe que habilitar el acceso DMA para
- dispositivos ATAPI. Para ello añada la siguiente
- línea a
- <filename>/boot/loader.conf</filename>:</para>
-
- <programlisting>hw.ata.atapi_dma="1"</programlisting>
-
- <para>Antes de intentar utilizar
- <application>dvd+rw-tools</application> debe consultar las
- <link xlink:href="http://fy.chalmers.se/~appro/linux/DVD+RW/hcn.html">notas
- de compatibilidad de hardware de dvd+rw-tools</link> por si
- apareciera cualquier información relacionada con su
- grabadora de DVD.</para>
-
- <note>
- <para>Si desea un interfaz gráfico debería
- echar un vistazo a <application>K3b</application>
- (<package>sysutils/k3b</package>), que ofrece
- un interfaz de usuario amigable para &man.growisofs.1;
- y muchas otras herramientas de grabación.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>Quemado de DVD de datos</title>
-
- <para>&man.growisofs.1; es un <quote>frontend</quote> de
- <link linkend="mkisofs">mkisofs</link>, invocará
- a &man.mkisofs.8; para crear una estructura de sistema de
- ficheros y realizará la escritura del DVD.
- Esto significa que no necesita crear una imagen de los
- datos antes del proceso de escritura.</para>
-
- <para>La grabación en DVD+R o DVD-R de los datos del
- directorio <filename>/ruta/a/los/datos</filename>,
- se hace del siguiente modo:</para>
-
- <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z /dev/cd0 -J -R /ruta/a/los/datos</userinput></screen>
-
- <para>Las opciones <option>-J -R</option> se suministran a
- &man.mkisofs.8; para la creación del sistema de
- ficheros (en este caso: un sistema de ficheros ISO 9660
- con extensiones Joliet y Rock Ridge). Consulte la
- página de manual &man.mkisofs.8; para más
- detalles.</para>
-
- <para>La opción <option>-Z</option> se usa
- la sesión inicial de grabación en todos los casos,
- sesiones múltiples o no. El dispositivo DVD del
- ejemplo,
- <replaceable>/dev/cd0</replaceable>, debe ajustarse de
- acuerdo a la configuración de su sistema. El parámero
- <option>-dvd-compat</option> cerrar&acute; el disco (no
- se podrá añadir nada a la grabación).
- Por contra, esto le brindará una mejor compatibilidad del
- medio con unidades DVD-ROM.</para>
-
- <para>También es posible grabar una imagen pre-masterizada,
- por ejemplo para guardar la imagen
- <replaceable>ficheroimagen.iso</replaceable>:</para>
-
- <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z /dev/cd0=ficheroimagen.iso</userinput></screen>
-
- <para>La velocidad de escritura se detecta y configura
- automáticamente según el medio y la unidad que
- se esté utilizando. Si quiere forzar la velocidad de
- escritura utilice el
- parámetro <option>-speed=</option>. Para más
- información consulte la página de manual
- &man.growisofs.1;.</para>
- </sect2>
-
- <sect2>
- <title>Grabación de un DVD de vídeo</title>
-
- <indexterm>
- <primary>DVD</primary>
- <secondary>DVD-Video</secondary>
- </indexterm>
-
- <para>Un DVD de vídeo es una estructura de ficheros
- específica basada en las especificiones ISO 9660 y
- micro-UDF (M-UDF). El DVD de vídeo también
- dispone de una jerarquía de estructura de datos
- específica; por esta razón es necesario un
- programa especializado para crear tal DVD:
- <package>multimedia/dvdauthor</package>.
- </para>
-
- <para>Si ya tiene una imagen de un sistema de ficheros de DVD
- de vídeo grábelo de la misma manera que cualquier
- otra imagen; consulte la sección previa para ver un
- ejemplo. Si ha creado el DVD y el resultado está en,
- por ejemplo, el directorio
- <filename>/ruta/al/vídeo</filename>, use
- el siguiente comando para grabar el DVD de vídeo:</para>
-
- <screen>&prompt.root; <userinput>growisofs -Z /dev/cd0 -dvd-video /ruta/al/vídeo</userinput></screen>
-
- <para>La opción <option>-dvd-video</option>
- de &man.mkisofs.8; hará posible la creación
- de una estructura de sistema de ficheros de DVD de vídeo.
- Además, la opción <option>-dvd-video</option>
- implica la opción
- <option>-dvd-compat</option> de &man.growisofs.1;.</para>
- </sect2>
-
- <sect2>
- <title>Uso de un DVD+RW</title>
-
- <indexterm>
- <primary>DVD</primary>
- <secondary>DVD+RW</secondary>
- </indexterm>
-
- <para>A diferencia de un CD-RW, un DVD+RW virgen necesita ser
- formateado antes de usarse por primera vez. El programa
- &man.growisofs.1; se encargará de ello automáticamente
- cuando sea necesario, lo cual es el método
- <emphasis>recomendado</emphasis>. De todas formas puede usted
- usar el comando <command>dvd+rw-format</command> para
- formatear el DVD+RW:</para>
-
- <screen>&prompt.root; <userinput>dvd+rw-format /dev/cd0</userinput></screen>
-
- <para>Necesita ejecutar esta operación solamente una vez,
- recuerde que sólo los DVD+RW vírgenes necesitan
- ser formateados. Hecho eso ya puede usar el DVD+RW de la
- forma expuesta en las secciones previas.</para>
-
- <para>Si desea guardar nuevos datos (grabar un sistema de
- ficheros totalmente nuevo, no añadir más datos) en
- un DVD+RW no necesita borrarlo, sólo tiene que escribir
- sobre la grabación anterior (realizando una
- nueva sesión inicial):</para>
-
- <screen>&prompt.root; <userinput>growisofs -Z /dev/cd0 -J -R /ruta/alos/datosnuevos</userinput></screen>
-
- <para>El formato DVD+RW ofrece la posibilidad de añadir
- datos fácilmente a una grabación previa.
- La operación consiste en fusionar una nueva sesión
- a la existente, no es escritura multisesión;
- &man.growisofs.1; <emphasis>hará crecer</emphasis> el
- sistema de ficheros ISO 9660 presente en el medio.</para>
-
- <para>Si, por ejemplo, añadir datos al DVD+RW del ejemplo
- anterior tenemos que usar lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>growisofs -M /dev/cd0 -J -R /ruta/alos/datosnuevos</userinput></screen>
-
- <para>Las mismas opciones de &man.mkisofs.8; que utilizamos
- para quemar la sesión inicial pueden usarse en
- ulteriores escritura.</para>
-
- <note>
- <para>Puede usar la opción <option>-dvd-compat</option>
- si desea mejor la compatibilidad de medios con unidades
- DVD-ROM. Si la usa en un DVD+RW no evitará que
- pueda añadir más datos.</para>
- </note>
-
- <para>Si por alguna razón desea borrar el contenido del
- medio, haga lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>growisofs -Z /dev/cd0=/dev/zero</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Uso de un DVD-RW</title>
-
- <indexterm>
- <primary>DVD</primary>
- <secondary>DVD-RW</secondary>
- </indexterm>
-
- <para>Un DVD-RW acepta dos formatos de disco: el incremental
- secuencial y el de sobreescritura restringida. Por defecto
- los discos DVD-RW están en formato secuencial.
- </para>
-
- <para>Un DVD-RW virgen puede utilizarse directamente sin
- necesidad de formateo, sin embargo un DVD-RW no virgen en
- formato secuencial necesita ser borrado antes de poder guardar
- una nueva sesión inicial.</para>
-
- <para>Para borrar un DVD-RW en modo secuencial, ejecute:</para>
-
- <screen>&prompt.root; <userinput>dvd+rw-format -blank=full /dev/cd0</userinput></screen>
-
- <note>
- <para>Un borrado total (<option>-blank=full</option>) tardará
- aproximadamente una hora en un medio 1x. Un borrado rápido
- puede realizarse con la opción <option>-blank</option>
- si el DVD-RW fué grabado en modo Disk-At-Once (DAO).
- Para grabar el DVD-RW en modo DAO use el comando:</para>
-
- <screen>&prompt.root; <userinput>growisofs -use-the-force-luke=dao -Z /dev/cd0=ficheroimagen.iso</userinput></screen>
-
- <para>La opción <option>-use-the-force-luke=dao</option>
- no es imprescindible, ya que &man.growisofs.1; trata
- de detectar el medio (borrado rápido) y entrar en
- escritura DAO.</para>
-
- <para>Debería usarse el modo de reescritura restringida
- en los DVD-RW, pues este formato es más flexible que el
- formato de incremento secuencial, el formato por defecto.</para>
- </note>
-
- <para>Para escribir datos en un DVD-RW secuencial proceda del
- mismo modo que con los demás formatos de DVD:</para>
-
- <screen>&prompt.root; <userinput>growisofs -Z /dev/cd0 -J -R /ruta/alos/datos</userinput></screen>
-
- <para>Si desea añadir datos a una grabación
- previa tendrá que usar la opción
- <option>-M</option> de &man.growisofs.1;.
- si añade datos a un DVD-RW en modo incremental secuencial
- se creará en el disco una nueva sesión
- y el resultado será un disco multisesión.</para>
-
- <para>Un DVD-RW en formato de sobreescritura restringido no
- necesita ser borrado antes de una nueva sesión
- inicial, sólo tiene que sobreescribir el disco con la
- opción <option>-Z</option>. esto es similar al
- caso DVD+RW. También es posible ampliar un sistema
- de ficheros ISO 9660 ya existente y escrito en el disco del
- mismo modo que para un DVD+RW con la opción
- <option>-M</option>. El resultado será un DVD
- de una sesión.</para>
-
- <para>Para poner un DVD-RW en el formato de sobreescritura
- restringido haga lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>dvd+rw-format /dev/cd0</userinput></screen>
-
- <para>Para devolverlo al formato secuencial use:</para>
-
- <screen>&prompt.root; <userinput>dvd+rw-format -blank=full /dev/cd0</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Multisesión</title>
-
- <para>Muy pocas unidades DVD-ROM soportan
- DVDs multisesión. La mayoría de las veces (y
- si tiene suerte) solamente leerán la primera
- sesión. Los DVD+R, DVD-R y DVD-RW en formato secuencial
- pueden aceptar multisesiones. El concepto de multisesión
- no existe en los formatos de sobreescritura restringida
- de DVD+RW y DVD-RW.</para>
-
- <para>Usando el siguiente comando despues de una sesión
- inicial (no-cerrada) en un DVD+R, DVD-R o DVD-RW en formato
- secuencial añadirá una nueva sesión
- al disco:</para>
-
- <screen>&prompt.root; <userinput>growisofs -M /dev/cd0 -J -R /ruta/alos/nuevosdatos</userinput></screen>
-
- <para>Usando este comando con un DVD+RW o un DVD-RW en modo
- de sobreescritura restringida, agregará datos
- fusionando la nueva sesión a la ya existente. El
- resultado será un disco de una sola sesión.
- Este es el procedimiento habitual para añadir
- datos tras la escritura inicial.</para>
-
- <note>
- <para>Una cierta cantidad de espacio en el medio se usa en
- cada sesión al finalizar e iniciar sesiones;
- por tanto, se deben añadir sesiones con grandes
- cantidades de datos para optimizar el espacio del DVD.
- El número de sesiones está limitado a
- 154 para un DVD+R, aproximadamente 2.000 para un DVD-R y
- 127 para un DVD+R de doble capa.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>Para mayor información</title>
-
- <para>Para más información sobre
- un DVD,puede ejecutar el comando
- <command>dvd+rw-mediainfo /dev/cd0</command>
- con el disco en la unidad.</para>
-
- <para>Tiene más información sobre
- <application>dvd+rw-tools</application> en la
- manual &man.growisofs.1;, en el
- <link xlink:href="http://fy.chalmers.se/~appro/linux/DVD+RW/">sitio
- web de dvd+rw-tools</link> y en los archivos de la
- <link xlink:href="http://lists.debian.org/cdwrite/">lista de correos
- de cdwrite</link>.</para>
-
- <note>
- <para>Si va a enviar un informe de problemas es imperativo que
- adjunte la salida que <command>dvd+rw-mediainfo</command> produjo
- al grabar (o no grabar) el medio. Sin esta salida será
- prácticamente imposible ayudarle.</para>
- </note>
- </sect2>
- </sect1>
-
- <sect1 xml:id="floppies">
- <info><title>Creación y uso de disquetes (floppies)</title>
- <authorgroup>
- <author><personname><firstname>Julio</firstname><surname>Merino</surname></personname><contrib>Texto original de </contrib></author>
- </authorgroup>
-
- <authorgroup>
- <author><personname><firstname>Martin</firstname><surname>Karlsson</surname></personname><contrib>Reescrito por </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <para>Poder almacenar datos en discos flexibles es útil algunas
- veces, por ejemplo cuando no se tiene cualquier otro
- medio de almacenamiento extraible o cuando se necesita transferir
- una cantidad pequeña de datos a otro sistema.</para>
-
- <para>Esta sección explicará cómo usar
- disquetes en &os;. Cubrirá principalmente el
- formateo y utilización de disquetes DOS
- de 3.5 pulgadas, pero los conceptos son similares en
- otros formatos de disquete.</para>
-
- <sect2>
- <title>Formateo de disquetes</title>
-
- <sect3>
- <title>El dispositivo</title>
-
- <para>El acceso a los disquetes se efectúa a través
- de entradas en <filename>/dev</filename>, igual que en
- otros dispositivos. Para acceder al disquete
- <quote>crudo</quote> (raw) en versiones 4.X y anteriores, se usa
- <filename>/dev/fdN</filename>,
- donde <replaceable>N</replaceable> representa el
- número de unidad, generalmente 0, o
- <filename>/dev/fdNX</filename>,
- donde <replaceable>X</replaceable> representa una
- letra.</para>
-
- <para>En versiones 5.0 o posteriores, simplemente use
- <filename>/dev/fdN</filename>.</para>
-
- <sect4>
- <title>El tamaño de disco en versiones 4.X y anteriores</title>
-
- <para>También existen dispositivos
- <filename>/dev/fdN.tamaño</filename>,
- donde <replaceable>tamaño</replaceable> es el
- tamaño del disquete en kilobytes. Estas entradas se
- usan durante el formateo a bajo nivel para determinar el
- tamaño del disco. En los siguientes ejemplos se
- usará el tamaño de 1440kB.</para>
-
- <para>Algunas veces las entradas bajo <filename>/dev</filename>
- tendrán que ser (re)creadas. Para ello, ejecute:</para>
-
- <screen>&prompt.root; <userinput>cd /dev &amp;&amp; ./MAKEDEV "fd*"</userinput></screen>
- </sect4>
-
- <sect4>
- <title>El tamaño de disco en versiones 5.0 y
- posteriores</title>
-
- <para>En 5.0, &man.devfs.5; administrará
- automáticamente los nodos de dispositivo en
- <filename>/dev</filename>, así que el uso de
- <command>MAKEDEV</command> no es necesario.</para>
-
- <para>El tamaño de disco deseado se pasa a &man.fdformat.1;
- mediante la bandera <option>-f</option>. Los
- tamaños soportados aparecen en
- &man.fdcontrol.8;, pero tenga muy en cuenta que
- 1440kB es el que funciona mejor.</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Formatear</title>
-
- <para>Un disquete necesita ser formateado a bajo nivel
- antes de poder usarse. Esto suele hacerlo el fabricante,
- pero el formateo es una buena manera de revisar
- la integridad del medio. Aunque es posible forzar
- tamaños de disco más grandes (o pequeños),
- 1440kB es para lo que la mayoría de los disquetes
- están diseñados.</para>
-
- <para>Para formatear un disquete a bajo nivel debe usar
- &man.fdformat.1;. Esta utilidad espera el nombre del
- dispositivo como argumento.</para>
-
- <para>Tome nota de cualquier mensaje de error, ya que
- éstos pueden ayudarle a determinar si el disco está
- bien o mal.</para>
-
- <sect4>
- <title>Formateo en versiones 4.X y anteriores</title>
-
- <para>Use el dispositivo
- <filename>/dev/fdN.tamaño</filename>
- para formatear el disquete. Inserte un disco de
- 3'5 pulgadas en su unidad y ejecute:</para>
-
- <screen>&prompt.root; <userinput>/usr/sbin/fdformat /dev/fd0.1440</userinput></screen>
-
- </sect4>
-
- <sect4>
- <title>Formateo en versiones 5.0 y posteriores</title>
-
- <para>Use el dispositivo
- <filename>/dev/fdN</filename>
- para formatear el disquete. Inserte un disco de
- 3'5 pulgadas en su unidad y ejecute:</para>
-
- <screen>&prompt.root; <userinput>/usr/sbin/fdformat -f 1440 /dev/fd0</userinput></screen>
-
- </sect4>
- </sect3>
- </sect2>
-
-
-
- <sect2>
- <title>La etiqueta de disco</title>
-
- <para>Tras un formato del disco a bajo nivel necesitará
- colocar una etiqueta de disco en él. Esta etiqueta
- de disco será destruida más tarde, pero es
- necesaria para que el sistema determine el tamaño del
- disco y su geometría.</para>
-
- <para>La nueva etiqueta de disco ocupará todo
- el disco, y contendrá toda la información
- apropiada sobre la geometría del disquete.
- Los valores de geometría para la etiqueta de disco
- están en
- <filename>/etc/disktab</filename>.</para>
-
- <para>Ejecute &man.disklabel.8; así:</para>
-
- <screen>&prompt.root; <userinput>/sbin/disklabel -B -r -w /dev/fd0 fd1440</userinput></screen>
-
- <note><para>Desde &os;&nbsp;5.1-RELEASE
- &man.bsdlabel.8; reemplazó al viejo programa
- &man.disklabel.8;. En &man.bsdlabel.8; se eliminaron muchas
- opciones y parámetros obsoletos; en el ejemplo de arriba
- la opción <option>-r</option> no debe usarse.
- Para mayor información consulte la página de
- manual de &man.bsdlabel.8;.</para></note>
-
- </sect2>
-
- <sect2>
- <title>El sistema de ficheros</title>
-
- <para>Ahora el disquete está listo para ser formateado
- a alto nivel. Esto colocará un sistema de ficheros
- nuevo en el disco y permitirá a &os; leer y escribir en
- el disco. Después de crear el sistema de ficheros
- se destruye la etiqueta de disco, así que si desea
- reformatearlo, tendrá que recrear la etiqueta
- de disco.</para>
-
- <para>El sistema de ficheros del disquete puede ser UFS o
- o FAT. FAT suele ser una mejor opción para
- disquetes.</para>
-
- <para>Para formatear un disquete ejecute:</para>
-
- <screen>&prompt.root; <userinput>/sbin/newfs_msdos /dev/fd0</userinput></screen>
-
- <para>El disco está para su uso.</para>
- </sect2>
-
-
- <sect2>
- <title>Uso de un disquete</title>
-
-
- <para>Para usar el disquete móntelo con &man.mount.msdos.8;
- (en versiones 4.X y anteriores) o con &man.mount.msdosfs.8;
- (en versiones 5.X o posteriores). También se puede
- usar <package>emulators/mtools</package>.
- </para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="backups-tapebackups">
- <title>Creación y uso de cintas de datos</title>
-
- <indexterm><primary>medios de cinta</primary></indexterm>
-
- <para>Los principales medios de cinta son 4mm, 8mm, QIC, mini-cartridge
- y DLT.</para>
-
- <sect2 xml:id="backups-tapebackups-4mm">
- <title>4mm (DDS: Digital Data Storage)</title>
-
- <indexterm>
- <primary>medios de cinta</primary>
- <secondary>cintas DDS (4mm)</secondary>
- </indexterm>
- <indexterm>
- <primary>medios de cinta</primary>
- <secondary>cintas QIC</secondary>
- </indexterm>
- <para>Las cintas de 4mm están reemplazando a las QIC como los
- medios de respaldo más frecuentes en estaciones de trabajo.
- Esta tendencia se aceleró en gran medida cuando Conner
- adquirió Archive, un fabricante líder de unidades
- QIC, y abandonó la producción de unidades QIC.
- Las unidades de 4mm son pequeñas y silenciosas pero no tienen
- la reputación de fiabilidad de la que disfrutan las
- unidades de 8mm. Los cartuchos son más baratos y más
- pequeños (3 x 2 x 0.5 pulgadas, 76 x 51 x 12 mm) que los
- cartuchos de 8mm. En el caso de las cintas de 4mm, igual que las
- de 8mm, tienen un cabezal con una vida comparativamente más
- corta. Ambos utilizan el escaneado en espiral.</para>
-
-
- <para>El ancho de datos de estas unidades comienza por aprox.
- 150&nbsp;kB/s, con un pico de aprox. ~500&nbsp;kB/s.
- La capacidad de datos va de los
- 1'3&nbsp;GB a 2'0&nbsp;GB. La compresión
- por hardware, disponible con la mayoría de estas unidades,
- dobla aproximadamente la capacidad. Existen unidades de biblioteca
- de cinta multi-unidad con 6 unidades en un solo armario y
- cambio de cinta automático. Las capacidades de estas
- bibliotecas alcanzan los 240&nbsp;GB.</para>
-
- <para>El estándar DDS-3 soporta capacidades de cinta
- de hasta 12&nbsp;GB (o 24&nbsp;GB con compresión).</para>
-
- <para>Las unidades de 4mm, igual que las unidades de 8mm, utilizan
- escaneo en espiral. Tanto unas como otras tienen las mismas
- ventajas y desventajas.</para>
-
- <para>Las cintas deben renovarse por otras después de 2,000
- pasadas ó 100 respaldos completos.</para>
- </sect2>
-
- <sect2 xml:id="backups-tapebackups-8mm">
- <title>8mm (Exabyte)</title>
- <indexterm>
- <primary>medios de cinta</primary>
- <secondary>cintas Exabyte (8mm)</secondary>
- </indexterm>
-
- <para>Las cintas de 8mm son las unidades de cinta SCSI más comunes;
- son la mejor opción de cintas reemplazables y eso hace que
- las unidades de cinta Exabyte 8mm de 2&nbsp;GB sean casi
- omnipresentes. Las unidades de 8mm son fiables, prácticas y
- silenciosas. Los cartuchos son baratos y bastante pequeños
- (4.8 x 3.3 x 0.6 pulgadas; 122 x 84 x 15 mm). Una desventaja de las
- cintas de 8mm es la vida relativamente corta del cabezal y de la
- propia cinta debido a la alta tasa de movimiento relativo de la cinta
- por los cabezales.</para>
-
- <para>El ancho de datos varía de aprox. 250&nbsp;kB/s
- hasta los 500&nbsp;kB/s. La capacidad va desde los
- 300&nbsp;MB hasta los 7&nbsp;GB. La compresión por
- hardware, disponible con la mayoría de estas unidades,
- dobla aproximadamente la capacidad. Estas unidades están
- disponibles como unidades solas o como unidades de biblioteca
- de cinta multi-unidad con 6 unidades y 120 cintas en un solo
- armario. Las cintas las cambia automáticamente la unidad.
- La capacidad de dichas bibliotecas alcanza los 840+&nbsp;GB.</para>
-
- <para>El modelo Exabyte <quote>Mammoth</quote> soporta 12&nbsp;GB en
- una cinta (24&nbsp;GB con compresión) y cuesta aproximadamente
- el doble que las unidades de cinta convencionales.</para>
-
- <para>Los datos se graban en cinta utilizando escaneo en espiral.
- Las cabezas se posicionan en ángulo en relación al
- medio (6 grados aproximadamente). La cinta se envuelve cerca de 270
- grados en el cilindro que soporta las cabezas. El cilindro gira
- mientras la cinta se desliza sobre el cilindro. El resultado es
- una alta densidad de datos y pistas almacenadas muy pegadas,
- dispuestas en ángulo a través de la cinta de un
- extremo al otro.</para>
- </sect2>
-
- <sect2 xml:id="backups-tapebackups-qic">
- <title>QIC</title>
- <indexterm>
- <primary>medios de cinta</primary>
- <secondary>QIC-150</secondary>
- </indexterm>
-
- <para>Las cintas y unidades QIC-150 son, quizás, las unidades y
- medios de cinta más comunes. Las unidades de cinta QIC son
- las unidades de respaldo <quote>serias</quote> menos caras.
- La desventaja es el coste del medio. Las cintas QIC son caras
- comparadas con las cintas de 8mm o de 4mm, hasta 5 veces el precio de
- almacenamiento de datos por GB. No obstante, si sus necesidades
- pueden satisfacerse con media docena de cintas, QIC tal vez sea la
- decisión correcta. QIC es la unidad de cinta
- <emphasis>más</emphasis> común. Casi en todas partes
- tienen una unidad QIC de una u otra densidad. Y ese es el problema,
- QIC ofrece un enorme número de densidades en cintas
- físicamente similares (algunas veces idénticas).
- Las unidades QIC son cualquier cosa menos silenciosas.
- Hacen bastante ruido antes de iniciar la grabación de datos
- y son claramente audibles siempre que leen, escriben o hacen una
- búsqueda. Las cintas QIC miden 6 x 4 x 0.7 pulgadas;
- 152 x 102 x 17 mm.</para>
-
- <para>El ancho de datos varía de aprox. 150&nbsp;kB/s a aprox.
- 500&nbsp;kB/s. La capacidad de datos varía de 40&nbsp;MB
- a 15&nbsp;GB. La compresión por hardware existe en muchas de
- las nuevas unidades QIC. Las unidades QIC se ven con menos
- frecuencia y además están siendo suplantadas por
- unidades DAT.</para>
-
- <para>Los datos se graban en la cinta en pistas. Las pistas
- discurren a lo largo del extenso eje de la cinta de un extremo
- al otro. El número de pistas, y por lo tanto el ancho de
- una pista varía según la capacidad de la cinta.
- La mayoría, si no todas las unidades nuevas, ofrecen
- compatibilidad con modelos anteriores al menos para lectura
- (y también en muchos casos de escritura). QIC tiene
- buena reputación en cuanto a seguridad de los datos
- (las piezas mecánicas son más simples y
- más robustas que en las unidades de búsqueda
- en espiral).</para>
-
- <para>Las cintas deben ser sustituirse por otras después de
- 5,000 respaldos.</para>
- </sect2>
-
- <sect2 xml:id="backups-tapebackups-dlt">
- <title>DLT</title>
- <indexterm>
- <primary>medios de cinta</primary>
- <secondary>DLT</secondary>
- </indexterm>
-
- <para>DLT tiene la tasa de transferencia de datos más
- rápida de todos los tipos de unidades mostradas aquí.
- La cinta de 1/2" (12'5mm) está alojada en un cartucho
- de un solo cilindro (4 x 4 x 1 pulgadas; 100 x 100 x 25 mm).
- El cartucho tiene una puerta giratoria a lo largo de todo un
- lado del cartucho. El mecanismo de la unidad abre esta puerta
- para extraer el <quote>líder</quote>. El <quote>lider</quote>
- de la cinta tiene un agujero oval que la unidad utiliza para
- <quote>enganchar</quote> la cinta. El cilindro de levantamiento
- está dentro de la unidad de cinta. Los demás
- cartuchos descritos en este texto (los cartuchos de 9
- pistas son la única excepción) tienen el cilindro
- proveedor alojados dentro del propio cartucho de cinta.</para>
-
- <para>El ancho de datos es aproximadamente de 1'5&nbsp;MB/s, tres veces
- el ancho de unidades de cinta de 4mm, de 8mm o QIC. Las capacidades
- de datos varían entre 10&nbsp;GB y 20&nbsp;GB en una sola
- unidad. Hay unidades multicinta y con cargadores multi-cinta,
- y bibliotecas multiunidad que pueden albergar de 5 a 900 cintas
- con una a 20 unidades, con lo que pueden alcanzar desde
- 50&nbsp;GB hasta 9&nbsp;TB de almacenamiento.</para>
-
- <para>Con compresión, el formato DLT Type IV soporta hasta
- 70&nbsp;GB de capacidad.</para>
-
- <para>Los datos se almacenan en cinta en pistas paralelas a la
- dirección del movimiento de la cinta (como en las cintas
- QIC). Se escriben dos pistas al mismo tiempo. El tiempo de vida
- de lectura/escritura es relativamente largo. Una vez que la cinta
- no hay movimiento relativo entre las cabezas y la cinta.</para>
- </sect2>
-
- <sect2>
- <title xml:id="backups-tapebackups-ait">AIT</title>
- <indexterm>
- <primary>medios de cinta</primary>
- <secondary>AIT</secondary>
- </indexterm>
-
- <para>AIT es un nuevo formato de Sony, y puede almacenar hasta
- 50&nbsp;GB (con compresión) por cinta. Las cintas contienen
- chips de memoria que retienen un índice de los
- contenidos de la cinta. Este índice puede ser leido
- rápidamente para determinar la posición
- de los ficheros en la cinta, en lugar de los varios minutos que
- requeriría el proceso con otras cintas.
- <application>SAMS:Alexandria</application> puede gestionar
- más de 40 bibliotecas de cinta AIT, comunicándose
- directamente con el chip de memoria de la cinta para desplegar
- el contenido en pantalla, determinar qué ficheros fueron
- respaldados a qué cinta, ubicar la cinta correcta, cargarla
- y restaurar los datos desde la cinta.</para>
-
- <para>Las bibliotecas como ésta cuestan alrededor de 20.000
- dólares, lo que las aleja bastante del alcance de los
- aficionados.</para>
- </sect2>
-
- <sect2>
- <title>Estreno de una cinta</title>
-
- <para>La primera vez que trate de leer o escribir una
- cinta nueva, completamente en blanco, la operación
- fallará. El mensaje de la consola se parecerá
- al siguiente:</para>
-
- <screen>sa0(ncr1:4:0): NOT READY asc:4,1
-sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
-
- <para>La cinta no contiene un bloque identificador (bloque número
- 0). Todas las unidades de cinta QIC desde la adopción del
- estándar QIC-525 escriben un bloque identificador en la
- cinta. Existen dos soluciones:</para>
-
- <itemizedlist>
- <listitem>
- <para><command>mt fsf 1</command> hace que la unidad de cinta
- escriba un bloque identificador a la cinta.</para>
- </listitem>
-
- <listitem>
- <para>Use el botón del panel frontal para expulsar
- la cinta.</para>
-
- <para>Inserte nuevamente la cinta y haga un <command>dump</command>
- de datos a la cinta.</para>
-
- <para><command>dump</command> devolverá
- <errorname>DUMP: End of tape detected</errorname> y la consola
- mostrará
- <errorname>HARDWARE FAILURE info:280 asc:80,96</errorname>.</para>
-
- <para>Rebobine la cinta usando: <command>mt rewind</command>.</para>
-
- <para>A partir de ese momento podrá utilizar la cinta.</para>
- </listitem>
- </itemizedlist>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="backups-floppybackups">
- <title>Respaldos en disquetes</title>
-
- <sect2 xml:id="floppies-using">
- <title>?Puedo utilizar disquetes para respaldar mis datos?</title>
- <indexterm><primary>respaldo en discos flexibles</primary></indexterm>
- <indexterm><primary>discos flexibles</primary></indexterm>
-
- <para>Los disquetes no son realmente el medio ideal
- para hacer respaldos debido a que:</para>
-
- <itemizedlist>
- <listitem>
- <para>El medio no es fiable, especialmente después de
- largos periodos de tiempo.</para>
- </listitem>
-
- <listitem>
- <para>El respaldo y la restauración es muy lento.</para>
- </listitem>
-
- <listitem>
- <para>Tienen una capacidad muy limitada (los dís de
- respaldar un disco duro entero en una docena de disquetes
- pasaron hace mucho).</para>
- </listitem>
- </itemizedlist>
-
- <para>De todas maneras, si no tiene otro método para respaldar
- sus datos los disquetes son una mejor solución que no tener
- ningún respaldo.</para>
-
- <para>Si tiene que utilizar disquetes asegúrese de usar
- discos de buena calidad. Los disquetes que han estado
- almacenados en la oficina durante un par de años son una
- mala elección. Lo mejor sería que utilizara discos
- nuevos de un fabricante respetado.</para>
- </sect2>
-
- <sect2 xml:id="floppies-creating">
- <title>?Cómo respaldo mis datos a discos flexibles?</title>
-
- <para>La mejor manera de respaldar a un disquete
- es usar &man.tar.1; con la opción <option>-M</option>
- (multi volumen), que permite que el respaldo se guarde en
- varios disquetes.</para>
-
- <para>Para respaldar todos los ficheros en el directorio actual y
- sus subdirectorios use esto (como <systemitem class="username">root</systemitem>):</para>
-
- <screen>&prompt.root; <userinput>tar Mcvf /dev/fd0 *</userinput></screen>
-
- <para>Cuando el primer disquete esté lleno
- &man.tar.1; le solicitará que inserte el siguiente
- volumen (debido a que &man.tar.1; es independiente del medio
- se refiere a volúmenes; en éste contexto se refiere a
- disquetes).</para>
-
- <screen>Prepare volume #2 for /dev/fd0 and hit return:</screen>
-
- <para>Esto se repite (con el número de volumen incrementando)
- hasta que todos los ficheros especificados hayan sido archivados.</para>
- </sect2>
-
- <sect2 xml:id="floppies-compress">
-
- <title>?Puedo comprimir mis respaldos?</title>
- <indexterm>
- <primary><command>tar</command></primary>
- </indexterm>
- <indexterm>
- <primary><command>gzip</command></primary>
- </indexterm>
- <indexterm><primary>compresión</primary></indexterm>
-
- <para>Desafortunadamente, &man.tar.1; no permite
- el uso de la opción <option>-z</option> para archivos
- multi-volumen. Puede, por supuesto, hacer un &man.gzip.1;
- a todos los ficheros, mandarlos con &man.tar.1; a los
- disquetes, <emphasis>y después hacer &man.gunzip.1;
- a los archivos</emphasis></para>
- </sect2>
-
- <sect2 xml:id="floppies-restoring">
-
- <title>?Cómo recupero mis respaldos?</title>
-
- <para>Para restaurar el archivo completo use:</para>
-
- <screen>&prompt.root; <userinput>tar Mxvf /dev/fd0</userinput></screen>
-
- <para>Hay dos maneras que puede usar para restaurar
- ficheros específicos. La primera, puede comenzar por el
- primer disco flexible y usar:</para>
-
- <screen>&prompt.root; <userinput>tar Mxvf /dev/fd0 nombredefichero</userinput></screen>
-
- <para>La utilidad &man.tar.1; le pedirá que inserte el resto de
- disquetes hasta que encuentre el fichero requerido.</para>
-
- <para>La segunda manera es: si sabe en qué disco se encuentra
- el fichero puede insertar ese disco y usar el comando expuesto
- arriba. Tenga en cuenta que si el primer fichero en el disquete
- es la continuación del anterior
- &man.tar.1; le advertirá que no puede restaurarlo
- <emphasis>incluso si no se lo ha solicitado</emphasis></para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="backup-basics">
- <title>Bases para respaldos</title>
-
- <para>Los tres principales programas para respaldos son
- &man.dump.8;, &man.tar.1; y &man.cpio.1;.</para>
-
- <sect2>
- <title>Dump y Restore</title>
- <indexterm>
- <primary>backup software</primary>
- <secondary>dump / restore</secondary>
- </indexterm>
- <indexterm><primary><command>dump</command></primary></indexterm>
- <indexterm><primary><command>restore</command></primary></indexterm>
-
- <para>Los programas &unix; que se han usado durante muchos
- años para hacer copias de seguridad son
- <command>dump</command> y <command>restore</command>.
- Operan en las unidades como una colección de bloques de
- disco, bajo la abstracción de ficheros, los enlaces y
- directorios creados por el sistema de ficheros.
- <command>dump</command> respalda un sistema de ficheros completo
- en un dispositivo. No es capaz de respaldar solamente parte
- de un sistema de ficheros o un árbol de directorios
- que se extienda por más de un sistema de ficheros.
- <command>dump</command> no escribe ficheros y directorios a
- cinta, escribe los bloques de datos <quote>crudos</quote> (raw)
- que conforman los ficheros y directorios.</para>
-
- <note><para>Si utiliza <command>dump</command> en su directorio
- raíz, no respaldará
- <filename>/home</filename>, <filename>/usr</filename> ni
- muchos otros directorios, ya que suelen ser puntos de montaje
- de otros sistemas de ficheros o enlaces simbólicos hacia
- dichos sistemas de ficheros.</para></note>
-
- <para><command>dump</command> tiene peculiaridades que se mantienen
- desde sus primeros días en la Version 6 de AT&amp;T UNIX
- (alrededor de 1975). Los parámetros por defecto
- son los adecuados para cintas de 9 pistas (6250 bpi), pero no para
- los medios de alta densidad disponibles hoy en día
- (hasta 62,182 ftpi). Estos valores por defecto deben
- obviarse en la línea de comandos para aprovechar la
- capacidad de las unidades de cinta actuales.</para>
-
- <indexterm><primary><filename>.rhosts</filename></primary></indexterm>
-
- <para>También es posible respaldar datos a través de
- la red a una unidad de cinta conectada a otra computadora con
- <command>rdump</command> y <command>rrestore</command>. Ambos
- programas dependen de &man.rcmd.3; y &man.ruserok.3; para
- acceder a la unidad de cinta remota. Por consiguiente, el usuario
- que realiza el respaldo debe estar listado en el fichero
- <filename>.rhosts</filename> de la computadora remota. Los
- argumentos para <command>rdump</command> y <command>rrestore</command>
- deben ser adecuados para usarse en la computadora remota.
- Cuando realice un <command>rdump</command> desde &os;
- a una unidad de cinta Exabyte conectada a una Sun llamada
- <systemitem>komodo</systemitem>, use:</para>
-
- <screen>&prompt.root; <userinput>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2&gt;&amp;1</userinput></screen>
-
- <para>Advertencia: existen implicaciones de seguridad al
- permitir autentificación mediante
- <filename>.rhosts</filename>. Le recomendamos que
- evalúe la situación cuidadosamente.</para>
-
- <para>También es posible usar <command>dump</command> y
- <command>restore</command> de una forma más segura
- a través de <command>ssh</command>.</para>
-
- <example>
- <title>Utilizando <command>dump</command> a través de
- <application>ssh</application></title>
-
- <screen>&prompt.root; <userinput>/sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
- usuario@maquinaobjetivo.ejemplo.com dd of=/misficherosgrandes/dump-usr-l0.gz</userinput></screen>
-
- </example>
-
- <para>Uso del método integrado de <command>dump</command>,
- configurando la variable de ambiente <envar>RSH</envar>:</para>
-
- <example>
- <title>Uso de <command>dump</command> a través de
- <application>ssh</application> con <envar>RSH</envar>
- configurada</title>
-
- <screen>&prompt.root; <userinput>RSH=/usr/bin/ssh /sbin/dump -0uan -f usuario@maquinaobjetivo.ejemplo.com:/dev/sa0 /usr</userinput></screen>
-
- </example>
-
- </sect2>
-
- <sect2>
- <title><command>tar</command></title>
- <indexterm>
- <primary>software de respaldo</primary>
- <secondary><command>tar</command></secondary>
- </indexterm>
-
- <para>&man.tar.1; también es de la época de
- la Version 6 de AT&amp;T UNIX (alrededor de 1975).
- <command>tar</command> trabaja en cooperación con el
- sistema de ficheros; escribe ficheros y directorios a
- cinta. <command>tar</command> no soporta el rango completo
- de opciones que ofrece &man.cpio.1;, pero no requiere el
- inusual comando de pipeline que utiliza
- <command>cpio</command>.</para>
-
- <indexterm><primary><command>tar</command></primary></indexterm>
-
- <para>En FreeBSD 5.3 y posteriores, tiene a su disposición
- GNU <command>tar</command>
- y el comando por defecto <command>bsdtar</command>.
- La versión GNU puede ser invocada mediante
- <command>gtar</command>. Soporta dispositivos remotos mediante
- la misma sintaxis que <command>rdump</command>. Para hacer un
- <command>tar</command> a una unidad de cinta conectada a una
- Sun llamada <systemitem>komodo</systemitem>, use:</para>
-
- <screen>&prompt.root; <userinput>/usr/bin/gtar cf komodo:/dev/nsa8 . 2&gt;&amp;1</userinput></screen>
-
- <para>Puede hacer lo mismo con o con
- <command>bsdtar</command> usando un <quote>pipe</quote> y
- <command>rsh</command> para mandar los datos a una unidad
- de cinta remota.</para>
-
- <screen>&prompt.root; <userinput>tar cf - . | rsh nombredemaquina dd of=dispositivo-de-cinta obs=20b</userinput></screen>
-
- <para>Si le preocupa la seguridad del proceso de hacer un
- respaldo a través de una red debe usar
- <command>ssh</command> en lugar de <command>rsh</command>.
- </para>
- </sect2>
-
- <sect2>
- <title><command>cpio</command></title>
- <indexterm>
- <primary>software de respaldo</primary>
- <secondary><command>cpio</command></secondary>
- </indexterm>
-
- <para>&man.cpio.1; es el programa de intercambio de archivos de
- cinta para medios magnéticos. <command>cpio</command>
- tiene opciones (entre muchas otras) para realizar intercambio de
- bytes, escribir un número diferente de formatos de
- archivo y hacer <quote>pipe</quote> de datos hacia otros programas.
- Esta última opción hace de <command>cpio</command>
- una elección excelente para medios de instalación.
- <command>cpio</command> no sabe cómo recorrer el árbol
- de directorios, así que debe facilitarle una lista de
- directorios a través de
- <filename>stdin</filename>.</para>
-
- <indexterm><primary><command>cpio</command></primary></indexterm>
-
- <para><command>cpio</command> no permite respaldos a través
- de la red. Puede usar un pipe y <command>rsh</command>
- para mandar los datos a una unidad de cinta remota.</para>
-
- <screen>&prompt.root; <userinput>for f in lista_directorios; do</userinput>
-<userinput>find $f &lt;&lt; backup.list</userinput>
-<userinput>done</userinput>
-&prompt.root; <userinput>cpio -v -o --format=newc &lt; backup.list | ssh usuario@máquina "cat &gt; dispositivo_de_respaldo"</userinput></screen>
-
- <para>Donde <replaceable>lista_directorios</replaceable> es la lista de
- directorios que desea respaldar,
- <replaceable>usuario</replaceable>@<replaceable>máquina</replaceable>
- es la combinación usuario/nombre de equipo que realizará
- el respaldo y <replaceable>dispositivo_de_respaldo</replaceable>
- es donde el respaldo se escribirá efectivamente (por ejemplo
- <filename>/dev/nsa0</filename>).</para>
- </sect2>
-
- <sect2>
- <title><command>pax</command></title>
- <indexterm>
- <primary>software de respaldo</primary>
- <secondary><command>pax</command></secondary>
- </indexterm>
- <indexterm><primary><command>pax</command></primary></indexterm>
- <indexterm><primary>POSIX</primary></indexterm>
- <indexterm><primary>IEEE</primary></indexterm>
-
- <para>&man.pax.1; es la respuesta IEEE/&posix; a
- <command>tar</command> y <command>cpio</command>.
- A través de los años las diversas versiones
- de <command>tar</command> y <command>cpio</command> se han
- vuelto ligeramente incompatibles, así que en lugar
- de pelear por hacerlo completamente estándar,
- &posix; creó una nueva utilidad de archivado.
- <command>pax</command> trata de leer y escribir muchos de
- los diversos formatos de <command>cpio</command> y
- <command>tar</command>, además de nuevos formatos
- propios. Su conjunto de comandos se parece más a
- <command>cpio</command> que a
- <command>tar</command>.</para>
- </sect2>
-
- <sect2 xml:id="backups-programs-amanda">
-
- <title><application>Amanda</application></title>
-
- <indexterm>
- <primary>software de respaldo</primary>
- <secondary><application>Amanda</application></secondary>
- </indexterm>
-
- <indexterm><primary><application>Amanda</application></primary></indexterm>
-
- <!-- Remove link until <port> tag is available -->
-
- <para><application>Amanda</application> (Advanced Maryland
- Network Disk Archiver) es un sistema de respaldos cliente/servidor,
- en lugar de un solo programa. Un servidor
- <application>Amanda</application>
- respaldará a una sola unidad de cinta cualquier cantidad de
- computadoras que tengan clientes <application>Amanda</application>
- y una conexión de red al servidor
- <application>Amanda</application>.
- Un problema común en sitios con gran cantidad de discos
- grandes es que la cantidad de tiempo requerida para respaldar los
- datos directamente a cinta excede la cantidad de tiempo disponible
- para la tarea. <application>Amanda</application> resuelve este
- problema. <application>Amanda</application> puede usar un
- <quote>disco intermedio</quote> para respaldar varios sistemas de
- ficheros al mismo tiempo.
- <application>Amanda</application> crea
- <quote>conjuntos de archivo</quote>, esto es, un grupo de cintas
- usadas durante un periodo de tiempo para crear respaldos completos
- de todos los sistemas de ficheros listados en el fichero de
- configuración de <application>Amanda</application>.
- El <quote>conjunto de archivo</quote> también contiene
- respaldos incrementales nocturnos (o diferenciales) de todos los
- sistemas de ficheros. Para restaurar un sistema de ficheros
- dañado hace falta el respaldo completo más reciente
- y los respaldos incrementales.</para>
-
- <para>El fichero de configuración ofrece un control
- exhaustivo de los respaldos y del tráfico de red que
- <application>Amanda</application> genera.
- <application>Amanda</application> usará cualquiera de
- los programas de respaldo mencionados arriba para escribir los
- datos a cinta. Puede instalar <application>Amanda</application>
- como paquete y como port. No forma parte del sistema base.</para>
- </sect2>
-
- <sect2>
- <title>No hacer nada</title>
-
- <para><quote>No hacer nada</quote> no es un programa, pero
- es la estrategia de respaldo más extendida. No tiene
- coste. No hay un calendario de respaldos a seguir. Simplemente
- hay que decir <emphasis>que no</emphasis>. Si algo le sucediera a
- sus datos <emphasis>sonría y acostúmbrese a su nueva
- situación</emphasis>.</para>
-
- <para>Si su tiempo y sus datos valen poco o nada, entonces
- <quote>no hacer nada</quote> es el programa de respaldo más
- adecuado para usted. Pero cuidado, &unix; es una herramienta
- muy poderosa y puede suceder que dentro de seis meses
- tenga un montón de ficheros que sean valiosos para
- usted.</para>
-
- <para><quote>No hacer nada</quote> es el método correcto de
- respaldo para <filename>/usr/obj</filename> y otros árboles
- de directorios que pueden ser fácilmente recreados por su
- computadora. Un ejemplo son los archivos que forman la
- versión HTML o &postscript; de este manual.
- Estos documentos han sido generados desde ficheros SGML.
- Crear respaldos de los archivos HTML o &postscript; no es
- necesario dado que los ficheros SGML se respaldan regularmente.
- </para>
- </sect2>
-
- <sect2>
- <title>?Cuál es el mejor programa de respaldos?</title>
- <indexterm>
- <primary>LISA</primary>
- </indexterm>
-
- <para>&man.dump.8;.
- <emphasis>Y no hay más que hablar.</emphasis>
- Elizabeth D. Zwicky realizó pruebas de estrés a
- a todos los programas de copia de seguridad aquí
- expuestos. La elección clarísima para preservar
- todos sus datos y todas las peculiaridades de sus sistemas de
- ficheros &unix; es <command>dump</command>.
- Elizabeth creó sistemas de ficheros conteniendo una gran
- variedad de condiciones inusuales (y algunos no tan inusuales)
- y probó cada programa haciendo un respaldo y restaurando
- esos sistemas de ficheros. Esas peculiaridades incluían:
- ficheros con y un bloque nulo, ficheros con caracteres
- extraños en sus nombres, ficheros que no se podían
- leer ni escribir, dispositivos, ficheros que cambiaban de
- tamaño durante el respaldo, ficheros que eran creados/borrados
- durante el respaldo y cosas así. Elizabeth presentó los
- resultados en LISA V en octubre de 1991.
- Consulte <link xlink:href="http://berdmann.dyndns.org/zwicky/testdump.doc.html">torture-testing
- Backup and Archive Programs</link>.</para>
- </sect2>
-
- <sect2>
- <title>Procedimiento de restauración de emergencia</title>
-
- <sect3>
- <title>Antes del desastre</title>
-
- <para>Solamente existen cuatro pasos que debe realizar
- en preparación de cualquier desastre que pudiera
- ocurrir.</para>
- <indexterm>
- <primary><command>disklabel</command></primary>
- </indexterm>
-
- <para>Primero, imprima la etiqueta de disco de cada uno
- de sus discos (<command>disklabel da0 | lpr</command>),
- su tabla de sistemas de ficheros
- (<filename>/etc/fstab</filename>) y todos los mensajes de
- arranque, dos copias de cada uno.</para>
-
- <indexterm><primary>fix-it floppies</primary></indexterm>
- <para>Segundo, asegúrese que los disquetes de rescate
- (<filename>boot.flp</filename> y <filename>fixit.flp</filename>)
- tienen todos sus dispositivos. La manera más fácil
- de revisarlo es reiniciar su máquina con el disquete
- en la unidad y revisar los mensajes de arranque. Si todos sus
- dispositivos aparecen en la lista y funcionan, pase al tercer
- paso.</para>
-
- <para>Si ha habido algún problema tiene que crear dos
- disquetes de arranque personalizados, que deben tener un
- kernel que pueda montar todos sus discos y acceder a su
- unidad de cinta. Estos discos deben contener:
- <command>fdisk</command>, <command>disklabel</command>,
- <command>newfs</command>, <command>mount</command> y
- cualquier programa de respaldo que utilice. Estos
- programas deben estar enlazados estáticamente. Si
- usa <command>dump</command>, el disquete debe
- contener <command>restore</command>.</para>
-
- <para>Tercero, use cintas de respaldo regularmente. Cualquier
- cambio que haga después de su último respaldo puede
- perderse irremediablemente. Proteja contra escritura las cintas
- de respaldo.</para>
-
- <para>Cuarto, pruebe los disquetes (ya sea <filename>boot.flp</filename>
- y <filename>fixit.flp</filename> o los dos discos personalizados
- que creó en el segundo paso) y las cintas de respaldo.
- Documente el procedimiento. Almacene estas notas con los
- discos de arranque, las impresiones y las cintas de respaldo.
- Estará tan perturbado cuando restaure su sistema que las
- notas pueden pueden evitar que destruya sus cintas de respaldo.
- (?Como? en lugar de <command>tar xvf /dev/sa0</command>,
- puede teclear accidentalmente <command>tar cvf /dev/sa0</command>
- y sobreescribir su cinta).</para>
-
- <para>Como medida adicional de seguridad haga discos de inicio
- y dos cintas de respaldo cada vez. Almacene una de cada
- en una ubicación remota. Una ubicación remota
- <emphasis>NO</emphasis> es el sótano del mismo edificio.
- Muchas firmas alojadas en el World Trade Center aprendieron esta
- leccón de la manera más difícil. Esa
- ubicación remota debe estar separada físicamente
- de sus computadoras y unidades de disco por una distancia
- significativa.</para>
-
- <example>
- <title>Un <quote>script</quote> para la creación de discos
- flexibles de arranque</title>
-
- <programlisting><![CDATA[#!/bin/sh
-#
-# create a restore floppy
-#
-# format the floppy
-#
-PATH=/bin:/sbin:/usr/sbin:/usr/bin
-
-fdformat -q fd0
-if [ $? -ne 0 ]
-then
- echo "Bad floppy, please use a new one"
- exit 1
-fi
-
-# place boot blocks on the floppy
-#
-disklabel -w -B /dev/fd0c fd1440
-
-#
-# newfs the one and only partition
-#
-newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/fd0a
-
-#
-# mount the new floppy
-#
-mount /dev/fd0a /mnt
-
-#
-# create required directories
-#
-mkdir /mnt/dev
-mkdir /mnt/bin
-mkdir /mnt/sbin
-mkdir /mnt/etc
-mkdir /mnt/root
-mkdir /mnt/mnt # for the root partition
-mkdir /mnt/tmp
-mkdir /mnt/var
-
-#
-# populate the directories
-#
-if [ ! -x /sys/compile/MINI/kernel ]
-then
- cat &lt;&lt; EOM
-The MINI kernel does not exist, please create one.
-Here is an example config file:
-#
-# MINI - A kernel to get FreeBSD onto a disk.
-#
-machine "i386"
-cpu "I486_CPU"
-ident MINI
-maxusers 5
-
-options INET # needed for _tcp _icmpstat _ipstat
- # _udpstat _tcpstat _udb
-options FFS #Berkeley Fast File System
-options FAT_CURSOR #block cursor in syscons or pccons
-options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
-options NCONS=2 #1 virtual consoles
-options USERCONFIG #Allow user configuration with -c XXX
-
-config kernel root on da0 swap on da0 and da1 dumps on da0
-
-device isa0
-device pci0
-
-device fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
-device fd0 at fdc0 drive 0
-
-device ncr0
-
-device scbus0
-
-device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
-device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
-
-device da0
-device da1
-device da2
-
-device sa0
-
-pseudo-device loop # required by INET
-pseudo-device gzip # Exec gzipped a.out's
-EOM
- exit 1
-fi
-
-cp -f /sys/compile/MINI/kernel /mnt
-
-gzip -c -best /sbin/init > /mnt/sbin/init
-gzip -c -best /sbin/fsck > /mnt/sbin/fsck
-gzip -c -best /sbin/mount > /mnt/sbin/mount
-gzip -c -best /sbin/halt > /mnt/sbin/halt
-gzip -c -best /sbin/restore > /mnt/sbin/restore
-
-gzip -c -best /bin/sh > /mnt/bin/sh
-gzip -c -best /bin/sync > /mnt/bin/sync
-
-cp /root/.profile /mnt/root
-
-cp -f /dev/MAKEDEV /mnt/dev
-chmod 755 /mnt/dev/MAKEDEV
-
-chmod 500 /mnt/sbin/init
-chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
-chmod 555 /mnt/bin/sh /mnt/bin/sync
-chmod 6555 /mnt/sbin/restore
-
-#
-# create the devices nodes
-#
-cd /mnt/dev
-./MAKEDEV std
-./MAKEDEV da0
-./MAKEDEV da1
-./MAKEDEV da2
-./MAKEDEV sa0
-./MAKEDEV pty0
-cd /
-
-#
-# create minimum file system table
-#
-cat > /mnt/etc/fstab &lt;&lt;EOM
-/dev/fd0a / ufs rw 1 1
-EOM
-
-#
-# create minimum passwd file
-#
-cat > /mnt/etc/passwd &lt;&lt;EOM
-root:*:0:0:Charlie &amp;:/root:/bin/sh
-EOM
-
-cat > /mnt/etc/master.passwd &lt;&lt;EOM
-root::0:0::0:0:Charlie &amp;:/root:/bin/sh
-EOM
-
-chmod 600 /mnt/etc/master.passwd
-chmod 644 /mnt/etc/passwd
-/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
-
-#
-# umount the floppy and inform the user
-#
-/sbin/umount /mnt
-echo "The floppy has been unmounted and is now ready."]]></programlisting>
-
- </example>
-
- </sect3>
-
- <sect3>
- <title>Después del desastre</title>
-
- <para>La pregunta clave es: ?sobrevivió su hardware?
- Ha estado haciendo respaldos regularmente, así que no hay
- necesidad de preocuparse por el software.</para>
-
- <para>Si el hardware ha sufrido daños los componentes deben
- reemplazarse antes de intentar de usar su sistema.</para>
-
- <para>Si su hardware está bien revise sus discos de arranque.
- Si usa disquetes de arranque personalizados arranque en modo
- monousuario (teclée <literal>-s</literal> en el
- en el <quote>prompt</quote> de arranque <prompt>boot:</prompt>).
- Sáltese el siguiente párrafo.</para>
-
- <para>Si utiliza usando los discos <filename>boot.flp</filename>
- y <filename>fixit.flp</filename>, siga leyendo. Inserte el disco
- <filename>boot.flp</filename> en la primera unidad de disquete
- y arranque la máquina. El menú de instalación
- original se desplegará en pantalla. Seleccione la
- opción <literal>Fixit--Repair mode with CDROM or
- floppy.</literal>. Inserte el disco <filename>fixit.flp</filename>
- cuando se le pida. Tanto <command>restore</command> como los
- demás programas que necesitará están en
- <filename>/mnt2/rescue</filename>
- (<filename>/mnt2/stand</filename> para versiones
- de &os; anteriores a 5.2).</para>
-
- <para>Recupere cada sistema de ficheros por separado.</para>
-
- <indexterm>
- <primary><command>mount</command></primary>
- </indexterm>
- <indexterm><primary>partición raíz</primary></indexterm>
- <indexterm>
- <primary><command>disklabel</command></primary>
- </indexterm>
- <indexterm>
- <primary><command>newfs</command></primary>
- </indexterm>
- <para>Trate de montar (por ejemplo
- <command>mount /dev/da0a /mnt</command>) la partición
- raíz de su primer disco. Si la etiqueta del disco
- ha sufrido daños use <command>disklabel</command>
- para reparticionar y etiquetar el disco de forma que coincida con
- la etiqueta que imprimió y guardó previamente. Use
- <command>newfs</command> para crear de nuevo sus sistemas de
- ficheros. Monte de nuevo la partición raíz del
- disquete en modo lectura/escritura
- (<command>mount -u -o rw /mnt</command>). Ejecute su programa de
- respaldo y utilice las cintas de respaldo para restaurar sus datos
- en este sistema de ficheros
- (<command>restore vrf /dev/sa0</command>).
- Desmonte el sistema de ficheros (<command>umount /mnt</command>).
- Repita el proceso con cada sistema de ficheros que sufrió
- daños.</para>
-
- <para>Una vez que su sistema esté en marcha respalde sus
- datos en cintas nuevas. Cualquiera que haya sido la causa de
- la caída o pérdida de datos puede suceder de nuevo.
- Una hora más que gaste ahora puede ahorrarle mucho
- sufrimiento más adelante.</para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="disks-virtual">
- <info><title>Sistemas de ficheros en red, memoria y respaldados en fichero</title>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Reorganizado y mejorado por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm><primary>discos virtuales</primary></indexterm>
- <indexterm>
- <primary>discos</primary>
- <secondary>virtuales</secondary>
- </indexterm>
-
- <para>Además de los discos que conecta físicamente en
- su máquina (discos flexibles, CDs, discos duros, etc.)
- &os; permite usar otro tipo de discos:
- <firstterm>los discos virtuales</firstterm>.</para>
-
- <indexterm><primary>NFS</primary></indexterm>
- <indexterm><primary>Coda</primary></indexterm>
- <indexterm>
- <primary>discos</primary>
- <secondary>memoria</secondary>
- </indexterm>
- <para>Esto incluye sistemas de ficheros en red como
- <link linkend="network-nfs">NFS</link> y Coda, sistemas de
- ficheros basados en memoria y sistemas de ficheros basados en
- fichero.</para>
-
- <para>Según la versión de &os; que utilice tendrá
- que utilizar diferentes herramientas para la creación y
- uso de sistemas de ficheros en memoria y sistemas de ficheros
- basados en fichero.</para>
-
- <note>
- <para>Los usuarios de FreeBSD&nbsp;4.X tendrán que usar
- &man.MAKEDEV.8; para crear los dispositivos requeridos.
- FreeBSD&nbsp;5.0 y posteriores usan &man.devfs.5; para
- gestionar los nodos de dispositivo correspondientes de forma
- transparente para el usuario.</para>
- </note>
-
- <sect2 xml:id="disks-vnconfig">
-
- <title>Sistema de ficheros basado en fichero en FreeBSD&nbsp;4.X</title>
- <indexterm>
- <primary>discos</primary>
- <secondary>file-backed (4.X)</secondary>
- </indexterm>
-
- <para>La utilidad &man.vnconfig.8; configura y habilita vnodes
- de dispositivos de pseudodisco. Un <firstterm>vnode</firstterm>
- es una representación de un fichero y es el enfoque de
- la actividad de fichero. Esto significa que &man.vnconfig.8;
- utiliza ficheros para crear y operar un sistema de ficheros.
- Un uso posible es el montaje de imágenes de disquetes o CD
- almacenadas como ficheros.</para>
-
- <para>Para poder usar &man.vnconfig.8; necesitará tener
- &man.vn.4; en el fichero de configuración de su
- kernel:</para>
-
- <programlisting>pseudo-device vn</programlisting>
-
- <para>Para montar una imagen de un sistema de ficheros:</para>
-
- <example>
- <title>Uso de vnconfig para montar una imagen de un sistema de
- ficheros bajo &os;&nbsp;4.X</title>
-
- <screen>&prompt.root; <userinput>vnconfig vn0 imagendedisco</userinput>
-&prompt.root; <userinput>mount /dev/vn0c /mnt</userinput></screen>
- </example>
-
- <para>Para crear una nueva imagen de un sistema de ficheros con
- &man.vnconfig.8;:</para>
-
- <example>
- <title>Creación de una imagen nueva de un sistema de ficheros
- respaldado en un archivo con <command>vnconfig</command></title>
-
- <screen>&prompt.root; <userinput>dd if=/dev/zero of=nuevaimagen bs=1k count=5k</userinput>
-5120+0 records in
-5120+0 records out
-&prompt.root; <userinput>vnconfig -s labels -c vn0 nuevaimagen</userinput>
-&prompt.root; <userinput>disklabel -r -w vn0 auto</userinput>
-&prompt.root; <userinput>newfs vn0c</userinput>
-Warning: 2048 sector(s) in last cylinder unallocated
-/dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
- 5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
-super-block backups (for fsck -b #) at:
- 32
-&prompt.root; <userinput>mount /dev/vn0c /mnt</userinput>
-&prompt.root; <userinput>df /mnt</userinput>
-Filesystem 1K-blocks Used Avail Capacity Mounted on
-/dev/vn0c 4927 1 4532 0% /mnt</screen>
- </example>
- </sect2>
-
- <sect2 xml:id="disks-mdconfig">
- <title>Sistemas de ficheros basados en fichero en
- FreeBSD&nbsp;5.X</title>
- <indexterm>
- <primary>discos</primary>
- <secondary>file-backed (5.X)</secondary>
- </indexterm>
-
- <para>&man.mdconfig.8; se usa para configurar y habilitar discos
- habilitar discos de memoria, &man.md.4;, en FreeBSD&nbsp;5.X.
- Para usar &man.mdconfig.8;, tendrá que cargar el módulo
- &man.md.4; o añadir soporte para el mismo el el fichero de
- configuración del kernel:</para>
-
- <programlisting>device md</programlisting>
-
- <para>&man.mdconfig.8; soporta tres tipos de discos virtuales
- en memoria: discos de memoria asignados mediante
- &man.malloc.9;, discos de memoria usando un fichero o
- espacio de swap como respaldo. Un uso posible es
- montar imágenes de disquetes o CD archivadas.
- </para>
-
- <para>Para montar una imagen de un sistema de ficheros:</para>
-
- <example>
- <title>Uso de <command>mdconfig</command> para montar una imagen
- de un sistema de ficheros en &os;&nbsp;5.X</title>
-
- <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f imagendedisco -u 0</userinput>
-&prompt.root; <userinput>mount /dev/md0 /mnt</userinput></screen>
- </example>
-
- <para>Para crear una imagen nueva de un sistema de ficheros
- con &man.mdconfig.8;:</para>
-
- <example>
- <title>Creación de un disco respaldado en fichero
- con <command>mdconfig</command></title>
-
- <screen>&prompt.root; <userinput>dd if=/dev/zero of=nuevaimagen bs=1k count=5k</userinput>
-5120+0 records in
-5120+0 records out
-&prompt.root; <userinput>mdconfig -a -t vnode -f nuevaimagen -u 0</userinput>
-&prompt.root; <userinput>disklabel -r -w md0 auto</userinput>
-&prompt.root; <userinput>newfs md0c</userinput>
-/dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048
- using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
-super-block backups (for fsck -b #) at:
- 32, 2624, 5216, 7808
-&prompt.root; <userinput>mount /dev/md0c /mnt</userinput>
-&prompt.root; <userinput>df /mnt</userinput>
-Filesystem 1K-blocks Used Avail Capacity Mounted on
-/dev/md0c 4846 2 4458 0% /mnt</screen>
- </example>
-
- <para>Si no especifica el número de unidad con la
- opción <option>-u</option> &man.mdconfig.8;
- usará la designación automática de
- &man.md.4; para seleccionar un dispositivo sin usar.
- El nombre de la unidad designada se enviará a la salida
- esándar como <filename>md4</filename>. Para más
- información sobre &man.mdconfig.8; consulte su página
- de manual.</para>
-
- <note><para>A partir de &os;&nbsp;5.1-RELEASE
- &man.bsdlabel.8; reemplazó a
- &man.disklabel.8;. En &man.bsdlabel.8; se eliminaron muchas
- opciones y parámetros obsoletos. En el ejemplo de
- arriba ignore la opción <option>-r</option>.
- Para más información consulte la página
- de manual de &man.bsdlabel.8;.</para></note>
-
- <para>&man.mdconfig.8; es muy útil, aunque requiere
- muchas líneas de comando para crear un sistema de ficheros
- basado en un fichero. FreeBSD&nbsp;5.0 incorpora &man.mdmfs.8;,
- que configura un disco &man.md.4; utilizando
- &man.mdconfig.8;, pone un sistema de ficheros UFS en él
- mediante &man.newfs.8; y lo monta usando &man.mount.8;.
- Por ejemplo, si desea crear y montar la misma imagen de
- sistema de ficheros de arriba, simplemente teclée
- lo siguiente:</para>
-
- <example>
- <title>Configurar y montar un disco basado en un fichero con
- <command>mdmfs</command></title>
-
- <screen>&prompt.root; <userinput>dd if=/dev/zero of=nuevaimagen bs=1k count=5k</userinput>
-5120+0 records in
-5120+0 records out
-&prompt.root; <userinput>mdmfs -F newimage -s 5m md0 /mnt</userinput>
-&prompt.root; <userinput>df /mnt</userinput>
-Filesystem 1K-blocks Used Avail Capacity Mounted on
-/dev/md0 4846 2 4458 0% /mnt</screen>
- </example>
-
- <para>Si utiliza la opción <option>md</option> sin
- número de unidad, &man.mdmfs.8; usará la
- opción de auto unidad de &man.md.4; para
- selecionar automáticamente un dispositivo sin usar. Para
- más información sobre &man.mdmfs.8;
- diríjase a la página de manual.</para>
-
- </sect2>
-
- <sect2 xml:id="disks-md-freebsd4">
-
- <title>Sistemas de ficheros basados en memoria en FreeBSD&nbsp;4.X</title>
-
- <indexterm>
- <primary>discos</primary>
- <secondary>sistemas de ficheros en memoria (4.X)</secondary>
- </indexterm>
-
- <para>El controlador &man.md.4; es un modo sencillo y eficiente de
- crear sistemas de ficheros basados en memoria en FreeBSD&nbsp;4.X.
- &man.malloc.9; se usa para ubicar la memoria.</para>
-
- <para>Sencillamete toma un sistema de ficheros que usted ha
- preparado con, por ejemplo, &man.vnconfig.8;, y:</para>
-
- <example>
- <title>Disco de memoria md en FreeBSD&nbsp;4.X</title>
-
- <screen>&prompt.root; <userinput>dd if=nuevaimagen of=/dev/md0</userinput>
-5120+0 records in
-5120+0 records out
-&prompt.root; <userinput>mount /dev/md0c /mnt</userinput>
-&prompt.root; <userinput>df /mnt</userinput>
-Filesystem 1K-blocks Used Avail Capacity Mounted on
-/dev/md0c 4927 1 4532 0% /mnt</screen>
- </example>
-
- <para>Para más información por favor consulte
- la página de manual de &man.md.4;.</para>
- </sect2>
-
- <sect2 xml:id="disks-md-freebsd5">
- <title>sistemas de ficheros basados en memoria en
- FreeBSD&nbsp;5.X</title>
- <indexterm>
- <primary>discos</primary>
- <secondary>sistemas de ficheros en memoria (5.X)</secondary>
- </indexterm>
-
- <para>Se usan las mismas herramientas para tratar con sistemas
- de ficheros basados en memoria o en ficheros:
- &man.mdconfig.8; o &man.mdmfs.8;. El almacenamiento de
- sistemas de ficheros basados en memoria requiere el uso de
- &man.malloc.9;.</para>
-
- <example>
- <title>Creación de un nuevo disco basado en memoria con
- <command>mdconfig</command></title>
-
- <screen>&prompt.root; <userinput>mdconfig -a -t malloc -s 5m -u 1</userinput>
-&prompt.root; <userinput>newfs -U md1</userinput>
-/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
- using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
- with soft updates
-super-block backups (for fsck -b #) at:
- 32, 2624, 5216, 7808
-&prompt.root; <userinput>mount /dev/md1 /mnt</userinput>
-&prompt.root; <userinput>df /mnt</userinput>
-Filesystem 1K-blocks Used Avail Capacity Mounted on
-/dev/md1 4846 2 4458 0% /mnt</screen>
- </example>
-
- <example>
- <title>Creación de un nuevo disco basado en memoria con
- <command>mdmfs</command></title>
- <screen>&prompt.root; <userinput>mdmfs -M -s 5m md2 /mnt</userinput>
-&prompt.root; <userinput>df /mnt</userinput>
-Filesystem 1K-blocks Used Avail Capacity Mounted on
-/dev/md2 4846 2 4458 0% /mnt</screen>
- </example>
-
- <para>En lugar de usar un sistema de ficheros respaldado en
- &man.malloc.9;, es posible utilizar swap; lo único que
- debe hacer es sustituir <option>malloc</option> por
- <option>swap</option> en la línea de comando de
- &man.mdconfig.8;. &man.mdmfs.8; por defecto
- (sin <option>-M</option>) crea un disco basado en swap). Para
- más información, consulte las
- páginas de manual de &man.mdconfig.8; y de
- &man.mdmfs.8;.</para>
- </sect2>
-
- <sect2>
- <title>Desconexión del sistema de un disco de memoria</title>
- <indexterm>
- <primary>discos</primary>
- <secondary>desconectar un disco de memoria</secondary>
- </indexterm>
-
- <para>Cuando un sistema de ficheros basado en memoria o
- basado en fichero no se usa puede liberar recursos del sistema.
- Lo primero es desmontar el sistema de ficheros: use
- &man.mdconfig.8; para desconectar el disco del sistema y liberar
- dichos recursos.</para>
-
- <para>Por ejemplo, para desconectar y liberar todos los
- recursos usados por <filename>/dev/md4</filename>:</para>
-
- <screen>&prompt.root; <userinput>mdconfig -d -u 4</userinput></screen>
-
- <para>Es posible listar información sobre dispositivos
- &man.md.4; configurados en el sistema mediante
- <command>mdconfig -l</command>.</para>
-
- <para>En FreeBSD&nbsp;4.X se usa &man.vnconfig.8; para desconectar
- el dispositivo. Por ejemplo, para desconectar y
- liberar todos los recursos usados por
- <filename>/dev/vn4</filename>:</para>
-
- <screen>&prompt.root; <userinput>vnconfig -u vn4</userinput></screen>
-
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="snapshots">
- <info><title>Instantáneas (<quote>snapshots</quote>) de sistemas
- de ficheros</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <indexterm>
- <primary>sistemas de ficheros</primary>
- <secondary>snapshots</secondary>
- </indexterm>
-
- <para>FreeBSD&nbsp;5.0 ofrece una característica relacionada
- con
- <link linkend="soft-updates">Soft Updates</link>: las
- instantáneas del sistema de ficheros.</para>
-
- <para>Las instantáneas permiten a un usuario crear
- imágenes de uno o más sistemas de ficheros dados, y
- tratarlas como un fichero. Los ficheros de instantánea
- deben crearse en el sistema de ficheros en el que se realiza la
- acción, y un usuario puede crear hasta 20 (veinte)
- instantáneas por sistema de ficheros. Las
- instantáneas activas se graban en el superbloque, lo que
- hace que sigan ahí independientemente de montajes,
- remontajes y reinicios del sistema. Cuando ya no necesite
- una instantánea puede borrarla con &man.rm.1;.
- Las instantáneas pueden borrarse en cualquier orden pero
- puede que no pueda recuperar todo el espacio debido a que otra
- instantánea puede reclamar algunos bloques liberados.</para>
-
- <para>La bandera inalterable de fichero <option>snapshot</option>
- se activa con &man.mksnap.ffs.8; después de la creación
- inicial de un fichero de instantánea. &man.unlink.1;
- hace una excepción con los ficheros de instantánea,
- ya que permite que se les borre.</para>
-
- <para>Las instantáneas se crean con &man.mount.8;.
- Veamos un ejemplo. Vamos a colocar una instantánea de
- <filename>/var</filename> en
- <filename>/var/snapshot/snap</filename>:</para>
-
-<screen>&prompt.root; <userinput>mount -u -o snapshot /var/snapshot/snap /var</userinput></screen>
-
- <para>También puede usar &man.mksnap.ffs.8; para
- crear una instantánea:</para>
-
-<screen>&prompt.root; <userinput>mksnap_ffs /var /var/snapshot/snap</userinput></screen>
-
- <para>Si busca ficheros de instantánea en un sistema de
- de ficheros (por ejemplo <filename>/var</filename>) puede usar
- &man.find.1;:</para>
-
-<screen>&prompt.root; <userinput>find /var -flags snapshot</userinput></screen>
-
- <para>Una instantánea tiene distintos usos:</para>
-
- <itemizedlist>
- <listitem>
- <para>Algunos administradores usan un fichero de
- instantánea como respaldo, puesto que la instantánea
- puede guardarse en CD o cinta.</para>
- </listitem>
-
- <listitem>
- <para>Integridad de ficheros; &man.fsck.8; puede ejecutarse
- en una instantánea. Asumiendo que el sistema de
- ficheros estuviera limpio cuando se montó se debe
- obtener un resultado limpio (e intacto). En esencia el
- proceso &man.fsck.8; hace esto mismo en segundo plano.</para>
- </listitem>
-
- <listitem>
- <para>Ejecución de &man.dump.8; en la instantánea.
- Se obtendrá un dump consistente con el sistema de
- ficheros y los sellos de hora de la instantánea.
- &man.dump.8; también puede leer una instantánea,
- crear una imagen dump y eliminar la instantánea en
- un comando usando la opción
- <option>-L</option>.</para>
- </listitem>
-
- <listitem>
- <para>Ejecutar un &man.mount.8; contra la instantánea
- como una imagen congelada del sistema de ficheros.
- Para montar la instantánea
- <filename>/var/snapshot/snap</filename> ejecute:</para>
-
-<screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /var/snapshot/snap -u 4</userinput>
-&prompt.root; <userinput>mount -r /dev/md4 /mnt</userinput></screen>
-
- </listitem>
- </itemizedlist>
-
- <para>Podrá recorrer la jerarquía de su sistema de
- ficheros <filename>/var</filename> congelado montado en
- <filename>/mnt</filename>. Todo estará en el mismo estado
- en el que estaba cuando creó la instantánea.
- La única excepción es que cualquier
- instantánea anterior aparecerá como un fichero
- de longitud cero. Cuando haya acabado de usar una
- instantánea puede desmontarla con:</para>
-
-<screen>&prompt.root; <userinput>umount /mnt</userinput>
-&prompt.root; <userinput>mdconfig -d -u 4</userinput></screen>
-
- <para>Para más información sobre
- <option>softupdates</option> e instantáneas de sistemas
- ficheros, incluyendo textos técnicos, visite el sitio
- web de Marshall Kirk McKusick:
- <uri xlink:href="http://www.mckusick.com/">http://www.mckusick.com/</uri>.</para>
- </sect1>
-
- <sect1 xml:id="quotas">
- <title>Cuotas en sistemas de ficheros</title>
- <indexterm>
- <primary>contabilidad</primary>
- <secondary>espacio en disco</secondary>
- </indexterm>
- <indexterm><primary>cuotas de disco</primary></indexterm>
-
- <para>Las cuotas son una opción del sistema
- operativo que le permite limitar la cantidad de espacio en
- disco y/o el número de fichero que un usuario o
- miembros de un grupo pueden crear en el sistema, pudiendo
- además hacerlo de forma independiente en cada sistema de
- ficheros.
- Suele usarse principalmente en sistemas de tiempo compartido,
- donde se busca limitar la cantidad de recursos que cualquier
- usuario o grupo pueden utilizar.
- Esto evitará que un usuario o un grupo de usuarios
- consuma todos el espacio disponible en disco.</para>
-
- <sect2>
- <title>Configuración del sistema para habilitar
- cuotas de disco</title>
-
- <para>Antes de intentar configurar el uso de cuotas de disco
- hay que asegurarse de que las cuotas están activadas en el
- kernel. La siguiente línea debe estar en el fichero de
- de configuración del kernel:</para>
-
- <programlisting>options QUOTA</programlisting>
-
- <para>El kernel <filename>GENERIC</filename> no lo tiene activado
- por defecto, así que tendrá que configurar,
- compilar e instalar un kernel personalizado para
- poder usar cuotas de disco. Por favor, consulte el
- <xref linkend="kernelconfig"/> para más información
- sobre la configuración del kernel.</para>
-
- <para>A continuación tendrá que habilitar
- las cuotas de disco en <filename>/etc/rc.conf</filename>.
- Añadale la siguiente línea:</para>
-
- <programlisting>enable_quotas="YES"</programlisting>
- <indexterm>
- <primary>cuotas de disco</primary>
- <secondary>revisión</secondary>
- </indexterm>
-
- <para>Hay una variable que le permitirá efectuar un
- control más exhaustivo sobre el arranque de cuotas.
- Normalmente se revisa la integridad de cuotas de cada sistema
- de ficheros en el arranque; el responsable es
- &man.quotacheck.8;. &man.quotacheck.8; se asegura de que los
- datos que hay en su base de datos de cuotas reflejen
- realmente los datos del sistema de ficheros. Es un proceso
- que lleva mucho tiempo y que afectará significativamente
- al tiempo que tardará su sistema en arrancar. Si desea
- saltarse ese paso puede usar una variable al efecto en
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>check_quotas="NO"</programlisting>
-
- <para>Para concluir tendrá que editar
- <filename>/etc/fstab</filename> para habilitar las cuotas de disco
- para cada sistema de ficheros. Es aquí donde podrá
- habilitar cuotas por usuario, por grupo, o ambos en todos sus
- sistemas de ficheros.</para>
-
- <para>Para habilitar cuotas por usuario en un sistema de
- ficheros añada la opción <option>userquota</option> al
- campo de opciones en la entrada de <filename>/etc/fstab</filename>
- que corresponda al sistema de ficheros en el que quiere habilitar
- las cuotas. Veamos un ejemplo:</para>
-
- <programlisting>/dev/da1s2g /home ufs rw,userquota 1 2</programlisting>
-
- <para>En el caso de las cuotas de grupo es muy similar.
- Use la opción <option>groupquota</option> en lugar
- de <option>userquota</option>. Para habilitar
- cuotas por usuario y por grupo modifique la entrada
- de este modo:</para>
-
- <programlisting>/dev/da1s2g /home ufs rw,userquota,groupquota 1 2</programlisting>
-
- <para>Por defecto los ficheros de cuota se guardan en
- el directorio raíz del sistema de ficheros con los
- nombres <filename>quota.user</filename> y
- <filename>quota.group</filename>
- para cuotas de usuario y grupo respectivamente.
- Consulte &man.fstab.5; para más información.
- Aunque la página de manual de &man.fstab.5; diga que puede
- especificar otra ubicación para los ficheros de
- cuota, no se recomienda hacerlo debido a que las diversas herramientas
- de gestió cuotas no parecen sobrellevar esto
- adecuadamente.</para>
-
- <para>Hecho todo esto puede reiniciar su sistema con el nuevo
- kernel. <filename>/etc/rc</filename> ejecutará
- automáticamente los comandos apropiados para crear los
- ficheros de cuota iniciales que requieran todas las entradas en
- en <filename>/etc/fstab</filename>, así que no hay
- necesidad de crear ficheros de cuota de longitud cero.</para>
-
- <para>En el curso normal de operaciones no se le debería
- pedir que ejecute &man.quotacheck.8;, &man.quotaon.8; o
- &man.quotaoff.8; manualmente. Sin embargo, tal vez quiera leer
- sus páginas de manual para familiarizarse con su
- funcionamiento.</para>
- </sect2>
-
- <sect2>
- <title>Configuración de límites de cuota</title>
- <indexterm>
- <primary>cuotas de disco</primary>
- <secondary>límites</secondary>
- </indexterm>
-
- <para>Una vez que tenga configurado su sistema para usar cuotas
- verifique que en realidad estén habilitadas. Una manera
- sencilla de hacer esto es ejecutar:</para>
-
- <screen>&prompt.root; <userinput>quota -v</userinput></screen>
-
- <para>Debe ver un resumen de una sola línea de uso del
- disco y los límites de cuota actuales para cada sistema
- de ficheros donde estén habilitadas las cuotas.</para>
-
- <para>Ahora puede iniciar la asignación
- de límites de cuota con &man.edquota.8;.</para>
-
- <para>Tiene varias opciones para imponer límites en el
- espacio de disco que un usuario o grupo puede ocupar, y
- cuántos ficheros pueden crear. Puede limitar el uso de
- disco basándose en el espacio en disco (cuotas de bloque) o
- en el número de ficheros (cuotas de inodo) o una
- combinación de ambas. Cada uno de estos límites
- a su vez se divide en dos categorías: límites
- duros y suaves.</para>
-
- <indexterm><primary>límite duro</primary></indexterm>
- <para>Un límite duro no puede ser excedido. Una vez que
- un usuario alcanza su límite duro no puede realizar
- más ubicaciones en el sistema de ficheros en cuestión.
- Por ejemplo, si el usuario tiene un límite duro de
- 500 kbytes en un sistema de ficheros y está utilizando
- 490 kbytes, el usuario solo puede ocupar
- otros 10 kbytes. Un intento de ocupar 11 kbytes más
- fallará.</para>
-
- <indexterm><primary>límite suave</primary></indexterm>
- <para>Los límites suaves pueden excederse por un periodo
- Este periodo de tiempo recibe el nombre de periodo de gracia, que
- por defecto es una semana. Si un usuario sobrepasa su periodo de
- gracia el límite suave se convertirá en
- un límite duro y no se permitir&acute;n usos de disco
- adicionales. Cuando el usuario devuelve su cuota de uso de
- recursos a un punto por debajo de su límite suave
- el periodo de gracia se reinicia.</para>
-
- <para>Veamos un ejemplo de uso de &man.edquota.8;.
- Si se usa &man.edquota.8; se entra en el el editor declarado en
- la variable de entorno
- <envar>EDITOR</envar>, o en el editor <application>vi</application>
- si no ha modificado el valor por defecto de la variable
- <envar>EDITOR</envar>, para que pueda editar los
- límites de cuota.</para>
-
- <screen>&prompt.root; <userinput>edquota -u test</userinput></screen>
-
- <programlisting>Quotas for user test:
-/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
- inodes in use: 7, limits (soft = 50, hard = 60)
-/usr/var: kbytes in use: 0, limits (soft = 50, hard = 75)
- inodes in use: 0, limits (soft = 50, hard = 60)</programlisting>
-
- <para>Debería ver dos líneas por cada sistema
- de ficheros que tenga habilitadas las cuotas. Una línea
- para los límites de bloque y una línea para
- límites de inodo. Por ejemplo, para elevar los límites
- de este usuario de un límite suave de 50 y un límite
- duro de 75 a un límite suave de 500 y un límite
- duro de 600, cambie:</para>
-
- <programlisting>/usr: kbytes in use: 65, limits (soft = 50, hard = 75)</programlisting>
-
- <para>por:</para>
-
- <programlisting>/usr: kbytes in use: 65, limits (soft = 500, hard = 600)</programlisting>
-
- <para>Los nuevos límites de cuota se aplicarán en
- cuanto salga del editor.</para>
-
- <para>Algunas veces se quieren activar límites de cuota
- en un rango de UIDs. Esto puede realizarse con la opción
- <option>-p</option> de &man.edquota.8;. Primero asigne el
- límite de cuota deseado a un usuario y luego
- ejecute
- <command>edquota -p protouser startuid-enduid</command>. Por
- ejemplo, si el usuario <systemitem class="username">test</systemitem> tiene el
- límite de cuota deseado, el siguiente comando puede
- usarse para duplicar esos límites de cuota para los
- UIDs de 10,000 hasta 19,999:</para>
-
- <screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen>
-
- <para>Para más información consulte la página de
- manual &man.edquota.8;.</para>
- </sect2>
-
- <sect2>
- <title>Revisión de los límites de cuota y
- uso de disco</title>
- <indexterm>
- <primary>cuotas de disco</primary>
- <secondary>revisando</secondary>
- </indexterm>
-
- <para>Puede usar &man.quota.1; o
- &man.repquota.8; para revisar los límites de
- cuota y uso del disco. El comando &man.quota.1;
- le permitirá revisar cuotas individuales de
- usuario o grupo y uso del disco. Un usuario puede
- sólamente examinar su propia cuota y la cuota de un
- grupo al que pertenezca. Sólamente el superusuario
- puede ver las cuotas de todos los usuarios y grupos.
- &man.repquota.8; permite obtener
- un resumen de todas las cuotas y uso del disco de todos los
- sistemas de ficheros con cuotas habilitadas.</para>
-
- <para>En el siguiente ejemplo vemos la salida de
- <command>quota -v</command> para un usuario
- que tiene límites de cuota en dos sistemas
- de ficheros.</para>
-
- <programlisting>Disk quotas for user test (uid 1002):
- Filesystem usage quota limit grace files quota limit grace
- /usr 65* 50 75 5days 7 50 60
- /usr/var 0 50 75 0 50 60</programlisting>
-
- <indexterm><primary>periodo de gracia</primary></indexterm>
- <para>En el sistema de ficheros <filename>/usr</filename> del
- ejemplo este usuario está actualmente
- 15 kbytes sobre su límite suave de 50 kbytes y le quedan 5
- días de su periodo de gracia. Observe el asterisco,
- <literal>*</literal> que indica que el usuario está
- actualmente por encima de su límite de cuota.</para>
-
- <para>Normalmente los sistemas de ficheros en los que el usuario
- no esté utilizando espacio en disco no se mostrarán
- en la salida del comando &man.quota.1;, incluso si tiene
- un límite de cuota asignado para esos sistemas
- de fichero. La opción <option>-v</option>
- desplegará esos sistemas de ficheros, en nuestro ejemplo
- el sistema de ficheros <filename>/usr/var</filename>.</para>
- </sect2>
-
- <sect2>
- <title>Cuotas en NFS</title>
- <indexterm><primary>NFS</primary></indexterm>
-
- <para>Las cuotas son impuestas por el subsistema de cuotas en el
- servidor NFS. El d&aelig;mon &man.rpc.rquotad.8; facilita la
- información a &man.quota.1; en los clientes
- NFS, permitiéndoles a los usuarios de esas máquinas
- ver sus estadísticas de cuota.</para>
-
- <para>Habilite <command>rpc.rquotad</command> en
- <filename>/etc/inetd.conf</filename> del siguiente modo:</para>
-
- <programlisting>rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad</programlisting>
-
- <para>Y reinicie <command>inetd</command>:</para>
-
- <screen>&prompt.root; <userinput>kill -HUP `cat /var/run/inetd.pid`</userinput></screen>
- </sect2>
- </sect1>
-
-
- <sect1 xml:id="disks-encrypting">
- <info><title>Cifrado de particiones de disco</title>
- <authorgroup>
- <author><personname><firstname>Lucky</firstname><surname>Green</surname></personname><contrib>Escrito por </contrib><affiliation>
- <address><email>shamrock@cypherpunks.to</email></address>
- </affiliation></author>
- </authorgroup>
-
- </info>
-
-
- <indexterm>
- <primary>discos</primary>
- <secondary>cifrado</secondary></indexterm>
-
- <para>&os; ofrece un alto grado de protección
- contra el acceso no autorizado a los datos. Los Permisos de fichero
- y MAC (Mandatory Access Control, controles de acceso obligatorio,
- consulte el <xref linkend="mac"/>) ayudan a evitar que otros
- tengan acceso no autorizado a los datos mientras el sistema
- operativo está funcionando y la computadora está
- encendida. Sin embargo los permisos impuestos por el
- sistema operativo son irrelevantes si un atacante tiene acceso
- físico al sistema y puede simplemente mover el disco
- duro de la computadora a otro sistema para copiar
- y analizar datos sensibles.</para>
-
- <para>Independientemente de cómo un atacante pueda
- conseguir acceso a un disco duro a a un sistema apagado,
- <application>el cifrado de disco basado en GEOM
- (GEOM Based Disk Encryption, gbde)</application> puede proteger
- los datos de los sistemas de ficheros del sistema incluso
- contra atacantes muy decididos y con recursos adecuados a
- su disposición. A diferencia de otros métodos de
- cifrado más difíciles de usar, que cifran
- únicamente ficheos individuales,
- <application>gbde</application> cifra sistemas de ficheros
- completos de forma transparente. Ni un solo texto en limpio
- llega a tocar el disco duro.</para>
-
- <sect2>
- <title>Habilitar gbde en el kernel</title>
-
- <procedure>
- <step>
- <title>Conviértase en <systemitem class="username">root</systemitem></title>
-
- <para>La configuración de <application>gbde</application>
- requiere privilegios de superusuario.</para>
-
- <screen>&prompt.user; <userinput>su -</userinput>
-Password:</screen>
- </step>
-
- <step>
- <title>Verifique la versión del sistema operativo</title>
-
- <para>&man.gbde.4; requiere FreeBSD 5.0 o posterior.</para>
-
- <screen>&prompt.root; <userinput>uname -r</userinput>
-5.0-RELEASE</screen>
- </step>
-
- <step>
- <title>Añada soporte de &man.gbde.4; al fichero de
- configuración de su kernel</title>
-
- <para>Añada la siguiente línea al fichero de
- configuración de su kernel con el editor que
- prefiera:</para>
-
- <para><literal>options GEOM_BDE</literal></para>
-
- <para>Configure, recompile e instale el kernel de &os;.
- Este proceso se detalla en el
- <xref linkend="kernelconfig"/>.</para>
-
- <para>Reinicie con el nuevo kernel.</para>
- </step>
- </procedure>
- </sect2>
-
-
- <sect2>
- <title>Preparación del disco duro cifrado</title>
-
- <para>El siguiente ejemplo asume que añade a su sistema
- un disco duro nuevo que contendrá una sola
- partición cifrada. Esta partición se
- montará como <filename>/private</filename>.
- <application>gbde</application> puede usarse también
- para cifrar <filename>/home</filename> y
- <filename>/var/mail</filename>,
- pero esto requeriría instrucciones más complejas que
- las que se pretenden dar en esta introducción.</para>
-
- <procedure>
- <step>
- <title>Añada el nuevo disco</title>
-
- <para>Instale el nuevo disco en el sistema como se explicó
- en la <xref linkend="disks-adding"/>. En nuestro ejemplo hemos
- añadido una nueva partición de disco como
- <filename>/dev/ad4s1c</filename>. Los dispositivos
- <filename>/dev/ad0s1*</filename>
- representan particiones &os; estándar que i
- existían previamente en el sistema.</para>
-
- <screen>&prompt.root; <userinput>ls /dev/ad*</userinput>
-/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
-/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
-/dev/ad0s1a /dev/ad0s1d /dev/ad4</screen>
- </step>
-
- <step>
- <title>Crée un directorio para los ficheros
- <quote>lock</quote> de gbde</title>
-
- <screen>&prompt.root; <userinput>mkdir /etc/gbde</userinput></screen>
-
- <para>Los ficheros <quote>lock</quote> de
- <application>gbde</application>
- contienen información que <application>gbde</application>
- requiere para acceder a las particiones cifradas. Sin el
- acceso a los ficheros <quote>lock</quote>
- <application>gbde</application> no podrá descifrar los
- datos alojados en la partición cifrada sin una cantidad
- significativa de trabajo, tarea para la que además
- no le resultará de ayuda este software. Cada
- partición cifrada utiliza un fichero
- <quote>lock</quote> separado.</para>
- </step>
-
- <step>
- <title>Inicialice la partición gbde</title>
-
- <para>Una partición <application>gbde</application>
- debe inicializarse antes de que pueda utilizarse.
- Esta inicialización sólo debe hacerse
- una vez:</para>
-
- <screen>&prompt.root; <userinput>gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c</userinput></screen>
-
- <para>&man.gbde.8; abrirá su editor para que pueda
- configurar las opciones de configuración que se
- le presentarán en una plantilla.
- Para utilizar UFS1 o UFS2, ponga el sector_size a 2048:</para>
-
- <programlisting>$<!-- This is not the space you are looking
-for-->FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
-#
-# El tamaño de sector (sector size) es la unidad de datos más
-# pequeña que podrá leer o escribir. Si la elige demasiado
-# pequeña reducirá el rendimiento y la cantidad de espacio
-# útil. Si la elige demasiado grande puede hacer que los sistemas
-# de ficheros no funcionen. 512 es el tamaño mínimo y
-# siempre funciona. Si va a usar UFS utilice
-#
-sector_size = 2048
-[...]
-</programlisting>
-
- <para>&man.gbde.8; le pedirá dos veces que escriba la
- contraseña que debe usarse para asegurar los datos.
- La contraseña debe ser la misma las dos veces. La
- capacidad de <application>gbde</application> de proteger sus
- datos depende íntegramente de la calidad de la
- contraseña que elija.
- <footnote>
- <para>Si quiere ayuda para seleccionar una contraseña
- segura que además sea fácil de recordar visite
- el sitio web
- <link xlink:href="http://world.std.com/~reinhold/diceware.html">Diceware
- Passphrase</link>.</para></footnote></para>
-
- <para>El fichero <command>gbde init</command> crea un fichero
- <quote>lock</quote> para su partición
- <application>gbde</application>, que en nuestro ejemplo
- está en
- <filename>/etc/gbde/ad4s1c</filename>.</para>
-
- <caution>
- <para>Es imprescindible que los ficheros <quote>lock</quote>
- de <application>gbde</application>
- <emphasis>deben</emphasis> respaldarse junto con
- el contenido de cualquier partición cifrada.
- Aunque la sola acció de borrar
- un fichero <quote>lock</quote> no puede evitar que un atacante
- motivado descifre una partición
- <application>gbde</application> sin el fichero
- <quote>lock</quote>, el propietario legítimo
- no podrá acceder a los datos en la partición
- cifrada sin una cantidad notable de trabajo, que es
- necesario señalar que no entra dentro de las funciones
- de &man.gbde.8; ni de su diseñador.</para>
- </caution>
- </step>
-
- <step>
- <title>Conecte al kernel la partición cifrada</title>
-
- <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c</userinput></screen>
-
- <para>Se le pedirá la contraseña que elijió
- al inicializar la partición cifrada. El
- nuevo dispositivo cifrado aparecerá en
- <filename>/dev</filename> como
- <filename>/dev/nombre_de_dispositivo.bde</filename>:</para>
-
- <screen>&prompt.root; <userinput>ls /dev/ad*</userinput>
-/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
-/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
-/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde</screen>
- </step>
-
- <step>
- <title>Crée un sistema de ficheros en el dispositivo
- cifrado</title>
-
- <para>Una vez el dispositivo cifrado está conectado
- al kernel puede crear un sistema de ficheros en el
- dispositivo con &man.newfs.8;. Dado que es más
- rápido inicializar un sistema de ficheros del
- nuevo UFS2 que un sistema de ficheros del tradicional
- UFS1, le recomendamos encarecidamente usar
- &man.newfs.8; con la opción
- <option>-O2</option>.</para>
-
- <note><para>La opción <option>-O2</option> es el
- valor por defecto en &os;&nbsp;5.1-RELEASE
- y siguientes.</para></note>
-
- <screen>&prompt.root; <userinput>newfs -U -O2 /dev/ad4s1c.bde</userinput></screen>
-
- <note>
- <para>&man.newfs.8; debe ejecutarse en una
- partición <application>gbde</application>
- conectada, que podrá identificar por la extensión
- <filename>*.bde</filename>
- del nombre del dispositivo.</para>
- </note>
- </step>
-
- <step>
- <title>Montar la partición cifrada</title>
-
- <para>Crée un punto de montaje para el sistema cifrado
- de ficheros.</para>
-
- <screen>&prompt.root; <userinput>mkdir /private</userinput></screen>
-
- <para>Montar el sistema cifrado de ficheros.</para>
-
- <screen>&prompt.root; <userinput>mount /dev/ad4s1c.bde /private</userinput></screen>
- </step>
-
- <step>
- <title>Verificar que el sistema cifrado de ficheros esté
- disponible</title>
-
- <para>el sistema cifrado de ficheros debería ser visible
- para &man.df.1; y estar listo para su uso.</para>
-
- <screen>&prompt.user; <userinput>df -H</userinput>
-Filesystem Size Used Avail Capacity Mounted on
-/dev/ad0s1a 1037M 72M 883M 8% /
-/devfs 1.0K 1.0K 0B 100% /dev
-/dev/ad0s1f 8.1G 55K 7.5G 0% /home
-/dev/ad0s1e 1037M 1.1M 953M 0% /tmp
-/dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr
-/dev/ad4s1c.bde 150G 4.1K 138G 0% /private</screen>
- </step>
- </procedure>
- </sect2>
-
- <sect2>
- <title>Montaje de sistemas cifrados de ficheros</title>
-
- <para>Todos los sistemas cifrados de ficheros deben reconectarse al
- kernel después de cada arranque. Además, antes de
- poder utilizarlo debe revisarlo por si contuviera errores y montarlo.
- Todo el proceso debe ser ejecutado por el usuario
- <systemitem class="username">root</systemitem>.</para>
-
- <procedure>
- <step>
- <title>Conectar la partición gbde al kernel</title>
-
- <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c</userinput></screen>
-
- <para>Se le pedirá la contraseña que
- elijió en la inicialización
- de la partición cifrada gbde.</para>
- </step>
-
- <step>
- <title>Revisión de errores en el sistema de ficheros</title>
-
- <para>Como que los sistemas cifrados de ficheros no pueden
- aparecer en <filename>/etc/fstab</filename> (lo que haría
- que fueran montados automáticamente), los sistemas
- de ficheros deben revisarse manualmente mediante &man.fsck.8;
- antes de montarlos.</para>
-
- <screen>&prompt.root; <userinput>fsck -p -t ffs /dev/ad4s1c.bde</userinput></screen>
- </step>
-
- <step>
- <title>Montar los sistemas cifrados de ficheros</title>
-
- <screen>&prompt.root; <userinput>mount /dev/ad4s1c.bde /private</userinput></screen>
-
- <para>El sistema cifrado de ficheros está listo para su
- uso.</para>
- </step>
- </procedure>
-
- <sect3>
- <title>Montar automáticamente particiones cifradas</title>
-
- <para>Es posible usar un <quote>script</quote> para automatizar
- la conexión, revisión y el montaje de una
- partición cifrada, pero por razones de seguridad el
- <quote>script</quote> no debe contener la
- contraseña de &man.gbde.8;. Se recomienda
- ejecutar esos <quote>scripts</quote> se ejecuten de forma manual
- proporcionando la contraseña vía consola o
- &man.ssh.1;.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Protección criptográfica que usa gbde</title>
-
- <para>&man.gbde.8; cifra el XXX sector payload usando AES de 128 bits
- en modo CBC. Cada sector en el disco se cifra con una clave
- AES diferente. Para más información sobre el
- diseño criptográfico de
- <application>gbde</application>, incluyendo cómo se
- derivan las claves de sector a partir de la contraseña
- consulte &man.gbde.4;.</para>
- </sect2>
-
- <sect2>
- <title>Problemas de compatibilidad</title>
-
- <para>&man.sysinstall.8; es incompatible con dispositivos
- <application>gbde</application> cifrados. Todos los
- dispositivos <filename>*.bde</filename>
- deben desconectarse del kernel antes de iniciar
- &man.sysinstall.8; o se <quote>congelará</quote> durante
- la prueba inicial de dispositivos. Para desconectar el
- el dispositivo cifrado de nuestro ejemplo haga lo siguiente:
- </para>
-
- <screen>&prompt.root; <userinput>gbde detach /dev/ad4s1c</userinput></screen>
-
- <para>Tenga en cuenta también que, como &man.vinum.4; no
- utiliza el subsistema &man.geom.4;, no es posible usar
- <application>gbde</application> en volúmenes
- <application>vinum</application>.</para>
- </sect2>
-
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/eresources/chapter.xml b/es_ES.ISO8859-1/books/handbook/eresources/chapter.xml
deleted file mode 100755
index 7097d0dfda..0000000000
--- a/es_ES.ISO8859-1/books/handbook/eresources/chapter.xml
+++ /dev/null
@@ -1,1700 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/eresources/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
--->
-<appendix xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="eresources">
- <title>Recursos en Internet</title>
-
- <para>La velocidad del desarrollo de &os; hace imposible el uso de
- medios impresos como forma de seguir los últimos desarrollos.
- Los recursos
- electrónicos son la mejor, y con frecuencia la única,
- manera de estar
- informados de los últimos avances. Dado que &os; es sacado adelante
- mediante el trabajo de voluntarios la propia comunidad de usuarios
- suele ejercer las funciones de lo que sería un
- <quote>departamento de soporte técnico</quote>,
- siendo el correo electrónico y USENET la manera más efectiva
- de contactar con esa comunidad.</para>
-
- <para>Las formas de contacto con la comunidad de usuarios de &os; están
- detalladas a continuación. Si usted sabe de algún otro medio que no figure
- aquí envíelo por favor a &a.doc;para que pueda ser incluída.</para>
-
-
- <sect1 xml:id="eresources-mail">
- <title>Listas de correo</title>
-
- <para>Aunque la práctica totalidad de los desarrolladores de &os;
- léen USENET no podemos garantizar de modo rotundo que recibiremos
- sus dudas rápidamente (o siquiera que las recibamos) si usted las
- envía a uno de los grupos de <literal>comp.unix.bsd.freebsd.*</literal>.
- Enviando sus dudas a la lista de correo apropiada cumplirá dos objetivos,
- llegar a los desarrolladores y a una audiencia específica, lo que le
- asegurará la mejor (o al menos la más rápida) respuesta.</para>
-
- <para>Las normas de las diversas listas están al principio de éste
- documento. <emphasis>Por favor, léa las normas antes de suscribirse
- o enviar correo a ninguna lista</emphasis>. Muchos suscriptores de
- nuestras listas reciben varios cientos de mensajes relacionados con
- &os; cada día y estableciendo las normas de uso de las listas
- intentamos mantener alto el interés de los mensajes que en ella
- circulan. Bajarlo haría fallar a las listas de correo como un
- medio de comunicación efectivo para el proyecto.</para>
-
- <para>Todas las listas de correo son archivadas y se pueden hacer búsquedas
- en ellas desde el servidor WWW de &os; usando
- <link xlink:href="../../../../search/index.html">éste enlace</link>.
- El archivo ofrece la posibilidad de usar palabras clave, lo que lo
- convierte en una excelente manera de buscar respuestas a preguntas
- frecuentes y debería ser consultado antes de enviar ninguna duda.</para>
-
- <sect2 xml:id="eresources-summary">
- <title>Índice de listas</title>
-
- <para><emphasis>Listas generales:</emphasis>Las siguientes son listas
- generales de suscripción libre (y muy recomendable):</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Lista</entry>
- <entry>Propósito</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>cvs-all</entry>
- <entry>Cambios realizados en el árbol de código de FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-advocacy</entry>
- <entry>Proselitismo de FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-announce</entry>
- <entry>Sucesos importantes e hitos del proyecto</entry>
- </row>
-
- <row>
- <entry>freebsd-arch</entry>
- <entry>Debates de arquitectura y diseños</entry>
- </row>
-
- <row>
- <entry>freebsd-bugs</entry>
- <entry>Informes de errores</entry>
- </row>
-
- <row>
- <entry>freebsd-chat</entry>
- <entry>Temas no técnicos relacionados con la
- comunidad FreeBSD.</entry>
- </row>
-
- <row>
- <entry>freebsd-config</entry>
- <entry>Desarrollo de herramientas de instalación
- y configuración de FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-current</entry>
- <entry>Debates acerca del uso de
- FreeBSD-current</entry>
- </row>
-
- <row>
- <entry>freebsd-isp</entry>
- <entry>Consultas de Proveedores de Servicios de
- Internet que usan FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-jobs</entry>
- <entry>Oportunidades de trabajo y consultoría
- bajo FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-newbies</entry>
- <entry>Actividades y discusiones de nuevos usuarios
- de FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-policy</entry>
- <entry>Decisiones estratégicas del Core Team
- de FreeBSD. Bajo volumen y
- sólo lectura</entry>
- </row>
-
- <row>
- <entry>freebsd-questions</entry>
- <entry>Preguntas de usuarios y soporte
- técnico</entry>
- </row>
-
- <row>
- <entry>freebsd-stable</entry>
- <entry>Debates acerca del uso de
- FreeBSD-stable</entry>
- </row>
-
- <row>
- <entry>freebsd-test</entry>
- <entry>Un sitio al que mandar sus mensajes de prueba en
- lugar de a una de las demás listas</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para><emphasis>Listas Técnicas:</emphasis> Las siguientes listas
- son para debates técnicos. Debería leer cuidadosamente las normas
- de cada lista antes de suscribirse o enviar correos, dado que hay
- normas estrictas en cuanto a su uso y contenidos.</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Lista</entry>
- <entry>Propósito</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>freebsd-afs</entry>
- <entry>Porte de AFS a FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-alpha</entry>
- <entry>Porte FreeBSD a Alpha</entry>
- </row>
-
- <row>
- <entry>freebsd-arm</entry>
- <entry>Porte de FreeBSD para procesadores ARM</entry>
- </row>
-
- <row>
- <entry>freebsd-atm</entry>
- <entry>Uso de redes ATM con FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-audit</entry>
- <entry>Proyecto de auditoría del código fuente</entry>
- </row>
-
- <row>
- <entry>freebsd-binup</entry>
- <entry>Diseño y desarrollo del sistema de actualización binaria</entry>
- </row>
-
- <row>
- <entry>freebsd-cluster</entry>
- <entry>Uso de FreeBSD en entornos cluster</entry>
- </row>
-
- <row>
- <entry>freebsd-database</entry>
- <entry>Debates sobre uso de bases de datos y su
- desarrollo bajo FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-doc</entry>
- <entry>Creación de documentación sobre FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-emulation</entry>
- <entry>Emulación de otros sistemas como
- Linux/DOS/Windows</entry>
- </row>
-
- <row>
- <entry>freebsd-firewire</entry>
- <entry>Debates técnicos sobre Firewire
- (iLink, IEEE 1394)</entry>
- </row>
-
- <row>
- <entry>freebsd-fs</entry>
- <entry>Sistemas de ficheros</entry>
- </row>
-
- <row>
- <entry>freebsd-hackers</entry>
- <entry>Debates técnicos generales</entry>
- </row>
-
- <row>
- <entry>freebsd-hardware</entry>
- <entry>Debates generales sobre harware y su uso en
- FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-i18n</entry>
- <entry>Internacionalización de FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-ia64</entry>
- <entry>Porte de FreeBSD a los próximos sistemas IA64 de
- Intel</entry>
- </row>
-
- <row>
- <entry>freebsd-ipfw</entry>
- <entry>Debates técnicos sobre el rediseño del código
- del cortafuegos IP</entry>
- </row>
-
- <row>
- <entry>freebsd-isdn</entry>
- <entry>Desarrolladores de RDSI</entry>
- </row>
-
- <row>
- <entry>freebsd-java</entry>
- <entry>Desarrolladores de Java y personas portando
- los JDK a FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-libh</entry>
- <entry>La segunda generación del sistema de instalación
- y paquetes</entry>
- </row>
-
- <row>
- <entry>freebsd-mobile</entry>
- <entry>Debates sobre equipos portátiles</entry>
- </row>
-
- <row>
- <entry>freebsd-mozilla</entry>
- <entry>Porte de mozilla a FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-multimedia</entry>
- <entry>Aplicaciones multimedia</entry>
- </row>
-
- <row>
- <entry>freebsd-new-bus</entry>
- <entry>Debates técnicos sobre la arquitectura de bus</entry>
- </row>
-
- <row>
- <entry>freebsd-net</entry>
- <entry>Debates sobre el código fuente de Redes y TCP/IP</entry>
- </row>
-
- <row>
- <entry>freebsd-platforms</entry>
- <entry>Específica sobre plataformas de arquitectura
- no Intel</entry>
- </row>
-
- <row>
- <entry>freebsd-ports</entry>
- <entry>Debates sobre la colección de ports</entry>
- </row>
-
- <row>
- <entry>freebsd-ppc</entry>
- <entry>Porte de FreeBSD a PowerPC</entry>
- </row>
-
- <row>
- <entry>freebsd-qa</entry>
- <entry>Debates sobre Control de Calidad,
- generalmente al salir una nueva release</entry>
- </row>
-
- <row>
- <entry>freebsd-realtime</entry>
- <entry>Desarrollo de extensiones en
- tiempo real en FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-scsi</entry>
- <entry>El subsistema SCSI</entry>
- </row>
-
- <row>
- <entry>freebsd-security</entry>
- <entry>Temas de seguridad</entry>
- </row>
-
- <row>
- <entry>freebsd-security-notifications</entry>
- <entry>Avisos de seguridad</entry>
- </row>
-
- <row>
- <entry>freebsd-small</entry>
- <entry>Uso de FreeBSD en aplicaciones
- embebidas</entry>
- </row>
-
- <row>
- <entry>freebsd-smp</entry>
- <entry>Debates sobre diseño de Multiproceso
- [A]Simétrico</entry>
- </row>
-
- <row>
- <entry>freebsd-sparc</entry>
- <entry>Porte de FreeBSD a sistemas Sparc</entry>
- </row>
-
- <row>
- <entry>freebsd-standards</entry>
- <entry>Cumplimiento de las normas C99 y POSIX
- en FreeBSD</entry>
- </row>
-
- <row>
- <entry>freebsd-tokenring</entry>
- <entry>Soporte de Token Ring en FreeBSD</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para><emphasis>Listas limitadas:</emphasis>Las siguientes listas son
- para una audiencia más especializada (e interesada)y probablemente no
- son de interés para el público en general. Es una buena idea tener una
- presencia estable en las listas técnicas antes de suscribirse a alguna
- de las limitadas, de modo que se pueda entender la etiqueta de
- la comunicación que en ellas se usa.</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Lista</entry>
- <entry>Propósito</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>freebsd-core</entry>
- <entry>FreeBSD Core Team</entry>
- </row>
-
- <row>
- <entry>freebsd-hubs</entry>
- <entry>Mantenimiento de mirrors (mantenimiento
- de infraestructuras)</entry>
- </row>
-
- <row>
- <entry>freebsd-install</entry>
- <entry>Desarrollo de la Instalación</entry>
- </row>
-
- <row>
- <entry>freebsd-user-groups</entry>
- <entry>Coordinación de grupos de usuarios</entry>
- </row>
-
- <row>
- <entry>freebsd-www</entry>
- <entry>Mantenimiento de <link xlink:href="../../../../index.html">www.FreeBSD.org</link></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para><emphasis>Listas Compendio:</emphasis>La mayoría de las listas citadas
- son accesibles como compendio. Los nuevos mensajes enviados a la lista
- son guardados y enviados como un único correo cuando el archivo llega
- a un tamaño cercano a los 100 Kb. Las listas accesibles como compendio
- son:</para>
-
- <informaltable frame="none">
- <tgroup cols="1">
- <thead>
- <row>
- <entry>Lista</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>freebsd-afs-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-alpha-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-chat-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-current-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-cvs-all-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-database-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-hackers-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-ia64-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-isdn-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-java-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-questions-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-security-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-sparc-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-stable-digest</entry>
- </row>
-
- <row>
- <entry>freebsd-test-digest</entry>
- </row>
-
- </tbody>
- </tgroup>
- </informaltable>
-
-<para><emphasis>Listas CVS:</emphasis>Las siguientes listas son para gente
- interesada en llevar un seguimiento de los mensajes en el registro
- para conocer los cambios hechos en las diferentes áreas del
- árbol de código fuente. Son listas <emphasis>de sólo lectura</emphasis>
- y no se debe enviar correo a ellas.</para>
-
- <informaltable frame="none">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Lista</entry>
- <entry>Área de código</entry>
- <entry>Descripción de área de código (código fuente)</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>cvs-all</entry>
- <entry>/usr/src</entry>
- <entry>Todos los cambios al árbol de código (superconjunto)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
-
- <sect2 xml:id="eresources-subscribe">
- <title>Cómo suscribirse</title>
-
- <para>Todas las listas de correo están en <systemitem class="fqdomainname">FreeBSD.org</systemitem>, de manera que para enviar correo
- a la lista <quote>nombredelista</quote> simplemente hay que escribir
- a &lt;<replaceable>nombredelista</replaceable>@FreeBSD.org&gt;.
- Desde ahí será redistribuído a los miembros de la lista de correo a
- lo largo y ancho del mundo.</para>
-
- <para>Para suscribirse a una lista envíe un correo a &a.majordomo;
- incluyendo <programlisting>subscribe &lt;listname&gt; [&lt;optional address&gt;]</programlisting>
- en el cuerpo del mensaje. Por ejemplo, para suscribirse a
- <literal>freebsd-announce</literal> usted haría esto:</para>
-
- <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.org</userinput>
-subscribe freebsd-announce
-^D</screen>
-
- <para>Si quisiera suscribirse bajo otro nombre o enviar una petición
- de suscripción para una lista de correo local (un sistema muy eficiente
- si dispone de varias personas interesadas que tengan cuentas de correo
- en un mismo servidor ¡esto nos facilita mucho el trabajo!) ésto
- es lo que debe hacer:</para>
-
- <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.org</userinput>
-subscribe freebsd-announce local-announce@ejemplo.com
-^D</screen>
-
- <para>Por último, también es posible desuscribirse
- de una lista, obtener una lista de los suscriptores de una lista u
- obtener una lista de las listas de correo disponibles enviando
- otro tipo de mensajes de control a majordomo. Para obtener una lista
- completa de las órdenes disponibles haga esto:</para>
-
- <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.org</userinput>
-help
-^D</screen>
-
- <para>De nuevo quisiéramos pedirle que procure mantener
- los debates de las listas técnicas dentro de temas técnicos. Si lo
- único que usted quiere es recibir avisos importantes le
- sugerimos que se suscriba a freebsd-announce, que está
- pensada para tener un tráfico muy bajo.</para>
- </sect2>
-
- <sect2 xml:id="eresources-charters">
- <title>Normas de las listas</title>
-
- <para><emphasis>Todas</emphasis> las listas de correo de FreeBSD tienen
- ciertas normas elementales que han de ser respetadas por cualquiera
- que las use. Quien no se atenga a ellas recibirá hasta dos (2)
- advertencias escritas del Postmaster de FreeBSD <email>postmaster@FreeBSD.org</email>,
- después de las cuales, a la tercera falta, el suscriptor será
- borrado de todas las listas de correo de FreeBSD y filtrado
- para evitar futuros envíos. Lamentamos que esas normas y medidas
- sean necesarias, pero la Internet de hoy es, según parece,
- un entorno bastante conflictivo, y mucha gente no se
- da cuenta de cuán frágiles son algunos de sus mecanismos.</para>
-
- <para>Normas a respetar:</para>
-
- <itemizedlist>
- <listitem>
- <para>El tema de cualquier envío debe atenerse al fin básico
- de la lista a la que se escribe, esto es, si la lista es sobre
- temas de debate técnico sus envíos deberían versar
- sobre temas técnicos. Enviar mensajes irrelevantes o insultos
- sólo sirve para deteriorar el valor de la lista de correo para
- sus miembros y no será tolerado. Para discusiones libres sin un
- tema en particular está la lista de correo freebsd-chat
- <email>freebsd-chat@FreeBSD.org</email>, que es libremente accesible
- y hecha para éste propósito.</para>
- </listitem>
-
- <listitem>
- <para>No se debería enviar el mismo mensaje a más de dos listas,
- y sólamente a 2 cuando exista una necesidad manifiesta de escribir
- a ambas listas. Hay una gran cantidad de personas suscritas a más
- de una lista y excepto para las mezclas más esotéricas (digamos
- "-stable &amp; -scsi") no hay razón para enviar un mensaje a
- más de una lista al mismo tiempo. Si le envían un mensaje en
- el que aparecen múltiples listas de correo en la línea "Cc"
- de la cabecera, dicha línea debe ser recortada
- antes de que envíe una respuesta. <emphasis>Usted es el
- <emphasis>responsable</emphasis> de sus propios envíos
- cruzados, independientemente de quién fuese el
- remitente original.</emphasis></para>
- </listitem>
-
-
- <listitem>
- <para>No están admitidos los ataques personales ni la blasfemia
- (dentro del contexto o como argumento) y eso incluye tanto a
- usuarios como a desarrolladores. Violaciones graves de la
- netiqueta, como reenviar o extractar mensajes privados
- sin permiso ni visos de tenerlo, está mal visto, aunque no
- prohibido específicamente. Sin embargo, hay pocos casos
- en los que algo así encaje en la temática de una lista,
- por lo cual lo más probable es recibir una advertencia
- (o ser expulsado) tan sólo a causa de ello.</para>
- </listitem>
-
- <listitem>
- <para>El anuncio de productos o servicios no relacionados con
- FreeBSD están estrictamente prohibidas y conllevarán
- la inmediata expulsión de la lista si queda demostrado
- que el autor está practicando el <quote>spam</quote>
- o envío de correo no solicitado.</para>
- </listitem>
- </itemizedlist>
-
- <para><emphasis>Normas de las listas individuales:</emphasis></para>
-
- <variablelist>
- <varlistentry>
- <term>FREEBSD-AFS</term>
-
- <listitem>
- <para><emphasis>Sistema de Ficheros Andrew</emphasis></para>
-
- <para>Ésta lista es para debates sobre el porte y uso de AFS, de
- CMU/Transarc</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-ANNOUNCE</term>
-
- <listitem>
- <para><emphasis>Sucesos importantes / hitos</emphasis></para>
-
- <para>Ésta es la lista de correo para gente interesada
- en recibir exclusivamente avisos de sucesos importantes dentro
- de FreeBSD. Ésto incluye anuncios sobre SNAPSHOTS y otras
- versiones. Puede incluír también peticiones de voluntarios, etc.
- Es una lista de bajo volumen y estrictamente moderada.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-ARCH</term>
-
- <listitem>
- <para><emphasis>Debates sobre arquitectura
- y diseño</emphasis></para>
-
- <para>Ésta lista es para debates sobre
- la arquitectura de FreeBSD. Los mensajes deberían
- mantenerse dentro del ámbito técnico
- para el que fué creada la lista. Serían
- ejemplos de temas aptos para ésta lista:</para>
-
- <itemizedlist>
- <listitem>
- <para>Como reorganizar el sistema de construcción
- ("build") para poder tener varios procesos de
- construcción personalizados funcionando simultáneamente.</para>
- </listitem>
-
- <listitem>
- <para>Qué se necesita arreglar en el VFS para que funcionen
- las capas de Heidemann.</para>
- </listitem>
-
- <listitem>
- <para>Cómo cambiar el dispositivo de control de
- interfaces para que sea posible utilizar los
- mismos controladores directamente en la mayoría
- de los buses y arquitecturas.</para>
- </listitem>
-
- <listitem>
- <para>Cómo escribir un controlador de red.</para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-AUDIT</term>
-
- <listitem>
- <para><emphasis>Proyecto de auditoría
- del código fuente</emphasis></para>
-
- <para>Ésta es la lista de correo del proyecto
- de auditoría del código fuente
- de FreeBSD. Aunque en principio fué puesta
- en marcha para cambios motivados por la seguridad su
- ámbito fué ampliado a la revisión de cualquier
- cambio en el código.</para>
-
- <para>En ésta lista circula una gran cantidad de
- parches y probablemente no sea de interés para el
- típico usuario de FreeBSD. Las discusiones de
- seguridad que no estén relacionadas con una parte
- específica del código deben tener lugar en
- freebsd-security. Por otra parte se ruega a todos
- los desarrolladores que envíen sus parches
- a ésta lista para su revisión, especialmente
- si atañen a una parte del sistema donde un error
- pudiera afectar seriamente a la integridad del sistema.</para>
-
-<!-- No sé si ésta es la lista adecuada pero aquí va éste correo: http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=223347+225804+/usr/local/www/db/text/2000/cvs-all/20001210.cvs-all -->
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-BINUP</term>
-
- <listitem>
- <para><emphasis>Proyecto de Actualización Binaria de FreeBSD</emphasis></para>
-
- <para>Ésta lista existe para facilitar el
- debate sobre el sistema de actualizacion binaria
- o <application>binup</application>.
- Características de diseño, detalles de implementación,
- parches, informes de error, informes de estado, peticiones
- de características, <quote>commit logs</quote> y en general todo lo
- relacionado con <application>binup</application> es
- bienvenido.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-BUGS</term>
-
- <listitem>
- <para><emphasis>Informe de errores</emphasis></para>
-
- <para>Ésta es la lista de correo para informar de
- errores en FreeBSD. Siempre que sea posible los
- errores deberían ser enviados mediante
- &man.send-pr.1;
- o el <link xlink:href="../../../../send-pr.html">interfaz
- WEB</link></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-CHAT</term>
-
- <listitem>
- <para><emphasis>Temas no técnicos relacionados
- con la comunidad FreeBSD</emphasis></para>
-
- <para>Ésta lista contiene todos los mensajes
- sobre información no técnica y social,
- contenidos que no tienen cabida en las demás listas.
- Eso incluye discusiones sobre si
- Julio Iglesias parece una gárgola,
- sobre si escribir o no en mayúsculas, quién
- está bebiendo demasiado café,
- dónde se elabora la mejor cerveza,
- quién está fabricando
- cerveza en su sótano y así
- sucesivamente.
- Pueden hacerse anuncios sobre actos importantes (como
- próximas fiestas, congresos, bodas, nacimientos,
- nuevos trabajos, etc.), pero las respuestas deben
- ser dirigidas a ésta misma lista.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-CORE</term>
-
- <listitem>
- <para><emphasis>FreeBSD Core Team</emphasis></para>
-
- <para>Ésta es la lista de correo interna para uso de
- los miembros del Core Team. Los mensajes pueden
- ser enviados a ésta lista cuando un problema serio
- relacionado con FreeBSD necesite un estudio o arbitraje
- de alto nivel.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-CURRENT</term>
-
- <listitem>
- <para><emphasis>Debates sobre el uso de
- FreeBSD-current</emphasis></para>
-
- <para>Ésta es la lista de correo para usuarios de freebsd-current.
- Esto incluye advertencias sobre nuevas características
- a ser incluídas en -current que afecten a todos los
- usuarios e instrucciones paso por paso que deben ser seguidas
- para mantener una instalación -current. Cualquier usuario de
- <quote>current</quote> debería suscribirse a
- ésta lista. Ésta es una lista de correo técnica
- en la que se esperan contenidos estrictamente técnicos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-CURRENT-DIGEST</term>
-
- <listitem>
- <para><emphasis>Debates sobre el uso de
- FreeBSD-current</emphasis></para>
-
- <para>Éste es el compendio de la lista
- freebsd-current. Consiste en que todos los mensajes
- enviados a freebsd-current son empaquetados y enviados
- periódicamente como un solo mensaje. Ésta lista es de
- <emphasis>Sólo-Lectura</emphasis> y no debería
- recibir correo.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-DOC</term>
-
- <listitem>
- <para><emphasis>Proyecto de Documentación</emphasis></para>
-
- <para>Ésta lista de correo está destinada a
- discusiones relacionadas con cuestiones y proyectos
- relacionados con la creación de documentación
- de FreeBSD. Los miembros de ésta lista son llamados
- <quote>El Proyecto de Documentación de FreeBSD</quote>.
- La lista es abierta; ¡suscríbase y contribuya!.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-FIREWIRE</term>
-
- <listitem>
- <para><emphasis>Firewire (iLink, IEEE 1394)</emphasis></para>
-
- <para>Ésta lista de correo es para debates sobre
- diseño e implementación del subsistema
- Firewire(también conocido como IEEE
- o iLink) en FreeBSD. Los temas incluyen de modo
- específico los <quote>standards</quote>, dispositivos
- de bus y sus protocolos, adaptación de placas
- base, tarjetas y chips y la arquitectura e
- implementación de código para soporte nativo.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-FS</term>
-
- <listitem>
- <para><emphasis>Sistemas de ficheros</emphasis></para>
-
- <para>Debates acerca del sistema de ficheros de FreeBSD.
- Ésta es una lista de correo técnica en la que se espera
- un contenido estríctamente técnico.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-GNOME</term>
-
- <listitem>
- <para><emphasis>GNOME</emphasis></para>
-
- <para>Debates acerca del Entorno de Escritorio GNOME
- para sistemas de ficheros FreeBSD. Ésta es una lista
- de correo técnica en la que se espera un contenido
- estrictamente técnico.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-IPFW</term>
-
- <listitem>
- <para><emphasis>Cortafuegos IP</emphasis></para>
-
- <para>Éste es el foro de discusión técnica
- dedicado al rediseño del código del cortafuegos IP
- de FreeBSD. Ésta es una lista de correo técnica
- en la que se espera un contenido exclusivamente técnico.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-IA64</term>
-
- <listitem>
- <para><emphasis>Porte de FreeBSD a IA64</emphasis></para>
-
- <para>Ésta es una lista de correo técnica para
- personas que están trabajando en el porte de
- FreeBSD a la plataforma IA-64 de Intel, para
- intercambiar problemas y soluciones alternativas.
- Cualquier persona interesada en seguir las discusiones
- técnicas es bienvenida.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-ISDN</term>
-
- <listitem>
- <para><emphasis>Comunicaciones RDSI</emphasis></para>
-
- <para>Ésta es la lista de correo para quienes participan
- en el desarrollo del soporte RDSI para FreeBSD.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-JAVA</term>
-
- <listitem>
- <para><emphasis>Desarrollo Java</emphasis></para>
-
- <para>Ésta es la lista de correo sobre el desarrollo
- de aplicaciones Java importantes para FreeBSD y el
- porte y mantenimiento de los JDK.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-HACKERS</term>
-
- <listitem>
- <para><emphasis>Debates técnicos</emphasis></para>
-
- <para>Éste es un foro de debate técnico
- relacionado con FreeBSD. Ésta es la lista de correo
- técnica primaria. Es para personas que están
- trabajando en FreeBSD, solucionando problemas o
- para discutir soluciones alternativas. Las personas
- interesadas en seguir las discusiones técnicas
- también son bienvenidas. Ésta es una lista de
- correo técnica en la cual se espera un contenido
- estrictamente técnico.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-HACKERS-DIGEST</term>
-
- <listitem>
- <para><emphasis>Technical discussions</emphasis></para>
-
- <para>Éste es el compendio de la lista de correo
- freebsd-hackers. Consiste en que todo el correo enviado
- a freebsd-hackers es empaquetado y enviado en un
- sólo mensaje. Ésta lista es de <emphasis>Sólo Lectura</emphasis>
- y no se debería enviar correo a ella.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-HARDWARE</term>
-
- <listitem>
- <para><emphasis>Discusiones generales sobre hardware
- y FreeBSD</emphasis></para>
-
- <para>Discusiones generales sobre tipos de hardware
- que funciona en FreeBSD, diferentes problemas y
- sugerencias sobre qué comprar y
- qué no.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-HUBS</term>
-
- <listitem>
- <para><emphasis>Réplicas</emphasis></para>
-
- <para>Avisos y discusiones para personas que administran
- sitios réplica.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-INSTALL</term>
-
- <listitem>
- <para><emphasis>Discusiones sobre
- la instalación</emphasis></para>
-
- <para>Ésta lista de correo es para discusiones sobre
- el desarrollo de la instalación de FreeBSD en
- próximas versiones.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-ISP</term>
-
- <listitem>
- <para><emphasis>Cuestiones de Proveedores
- de Servicios de Internet</emphasis></para>
-
- <para>Ésta lista de correo es para debates
- sobre temas relevantes para Proveedores de Servicios
- de Internet (ISP) que usan FreeBSD. Es una lista de
- correo técnica y en ella se esperan contenidos
- estríctamente técnicos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-NEWBIES</term>
-
- <listitem>
- <para><emphasis>Debates sobre actividades de los
- novatos</emphasis></para>
-
- <para>Cubrimos todas las actividades de los novatos que
- no quedan cubiertas por ninguna de las otras, incluyendo:
- aprendizaje autodidacta y técnicas de
- resolución de problemas, búsqueda y uso
- de recursos y peticiones de ayuda, cómo usar
- las listas de correo y qué lista usar,
- charla en general, meter la pata, jactarse,
- compartir ideas, historias, soporte moral (pero no
- técnico) e implicación en la comunidad FreeBSD.
- Usamos freebsd-questions para enviar nuestros problemas
- y peticiones de soporte y usamos freebsd-newbies para
- conocer a gente que está haciendo lo mismo que
- nosotros cuando éramos novatos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-PLATFORMS</term>
-
- <listitem>
- <para><emphasis>Porte a plataformas no Intel</emphasis></para>
-
- <para>Cuestiones sobre plataformas diversas, debates
- generales, y propuestas para portes de FreeBSD para
- plataformas no Intel. Es una lista de correo técnica
- y en ella se esperan contenidos estríctamente
- técnicos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-POLICY</term>
-
- <listitem>
- <para><emphasis>Decisiones de funcionamiento
- interno del Core Team</emphasis></para>
-
- <para>Es una lista de sólo lectura y bajo volumen destinada
- a la toma de decisiones de funcionamento interno del Core
- Team de FreeBSD.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-PORTS</term>
-
- <listitem>
- <para><emphasis>Debates sobre <quote>ports</quote></emphasis></para>
-
- <para>Debates acerca de la <quote>colección de ports</quote>
- (<filename>/usr/ports</filename>)de FreeBSD, propuestas de
- aplicaciones a portar, modificaciones a la infraestructura
- de ports y coordinación general de esfuerzos.
- Ésta es una lista de correo técnica en la cual se
- esperan contenidos exclusivamente técnicos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-QUESTIONS</term>
-
- <listitem>
- <para><emphasis>Preguntas de los usuarios</emphasis></para>
-
- <para>Ésta es la lista de correo para preguntas sobre
- FreeBSD. No debería enviar preguntas del estilo de
- <quote>cómo hacer</quote> a las listas técnicas salvo
- que el contenido sea claramente técnico.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-QUESTIONS-DIGEST</term>
-
- <listitem>
- <para><emphasis>Preguntas de los usuarios</emphasis></para>
-
- <para>Éste es el compendio de la lista de correo
- freebsd-questions. Consiste en que todos los mensajes
- enviados a freebsd-questions son empaquetados y enviados
- en un único mensaje.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-SCSI</term>
-
- <listitem>
- <para><emphasis>Subsistema SCSI</emphasis></para>
-
- <para>Ésta es la lista de correo para la gente que
- está trabajando en el subsistema SCSI de FREEBSD.
- Ésta es una lista de correo técnica en la cual
- se esperan contenidos puramente técnicos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-SECURITY</term>
-
- <listitem>
- <para><emphasis>Cuestiones de seguridad</emphasis></para>
-
- <para>Cuestiones de seguridad informática (DES,
- Kerberos, problemas de seguridad conocidos y sus
- soluciones, etc.) Ésta es una lista de correo
- técnica en la que se esperan contenidos puramente
- técnicos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-SECURITY-NOTIFICATIONS</term>
-
- <listitem>
- <para><emphasis>Avisos de seguridad</emphasis></para>
-
- <para>Avisos de problemas de seguridad en FreeBSD y
- sus soluciones. Ésta no es una lista de discusión.
- La lista de discusión es freebsd-security.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-SMALL</term>
-
- <listitem>
- <para><emphasis>Uso de FreeBSD en
- aplicaciones embebidas</emphasis></para>
-
- <para>En ésta lista se debaten temas relacionados con
- instalaciones de FreeBSD inusualmente pequeñas
- y embebidas. Ésta es una lista de correo técnica
- en la cual se esperan contenidos estrictamente
- técnicos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-STABLE</term>
-
- <listitem>
- <para><emphasis>Debates sobre el uso de
- FreeBSD-stable</emphasis></para>
-
- <para>Ésta es la lista de correo para los usuarios de
- freebsd-stable. Incluye avisos sobre nuevas
- características a incluír en -stable que afectan
- a los usuarios e instrucciones paso por paso para
- permanecer usando la versión -stable. Cualquiera que
- utilice FreeBSD <quote>stable</quote> debería
- suscribirse a ésta lista. Ésta es una lista
- técnica en la que se esperan contenidos
- puramente técnicos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-STANDARDS</term>
-
- <listitem>
- <para><emphasis>Cumplimiento de C99 &amp; POSIX</emphasis></para>
-
- <para>Éste es el foro para debates técnicos
- relacionadas con el Cumplimiento de las normas C99 y
- POSIX en FreeBSD.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-USER-GROUPS</term>
-
- <listitem>
- <para><emphasis>Lista de coordinación de
- de grupos de usuarios</emphasis></para>
-
- <para>Ésta es la lista de correo de los coordinadores de
- los grupos locales de usuarios para discutir cuestiones
- entre ellos o con personas elegidas del Core Team.
- Ésta lista de correo debería estar limitada a
- resúmenes de reuniones y coordinación de proyectos
- que atañen a los Grupos de Usuarios.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FREEBSD-VENDORS</term>
-
- <listitem>
- <para><emphasis>VENDORS</emphasis></para>
-
- <para>Debates para la coordinación entre
- el Proyecto FreeBSD y Distribuidores de software y
- hardware para FreeBSD.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
- </sect2>
- </sect1>
-
- <sect1 xml:id="eresources-news">
- <title>Grupos de noticias de Usenet</title>
-
- <para>Además de los dos grupos de noticias específicos
- de FreeBSD hay muchos otros en los cuales se habla sobre
- FreeBSD o son de algún modo interesantes para usuarios
- de FreeBSD.Hay un <link xlink:href="http://minnie.tuhs.org/BSD-info/bsdnews_search.html">archivo
- donde hacer búsquedas</link> donde pueden encontrarse
- algunos de esos grupos de noticias por cortesía
- de Warren Toomey <email>wkt@cs.adfa.edu.au</email>.</para>
-
- <sect2>
- <title>Grupos de noticias específicos sobre BSD</title>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="news:comp.unix.bsd.freebsd.announce">comp.unix.bsd.freebsd.announce</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</link></para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Otros grupos de noticias interesantes sobre Unix</title>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="news:comp.unix">comp.unix</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.unix.questions">comp.unix.questions</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.unix.admin">comp.unix.admin</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.unix.programmer">comp.unix.programmer</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.unix.shell">comp.unix.shell</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.unix.user-friendly">comp.unix.user-friendly</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.security.unix">comp.security.unix</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.sources.unix">comp.sources.unix</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.unix.advocacy">comp.unix.advocacy</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.unix.misc">comp.unix.misc</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.bugs.4bsd">comp.bugs.4bsd</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.bugs.4bsd.ucb-fixes">comp.bugs.4bsd.ucb-fixes</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.unix.bsd">comp.unix.bsd</link></para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Sistema X Window</title>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="news:comp.windows.x.i386unix">comp.windows.x.i386unix</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.windows.x">comp.windows.x</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.windows.x.apps">comp.windows.x.apps</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.windows.x.announce">comp.windows.x.announce</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.windows.x.intrinsics">comp.windows.x.intrinsics</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.windows.x.motif">comp.windows.x.motif</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.windows.x.pex">comp.windows.x.pex</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="news:comp.emulators.ms-windows.wine">comp.emulators.ms-windows.wine</link></para>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
-
- <sect1 xml:id="eresources-web">
- <title>Servidores WWW</title>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="../../../../index.html">http://www.FreeBSD.org/</link>
- &mdash; Servidor Central.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.au.FreeBSD.org/">http://www.au.FreeBSD.org/</link> &mdash; Australia/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.au.FreeBSD.org/">http://www2.au.FreeBSD.org/</link> &mdash; Australia/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www3.au.FreeBSD.org/">http://www3.au.FreeBSD.org/</link> &mdash; Australia/3.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://freebsd.itworks.com.au/">http://freebsd.itworks.com.au/</link> &mdash; Australia/4.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.br.FreeBSD.org/www.freebsd.org/">http://www.br.FreeBSD.org/www.freebsd.org/</link> &mdash; Brasil/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.br.FreeBSD.org/www.freebsd.org/">http://www2.br.FreeBSD.org/www.freebsd.org/</link> &mdash; Brasil/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www3.br.FreeBSD.org/">http://www3.br.FreeBSD.org/</link> &mdash; Brasil/3.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.bg.FreeBSD.org/">http://www.bg.FreeBSD.org/</link> &mdash; Bulgaria.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ca.FreeBSD.org/">http://www.ca.FreeBSD.org/</link> &mdash; Canadá/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.ca.FreeBSD.org/">http://www2.ca.FreeBSD.org/</link> &mdash; Canadá/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www3.ca.FreeBSD.org/">http://www3.ca.FreeBSD.org/</link> &mdash; Canadá/3.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.cn.FreeBSD.org/">http://www.cn.FreeBSD.org/</link> &mdash; China.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.cz.FreeBSD.org/">http://www.cz.FreeBSD.org/</link> &mdash; República Checa.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.dk.FreeBSD.org/">http://www.dk.FreeBSD.org/</link> &mdash; Dinamarca.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ee.FreeBSD.org/">http://www.ee.FreeBSD.org/</link> &mdash; Estonia.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.fi.FreeBSD.org/">http://www.fi.FreeBSD.org/</link> &mdash; Finlandia.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.fr.FreeBSD.org/">http://www.fr.FreeBSD.org/</link> &mdash; Francia.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.de.FreeBSD.org/">http://www.de.FreeBSD.org/</link> &mdash; Alemania/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www1.de.FreeBSD.org/">http://www1.de.FreeBSD.org/</link> &mdash; Alemania/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.de.FreeBSD.org/">http://www2.de.FreeBSD.org/</link> &mdash; Alemania/3.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.gr.FreeBSD.org/">http://www.gr.FreeBSD.org/</link> &mdash; Grecia.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.hu.FreeBSD.org/">http://www.hu.FreeBSD.org/</link> &mdash; Hungría.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.is.FreeBSD.org/">http://www.is.FreeBSD.org/</link> &mdash; Islandia.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ie.FreeBSD.org/">http://www.ie.FreeBSD.org/</link> &mdash; Irlanda.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.jp.FreeBSD.org/www.FreeBSD.org/">http://www.jp.FreeBSD.org/www.FreeBSD.org/</link> &mdash; Japón.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.kr.FreeBSD.org/">http://www.kr.FreeBSD.org/</link> &mdash; Corea/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.kr.FreeBSD.org/">http://www2.kr.FreeBSD.org/</link> &mdash; Corea/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.lv.FreeBSD.org/">http://www.lv.FreeBSD.org/</link> &mdash; Letonia.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://rama.asiapac.net/freebsd/">http://rama.asiapac.net/freebsd/</link> &mdash; Malasia.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.nl.FreeBSD.org/">http://www.nl.FreeBSD.org/</link> &mdash; Holanda/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.nl.FreeBSD.org/">http://www2.nl.FreeBSD.org/</link> &mdash; Holanda/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.no.FreeBSD.org/">http://www.no.FreeBSD.org/</link> &mdash; Noruega.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.nz.FreeBSD.org/">http://www.nz.FreeBSD.org/</link> &mdash; Nueva Zelanda.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.pl.FreeBSD.org/">http://www.pl.FreeBSD.org/</link> &mdash; Polonia/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.pl.FreeBSD.org/">http://www2.pl.FreeBSD.org/</link> &mdash; Polonia/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.pt.FreeBSD.org/">http://www.pt.FreeBSD.org/</link> &mdash; Portugal/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.pt.FreeBSD.org/">http://www2.pt.FreeBSD.org/</link> &mdash; Portugal/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www3.pt.FreeBSD.org/">http://www3.pt.FreeBSD.org/</link> &mdash; Portugal/3.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ro.FreeBSD.org/">http://www.ro.FreeBSD.org/</link> &mdash; Rumanía.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ru.FreeBSD.org/">http://www.ru.FreeBSD.org/</link> &mdash; Rusia/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.ru.FreeBSD.org/">http://www2.ru.FreeBSD.org/</link> &mdash; Rusia/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www3.ru.FreeBSD.org/">http://www3.ru.FreeBSD.org/</link> &mdash; Rusia/3.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www4.ru.FreeBSD.org/">http://www4.ru.FreeBSD.org/</link> &mdash; Rusia/4.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://freebsd.s1web.com/">http://freebsd.s1web.com/</link> &mdash; Singapur.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.sk.FreeBSD.org/">http://www.sk.FreeBSD.org/</link> &mdash; República Eslovaca.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.si.FreeBSD.org/">http://www.si.FreeBSD.org/</link> &mdash; Eslovenia.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.es.FreeBSD.org/">http://www.es.FreeBSD.org/</link> &mdash; España.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.za.FreeBSD.org/">http://www.za.FreeBSD.org/</link> &mdash; Sudáfrica/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.za.FreeBSD.org/">http://www2.za.FreeBSD.org/</link> &mdash; Sudáfrica/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.se.FreeBSD.org/">http://www.se.FreeBSD.org/</link> &mdash; Suecia.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ch.FreeBSD.org/">http://www.ch.FreeBSD.org/</link> &mdash; Suiza.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.tw.FreeBSD.org/www.freebsd.org/data/">http://www.tw.FreeBSD.org/www.freebsd.org/data/</link> &mdash; Taiwan.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.tr.FreeBSD.org/">http://www.tr.FreeBSD.org/</link> &mdash; Turquía.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ua.FreeBSD.org/www.freebsd.org/">http://www.ua.FreeBSD.org/www.freebsd.org/</link> &mdash; Ucrania/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.ua.FreeBSD.org/">http://www2.ua.FreeBSD.org/</link> &mdash; Ucrania/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www4.ua.FreeBSD.org/">http://www4.ua.FreeBSD.org/</link> &mdash; Ucrania/Crimea.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.uk.FreeBSD.org/">http://www.uk.FreeBSD.org/</link> &mdash; Reino Unido/1.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.uk.FreeBSD.org/">http://www2.uk.FreeBSD.org/</link> &mdash; Reino Unido/2.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www3.uk.FreeBSD.org/">http://www3.uk.FreeBSD.org/</link> &mdash; Reino Unido/3.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www6.FreeBSD.org/">http://www6.FreeBSD.org/</link> &mdash; USA/Oregón.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www2.FreeBSD.org/">http://www2.FreeBSD.org/</link> &mdash; USA/Tejas.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="eresources-email">
- <title>Direcciones de correo electrónico</title>
-
- <para>Los siguientes grupos de usuarios de FreeBSD provéen
- a sus miembros de direcciones de correo. Dichos administradores
- se reservan el derecho de retirar el uso de la dirección si
- se abusa de ella de cualquier manera.</para>
-
- <informaltable>
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Dominio</entry>
- <entry>Recursos que se suministran</entry>
- <entry>Grupo de Usuarios</entry>
- <entry>Administrador</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>ukug.uk.FreeBSD.org</entry>
- <entry>Sólo redirección</entry>
- <entry><email>freebsd-users@uk.FreeBSD.org</email></entry>
- <entry>Lee Johnston
- <email>lee@uk.FreeBSD.org</email></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect1>
-
- <sect1 xml:id="eresources-shell">
- <title>Cuentas shell</title>
-
- <para>Los siguientes grupos de usuarios facilitan cuentas shell a
- gente que apoya activamente el proyecto FreeBSD. Sus respectivos
- administradores se reservan el derecho de cancelar la cuenta y
- si se abusa de ella de algún modo.</para>
-
- <informaltable>
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Servidor</entry>
- <entry>Tipo de acceso</entry>
- <entry>Servicios que se ofrecen</entry>
- <entry>Administrador</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>storm.uk.FreeBSD.org</entry>
- <entry>SSH only</entry>
- <entry>CVS de sólo lectura, espacio web personal,
- correo electrónico</entry>
- <entry>&a.brian;</entry>
- </row>
-
- <row>
- <entry>dogma.freebsd-uk.eu.org</entry>
- <entry>Telnet/FTP/SSH</entry>
- <entry>Correo electrónico, espacio web,
- FTP Anónimo</entry>
- <entry>Lee Johnston
- <email>lee@uk.FreeBSD.org</email></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect1>
-</appendix>
diff --git a/es_ES.ISO8859-1/books/handbook/firewalls/Makefile b/es_ES.ISO8859-1/books/handbook/firewalls/Makefile
deleted file mode 100644
index 9320a51f68..0000000000
--- a/es_ES.ISO8859-1/books/handbook/firewalls/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Build the Handbook with just the content from this chapter.
-#
-# $FreeBSD$
-#
-
-CHAPTERS= firewalls/chapter.xml
-
-VPATH= ..
-
-MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
-
-DOC_PREFIX?= ${.CURDIR}/../../../..
-
-.include "../Makefile"
diff --git a/es_ES.ISO8859-1/books/handbook/firewalls/chapter.xml b/es_ES.ISO8859-1/books/handbook/firewalls/chapter.xml
deleted file mode 100644
index 30638930f9..0000000000
--- a/es_ES.ISO8859-1/books/handbook/firewalls/chapter.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/firewalls/chapter.xml
- %SRCID% 0.0
-
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="firewalls">
-
-<info><title>Cortafuegos</title>
- <authorgroup>
- <author><personname><firstname>Joseph J.</firstname><surname>Barbish</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Brad</firstname><surname>Davis</surname></personname><contrib>Convertido a SGML y actualizado por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm><primary>cortafuegos</primary></indexterm>
-<indexterm>
- <primary>seguridad</primary>
-
- <secondary>cortafuegos</secondary>
- </indexterm>
-
- <sect1 xml:id="firewalls-intro">
- <title>*</title>
-
- <para>Pendiente de traducción</para>
-
-
-
-</sect1>
-
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/geom/chapter.xml b/es_ES.ISO8859-1/books/handbook/geom/chapter.xml
deleted file mode 100644
index e82c34556c..0000000000
--- a/es_ES.ISO8859-1/books/handbook/geom/chapter.xml
+++ /dev/null
@@ -1,429 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Spanish Documentation Project
-
- The FreeBSD Spanish Documentation Project
-
-
- %SOURCE% en_US.ISO8859-1/books/handbook/geom/chapter.xml
- %SRCID% 1.15
-
- $FreeBSD$
-
- $FreeBSDes$
-
- Original revision: 1.15
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="GEOM">
- <info><title>GEOM: Marco de trabajo modular de transformación de discos</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- &trans.es.quique;
-
- <sect1 xml:id="GEOM-synopsis">
- <title>Sinopsis</title>
-
- <indexterm>
- <primary>GEOM</primary>
- </indexterm>
- <indexterm>
- <primary>GEOM Disk Framework</primary>
- <see>GEOM</see>
- </indexterm>
-
- <para>Este capítulo explica el uso de discos bajo el marco de
- trabajo GEOM en &os;. Esto incluye las principales utilidades de control
- de <acronym role="Redundant Array of Inexpensive Disks - Agrupación Redundante de Discos Económicos">RAID</acronym>
- que usan el marco de trabajo para su configuración.
- Este capítulo no se adentrará en un examen en profundidad
- de como GEOM maneja o controla la E/S, el subsistema subyacente, o el
- código.
- Esta información se proporciona en la página de manual
- &man.geom.4; y sus diversas referencias VEA TAMBIÉN.
- Este capítulo tampoco es una guía definitiva de
- configuraciones <acronym>RAID</acronym>. Sólo se examinan las
- clasificaciones de <acronym>RAID</acronym> que puede usar GEOM.</para>
-
- <para>Tras leer este capítulo, sabrá:</para>
-
- <itemizedlist>
- <listitem>
- <para>Que tipo de soporte para <acronym>RAID</acronym> está
- disponible a través de GEOM.</para>
- </listitem>
-
- <listitem>
- <para>Como utilizar las utilidades base para configurar, mantener,
- y manipular los diversos niveles de <acronym>RAID</acronym>.</para>
- </listitem>
-
- <listitem>
- <para>Como replicar, unir, cifrar, y conectar remotamente dispositivos
- de disco por medio de GEOM.</para>
- </listitem>
-
- <listitem>
- <para>Como solucionar problemas con los discos adscritos al marco de
- trabajo GEOM.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo, debería:</para>
-
- <itemizedlist>
- <listitem>
- <para>Entender como trata &os; a los dispositivos de disco
- (<xref linkend="disks"/>).</para>
- </listitem>
-
- <listitem>
- <para>Saber como configurar e instalar un nuevo núcleo de &os;
- (<xref linkend="kernelconfig"/>).</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="GEOM-intro">
- <title>Introducción a GEOM</title>
-
- <para>GEOM permite el acceso y control de clases &mdash;sectores de
- arranque maestros (MBR), etiquetas <acronym>BSD</acronym>, etc&mdash; por
- medio del uso de proveedores, o de los ficheros especiales de
- <filename>/dev</filename>.
- Capaz de trabajar con varias configuraciones de <acronym>RAID</acronym>
- por software, GEOM proporcionará transparentemente acceso al
- sistema operativo y las utilidades del mismo.</para>
- </sect1>
-
- <sect1 xml:id="GEOM-striping">
- <info><title>RAID0 - Distribución por bandas</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- <author><personname><firstname>Murray</firstname><surname>Stokely</surname></personname></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>GEOM</primary>
- </indexterm>
- <indexterm>
- <primary>Striping</primary>
- </indexterm>
-
- <para>La distribución por bandas (striping) es un método que
- se usa para combinar varias unidades de disco en un único volumen.
- En muchos casos, esto se hace usando controladoras por hardware. El
- subsistema de discos GEOM proporciona soporte por software para
- <acronym>RAID</acronym>0, también conocido como discos
- configurados en bandas.</para>
-
- <para>En un sistema <acronym>RAID</acronym>0, los datos se dividen en
- bloques que son escritos por todas las unidades de la agrupación.
- En lugar de tener que esperar a que el sistema escriba 256 kB en un
- disco, un sistema <acronym>RAID</acronym>0 puede escribir simultáneamente
- 64 kB en cada uno de los cuatro discos, ofreciendo un superior
- rendimiento de E/S. Este rendimiento se puede mejorar aún
- más usando varias controladoras de disco.</para>
-
- <para>Cada uno de los discos de una banda <acronym>RAID</acronym>0 debe ser
- del mismo tamaño, pues las peticiones de E/S están
- intercaladas para leer o escribir en varios discos en paralelo.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="geom/striping" align="center"/>
- </imageobject>
-
- <textobject>
- <phrase>Ilustració de la distribución por bandas de
- los discos</phrase>
- </textobject>
- </mediaobject>
-
- <procedure>
- <title>Creación de una banda de discos ATA sin formatear</title>
-
- <step><para>Cargue el módulo <filename>geom_stripe</filename>:</para>
-
- <screen>&prompt.root; <userinput>kldload geom_stripe.ko</userinput></screen>
- </step>
-
- <step><para>Asegúrese de que existe un punto de montaje adecuado.
- Si este volumen se convertirá en una partición raíz,
- utilice temporalmente otro punto de montaje, como <filename>/mnt</filename>.</para>
-
- <screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
- </step>
-
- <step><para>Determine los nombres de dispositivo de los discos que
- serán configurados en bandas, y cree el nuevo dispositivo de
- banda. Por ejemplo, podría utilizar la siguiente orden para configurar
- en bandas dos discos <acronym>ATA</acronym> sin usar ni particionar:
- <filename>/dev/ad2</filename> y
- <filename>/dev/ad3</filename>.</para>
-
- <screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen>
-
-<!--
- <para>A message should be returned explaining that meta data has
- been stored on the devices.
-XXX: What message? Put it inside the screen output above.
--->
- </step>
-
- <step><para>Si se va a usar este volumen como dispositivo raíz
- para arrancar el sistema, debe ejecutar la siguiente orden antes de
- crear el sistema de ficheros:</para>
-
- <screen>&prompt.root; <userinput>fdisk -vBI /dev/stripe/st0</userinput></screen>
- </step>
-
- <step><para>Se debe crear una tabla de particiones en el nuevo volumen con la
- siguiente orden:</para>
-
- <screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
-
- </step>
-
- <step><para>Aademás del dispositivo <filename>st0</filename>,
- este proceso debería haber creado otros dos
- dispositivos en el directorio
- <filename>/dev/stripe</filename>, incluyendo
- <filename>st0a</filename> y <filename>st0c</filename>.
- Ahora se debe crear un sistema de ficheros en el dispositivo
- <filename>st0a</filename> usando la siguiente orden
- <command>newfs</command>:</para>
-
- <screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
-
- <para>Por la pantalla se deslizarán muchos números, y al
- cabo de unos pocos segundos, el proceso habrá finalizado. El
- volumen ha sido creado y está preparado para ser montado:</para>
- </step>
- </procedure>
-
- <para>Se puede usar la siguiente orden para montar manualmente una banda de
- discos recién creada:</para>
-
- <screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
-
- <para>Para montar automáticamente este sistema de ficheros distribuido
- por bandas durante el proceso de arranque, ponga la información
- del volumen en el fichero <filename>/etc/fstab</filename>:</para>
-
- <screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
- <userinput>&gt;&gt; /etc/fstab</userinput></screen>
-
- <para>También se debe cargar automáticamente durante la
- inicialización del sistema el módulo geom, añadiendo
- una línea a <filename>/boot/loader.conf</filename>:</para>
-
- <screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
-
- </sect1>
-
- <sect1 xml:id="GEOM-mirror">
- <title>RAID1 - Replicación</title>
-
- <indexterm>
- <primary>GEOM</primary>
- </indexterm>
- <indexterm>
- <primary>Disk Mirroring</primary>
- </indexterm>
-
- <para>La replicación es una tecnologín que usan muchas
- empresas y usuarios para hacer copias de respaldo de sus datos sin
- interrupciones. Cuando hay una réplica, simplemente
- significa que el discoB replica al discoA. O, quizá el discoC+D
- replica al discoA+B. Al margen de la configuración de los discos,
- lo importante es que la información de un disco o
- partición está siendo replicada. Más adelante se
- podría restaurar esa información más
- fácilmente, hacerse una copia de respaldo sin provocar
- intrrupciones de servicio o acceso, e incluso almacenarla
- físicamente en una caja fuerte para datos.</para>
-
- <para>Para empezar, asegúrese de que el sistema tiene dos unidades
- de disco del mismo tamaño, eb este ejercicio se supone que son discos
- <acronym>SCSI</acronym> de acceso directo (&man.da.4;).</para>
-
- <para>Comience por instalar &os; en el primer disco con sólo dos
- particiones. Una debería ser una partición de intercambio,
- de dos veces el tamaño de la <acronym>RAM</acronym>, y todo el
- espacio restante se dedicará al sistema de ficheros raíz
- (<filename>/</filename>).
- Es posible tener particiones aparte para otros puntos de montajes; sin
- embargo, esto multiplicará por diez el nivel de dificultad, debido
- a la alteración manual de las opciones de &man.bsdlabel.8; y
- &man.fdisk.8;.</para>
-
- <para>Reinicie y espere a que el sistema se inicie por completo. Una vez
- haya finalizado este proceso, ingrese como usuario
- <systemitem class="username">root</systemitem>.</para>
-
- <para>Cree el dispositivo <filename>/dev/mirror/gm</filename> y
- enlácelo a <filename>/dev/da1</filename>:</para>
-
- <screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
-
- <para>El sistema debería responder con:</para>
- <screen>
-Metadata value stored on /dev/da1.
-Done.</screen>
-
- <para>Inicialice GEOM, esto cargará el módulo del
- núcleo <filename>/boot/kernel/geom_mirror.ko</filename>:</para>
-
- <screen>&prompt.root; <userinput>gmirror load</userinput></screen>
-
- <note>
- <para>Esta orden debería haber creado en el directorio
- <filename>/dev/mirror</filename> los nodos de
- dispositivo <filename>gm0</filename>, <filename>gm0s1</filename>,
- <filename>gm0s1a</filename>, y <filename>gm0s1c</filename>.</para>
- </note>
-
- <para>Instale una etiqueta genérica <command>fdisk</command> y
- el código de arranque en el recién creado dispositivo
- <filename>gm0</filename>:</para>
-
- <screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
-
- <para>Ahora instale la información <command>bsdlabel</command>
- genérica:</para>
-
- <screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>
-
- <note>
- <para>Si hay varias slices (rodajas) y particiones, necesitará
- modificar las opciones de las dos órdenes anteriores. Deben
- coincidir con la slice y tamaño de partición del otro
- disco.</para>
- </note>
-
- <para>Utilice la utilidad &man.newfs.8; para crear un sistema de ficheros
- predefinido en nodo de dispositivo <filename>gm0s1a</filename>:</para>
-
- <screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
-
- <para>Esto debería haber hecho que el sistema mostrara alguna
- información y un puñado de números. Esto es bueno.
- Examine la pantalla por si hay algún mensaje de error y monte el
- dispositivo en el punto de montaje
- <filename>/mnt</filename>:</para>
-
- <screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
-
- <para>Ahora mueva todos los datos del disco de arranque a este nuevo
- sistema de ficheros. Este ejemplo usa las órdenes &man.dump.8;
- y &man.restore.8;; aunque, &man.dd.1; también debería
- funcionar en este escenario. Evitamos utilizar &man.tar.1; porque no
- copiará el código de arranque. De ese modo, el fallo
- estaría garantizado.</para>
-
- <screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt &amp;&amp; restore -r -v -f-)</userinput></screen>
-
- <para>Se debe hacer esto para cada sistema de ficheros. Simplemente
- ponga el sistema de ficheros adecuado en la ubicación correcta
- al ejecutar la orden mencionada.</para>
-
- <para>Ahora edite el fichero replicado <filename>/mnt/etc/fstab</filename>
- y elimine o comente el fichero swap
- <footnote>
- <para>Debe advertirse que comentar la entrada del fichero swap en
- <filename>fstab</filename> probablemente le obligará a
- reestablecer una manera diferente de habilitar el espacio de
- intercambio. Consulte <xref linkend="adding-swap-space"/> para
- más información.</para>
- </footnote>. Cambie la información del otro sistema de ficheros
- para que utilice el nuevo disco. Vea el siguiente ejemplo:</para>
-
- <programlisting># Device Mountpoint FStype Options Dump Pass#
-#/dev/da0s2b none swap sw 0 0
-/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
-
- <para>Ahora cree un fichero <filename>boot.conf</filename> tanto en la
- partición actual como en la nueva partición raíz.
- Este fichero <quote>ayudará</quote> al <acronym>BIOS</acronym>
- del sistema a arrancar la unidad correcta:</para>
-
- <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput></screen>
-
- <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>
-
- <note>
- <para>Lo hemos colcoado en ambas particiones raíz para asegurar un
- arranque correcto. Si por alguna razón el sistema no pudiera
- leer en la nueva partición raíz, está disponible
- un arranque a prueba de fallos.</para>
- </note>
-
- <para>Ahora agregue la siguiente línea al nuevo
- <filename>/boot/loader.conf</filename>:</para>
-
- <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
-
- <para>Esto le dice a la utilidad &man.loader.8; que cargue el
- <filename>geom_mirror.ko</filename> durante la inicialización del
- sistema.</para>
-
- <para>Reinicie el sistema:</para>
-
- <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
-
- <para>Si todo ha ido bien, el sistema debería haber arrancado desde
- el dispositivo <filename>gm0s1a</filename>, y un prompt
- <command>login</command> debería estar a la espera. Si algo fue
- mal, consulte la sección posterior de resolución de
- problemas. Ahora agregue el disco <filename>da0</filename> al
- dispositivo <filename>gm0</filename>:</para>
-
- <screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
-&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>
-
- <para>La opción <option>-a</option> le dice a &man.gmirror.8; que
- use sincronización automática; por ejemplo, que replique
- las escrituras en disco automáticamente. La página de
- manual explica como reconstruir y reemplazar discos, aunque utiliza
- <filename>data</filename> en vez de <filename>gm0</filename>.</para>
-
- <sect2>
- <title>Resolución de problemas</title>
-
- <sect3>
- <title>El sistema se niega a arrancar</title>
-
- <para>Si el sistema arranca hasta un prompt similar a:</para>
-
- <programlisting>ffs_mountroot: can't find rootvp
-Root mount failed: 6
-mountroot&gt;</programlisting>
-
- <para>Reinicie la máquina utilizando el botón de
- encendido o el de reset. En el menú de arranque, seleccione
- la opción seis (6). Esto llevará al sistema a un
- prompt de &man.loader.8;. Cargue el módulo del núcleo
- manualmente:</para>
-
- <screen>OK? <userinput>load geom_mirror.ko</userinput>
-OK? <userinput>boot</userinput></screen>
-
- <para>Si esto funciona, es que por alguna razón el módulo
- no se cargaba correctamente. Ponga:</para>
-
- <programlisting>options GEOM_MIRROR</programlisting>
-
- <para>en el fichero de configuración del núcleo,
- recompile y reinstale. Esto debería solucionar el problema.</para>
- </sect3>
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/install/chapter.xml b/es_ES.ISO8859-1/books/handbook/install/chapter.xml
deleted file mode 100755
index abd7d09ed6..0000000000
--- a/es_ES.ISO8859-1/books/handbook/install/chapter.xml
+++ /dev/null
@@ -1,5407 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
-
- The FreeBSD Spanish Documentation Project
-
-
- %SOURCE% en_US.ISO8859-1/books/handbook/install/chapter.xml
- %SRCID% 1.390
-
-
-$FreeBSD$
-$FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/install/chapter.xml,v 1.5 2004/10/08 18:48:47 jesusr Exp $
-
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="install">
- <info><title>Instalación de &os;</title>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Reestructurado, reorganizado y con
- algunas partes reescritas por </contrib></author>
- </authorgroup>
-
- <authorgroup>
- <author><personname><firstname>Randy</firstname><surname>Pratt</surname></personname><contrib>El recorrido por sysinstall, las capturas de
- pantalla y el texto original son obra de </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <sect1 xml:id="install-synopsis">
- <title>Sinopsis</title>
-
- <indexterm><primary>instalación</primary></indexterm>
-
- <para>&os; dispone de un programa en modo texto muy fácil de
- usar llamado <application>sysinstall</application>. Es el programa
- de instalación por omisión en &os;, pero quien decida
- distribuir &os; tiene todo el derecho de facilitar un sistema de
- instalación propio si así lo desea. Este capítulo
- trata sobre cómo usar <application>sysinstall</application>
- para instalar &os;</para>
-
- <para>Tras leer este capítulo sabrá usted:</para>
-
- <itemizedlist>
- <listitem>
- <para>Cómo crear los discos de instalación de
- &os;</para>
- </listitem>
-
- <listitem>
- <para>Cómo interpreta (y subdivide) &os; sus discos
- duros.</para>
- </listitem>
-
- <listitem>
- <para>Cómo arrancar <application>
- sysinstall</application>.</para>
- </listitem>
-
- <listitem>
- <para>Qué preguntas le hará <application>
- sysinstall</application>, qué significan y cómo
- responderlas.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo debería usted:</para>
-
- <itemizedlist>
- <listitem>
- <para>Leer la lista de hardware soportado que se suministra con la
- con la versión de &os; que va a instalar y verificar que su
- hardware está en dicha lista.</para>
- </listitem>
- </itemizedlist>
-
- <note>
- <para>En general éstas instrucciones de instalación
- han sido escritas para computadoras de arquitectura &i386;
- («PC compatible»). En algunos puntos concretos
- se darán instrucciones específicas para otras
- plataformas (por ejemplo Alpha). A pesar de que esta guía
- se intenta mantener todo lo al día que es posible
- puede que se encuentre con pequeñas diferencias entre el
- programa de instalación y lo que aquí se le
- muestra. Le sugerimos que use este capítulo como una
- guía general más que como un manual literal de
- instalación.</para>
- </note>
-
- </sect1>
-
- <sect1 xml:id="install-hardware">
- <title>Requisitos de hardware</title>
-
- <sect2 xml:id="install-hardware-minimal">
- <title>Configuración mínima</title>
-
- <para>La configuración mínima para instalar &os;
- varía según la versión de &os; y la arquitectura
- de hardware.</para>
-
- <para>Tiene información sobre la confuración
- mínima en las Notas de Instalación que encontrará
- en la sección de <link xlink:href="http://www.FreeBSD.org/releases/index.html">Información de
- Releases</link> del sitio web de &os;. En la siguiente
- sección se facilita un resumen de dicha información.
- Dependiendo de cuál sea el método de instalación
- que elija para instalar &os; necesitará un floppy, un lector de
- CDROM que pueda utilizar con &os; o quizás un adaptador de
- red. Todo esto se explica en la <xref linkend="install-floppies"/>.</para>
-
- <sect3>
- <title>&os;/&arch.i386; y &os;/&arch.pc98;</title>
-
- <para>Tanto &os;/&arch.i386; como &os;/&arch.pc98; necesitan
- un procesador 486 o superior y un mínimo de
- 24&nbsp;MB de RAM. Necesitará también al menos
- 150&nbsp;MB de espacio libre en disco, que es lo que necesita
- la instalación mínima.</para>
-
- <note>
- <para>En sistemas muy antiguos la mayoría de las veces
- será de mucha más ayuda conseguir más
- RAM y espacio de disco que un procesador más
- rápido.</para>
- </note>
- </sect3>
-
- <sect3>
- <title>&os;/&arch.alpha;</title>
-
- <indexterm><primary>Alpha</primary></indexterm>
-
- <para>Para instalar &os;/&arch.alpha; necesitará una
- plataforma que esté soportada
- (consulte <xref linkend="install-hardware-supported"/>) y un
- disco duro dedicado a &os;. En este momento no es posible
- compartir un disco con otro sistema operativo. Este disco
- debe estar necesariamente conectado a una controladora SCSI
- que esté soportada por el firmware SRM, o si se trata
- de un disco IDE el SRM de su máquina debe permitir el
- arranque desde discos IDE.</para>
-
- <indexterm><primary>ARC</primary></indexterm>
- <indexterm><primary>Alpha BIOS</primary></indexterm>
- <indexterm><primary>SRM</primary></indexterm>
-
- <para>Necesitará el firmware de la consola SRM de
- su plataforma. En ciertos casos es posible pasar del
- firmware AlphaBIOS (o ARC) al SRM. En otros casos
- no habrá más remedio que descargar un nuevo
- firmware desde el sito web del fabricante.</para>
-
- <note>
- <para>A partir de &os;&nbsp;7.0 no hay soporte para
- Alpha. La serie &os;&nbsp;6.<replaceable>X</replaceable>
- es la última que ofrece soporte para esta
- arquitectura.</para>
- </note>
-
- </sect3>
-
- <sect3>
- <title>&os;/&arch.amd64;</title>
-
- <para>Hay dos tipos de procesadores capaces de ejecutar
- &os;/&arch.amd64;. La primera son los procesadores AMD64,
- entre los que están los &amd.athlon;64,
- &amd.athlon;64-FX, &amd.opteron; y los modelos
- superiores.</para>
-
- <para>La segunda categoría de procesadores que
- pueden usar &os;/&arch.amd64; es la de los procesadores
- de arquitectura EM64T de &intel;, por ejemplo las familias
- de procesadores &intel;&nbsp;&core;&nbsp;2 Duo, Quad, y Extreme,
- y la secuencia de procesadores &intel;&nbsp;&xeon; 3000, 5000 y
- 7000.</para>
-
- <para>Si tiene una máquina basada en una nVidia nForce3
- Pro-150 <emphasis>tendrá que usar la configuración
- de la BIOS</emphasis> para deshabilitar IO ACPI. Si no tiene la
- opción de hacerlo tendrá que deshabilitar ACPI. Hay
- errores en el chipset Pro-150 para los que no hemos encontrado
- aún una solución.</para>
- </sect3>
-
-
- <sect3>
- <title>&os;/&arch.sparc64;</title>
-
- <para>Para instalar &os;/&arch.sparc64; necesita una plataforma que
- esté soportada (consulte la <xref linkend="install-hardware-supported"/>).</para>
-
- <para>Necesitará un disco dedicado a &os;/&arch.sparc64;. De
- momento es imposible compartir un disco duro con otro sistema
- operativo.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="install-hardware-supported">
- <title>Hardware soportado</title>
-
- <para>Cada versión de &os; incluye una lista de hardware
- soportado en las «&os; Hardware Notes». Este
- documento suele estar en un fichero llamado
- <filename>HARDWARE.TXT</filename>, que está en el
- directorio raiz del CDROM o distribución FTP, o en el
- menú de documentación de
- <application>sysinstall</application>. En este documento se
- listan los dispositivos de hardware que se sabe que funcionan
- con cada versión de &os; y para qué
- arquitectura. En la página de <link xlink:href="http://www.FreeBSD.org/releases/index.html">Información
- de Releases</link> del sitio web de &os; encontrará
- copias de esta lista para diversas releases y arquitecturas.</para>
- </sect2>
- </sect1>
-
-
-
-
- <sect1 xml:id="install-pre">
- <title>Tareas anteriores a la instalación</title>
-
- <sect2 xml:id="install-inventory">
- <title>Inventario de su sistema</title>
-
- <para>Antes de instalar &os; en su sistema debería hacer
- un inventario de los componentes de su computadora. El sistema
- de instalación de &os; le mostrará los componentes
- (discos duros, tarjetas de red, unidades de CDROM, etc.) con sus
- datos de modelo y fabricante. &os; tratará también
- de determinar la configuración correcta para dichos
- dispositivos, lo que incluye información sobre las IRQ y
- el uso de puertos IO. A causa de la ingente variedad de hardware
- para PC este proceso no siempre se puede culminar con éxito
- y es posible que deba corregir las decisiones de &os; retocando
- la configuración.</para>
-
- <para>Si ya dispone de otro sistema operativo instalado (como
- &windows; o Linux) puede usar los recursos que dicho o dichos
- sistemas operativos le faciliten para determinar exactamente
- qué hardware tiene y cómo está configurado.
- Si tiene del todo claro qué configuración está
- usando una tarjeta de expasión concreta es posible que
- pueda encontrar esos datos impresos en la propia tarjeta. Es muy
- habitual el uso de las IRQ 3, 5 y 7 y las direcciones de los
- puertos IO suelen representarse con números hexadecimales,
- como 0x330.</para>
-
- <para>Le recomendamos imprimir o tomar nota de todos esos datos
- antes de instalar &os;. Una tabla como esta puede serle de mucha
- ayuda:</para>
-
- <table pgwide="1" frame="none">
- <title>Ejemplo de inventario de dispositivos</title>
-
- <tgroup cols="4">
- <colspec colwidth="2*"/>
- <colspec colwidth="1*"/>
- <colspec colwidth="1*"/>
- <colspec colwidth="4*"/>
- <thead>
- <row>
- <entry>Nombre de dispositivo</entry>
-
- <entry>IRQ</entry>
-
- <entry>Puerto(s) IO</entry>
-
- <entry>Notas</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>Primer disco duro</entry>
-
- <entry>N/A</entry>
-
- <entry>N/A</entry>
-
- <entry>40&nbsp;GB, fabricado por Seagate, primer maestro IDE </entry>
- </row>
-
- <row>
- <entry>CDROM</entry>
-
- <entry>N/A</entry>
-
- <entry>N/A</entry>
-
- <entry>Primer esclavo IDE</entry>
- </row>
-
- <row>
- <entry>Segundo disco duro</entry>
-
- <entry>N/A</entry>
-
- <entry>N/A</entry>
-
- <entry>20&nbsp;GB, fabricado por IBM, segundo maestro IDE</entry>
- </row>
-
- <row>
- <entry>Primera controladora IDE</entry>
-
- <entry>14</entry>
-
- <entry>0x1f0</entry>
-
- <entry/>
- </row>
-
- <row>
- <entry>Tarjeta de red</entry>
-
- <entry>N/A</entry>
-
- <entry>N/A</entry>
-
- <entry>&intel; 10/100</entry>
- </row>
-
- <row>
- <entry>Módem</entry>
-
- <entry>N/A</entry>
-
- <entry>N/A</entry>
-
- <entry>&tm.3com; 56K faxmodem, en COM1</entry>
- </row>
-
- <row>
- <entry>&hellip;</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
-
-
- <para>Una vez termine el inventorio de componentes de su sistema
- debe comprobar si aparecen en la lista de hardware soportado de
- la versión de &os; que vaya a instalar.</para>
- </sect2>
-
- <sect2>
- <title>Haga una copia de seguridad de sus datos</title>
-
- <para>Si la máquina en la que va a instalar &os; contiene
- datos que desea conservar por algún motivo
- asegúrese de haber hecho una copia de seguridad de los
- mismos y de que esa copia es de fiar antes de instalar &os;.
- El sistema de instalación de &os; le mostrará una
- advertencia antes de modificar datos en su disco pero una vez
- que el proceso ha comenzado no hay manera de dar marcha
- atrás.</para>
- </sect2>
-
- <sect2 xml:id="install-where">
- <title>Decida dónde instalar &os;</title>
-
- <para>Si quiere que &os; use todo su disco duro puede saltar
- tranquilamente a la siguiente sección.</para>
-
- <para>Si por el contrario necesita que &os; coexista con otros
- sistemas operativos tendrá que comprender cómo
- se almacenan los datos en el disco duro y cómo le afecta
- esto.</para>
-
- <sect3 xml:id="install-where-i386">
- <title>Esquemas de disco en &os;/&i386;</title>
-
-
-
- <para>Un disco de PC puede dividirse en varias partes. Estas partes
- reciben el nombre de <firstterm>partitions</firstterm>. Dado
- que &os; internamente también tiene particiones la
- nomenclatura puede ser confusa muy rápidamente, así
- que estas partes del disco reciben el nombre de «disk
- slices» o sencillamente «slices»
- («rebanadas de disco»y «rebanadas»
- respectivamente). Por ejemplo, la versión de
- <command>fdisk</command> que usará &os; con las particiones
- de disco de PC usa la palabra «slices» en lugar de
- «partitions». Debido a limitaciones de diseño
- la plataforma PC sólo admite cuatro particiones por disco. Dichas
- particiones reciben el nombre de <firstterm>particiones
- primarias</firstterm>. Esta limitación puede sortearse
- (y de ese modo disponer de más de cuatro particiones)
- gracias a que se creó un nuevo tipo de partición,
- las <firstterm>particiones extendidas</firstterm>. Un disco puede
- contener una única partición extendida. Dentro de ella
- pueden crearse particiones especiales, que reciben el nombre de
- <firstterm>particiones lógicas</firstterm>.</para>
-
- <para>Cada partición tiene un <firstterm>identificador de
- partición</firstterm> (o <firstterm>partition ID</firstterm>),
- que es un número que se usa para identificar el tipo de datos que
- alberga la partición. Las particiones &os; tienen como
- identificador de partición <literal>165</literal>.</para>
-
- <para>Normalmente cada sistema operativo que vaya a utilizar
- identificará las particiones de un modo propio. Por ejemplo
- DOS (y sus descendientes, como &windows;) asignan a cada
- partición primaria y lógica una
- <firstterm>letra de unidad</firstterm> a partir de
- <filename>C:</filename>.</para>
-
- <para>&os; debe instalarse en una partición primaria. &os;
- puede albergar todos los datos que necesita, incluyendo cualquier
- fichero que pueda usted crear, en esta partición. Si tiene
- usted varios discos duros puede crear particiones para que &os; las
- use en todos ellos o en algunos nada más. Al instalar &os;
- debe usar al menos una partición. Puede usar una
- partición vacía que haya preparado o puede usar
- también una partición que contenga datos que no desea
- conservar.</para>
-
- <para>Si está usando todas las particiones de todos sus discos
- tendrá que dejar libre una de ellas para &os; usando las
- herramientas del otro sistema operativo que esté usando
- (por ejemplo <command>fdisk</command> en DOS o en
- &windows;).</para>
-
- <para>Si tiene una partición sobrante puede usarla, pero puede
- verse en la necesidad de reducir una o más de las particiones
- que está usando.</para>
-
- <para>Una instalación mínima de &os; cabrí en
- sólo 100&nbsp;MB de disco pero tenga en cuenta que apenas
- quedaría espacio para los ficheros que quiera crear. Un
- mínimo más realista sería de 250&nbsp;MB si no
- pretende usar entorno gráfico y 350&nbsp;MB o más si
- quiere usar un interfaz gráfico de usuario. Si quiere instalar
- gran cantidad de software para usarlo en &os; sin duda
- necesitará más espacio.</para>
-
- <para>Para ello puede usar herramientas comerciales como
- <application>&partitionmagic;</application> o libres como
- <application>GParted</application> para redimensionar sus
- particiones y hacer sitio para &os;. El directorio
- <filename>tools</filename> directory del CDROM de instalación
- contiene dos herramientas libres con las que puede hacer hacer
- esta redimensión:
- <application>FIPS</application> y
- <application>PResizer</application>. En el mismo directorio
- encontrará documentación de ambas.
- <application>FIPS</application>,
- <application>PResizer</application> y
- <application>&partitionmagic;</application> pueden redimensionar
- particiones <acronym>FAT16</acronym> y <acronym>FAT32</acronym>,
- que pueden encontrarse desde &ms-dos; hasta &windows; ME. Tanto
- <application>&partitionmagic;</application> como
- <application>GParted</application> funcionan también en
- particiones <acronym>NTFS</acronym>. <application>GParted</application>
- forma parte de diversas distribuciones de «Live CD» de Linux,
- como <link xlink:href="http://www.sysresccd.org/">SystemRescueCD</link>.</para>
-
-
- <para>Hay informes de problemas redimensionando particiones de
- &microsoft; Vista. Le recomendamos tener a mano un disco de
- instalación de Vista cuando intente hacer esto. Lo dicho
- para cualquier otra tarea de mantenimiento de discos es válido
- aquí: tenga una copia de seguridad <emphasis>fiable</emphasis>
- y reciente a mano.</para>
-
- <warning>
- <para>El uso incorrecto de estas herramientas puede borrar datos
- de su disco duro. Recuerde, asegúrese de disponer de
- copias de seguridad recientes y utilizables antes de
- usarlas.</para>
- </warning>
-
- <example>
- <title>Uso de una partición sin cambiar nada</title>
-
- <para>Supongamos que tiene una máquina con un sólo
- disco de 4&nbsp;GB que ya tiene una versión de &windows;
- instalada y que ese disco está dividido en dos unidades,
- <filename>C:</filename> y <filename>D:</filename>, cada
- una de las cuales tiene un tamaño de 2&nbsp;GB. Tiene
- 1&nbsp;GB de datos en <filename>C:</filename> y 0.5&nbsp;GB de
- datos en <filename>D:</filename>.</para>
-
- <para>Esto significa que su disco duro tiene dos particiones, una
- por cada letra de unidad. Copie todos sus datos de
- <filename>D:</filename> en <filename>C:</filename>; de
- este modo vaciará la segunda partició y podrá
- usarla con &os;.</para>
- </example>
-
- <example>
- <title>Reducir una partición existente</title>
-
- <para>Suponga que tiene una máquina con un sólo disco
- de 4&nbsp;GB que contiene una versión de &windows; instalada.
- Cuando instaló &windows; creó una gran
- partición, lo que le dió como resultado una unidad
- <filename>C:</filename> de 4&nbsp;GB. Está usando
- 1.5&nbsp;GB de espacio y quiere que &os; tenga 2&nbsp;GB de
- espacio.</para>
-
- <para>Para poder instalar &os; tendrá que realizar una de
- las siguientes tareas:</para>
-
- <orderedlist>
- <listitem>
- <para>Haga una copia de sus datos de &windows; y después
- reinstale &windows;, eligiendo una partición de 2&nbsp;GB
- en el momento de la instalación.</para>
- </listitem>
-
- <listitem>
- <para>Utilice alguna herramienta del estilo de
- <application>&partitionmagic;</application> que se han
- descrito antes para reducir el tamaño de su
- partición de &windows;.</para>
- </listitem>
- </orderedlist>
- </example>
-
- </sect3>
-
- <sect3>
- <title>Estructura de discos en Alpha</title>
-
- <indexterm><primary>Alpha</primary></indexterm>
-
- <para>Tendrá que dedicar un disco de su sistema
- para usar &os; puesto que de momento es imposible compartir
- un disco con otro sistema operativo. Dependiendo de la
- la máquina Alpha que tenga el disco podrá ser
- SCSI o IDE en la medida en que sea posible arrancar desde
- tales discos.</para>
-
- <para>Siguiendo las normas de los manuales de Digital / Compaq
- todos los datos suministrados a SRM se muestran en
- mayúsculas. SRM no distingue entre mayúsculas y
- minúsculas.</para>
-
- <para>Use <literal>SHOW DEVICE</literal> en la consola de SRM
- para saber qué tipo de discos hay en su sistema:</para>
-
- <screen>&gt;&gt;&gt;<userinput>SHOW DEVICE</userinput>
-dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
-dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
-dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
-dva0.0.0.0.1 DVA0
-ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
-pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
-pqa0.0.0.4.0 PQA0 PCI EIDE
-pqb0.0.1.4.0 PQB0 PCI EIDE</screen>
-
- <para>Este ejemplo es de una Digital Personal Workstation
- 433au y muestra tres discos instalados en el sistema.
- El primer disco es una unidad CDROM llamada
- <filename>DKA0</filename> y los otros dos reciben los nombres
- de <filename>DKC0</filename> y <filename>DKC100</filename>
- respectivamente.</para>
-
- <para>Los discos con nombres tipo <filename>DKx</filename>
- son discos SCSI. Por ejemplo <filename>DKA100</filename>
- se refiere a un disco SCSI con el «target ID 1» en
- el primer bus SCSI (A), mientras que <filename>DKC300</filename>
- es un disco SCSI con un ID 3 en el tercer bus SCSI (C).
- Los nombres de dispositivo <filename>PKx</filename> son para
- adaptadores de bus SCSI. Como hemos visto en la salida de
- <literal>SHOW DEVICE</literal> las unidades CDROM SCSI son
- consideradas iguales a otros discos duros SCSI.</para>
-
- <para>Los discos IDE tienen nombres similares a <filename>
- DQx</filename>, mientras que <filename>PQx</filename> es la
- controladora IDE asociada.</para>
-
- </sect3>
- </sect2>
-
- <sect2>
- <title>Recopile los datos de la configuración
- de la red</title>
-
- <para>Si pretende conectarse a alguna red durante la instalación
- de &os; (por ejemplo si pretende hacerlo desde un sitio FTP o mediante
- un servidor NFS) tendrá que conocer la configuración de
- su red. Durante la instalación se le pedirán esos datos
- para que &os; pueda conectarse a la red y realizar la
- instalación.</para>
-
- <sect3>
- <title>Conexión a una red Ethernet o a un módem
- Cable/DSL</title>
-
- <para>Necesitará la siguiente información si va a
- conectarse a una red Ethernet o si tiene una conexión a
- Internet a través de una adaptador Ethernet via cable o
- DSL:</para>
-
- <orderedlist>
- <listitem>
- <para>Dirección IP</para>
- </listitem>
-
- <listitem>
- <para>Dirección IP de la pasarela («gateway»,
- «puerta de enlace»)</para>
- </listitem>
-
- <listitem>
- <para>Nombre del sistema («hostname»)</para>
- </listitem>
-
- <listitem>
- <para>Dirección IP del servidor DNS</para>
- </listitem>
-
- <listitem>
- <para>Máscara de subred</para>
- </listitem>
- </orderedlist>
-
- <para>Si no conoce estos datos póngase en contacto con su
- administrador de sistemas o con su proveedor de servicios. Es
- que le digan que tal información se asigna
- automáticamente mediante <firstterm>DHCP</firstterm>.
- Si es así, anótelo.</para>
- </sect3>
-
- <sect3>
- <title>Conexión mediante módem</title>
-
- <para>Si usted se conecta con su ISP mediante un módem
- tradicional sigue pudiendo instalar &os; a través de
- Internet; el problema es que tardará mucho más
- que por otros medios.</para>
-
- <para>Necesitará saber:</para>
-
- <orderedlist>
- <listitem>
- <para>El número de teléfono de su ISP a
- través del que accederá a Internet</para>
- </listitem>
-
- <listitem>
- <para>El COM: el puerto al que está conectado su
- módem</para>
- </listitem>
-
- <listitem>
- <para>Su nombre de usuario y su contraseña de acceso
- a Internet</para>
- </listitem>
- </orderedlist>
- </sect3>
- </sect2>
- <sect2>
- <title>Consulte «&os; Errata»</title>
-
- <para>A pesar de que el proyecto &os; hace todo lo humanamente posible
- para asegurarse de que cada «release» de &os; es todo
- lo estable posible a veces algún error logra entrar en
- escena. En contadísimas ocasiones esos errores llegan a
- afectar al proceso de instalación. Cuando esos errores son
- ubicados y corregidos aparecen en lo que llamamos la
- <link xlink:href="http://www.FreeBSD.org/releases/&rel.current;R/errata.html">FreeBSD Errata</link>,
- que encontrará en el sitio web de &os;. Debería consultar
- este texto antes de la instalación para asegurarse de que
- no hay problemas de última hora de los que deba
- preocuparse.</para>
-
- <para>Tiene información sobre las «releases»,
- incluyendo la «errata» de cada una de ellas, en la
- <link xlink:href="http://www.FreeBSD.org/releases/index.html">sección de
- información de «releases» </link> del
- <link xlink:href="http://www.FreeBSD.org/index.html">sitio web de &os;</link>.</para>
- </sect2>
-
- <sect2>
- <title>Obtención de los ficheros de instalación de
- &os;</title>
-
- <para>El proceso de instalación de &os; permite instalar &os;
- desde ficheros ubicados en cualquiera de los siguientes
- sitios:</para>
-
- <itemizedlist>
- <title>Medios locales</title>
-
- <listitem>
- <para>Un CDROM o DVD</para>
- </listitem>
-
- <listitem>
- <para>Una partición DOS en la propia computadora</para>
- </listitem>
-
- <listitem>
- <para>Una cinta SCSI o QIC</para>
- </listitem>
-
- <listitem>
- <para>Discos floppy</para>
- </listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>Red</title>
-
- <listitem>
- <para>Un sitio FTP, saliendo a través de un cortafuegos o
- usando un proxy HTTP si fuera necesario</para>
- </listitem>
-
- <listitem>
- <para>Un servidor NFS</para>
- </listitem>
-
- <listitem>
- <para>Una conexión serie o a través de una cable
- paralelo</para>
- </listitem>
- </itemizedlist>
-
- <para>Si ha adquirido &os; en CD o DVD ya tiene todo lo que
- necesitará, puede pasar a la siguiente sección:
- (<xref linkend="install-floppies"/>).</para>
-
- <para>Si no dispone de los ficheros de instalación de &os;
- debería consultar la
- <xref linkend="install-diff-media"/>, donde se explica cómo
- preparar la instalación de &os; desde cualquiera de los
- medios listados anteriormente. Tras leer esa sección puede
- volver aquí y leer la
- <xref linkend="install-floppies"/>.</para>
- </sect2>
-
- <sect2 xml:id="install-floppies">
- <title>Preparación del medio de arranque</title>
-
- <para>El proceso de instalación de &os; comienza por arrancar
- su sistema mediante el instalador de &os;: no es un programa que
- pueda ejecutar desde otro sistema operativo. Su sistema suele
- arrancar usando el sistema operativo que está instalado en
- su disco duro pero puede también ser configurado para que
- lo haga desde un floppy «arrancable». Las computadoras
- más modernas pueden también arrancar desde un CDROM
- introducido en la unidad CDROM.</para>
-
- <tip>
- <para>Si tiene &os; en CDROM o DVD (por haberlo comprado o haberlo
- preparado por usted) y su sistema puede arracar desde
- CDROM o DVD (suele ser una opción de BIOS llamada
- «Boot Order» o algo similar) puede saltarse esta
- sección. Las imágenes de CDROM o DVD de &os;
- permiten arrancar desde ellas y pueden emplearse para instalar
- &os; sin ninguna preparación especial.</para>
- </tip>
-
- <para>Siga estos pasos para crear las imágenes que le
- permitirán arrancar desde floppy:</para>
-
- <procedure>
- <step>
- <title>Consiga las imágenes de arranque desde
- floppy</title>
-
- <para>Los discos de arranque se encuentran en el directorio
- <filename>floppies/</filename> del medio de instalación
- o pueden descargarse desde el directorio correspondiente de
- <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&lt;arch&gt;/&lt;version&gt;-RELEASE/floppies/</literal>.
- Reemplace <replaceable>&lt;arch&gt;</replaceable> y
- <replaceable>&lt;version&gt;</replaceable> con la
- arquitectura y la versión de &os; que quiera instalar.
- Por ejemplo, las imágenes de arranque desde floppy para
- &os;&nbsp;&rel.current;-RELEASE para &i386; están en
- from <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/floppies/">ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/floppies/</uri>.</para>
-
- <para>Las imágenes de floppy tienen la extensión
- <filename>.flp</filename>. El directorio
- <filename>floppies/</filename> contiene diferentes imágenes
- y las que usted necesitará dependerán de la
- versión de &os; que vaya a instalar y, en algunos casos,
- del hardware en el que lo va a instalar. En la mayoría de
- de los casos solamente usará dos ficheros:
- <filename>kern.flp</filename> y
- <filename>mfsroot.flp</filename>. La instalación en
- algunos sistemas concretos requerirá controladores de
- dispositivo adicionales, que se encuentran en la imagen
- <filename>drivers.flp</filename>. Consulte
- <filename>README.TXT</filename> en el propio directorio,
- ahí encontrará la información más
- reciente sobre las imágenes.</para>
-
- <important>
- <para>Su programa de FTP debe usar <emphasis>modo
- binario</emphasis> para descargar las imágenes.
- Algunos navegadores web suelen usar el modo
- <emphasis>texto</emphasis> ( o <emphasis>ASCII</emphasis>).
- He aquí lo primero a comprobar si no puede arrancar desde
- los disquetes que ha creado.</para>
- </important>
- </step>
-
- <step>
- <title>Preparación de los discos floppy</title>
-
- <para>Tendrá que preperar un disquete por cada imagen que
- descargue. Es imprescindible que esos discos carezcan de
- errores. La forma más sencilla de asegurarlo es
- formatearlos usted. No confíe en disquetes
- preformateados. La herramienta de formateo de &windows; no le
- advertirá del hallazgo de bloques defectuosos,
- si encuentra alguno sencillamente lo marcará como
- «defectuoso» y lo ignorará. Le recomendamos
- que use disquetes nuevos si decide usar este procedimiento de
- instalación.</para>
-
- <important>
- <para>Si instenta instalar &os; y el programa de
- instalación falla, se queda congelado o sucede alguna
- otra catástrofe uno de las primeras cosas de las que
- sospechar son los disquetes. Vuelque los ficheros
- de imagen en discos nuevos e inténtelo de nuevo.</para>
- </important>
- </step>
-
- <step>
- <title>Escriba los ficheros de imagen en discos floppy («
- disquetes»)</title>
-
- <para>Los ficheros <filename>.flp</filename> <emphasis>
- no</emphasis> son ficheros normales que puedan copiarse
- a disco. Son imágenes del contenido completo de los
- discos. Esto significa que <emphasis>no puede</emphasis>
- simplemente copiar esos ficheros de un disco a otro. Debe
- usar herramientas especializadas para escribir esas
- imágenes directamente al disco correspondiente.</para>
-
- <indexterm><primary>DOS</primary></indexterm>
- <para>Si va a crear los disquetes de arranque en un sistema en
- el que se está ejecutando &ms-dos;/&windows; utilice
- la herramienta <command>fdimage</command>.</para>
-
- <para>Si las imágenes están en el CDROM y su
- CDROM es la unidad <filename>E:</filename> ejecute lo
- siguiente:</para>
-
- <screen><prompt>E:\&gt;</prompt> <userinput>tools\fdimage floppies\kern.flp A:</userinput></screen>
-
- <para>Repita el proceso con cada fichero <filename>.flp</filename>
- reemplazando cada vez el disco y recuerde etiquetarlos
- con el nombre del fichero que ha copiado en cada uno. Modifique
- la línea del comando donde sea necesario, adaptándola
- al lugar donde tenga usted los ficheros <filename>.flp</filename>.
- Puede descargar <command>fdimage</command> desde el directorio <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/"><filename>tools</filename>
- </link> del sitio FTP de &os;.</para>
-
- <para>Si va a crear los disquetes en un sistema &unix; (por ejemplo
- otro sistema &os;) puede utilizar &man.dd.1; para volcar las
- imágenes a los discos. En &os; puede ejecutar algo
- como:</para>
-
- <screen>&prompt.root; <userinput>dd if=kern.flp of=/dev/fd0</userinput></screen>
-
- <para>En &os; <filename>/dev/fd0</filename> es la primera
- unidad de disquetes (la unidad
- <filename>A:</filename>). <filename>/dev/fd1</filename>
- sería la unidad <filename>B:</filename> y así
- sucesivamente. Otras versiones de &unix; pueden asignar
- nombres diferentes a las unidades de disquetes; consulte la
- documentación de su sistema.</para>
- </step>
- </procedure>
-
- <para>Ya podemos instalar instalar &os;.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="install-start">
- <title>Inicio de la instalación</title>
-
- <important>
- <para>La instalación no efectúa ningún
- cambio en su disco o discos duros hasta la aparición del
- siguiente mensaje:</para>
-
- <literallayout class="monospaced">Last Chance: Are you SURE you want continue the installation?
-
-If you're running this on a disk with data you wish to save then WE
-STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
-
-We can take no responsibility for lost disk contents!</literallayout>
-
- <para>Es decir:</para>
- <literallayout class="monospaced">Última oportunidad: ?Seguro que quiere seguir adelante con la instalación?
-
-¡Si está ejecutando este programa en un disco que contenga datos
-que quiera conservar LE RECOMENDAMOS ENCARECIDAMENTE QUE HAGA
-COPIAS DE SEGURIDAD FIABLES antes de proseguir!
-
-¡No podemos responsabilizarnos de datos perdidos!</literallayout>
-
-
- <para>El proceso de instalación puede abandonarse en cualquier
- momento antes de la advertencia final sin efectuar cambios en el
- contenido del disco duro. Si advierte que ha configurado algo
- de forma incorrecta basta con que apague su sistema y no
- estropeará nada.</para>
- </important>
-
- <sect2 xml:id="install-starting">
- <title>El arranque</title>
-
- <sect3 xml:id="install-starting-i386">
- <title>El arranque en &i386;</title>
-
- <procedure>
- <step>
- <para>Comience con su sistema apagado.</para>
- </step>
-
- <step>
- <para>Arranque el sistema. Durante el arranque deberí
- mostrarse la opción para entrar en la BIOS, normalmente
- mediante las teclas <keycap>F2</keycap>, <keycap>F10</keycap>,
- <keycap>Del</keycap>, o
- <keycombo action="simul">
- <keycap>Alt</keycap>
- <keycap>S</keycap>
- </keycombo>. Utilice la tecla o combinación de las mismas
- que se le indique en pantalla. En algunos casos el sistema puede
- mostrar un gráfico durante el arranque. Pulsar
- <keycap>Esc</keycap> suele disminuir en esos casos el
- tamaño del gráfico y le permitirá ver
- los mensajes del arranque.</para>
- </step>
-
- <step>
- <para>Encuentre el parámetro que controla desde qué
- dispositivos arranca el sistema. Normalmente se llama
- «Boot Order» y suele presentarse como una lista
- de dispositivos, como <literal>Floppy</literal>,
- <literal>CDROM</literal>, <literal>First Hard Disk</literal>,
- etc.</para>
-
- <para>Si necesita disquetes de arranque asegúrese de que
- selecciona la unidad correspondiente. Si va a arrancar desde
- CDROM, seleccione la unidad CDROM. En caso de duda consulte el
- manual que venía con su computadora y/o el de su placa
- base.</para>
-
- <para>Haga los cambios necesarios, guarde los cambios y salga.
- El sistema debería reiniciarse.</para>
- </step>
-
- <step>
- <para>Si ha elegido arrancar desde disquete, tal y como se describe
- en <xref linkend="install-floppies"/>, uno de ellos será
- el primer disco de arranque, probablemente el que contiene
- <filename>kern.flp</filename>. Introduzca ese disco en su
- unidad de disquetes.</para>
-
- <para>Si va a arrancar desde CDROM tendrá que arrancar el
- sistema e introducir el CDROM en cuanto tenga
- ocasión.</para>
-
- <para>Si su sistema arranca normalmente y carga el sistema
- operativo que ya está instalado puede ocurrir alguna
- de estas cosas:</para>
-
- <orderedlist>
- <listitem>
- <para>Los discos no se introdujeron lo suficientemente pronto
- en el proceso de arranque. Déjelos insertados y
- reinicie su sistema.</para>
- </listitem>
-
- <listitem>
- <para>Los cambios que hizo en la BIOS no han funcionado.
- Debería repetir los pasos previos hasta que dé
- con la opción correcta.</para>
- </listitem>
-
- <listitem>
- <para>Su BIOS en concreto no admite el arranque el arranque
- desde el medio que ha elegido.</para>
- </listitem>
- </orderedlist>
- </step>
-
- <step>
- <para>&os; comenzará a arrancar. Si está arrancando
- desde CDROM debería ver algo parecido a esto (se ha omitido
- la información de número de versión):</para>
-
- <screen>Verifying DMI Pool Data ........
-Boot from ATAPI CD-ROM :
- 1. FD 2.88MB System Type-(00)
-Uncompressing ... done
-
-BTX loader 1.00 BTX version is 1.01
-Console: internal video/keyboard
-BIOS drive A: is disk0
-BIOS drive B: is disk1
-BIOS drive C: is disk2
-BIOS drive D: is disk3
-BIOS 639kB/261120kB available memory
-
-FreeBSD/i386 bootstrap loader, Revision 0.8
-
-/kernel text=0x277391 data=0x3268c+0x332a8 |
-
-|
-Hit [Enter] to boot immediately, or any other key for command prompt.
-Booting [kernel] in 9 seconds... _</screen>
-
- <para>Si arranca desde floppy verá algo parecido a esto
- (se ha omitido la información de número de
- versión):</para>
-
- <screen>Verifying DMI Pool Data ........
-
-BTX loader 1.00 BTX version is 1.01
-Console: internal video/keyboard
-BIOS drive A: is disk0
-BIOS drive C: is disk1
-BIOS 639kB/261120kB available memory
-
-FreeBSD/i386 bootstrap loader, Revision 0.8
-
-/kernel text=0x277391 data=0x3268c+0x332a8 |
-
-Please insert MFS root floppy and press enter:</screen>
-
- <para>Siga las instrucciones y extraiga el disco
- <filename>kern.flp</filename> disc, inserte el disco
- <filename>mfsroot.flp</filename> y pulse
- <keycap>Intro</keycap>.</para>
- </step>
-
- <step>
- <para>Tanto si arranca desde disquete como CDROM el proceso
- de arranque llegará a este punto:</para>
-
- <screen>Hit [Enter] to boot immediately, or any other key for command prompt.
-Booting [kernel] in 9 seconds... _</screen>
-
- <para>Dicho y hecho: espere diez segundos o pulse
- <keycap>Enter</keycap>. Esto lanzará el menú de
- configuración del kernel.</para>
- </step>
- </procedure>
-
- </sect3>
- <sect3>
- <title>Arranque en Alpha</title>
-
- <indexterm><primary>Alpha</primary></indexterm>
-
- <procedure>
- <step>
- <para>Comience con su sistema apagado.</para>
- </step>
-
- <step>
- <para>Encienda su computadora y espera un mensaje de arranque
- en el monitor.</para>
- </step>
-
- <step>
- <para>Si va a arrancar desde disquetes, tal y como se describe en la
- <xref linkend="install-floppies"/>, uno de ellos será el
- primer disco de arranque, probablemente el que contiene
- <filename>kern.flp</filename>. Ponga este disco en la unidad de
- disquetes y escriba el siguiente comando para lanzar el arranque
- desde el disco (corrija el nombre de su unidad de disquetes si
- fuera necesario):</para>
-
- <screen>&gt;&gt;&gt;<userinput>BOOT DVA0 -FLAGS '' -FILE ''</userinput></screen>
-
- <para>Si va a arrancar desde CDROM introduzca el CDROM en la
- unidad y escriba el siguiente comando para iniciar la
- instalación (corrija el nombre de la unidad correcta de
- CDROM si fuera necesario):</para>
-
- <screen>&gt;&gt;&gt;<userinput>BOOT DKA0 -FLAGS '' -FILE ''</userinput></screen>
- </step>
-
- <step>
- <para>&os; comenzará a arrancar. Si está arrancando
- desde disquete llegado un cierto punto verá usted este
- mensaje:</para>
-
- <screen>Please insert MFS root floppy and press enter:</screen>
-
- <para>Siga las instrucciones del programa de instalación y
- retire el disco <filename>kern.flp</filename>, inserte el
- disco <filename>mfsroot.flp</filename>y pulse
- <keycap>Intro</keycap>.</para>
- </step>
-
- <step>
- <para>Tanto si arrancó desde disquete como desde CDROM
- el proceso de arranque llegará a este punto:</para>
-
- <screen>Hit [Enter] to boot immediately, or any other key for command prompt.
-Booting [kernel] in 9 seconds... _</screen>
-
- <para>Dicho y hecho: Espere diez segundos o pulse
- <keycap>Enter</keycap>. Esto iniciará el menú
- de configuración del kernel.</para>
- </step>
- </procedure>
-
- </sect3>
-
- <sect3>
- <title>Arranque en &sparc64;</title>
-
- <para>La mayoría de sistemas &sparc64; están
- configurados para arrancar automáticamente desde
- disco. Si quiere instalar &os; tendrá que arrancar
- por red o desde un CDROM, lo que requiere que acceda a la
- PROM (OpenFirmware).</para>
-
- <para>Reinicie el sistema y espere hasta que aparezca el mensaje
- de arranque. Depende del modelo, pero debería parecerse
- a este:</para>
-
- <screen>Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
-Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
-OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
-Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen>
-
- <para>Si en este punto su sistema arranca desde el disco
- pulse
- <keycombo action="simul"><keycap>L1</keycap><keycap>A</keycap></keycombo>
- o
- <keycombo action="simul"><keycap>Stop</keycap><keycap>A</keycap></keycombo>,
- o envíe un<command>BREAK</command> desde la consola serie
- serial console (usando, por ejemplo, <command>~#</command> en
- &man.tip.1; o &man.cu.1;) para así recuperar el prompt de
- PROM. Tiene este aspecto:</para>
-
- <screen><prompt>ok </prompt><co xml:id="prompt-single"/>
-<prompt>ok {0} </prompt><co xml:id="prompt-smp"/></screen>
-
- <calloutlist>
- <callout arearefs="prompt-single">
- <para>Este es el prompt que verá en sistemas con una sola
- CPU.</para>
- </callout>
-
- <callout arearefs="prompt-smp">
- <para>Este prompt se usa en sistemas SMP; el dígito
- indica el número de la CPU activa.</para>
- </callout>
- </calloutlist>
-
- <para>Ponga el CDROM dentro de la unidad y teclée
- <command>boot cdrom</command> en el prompt
- de la PROM.</para>
-
- </sect3>
-
- </sect2>
-
-
-
- <sect2 xml:id="view-probe">
- <title>Revisión de los resultados de la prueba de dispositivos</title>
-
- <para>Es posible revisar los últimos cientos de líneas que
- se han mostrado en pantalla, pues se almacenan en un búfer con ese
- propósito.</para>
-
- <para>Pulse <keycap>Bloq Despl</keycap> (<keycap>Scroll Lock</keycap>) y ya
- puede revisar el búfer. Para moverse use las flechas o
- <keycap>RePág</keycap> y <keycap>AvPág</keycap>
- (<keycap>PageUp</keycap> y <keycap>PageDown</keycap> respectivamente). Pulse
- de nuevo <keycap>Bloq Despl</keycap> (<keycap>Scroll Lock</keycap>) cuando
- quiera salir del búfer.</para>
-
- <para>Pruébelo, revise el texto que ha generado el kernel al probar
- los dispositivos del sistema. Verá un texto muy similar al de la
- <xref linkend="install-dev-probe"/>, aunque en su caso concreto se
- mostrarán los dispositivos que tenga su sistema.</para>
-
- <figure xml:id="install-dev-probe">
- <title>Ejemplo de resultado de prueba de dispositivos</title>
-
- <screen>avail memory = 253050880 (247120K bytes)
-Preloaded elf kernel "kernel" at 0xc0817000.
-Preloaded mfs_root "/mfsroot" at 0xc0817084.
-md0: Preloaded image &lt;/mfsroot&gt; 4423680 bytes at 0xc03ddcd4
-
-md1: Malloc disk
-Using $PIR table, 4 entries at 0xc00fde60
-npx0: &lt;math processor&gt; on motherboard
-npx0: INT 16 interface
-pcib0: &lt;Host to PCI bridge&gt; on motherboard
-pci0: &lt;PCI bus&gt; on pcib0
-pcib1:&lt;VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge&gt; at device 1.0 on pci0
-pci1: &lt;PCI bus&gt; on pcib1
-pci1: &lt;Matrox MGA G200 AGP graphics accelerator&gt; at 0.0 irq 11
-isab0: &lt;VIA 82C586 PCI-ISA bridge&gt; at device 7.0 on pci0
-isa0: &lt;iSA bus&gt; on isab0
-atapci0: &lt;VIA 82C586 ATA33 controller&gt; port 0xe000-0xe00f at device 7.1 on pci0
-ata0: at 0x1f0 irq 14 on atapci0
-ata1: at 0x170 irq 15 on atapci0
-uhci0 &lt;VIA 83C572 USB controller&gt; port 0xe400-0xe41f irq 10 at device 7.2 on pci
-0
-usb0: &lt;VIA 83572 USB controller&gt; on uhci0
-usb0: USB revision 1.0
-uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
-uhub0: 2 ports with 2 removable, self powered
-pci0: &lt;unknown card&gt; (vendor=0x1106, dev=0x3040) at 7.3
-dc0: &lt;ADMtek AN985 10/100BaseTX&gt; port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
-q 11 at device 8.0 on pci0
-dc0: Ethernet address: 00:04:5a:74:6b:b5
-miibus0: &lt;MII bus&gt; on dc0
-ukphy0: &lt;Generic IEEE 802.3u media interface&gt; on miibus0
-ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
-ed0: &lt;NE2000 PCI Ethernet (RealTek 8029)&gt; port 0xec00-0xec1f irq 9 at device 10.
-0 on pci0
-ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
-isa0: too many dependant configs (8)
-isa0: unexpected small tag 14
-orm0: &lt;Option ROM&gt; at iomem 0xc0000-0xc7fff on isa0
-fdc0: &lt;NEC 72065B or clone&gt; at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
-fdc0: FIFO enabled, 8 bytes threshold
-fd0: &lt;1440-KB 3.5&rdquo; drive&gt; on fdc0 drive 0
-atkbdc0: &lt;Keyboard controller (i8042)&gt; at port 0x60,0x64 on isa0
-atkbd0: &lt;AT Keyboard&gt; flags 0x1 irq1 on atkbdc0
-kbd0 at atkbd0
-psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
-psm0: model Generic PS/@ mouse, device ID 0
-vga0: &lt;Generic ISA VGA&gt; at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
-sc0: &lt;System console&gt; at flags 0x100 on isa0
-sc0: VGA &lt;16 virtual consoles, flags=0x300&gt;
-sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
-sio0: type 16550A
-sio1 at port 0x2f8-0x2ff irq 3 on isa0
-sio1: type 16550A
-ppc0: &lt;Parallel port&gt; at port 0x378-0x37f irq 7 on isa0
-pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
-ppc0: FIFO with 16/16/15 bytes threshold
-plip0: &lt;PLIP network interface&gt; on ppbus0
-ad0: 8063MB &lt;IBM-DHEA-38451&gt; [16383/16/63] at ata0-master UDMA33
-acd0: CD-RW &lt;LITE-ON LTR-1210B&gt; at ata1-slave PIO4
-Mounting root from ufs:/dev/md0c
-/stand/sysinstall running as init on vty0</screen>
- </figure>
-
- <para>Compruebe cuidadosamente que &os; haya encontrado todos los
- dispositivos que debe encontrar. Si no se lista algún
- dispositivo significa que &os; no lo ha encontrado. Un <link linkend="kernelconfig">kernel personalizado</link> le permitirá
- agregar al sistema el soporte de dispositivos que no aparecen en el
- kernel<filename>GENERIC</filename>, que suele ser el caso de algunas
- tarjetas de sonido.</para>
-
- <para>En &os;&nbsp;6.2 y versiones siguientes verá tras la
- prueba de dispositivos verá lo que muestra la
- <xref linkend="config-country"/>. Utilice las flechas del teclado
- para elegir país, región o grupo. Cuando acabe pulse
- <keycap>Intro</keycap>, con lo que habrá elegido país y
- esquema de teclado. En cualquier momento puede salir de
- easily. It is also easy to exit the
- <application>sysinstall</application> y volver a empezar.</para>
-
- <figure xml:id="config-country">
- <title>Menú de selección de país</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/config-country"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <figure xml:id="sysinstall-exit">
- <title>Salir de Sysinstall</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/sysinstall-exit"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Para salir de <application>sysinstall</application> utilice
- las flechas del teclado para seleccionar
- <guimenuitem>Exit Install</guimenuitem> en el menú de la
- pantalla principal de instalación. Aparecerá el
- siguiente mensaje:</para>
-
-
- <screen> User Confirmation Requested
- Are you sure you wish to exit? The system will reboot
- (be sure to remove any floppies/CDs/DVDs from the drives).
-
- [ Yes ] No</screen>
-
- <para>Si pulsa &gui.yes; y no retira el CDROM durante el reinicio el
- programa de instalación comenzará de nuevo.</para>
-
- <para>Si está arrancando desde disquetes tendrá que
- retirar el floppy
- <filename>boot.flp</filename> antes de reiniciar.</para>
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="using-sysinstall">
- <title>?Qué es sysinstall?</title>
-
- <para><application>sysinstall</application> es la aplicación que
- el Proyecto &os; creó para la instalación del sistema.
- Está orientada a consola y consta de diversos menús y
- pantallas que podrá usar para configurar y ejecutar el
- proceso de instalación.</para>
-
- <para>El sistema de menús de <application>sysinstall</application>
- se controla mediante las flechas del teclado,
- <keycap>Intro</keycap>,el <keycap>tabulador</keycap>), <keycap>Espacio</keycap> y
- otras teclas. Tiene una descripción detallada de todas esas teclas y
- qué es lo que hacen en la información de uso de
- <application>sysinstall</application>.</para>
-
- <para>Si quiere consultarla seleccione
- <guimenuitem>Usage</guimenuitem> y asegúrese de que el botón
- <guibutton>[Select]</guibutton> esté seleccionado (como se ven en la <xref linkend="sysinstall-main3"/>) y pulse <keycap>Intro</keycap>.</para>
-
- <para>Aparecerán las instrucciones de uso del sistema de
- menús. Una vez revisadas pulse <keycap>Enter</keycap>
- y volverá al menú principal.</para>
-
- <figure xml:id="sysinstall-main3">
- <title>Selección de «Usage» en el menú principal de sysinstall</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/main1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <sect2 xml:id="select-doc">
- <title>Selección del menú de documentación</title>
-
- <para>Una vez en el menú principal seleccione <guimenuitem>Doc</guimenuitem>
- con las flechas del teclado y pulse
- <keycap>Enter</keycap>.</para>
-
- <figure xml:id="main-doc">
- <title>Selección del menú de documentación</title>
-
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/main-doc"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Esto mostrará el menú de documentación.</para>
-
- <figure xml:id="docmenu1">
- <title>El menú de documentación de sysinstall</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/docmenu1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Es muy importante qeu lea la documentación de sysinstall.</para>
-
- <para>Si quiere consultar un documento seleccionelo con las flechas
- y pulse <keycap>Intro</keycap>. Cuando acabe pulse de nuevo
- <keycap>Intro</keycap> y volverá al menú de
- documentación.</para>
-
- <para>Si desea regresar al menú principal de la instalación
- seleccione <guimenuitem>Exit</guimenuitem> con las flechas
- y pulse <keycap>Intro</keycap>.</para>
- </sect2>
-
- <sect2 xml:id="keymap">
- <title>Selección del menú de esquemas de teclado</title>
-
- <para>Si quiere cambiar el esquema de teclado seleccione el que
- <guimenuitem>Keymap</guimenuitem> y pulse
- <keycap>Enter</keycap>. Tendrá que hacer esto si su
- teclado no es el estándar en los EEUU.</para>
-
- <figure xml:id="sysinstall-keymap">
- <title>Menú principal de sysinstall</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/main-keymap"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>La selección de un esquema de teclado se hace del siguiente
- modo: seleccione uno de la lista mediante las flechas arriba/abajo y pulse
- <keycap>Espacio</keycap>.
- Si pulsa <keycap>Espacio</keycap> otra vez anulará la selección.
- Una vez que tenga clara su elección use las flechas para seleccionar
- &gui.ok; y pulse <keycap>Intro</keycap>.</para>
-
- <para>En esta pantalla solamente se muestra una parte de la lista. Seleccione
- &gui.cancel; usando el <keycap>tabulador</keycap> si ha decido seguir usando
- el esquema de teclado por omisión y regresar al menú
- principal de instalación.</para>
-
- <figure xml:id="sysinstall-keymap-menu">
- <title>Menú de esquemas de teclado de sysinstall</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/keymap"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- </sect2>
-
- <sect2 xml:id="viewsetoptions">
- <title>Pantalla de opciones de instalación</title>
-
- <para>Seleccione <guimenuitem>Options</guimenuitem> y pulse
- <keycap>Intro</keycap>.</para>
-
- <figure xml:id="sysinstall-options">
- <title>Menú principal de sysinstall</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/main-options"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <figure xml:id="options">
- <title>Opciones de sysinstall</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/options"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Los valores por omisión deberían bastar para
- la mayoría de usuarios. El número de
- «release» variará según sea la
- versión que se está instalando.</para>
-
- <para>La descripción del elemento seleccionado aparecerá
- resaltada en azul en la parte baja de la pantalla. Observe que una
- de las opciones es
- <guimenuitem>Use Defaults</guimenuitem>, que devuelve todos los valores
- a los asignados por omisión al principio del proceso de
- instalación.</para>
-
- <para>Si pulsa <keycap>F1</keycap> podrá leer la pantalla de
- ayuda de las diversas opciones.</para>
-
- <para>Si pulsa <keycap>Q</keycap> volverá al menú
- principal de la instalación.</para>
- </sect2>
-
- <sect2 xml:id="start-install">
- <title>Comenzar una instalación estándar</title>
-
- <para>La instalación estándar
- (<guimenuitem>Standard</guimenuitem>) es la opción más
- adecuada para aquellas personas con poca o ninguna experiencia con
- &unix; o &os;. Utilice las flechas para seleccionar
- <guimenuitem>Standard</guimenuitem> y pulse
- <keycap>Intro</keycap>; a partir de ahí comenzará
- la instalación.</para>
-
- <figure xml:id="sysinstall-standard">
- <title>Comenzar una instalación estándar</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/main-std"/>
- </imageobject>
- </mediaobject>
- </figure>
- </sect2>
- </sect1>
-
- <sect1 xml:id="install-steps">
- <title>Asignación de espacio en disco</title>
-
- <para>Lo primero que tiene que hacer es asignar espacio en disco a &os;
- para que <application>sysinstall</application> lo pueda dejar listo
- para su uso. Para ello debe saber cómo espera &os; encontrar
- la información en el disco.</para>
-
- <sect2 xml:id="install-drive-bios-numbering">
- <title>Numeración de unidades desde el punto de vista de la BIOS</title>
-
- <para>Antes de instalar y configurar &os; en su sistema hay una cosa más
- de la que ocuparse, especialmente si tiene más de un disco
- duro.</para>
-
- <indexterm><primary>DOS</primary></indexterm>
- <indexterm><primary>Microsoft Windows</primary></indexterm>
- <para>La BIOS es capz de abstraer el orden normal de los discos si hablamos
- de un PC en el que se está ejecutando un sistema operativo
- "BIOS-dependiente" como
- &ms-dos; o &microsoft.windows;, que admiten esos cambios sin problemas.
- Tal cosa permite al usuario arrancar desde un disco duro distinto del
- llamado «maestro principal». Esto viene muy bien a los
- usuarios que tienen el «backup» del sistema más
- barato que existe, comprar un disco duro idéntico al primero y
- copiar periódicamente la primera unidad en la segunda mediante
- <application>Ghost</application> o <application>XCOPY</application>.
- De este modo si la primera unidad falla, sufre el ataque de un virus o
- sufre las consecuencias de un fallo del sistema operativo sólo hay
- que decirle a la BIOS que interpole lógicamente las unidades. Es
- como intercambiar las conexiones de los discos sin tener que abrir
- la caja del sistema.</para>
-
- <indexterm><primary>SCSI</primary></indexterm>
- <indexterm><primary>BIOS</primary></indexterm>
- <para>en sistemas más caros a veces pueden encontrarse controladoras
- SCSI que incorporan extensiones BIOS, que permiten organizar hasta
- siete unidades SCSI de un modo muy similar.</para>
-
- <para>Cualquiera que esté acostumbrado a usar las técnicas
- descritas se llevará una sorpresa al intentar usarlas en &os;.
- &os; no usa la BIOS y no tiene en cuenta en absoluto la «notación
- de unidades lógicas desde el punto de vista de la BIOS». Esto
- puede dar lugar a situaciones bastante chocantes, especialmente cuando
- las unidades son físicamente idénticas en geometría
- y han sido creadas como clones de datos la una de la otra.</para>
-
- <para>Si va a usar &os; recuerde siempre devolver a la BIOS a los
- valores de numeración «natural» antes de la
- instalación y dejarlos así. Si tiene que intercambiar
- unidades hágalo, pero a la vieja usanza: abra la caja, toque
- los «jumpers» y los cables todo lo que sea menester.</para>
-
-
-
-<sidebar>
- <title>Veamos un instructivo ejemplo extraído de Las
- excepcionales aventuras de Pedro y Pablo:</title>
-
- <para>Pedro decide dedicar una vieja máquina
- «Wintel» para prepararle un sistema &os; a Pablo.
- Pedro le instala una sola unidad SCSI como
- «unidad SCSI 0» e instala &os; en ella.</para>
-
- <para>Pablo comienza a usar el sistema pero a los pocos dias
- advierte que esa vieja unidad SCSI está mostrando
- numerosos errores lógicos, así que informa del hecho
- a Pedro.</para>
-
- <para>Dias después Pedro decide solucionar el problema;
- consigue un disco idéntico al que instaló a Pablo.
- Le pasa un chequeo de superficie que da resultados satisfactorios,
- así que instala este disco como «unidad SCSI 4» y
- hace una copia binaria de la unidad 0 (el primer disco) a la
- recién instalada unidad 4. Una vez que el nuevo disco
- está instalado Pedro decide que hay que empezar a usarlo,
- así que configura la BIOS SCSI para reorganizar las unidades
- de disco para que el sistema arranque desde la unidad SCSI 4.
- &os; arranca desde dicha unidad y todo funciona perfectamente.</para>
-
- <para>Pablo sigue trabajando varios dias y no pasa mucho tiempo
- antes de que Pedro y Pablo decidan que ya es hora de meterse en una
- nueva aventura: actualizarse a la nueva versín de &os;.
- Bill retira la unidad SCSI 0 de la máquina porque le parece
- poco de fiar y la reemplaza por un disco que obtiene de su en
- apariencia inagotable trastero. Pedro instala la última
- versión de &os; en la nueva unidad SCSI mediante los
- disquetes FTP mágicos que Pablo ha bajado de Internet. La
- instalación se ejecuta sin problemas.</para>
-
- <para>Pablo utiliza la nueva versión de &os; durante unos
- dias y comprueba que en efecto es lo bastante buena como para
- usarla en el departamento de ingeniería. Ha llegado, por
- tanto, el momento de copiar los datos que tiene en la versión
- anterior de &os; a su nuevo alojamiento. Pablo monta la unidad
- SCSI 4 (la última que instaló con la versión
- anterior de &os;). Pablo queda consternado al comprobar que en la
- unidad SCSI 4 no hay ni rastro de sus preciados datos.</para>
-
- <para>?Dónde están los datos?</para>
-
- <para>Cuando Pedro hizo la copia binaria de la unidad SCSI 0
- en la unidad SCSI 4, la unidad se convirtió en el
- «el nuevo clon». Cuando Pedro reconfiguró la
- BIOS SCSI para poder arrancar desde la unidad SCSI 4 tan
- sólo estaba engañándose a sí mismo
- puesto que &os; seguía arrancando desde la unidad SCSI
- 0. Al hacer tal cambio en la BIOS causamos que parte del
- código de arranque y del cargador del sistema se copie de
- una a otra unidad pero en cuanto los controladores del kernel de
- &os; toman el control de la situación el esquema de
- nomenclatura de unidades de la BIOS es desestimado y &os; recupera
- el esquema normal de nomenclatura. En nuestro ejemplo el sistema
- sigue funcionando desde la unidad SCSI 0 y ahí están
- todos los datos de Pablo, no en la unidad SCSI 4. El hecho de que
- pareciera que el sistema estaba funcionando en la unidad SCSI 4 era
- un producto de la imaginación humana.</para>
-
- <para>Estamos encantados de decir que ni un solo byte fue
- herido o maltratado durante el descubrimiento de este
- fenómeno. La vieja unidad SCSI 0 fué recuperada del
- montón de discos caídos en acto de servicio y
- fue posible devolver todo el trabajo de Pablo a su
- legítimo dueño. Por si fuera poco, ahora Pedro sabe
- con certeza que es capaz de contar hasta cero.</para>
-
- <para>En el ejemplo se han usado unidades SCSI pero los conceptos
- pueden aplicarse perfectamente a unidades IDE.</para>
- </sidebar>
-
- </sect2>
-
- <sect2 xml:id="main-fdisk">
- <title>Creación de «slices» con FDisk</title>
-
-
- <note>
- <para>Aún no ha hecho modificaciones en su disco duro.
- Si cree que ha cometido algún error y quiere comenzar de
- nuevo puede hacerlo, salga de los menús de
- <application>sysinstall</application> e inténtelo de nuevo
- o pulse <keycap>U</keycap> para ejecutar la opción
- <guimenuitem>Undo</guimenuitem> (deshacer). Si se pierde o no
- sabe cómo salir siempre puede apagar su
- sistema.</para>
- </note>
-
- <para>Si ha elegido iniciar una instalación estándar
- <application>sysinstall</application> le mostrará el siguiente
- mensaje:</para>
-
- <screen> Message
- In the next menu, you will need to set up a DOS-style ("fdisk")
- partitioning scheme for your hard disk. If you simply wish to devote
- all disk space to FreeBSD (overwriting anything else that might be on
- the disk(s) selected) then use the (A)ll command to select the default
- partitioning scheme followed by a (Q)uit. If you wish to allocate only
- free space to FreeBSD, move to a partition marked "unused" and use the
- (C)reate command.
- [ OK ]
-
- [ Press enter or space ]</screen>
-
- <para>Es decir:</para>
-
- <screen> Mensaje
- En el siguiente menú tendrá que configurar un esquema de particionado
- estilo DOS ("fdisk") en su disco duro. Si quiere dedicar todo el
- espacio de disco a FreeBSD (cosa que sobreescribirá cualquier cosa
- que contuviera el/los disco/s) use el comando (A)ll (Todo) para
- seleccionar el esquema de particiones por defecto y luego pulse
- (Q)uit (Salir). Si quiere asignar a FreeBSD sólamente el espacio
- libre en la unidad elija una partición que figure marcada como
- "unused" (sin usar) y ejecute el comando (C)reate (Crear).
- [ OK ]
-
- [ Pulse Intro o Espacio ]</screen>
-
-
-
- <para>Pulse <keycap>Intro</keycap> tal y como se le dice. Se le
- mostrará una lista con todas las unidades de disco duro que el
- kernel ha econtrado al hacer el chequeo del sistema.
- La <xref linkend="sysinstall-fdisk-drive1"/> muestra un ejemplo de
- un sistema con dos discos IDE. Reciben los nombres de
- <filename>ad0</filename> y <filename>ad2</filename>.</para>
-
-
- <figure xml:id="sysinstall-fdisk-drive1">
- <title>Elija en qué unidad usar FDisk</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/fdisk-drive1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Quizás esté preguntandose por qué
- <filename>ad1</filename> no aparece por ningún lado.
- ?Acaso hemos pasado algo por alto?</para>
-
- <para>Veamos qué ocurriría si tuviera usted dos discos
- duros IDE, uno como maestro de la primera controladora IDE y el otro
- como maestro en la segunda controladora IDE. Si &os; asignara
- números de unidad en el orden en el que las encuentra en el
- ejemplo habríamos visto
- <filename>ad0</filename> y
- <filename>ad1</filename> y todo funcionaría sin
- mayor problema.</para>
-
-
- <para>Pero si tuviera usted que añadir un tercer disco, digamos
- como esclavo de la primera controladora IDE, tendría que
- llamarse <filename>ad1</filename> y el disco que antes era
- <filename>ad1</filename> pasaría a llamarse
- <filename>ad2</filename>. Los nombres de dispositivo (como
- por ejemplo <filename>ad1s1a</filename>) se usan para ubicar
- sistemas de ficheros, así que podría encontrarse con
- que alguno de sus sistemas de ficheros no está donde debiera
- y tendría que modificar la configuración de su
- &os;.</para>
-
- <para>Para evitar este problema el kernel puede configurarse para
- asignar nombres a discos IDE basándose en dónde
- están en lugar de hacerlo por el orden en el que los
- encuentra. Según dicho esquema el disco maestro de la segunda
- contoladora IDE <emphasis>siempre</emphasis> será
- <filename>ad2</filename>, incluso si no existen dispositivos
- <filename>ad0</filename> o
- <filename>ad1</filename>.</para>
-
-
- <para>Ésta es la configuración por omisión que
- incorpora el kernel de &os;, por lo que muestra las unidades
- <filename>ad0</filename> y
- <filename>ad2</filename>. La máquina en la que se tomaron
- las capturas de pantalla tiene sendos discos IDE en ambos canales
- maestros de las dos controladoras y carece de discos en los
- canales esclavos.</para>
-
- <para>Seleccione el disco en el que desea instalar &os; y pulse
- &gui.ok;. <application>FDisk</application> arrancará y
- le mostrará una pantalla similar a la que muestra la
- <xref linkend="sysinstall-fdisk1"/>.</para>
-
- <para>La pantalla de <application>FDisk</application> se divide en tres
- partes.</para>
-
-
- <para>La primera parte, que ocupa las dos primeras líneas de la
- pantalla, muestra los detalles del disco que seleccionemos, el
- nombre que &os; le da, la geometría del disco y el
- tamaño total del disco.</para>
-
- <para>La segunda parte muestra las «slices» que haya
- en el disco, dónde comienzan y acaban, cu&acute;l es su
- tamaño, qué nombre les da &os;, su descripción
- y subtipo. Este ejemplo muestra dos pequeñas
- «slices» sin usar; las «slices» (del
- inglés «rebanadas») son un tipo de esquema
- estructural de los discos de PC. También muestra una gran
- «slice» <acronym>FAT</acronym>, que casi con total
- seguridad aparecerá como <filename>C:</filename> en
- &ms-dos; / &windows;, y una «slice» extendida, que
- podría contener otras letras de unidad de
- &ms-dos; / &windows;.</para>
-
- <para>La tercera parte muestra las órdenes que pueden usarse en
- <application>FDisk</application>.</para>
-
- <figure xml:id="sysinstall-fdisk1">
- <title>Un ejemplo de particionamiento típico con FDisk</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/fdisk-edit1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
-
-
- <para>Lo que deba hacer a partir de ahora dependerá mucho de
- la forma en la que quiera distribuir su disco.</para>
-
- <para>Si desea usar &os; en el resto del disco (lo que implica borrar
- todos los datos que pudiera haber en el disco una vez que le
- confirme a <application>sysinstall</application> que desea seguir
- adelante con la instalación) pulse <keycap>A</keycap>, que
- equivale a la opción <guimenuitem>Use Entire Disk</guimenuitem>
- (Utilizar el disco íntegro). Las «slices» que
- existieran se borrarán y serán reemplazadas por un pequeño
- área de disco marcado como <literal>sin usar</literal> (otro
- recurso de la estructura de disco de los PC) y tras él una gran
- «slice» destinada a &os;. Ahora marque la
- partición &os; que acaba de crear como arrancable: pulse
- <keycap>S</keycap>. La pantalla que verá ha de ser muy
- similar a la <xref linkend="sysinstall-fdisk2"/>. Observe la
- <literal>A</literal> en la columna <literal>Flags</literal>: indica
- que la «slice» es <emphasis>activa</emphasis> y se
- arrancará desde ella.</para>
-
- <para>Si desea borrar una «slice» para hacer más
- sitio a &os; selecciónela mediante las flechas y pulse
- <keycap>D</keycap>. Después pulse <keycap>C</keycap> y
- verá un mensaje en el que se le pedirá el
- tamaño de la «slice» que va a crear.
- Introduzca los datos apropiados y pulse <keycap>Intro</keycap>.
- El valor por defecto en ésta pantalla es el de la
- «slice» más grande que pueda crear en el disco,
- que debería ser la mayor parte del disco que queda sin usar
- o el tamaño del disco duro completo.</para>
-
- <para>Si ha hecho sitio para &os; (quizás con una herramienta
- como <application>&partitionmagic;</application>) puede pulsar
- press <keycap>C</keycap> y crear una nueva «slice».
- Verá de nuevo un mensaje en el que se le pedirá que
- escriba el tamaño de la «slice» que va a
- crear.</para>
-
- <figure xml:id="sysinstall-fdisk2">
- <title>Partición con FDisk usando el disco completo</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/fdisk-edit2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Cuando acabe pulse <keycap>Q</keycap>. Sus cambios se guardarán
- en <application>sysinstall</application>, pero de momento no se
- guardarán en disco.</para>
- </sect2>
-
- <sect2 xml:id="bootmgr">
- <title>Instalación de un gestor de arranque</title>
-
- <para>Ha llegado el momento de instalar un gestor de arranque. Elija
- el gestor de arranque de &os; si:</para>
-
- <itemizedlist>
- <listitem>
- <para>Tiene más de un disco y ha instalado &os; en cualquiera
- que no sea el primero.</para>
- </listitem>
-
- <listitem>
- <para>Ha instalado &os; codo con codo con otro sistema operativo
- y quiere poder elegir si arrancar &os; o ese otro sistema operativo
- cuando arranque su sistema.</para>
- </listitem>
- </itemizedlist>
-
- <para>Si &os; va a ser el único sistema operativo en el
- sistema y va a instalarlo en el primer disco duro elija el
- gestor estándar (que, obviamente, está en la
- opción <guimenuitem>Standard</guimenuitem>). Elija
- <guimenuitem>None</guimenuitem> (ninguno) si va a usar algún
- otro gestor de arranque que sea capaz de arrancar &os;.</para>
-
- <para>Elija y pulse <keycap>Intro</keycap>.</para>
-
- <figure xml:id="sysinstall-bootmgr">
- <title>Menú de gestores de arranque de sysinstall</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/boot-mgr"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>La pantalla de ayuda, que puede consultar en cualquier momento
- pulsando <keycap>F1</keycap>, puede serle de mucha ayuda con los
- problemas que puede encontrarse al intentar compartir un disco duro
- entre varios sistemas operativos.</para>
- </sect2>
-
- <sect2>
- <title>Creación de «slices» en otra unidad.</title>
-
-
- <para>Si hay más de una unidad de disco el programa de
- instalación volverá a la pantalla
- «Select Drives» («selección de
- unidades») una vez elegido el gestor de arranque. Si quiere
- instalar &os; en más de un disco seleccione aquí ese
- otro disco y repita el proceso con las «slices» mediante
- <application>FDisk</application>.</para>
-
- <important>
- <para>Si va a instalar &os; en una unidad que no sea la primera
- tendrá que instalar el gestor de arranque de &os;
- en ambas unidades.</para>
- </important>
-
- <figure xml:id="sysinstall-fdisk-drive2">
- <title>Salir de la selección de unidad</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/fdisk-drive2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>El <keycap>tabulador</keycap> se usa para hacer pasar el
- cursor entre &gui.ok;, &gui.cancel;.</para>
-
- <para>Pulse <keycap>tabulador</keycap> para pasar el cursor a
- &gui.ok; y pulse
- <keycap>Enter</keycap> para proseguir con la
- instalación.</para>
- </sect2>
-
- <sect2 xml:id="bsdlabeleditor">
- <title>Creación de particiones con
- <application>Disklabel</application></title>
-
- <para>Tendrá que crear particiones dentro de las
- «slices» que haya creado. Recuerde que cada
- partición está asociada a una letra entre la
- <literal>a</literal> y la <literal>h</literal>y que las particiones
- <literal>b</literal>, <literal>c</literal> y
- <literal>d</literal> tienen significados heredados que tendrá
- que respetar.</para>
-
-
- <para>Ciertas aplicaciones pueden optimizar su rendimiento de un
- esquema de particiones concreto, sobre todo si hace particiones
- repartidas en más de un disco. Si embargo si esta es su
- primera instalación de &os; no necesita dedicarle demasiado
- tiempo a decidir cómo partir el disco duro. Es mucho
- más importante que instale &os; y empiece a aprender a
- usarlo. Siempre estáa tiempo de reinstalar &os; y cambiar
- su esquema de particiones cuando esté más
- familiarizado con el sistema operativo.</para>
-
- <para>El siguiente esquema consta de cuatro particiones: una para la swap y
- tres para los sistemas de ficheros.</para>
-
- <table frame="none" pgwide="1">
- <title>Estructura de particiones del primer disco</title>
-
- <tgroup cols="4">
- <colspec colwidth="1*"/>
- <colspec colwidth="1*"/>
- <colspec colwidth="1*"/>
- <colspec colwidth="4*"/>
-
- <thead>
- <row>
- <entry>Partición</entry>
-
- <entry>Sistema de ficheros</entry>
-
- <entry>Tamaño</entry>
-
- <entry>Descripción</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literal>a</literal></entry>
-
- <entry><filename>/</filename></entry>
-
- <entry>512&nbsp;MB</entry>
-
-
- <entry>Este es el sistema de ficheros raíz. el resto
- de sistemas de ficheros se montarán en algún
- punto de este sistema raíz. 100&nbsp;MB es un
- tamaño razonable para él. No es el mejor sitio
- para almacenar muchos datos y la instalación de &os;
- escribirá cerca de 40&nbsp;MB de datos en ella.
- El resto del espacio es para datos temporales y por si futuras
- versiones de &os; necesitan más espacio en
- <filename>/</filename>.</entry>
- </row>
-
- <row>
- <entry><literal>b</literal></entry>
-
- <entry>N/A</entry>
-
- <entry>2-3 x RAM</entry>
-
- <entry><para>Esta partición es el espacio de memoria de
- intercambio (o «swap») del sistema. La
- elección de la cantidad correcta de swap es
- casi un arte en sí mismo. Hay una regla
- básica que es asignar a la swap el doble o el
- triple de MB de los que haya en la memoria física
- (RAM) del sistema. Debería tener
- al menos 64&nbsp;MB de swap así que si tiene
- menos de 32&nbsp;MB de RAM asígnele a su swap
- 64&nbsp;MB.</para><para>
-
- Si tiene más de un disco puede poner espacio
- swap en cada disco. &os; usará ambas swap con el
- resultado de acelerar notablemente el intercambio de
- páginas de memoria. Calcule el total de swap que
- necesita (por ejemplo 128&nbsp;MB) y divida esa cantidad
- por el número de discos que tenga (por ejemplo dos)
- y ya tiene la cantidad de espacio que debe destinar a swap
- en cada uno de sus discos. En nuestro ejemplo 64&nbsp;MB
- de swap por disco.</para></entry>
- </row>
-
- <row>
- <entry><literal>e</literal></entry>
-
- <entry><filename>/var</filename></entry>
-
- <entry>256&nbsp;MB to 1024&nbsp;MB</entry>
-
-
- <entry>El directorio <filename>/var</filename> contiene
- ficheros que están en continuo cambio, como
- «logs» y otros ficheros
- administrativos. Muchos de esos ficheros son una
- consecuencia o son de gran ayuda para el correcto
- funcionamiento diario de &os;. &os; ubica dichos ficheros
- en ese sistema de ficheros para optimizar el acceso a
- los mismos sin afectar a otros ficheros ni directorios que
- tienen similar patrón de accesos.</entry>
- </row>
-
- <row>
- <entry><literal>f</literal></entry>
-
- <entry><filename>/usr</filename></entry>
-
- <entry>Resto del disco(al menos 2&nbsp;GB)</entry>
-
- <entry>El resto de sus ficheros pueden almacenarse en
- <filename>/usr</filename> y sus subdirectorios.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <warning>
- <para>Los valores que se han mostrado son simples ejemplos y
- se recomienda su uso exclusivamente a usuarios experimentados.
- Recomendamos a los usuarios que utilicen la opción
- <literal>Auto Defaults</literal>, que elegirá unas
- proporciones adecuadas para el espacio que encuentre
- disponible.</para>
- </warning>
-
- <para>Si va a instalar &os; en más de un disco puede crear
- particiones el las demás «slices» que haya
- creado. La forma más fácil de hacerlo es creando
- dos particiones en cada disco, una para la swap y la otra para los
- sistemas de ficheros.</para>
-
- <table frame="none" pgwide="1">
- <title>Esquema de particiones para varios discos</title>
-
- <tgroup cols="4">
- <colspec colwidth="1*"/>
- <colspec colwidth="1*"/>
- <colspec colwidth="2*"/>
- <colspec colwidth="3*"/>
-
- <thead>
- <row>
- <entry>Partición</entry>
-
- <entry>Sistema de ficheros</entry>
-
- <entry>Tamaño</entry>
-
- <entry>Descripción</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literal>b</literal></entry>
-
- <entry>N/A</entry>
-
- <entry>Ver descripción</entry>
-
- <entry>Tal y como se ha explicado puede repartir su espacio swap
- entre varios discos. Aunque piense que la partición
- <literal>a</literal> está libre la costumbre (y se dice que
- «las costumbres son leyes» dicta que el espacio
- swap reside en la partición
- <literal>b</literal>.</entry>
- </row>
-
- <row>
- <entry><literal>e</literal></entry>
-
- <entry>/disco<replaceable>n</replaceable></entry>
-
- <entry>Resto del disco</entry>
-
-
- <entry>El resto del disco puede dejarse en una sola
- partición. Esto podría ubicarse simplemente
- en la partición <literal>a</literal> en lugar de en
- la <literal>e</literal>. Sin embargo la costumbre dice que
- la partición <literal>a</literal> de una
- «slice» está reservada para el sistema de
- ficheros que ha de albergar el sistema de ficheros
- raíz (<filename>/</filename>). No tiene por qué
- seguir la costumbre pero tenga en cuenta que
- <application>sysinstall</application> sí que lo hace,
- así que si la sigue sabe que está haciendo una
- instalación más limpia. Puede montar los
- sistemas de ficheros donde prefiera; este ejemplo le sugiere
- que los monte como directorios
- <filename>/discon</filename>, donde
- <replaceable>n</replaceable> es un número que cambia en
- cada disco. Por supuesto que puede usar el esquema que
- prefiera.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>Una vez que haya elegido el esquema de particiones creelo en
- <application>sysinstall</application>. Verá este
- mensaje:</para>
-
- <screen> Message
- Now, you need to create BSD partitions inside of the fdisk
- partition(s) just created. If you have a reasonable amount of disk
- space (200MB or more) and don't have any special requirements, simply
- use the (A)uto command to allocate space automatically. If you have
- more specific needs or just don't care for the layout chosen by
- (A)uto, press F1 for more information on manual layout.
-
- [ OK ]
- [ Press enter or space ]</screen>
-
- <para>Es decir:</para>
-
- <screen> Message
- Debe crear particiones BSD dentro de las 'particiones
- fdisk' que acaba de crear. Si tiene una cantidad de espacio en
- disco razonablemente grande (200MB o más) y no tiene necesidades
- especiales puede simplemente usar el comando (A)uto para asignar
- el espacio automáticamente. Si tiene necesidades más concretas o
- simplemente no le gusta la estructura que le da (A)uto pulse
- F1 y obtendrá más información sobre la creación manual de
- la estructura.
-
- [ OK ]
- [ Pulse Intro o Espacio ]</screen>
-
-
- <para>Al pulsar <keycap>Intro</keycap> arrancará el editor de
- particiones de &os;, <application>Disklabel</application>.</para>
-
- <para>La <xref linkend="sysinstall-label"/> muestra lo que verá cuando
- arranque <application>Disklabel</application>. La pantalla se divide en
- tres secciones.</para>
-
- <para>Las primeras líneas muestran el nombre del disco en el
- que estamos haciendo cambios y el de la «slice» que
- contiene las particiones que estamos creando
- (<application>Disklabel</application> las muestra bajo
- <literal>Partition name</literal>
- («nombre de partición») en lugar de hacerlo
- como «slices»). Vemos también ahí la
- cantidad de espacio libre en la «slice», esto es, el
- espacio que hay asignado a la «slice» pero que
- aún no ha sido asignado a ninguna partición.</para>
-
- <para>En la mitad de la pantalla se muestran las particiones que se
- han creado, el nombre de los sistemas de ficheros que contiene cada
- partición, sus tamaños y algunas opciones relacionadas
- con la creación de sistemas de ficheros.</para>
-
- <para>La tercera parte de la pantalla, la de más abajo, muestra
- los atajos de teclado que pueden usarse
- en <application>Disklabel</application>.</para>
-
-
- <figure xml:id="sysinstall-label">
- <title>El editor Disklabel</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/disklabel-ed1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para><application>Disklabel</application> puede crear automáticamente
- particiones y asignarles tamaños por omisión. Estos
- tamaños se calculan con la ayuda de un algoritmo interno de
- dimensionamiento de particiones que analiza el tamaño del
- disco. Puede probarlo pulsando
- <keycap>A</keycap>. Verá una pantalla similar a la que aparece en
- la <xref linkend="sysinstall-label2"/>. Dependiendo del tama&tilde;o del
- disco que esté usando los valores por omisión pueden o no
- ser los apropiados. Esto no es algo de lo que deba preocuparse dado que
- no está obligado a aceptar esos valores por omisión.</para>
-
- <note>
- <para>En el esquema de particiones por omisión el directorio
- <filename>/tmp</filename> tiene su propia partición en lugar
- de formar parte de <filename>/</filename>. Esto ayuda a evitar el
- desbordamiento de <filename>/</filename> con ficheros
- temporales.</para>
- </note>
-
- <figure xml:id="sysinstall-label2">
- <title>Editor Disklabel con valores por omisión</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/disklabel-auto"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Si decide no usar los valores por defecto para las particiones
- y quiere reemplazar tales valores por los suyos use las flechas:
- elija la primera partición y pulse <keycap>D</keycap> para
- borrarla. Repita el proceso para borrar todas las particiones que
- desee.</para>
-
-
- <para>Vamos a crear la primera partición
- (<literal>a</literal>, montada como <filename>/</filename>
- o raíz). Seleccione la «slice» adecuada y
- pulse <keycap>C</keycap>. Aparecerá un diálogo
- pidiéndole que escriba el tamaño de la nueva
- partición (como se muestra en la
- in <xref linkend="sysinstall-label-add"/>). Puede introducir
- el tamaño expresado en bloques de disco o como un
- número seguido de una <literal>M</literal> para expresarlo en
- megabytes, una <literal>G</literal> para usar gygabytes o una
- <literal>C</literal> si quiere expresarlo en cilindros.</para>
-
-
- <figure xml:id="sysinstall-label-add">
- <title>Liberar espacio para la partición raíz</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/disklabel-root1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>El tamaño por omisión que se muestra creará una
- partición que ocupe el resto de la «slice».
- Si va a usar los tamaños de partición que se daban
- en el ejemplo anterior borre el texto existente pulsando
- <keycap>Retroceso</keycap>; escriba <userinput>64M</userinput>, como
- se puede ver en la
- <xref linkend="sysinstall-label-add2"/>. Después pulse
- &gui.ok;.</para>
-
-
- <figure xml:id="sysinstall-label-add2">
- <title>Edición del tamaño de la partición raíz</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/disklabel-root2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Una vez elegido el tamaño de la partición tendrá
- que elegir si esta partición ha de contener un sistema de
- ficheros o espacio swap y escribir lo que corresponda en una pantalla
- como la que se muestra en la
- <xref linkend="sysinstall-label-type"/>. Esta primera partición
- contendrá un sistema de ficheros, así que seleccionamos
- <guimenuitem>FS</guimenuitem> y pulsamos
- <keycap>Intro</keycap>.</para>
-
- <figure xml:id="sysinstall-label-type">
- <title>Elegir el tipo de partición raíz</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/disklabel-fs"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Para acabar, dado que está creando un sistema de ficheros,
- tendrá que decirle a <application>Disklabel</application>
- dónde hay que montarlo. La pantalla se muestra en la
- <xref linkend="sysinstall-label-mount"/>. El punto de montaje del sistema
- de ficheros raíz es <filename>/</filename>, así que
- tendrá que teclear <userinput>/</userinput>y luego pulsar
- <keycap>Intro</keycap>.</para>
-
- <figure xml:id="sysinstall-label-mount">
- <title>Elegir el punto de montaje del sistema de ficheros raíz</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/disklabel-root3"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>La pantalla le mostrará ahora la partición que
- acaba de crear. Repita el procedimiento todas las veces que
- necesite con las demás particiones. Cuando cree la
- partición swap no se le pedirá el punto de
- montaje puesto que las particiones swap nunca se montan como
- tales. Cuando cree la última partición
- <filename>/usr</filename>, puede dejar el tamaño que se le
- sugiere, esto es, usar el resto del espacio en la
- «slice».</para>
-
- <para>La última pantalla del editor Disklabel será muy
- parecida a la <xref linkend="sysinstall-label4"/>, aunque los valores
- pueden ser diferentes. Pulse <keycap>Q</keycap> para salir del
- editor.</para>
-
-
- <figure xml:id="sysinstall-label4">
- <title>Editor Disklabel</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/disklabel-ed2"/>
- </imageobject>
- </mediaobject>
- </figure>
- </sect2>
- </sect1>
-
- <sect1 xml:id="install-choosing">
- <title>Elección de qué instalar</title>
-
- <sect2 xml:id="distset">
- <title>Elección del tipo de instalación</title>
-
- <para>La elección de qué tipo de instalación
- debe hacer depende enormemente del uso que se va a dar al sistema y
- del espacio de disco disponible. El rango de opciones predefinidas
- está entre hacer la instalación más
- pequeña posible o instalarlo todo. Las personas con poco o ninguna
- experiencia en &unix; o &os; deberán elegir alguna de las
- opciones predefinidas que se les ofrecen, a las que llamaremos
- distribuciones (de «distribution set») tal y como
- aparecen en el menú de <application>sysinstall</application>.
- Una instalación ·a medida es algo más adecuado para
- para usuarios con más experiencia.</para>
-
- <para>Si pulsa <keycap>F1</keycap> podrá acceder a más
- información sobre las opciones de tipo de instalación
- y qué contiene cada distribución. Cuando acabe de
- consultar la ayuda pulse <keycap>Intro</keycap> y volverá al
- al menú de selección de instalación de
- distribuciones.</para>
-
-
- <para>Si tiene intención de instalar un interfaz gráfico de
- usuario tendrá que instalar una de las distribuciones cuyo
- nombre comienza por <literal>X</literal>. La configuración
- del servidor X y la selección de un entorno de escritorio son
- algunas de las tareas que tendrá una vez instalado &os;. Tiene
- más información sobre la configuración de un
- servidor X en <xref linkend="x11"/>.</para>
-
- <para>La versión de X11 por omisión en &os; es
- <application>&xorg;</application>.</para>
-
-
- <para>Si preve compilar un kernel a medida selecciones la
- opción que incluye el código fuente. Para más
- información sobre las razones por las que debe compilarse
- un kernel a medida y sobre cómo compilarlo
- consulte el <xref linkend="kernelconfig"/>.</para>
-
- <para>Evidentemente el sistema más versátil es
- aquél que lo tiene todo. Si dispone de espacio de disco
- suficiente seleccione <guimenuitem>All</guimenuitem>, como se
- muestra en la <xref linkend="distribution-set1"/>, usando las
- flechas y pulsando <keycap>Intro</keycap>. Si el espacio en
- disco es limitado piense en usar alguna de las otras opciones.
- No pierda con ello demasiado tiempo puesto que el resto de
- distribuciones pueden añadirse en cualquier momento tras
- la intalación.</para>
-
- <figure xml:id="distribution-set1">
- <title>Elección de distribuciones</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/dist-set"/>
- </imageobject>
- </mediaobject>
- </figure>
- </sect2>
-
- <sect2 xml:id="portscol">
- <title>Instalación de la colección de ports</title>
-
-
- <para>Tras seleccionar la distribución elegida se le
- presentará la opción de instalar el árbol
- de ports, o Colección de Ports, de &os;. Los ports son una
- forma fácil y cómoda de instalar software. El
- árbol de ports no contiene el código fuente necesario
- para compilar software; es una gran colección de ficheros que
- automatiza la descarga, la compilación y la instalación
- de paquetes de software de todo tipo. El
- <xref linkend="ports"/> explica con detalle cómo utilizar los
- ports.</para>
-
- <para>El programa de instalación no comprueba si tiene espacio
- suficiente. Seleccione esta opción si dispone de sitio
- en el disco. En &os; &rel.current; los ports ocupan cerca de
- &ports.size; en disco. Puede asumir tranquilamente que en
- las nuevas versiones del sistema irán ocupando más y
- más.</para>
-
-
-<screen> User Confirmation Requested
- Would you like to install the FreeBSD ports collection?
-
- This will give you ready access to over &os.numports; ported software packages,
- at a cost of around &ports.size; of disk space when "clean" and possibly much
- more than that if a lot of the distribution tarballs are loaded
- (unless you have the extra CDs from a FreeBSD CD/DVD distribution
- available and can mount it on /cdrom, in which case this is far less
- of a problem).
-
- The Ports Collection is a very valuable resource and well worth having
- on your /usr partition, so it is advisable to say Yes to this option.
-
- For more information on the Ports Collection &amp; the latest ports,
- visit:
- http://www.FreeBSD.org/ports
-
- [ Yes ] No</screen>
-
-
- <para>Es decir:</para>
-
-<screen> Petición de confirmación del usuario
- ?Quiere instalar la colección de ports de FreeBSD?
-
- Tendrá acceso inmediato a más de &os.numports; paquetes de software listos
- para usarse en &os;, aunque necesitará cerca de &ports.size; de
- espacio en disco como mínimo y posiblemente mucho más
- si descarga los 'tarballs' de código fuente (aunque si tiene los CD
- extra de una versión de &os; en CD/DVD puede montarlos en /cdrom, de forma
- que esto dejaría de ser un problema).
-
- La colección de ports es un recurso extremadamente valioso y es muy
- recomendable que la instale en su partición /usr, así que debería
- responder Sí a la siguiente pregunta.
-
- Si quiere estar al tanto de las últimas novedades y las últimas
- entradas en la colección de ports visite:
- http://www.FreeBSD.org/ports
-
- [ Yes ] No</screen>
-
-
- <para>Seleccione &gui.yes; con las flechas e instale los
- ports o &gui.no; para obviar la pregunta. Pulse
- <keycap>Intro</keycap> para seguir con la instalación.
- Volvemos al menú de elección de distribuciones.</para>
-
-
-
- <figure xml:id="distribution-set2">
- <title>Confirmar la elección de distribuciones</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/dist-set2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Si ya ha elegido todo lo que necesita seleccione
- <guimenuitem>Exit</guimenuitem> con las flechas, asegúrese de
- que &gui.ok; está seleccionado también y pulse
- <keycap>Intro</keycap>.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="install-media">
- <title>Elección del medio de instalación</title>
-
-
- <para>Si va a instalar &os; desde CDROM o DVD seleccione
- <guimenuitem>Install from a FreeBSD CD/DVD</guimenuitem> con las
- flechas. Una vez &gui.ok; está seleccionado pulse
- <keycap>Intro</keycap> y siga adelante con la instalación.</para>
-
- <para>Si quiere usar otro método de instalación seleccione
- la opción correspondiente y siga las instrucciones.</para>
-
- <para>Pulse <keycap>F1</keycap> si necesita acceder a la ayuda del
- medio de instalación elegido. Pulse <keycap>Intro</keycap>
- para regresar al menú de selección de medios.</para>
-
-
- <figure xml:id="choose-media">
- <title>Choose Installation Media</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/media"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <note>
- <title>Tipos de instalación desde FTP</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>network</secondary>
- <tertiary>FTP</tertiary>
- </indexterm>
-
- <para>Hay tres tipos de instalación por FTP entre las que
- puede elegir: FTP activo, FTP pasivo o a través de un
- proxy HTTP.</para>
-
- <variablelist>
- <varlistentry>
- <term>FTP Activo: <guimenuitem>Install from an FTP
- server</guimenuitem>, es decir:
- «Instalar desde un servidor FTP»</term>
-
- <listitem>
- <para>Esta opción hará que todas las
- transferencias FTP usen el modo «Activo».
- No funcionará a través de cortafuegos pero
- seguramente funcionará con viejos servidores FTP que
- no soportan el modo pasivo. Si su conexión se cuelga
- cuando usa el modo pasivo (el modo por omisión) pruebe el
- modo activo.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>FTP Pasivo: <guimenuitem>Install from an FTP server through a
- firewall</guimenuitem>, es decir
- «Instalar desde un servidor FTP tras un
- cortafuegos».</term>
-
- <listitem>
- <indexterm>
- <primary>FTP</primary>
- <secondary>modo pasivo</secondary>
- </indexterm>
-
- <para>Esta opción configura
- <application>sysinstall</application> para que use el
- modo «Pasivo» para todas las operaciones
- FTP. Esto permite al usuario pasar a través de
- cortafuegos que no permiten conexiones entrantes a
- puertos TCP aleatorios.</para>
- </listitem>
-
- </varlistentry>
-
- <varlistentry>
- <term>FTP via un proxy HTTP: <guimenuitem>Install from an FTP server
- through a http proxy</guimenuitem>, es decir «Instalar
- desde un un servidor FTP via un proxy HTTP».</term>
-
- <listitem>
- <indexterm>
- <primary>FTP</primary>
- <secondary>via a HTTP proxy</secondary>
- </indexterm>
-
- <para>Esta opción configura <application>sysinstall</application>
- para que use el protocolo HTTP (como si fuera un navegador web) para
- conectarse a un proxy en todas las operaciones FTP. El proxy
- traducirá las peticiones del usuario de forma que pasarán
- a través de un cortafuegos que no permita ningún tipo de
- conexiones FTP pero ofrezca un proxy HTTP. Tendrá que configurar
- los datos del proxy además de los del servidor FTP.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Si quiere usar un servidor proxy FTP tendrá que usar
- el nombre del servidor con el que realmente quiere conectar como
- nombre de usuario seguido de un signo «@». Veamos un
- ejemplo. Quiere usted instalar desde
- <systemitem class="fqdomainname">ftp.FreeBSD.org</systemitem> a través del
- servidor proxy FTP
- <systemitem class="fqdomainname">talycual.ejemplo.com</systemitem>, que escucha en el
- puerto 1024.</para>
-
- <para>Vaya al menú opciones, ponga
- <literal>ftp@ftp.FreeBSD.org</literal> como nombre de usuario FTP,
- y su dirección de correo electrónico como
- contraseña. El medio de instalación será FTP
- (o FTP pasivo si el proxy lo permite) y la URL
- <literal>ftp://talycual.ejemplo.com:1234/pub/FreeBSD</literal>.</para>
-
- <para>Dado accede al directorio <filename>/pub/FreeBSD</filename>
- de <systemitem class="fqdomainname">ftp.FreeBSD.org</systemitem> a través
- del proxy <systemitem class="fqdomainname">talycual.ejemplo.com</systemitem> puede usted
- instalar desde <emphasis>ésta</emphasis> máquina,
- que irá descargando los ficheros que necesite desde
- <systemitem class="fqdomainname">ftp.FreeBSD.org</systemitem> a medida que el
- proceso de instalación los vaya requiriendo.</para>
- </note>
- </sect1>
-
- <sect1 xml:id="install-final-warning">
- <title>El punto sin retorno</title>
-
-
-
- <para>A partir de aquí entramos en la instalación propiamente
- dicha. Esta es la última oportunidad antes de empezar a escribir
- datos en el disco duro.</para>
-
- <screen> User Confirmation Requested
- Last Chance! Are you SURE you want to continue the installation?
-
- If you're running this on a disk with data you wish to save then WE
- STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
-
- We can take no responsibility for lost disk contents!
-
- [ Yes ] No</screen>
-
- <para>Es decir:</para>
-
- <screen> Petición de confirmación del usuario
- ¡Última oportunidad!. ?SEGURO que quiere seguir con la instalación?
-
- Si está ejecutando este proceso en un disco que contenga datos que
- quiera coservar LE RECOMENDAMOS ENCARECIDAMENTE QUE HAGA COPIAS DE
- SEGURIDAD FIABLES antes de instalar.
-
- No podemos asumir nigún tipo de responsabilidad por datos que pierda.
-
- [ Yes ] No</screen>
-
-
- <para>Seleccione &gui.yes; y pulse
- <keycap>Intro</keycap>.</para>
-
-
- <para>La instalación tardará más o menos
- tiempo según la distribución que haya elegido, el medio
- de instalación y la velocidad del sistema. Se le
- irán mostrando mensajes durante el proceso para irle
- informando de cómo van las cosas.</para>
-
- <para>Cuando acabe la instalación verá un mensaje como
- este:</para>
-
- <screen> Message
-
-Congratulations! You now have FreeBSD installed on your system.
-
-We will now move on to the final configuration questions.
-For any option you do not wish to configure, simply select No.
-
-If you wish to re-enter this utility after the system is up, you may
-do so by typing: sysinstall .
-
- [ OK ]
-
- [ Press enter to continue ]</screen>
-
- <para>Es decir:</para>
-
- <screen> Mensaje
-
- ¡Enhorabuena! Ha instalado &os; en su sistema.
-
-Ahora terminaremos la configuración del sistema. Si hay alguna
-opción que no quiere configurar bastará con que elija No.
-
-Si en algún momento quiere regresar a este programa escriba
-sysinstall .
-
- [ OK ]
-
- [ Pulse Intro ]</screen>
-
-
-
- <para>Pulse <keycap>Intro</keycap>; pasaremos a acometer ciertas tareas
- posteriores a la instalación.</para>
-
-
- <para>Si selecciona &gui.no; y pulsa <keycap>Intro</keycap>
- la instalación se detendrá para evitar hacer
- más modificaciones en su sistema. Verá el
- el siguiente mensaje.</para>
-
- <screen> Message
-Installation complete with some errors. You may wish to scroll
-through the debugging messages on VTY1 with the scroll-lock feature.
-You can also choose "No" at the next prompt and go back into the
-installation menus to retry whichever operations have failed.
-
- [ OK ]</screen>
-
- <para>Es decir:</para>
-
-<screen> Mensaje
-La instalación ha finalizado con errores. Puede moverse por la
-pantalla de mensajes de depuración de VTY1 tras pulsar la tecla
-de Bloqueo de Pantalla. También puede elegir "No" en el próximo
-menú y volver a los menús de instalación y repetir cualquier
-operación que haya fallado.
-
- [ OK ]</screen>
-
-
- <para>Este mensaje se ha generado porque no se ha instalado nada.
- Pulse <keycap>Intro</keycap> para volver al menún
- principal y salir de la instalación.</para>
-
- </sect1>
-
- <sect1 xml:id="install-post">
- <title>Después de la instalación</title>
-
-
- <para>Para poder terminar una instalación de &os; que merezca
- tal nombre debemos responder todavía a unas cuantas preguntas.
- Para ello debemos entrar en la
- configuración antes de entrar en el nuevo sistema &os; o
- una vez en dentro del sistema desde
- <command>sysinstall</command>, seleccionando
- <guimenuitem>Configure</guimenuitem>.</para>
-
-
- <sect2 xml:id="inst-network-dev">
- <title>Network Device Configuration</title>
-
- <para>Si ha tenido que configurar PPP para poder instalar desde FTP
- esta pantalla no aparecerá. Puede modificar la configuración
- tal y como se ha explicado más arriba.</para>
-
- <para>Si necesita información sobre redes de área local
- y la configuración de &os; necesaria para que haga de
- «gateway/router» consulte el
- <link linkend="advanced-networking">Advanced Networking</link>
- chapter.</para>
-
- <screen> User Confirmation Requested
- Would you like to configure any Ethernet or SLIP/PPP network devices?
-
- [ Yes ] No</screen>
-
- <para>Si quiere configurar dispositivos de red seleccione
- &gui.yes; y pulse <keycap>Intro</keycap>. Si no quiere
- seleccione &gui.no;.</para>
-
- <figure xml:id="ed-config1">
- <title>Selección de un dispositivo Ethernet</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/ed0-conf"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Seleccione con las flechas el interfaz de red que desea
- configurar y pulse
- <keycap>Enter</keycap>.</para>
-
- <screen> User Confirmation Requested
- Do you want to try IPv6 configuration of the interface?
-
- Yes [ No ]</screen>
-
- <para>En la red local del ejemplo el tipo de protocolo de Internet
- que había (<acronym>IPv4</acronym>) parecía más
- que suficiente, así que se eligió &gui.no;.</para>
-
- <para>Si puede conectar con alguna red
- <acronym>IPv6</acronym> mediante un servidor
- <acronym>RA</acronym> elija
- &gui.yes; y pulse <keycap>Intro</keycap>. La búsqueda de
- servidores RA se hará en unos instantes.</para>
-
- <screen> User Confirmation Requested
- Do you want to try DHCP configuration of the interface?
-
- Yes [ No ]</screen>
-
- <para>Si no necesita DHCP seleccione &gui.no; con las flechas y pulse
- <keycap>Intro</keycap>.</para>
-
- <para>Si selecciona &gui.yes; ejecutará
- <application>dhclient</application> y, si ha funcionado, completará
- los datos de configuración automáticamente. Para
- más información consulte la
- <xref linkend="network-dhcp"/>.</para>
-
- <para>La siguiente ilustración muestra la configuración
- de un dispositivo Ethernet en un sistema que cumplirá las
- funciones de «gateway» en una red local.</para>
-
- <figure xml:id="ed-config2">
- <title>Configuración de ed0</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/ed0-conf2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Use el <keycap>tabulador</keycap> para ir pasando de un campo al siguiente
- una vez que los vaya rellenando:</para>
-
- <variablelist>
- <varlistentry>
- <term>Host</term>
-
- <listitem>
- <para>El nombre de la máquina; por ejemplo,
- <systemitem class="fqdomainname">k6-2.ejemplo.com</systemitem>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Dominio</term>
-
- <listitem>
- <para>El nombre del dominio al que pertenece la máquina, en
- este caso <systemitem class="fqdomainname">ejemplo.com</systemitem>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>«Gateway»IPv4</term>
-
- <listitem>
- <para>La dirección IP del sistema que reenvia paquetes a
- destinos fuera de la red local. Debe rellenar este campo si
- esta función la realiza una máquina que forme parte
- de la red. <emphasis>Déjelo en blanco</emphasis> si el
- sistema es el enlace de su red con Internet. El
- «gateway» recibe también los nombres de
- puerta de enlace o ruta por omisión.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Servidor de nombres</term>
-
- <listitem>
- <para>Dirección IP de su servidor local de DNS. En la red
- del ejemplo no hay servidor DNS local así que se ha
- introducido la dirección IP del servidor DNS del proveedor
- de Internet:
- <systemitem class="ipaddress">208.163.10.2</systemitem>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Dirección IPv4</term>
-
- <listitem>
- <para>En este interfaz se usará la dirección IP
- <systemitem class="ipaddress">192.168.0.1</systemitem></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Máscara de red</term>
-
- <listitem>
- <para>En esta red local se usa un bloque de redes de Clase C
- <systemitem class="ipaddress">192.168.0.0</systemitem> -
- <systemitem class="ipaddress">192.168.0.255</systemitem>. La
- máscara de red es, por tanto,
- <systemitem class="netmask">255.255.255.0</systemitem>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Opciones adicionales de ifconfig</term>
-
- <listitem>
- <para>Cualquiera de las opciones que quiera agregar a su interfaz
- mediante <command>ifconfig</command>. En nuestro caso no
- había ninguna.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <para>Utilice el <keycap>tabulador</keycap> para seleccionar &gui.ok;
- cuando haya acabado y pulse<keycap>Intro</keycap>.</para>
-
-
- <screen> User Confirmation Requested
- Would you like to Bring Up the ed0 interface right now?
-
- [ Yes ] No</screen>
-
- <para>Seleccione &gui.yes; y pulse
- <keycap>Enter</keycap> si quiere conectar inmediatamente su
- sistema a la red mediante el o los interfaces que acaba de
- configurar, pero recuerde que aún tendrá que
- reiniciar la máquina.</para>
- </sect2>
-
- <sect2 xml:id="gateway">
- <title>Configuración del «gateway»</title>
-
- <screen> User Confirmation Requested
- Do you want this machine to function as a network gateway?
-
- [ Yes ] No</screen>
-
- <para>Si el sistema hará de enlace de la red local y
- reenviará paquetes entre otras máquinas elija &gui.yes;
- y pulse <keycap>Intro</keycap>. Si la máquina es un
- nodo de una red elija &gui.no; y pulse
- <keycap>Intro</keycap>.</para>
- </sect2>
-
- <sect2 xml:id="inetd-services">
- <title>Configuración de servicios de internet</title>
-
- <screen> User Confirmation Requested
-Do you want to configure inetd and the network services that it provides?
-
- Yes [ No ]</screen>
-
-
- <para>Si selecciona &gui.no; varios servicios de la máquina,
- como <application>telnetd</application> y otros, no se
- activarán. Eso significa que los usuarios remotos no
- podrán acceder al sistema mediante
- <application>telnet</application>. Los usuarios locales, en cambio,
- podrán acceder a sistemas remotos mediante
- <application>telnet</application>.</para>
-
- <para>Dichos servicios pueden activarse en cualquier momento
- editando <filename>/etc/inetd.conf</filename> con el editor de
- texto que prefiera. Para más información
- consulte la
- <xref linkend="network-inetd-overview"/>.</para>
-
- <para>Seleccione &gui.yes; si desea configurar estos servicios
- durante la instalación. Se le mostrará el
- siguiente mensaje:</para>
-
-
- <screen> User Confirmation Requested
-The Internet Super Server (inetd) allows a number of simple Internet
-services to be enabled, including finger, ftp and telnetd. Enabling
-these services may increase risk of security problems by increasing
-the exposure of your system.
-
-With this in mind, do you wish to enable inetd?
-
- [ Yes ] No</screen>
-
- <para>Select &gui.yes; to continue.</para>
-
- <screen> User Confirmation Requested
-inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
-which of its Internet services will be available. The default FreeBSD
-inetd.conf(5) leaves all services disabled by default, so they must be
-specifically enabled in the configuration file before they will
-function, even once inetd(8) is enabled. Note that services for
-IPv6 must be separately enabled from IPv4 services.
-
-Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
-use the current settings.
-
- [ Yes ] No</screen>
-
-
-
-
- <para>Es decir:</para>
-
- <screen> Petición de confirmación del usuario
-El Super Servidor de Internet (inetd) le permite activar diversos
-servicios sencillos de Internet, como finger, ftp y telnetd. Si
-activa tales servicios puede sobreexponer su sistema al exterior, lo
-que puede incrementar el riesgo de tener problemas de seguridad.
-
-Dicho esto ?desea activar inetd?
-
- [ Yes ] No</screen>
-
-
- <para>Si selecciona &gui.yes; podrá añadir servicios
- borrando caracteres <literal>#</literal> al comienzo de las
- líneas correspondientes.</para>
-
- <figure xml:id="inetd-edit">
- <title>Edición de <filename>inetd.conf</filename></title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/edit-inetd-conf"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Una vez que haya añadido los servicios que quiera en el
- sistema pulse <keycap>Esc</keycap> y verá un menú en el
- que se le preguntará si quiere guardar los cambios.</para>
-
- </sect2>
-
- <sect2 xml:id="ssh-login">
- <title>Activar el acceso al sistema mediante SSH</title>
-
- <indexterm>
- <primary>SSH</primary>
- <secondary>sshd</secondary>
- </indexterm>
-
- <screen> User Confirmation Requested
- Would you like to enable SSH login?
- Yes [ No ]</screen>
-
- <para>Si selecciona &gui.yes; activará &man.sshd.8;, el
- d&aelig;mon de <application>OpenSSH</application>. De este modo
- será posible el acceso remoto y seguro al sistema. Para más
- información sobre <application>OpenSSH</application> visite <xref linkend="openssh"/>.</para>
- </sect2>
-
- <sect2 xml:id="ftpanon">
- <title>FTP anónimo</title>
-
- <indexterm>
- <primary>FTP</primary>
- <secondary>anonymous</secondary>
- </indexterm>
-
- <screen> User Confirmation Requested
- Do you want to have anonymous FTP access to this machine?
-
- Yes [ No ]</screen>
-
- <sect3 xml:id="deny-anon">
- <title>Rechazar el acceso al sistema mediante FTP anónimo</title>
-
- <para>si acepta la respuesta por omisión (&gui.no;) y pulsa
- <keycap>Intro</keycap> tenga en cuenta que los usuarios que tengan
- cuenta en la máquina podrán seguir accediendo
- al sistema.</para>
- </sect3>
-
- <sect3 xml:id="ftpallow">
- <title>Aceptar el acceso al sistema mediante FTP anónimo</title>
-
- <para>Si decide aceptar conexiones FTP anónimas cualquiera
- podrá conectarse al sistema. Antes de activar esta
- opción debería meditar sobre las implicaciones de
- seguridad de esa decisión. Para más información
- sobre la seguridad y &os; consulte el <xref linkend="security"/>.</para>
-
- <para>Si ha decidido activar el FTP anónimo seleccione con
- las flechas &gui.yes; y pulse <keycap>Intro</keycap>. Verá la
- siguiente pantalla (o una muy similar):</para>
-
-
-
-
-
- <screen>This screen allows you to configure the anonymous FTP user.
-
-The following configuration values are editable:
-
-UID: The user ID you wish to assign to the anonymous FTP user.
- All files uploaded will be owned by this ID.
-
-Group: Which group you wish the anonymous FTP user to be in.
-
-Comment: String describing this user in /etc/passwd
-
-
-FTP Root Directory:
-
- Where files available for anonymous FTP will be kept.
-
-Upload subdirectory:
-
- Where files uploaded by anonymous FTP users will go.</screen>
-
- <para>Es decir:</para>
-
-<screen>En esta pantalla puede configurar el usuario de FTP
- anónimo.
-
-Puede editar los siguientes valores de la configuración:
-
-UID: El ID del usuario que quiere asignar al usuario anónimo de
- de FTP. Todos los ficheros que se suban le pertenecerán.
-
-Group: El grupo al que pertenecerá el usuario FTP anónimo.
-
-Comment: La descripción del usuario en /etc/passwd
-
-
-FTP Root Directory:
-
- Dónde se guardarán contenidos para los usuarios anónimos.
-
-Upload subdirectory:
-
- Dónde se guardarán los ficheros que suban los usuarios
- de FTP anónimo.</screen>
-
- <para>Por omisión el directorio raíz del ftp será
- <filename>/var</filename>. Si no hay sitio suficiente para
- lo que prevea que va a necesitar puede usar
- <filename>/usr</filename>; puede poner el Directorio Raíz de
- FTP en <filename>/usr/ftp</filename>.</para>
-
- <para>Cuando haya terminado con la configuración pulse
- <keycap>Intro</keycap>.</para>
-
- <screen> User Confirmation Requested
- Create a welcome message file for anonymous FTP users?
-
- [ Yes ] No</screen>
-
- <para>Si selecciona &gui.yes; y pulsa <keycap>Intro</keycap>
- arrancará automáticamente un editor y podrá
- crear un mensaje que verá los usuarios de FTP
- anónimo al conectarse a la máquina.</para>
-
-
-
-
- <figure xml:id="anon-ftp4">
- <title>Edición del mensaje de bienvenida de FTP</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/ftp-anon2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Vemos en acción un editor de texto llamado <command>ee</command>.
- Puede modificar el mensaje ahora mismo o hacerlo en cualquier otro
- momento con el editor de texto que prefiera. Observe el fichero y
- su ubicación en la parte baja de la pantalla.</para>
-
- <para>Pulse <keycap>Esc</keycap>, aparecerá una ventana flotante
- con la opción por omisión de
- to <guimenuitem>a) leave editor</guimenuitem> (salir del editor). Pulse
- <keycap>Intro</keycap> si quiere salir y seguir con lo que estaba haciendo.
- Pulse <keycap>Intro</keycap> de nuevo para guardar los cambios que
- hubiera hecho.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="nfsconf">
- <title>Configuración de NFS</title>
-
-
- <para>NFS («Network File System» (de Network File
- System, o Sistema de Ficheros en Red) le permitirá compartir
- ficheros a través de una red. Una máquina puede
- configurarse como servidor, como cliente o ambos. Para má
- información consulte la
- <xref linkend="network-nfs"/>.</para>
-
-
- <sect3 xml:id="nsf-server-options">
- <title>Servidor NFS</title>
-
- <screen> User Confirmation Requested
- Do you want to configure this machine as an NFS server?
-
- Yes [ No ]</screen>
-
- <para>Si no tiene necesidad de usar un servidor NFS seleccione
- &gui.no; y pulse
- <keycap>Intro</keycap>.</para>
-
- <para>Si ha elegido &gui.yes; verá un mensaje emergente
- indicando que hay que crear el fichero
- <filename>exports</filename>.</para>
-
- <screen> Message
-Operating as an NFS server means that you must first configure an
-/etc/exports file to indicate which hosts are allowed certain kinds of
-access to your local filesystems.
-Press [Enter] now to invoke an editor on /etc/exports
- [ OK ]</screen>
-
- <para>Es decir:</para>
-
- <screen> Mensaje
-Hacer funcionar un servidor NFS implica que tendrá que configurar
-un fichero /etc/exports para indicar qué hosts estarán autorizados a
-acceder de qué manera a sus sistemas de ficheros locales.
-Pulse [Intro] para abrir /etc/exports en un editor
- [ OK ]</screen>
-
-
- <para>Pulse <keycap>Intro</keycap> para seguir adelante. Se
- abrirá un editor de texto gracias al cual se podrá
- editar y crear el fichero <filename>exports</filename>.</para>
-
-
-
- <figure xml:id="nfs-server-edit">
- <title>Edición de <filename>exports</filename></title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/nfs-server-edit"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Puede editar el fichero ahora mismo o más tarde con
- el editor de texto que prefiera. Observe que el nombre del
- fichero y su ubicación aparecen en la parte de abajo de
- de la pantalla.</para>
-
- <para>Pulse <keycap>Escape</keycap>; aparecerá un mensaje
- emergente que por omisión le ofrecerá
- <guimenuitem>a) leave editor</guimenuitem> (es decir, salir del
- editor). Pulse <keycap>Intro</keycap> para salir del editor y
- seguir adelante.</para>
-
- </sect3>
-
- <sect3 xml:id="nfs-client-options">
- <title>Cliente NFS</title>
-
- <para>El cliente NFS permite que su máquina pueda acceder
- a servidores NFS.</para>
-
- <screen> User Confirmation Requested
- Do you want to configure this machine as an NFS client?
-
- Yes [ No ]</screen>
-
- <para>Utilice las flechas para elegir si quiere o no disponer de
- cliente NFS (respectivamente con &gui.yes; y
- &gui.no; y pulse <keycap>Intro</keycap>.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="console">
- <title>Configuración de la consola del sistema</title>
-
- <para>La consola del sistema tiene diversas opciones que puede usted
- adaptar a sus gustos o necesidades.</para>
-
- <screen> User Confirmation Requested
- Would you like to customize your system console settings?
-
- [ Yes ] No</screen>
-
- <para>Si quiere ver y modificar las opciones seleccione
- &gui.yes; y pulse <keycap>Intro</keycap>.</para>
-
- <figure xml:id="saver-options">
- <title>Opciones de configuración de la consola del sistema</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/console-saver1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
-
- <para>Una opción que suele elegirse es el uso del
- salvapantallas. Elija <guimenuitem>Saver</guimenuitem> y
- luego pulse <keycap>Intro</keycap>.</para>
-
-
- <figure xml:id="saver-select">
- <title>Opciones del salvapantallas</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/console-saver2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Desplácese arriba y abajo con las flechas por la
- lista de salvapantallas y elija el que prefiera pulsando
- <keycap>Intro</keycap> sobre él. Se le mostrará
- de nuevo el menú de configuración de la consola.</para>
-
- <para>El intervalo por defecto es de 300 segundos. Si quiere cambiarlo
- seleccione <guimenuitem>Saver</guimenuitem> otra vez. Busque
- <guimenuitem>Timeout</guimenuitem> en el menú de opciones del
- salvapantallas y pulse <keycap>Intro</keycap>. Aparecerá un
- mensaje en pantalla:</para>
-
- <figure xml:id="saver-timeout">
- <title>Retardo del salvapantallas</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/console-saver3"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Asigne el retardo del salvapantallas a su gusto, seleccione
- &gui.ok; y pulse <keycap>Intro</keycap> para volver al menú de
- configuración de la consola del sistema.</para>
-
- <figure xml:id="saver-exit">
- <title>Salida del menú de configuración de la consola del sistema</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/console-saver4"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Seleccione <guimenuitem>Exit</guimenuitem> y pulse
- <keycap>Intro</keycap> para seguir adelante con la configuración
- necesaria tras la instalación.</para>
- </sect2>
-
- <sect2 xml:id="timezone">
- <title>Configuración de la zona horaria</title>
-
-
-
- <para>Si su sistema tiene correctamente configurada la zona
- horaria podrá corregir cualquier automáticamente
- cualquier cambio horario regional, así como cumplir
- adecuadamente con otras funciones relacionadas con zonas
- horarias.</para>
-
- <para>El ejemplo que se muestra en las capturas de pantalla es
- de una máquina ubicada en la zona horaria del Este de los
- EEUU.</para>
-
- <screen> User Confirmation Requested
- Would you like to set this machine's time zone now?
-
- [ Yes ] No</screen>
-
- <para>Seleccione &gui.yes; y pulse
- <keycap>Intro</keycap>. Vamos a configurar la zona horaria del
- sistema.</para>
-
-
-
- <para>Seleccione &gui.yes; y pulse
- <keycap>Intro</keycap>.</para>
-
- <screen> User Confirmation Requested
- Is this machine's CMOS clock set to UTC? If it is set to local time
- or you don't know, please choose NO here!
-
- Yes [ No ]</screen>
-
- <para>Seleccione &gui.yes; o &gui.no; según esté
- configurado el reloj del sistema y pulse <keycap>Intro</keycap>.</para>
-
- <figure xml:id="set-timezone-region">
- <title>Elección de región</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/timezone1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Elija la zona adecuada mediante las flechas y pulse
- <keycap>Intro</keycap>.</para>
-
- <figure xml:id="set-timezone-country">
- <title>Elección de país</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/timezone2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Elija el país adecuado con las flechas y pulse
- <keycap>Intro</keycap>.</para>
-
- <figure xml:id="set-timezone-locality">
- <title>Elección de zona horaria</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/timezone3"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Elija la zona horaria adecuada con las flechas y pulse
- <keycap>Intro</keycap>.</para>
-
- <screen> Confirmation
- Does the abbreviation 'EDT' look reasonable?
-
- [ Yes ] No</screen>
-
- <para>Confirme si la abreviatura de la zona horaria es la correcta. Cuando
- todo esté correcto pulse <keycap>Intro</keycap> y siga
- adelante.</para>
- </sect2>
-
- <sect2 xml:id="linuxcomp">
- <title>Compatibilidad con &linux;</title>
-
- <screen> User Confirmation Requested
- Would you like to enable Linux binary compatibility?
-
- [ Yes ] No</screen>
-
- <para>Si selecciona &gui.yes; y pulsa
- <keycap>Intro</keycap> podrá ejecutar software &linux; en
- &os;. La instalación añadirá los paquetes
- necesarios para poder tener compatibilidad binaria con
- &linux;.</para>
-
- <para>Si realiza la instalación por FTP la máquina
- necesitará conectarse a Internet. A veces los servidores
- ftp no tienen todas las distribuciones, de forma que si no puede
- instalar la distribución de compatibilidad con &linux; no se
- preocupe, puede probar con otro servidor o instalarla más
- tarde.</para>
-
-
- </sect2>
-
- <sect2 xml:id="mouse">
- <title>Configuración del ratón</title>
-
- <para>Esta opción le permitirá cortar y pegar texto en
- consola y en otros programas mediante un ratón de tres
- botones. Consulte &man.moused.8; si usa uno de 2 botones, es posible
- emular ese tercer botón. En el siguiente ejemplo veremos la
- configuración de un ratón «no USB» (es
- decir, PS/2 o de puerto COM):</para>
-
- <screen> User Confirmation Requested
- Does this system have a PS/2, serial, or bus mouse?
-
- [ Yes ] No </screen>
-
- <para>Seleccione &gui.yes; si tiene un ratón que no sea USB o por el
- contrario seleccione &gui.no; si tiene un ratón USB. Después
- pulse <keycap>Intro</keycap>.</para>
-
- <figure xml:id="mouse-protocol">
- <title>Elija el protocolo que usa el ratón</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/mouse1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Seleccione <guimenuitem>Type</guimenuitem> usando las flechas
- y pulse <keycap>Intro</keycap>.</para>
-
- <figure xml:id="set-mouse-protocol">
- <title>Ajuste del protocolo del ratón</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/mouse2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>En el ejemplo se ha usado un ratón PS/2, así que
- <guimenuitem>Auto</guimenuitem> era correcto. Para cambiar el
- protocolo use las flechas para moverse por el menú y elegir otra
- opción. Para salir seleccione &gui.ok; y pulse
- <keycap>Intro</keycap>.</para>
-
- <figure xml:id="config-mouse-port">
- <title>Configuración del puerto del ratón</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/mouse3"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Seleccione <guimenuitem>Port</guimenuitem> y
- pulse <keycap>Intro</keycap>.</para>
-
- <figure xml:id="set-mouse-port">
- <title>Configuración del puerto del ratón</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/mouse4"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>El sistema de ejemplo tiene un ratóna
- <guimenuitem>PS/2</guimenuitem>, de forma que
- la configuración por omisión basta. Si quiere modificarla
- utilice las flechas y después pulse<keycap>Intro</keycap>.</para>
-
- <figure xml:id="test-daemon">
- <title>Arranque del d&aelig;mon del ratón</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/mouse5"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Por último, utilice las flechas para elegir
- <guimenuitem>Enable</guimenuitem>y pulse
- <keycap>Intro</keycap>; así se activa y prueba el
- d&aelig;mon del ratón.</para>
-
-
- <figure xml:id="test-mouse-daemon">
- <title>Prueba del d&aelig;mon del ratón</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/mouse6"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Mueva el ratón un poco por la pantalla hasta
- asegurarse de que el cursor responde adecuadamente. Si todo
- es correcto seleccione &gui.yes; y pulse
- <keycap>Intro</keycap>. Si hay algo que no funcione correctamente
- seleccione &gui.no; e inténtelo con otras opciones de
- configuración.</para>
-
- <para>Seleccione <guimenuitem>Exit</guimenuitem> y pulse
- <keycap>Intro</keycap> para volver a la configuración
- del sistema.</para>
-
- </sect2>
-
- <sect2 xml:id="packages">
- <title>Instalación de «packages»</title>
-
- <para>Los «packages» son binarios precompilados; son una
- forma muy cómoda de instalar software.</para>
-
- <para>Veamos la instalación de un «package» Este
- es un buen momento para instalar «packages» si
- así lo desea. De todos modos una vez concluida la instalación
- puede entrar cuando quiera a
- <command>sysinstall</command> e instalar lo que necesite.</para>
-
- <screen> User Confirmation Requested
- The FreeBSD package collection is a collection of hundreds of
- ready-to-run applications, from text editors to games to WEB servers
- and more. Would you like to browse the collection now?
-
- [ Yes ] No</screen>
-
- <para>Elija &gui.yes; y pulse
- <keycap>Intro</keycap>: verá la pantalla de
- selección de paquetes:</para>
-
- <figure xml:id="package-category">
- <title>Categorías de «packages»</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/pkg-cat"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Los «packages» presentes en el medio de instalación
- que esté accesible en cada momento son los únicos que
- se pueden instalar.</para>
-
- <para>Todos los «packages» disponibles en el medio se
- mostrarán al seleccionar la categoría
- <guimenuitem>All</guimenuitem>. Elija una categoría y pulse
- <keycap>Intro</keycap>.</para>
-
- <para>Al seleccionar una categoría aparecerá un
- menú con los paquetes disponibles existentes en la misma:</para>
-
-
- <figure xml:id="package-select">
- <title>Selección de «packages»</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/pkg-sel"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Hemos elegido la shell <application>bash</application>.
- Seleccione tantos «packages» como quiera instalar y pulse
- <keycap>Espacio</keycap>. Se mostrará una breve
- descripción de cada «package» en la esquina inferior
- izquierda de la pantalla.</para>
-
- <para>Pulsando el <keycap>Tabulador</keycap> desplazará el
- cursor entre el último «package» que haya seleccionado,
- &gui.ok; y &gui.cancel;.</para>
-
- <para>Cuando haya seleccionado todos los «packages» que quiera
- instalar pulse <keycap>Tabulador</keycap> una sola vez para que
- el cursor pase a &gui.ok; y pulse <keycap>Intro</keycap>, lo que
- le llevará al menú de selección de
- «packages».</para>
-
- <para>Las flechas «izquierda» y «derecha»
- pueden usarse para mover el cursor entre &gui.ok; y &gui.cancel;.
- Use esto para seleccionar &gui.ok; y pulsar
- <keycap>Intro</keycap> para volver al menú de
- selección de «packages».</para>
-
-
- <figure xml:id="package-install">
- <title>Instalación de «packages»</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/pkg-install"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Utilice el <keycap>tabulador</keycap> y las flechas para seleccionar
- <guibutton>[&nbsp;Install&nbsp;]</guibutton> y pulse
- <keycap>Intro</keycap>. Se le pedirá que confirme que quiere
- instalar «packages»:</para>
-
- <figure xml:id="package-install-confirm">
- <title>Confirmación previa a la instalación de «packages»</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/pkg-confirm"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Si selecciona &gui.ok; y pulsa <keycap>Intro</keycap>
- comenzará la instalación de «packages». Irán
- apareciendo mensajes relacionados con los diversos procesos de
- instalación hasta que se cumplan todos. Esté atento
- por si aparecieran mensajes de error.</para>
-
-
- <para>Tras la instalación de «packages» nos
- quedan unos toques finales a la configuración. Si no ha
- elegido ningún «package» y quiere regresar
- al menú de configuración seleccione
- <guibutton>Install</guibutton> de todos modos.</para>
- </sect2>
-
- <sect2 xml:id="addusers">
- <title>Añadir usuarios y grupos</title>
-
-
- <para>Deberí al menos añadir un usuario al sistema
- para poder usarlo para acceder al sistema una vez reiniciado sin
- tener que recurrir a <systemitem class="username">root</systemitem>. La partición
- raíz suele ser pequeña y ejecutar aplicaciones como
- <systemitem class="username">root</systemitem> tiene a llenarla rápidamente.
- Pero hay un peligro mucho mayor:</para>
-
- <screen> User Confirmation Requested
- Would you like to add any initial user accounts to the system? Adding
- at least one account for yourself at this stage is suggested since
- working as the "root" user is dangerous (it is easy to do things which
- adversely affect the entire system).
-
- [ Yes ] No</screen>
-
- <para>Es decir:</para>
-
- <screen> Petición de confirmación del usuario
- ?Quiere añadir algún usuario al sistema? Le sugerimos que añada al menos
- uno para usted puesto que trabajar como "root" es peligroso (es fácil
- hacer algo con consecuencias en todo el sistema).
-
- [ Yes ] No</screen>
-
-
-
- <para>Seleccione &gui.yes; y pulse
- <keycap>Intro</keycap> para añadir un usuario.</para>
-
- <figure xml:id="add-user2">
- <title>Selección de «Añadir un usuario»</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/adduser1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Seleccione <guimenuitem>User</guimenuitem> con las flechas y
- y pulse<keycap>Intro</keycap>.</para>
-
- <figure xml:id="add-user3">
- <title>Añadir la información del usuario</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/adduser2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>A medida que vaya seleccionando los campos ayudándose del
- <keycap>Tabulador</keycap> se le irán mostrando las siguientes
- descripciones en la parte baja de la pantalla:</para>
-
- <variablelist>
- <varlistentry>
- <term>Login ID</term>
-
- <listitem>
- <para>El nombre del usuario (obligatorio).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>UID</term>
-
- <listitem>
- <para>El ID numérico del usuario Déjelo
- en blanco si quiere el que sistema lo asigne
- automáticamente.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Group</term>
-
- <listitem>
- <para>El grupo al que pertenecerá el usuario. Déjelo
- en blanco si quiere que el sistema lo asigne
- automáticamente.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Password</term>
-
- <listitem>
- <para>La contraseña del usuario. <emphasis>Rellene este campo con
- mucho cuidado</emphasis>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Full name</term>
-
- <listitem>
- <para>El nombre completo del usuario (o un comentario
- descriptivo.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Member groups</term>
-
- <listitem>
- <para>Los grupos a los que este usuario pertenece, es decir, de los que
- hereda sus derechos de acceso.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Home directory</term>
-
- <listitem>
- <para>El directorio «home» del usuario; déjelo en
- blanco si quiere que el sistema lo asigne
- automáticamente.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Login shell</term>
- <listitem>
- <para>La shell con la que el usuario accederá al
- sistema. Déjela en blanco si le sirve
- <filename>/bin/sh</filename>, la shell por
- omisión.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>En nuestro ejemplo no se eligió
- <filename>/bin/sh</filename> sino
- <filename>/usr/local/bin/bash</filename>, para lo cual hubo que
- instalar previamente la shell <application>bash</application>
- como «package». No intente usar una shell que no
- existe o no podrá acceder al sistema con ese usuario. La
- shell más habitual en el mundo BSD es
- <filename>/bin/tcsh</filename>, la «C shell».</para>
-
- <para>El usuario se añadió también al grupo
- <systemitem class="groupname">wheel</systemitem> para que pueda convertirse en
- superusuario con privilegios de
- <systemitem class="username">root</systemitem>.</para>
-
- <para>Cuando haya terminado pulse &gui.ok; y volverá al menú
- de gestión de grupos y usuarios.</para>
-
- <figure xml:id="add-user4">
- <title>Salir de la gestión de usuarios y grupos</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/adduser3"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Los grupos también pueden añadirse en este
- momento si fuera necesario. También puede hacerse desde
- <filename>sysinstall</filename> una vez culminada la
- instalación.</para>
-
- <para>Cuando haya acabado de añadir usuarios seleccione
- <guimenuitem>Exit</guimenuitem> con las flechas y pulse
- <keycap>Intro</keycap> y siga con la instalación.</para>
- </sect2>
-
-
- <sect2 xml:id="rootpass">
- <title>Asignar contraseña a<systemitem class="username">root</systemitem> Password</title>
-
- <screen> Message
- Now you must set the system manager's password.
- This is the password you'll use to log in as "root".
-
- [ OK ]
-
- [ Press enter or space ]</screen>
-
-
- <para>Es decir:</para>
-
- <screen> Mensaje
- Debe asignar la contraseña del administrador del sistema.
- Esta es la contraseña que usará cuando acceda al sistema como
- "root".
-
- [ OK ]
-
- [ Pulse Intro ]</screen>
-
- <para>Pulse <keycap>Intro</keycap> y asígnele una
- contraseña a <systemitem class="username">root</systemitem>.</para>
-
- <para>Tendrá que escribir la contraseña correctamente
- dos veces. No hay necesidad de decirle que es importante que
- recuerde esa contraseña.</para>
-
-
-
- <screen>New password:
-Retype new password :</screen>
-
- <para>La instalación proseguirá una vez que introduzca
- la contraseña correctamente dos veces.</para>
- </sect2>
-
- <sect2 xml:id="exit-inst">
- <title>Salir de la instalación</title>
-
- <para>Si tiene que configurar <link linkend="network-services">servicios de
- red</link> o cualquier otra cosa, puede hacerlo ahora mismo
- o tras terminar la instalación ejecutando
- <command>sysinstall</command>.</para>
-
- <screen> User Confirmation Requested
- Visit the general configuration menu for a chance to set any last
- options?
-
- Yes [ No ]</screen>
-
- <para>Seleccione &gui.no; con las flechas
- y pulse <keycap>Intro</keycap> para volver al menú
- principal de la instalación.</para>
-
- <figure xml:id="final-main">
- <title>Salir de la instalación</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/mainexit"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Seleccione <guibutton>[X Exit Install]</guibutton> con las flechas
- y pulse <keycap>Intro</keycap>. Se le pedirá que confirme que
- quiere salir de la instalación:</para>
-
- <screen> User Confirmation Requested
- Are you sure you wish to exit? The system will reboot (be sure to
- remove any floppies/CDs/DVDs from the drives).
-
- [ Yes ] No</screen>
-
-
- <para>Es decir:</para>
-
- <screen> Petición del Confirmación al usuario
- ?Seguro que quiere salir? El sistema reiniciará (compruebe que
- ha retirado los disquetes de la unidad).
-
- [ Yes ] No</screen>
-
- <para>Seleccione &gui.yes; y extraiga el disquete si ha arrancado desde
- floppy. La unidad CDROM está bloqueada hasta que la
- máquina comience a reiniciarse. La unidad CDROM se desbloquea
- y (actuando con agilidad felina) puede extraerse el CDROM.</para>
-
- <para>El sistema reiniciará. Esté atento por si aparece
- algún mensaje de error.</para>
-
- <para>Si apareciera algún error durante el arranque consulte la
- <xref linkend="freebsdboot"/>.</para>
-
-
- </sect2>
-
- <sect2 xml:id="network-services">
- <info><title>Configuración de servicios de red</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <para>La configuración de servicios de red puede ser una
- tarea peliaguda para usuarios inexpertos si no tienen
- demasiados conocimientos en la materia. Todo lo relacionado
- con las redes (y ahí entra Internet) tiene una
- importancia crítica en cualquier sistema operativo
- moderno y &os; no es una excepción. Es por esta
- razón que le será muy útil saber un
- poco sobre la conectividad en general de &os; desde el momento
- mismo de la instalación y los servicios de que puede
- disponer.</para>
-
- <para>Los servicios de red son programas que aceptan entradas de
- datos desde cualquier punto de la red. Se pone mucho empeño
- en evitar que estos programas puedan ser «dañinos»
- pero por desgracia los programadores no son perfectos y
- de tanto en cuanto aparecen errores en los servicios de red
- que algunos logran aprovechar para hacer maldades. Es crucial
- que solamente active los servicios que sabe que va a necesitar.
- Si tiene dudas con alguno lo mejor es que no lo active hasta
- que no sea evidente que lo necesita. Puede activarlo cuando
- sea necesario ejecutando
- later by re-running <application>sysinstall</application> o
- utilizando el fichero <filename>/etc/rc.conf</filename> file.</para>
-
- <para>Si selecciona la opción <guimenu>Networking</guimenu> verá
- un menú muy parecido a este:</para>
-
- <figure xml:id="network-configuration">
- <title>Primer nivel de servicios de red</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/net-config-menu1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>La primera opción, <guimenuitem>Interfaces</guimenuitem>, la hemos
- visto en la <xref linkend="inst-network-dev"/>, así que podemos
- ignorarla.</para>
-
- <para>Si selecciona la opción <guimenuitem>AMD</guimenuitem>
- añadirá al sistema la aplicación montaje
- automático de dispositivos de <acronym>BSD</acronym>. Suele usarse
- junto con el protocolo <acronym>NFS</acronym> protocol (ver más
- adelante) para automatizar el montaje de sistemas de ficheros remotos.
- No es necesario que configure nada.</para>
-
- <para>La siguiente opción es <guimenuitem>AMD Flags</guimenuitem>.
- Si la selecciona verá un menú emergente que le
- requerirá parámetros específicos de
- <acronym>AMD</acronym>. El menú dispone ya de un
- conjunto de opciones por omisión:</para>
-
- <screen>-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map</screen>
-
- <para>La opción <option>-a</option> fija el punto de montaje
- por omisión, en este caso
- <filename>/.amd_mnt</filename>. La opción <option>-l</option>
- indica el <filename>log</filename> por omisió, aunque si
- usa <literal>syslogd</literal> todos los datos de log se
- enviarán al d&aelig;mon de logs del sistema. El directorio
- <filename>/host</filename> se usa para montar
- sistemas de ficheros exportados desde una máquina remota, mientras que
- el directorio <filename>/net</filename> se usa
- para montar sistemas de ficheros exportados desde una dirección
- <acronym>IP</acronym>. El fichero
- <filename>/etc/amd.map</filename> define las opciones de exportación
- que <acronym>AMD</acronym> exporta por omisión.</para>
-
- <indexterm>
- <primary>FTP</primary>
- <secondary>anonymous</secondary>
- </indexterm>
-
- <para>La opción <guimenuitem>Anon FTP</guimenuitem> permite
- conexiones <acronym>FTP</acronym> anónimas. Seleccione esta
- opción si quiere utilizar la máquina como servidor
- servidor <acronym>FTP</acronym> anónimo. Tenga muy en cuenta
- los riesgos de seguridad que conlleva esta opción. Se le
- ofrecerá otro menú en el que se explican en profundidad
- los riesgos de seguridad y la configuración.</para>
-
- <para>El menú de configuración <guimenuitem>Gateway</guimenuitem>
- preparará la máquina para que cumpla las funciones de
- pasarela, tal y como se ha explicado previamente. Puede utilizarlo
- también para desactivar la opción
- <guimenuitem>Gateway</guimenuitem> si la seleccionón sin querer
- durante la instalación.</para>
-
- <para>La opción <guimenuitem>Inetd</guimenuitem> permite desactivar
- el d&aelig;mon &man.inetd.8;.</para>
-
- <para>La opción <guimenuitem>Mail</guimenuitem> se usa para configurar
- el <acronym>MTA</acronym> (de Mail Transfer Agent, agente de transferencia
- de correo) del sistema. Si selecciona esta opción llegará
- al siguiente menú:</para>
-
- <figure xml:id="mta-selection">
- <title>Elegir el MTA del sistema</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/mta-main"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Aquí se le pide que elija qué
- <acronym>MTA</acronym> quiere instalar en su sistema.
- Un <acronym>MTA</acronym> no es otra cosa que un servidor de correo
- que entrega correo electrónico a los usuarios del sistema
- o los que acceden a través de Internet.</para>
-
- <para>Si selecciona <guimenuitem>Sendmail</guimenuitem> instalará
- el célebre <application>sendmail</application>, el
- <acronym>MTA</acronym> de &os; por omisión. La opción
- <guimenuitem>Sendmail local</guimenuitem> hará que
- <application>sendmail</application> sea el
- <acronym>MTA</acronym> del sistema pero desactivará la
- capacidad de recibir correo entrante desde Internet. Las demás
- opciones,
- <guimenuitem>Postfix</guimenuitem> y
- <guimenuitem>Exim</guimenuitem> son en el fonodo similares a
- <guimenuitem>Sendmail</guimenuitem>. Ambas aplicaciones gestionan
- correo aunque hay usuarios que los elegirían como su
- <acronym>MTA</acronym> antes que
- <application>sendmail</application>.</para>
-
- <para>Tras elegir un <acronym>MTA</acronym> (o si ha elegido
- no usar ninguno) el menú de configuración de red nos muestra
- la siguiente opción:<guimenuitem>NFS client</guimenuitem>.</para>
-
- <para>La opción <guimenuitem>NFS client</guimenuitem>
- configura el sistema para comunicarse con servidores
- <acronym>NFS</acronym>. Un servidor <acronym>NFS</acronym>
- permite que, mediante el uso del protocolo <acronym>NFS</acronym>,
- otras máquinas de la red puedan acceder a sus sistemas de
- ficheros. Si no hay más máquinas en su red puede dejar
- la opción sin seleccionar. El sistema puede necesitar
- más configuración; consulte la
- <xref linkend="network-nfs"/> para más información sobre
- cómo configurar el cliente y el servidor.</para>
-
- <para>La siguiente opción es <guimenuitem>NFS server</guimenuitem>,
- que le permitirá configurar su sistema como servidor
- <acronym>NFS</acronym>. Con esta opción añadirá
- la información necesaria para el arranque de <acronym>RPC</acronym>,
- los servicios de llamada de procedimientos remotos.
- <acronym>RPC</acronym> se usa para coordinar conexiones entre
- sistemas y programas.</para>
-
- <para>La siguiente opción es <guimenuitem>Ntpdate</guimenuitem>,
- la sincronización de la hora. Al seleccionarla verá un
- menú como este:</para>
-
- <figure xml:id="Ntpdate-config">
- <title>Configuración de Ntpdate</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/ntp-config"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Elija en el menú el servidor más cercano
- al lugar donde está la máquina. De este modo
- la sincronozación será más precisa, puesto
- que un servidor más lejano puede padecer de conexiones
- con más latencia.</para>
-
- <para>La siguiente opción es <acronym>PCNFSD</acronym>.
- Esta opción instalará el «package»
- <package>net/pcnfsd</package> desde la colección
- de Ports. Es una aplicación muy útil que da
- servicios de autentificación <acronym>NFS</acronym> a
- sistemas que son incapaces de tenerlos por sí mismos,
- como por ejemplo el sistema operativo &ms-dos; de
- Microsoft.</para>
-
- <para>Si usa las flechas podrá ver más
- opciones:</para>
-
- <figure xml:id="Network-configuration-cont">
- <title>Segundo nivel de configuración de red</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/net-config-menu2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Las aplicaciones &man.rpcbind.8;, &man.rpc.statd.8; y
- &man.rpc.lockd.8; utilities se utilizan en las llamadas de
- procesos remotos (<acronym>RPC</acronym>).
- <command>rpcbind</command> gestiona la comunicación
- entre servidores y clientes <acronym>NFS</acronym>; los
- servidores <acronym>NFS</acronym> lo necesitan para poder
- funcionar correctamente. El d&aelig;mon <application>rpc.statd</application>
- se comunica con el d&aelig;mon <application>rpc.statd</application>
- de otras máquinas para facilitar seguimiento de estado. La
- información de estado se deposita por omisión en
- <filename>/var/db/statd.status</filename>. La siguiente opción
- que vemos es <guimenuitem>rpc.lockd</guimenuitem>; si se selecciona
- facilita servicios de bloqueo de ficheros. Se suele usar conjuntamente
- con <application>rpc.statd</application> para monitorizar qué
- máquina pide bloqueos y con qué frecuencia.
- Si bien es cierto que estas dos útimas opciones son
- fantásticas para depuración, también lo es
- que no son necesarias para que clientes y servidores
- <acronym>NFS</acronym> funcionen correctamente.</para>
-
- <para>El siguiente elemento de la lista es
- <guimenuitem>Routed</guimenuitem>, un d&aelig;mon de encaminamiento.
- &man.routed.8; gestiona tablas de rutas, encuentra
- «routers» multicast y, bajo petición, facilita
- una copia de la tabla de rutas a cualquier máquina conectada
- físicamente a la red. Suele usarse principalmente en
- máquinas que hacen funciones de pasarela de una red
- local. Si la selecciona verá un menú en el que se
- le requerirá que indique la ubicación de la
- aplicación. Por omisión ya está
- configurada, así que basta que la confirme pulsando
- <keycap>Intro</keycap> key. Se le presentará un menú
- más, pidiendole esta vez parámetros que quiera
- proporcionarle a <application>routed</application>. Por omisión
- <option>-q</option> estará ya dispuesto y debería
- aparecer así en pantalla.</para>
-
- <para>La siguiente opción que aparece es
- <guimenuitem>Rwhod</guimenuitem>; si la selecciona arrancará
- el d&aelig;mon &man.rwhod.8; durante el arranque del sistema.
- La aplicación <command>rwhod</command> envía mensajes
- del sistema (en broadcast) periódicamente a través
- de la red, o si está en modo «consumer» los
- va recogiendo. Tiene más información en las
- páginas de manual de &man.ruptime.1; y &man.rwho.1;.</para>
-
- <para>La siguiente opción del menú está
- relacionada con el d&aelig;mon &man.sshd.8;. Se trata del
- servidor de shell segura de
- <application>OpenSSH</application> y le recomendamos encarecidamente
- su uso en lugar de los servidores <application>telnet</application>
- y <acronym>FTP</acronym>. El servidor <application>sshd</application>
- se usa para crear una conexión segura de una máquina a
- otra mediante conexiones cifradas.</para>
-
- <para>La última opción es
- <guimenuitem>TCP Extensions</guimenuitem>, que activa
- las extensiones <acronym>TCP</acronym> definidas en las
- <acronym>RFC</acronym>&nbsp;1323 y
- <acronym>RFC</acronym>&nbsp;1644. En algunas máquinas puede
- acelerar conexiones, pero también puede haber conexiones que
- se pierdan. No se recomienda su uso en servidores, pero puede ser
- de utilidad en máquinas aisladas.</para>
-
- <para>Una vez configurados los servicios de red, vaya al principio del
- menú ( <guimenuitem>X Exit</guimenuitem>)a o vuelva a
-
- <application>sysinstall</application> seleccionando dos veces
- <guimenuitem>X Exit</guimenuitem> y después <guibutton>[X
- Exit Install]</guibutton>.</para>
-
- </sect2>
-
- <sect2 xml:id="freebsdboot">
- <title>El arranque de &os;</title>
-
- <sect3 xml:id="freebsdboot-i386">
- <title>El arranque de &os;/&arch.i386;</title>
-
- <para>Si todo ha ido bien debería ver una pantalla de
- mensajes pasando frente a usted hasta que llegue a lo que
- llamamos un «login prompt». Puede volver a ver
- los mensajes del arranque pulsando <keycap>Bloq Deslp</keycap>
- y usando <keycap>RePág</keycap> y <keycap>AvPág</keycap>.
- Pulsando <keycap>Bloq Despl</keycap> otra vez volverá al
- prompt.</para>
-
- <para>El mensaje del arranque no puede mostrarse completo debido
- a las limitaciones del búfer, pero puede consultarse desde
- la shell mediante
- <command>dmesg</command>.</para>
-
- <para>Entre al sistema utilizando un nombre de usuario y
- contraseña que haya creado durante la instalación
- (en nuestro ejemplo <systemitem class="username">rpratt</systemitem>). Evite entrar al
- sistema como <systemitem class="username">root</systemitem> salvo en los casos en los que
- sea estrictamente necesario.</para>
-
- <para>Este es un típico mensaje de arranque (se ha eliminado
- la información de la versión):</para>
-
-<screen>Copyright (c) 1992-2002 The FreeBSD Project.
-Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
- The Regents of the University of California. All rights reserved.
-
-Timecounter "i8254" frequency 1193182 Hz
-CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
- Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
- Features=0x8001bf&lt;FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX&gt;
- AMD Features=0x80000800&lt;SYSCALL,3DNow!&gt;
-real memory = 268435456 (262144K bytes)
-config&gt; di sn0
-config&gt; di lnc0
-config&gt; di le0
-config&gt; di ie0
-config&gt; di fe0
-config&gt; di cs0
-config&gt; di bt0
-config&gt; di aic0
-config&gt; di aha0
-config&gt; di adv0
-config&gt; q
-avail memory = 256311296 (250304K bytes)
-Preloaded elf kernel "kernel" at 0xc0491000.
-Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
-md0: Malloc disk
-Using $PIR table, 4 entries at 0xc00fde60
-npx0: &lt;math processor&gt; on motherboard
-npx0: INT 16 interface
-pcib0: &lt;Host to PCI bridge&gt; on motherboard
-pci0: &lt;PCI bus&gt; on pcib0
-pcib1: &lt;VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge&gt; at device 1.0 on pci0
-pci1: &lt;PCI bus&gt; on pcib1
-pci1: &lt;Matrox MGA G200 AGP graphics accelerator&gt; at 0.0 irq 11
-isab0: &lt;VIA 82C586 PCI-ISA bridge&gt; at device 7.0 on pci0
-isa0: &lt;ISA bus&gt; on isab0
-atapci0: &lt;VIA 82C586 ATA33 controller&gt; port 0xe000-0xe00f at device 7.1 on pci0
-ata0: at 0x1f0 irq 14 on atapci0
-ata1: at 0x170 irq 15 on atapci0
-uhci0: &lt;VIA 83C572 USB controller&gt; port 0xe400-0xe41f irq 10 at device 7.2 on pci0
-usb0: &lt;VIA 83C572 USB controller&gt; on uhci0
-usb0: USB revision 1.0
-uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
-uhub0: 2 ports with 2 removable, self powered
-chip1: &lt;VIA 82C586B ACPI interface&gt; at device 7.3 on pci0
-ed0: &lt;NE2000 PCI Ethernet (RealTek 8029)&gt; port 0xe800-0xe81f irq 9 at
-device 10.0 on pci0
-ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
-isa0: too many dependant configs (8)
-isa0: unexpected small tag 14
-fdc0: &lt;NEC 72065B or clone&gt; at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
-fdc0: FIFO enabled, 8 bytes threshold
-fd0: &lt;1440-KB 3.5" drive&gt; on fdc0 drive 0
-atkbdc0: &lt;keyboard controller (i8042)&gt; at port 0x60-0x64 on isa0
-atkbd0: &lt;AT Keyboard&gt; flags 0x1 irq 1 on atkbdc0
-kbd0 at atkbd0
-psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
-psm0: model Generic PS/2 mouse, device ID 0
-vga0: &lt;Generic ISA VGA&gt; at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
-sc0: &lt;System console&gt; at flags 0x1 on isa0
-sc0: VGA &lt;16 virtual consoles, flags=0x300&gt;
-sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
-sio0: type 16550A
-sio1 at port 0x2f8-0x2ff irq 3 on isa0
-sio1: type 16550A
-ppc0: &lt;Parallel port&gt; at port 0x378-0x37f irq 7 on isa0
-ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
-ppc0: FIFO with 16/16/15 bytes threshold
-ppbus0: IEEE1284 device found /NIBBLE
-Probing for PnP devices on ppbus0:
-plip0: &lt;PLIP network interface&gt; on ppbus0
-lpt0: &lt;Printer&gt; on ppbus0
-lpt0: Interrupt-driven port
-ppi0: &lt;Parallel I/O&gt; on ppbus0
-ad0: 8063MB &lt;IBM-DHEA-38451&gt; [16383/16/63] at ata0-master using UDMA33
-ad2: 8063MB &lt;IBM-DHEA-38451&gt; [16383/16/63] at ata1-master using UDMA33
-acd0: CDROM &lt;DELTA OTC-H101/ST3 F/W by OIPD&gt; at ata0-slave using PIO4
-Mounting root from ufs:/dev/ad0s1a
-swapon: adding /dev/ad0s1b as swap device
-Automatic boot in progress...
-/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
-/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
-/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
-/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
-/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
-/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
-/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
-/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
-Doing initial network setup: hostname.
-ed0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
- inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
- ether 52:54:05:de:73:1b
-lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
- inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
- inet6 ::1 prefixlen 128
- inet 127.0.0.1 netmask 0xff000000
-Additional routing options: IP gateway=YES TCP keepalive=YES
-routing daemons:.
-additional daemons: syslogd.
-Doing additional network setup:.
-Starting final network daemons: creating ssh RSA host key
-Generating public/private rsa1 key pair.
-Your identification has been saved in /etc/ssh/ssh_host_key.
-Your public key has been saved in /etc/ssh/ssh_host_key.pub.
-The key fingerprint is:
-cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
- creating ssh DSA host key
-Generating public/private dsa key pair.
-Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
-Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
-The key fingerprint is:
-f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
-setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
-/usr/local/lib
-a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
-starting standard daemons: inetd cron sshd usbd sendmail.
-Initial rc.i386 initialization:.
-rc.i386 configuring syscons: blank_time screensaver moused.
-Additional ABI support: linux.
-Local package initialization:.
-Additional TCP options:.
-
-FreeBSD/i386 (k6-2.example.com) (ttyv0)
-
-login: rpratt
-Password:</screen>
-
- <para>La generación de claves RSA y DSA puede llevar su
- tiempo en máquinas lentas. Esto solamente sucede en el
- primer arranque después de la instalación. Los
- demás arranques serán más rápidos.</para>
-
- <para>Si ya hay un servidor X configurado y ha elegido un escritorio
- por omisión puede arrancarlo tecleando
- <command>startx</command> en la shell.</para>
-
- </sect3>
-
- <sect3>
- <title>El arranque de &os;/&arch.alpha;</title>
-
- <indexterm><primary>Alpha</primary></indexterm>
-
- <para>Una vez acabado el proceso de instalación
- podrá arrancar &os; tecleando algo muy parecido
- a esto en el prompt de SRM:</para>
- <para>Once the install procedure has finished, you will be
- able to start FreeBSD by typing something like this to the
- SRM prompt:</para>
-
- <screen>&gt;&gt;&gt;<userinput>BOOT DKC0</userinput></screen>
-<para>Esto hace que el firmware arranque desde el disco especificado. Para que &os; arranque automáticamente de ahí en adelante utilice lo siguiente:</para>
- <screen><prompt>&gt;&gt;&gt;</prompt> <userinput>SET BOOT_OSFLAGS A</userinput>
-<prompt>&gt;&gt;&gt;</prompt> <userinput>SET BOOT_FILE ''</userinput>
-<prompt>&gt;&gt;&gt;</prompt> <userinput>SET BOOTDEF_DEV DKC0</userinput>
-<prompt>&gt;&gt;&gt;</prompt> <userinput>SET AUTO_ACTION BOOT</userinput></screen>
-
- <para>Los mensajes de arranque serán muy similares (aunque
- no iguales) a los que aparecen durante el arranque de &os;
- en &i386;.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="shutdown">
- <title>El apagado de &os;</title>
-
- <para>Es importante apagar correctamente el sistema operativo. No
- basta con darle al interruptor. Lo primero que debe hacer
- es convertirse en superusuario tecleando en la shell
- <command>su</command> e introduciendo la contraseña de
- <systemitem class="username">root</systemitem>. Tenga en cuenta que esto funcionará
- solamente si el usuario es miembro del grupo
- <systemitem class="groupname">wheel</systemitem>. Si no lo es siempre puede
- acceder al sistema como <systemitem class="username">root</systemitem> y utilizar
- <command>shutdown -h now</command>.</para>
-
- <screen>The operating system has halted.
-Please press any key to reboot.</screen>
-
- <para>Una vez que vea el mensaje de «<emphasis>Please press any
- key to reboot</emphasis> » puede apagar la máquina.
- Si pulsa cualquier tecla en lugar de apagar la máquina
- el sistema reiniciará.</para>
-
- <para>También puede usar la combinación de teclas
- <keycombo action="simul">
- <keycap>Ctrl</keycap>
- <keycap>Alt</keycap>
- <keycap>Supr</keycap>
- </keycombo>
- para reiniciar el sistema, aunque no le recomendamos que lo haga
- durante el funcionamiento normal del sistema.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="install-trouble">
- <title>Solución de problemas</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>troubleshooting</secondary>
- </indexterm>
-
-
- <para>Esta sección trata sobre la solución de problemas
- habituales durante la instalación que la comunidad de usuarios
- ha documentado. Hay también unas cuantas preguntas y respuestas
- para quienes quieren poder elegir en el arranque entre &os; y
- &ms-dos;.</para>
-
- <sect2>
- <title>Qué hacer si algo va mal</title>
-
- <para>A causa de las diversas limitaciones de la arquitectura PC es
- imposible hacer que nada funcione con un 100% de probabilidades, pero
- al menos hay unas cuantas cosas que pueden hacerse si algo
- va mal.</para>
-
- <para>Consulte la <link xlink:href="http://www.FreeBSD.org/releases/index.html">lista de hardware
- soportado</link> de su versión de &os; y asegúrese de
- que su hardware debería funcionar con ella.</para>
-
- <para>Si su hardware está soportado y sigue experimentando
- «cuelgues» u otro tipo de problemas tendrá que
- <link linkend="kernelconfig">compilar un kernel personalizado</link>.
- Esto le permitirá disponer de soporte que no está
- incluido en el kernel <filename>GENERIC</filename>. El kernel
- que se incluye en los discos de arranque está configurado
- asumiendo que la mayoría de los dispositivos
- van a funcionar con la configuración por omisión
- de fábrica (en términos de IRQ, direcciones IO y
- canales DMA). Si su hardware ha sido reconfigurado quizás
- tendrá que usar el editor de configuración para
- decirle a &os; dónde encontrar cada cosa.</para>
-
- <para>Es posible también que la prueba de un dispositivo que
- no está en el sistema cause problemas más tarde al probar
- un dispositivo que sí está en la máquina.
- Si ese puede ser su caso desactive las pruebas de controladores
- conflictivos.</para>
-
-
- <note>
- <para>Algunos problemas de instalación pueden evitarse o
- al menos aliviarse actualizando el firmware de ciertos tipos de
- hardware; esto es especialmente cierto en el caso de las placas
- El firmware de las placas base se llama también
- <acronym>BIOS</acronym> y la mayoría de las placas base
- y de los fabricantes de computadoras tienen un sitio web en el
- que suelen encontrarse actualizaciones e información sobre
- su uso.</para>
-
- <para>La mayoría de los fabricantes recomienda que no se
- actualice la <acronym>BIOS</acronym> de la placa base a menos que
- tenga una buena razón para hacerlo, por ejemplo una
- actualización crítica. El proceso de
- actualización <emphasis>podría</emphasis> fallar,
- lo que puede acarrrear daños en el chip de la
- <acronym>BIOS</acronym>.</para>
- </note>
-
- </sect2>
-
- <sect2>
- <title>Uso de sistemas de ficheros de &ms-dos; y &windows;</title>
-
-
- <para>No puede usar sistemas de ficheros comprimidos con
- <application>Double Space&trade;</application>. Deberá por
- lo tanto descomprimir el sistema de ficheros antes de acceder a los
- datos desde &os;.
- Ejecute el <application>Agente de compresión</application>
- desde <guimenuitem>Inicio</guimenuitem>&gt;
- <guimenuitem>Programas</guimenuitem> &gt;
- <guimenuitem>Herramientas del sistema</guimenuitem>.</para>
-
-
- <para>&os; puede usar sistemas de ficheros &ms-dos;.
- &man.mount.msdos.8; inserta estos sistemas de ficheros en la
- jerarquía de directorios del sistema, haciendo posible
- el acceso a los datos. &man.mount.msdos.8; no suele usarse
- directamente; el sistema lo utiliza debido a alguna entrada
- en <filename>/etc/fstab</filename> o porque &man.mount.8; lo
- invoque debido a que se le hayan dado los parámetros
- adecuados para ello.</para>
-
- <para>Veamos una de esas entradas en el fichero
- <filename>/etc/fstab</filename>:</para>
-
-
- <programlisting>/dev/ad0sN /dos msdosfs rw 0 0</programlisting>
-
-
- <para>El directorio <filename>/dos</filename> debe existir previamente
- o no funcionará. Tiene todos los detalles del formato correcto
- de las entradas en <filename>/etc/fstab</filename> en
- &man.fstab.5;.</para>
-
-
- <para>Veamos ahora un ejemplo de llamada de &man.mount.8; a un sistema
- de ficheros &ms-dos;:</para>
-
- <screen>&prompt.root; <userinput>mount_msdos /dev/ad0s1 /mnt</userinput></screen>
-
- <para>En el ejemplo el sistema de ficheros &ms-dos; está en la
- primera partición del primer disco duro.
- La situación en su sistema puede ser diferente: compruebe la
- salida de <command>dmesg</command> y <command>mount</command>.
- Deberían darle suficiente información como para
- darle una idea completa de la estructura de particiones en la que
- está trabajando.</para>
-
- <note><para>&os; suele numerar las las «slices» (que es como
- decir los sistemas de ficheros &ms-dos;) de un modo distinto al de
- otros sistemas operativos. Más concretamente, las particiones
- extendidas de &ms-dos; suelen tener un número mayor de
- «slice» que las particiones primarias de &ms-dos;.
- &man.fdisk.8; le será de ayuda a la hora de determinar
- qué «slices» pertenecen a &os; y cuáles
- a otros sistemas operativos.</para></note>
-
- <para>Las particiones NTFS se montan de una forma muy similar gracias a
- &man.mount.ntfs.8;.</para>
- </sect2>
-
- <sect2>
- <title>Preguntas y respuestas de la resolución de problemas</title>
-
- <qandaset>
- <qandaentry>
- <question>
- <para>Mi sistema se «cuelga» durante el arranque,
- o se comporta de modo extraño durante la instalación,
- o no llega a comprobar el funcionamiento del lector de
- disquetes.</para>
- </question>
- <answer>
- <para>&os; utiliza profusamente el servicio ACPI del sistema en las
- plataformas i386, amd64 e ia64 con el fin de ayudar en
- la configuración del sistema durante la detección
- de hardware durante el arranque. Por desgracia todavía
- hay errores tanto en el controlador ACPI como en algunas BIOS y
- placas base. Puede desactivar ACPI en la tercera fase del cargador
- de arranque del sistema haciendo que
- <literal>hint.acpi.0.disabled</literal> tenga el siguiente
- valor:</para>
-
- <screen><userinput>set hint.acpi.0.disabled="1"</userinput></screen>
-
- <para>Tenga en cuenta que tendría que volver a hacerlo cada vez que
- el sistema arranque, así que añada
- <literal>hint.acpi.0.disabled="1"</literal> al fichero
- <filename>/boot/loader.conf</filename>. Tiene más
- información sobre el cargador de arranque en
- <xref linkend="boot-synopsis"/>.</para>
- </answer>
- </qandaentry>
- <qandaentry>
- <question>
- <para>Cuando voy a arrancar &os; por primera vez después
- de la instalación el kernel carga y prueba mi hardware,
- pero se detiene y muestra mensajes como este:</para>
-
- <screen>changing root device to ad1s1a panic: cannot mount root</screen>
-
- <para>?Cuál es el problema?</para>
-
- <para>?Qué es lo que significa este mensaje de
- <literal>bios_drive:interface(unit,partition)kernel_name</literal>
- que aparece en la ayuda del arranque?</para>
- </question>
- <answer>
- <para>Hay un problema que ya lleva tiempo con nosotros
- cuando el disco desde el que se arranca no es el primero
- en el sistema. La BIOS utiliza un esquema de numeración
- distinto al que usa &os; y a veces saber qué
- número es el que corresponde a qué resulta
- un poco complicado.</para>
-
- <para>Cuando el disco de arranque no sea el primer disco
- del sistema &os; necesitará un poco de ayuda para
- poderlo encontrar. Puede haber dos escenarios donde
- suceda esto y en ambos hay que decirle a &os;, dónde
- encontrar el sistema de ficheros raíz. Esto se
- hace especificando el número de disco según
- la BIOS, el tipo de disco y el número de disco
- que &os; le dará a ese disco.</para>
-
- <para>El primer caso es cuando hay dos discos IDE, ambos
- configurados como maestros de sus respectivos buses IDE
- y quiere usted arrancar desde el segundo disco. La BIOS
- dice que son el disco 0 y el disco 1, mientras que &os;
- los ve como
- <filename>ad0</filename> y
- <filename>ad2</filename>.</para>
-
- <para>&os; está en el disco BIOS 1, de tipo
- <literal>ad</literal> y el número de disco &os; es
- el 2, así que habrá que decir lo
- siguiente:</para>
-
- <screen><userinput>1:ad(2,a)kernel</userinput></screen>
-
- <para>Tenga en cuenta que si tiene un disco esclavo en
- el bus primario esto no es necesario (de hecho es
- un error hacerlo).</para>
-
- <para>El segundo escenario es el arranque desde un disco
- SCSI teniendo uno o más discos IDE en el sistema.
- En este caso el número de disco &os; es más
- bajo que el número de disco BIOS. Si tiene dos
- discos IDE además del disco SCSI, el disco SCSI
- es el disco 2 de BIOS, del tipo
- <literal>da</literal> y para &os; es el disco número
- disk number 0, so
- 0, así que tendrá que usar</para>
-
- <screen><userinput>2:da(0,a)kernel</userinput></screen>
-
- <para>para decirle a &os; que quiere arrancar desde el
- disco 2 de BIOS, que es el primer disco SCSI del sistema.
- Si solamente tiene un disco IDE tendrá que poner
- <literal>1:</literal>.</para>
-
- <para>Una vez que sabe con exactitud los valores que debe
- usar póngalos exactamente como los ha tecleado
- en <filename>/boot.config</filename> utilizando el
- editor de texto que prefiera. Salvo que se le diga lo
- contrario &os; utilizará el contenido de este
- fichero decidiráel comportamiento por omisión
- del prompt de <literal>boot:</literal> prompt.</para>
- </answer>
- </qandaentry>
- <qandaentry>
- <question>
- <para>Cuando voy a arrancar desde disco duro por primera
- vez tras la instalación de &os; el prompt del gestor
- de arranque muestra <literal>F?</literal> en el menú
- de arranque y no pasa de ahí.</para>
- </question>
- <answer>
- <para>La geometría del disco duro se configuró
- mal cuando se utilizó el editor de particiones
- durante la instalación. Ejecute el editor de
- particiones e introduzca la geometría del disco
- correctamente. Tendrá que reinstalar &os;
- completamente dado que habrá cambiado la
- geometría del disco.</para>
-
- <para>Si no encuentra la manera de saber cuál es
- la geometría correcta pruebe con esto:
- Cree una pequeña partición DOS al principio
- del disco e instale &os; en el espacio de disco inmediatamente
- contiguo. El programa de instalación verá la
- partición DOS e intentará deducir la
- geometría correcta a partir de ahí; esto suele
- funcionar.</para>
-
- <para>Le mostramos otra sugerencia que, aunque no es recomendable
- de seguir, se muestra para que sirva de referencia:</para>
-
- <blockquote>
- <para>Si lo que está instalando es un servidor
- o máquina de escritorio dedicado a &os; y
- no le preocupa que en el futuro cercano tenga que
- mantener la convivencia con DOS, Linux u otro
- sistema operativo siempre tiene la opción de
- utilizar el disco entero
- (la opción <guimenuitem>A</guimenuitem> en
- el editor de particiones). Es una opción no
- estándar gracias a la cual &os; ocupa todo
- el disco, desde el primer sector al último.
- De este modo nos olvidamos de todos los problemas
- relacionados con la geometría de disco, pero
- le obliga a no poder instalar ningún otro
- sistema operativo aparte de &os; en ese disco.</para>
- </blockquote>
- </answer>
- </qandaentry>
- <qandaentry>
- <question>
- <para>El sistema encuentra mi tarjeta de red &man.ed.4; pero
- me dan errores de «timeout».</para>
- </question>
- <answer>
- <para>Lo más probable es que su tarjeta esté
- utilizando una IRQ distinta de la que debería
- estar usando según lo que aparece en
- <filename>/boot/device.hints</filename> . El controlador
- &man.ed.4; no utiliza configuración
- does not use the «soft» por omisión
- (es decir, valores que se le suministren mediante EZSETUP
- bajo DOS) pero como casi todo en esta vida hay
- solución. En este caso, de hecho, hay dos.</para>
-
- <para>Ponga el «jumper» de la tarjeta en
- una configuración «dura» (es posible
- que tenga que modificar la configuración del
- kernel debido a esto) o modifique el valor de la IRQ
- con el valor <literal>-1</literal> del siguiente modo:
- by setting the hint <literal>hint.ed.0.irq="-1"</literal>.
- Así le dirá al kernel que utilice la
- configuración «suave».</para>
-
- <para>Hay otra posibilidad, que es cuando su tarjeta
- esté utilizando la IRQ 9, que suele compartir
- funciones con la IRQ 2, circunstancia que es con
- frecuencia causa de problemas (sobre todo cuando entra
- en escena una tarjeta VGA que utiliza justamente la
- IRQ 2). Le recomendamos encarecidamente que haga todo
- lo posible para no utilizar ni la IRQ 2 ni la IRQ 9.</para>
- </answer>
- </qandaentry>
- </qandaset>
- </sect2>
- </sect1>
-
- <sect1 xml:id="install-advanced">
- <info><title>Guía avanzada de instalación</title>
- <authorgroup>
- <author><personname><firstname>Valentino</firstname><surname>Vaschetto</surname></personname><contrib>Escrito por </contrib></author>
- <!-- May 2001 -->
- </authorgroup>
- </info>
-
-
-
- <para>This section describes how to install FreeBSD in exceptional
- cases.</para>
-
- <sect2 xml:id="headless-install">
- <title>Instalación de &os; en un sistema sin monitor o
- teclado</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>headless (serial console)</secondary>
- </indexterm>
- <indexterm><primary>serial console</primary></indexterm>
- <para>Es posible instalar &os; en máquinas que no
- tengan teclado ni siquiera monitor conectado. De hecho
- no tienen por qué tener ni salida VGA.
- ?Cómo es posible?, se preguntará:
- Haciendolo todo a través de una consola serie. Una consola serie
- consiste básicamente en usar otro sistema como la pantalla y el
- teclado de una máquina. Siga las instrucciones de
- creación de los disquetes que se detallan en la <xref linkend="install-floppies"/>.</para>
-
- <para>Tendrá que modificar esos disquetes para que arranquen
- en la consola serie; siga estas instrucciones:</para>
-
-
- <procedure>
- <step>
-
-
- <title>Modificación de los disquetes de arranque para que
- permitan el arranque en la consola serie</title>
- <indexterm>
- <primary><command>mount</command></primary>
- </indexterm>
- <para>Si arrancara con los disquetes que acaba de crear &os;
- arrancaría en el modo normal de instalación. Lo
- que queremos es que &os; arranque en una consola serie,
- así que hemos de montar el disquete
- <filename>kern.flp</filename> en un sistema &os; mediante
- &man.mount.8;.</para>
-
- <screen>&prompt.root; <userinput>mount /dev/fd0 /mnt</userinput></screen>
-
- <para>Una vez montado el disquete entre en el directorio
- <filename>/mnt</filename>&nbsp;:</para>
-
- <screen>&prompt.root; <userinput>cd /mnt</userinput></screen>
-
- <para>Aquí es donde enseñaremos al disquete a
- arrancar en la consola serie. Debe crearse un fichero llamado
- <filename>boot.config</filename> que contenga lo siguiente:
- <literal>/boot/loader -h</literal>. Con esto le pasamos
- cargador de arranque (el «bootloader»)
- el parámetro necesario para que intente arrancar
- en una consola serie.</para>
-
- <screen>&prompt.root; <userinput>echo "/boot/loader -h" &gt; boot.config</userinput></screen>
-
- <para>Una vez configurado correctamente nuestro disquete lo
- desmontamos con &man.umount.8;:</para>
-
- <screen>&prompt.root; <userinput>cd /</userinput>
-&prompt.root; <userinput>umount /mnt</userinput></screen>
-
- <para>Y podemos extraer el disquete de la unidad.</para>
- </step>
-
- <step>
- <title>Conexión del cable modem</title>
-
- <indexterm><primary>null modem cable</primary></indexterm>
- <para>Tiene que conectar un
- <link linkend="term-cables-null">cable
- módem nulo</link> entre dos máquinas.
- <emphasis>Un cable serie normal no funcionará</emphasis>,
- necesitará un cable módem nulo porque tiene
- cruzado alguno de los hilos.</para>
- </step>
-
- <step>
- <title>Arranque de la instalación</title>
-
- <para>Podemos iniciar la instalación. Introduzca el
- disquete <filename>kern.flp</filename> en la unidad de disquetes
- de la máquina en la que quiere hacer la instalación
- y encienda la máquina.</para>
- </step>
-
- <step>
- <title>La conexión a su máquina sin teclado
- ni monitor</title>
- <indexterm>
- <primary><command>cu</command></primary>
- </indexterm>
- <para>Conéctese usando &man.cu.1;:</para>
-
- <screen>&prompt.root; <userinput>cu -l /dev/cuaa0</userinput></screen>
- </step>
- </procedure>
-
- <para>?Ya está! Desde este momento ya puede controlar su
- máquina sin monitor ni teclado desde la sesión
- <command>cu</command> que acaba de abrir. El sistema le pedirá
- que introduzca el disco <filename>kern1.flp</filename> y después
- tendrá que elegir qué tipo de terminal va a utilizar. Elija
- la consola en color de &os; y buena suerte con la instalación.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="install-diff-media">
- <title>Cómo preparar su propio medio de instalación</title>
-
- <note>
- <para>&nbsp;Para evitar la repetición «disco &os;»
- será en adelante un CDROM o un DVD de &os; que haya
- comprado o hecho por sus propios medios.</para>
- </note>
-
- <para>Es posible que tengaque crear su propio
- medio de instalación de &os;. Puede tratarse de un medio
- físico como una cinta o una fuente para que
- <application>sysinstall</application> pueda obtener los ficheros
- que vaya necesitando, como un sitio FTP local, o bien puede
- tratarse de una partición &ms-dos;.</para>
-
- <para>Por ejemplo:</para>
-
-
-
- <itemizedlist>
- <listitem>
- <para>Tiene muchas máquinas conectadas a una red local y
- un sólo disco &os;. Quiere crear un sitio FTP local
- con el contenido del disco &os; y que desde él sus
- máquinas obtengan los ficheros en lugar de tener que
- conectarse a Internet.</para>
- </listitem>
-
- <listitem>
- <para>Tiene un disco &os; y &os; no reconoce su unidad CD/DVD pero
- &ms-dos;/&windows; sí. Quiere copiar los ficheros de
- instalación de &os; a una partición DOS en
- mismo sistema y luego instalar &os; usando esos ficheros.</para>
- </listitem>
-
- <listitem>
- <para>El sistema en el que quiere instalar &os; no tiene
- unidad CD/DVD ni tarjeta de red pero puede conectar un cable
- paralelo o un cable serie «Laplink» a una computadora
- que sí que tiene.</para>
- </listitem>
-
- <listitem>
- <para>Quiere crear una cinta desde la que se pueda instalar
- &os;.</para>
- </listitem>
- </itemizedlist>
-
- <sect2 xml:id="install-cdrom">
- <title>Creación de un CDROM de instalación</title>
-
-
-
- <para>Con cada «release» el Proyecto &os; libera dos
- imágenes de CDROM («imágenes ISO»).
- Dichas imágenes pueden copiarse a CD si dispone de una
- grabadora y usarse posteriormente para instalar &os;.
- Si tiene una grabadora de CD y el ancho de banda no le supone un
- problema la forma más fácil de instalar &os; es
- esta.</para>
-
-
- <procedure>
- <step>
- <title>Descargar la imagen ISO correcta</title>
-
- <para>Puede descargar las imágenes ISO de cada
- «release» desde
- <filename>ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arquitectura/versión</filename>
- o desde la réplica más próxima.
- Sustituya <replaceable>arquitectura</replaceable> y
- <replaceable>versión</replaceable> por lo que
- corresponda.</para>
-
- <para>Ese directorio contendrá normalmente las siguientes
- imágenes:</para>
-
-
-
- <table frame="none">
- <title>Nombres y funciones de las imágenes de &os;&nbsp;6.<replaceable>X</replaceable> and 7.<replaceable>X</replaceable></title>
-
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Nombre</entry>
-
- <entry>Contenido</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><filename>versión-RELEASE-arch-bootonly.iso</filename></entry>
-
- <entry>Todo lo necesario para arrancar un kernel
- de &os; y ejecutar la interfaz de instalación.
- Los ficheros que vayan haciendo falta tendrán
- que irse descargando por FTP o por algún
- otro medio.</entry>
- </row>
-
- <row>
- <entry><filename>versión-RELEASE-arch-disc1.iso</filename></entry>
-
- <entry>Todo lo necesario para instalar A&os; y un
- «live filesystem», que le será
- muy útil (conjuntamente con la aplicación
- «Repair» de
- <application>sysinstall</application>.</entry>
- </row>
-
- <row>
- <entry><filename>versión-RELEASE-arch-disc2.iso</filename></entry>
-
- <entry>Todas las aplicaciones que puedan caber en un
- disco.</entry>
- </row>
-
- <row>
- <entry><filename>versión-RELEASE-arch-docs.iso</filename></entry>
-
- <entry>La documentacióN de &os;.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>Descargue la imagen ISO de arranque (si existe para su
- plataforma) o la imagen del disco uno.
- <emphasis>No</emphasis> descargue ambas, puesto que el disco
- uno contiene todo lo que hay en la imagen ISO de arranque.</para>
-
- <para>Utilice la imagen ISO de arranque si su acceso a Internet es barato.
- Con ella podrá instalar &os; e instalar todo tipo de
- software descargándolo como paquetes/ports (consulte
- el <xref linkend="ports"/>) cuando lo precise.</para>
-
- <para>Utilice la imagen del disco uno si quiere disponer en el
- propio disco de una selección bastante completa
- de software.</para>
-
- <para>Si tiene acceso de alta velocidad a Internet las demás
- imágenes de disco son útiles pero no
- esenciales.</para>
- </step>
-
- <step>
- <title>Escribir los CD</title>
-
- <para>Si va a grabar los CD en un sistema &os; consulte la
- <xref linkend="creating-cds"/> (en particular la
- <xref linkend="burncd"/> y la
- <xref linkend="cdrecord"/>).</para>
-
- <para>Las imágenes se hacen en un formato ISO
- estándar; si va a grabarlas en cualquier otra plataforma
- no debería tener problemas para hacerlo cualquiera que sea
- la aplicación que use para grabar CD.</para>
- </step>
- </procedure>
-
- <note><para>Si lo que quiere hacer es crear una «release»
- personalizada de &os; consulte el artículo <link xlink:href="&url.articles.releng;">Release Engineering</link>.</para></note>
-
- </sect2>
-
- <sect2 xml:id="install-ftp">
- <title>Creación de un sitio FTP local a partir de un disco de
- instalación de &os;</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>network</secondary>
- <tertiary>FTP</tertiary>
- </indexterm>
-
-
-
- <para>Los discos de &os; tienen la misma estructura que los sitios FTP.
- Esa circunstancia le facilitará mucho la tarea de crear un sitio
- FTP local para uso de otras máquinas de su red durante la
- instalación de &os;.</para>
-
- <procedure>
- <step>
- <para>Monte el CDROM en el directorio <filename>/cdrom</filename>
- del sistema que va a albergar el sitio FTP.</para>
-
- <screen>&prompt.root; <userinput>mount /cdrom</userinput></screen>
- </step>
-
- <step>
- <para>Cree una cuenta apta para FTP anónimo en
- <filename>/etc/passwd</filename> editando
- <filename>/etc/passwd</filename> con &man.vipw.8;.
- Añádale lo siguiente:</para>
-
- <programlisting>ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent</programlisting>
- </step>
-
- <step>
- <para>Compruebe que el servicio FTP está activado en
- <filename>/etc/inetd.conf</filename>.</para>
- </step>
- </procedure>
-
- <para>Ahora cualquier máquina capaz de conectarse a su
- sistema a través de una red puede elegir como medio de
- instalación «FTP» y escribir
- <userinput>ftp://su máquina</userinput>
- tras seleccionar «Other» en el menú de sitios
- FTP.</para>
-
- <warning>
- <para>&nbsp;Acabamos de exponer una buena solución para usar
- en un sistema de su propia red y que además está
- protegido por un cortafuegos. Si ofrece servicios FTP a
- máquinas de Internet (y no de su red local) expone su
- sistema a caer bajo la atención de «crackers»
- y otras variedades de indeseable. Le recomendamos encarecidamente
- que siga a rajatabla políticas sensatas de seguridad.</para>
- </warning>
-
- </sect2>
-
- <sect2>
- <title>Creación de disquetes de instalación</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>floppies</secondary>
- </indexterm>
-
-
-
- <para>Si quiere instalar &os; desde disquetes (cosa que, de
- antemano, le sugerimos que <emphasis>no</emphasis> haga) bien
- sea porque &os; no soporta cierto componente necesario de su
- sistema o sencillamente porque insiste en querer hacer las cosas
- de la manera más difícil, tendrá que
- tener a mano unos cuantos disquetes.</para>
-
- <para>Como mínimo necesitará tantos disquetes de
- 1.44&nbsp;MB o 1.2&nbsp;MB como hagan falta para dar cabida a todos
- los ficheros que hay en <filename>bin</filename>. Recuerde la
- entrada «binary distribution» (distribución
- binaria) durante la instalación. Si está generando
- los disquetes en DOS <emphasis>debe formatearlos</emphasis> con
- <command>FORMAT</command> de &ms-dos;. Si está usando
- &windows; puede usar el Explorador para formatear disquetes:
- botón derecho del ratón sobre la unidad
- <filename>A:</filename> y elija «Formatear».</para>
-
- <para>&nbsp;<emphasis>No</emphasis> confíe en el preformateo
- de fábrica de los disquetes. Formatéelos usted de
- nuevo, sólo para asegurarse. La mayoría de los
- problemas de los que se ha informado se han debido a formateos
- defectuosos, téngalo en cuenta.</para>
-
- <para>Si puede crear los disquetes en una máquina &os; un
- formateo sigue sin ser una mala idea, pero no necesitará
- crear un sistema de ficheros DOS en cada floppy. Use
- <command>disklabel</command> y <command>newfs</command>
- para crear un sistema de ficheros UFS en los disquetes tal y como
- se muestra aquí (en un floppy de 1.44&nbsp;MB y 3.5")
- :</para>
-
- <screen>&prompt.root; <userinput>fdformat -f 1440 fd0.1440</userinput>
-&prompt.root; <userinput>disklabel -w -r fd0.1440 floppy3</userinput>
-&prompt.root; <userinput>newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0</userinput></screen>
-
- <note>
- <para>&nbsp;Tendrá que usar <literal>fd0.1200</literal> y
- <literal>floppy5</literal> si usa discos de 5.25" y
- 1.2&nbsp;MB.</para>
- </note>
-
- <para>Ahora puede montarlos y escribir en ellos igual que en cualquier
- otro sistema de ficheros del sistema.</para>
-
- <para>Tras el formateo de los disquetes pasamos a llenarlos. Los
- ficheros necesarios para crear la distribución se dividen en
- partes de tamaño regular de modo que cinco de ellas entren
- en otros tantos disquetes de 1.44&nbsp;MB. Empaquete tantos ficheros
- como pueda en cada uno hasta que tenga todas las distribuciones
- que necesita listas para pasar a los disquetes.
- Cada distribución
- debería ir en un subdirectorio del floppy, por ejemplo
- <filename>a:\bin\bin.aa</filename>,
- <filename>a:\bin\bin.ab</filename>, etc.</para>
-
- <para>Una vez en el menú de selección de medio de
- instalación elija <guimenuitem>Floppy</guimenuitem> y
- siga las instrucciones.</para>
- </sect2>
-
- <sect2 xml:id="install-msdos">
- <title>Instalación desde una partición &ms-dos;</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>from MS-DOS</secondary>
- </indexterm>
-
- <para>Copie los ficheros de la distribución en un directorio
- llamado <filename>freebsd</filename> en el directorio raíz
- de la partición, por ejemplo <filename>c:\freebsd</filename>.
- La estructura de directorios del sitio FTP o el CDROM debe
- reproducirse parcialmente en este directorio, así que le
- sugerimos que use <command>xcopy</command> si está
- copiando los datos desde un CD. En el siguiente ejemplo vamos a
- preparar una instalación mínima de &os;:</para>
-
- <screen><prompt>C:\&gt;</prompt> <userinput>md c:\freebsd</userinput>
-<prompt>C:\&gt;</prompt> <userinput>xcopy e:\bin c:\freebsd\bin\ /s</userinput>
-<prompt>C:\&gt;</prompt> <userinput>xcopy e:\manpages c:\freebsd\manpages\ /s</userinput></screen>
-
- <para>Se ha asumido que <filename>C:</filename> es donde tiene
- espacio libre y <filename>E:</filename> es donde tiene montada
- su unidad CDROM.</para>
-
- <para>Si no tiene unidad CDROM puede descargar la distribución
- desde <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">ftp.FreeBSD.org</link>.
- Cada distribución dispone de su propio directorio; por
- ejemplo, la distribución <emphasis>base</emphasis> está
- en el directorio<link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/base/">&rel.current;/base/</link>.</para>
-
- <para>La única distribución
- <emphasis>imprescindible</emphasis> es <literal>BIN</literal>.
- Guarde esta y todas las distribuciones que quiera instalar desde
- una partición &ms-dos; bajo
- <filename>c:\freebsd</filename>.</para>
-
- </sect2>
-
- <sect2>
- <title>Creación de una cinta de instalación</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>from QIC/SCSI Tape</secondary>
- </indexterm>
-
- <para>La instalación desde cinta es probablemente el
- método más fácil, casi tanto como una
- instalación desde una réplica FTP o desde un
- CDROM. Lo único que el programa de instalación
- necesita es que los ficheros estén empaquetados con
- <application>tar</application> y en una cinta. Veamos
- un ejemplo:</para>
-
- <screen>&prompt.root; <userinput>cd /freebsd/distdir</userinput>
-&prompt.root; <userinput>tar cvf /dev/rwt0 dist1 ... dist2</userinput></screen>
-
- <para>Cuando esté preparando la instalación tenga
- la precaución de dejar sitio suficiente en algún
- directorio temporal (accesible en ese momento) para dejar
- <emphasis>todos los ficheros</emphasis> que hubiera en la
- cinta de instalación. A causa del acceso secuencial propio
- del diseño de las cintas este método de
- instalación requiere un poco de almacenamiento
- temporal.</para>
-
- <note>
- <para>&nbsp;Recuerde que antes de arrancar desde el disquete de
- arranque la cinta <emphasis>debe estar en la unidad</emphasis>.
- La prueba de hardware de la instalación no
- encontraría la cinta.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>Before Installing over a Network</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>network</secondary>
- <tertiary>serial (SLIP or PPP)</tertiary>
- </indexterm>
- <indexterm>
- <primary>installation</primary>
- <secondary>network</secondary>
- <tertiary>parallel (PLIP)</tertiary>
- </indexterm>
- <indexterm>
- <primary>installation</primary>
- <secondary>network</secondary>
- <tertiary>Ethernet</tertiary>
- </indexterm>
-
- <para>Hay tres tipos de instalación a través de
- una red disponibles en &os;: Puerto serie (SLIP o PPP), puerto
- paralelo (PLIP (cable «laplink»)) y Ethernet.</para>
-
- <para>El adaptador Ethernet es, debido a su velocidad de transferencia,
- la mejor elección.
- &os; soporta la mayoría de los adaptadores Ethernet. Tiene
- una lista de dispositivos soportados en las notas de hardware de
- cada «release» de &os;. Si disponde alguno de los
- adaptadores Ethernet PCMCIA soportados por &os; recuerde que debe
- estar presente en el sistema <emphasis>antes</emphasis> de que
- el sistema arranque. Por desgracia &os; no soporta aún
- la inserción en caliente de tarjetas PCMCIA durante la
- instalación.</para>
-
- <para>Tendrá que saber también la dirección
- IP de la red, la máscara de red correcta para la clase de
- su red y el nombre de su máquina. Si va a instalar
- mediante una conexión PPP y no tiene IP estática no
- se preocupe, su ISP puede asignarle una IP temporal
- dinámicamente. Su administrador de sistemas seguramente
- puede ayudarle con la configuración de su red. Si va a
- intentar conectarse con otras máquinas mediante sus
- nombres en lugar de sus direcciones IP necesitará los
- datos de un servidor de nombres y es posible que necesite
- también la dirección de un «gateway»
- (si usa PPP vale con la dirección IP de su proveedor).
- Si va a instalar por FTP a través de un proxy HTTP
- necesitará la dirección del proxy.
- Si no sabe qué pueden significar todas (o la mayoría)
- de estas preguntas hable con su administrador de sistemas o con su
- ISP <emphasis>antes</emphasis> de intentar instalar &os; de esta
- forma.</para>
-
-
-
- <sect3>
- <title>Antes de instalar via NFS</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>network</secondary>
- <tertiary>NFS</tertiary>
- </indexterm>
-
-
- <para>La instalación por NFS es bastante sencilla.
- Sólo tendrá que copiar los ficheros de la
- distribución a un servidor NFS, seleccionar NFS como
- medio de instalación y apuntar a los contenidos a donde
- los haya copiado.</para>
-
- <para>si el servidor sólo soporta
- «puertos privilegiados» (que suele ser la
- configuración por omisión en estaciones de trabajo
- Sun) tendrá que seleccionar la opción
- <option>NFS Secure</option> en el menú
- «Options» antes de comenzar con la
- instalación.</para>
-
- <para>Si usa tarjeta Ethernet de mala calidad y está
- experimentando velocidades de transferencia muy bajas puede
- probar con el parámetro <option>NFS Slow</option>.</para>
-
- <para>Para que la instalación via NFS funcione el servidor
- debe permitir el montaje de subdirectorios. Por ejemplo, si su
- distribución FreeBSD&nbsp;&rel.current; está en
- <filename>ziggy:/usr/archive/stuff/FreeBSD</filename> el servidor
- <systemitem>ziggy</systemitem> tendrá que permitir que pueda
- montarse <filename>/usr/archive/stuff/FreeBSD</filename>, no
- simplemente como <filename>/usr</filename> o
- <filename>/usr/archive/stuff</filename>.</para>
-
- <para>En el fichero <filename>/etc/exports</filename> de &os;
- eso puede controlarse mediante la opción
- <option>-alldirs</option>. Puede que otros servidores NFS
- requieran de parámetros diferentes. Si ve mensajes
- de <errorname>permission denied</errorname> seguramente no ha
- activado esto correctamente.</para>
-
- </sect3>
-
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/introduction/chapter.xml b/es_ES.ISO8859-1/books/handbook/introduction/chapter.xml
deleted file mode 100755
index 524b1148ce..0000000000
--- a/es_ES.ISO8859-1/books/handbook/introduction/chapter.xml
+++ /dev/null
@@ -1,1020 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/introduction/chapter.xml
- %SRCID% 1.126
-
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="introduction">
- <info><title>Introducción</title>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Reesctructurado, reorganizado y con algunas
- partes reescritas por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml:id="introcution-synopsis">
- <title>Sinopsis</title>
-
- <para>Gracias por su interés en &os;. El siguiente
- capítulo trata varios temas relativos al Proyecto &os;, como
- su historia, objetivos, modelo de desarrollo, etc.</para>
-
- <para>Después de leer este capítulo sabrá:</para>
-
- <itemizedlist>
- <listitem>
- <para>Qué relación guarda &os; con otros sistemas
- operativos.</para>
- </listitem>
- <listitem>
- <para>La historia del Proyecto &os;.</para>
- </listitem>
- <listitem>
- <para>Los objetivos del Proyecto &os;.</para>
- </listitem>
- <listitem>
- <para>Los fundamentos del modelo de desarrollo de código
- abierto de &os;.</para>
- </listitem>
- <listitem>
- <para>Y por supuesto: de dónde procede el nombre
- <quote>FreeBSD</quote>.</para>
- </listitem>
- </itemizedlist>
-
- </sect1>
-
- <sect1 xml:id="nutshell">
- <title>Bienvenido a FreeBSD</title>
- <indexterm><primary>4.4BSD-Lite</primary></indexterm>
-
- <para>&os; es un sistema operativo basado en 4.4BSD-Lite para
- ordenadores Intel (x86 e &itanium;), AMD64,
- <trademark>Alpha</trademark> y Sun &ultrasparc;. Se está
- trabajando también en versiones para otras arquitecturas.
- También puede leer sobre <link linkend="history">la
- historia de FreeBSD</link>, o sobre la <link linkend="relnotes">distribución actual</link>. Si
- cree que puede ayudar al proyecto de algún modo
- (desarrollando código, donando hardware, dinero, etc) consulte
- el artículo <link xlink:href="../../articles/contributing/index.html">Contribuir a
- &os;</link>.</para>
-
- <sect2 xml:id="os-overview">
- <title>?Qué puede hacer FreeBSD?</title>
-
- <para>FreeBSD tiene muchas características notables. Algunas
- de ellas son:</para>
-
- <itemizedlist>
- <listitem>
- <indexterm><primary>preemptive multitasking</primary></indexterm>
-
- <para><emphasis>Multitarea expropiativa</emphasis> con
- prioridades dinámicamente ajustadas para asegurar que
- distintas aplicaciones y usuarios compartan los recursos del
- sistema de un modo equitativo, incluso bajo la mayor de las
- cargas.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>multi-user facilities</primary></indexterm>
-
- <para><emphasis>Servicios multiusuario</emphasis> que permiten
- a mucha gente usar un sistema FreeBSD simultáneamente para
- distintas cosas. Ésto significa, por ejemplo, que los
- periféricos del sistema como impresoras y dispositivos de
- cinta son compartidos adecuadamente por varios usuarios del
- sistema o la red, y que pueden establecerse límites sobre
- recursos concretos para usuarios o grupos de usuarios,
- protegiendo los recursos críticos del sistema de un
- uso abusivo.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>TCP/IP networking</primary></indexterm>
-
- <para>Conexión de <emphasis>redes TCP/IP</emphasis> muy
- robusta, con soporte para estándares industriales como
- SCTP, DHCP, NFS, NIS, PPP, SLIP, IPSec e IPv6. Esto quiere decir
- que su sistema &os; puede interactuar fácilmente con
- otros sistemas y hacer de servidor en una empresa, proporcionando
- servicios clave como NFS (acceso a ficheros remotos) y
- servicios de correo electrónico, o proporcinando la
- presencia en Internet de su organización mediante WWW,
- FTP, servicios de encaminamiento y cortafuegos.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>memory protection</primary></indexterm>
-
- <para>La <emphasis>protección de memoria</emphasis>
- garantiza que las aplicaciones (o los usuarios) no se estorben
- los unos a los otros. Un error catastrófico en una
- aplicación no afecta al resto.</para>
- </listitem>
-
- <listitem>
- <para>&os; es un sistema operativo de
- <emphasis>32-bits</emphasis> (de <emphasis>64-bits</emphasis>
- en Alpha, &itanium;, AMD64, y &ultrasparc;) y fue diseñado
- como tal desde el principio.</para>
- </listitem>
-
- <listitem>
- <indexterm>
- <primary>X Window System</primary>
- <seealso>XFree86</seealso>
- </indexterm>
-
- <para><emphasis>X Window System</emphasis> (X11R6), estándar
- de la industria, dota a los usuarios una interfaz
- gráfica (GUI) por el coste de una tarjeta VGA y un monitor
- comunes, y viene con los fuentes completos.</para>
- </listitem>
-
- <listitem>
- <indexterm>
- <primary>binary compatibility</primary>
- <secondary>Linux</secondary>
- </indexterm>
- <indexterm>
- <primary>binary compatibility</primary>
- <secondary>SCO</secondary>
- </indexterm>
- <indexterm>
- <primary>binary compatibility</primary>
- <secondary>SVR4</secondary>
- </indexterm>
- <indexterm>
- <primary>binary compatibility</primary>
- <secondary>BSD/OS</secondary>
- </indexterm>
- <indexterm>
- <primary>binary compatibility</primary>
- <secondary>NetBSD</secondary>
- </indexterm>
- <para><emphasis>Compatibilidad binaria</emphasis> con muchos
- programas nativos de Linux, SCO, SVR4, BSDI y NetBSD.</para>
- </listitem>
-
- <listitem>
- <para>Hay en Internet miles y miles de aplicaciones
- <emphasis>listas para su uso</emphasis>. &os; es compatible
- a nivel de código fuente con la mayoría de
- sistemas &unix; comerciales; por tanto la
- mayoría de aplicaciones requieren poco o
- ningún cambio para compilar en &os;.</para>
- </listitem>
-
- <listitem>
- <para>En Internet hay miles de aplicaciones
- <emphasis>fáciles de portar</emphasis>. El
- código fuente de &os; es compatible con el de los
- sistemas &unix; comerciales más populares y por ello la
- mayoría de las aplicaciones tan sólo necesitan
- pocos cambios, si es que necesitan alguno, para compilar.
- </para>
- </listitem>
-
- <listitem>
- <indexterm><primary>virtual memory</primary></indexterm>
-
- <para>El diseño de la <emphasis>memoria virtual</emphasis> con
- paginación bajo demanda y de la <quote>caché
- unificada de VM/buffer</quote> satisface a aplicaciones que
- requieren grandes cantidades de memoria de forma eficiente aun
- dando respuestas interactivas a otros usuarios.</para>
- </listitem>
-
- <listitem>
- <indexterm>
- <primary>Symmetric Multi-Processing (SMP)</primary>
- </indexterm>
-
- <para>Soporte para <emphasis>SMP</emphasis> en máquinas con
- múltiples CPUs.</para>
- </listitem>
-
- <listitem>
- <indexterm>
- <primary>compilers</primary>
- <secondary>C</secondary>
- </indexterm>
- <indexterm>
- <primary>compilers</primary>
- <secondary>C++</secondary>
- </indexterm>
- <indexterm>
- <primary>compilers</primary>
- <secondary>Fortran</secondary>
- </indexterm>
- <para>Una colección completa de herramientas de desarrollo en
- <emphasis>C</emphasis>, <emphasis>C++</emphasis>,
- <emphasis>Fortran</emphasis>, y <emphasis>Perl</emphasis>.
- Podrá encontrar muchos otros lenguajes avanzados para
- investigación y desarrollo tanto en la
- la Colección de Ports como en forma de
- <emphasis>packace</emphasis>.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>source code</primary></indexterm>
-
- <para>Disponer del <emphasis>código fuente</emphasis> del
- sistema entero significa contar con el mayor nivel de
- control posible sobre su entorno. ?Para qué atarse a
- una solución propietaria a merced de un fabricante
- cuando puede tener un verdadero sistema abierto?</para>
- </listitem>
-
- <listitem>
- <para>Documentación exhaustiva <emphasis>en
- línea</emphasis>.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>¡Y mucho más!</emphasis></para>
- </listitem>
- </itemizedlist>
-
- <indexterm><primary>4.4BSD-Lite</primary></indexterm>
- <indexterm>
- <primary>Computer Systems Research Group (CSRG)</primary>
- </indexterm>
- <indexterm><primary>U.C. Berkeley</primary></indexterm>
- <para>FreeBSD está basado en la versión 4.4BSD-Lite del
- Computer Systems Research Group (CSRG) de la Universidad de
- California en Berkeley, y continúa la distinguida
- tradición de desarrollo de
- sistemas BSD. Además del excelente trabajo del CSRG, el
- Proyecto FreeBSD ha invertido miles de horas en ajustar el
- sistema para conseguir un rendimiento y una fiabilidad máximas
- en situaciones de carga reales. Mientras que muchos de los
- gigantes comerciales se esfuerzan en dotar a los sistemas
- operativos para PC de esas características, rendimiento y
- fiabilidad, &os; puede ofrecerlas
- ¡<emphasis>ya</emphasis>!</para>
-
- <para>Los usos que pueda darle a &os; se ven limitados
- tan sólo por su imaginación. Desde el desarrollo de
- programas hasta la automatización de
- fábricas, desde control de inventarios hasta corrección
- de azimut de antenas de satélites remotos; Si puede
- hacerse con un &unix; comercial lo más seguro es que
- también pueda llevarse a cabo con &os;. &os;
- también hace buen uso de las literalmente miles de
- aplicaciones de alta calidad que se desarrollan en centros de
- investigación y universidades de todo el mundo, frecuentemente
- disponibles por poco o ningún coste. También
- existen aplicaciones comerciales, cuyo número aumenta
- cada dia.</para>
-
- <para>Dado que el código fuente de &os; está
- disponible para todo el mundo el sistema puede personalizarse en un
- grado nunca visto para aplicaciones o proyectos especiales, y de
- maneras generalmente imposibles con los sistemas operativos de la
- mayoría de los fabricantes comerciales. Aquí damos
- tan sólo una muestra de aplicaciones en las que se está
- usando actualmente &os;:</para>
-
- <itemizedlist>
- <listitem>
- <para><emphasis>Servicios de Internet:</emphasis> La robusta
- conectividad TCP/IP integrada en &os; hace de este sistema
- una plataforma ideal para servicios de Internet como:</para>
-
- <itemizedlist>
- <listitem>
- <indexterm><primary>FTP servers</primary></indexterm>
-
- <para>Servidores FTP</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>web servers</primary></indexterm>
-
- <para>Servidores web (estándares o seguros [SSL])</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>firewall</primary></indexterm>
-
- <indexterm><primary>IP masquerading</primary></indexterm>
-
- <para>Cortafuegos y pasarelas NAT (<quote>enmascaramiento
- IP</quote>).</para>
- </listitem>
-
- <listitem>
- <indexterm>
- <primary>electronic mail</primary>
- <see>email</see>
- </indexterm>
-
- <para>Servidores de correo electrónico</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>USENET</primary></indexterm>
-
- <para>USENET y BBSs</para>
- </listitem>
-
- <listitem>
- <para>y muchos más.</para>
- </listitem>
- </itemizedlist>
-
- <para>Con FreeBSD puede empezar fácilmente con un
- pequeño y económico PC de tipo 386
- e ir actualizando su equipo hasta un tetraprocesador Xeon con
- almacenamiento RAID a medida que su proyecto crezca.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>Educación:</emphasis> ?Es estudiante de
- informática o de algún campo relacionado con la
- ingeniería?
- No hay mejor modo de estudiar sistemas operativos, arquitectura
- de computadores y redes que la experiencia a bajo nivel que
- FreeBSD puede aportar. Para aquéllos cuyo principal
- interés en los ordenadores no es otro que el de poder
- realizar su trabajo existe una serie de paquetes gratuitos de CAD,
- matemáticas y diseño gráfico que hacen de &os; un
- sistema verdaderamente útil.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>Investigación:</emphasis> Encontrándose
- disponible el código fuente del sistema entero &os; es
- una excelente plataforma para la investigación en sistemas
- operativos y otras ramas de la informática. El hecho de que
- &os; esté disponible gratuítamente hace posible
- que grupos remotos puedan colaborar con ideas o compartan
- desarrollos sin tener que preocuparse de acuerdos de licencias
- especiales o de limitaciones acerca de lo que puede discutirse en
- foros públicos.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>router</primary></indexterm>
-
- <indexterm><primary>DNS Server</primary></indexterm>
-
- <para><emphasis>Redes:</emphasis> ?Necesita un nuevo
- <quote>router</quote>?
- ?Un servidor de nombres (DNS)? ?Un
- cortafuegos que haga más segura su red
- interna? &os; puede convertir ese PC 386 o 486 que tiene
- arrinconado en un <quote>router</quote> avanzado con
- sofisticadas capacidades de filtrado de paquetes.</para>
- </listitem>
-
- <listitem>
- <indexterm>
- <primary>X Window System</primary>
- <secondary>XFree86</secondary>
- </indexterm>
- <indexterm>
- <primary>X Window System</primary>
- <secondary>Accelerated-X</secondary>
- </indexterm>
- <para><emphasis>Estación de trabajo X:</emphasis> &os; es
- una magnífica elección como terminal X de bajo coste
- gracias al servidor libre X11. A diferencia
- de las terminales X &os; permite ejecutar muchas aplicaciones
- en local si así se quiere, aligerando de este
- modo la carga soportada por el servidor central. &os;
- puede incluso arrancar <quote>sin disco</quote>, permitiendo
- que las estaciones sean aún más económicas y
- fáciles de administrar.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>GNU Compiler Collection</primary></indexterm>
-
- <para><emphasis>Desarrollo de software:</emphasis> El sistema
- base de &os; incluye una completa colección de
- herramientas de desarrollo que incluyen el famoso compilador y
- depurador de C/C++ de GNU.</para>
- </listitem>
- </itemizedlist>
-
- <para>Puede conseguir &os; tanto en forma de código fuente como
- binaria por FTP anónimo o en CDROM. Por favor, consulte el <xref linkend="mirrors"/> para más información.</para>
- </sect2>
-
- <sect2>
- <title>?Quién usa FreeBSD?</title>
-
- <indexterm>
- <primary>users</primary>
- <secondary>large sites running FreeBSD</secondary>
- </indexterm>
-
- <para>Algunos de los mayores sitios web de Internet utilizan FreeBSD;
- he aquí algunos de ellos:</para>
-
- <itemizedlist>
- <listitem>
- <indexterm><primary>Yahoo!</primary></indexterm>
-
- <para><link xlink:href="http://www.yahoo.com/">Yahoo!</link></para>
- </listitem>
-
- <listitem>
- <indexterm><primary>Apache</primary></indexterm>
-
- <para><link xlink:href="http://www.apache.org/">Apache</link></para>
- </listitem>
-
- <listitem>
- <indexterm><primary>Blue Mountain Arts</primary></indexterm>
-
- <para><link xlink:href="http://www.bluemountain.com/">Blue Mountain
- Arts</link></para>
- </listitem>
-
- <listitem>
- <indexterm><primary>Pair Networks</primary></indexterm>
-
- <para><link xlink:href="http://www.pair.com/">Pair
- Networks</link></para>
- </listitem>
-
- <listitem>
- <indexterm><primary>Sony Japan</primary></indexterm>
-
- <para><link xlink:href="http://www.sony.co.jp/">Sony
- Japón</link></para>
- </listitem>
-
- <listitem>
- <indexterm><primary>Netcraft</primary></indexterm>
-
- <para><link xlink:href="http://www.netcraft.com/">Netcraft</link>
- </para>
- </listitem>
-
- <listitem>
- <indexterm><primary>Weathernews</primary></indexterm>
-
- <para><link xlink:href="http://www.wni.com/">Weathernews</link></para>
- </listitem>
-
- <listitem>
- <indexterm><primary>Supervalu</primary></indexterm>
-
- <para><link xlink:href="http://www.supervalu.com/">Supervalu</link></para>
- </listitem>
-
- <listitem>
- <indexterm><primary>TELEHOUSE America</primary></indexterm>
-
- <para><link xlink:href="http://www.telehouse.com/">TELEHOUSE America</link></para>
- </listitem>
-
- <listitem>
- <indexterm><primary>Sophos Anti-Virus</primary></indexterm>
-
- <para><link xlink:href="http://www.sophos.com/">Sophos
- Anti-Virus</link></para>
- </listitem>
-
- <listitem>
- <indexterm><primary>JMA Wired</primary></indexterm>
-
- <para><link xlink:href="http://www.jmawired.com/">JMA Wired</link></para>
- </listitem>
- </itemizedlist>
-
- <para>y muchos más.</para>
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="history">
- <title>Acerca del Proyecto &os; </title>
-
- <para>En la siguiente sección se explican ciertos aspectos
- básicos del Proyecto, una breve historia, sus objetivos y
- el modelo de desarrollo del mismo.</para>
-
- <sect2 xml:id="intro-history">
- <info><title>Breve historia de FreeBSD</title>
- <authorgroup>
- <author><personname><firstname>Jordan</firstname><surname>Hubbard</surname></personname><contrib>Elaborado por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm><primary>386BSD Patchkit</primary></indexterm>
- <indexterm><primary>Hubbard, Jordan</primary></indexterm>
- <indexterm><primary>Williams, Nate</primary></indexterm>
- <indexterm><primary>Grimes, Rod</primary></indexterm>
- <indexterm>
- <primary>FreeBSD Project</primary>
- <secondary>history</secondary>
- </indexterm>
- <para>La génesis del proyecto FreeBSD se remonta a comienzos de
- 1993, en parte como una extensión del <quote>Unofficial 386BSD
- Patchkit</quote> debida a los tres últimos coordinadores del
- patchkit: Nate Williams, Rod Grimes y yo mismo.</para>
-
- <indexterm><primary>386BSD</primary></indexterm>
- <para>Nuestro objetivo original era producir una instantánea de
- 386BSD intermedia para arreglar una serie de problemas que no se
- podían solventar con uno de nuestros parches. Quizás
- haya quien recuerde que el primer nombre del proyecto fue
- <quote>386BSD 0.5</quote> o <quote>386BSD Interim</quote> debido
- a esto.</para>
-
- <indexterm><primary>Jolitz, Bill</primary></indexterm>
-
- <para>386BSD era el sistema operativo de Bill Jolitz, que hasta
- ese punto había estado sufriendo severamente las consecuencias
- de prácticamente un año que más valdría
- olvidar. A medida que el <quote>patchkit</quote> se iba haciendo
- haciendo más incómodo cada dia que pasaba, así
- que acordamos ayudar a Bill con una instantánea del
- sistema. Estos planes se vieron bruscamente interrumpidos cuando
- Bill Jolitz decidió repentinamente retirar su
- aprobación al proyecto sin dejar ninguna indicación
- clara de qué debía hacerse a continuación.</para>
-
- <indexterm><primary>Greenman, David</primary></indexterm>
- <indexterm><primary>Walnut Creek CDROM</primary></indexterm>
- <para>No tardamos mucho en decidir que el objetivo seguía valiendo
- la pena, aun sin el soporte de Bill, así que adoptamos el
- nombre de <quote>FreeBSD</quote>, una idea de David Greenman.
- Nuestros objetivos iniciales se fijaron tras consultar a
- los usuarios del sistema y cuando quedó claro que el proyecto
- estaba en marcha y que podía llegar a ser una
- realidad contacté con Walnut Creek CDROM con idea de
- mejorar los canales de distribución de &os; y hacer
- m&acute;s fácil llegar a aquellas personas que no tenían
- la suerte de tener acceso a Internet. Walnut Creek CDROM no solo
- nos ayudó con la idea de distribuir &os; en CD;
- también facilitó al Proyecto una máquina en la que
- trabajar y una conexión rápida a Internet.
- Sin la fe casi sin precedentes que tuvo Walnut Creek
- CDROM en lo que era en aquél momento un proyecto completamente
- desconocido, es bastante improbable que &os; hubiera logrado
- tanto y tan rápido como ha logrado hasta el dia de hoy.</para>
-
- <indexterm><primary>4.3BSD-Lite</primary></indexterm>
- <indexterm><primary>Net/2</primary></indexterm>
- <indexterm><primary>U.C. Berkeley</primary></indexterm>
- <indexterm><primary>386BSD</primary></indexterm>
- <indexterm><primary>Free Software Foundation</primary></indexterm>
- <para>La primera distribución en CDROM (y disponible por la red)
- fue &os; 1.0, publicado en diciembre de 1993. Estaba basado
- en la cinta de U.C. Berkeley del 4.3BSD-Lite
- (<quote>Net/2</quote>), con bastantes componentes de 386BSD y de
- trabajos proveniente de la Free Software Foundation. Fue un logro
- bastante apreciable para una primera versión; pronto le
- siguió &os; 1.1 en mayo de 1994, que tuvo un gran
- éxito.</para>
-
- <indexterm><primary>Novell</primary></indexterm>
- <indexterm><primary>U.C. Berkeley</primary></indexterm>
- <indexterm><primary>Net/2</primary></indexterm>
- <indexterm><primary>AT&amp;T</primary></indexterm>
- <para>Por entonces se formaron unos inesperados nubarrones en el
- horizonte ya que Novell y la Universidad de Berkeley resolvieron el
- largo juicio acerca del estatus legal de la cinta de Berkeley Net/2.
- Una condición del acuerdo fue la concesión por parte de
- Berkeley de que una gran parte de Net/2 era código
- <quote>gravado</quote> y propiedad de Novell, quien a su vez lo
- había adquirido de AT&amp;T anteriormente. Berkeley obtuvo a
- cambio de Novell el <quote>beneplácito</quote> para que
- 4.4BSD-Lite, cuando saliera, fuera declarado como <quote>no
- gravado</quote> y se instara a los usuarios de Net/2 a cambiar.
- Esto repercutió sobre el Proyecto &os;, a quienes se dio
- hasta julio de 1994 para dejar de sacar su producto basado en
- Net/2. Bajo los términos de aquel acuerdo se permitía
- al Proyecto sacar una última versión antes de la
- fecha límite: esa versión fue &os; 1.1.5.1.</para>
-
- <para>FreeBSD tuvo entonces que acometer la ardua tarea de
- (literalmente) reinventarse a sí mismo a partir de partes
- nuevas y bastante incompletas de 4.4BSD-Lite. Las versiones
- <quote>Lite</quote> eran ligeras en parte porque el CSRG de
- Berkeley quitó grandes partes del código necesario para
- construir un sistema que pudiera arrancar (debido a diversos
- requisitos legales) y porque la versión del 4.4 para Intel era
- muy incompleta. Hasta noviembre de 1994 el proyecto al fin
- realizó esa transición; apareció &os; 2.0 en
- la red y (a finales de diciembre) en CDROM. A pesar de no estar
- suficientemente pulida esta distribución fue un éxito
- significativo, al cual siguió el más robusto y
- fácil de instalar &os; 2.0.5; era junio de 1995.</para>
-
- <para>Sacamos &os;&nbsp;2.1.5 en Agosto de 1996; pareció ser
- suficientemente popular entre ISPs y otras comunidades
- comerciales como para que mereciera otra versión de la rama
- 2.1-STABLE. Fue FreeBSD 2.1.7.1, publicada en febrero de
- 1997, que marcó el final de la línea principal de
- desarrollo en 2-1.STABLE. Una vez en puesta en mantenimiento, en esa
- rama (RELENG_2_1_0) sólo se harían ya mejoras en
- seguridad y se corregirían errores críticos.</para>
-
- <para>&os; se ramificó desde la línea principal de
- desarrollo (<quote>-CURRENT</quote>) en noviembre de 1996 como la
- rama RELENG_2_2, y la primera versión completa (2.2.1)
- salió en abril de 1997. Se hicieron más versiones de
- la rama 2.2 en verano y otoño de 1997, la última de
- las cuales (2.2.8) apareció en noviembre de 1998. La
- primera versión 3.0 oficial salió en octubre de
- 1998 y marcó el inicio del fin de la rama 2.2.</para>
-
- <para>El árbol se ramificó de nuevo el 20 de Enero de 1999,
- dando lugar a las ramas 4.0-CURRENT y 3.X-STABLE. A partir de
- la 3.X-STABLE salió 3.1 el 15 de febrero de 1999, 3.2 el
- 15 de mayo de 1999, 3.3 el 16 de septiembre de 1999, 3.4 el
- 20 de diciembre de 1999 y 3.5 el 24 de junio de 2000. Pocos dias
- después de esta apareció una actualización
- menor, la 3.5.1, que incorporaba parches de seguridad de
- última hora para Kerberos. Esa fue la última
- versión de la rama 3.X.</para>
-
- <para>Hubo otra ramificación el 13 de Marzo de 2000 que
- dio lugar a la rama 4.X-STABLE. Ha habido varias versiones de la
- misma desde entonces: 4.0-RELEASE salió en marzo de 2000 y la
- última versión de la rama, 4.11-RELEASE, apareció
- en enero de 2005.</para>
-
- <para>La largamente esperada 5.0-RELEASE se anunció el 19
- de enero de 2003, culminando casi tres años de
- trabajo; esta versión situó a &os; en el escenario
- del multiproceso avanzado y el soporte de hilos para
- las aplicaciones, e introdujo soporte para las plataformas
- &ultrasparc; y <literal>ia64</literal>. Siguió a esta la
- versión 5.1 lanzada en Junio de 2003. La última
- versión de 5.X como la rama -CURRENT fué
- 5.2.1-RELEASE, que salió en febrero de 2004.</para>
-
- <para>La rama RELENG_5, creada en agosto de 2004, desembocó en
- 5.3-RELEASE, que marcó el inicio de la rama de versiones
- 5-STABLE. La versión 5.5-RELEASE más reciente
- apareció en mayo de 2006. No aparecerán más
- versiones a partir de la rama RELENG_5.</para>
-
-
- <para>
- El árbol se dividió de nuevo en julio de 2005, en
- esta ocasión para crear RELENG_6. 6.0-RELEASE, la primera
- versión de la rama 6.X, apareció en noviembre de
- 2005. &rel2.current;-RELEASE apareció en
- &rel2.current.date;. Irán apareciendo más
- versiones a partir de la rama RELENG_6.</para>
-
-
-
- <para>La rama RELENG_7</para>
- </sect2>
-
- <sect2 xml:id="goals">
- <info><title>Objetivos del Proyecto FreeBSD</title>
- <authorgroup>
- <author><personname><firstname>Jordan</firstname><surname>Hubbard</surname></personname><contrib>Texto original de </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>FreeBSD Project</primary>
- <secondary>goals</secondary>
- </indexterm>
- <para>Los objetivos del Proyecto FreeBSD son producir software que
- pueda usarse con cualquier propósito y sin ningún tipo
- de restricción. Muchos de nosotros participamos de forma
- significativa en el código (y en el proyecto) y ciertamente
- no nos importaría recibir una pequeña compensación
- económica de vez en cuando, pero no vamos a insistir en
- ello. Creemos que nuestra <quote>misión</quote> más
- importante y primordial es facilitar el acceso al código a
- cualquiera, para lo que quiera usarlo y de forma que se use tanto
- y para sacarle tanto provecho para sea posible. Creo que
- éste es uno de los objetivos más fundamentales del
- software libre y algo que nosotros apoyamos con
- entusiasmo.</para>
-
- <indexterm>
- <primary>GNU General Public License (GPL)</primary>
- </indexterm>
- <indexterm>
- <primary>GNU Lesser General Public License (LGPL)</primary>
- </indexterm>
- <indexterm><primary>BSD Copyright</primary></indexterm>
- <para>El código fuente de nuestro árbol que se halla bajo
- la GNU General Public License (GPL) o la Library General Public License
- (LGPL) viene con algunas restricciones más, si bien para
- garantizar acceso al mismo, y no al contrario como es lo habitual.
- Debido a las complicaciones adicionales que pueden surgir en el
- uso comercial de software con licencia GPL preferimos que el
- software que incluyamos en el árbol venga bajo la licencia BSD,
- menos restrictiva, siempre y cuando sea una opción
- razonable.</para>
- </sect2>
-
- <sect2 xml:id="development">
- <info><title>El modelo de desarrollo de FreeBSD</title>
- <authorgroup>
- <author><personname><firstname>Satoshi</firstname><surname>Asami</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>FreeBSD Project</primary>
- <secondary>development model</secondary>
- </indexterm>
- <para>El desarrollo de &os; es un proceso muy abierto y
- flexible: &os; está literalmente compuesto de partes hechas
- por centenares de personas de todo el mundo,
- como puede verse en <link xlink:href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributors/article.html">este texto</link>.
- la infraestructura de desarrollo del proyecto FreeBSD permite a estos
- cientos de desarrolladores trabajar a través de Internet.
- Estamos buscando constantemente de nuevos desarrolladores e ideas.
- Las personas interesadas en vincularse más al
- proyecto tienen que ponerse en contacto con nosotros
- en la &a.hackers;. La &a.announce; está a
- disposición de quienes deseen dar a conocer a otros usuarios de
- &os; grandes áreas de trabajo.</para>
-
- <para>Veamos unas cuantas cosas útiles sobre el Proyecto &os; y su
- proceso de desarrollo, ya sea trabajando de forma independiente o en
- estrecha cooperación:</para>
-
- <variablelist>
- <varlistentry>
- <term>Los repositorios SVN y CVS<anchor xml:id="development-cvs-repository"/></term>
-
- <listitem>
- <indexterm>
- <primary>CVS</primary>
- <secondary>repository</secondary>
- </indexterm>
- <indexterm>
- <primary>Concurrent Versions System</primary>
- <see>CVS</see>
- </indexterm>
- <indexterm>
- <primary>SVN</primary>
- <secondary>repository</secondary>
- </indexterm>
- <indexterm>
- <primary>Subversion</primary>
- <see>SVN</see>
- </indexterm>
- <para>El árbol central de código de &os; se ha
- mantenido mediante <link xlink:href="http://ximbiot.com/cvs/wiki/">CVS</link>
- (Concurrent Versions System, o sistema concurrente de versiones),
- una herramienta de control de código totalmente libre que
- forma parte de &os;. En junio de 2008 el Proyecto
- adoptó <link xlink:href="http://subversion.tigris.org">SVN</link> (Subversion).
- La necesidad de un cambio como este venía de largo a medida
- que las limitaciones técnicas que el uso de
- <application>CVS</application> imponía se iban haciendo
- más y más obvias con la rápida expansión
- del árbol de código y de la cantidad de historial de
- cambios que hay que almacenar y gestionar. Aunque el repositorio
- principal use
- <application>SVN</application> las aplicaciones del lado del cliente
- como <application>CVSup</application> y
- <application>csup</application>, que dependen de la infraestructura
- anterior basada en <application>CVS</application>, siguen funcionando
- normalmente; los cambios que se hacen en el repositorio
- <application>SVN</application> se van replicando en el repositorio
- <application>CVS</application> con este fin. Actualmente (octubre
- 2008) solamente el árbol central de código usa
- <application>SVN</application>. Los repositorios de
- documentación, WWW y Ports siguen usando
- still using <application>CVS</application>. El
- <link xlink:href="http://www.FreeBSD.org/cgi/cvsweb.cgi">repositorio</link>
- primario está alojado en una máquina en Santa Clara
- (California, EEUU), que constituye el original del que todas las
- réplicas (a las que llamamos a veces <quote>mirrors</quote>)
- son copias exactas actualizadas cada muy poco tiempo. El
- árbol <application>SVN</application>, que contiene
- también los árboles <link linkend="current">-CURRENT</link>
- y <link linkend="stable">-STABLE</link>, puede replicarse
- muy fácilmente en local en su máquina.
- Consulte la sección <link linkend="synching">Sincronización
- del árbol de código</link> para más
- información.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>La lista de committers<anchor xml:id="development-committers"/></term>
- <listitem>
- <indexterm><primary>committers</primary></indexterm>
-
- <para>Los <firstterm>committers</firstterm> son la gente que
- tienen permisos de <emphasis>escritura</emphasis> en el
- los fuentes de &os; (el término
- <quote>committer</quote> viene de la orden
- <command>commit</command> de &man.cvs.1;, que sirve para
- hacer cambios en el repositorio CVS). La mejor
- manera de enviar aportaciones para que sean revisadas por
- los committers es usar &man.send-pr.1;. Si le parece que
- si pareciera que algo va mal en el sistema también puede
- enviar correo electrónico a la &a.committers;.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>El Core Team de &os;<anchor xml:id="development-core"/></term>
-
- <listitem>
- <indexterm><primary>core team</primary></indexterm>
-
- <para>El <firstterm>Core Team de &os;</firstterm> sería
- el equivalente a una junta directiva si el Proyecto
- &os; fuese una compañía. La tarea principal del
- Core Team es la de garantizar que el Proyecto como un todo
- tenga salud y se mueva en las direcciones adecuadas. Otra de
- sus funciones es invitar a desarrolladores comprometidos y
- responsables a que se unan a nuestro equipo, además
- de reclutar nuevos miembros del Core Team cuando alguno se
- va. El Core Team actual fue elegido entre un conjunto de
- candidatos committers en julio de 2008. Se celebran elecciones
- cada dos años.</para>
-
- <para>Algunos miembros del Core Team tienen también
- áreas específicas de responsabilidad, pues se
- encargan de garantizar que grandes secciones del sistema
- funcionen según lo previsto. Hay una lista completa
- de desarrolladores de &os; con sus áreas de
- responsabilidad en la <link xlink:href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributors/article.html">lista de colaboradores</link>. .</para>
-
- <note>
- <para>La mayoría de los miembros del Core Team
- trabaja de forma altruísta en el desarrollo de &os; y no
- reciben beneficio económico del Proyecto; es por esto que
- <quote>compromiso</quote> no debe confundirse con
- <quote>soporte garantizado</quote>. La anterior
- analogía de la <quote>junta directiva</quote> en
- realidad no es del todo exacta; quizá fuera más
- acertado decir que esa es la gente que dedica su vida
- a &os; <emphasis>en contra de lo que les aconseja su propio
- sentido común</emphasis>.</para>
- </note>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Contribuidores externos</term>
-
- <listitem>
- <indexterm><primary>Colaboradores</primary></indexterm>
-
- <para>Por último, y no por ello menos importante, el mayor
- grupo de desarrolladores está formado por los mismos
- usuarios, quienes constantemente nos aportan comentarios y
- corrección de errores. La mejor manera de seguir de
- cerca el desarrollo (al estilo descentralizado de &os;) es suscribirse
- a la &a.hackers;, que es donde se habla de este tipo de cosas.
- Consulte el <xref linkend="eresources"/> si necesita más
- información sobre las diferentes listas de correo de
- &os;.</para>
-
- <para><citetitle>La lista de colaboradores</citetitle> es larga
- y no para de crecer. ?Por qué no
- apuntarse y hacer algo en &os; hoy mismo?</para>
-
- <para>Aportar código no es la única manera de
- ayudar al proyecto; hay una lista completa de tareas
- pendientes en el
- <link xlink:href="http://www.freebsd.org/index.html">sitio web del Proyecto FreeBSD</link>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>En resumen, nuestro modelo de desarrollo está organizado
- como un conjunto de círculos concéntricos. El modelo
- centralizado está diseñado pensando el la comodidad
- de los <quote>usuarios</quote> de &os;, que así tienen un modo
- sencillo de estar al dia con una base de código
- central y por supuesto <emphasis>no para excluir a quien quiera
- ayudar</emphasis>. Nuestro afán es ofrecer un sistema
- operativo estable con un gran conjunto de
- <link linkend="ports">aplicaciones</link> coherentes que los
- usuarios puedan instalar y usar fácilmente (y este modelo
- está dando buenos resultados)</para>
-
- <para>Lo único que pedimos a quienes quieran unirse a nosotros
- como desarrolladores de &os; es la misma dedicación que los
- integrantes actuales tienen.</para>
- </sect2>
-
- <sect2 xml:id="relnotes">
- <title>En qué consiste el &os; que distribuimos</title>
-
- <indexterm><primary>NetBSD</primary></indexterm>
- <indexterm><primary>OpenBSD</primary></indexterm>
- <indexterm><primary>386BSD</primary></indexterm>
- <indexterm><primary>Free Software Foundation</primary></indexterm>
- <indexterm><primary>U.C. Berkeley</primary></indexterm>
- <indexterm>
- <primary>Computer Systems Research Group (CSRG)</primary>
- </indexterm>
- <para>&os; es un sistema operativo libre y gratuito que se distribuye
- con el código fuente íntegro. Está basado en
- 4.4BSD-Lite y está diseñado para funcionar en sistemas
- Intel &i386;, &i486;, &pentium;, &pentium;&nbsp;Pro, &celeron;,
- &pentium;&nbsp;II, &pentium;&nbsp;III, &pentium;&nbsp;III,
- &pentium;4 (o compatible), &xeon;, DEC
- <trademark>Alpha</trademark> y sistemas basados en SUN
- &ultrasparc;. Está basado principalmente en software
- del grupo CSRG de la Universidad de Berkeley (California),
- y tiene mejoras importadas de NetBSD, OpenBSD, 386BSD y
- código creado al amparo de la Free Software
- Foundation.</para>
-
- <para>Desde la versión 2.0 de FreeBSD de finales del 94 el
- rendimiento, conjunto de funcionalidades, y estabilidad del
- sistema han mejorado drásticamente.
- <!-- XXX Sigue siendo el resto de este parrafo cierto? -->
- El último cambio consiste
- en un rediseño del sistema de memoria virtual con una
- caché
- unificada de VM/buffer que no solo aumenta el rendimiento sino
- que reduce el consumo de memoria de &os;, haciendo
- que una configuración de 5 MB sea un mínimo más
- aceptable. Otras mejoras incluyen soporte completo para clientes y
- servidores NIS, soporte para transacciones TCP, llamada bajo demanda
- PPP, soporte para DHCP integrado, un subsistema SCSI mejorado,
- soporte para RDSI (ISDN), soporte para ATM, FDDI, adaptadores Fast y
- Gigabit Ethernet (1000 Mbit), soporte mejorado para los últimos
- controladores Adaptec y cientos de correcciones de
- errores.</para>
-
- <para>Además de la distribución base &os; ofrece una
- colección de software con miles de programas de uso común.
- <emphasis>En el momento de escribir esto hay unos
- &os.numports; <quote>Ports</quote></emphasis> La lista de Ports comprende
- desde servidores HTTP (WWW), juegos, lenguajes de programación,
- editores, y prácticamente cualquier cosa. La colección de
- Ports completa requiere un espacio de aproximadamente &ports.size;, todos
- ellos expresados como <quote>deltas</quote> de sus fuentes
- originales. Esto hace que nos sea mucho más fácil
- actualizar Ports y reduce notablemente el espacio en disco que
- necesitaba la anterior Colección de Ports 1.0. Para compilar un
- port uno simplemente se sitúa bajo el directorio del programa
- que desea instalar, escribe <command>make install</command> y
- deja que el sistema se encargue del resto. La distribución
- original completa de cada port que compile se descargará
- dinámicamente de un CDROM o un sitio FTP, de modo que sólo
- necesita el espacio necesario para compilar los ports que
- quiera. La mayoría de los ports también
- están precompilados como <quote>packages</quote>, que
- quienes no quieran compilar Ports pueden instalar con una simple orden:
- <command>pkg_add</command>. En el <xref linkend="ports"/> tiene más información sobre los
- <quote>packages</quote> y Ports.</para>
-
- <para>Algunos documentos que pueden ser de ayuda en el proceso de
- instalación y al utilizar FreeBSD pueden también
- encontrarse el directorio <filename>/usr/share/doc</filename> de cualquier
- máquina con una versión reciente de &os; encontrará
- varios documentos que pueden serle de ayuda en el proceso de
- instalación o al usar &os;. Para poder consultarlos utilice
- cualquier navegador para seguir estos enlaces:</para>
-
- <variablelist>
- <varlistentry>
- <term>El <emphasis>Handbook</emphasis> de &os;</term>
-
- <listitem>
- <para><link xlink:href="file://localhost/usr/share/doc/handbook/index.html">/usr/share/doc/handbook/index.html</link></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Las FAQ de &os;</term>
-
- <listitem>
- <para><link xlink:href="file://localhost/usr/share/doc/faq/index.html">/usr/share/doc/faq/index.html</link></para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>También puede ver la copia original (y más
- frecuentemente
- actualizada) en <link xlink:href="http://www.FreeBSD.org/">http://www.FreeBSD.org/</link>.</para>
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/jails/chapter.xml b/es_ES.ISO8859-1/books/handbook/jails/chapter.xml
deleted file mode 100644
index ed20cb7194..0000000000
--- a/es_ES.ISO8859-1/books/handbook/jails/chapter.xml
+++ /dev/null
@@ -1,1018 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/jails/chapter.xml
- %SRCID% 1.14
-
-
- $FreeBSD$
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="jails">
- <info><title>Jaulas</title>
- <authorgroup>
- <author><personname><firstname>Matteo</firstname><surname>Riondato</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm><primary>jails</primary></indexterm>
-
- <sect1 xml:id="jails-synopsis">
- <title>Sinopsis</title>
-
- <para>En este capítulo se explica qué son las
- jaulas en &os; y cómo usarlas. Las jaulas, citadas
- con frecuencia como la nueva generación de
- <emphasis>entornos chroot</emphasis>, son una herramienta
- muy poderosa que se ha puesto al servicio de los administradores
- de sistemas, aunque su uso más básico puede
- ser también de suma utilidad para usuarios avanzados.</para>
-
- <para>Tras leer este capítulo sabrá usted:</para>
-
- <itemizedlist>
- <listitem>
- <para>Qué es una jaula y para qué puede usarse
- en sistemas &os;.</para>
- </listitem>
-
- <listitem>
- <para>Cómo generar, arrancar y parar una jaula.</para>
- </listitem>
-
- <listitem>
- <para>Cómo manejarse con los rudimentos de la
- administración de las jaulas, tanto desde dentro
- como desde fuera de la jaula.</para>
- </listitem>
- </itemizedlist>
-
- <para>Otras fuentes de información útil sobre
- las jaulas:</para>
-
- <itemizedlist>
- <listitem>
- <para>La página de manual &man.jail.8;. Es la referencia
- completa de <command>jail</command>, la herramienta administrativa
- de &os; con la que se arrancan, paran y controlan las jaulas.</para>
- </listitem>
-
- <listitem>
- <para>Las listas de correo y sus respectivos archivos. Los archivos
- de la &a.questions;, entre otras listas de correo alojadas en
- el &a.mailman.lists; contienen una enorme cantidad de
- información sobre jaulas. La ayuda que está
- buscando puede obtenerla, por tanto, de una búsqueda
- en los archivos de las listas o de enviar una pregunta que
- nadie haya hecho en la lista de correo &a.questions.name;.</para>
- </listitem>
- </itemizedlist>
-
- </sect1>
-
- <sect1 xml:id="jails-terms">
- <title>Términos relacionados con las jaulas</title>
-
- <para>Para ayudar a comprender las partes de &os; que intervienen
- en el funcionamiento de las jaulas, su funcionamiento interno y
- el modo en que interactuan con el resto de &os;, durante el
- resto del capítulo se utilizarán los siguientes
- términos:</para>
-
- <variablelist>
- <varlistentry>
- <term>&man.chroot.2; (comando)</term>
- <listitem>
- <para>Es una llamada al sistema de &os; que restringe el
- directorio raiz de un proceso y sus hijos.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>&man.chroot.2; (entorno)</term>
- <listitem>
- <para>Es el entorno de procesos que se ejecutan en un
- <quote>chroot</quote>. Esto incluye recursos como
- la parte visible del sistema de ficheros, los ID de usuario
- y grupo disponibles, interfaces de red u otros mecanismos IPC.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>&man.jail.8; (comando)</term>
- <listitem>
- <para>La herramienta de administración que permite arrancar
- procesos dentro del entorno de una jaula.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>servidor (sistema, proceso, usuario, etc)</term>
- <listitem>
- <para>El sistema que controla una jaula. El servidor tiene
- acceso a todos los recursos de hardware y puede controlar
- procesos tanto dentro como fuera de la jaula. Una de las
- diferencias importantes entre el sistema que aloja la jaula y
- la jaula propiamente dicha: las limitaciones que afectan a
- los procesos que se ejecutan con privilegios de superusuario
- dentro de la jaula no dependen de los procesos del
- servidor que la aloja.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>enjaulado (sistema, proceso, usuario, etc.)</term>
- <listitem>
- <para>Un proceso, usuario u otra entidad, cuyo acceso a los
- recursos está restringido por una jaula de &os;.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect1>
-
- <sect1 xml:id="jails-intro">
- <title>Introducción</title>
-
- <para>Dado lo dificil y desconcertante de la tarea de
- administrar sistemas se han ido desarrollando poderosas
- herramientas con el fin de hacer la vida del administrador
- más sencilla. Dichas herramientas suelen facilitar
- cierto tipo de mejoras en la instalación, configuración
- o mantenimiento de los sistemas. Una de las tareas que
- se espera que cumpla un administrador de sistemas es la
- configuración adecuada de la seguridad, de modo que
- pueda dar el servicio para el que se ha destinado sin que
- pueda verse comprometido.</para>
-
- <para>Una de las herramientas disponibles para mejorar los niveles
- de seguridad de un sistema &os; es el uso de
- <emphasis>jaulas</emphasis>. Las jaulas fueron introducidas en
- &os;&nbsp;4.X por &a.phk;, pero en &os;&nbsp;5.X sus capacidades fueron
- aumentadas hasta hacer de ellas un subsistema poderoso y
- flexible. Su desarrollo sigue avanzando, aumentando así su
- utilidad, rendimiento, fiabilidad y seguridad.</para>
-
- <sect2 xml:id="jails-what">
- <title>Qué es una jaula</title>
-
- <para>Los sistemas tipo BSD disponen de &man.chroot.2; desde
- la época de 4.2BSD. &man.chroot.8; permite restringir
- el directorio raiz de un conjunto de procesos, creando un
- entorno seguro y separado del resto del sistema. Los procesos
- creados dentro de un entorno chroot no pueden acceder a ficheros
- o recursos ubicados fuera del mismo. Por esta razón,
- si un atacante logra comprometer un servicio que se ejecuta
- en un entorno chroot no debería automáticamente
- poder acceder al resto del sistema. &man.chroot.8; es una
- buena herramienta para tareas sencillas que no requieran
- mucha flexibilidad o características complejas o muy
- avanzadas. Por desgracia, desde la invención de chroot
- se han ido encontrando muchas formas de saltarse las
- barreras que chroot impone y, aunque estén corregidas
- en las versiones más modernas del kernel de &os;,
- era evidente que &man.chroot.2; no era la solución
- ideal para ejecutar servicios con seguridad. Había
- que implementar un nuevo subsistema.</para>
-
- <para>Este es uno de los principales motivos por los que
- se crearon las <emphasis>jaulas</emphasis>.</para>
-
- <para>Las jaulas llevan más allá en muchos
- sentidos el concepto tradicional de entorno
- &man.chroot.2;. En un entorno &man.chroot.2; tradicional los
- procesos solo ven limitada la parte del sistema de ficheros
- a la que pueden acceder. El resto de recursos del sistema,
- es decir, el conjunto de usuarios del sistema, los procesos
- en ejecución o el subsistema de red están
- compartidos entre el sistema alojado y el servidor. Las jaulas
- extienden este modelo virtualizando no solamente el acceso al
- sistema de ficheros, sino al conjunto de usuarios, al subsistema
- de red del kernel de &os; y unas cuantas cosas más. En la <xref linkend="jails-tuning"/> se detallan diversas opciones de
- control exhaustivo para configurar el acceso a recursos de
- un entorno enjaulado.</para>
-
- <para>Una jaula se caracteriza por disponer de cuatro elementos:</para>
-
- <itemizedlist>
- <listitem>
- <para>Un <quote>subárbol</quote> de directorios:
- el punto desde el que se entra a una jaula. Una vez
- dentro de la jaula un proceso no puede escapar de dicho
- <quote>subárbol</quote>. Los típicos problemas
- de seguridad que aparecín una y otra vez en el
- diseño del &man.chroot.2; original no afectan a
- las jaulas de &os;.</para>
- </listitem>
-
- <listitem>
- <para>Un nombre de máquina (<quote>hostname</quote>),
- que definirá a la jaula. Las jaulas se usan
- principalmente para albergar servicios de red, por lo que
- disponer de un nombre de máquina descriptivo ayuda
- enormemente al administrador de sistemas.</para>
- </listitem>
-
- <listitem>
- <para>Una dirección <acronym>IP</acronym>: debe asignarse
- a la jaula y no cambiarse durante el ciclo de vida de la
- jaula. La dirección IP de una jaula suele ser un
- alias de un interfaz de red, aunque no es imprescindible que
- así sea.</para>
- </listitem>
-
- <listitem>
- <para>Un comando: La ruta de un ejecutable ubicado dentro de
- la jaula. La ruta es relativa al directorio raiz de la
- jaula, por lo que puede ser muy diferentes según
- el entorno.</para>
- </listitem>
- </itemizedlist>
-
- <para>Además, las jaulas pueden tener sus propios usuarios
- e incluso su propio <systemitem class="username">root</systemitem>. Es obvio que
- este usuario <systemitem class="username">root</systemitem> tiene su poder para hacer
- circunscrito a la jaula y, desde el punto de vista del servidor,
- el usuario <systemitem class="username">root</systemitem> de la jaula no es
- omnipotente. El usuario <systemitem class="username">root</systemitem> de la jaula
- no puede ejecutar tareas críticas fuera de la jaula
- (&man.jail.8;) a la que pertenece. Más adelante, en
- la <xref linkend="jails-tuning"/>, se dará más
- información sobre las restricciones del usuario
- <systemitem class="username">root</systemitem>.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="jails-build">
- <title>Creación y gestión de jaulas</title>
-
- <para>Algunos administradores dividen las jaulas en dos tipos:
- jaulas <quote>completas</quote>, que recrean un sistema &os;
- real, y jaulas <quote>de servicio</quote>, que son aquellas
- que están dedicadas a una sola aplicación o
- servicio, en muchos casos ejecutándose sin privilegios. Se
- trata de una división exclusivamente conceptual, por lo
- que el proceso de generación de una jaula no se ve
- afectado por ella. La página de manual &man.jail.8;
- explica claramente el procedimiento a seguir para generar una
- jaula:</para>
-
- <screen>&prompt.root; <userinput>setenv D /aquí/está/la/jaula</userinput>
-&prompt.root; <userinput>mkdir -p $D</userinput> <co xml:id="jailpath"/>
-&prompt.root; <userinput>cd /usr/src</userinput>
-&prompt.root; <userinput>make world DESTDIR=$D</userinput> <co xml:id="jailworld"/>
-&prompt.root; <userinput>cd etc/</userinput> <footnote><para>Este paso
-no es necesario en &os; 6.0 y versiones posteriores.</para></footnote>
-&prompt.root; <userinput>make distribution DESTDIR=$D</userinput> <co xml:id="jaildistrib"/>
-&prompt.root; <userinput>mount_devfs devfs $D/dev</userinput> <co xml:id="jaildevfs"/></screen>
-
- <calloutlist>
- <callout arearefs="jailpath">
- <para>El mejor punto de partida es la elección del punto
- del sistema de ficheros del servidor donde estará
- físicamente ubicada la jaula. <filename>/usr/jail/nombredelajaula</filename>
- es un buen sitio. <replaceable>nombredelajaula</replaceable>
- es el nombre de máquina que identifica a la jaula. El
- sistema de ficheros <filename>/usr/</filename> suele tener espacio
- suficiente para albergar el sistema de ficheros de la jaula que,
- cuando se trata de jaulas <quote>completas</quote>, es
- esencialmente lo necesario para alojar todos y cada uno de
- los sistemas de ficheros en una instalación del sistema
- base por omisión de &os;.</para>
- </callout>
-
- <callout arearefs="jailworld">
- <para>Este comando creará el contenido necesario
- (binarios, bibliotecas, páginas de manual, etc.) y
- lo copiará al <quote>subárbol</quote> elegido
- como ubicación física de la jaula. Todo se
- hace al típico estilo &os;: se compila todo y luego
- se instala en la ruta de destino.</para>
- </callout>
-
- <callout arearefs="jaildistrib">
- <para>Al pasar el <quote>target</quote>
- <buildtarget>distribution</buildtarget> a
- <application>make</application> se instalan todos los ficheros
- de configuración necesarios. En pocas palabras,
- instala cada fichero instalable que haya en
- <filename>/usr/src/etc/</filename> en el
- directorio <filename>/etc</filename> de la
- jaula, es decir, en
- <filename>$D/etc/</filename>.</para>
- </callout>
-
- <callout arearefs="jaildevfs">
- <para>No es imprescindible montar el sistema de ficheros
- &man.devfs.8; dentro de la jaula aunque por otra parte
- (casi) todas las aplicaciones necesitan acceso al menos
- a un dispositivo, dependiendo esto del propósito
- de la aplicación. Es muy importante el control del
- acceso a dispositivos desde la jaula, puesto que una
- configuración descuidada puede permitir que un
- atacante haga de las suyas. El control sobre &man.devfs.8;
- se gestiona mediante reglas que se detallan en las
- páginas de manual &man.devfs.8; y &man.devfs.conf.5;.</para>
- </callout>
- </calloutlist>
-
- <para>Una vez instalada la jaula puede arrancarla mediante
- &man.jail.8;. &man.jail.8; usa los cuatro argumentos que
- se detallan en la <xref linkend="jails-what"/>. Puede pasarle otros argumentos
- además de estos, por ejemplo para ejecutar procesos
- enjaulados bajo los permisos de un usuario específico. El
- argumento <option><replaceable>comando</replaceable></option>
- depende del tipo de jaula; si se trata de un
- <emphasis>virtual system</emphasis> <filename>/etc/rc</filename>
- es una buena elección, puesto que ejecutará la
- secuencia de arranque de un sistema &os; real. Si se trata
- de una jaula <emphasis>de servicio</emphasis> depende del
- servicio o aplicación que se quiera ejecutar mediante
- la jaula.</para>
-
- <para>Con frecuencia las jaulas se arrancan durante el arranque del
- servidor que las aloja; el sistema <filename>rc</filename> de
- &os; permite hacerlo de un modo muy sencillo.</para>
-
- <procedure>
- <step>
- <para>Puede crear una lista de jaulas que quiera arrancar
- en el inicio del sistema en el fichero
- &man.rc.conf.5;:</para>
-
- <programlisting>jail_enable="YES" # Ponga NO si quiere desactivar el arranque de jaulas
-jail_list="<replaceable>www</replaceable>" # Lista de nombres de jaulas separados por espacios</programlisting>
- </step>
-
- <step>
- <para>Tendrá que añadir parámetros
- específicos para cada jaula al fichero
- &man.rc.conf.5;:</para>
-
- <programlisting>jail_<replaceable>www</replaceable>_rootdir="/usr/jail/www" # directorio raiz de la jaula
-jail_<replaceable>www</replaceable>_hostname="<replaceable>www</replaceable>.example.org" # nombre de máquina de la jaula
-jail_<replaceable>www</replaceable>_ip="192.168.0.10" # dirección IP de la jaula
-jail_<replaceable>www</replaceable>_devfs_enable="YES" # montar devfs en la jaula
-jail_<replaceable>www</replaceable>_devfs_ruleset="<replaceable>www_ruleset</replaceable>" # reglas a aplicar a devfs dentro de la jaula</programlisting>
-
- <para>El arranque de jaulas por omisión que se
- configure en &man.rc.conf.5; ejecutará el script
- <filename>/etc/rc</filename> de la jaula y asumirá
- que es un sistema virtual completo. Si se trata de una
- jaula de servicio el comando de arranque por omisión
- tendrá que cambiarse configurando la opción
- <varname>jail_<replaceable>nombredejaula</replaceable>_exec_start</varname>
- según convenga.</para>
-
- <note>
- <para>Si quiere consultar la lista completa de opciones
- consulte la página de manual
- &man.rc.conf.5;.</para>
- </note>
- </step>
- </procedure>
-
- <para>Puede arrancar o parar a mano una jaula mediante el script
- <filename>/etc/rc.d/jail</filename> siempre y cuando la jaula
- aparezca en <filename>rc.conf</filename>:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/jail start www</userinput>
-&prompt.root; <userinput>/etc/rc.d/jail stop www</userinput></screen>
-
- <para>De momento no hay una forma limpia de apagar una jaula
- (&man.jail.8;) debido a que los comandos que se usan normalmente
- para producir un apagado limpio del sistema no pueden usarse
- dentro de una jaula. La mejor forma de parar una jaula es
- ejecutar el siguiente comando desde dentro de la propia jaula
- o bien mediante &man.jexec.8; desde fuera:</para>
-
- <screen>&prompt.root; <userinput>sh /etc/rc.shutdown</userinput></screen>
-
- <para>Para más información consulte la página
- de manual &man.jail.8;.</para>
- </sect1>
-
- <sect1 xml:id="jails-tuning">
- <title>Administración y personalización a fondo</title>
-
- <para>Hay diversas opciones que pueden usarse en las jaulas y varios
- tipos de formas de combinar un sistema &os; servidor y las jaulas
- y poder disponer de aplicaciones de alto nivel. En esta
- sección se muestra lo siguiente:</para>
-
- <itemizedlist>
- <listitem>
- <para>Algunas de las opciones disponibles para personalizar
- el comportamiento y las restricciones de seguridad que
- pueden aplicarse en una jaula.</para>
- </listitem>
-
- <listitem>
- <para>Algunas de las aplicaciones de alto nivel creadas para
- la administración de jaulas. Estas aplicaciones
- están en la colección de ports y pueden
- utilizarse en conjunto para implementar productos
- basados en jaulas.</para>
- </listitem>
- </itemizedlist>
-
- <sect2 xml:id="jails-tuning-utilities">
- <title>Herramientas del sistema para la personalización
- de jaulas en &os;</title>
-
- <para>La personalización a fondo de las jaulas se hace
- en su mayor parte mediante la configuración de variables
- &man.sysctl.8;. Hay una subcategoría especial de
- sysctl para que sea más sencillo organizar las opciones
- más más importantes: se trata de las opciones
- de la jerarquía <varname>security.jail.*</varname>
- del kernel de &os;. A continuación veremos una lista
- de las principales sysctl relacionadas con las jaulas y los
- valores que tienen por omisión. Los nombres deberían
- describir por sí mismos qué función tienen
- (N. del T.: En inglés, claro) pero si necesita más
- información sobre ellas consulte las páginas de
- manual &man.jail.8; y &man.sysctl.8;.</para>
-
- <itemizedlist>
- <listitem>
- <para><varname>security.jail.set_hostname_allowed:
- 1</varname></para>
- </listitem>
-
- <listitem>
- <para><varname>security.jail.socket_unixiproute_only:
- 1</varname></para>
- </listitem>
-
- <listitem>
- <para><varname>security.jail.sysvipc_allowed:
- 0</varname></para>
- </listitem>
-
- <listitem>
- <para><varname>security.jail.enforce_statfs:
- 2</varname></para>
- </listitem>
-
- <listitem>
- <para><varname>security.jail.allow_raw_sockets:
- 0</varname></para>
- </listitem>
-
- <listitem>
- <para><varname>security.jail.chflags_allowed:
- 0</varname></para>
- </listitem>
-
- <listitem>
- <para><varname>security.jail.jailed: 0</varname></para>
- </listitem>
- </itemizedlist>
-
- <para>El administrador del <emphasis>servidor</emphasis> puede
- usar estas variables para añadir o quitar limitaciones
- impuestas por omisión al usuario
- <systemitem class="username">root</systemitem>. Tenga en cuenta que hay ciertas
- limitaciones que no pueden quitarse. El usuario
- <systemitem class="username">root</systemitem> no puede montar o desmontar sistemas
- de ficheros desde su jaula. El usuario <systemitem class="username">root</systemitem>
- no puede cargar o descargar reglas de &man.devfs.8;, configurar
- reglas de cortafuegos ni ejecutar muchas otras tareas
- administrativas que requieran modificaciones o acceso a datos
- internos del kernel, como cambiar el nivel de seguridad
- <varname>securelevel</varname> del kernel.</para>
-
- <para>El sistema base de &os; contiene un conjunto básico
- de herramientas que permiten el acceso a información
- sobre jaulas activas en el sistema, así como la
- conexión a una jaula para ejecutar comandos
- administrativos. &man.jls.8; y &man.jexec.8; forman parte
- del sistema base de &os; y permiten ejecutar las siguientes
- tareas:</para>
-
- <itemizedlist>
- <listitem>
- <para>Mostrar una lista de jaulas activas y sus correspondientes
- identificadores de jaula (<acronym>JID</acronym>),
- dirección <acronym>IP</acronym>, nombre de máquina
- y ruta.</para>
- </listitem>
-
- <listitem>
- <para>Conectarse a una jaula en ejecució desde el
- servidor y ejecutar un comando dentro de la jaula o
- realizar tareas administrativas dentro de dicha jaula. Esto
- es muy útil cuando el usuario
- <systemitem class="username">root</systemitem> quiere apagar la jaula de forma
- limpia. La herramienta &man.jexec.8; permite
- también arrancar una shell dentro de la jaula para
- realizar tareas administrativas. Veamos un ejemplo:</para>
-
- <screen>&prompt.root; <userinput>jexec 1 tcsh</userinput></screen>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2 xml:id="jails-tuning-admintools">
- <title>Herramientas para tareas administrativas de alto nivel
- en la Colección de Ports</title>
-
- <para>Entre las variadas aplicaciones ajenas al Proyecto &os; que
- han ido apareciendo para administrar jaulas una de las más
- completas y útiles es <package>sysutils/jailutils</package>. Es un conjunto de
- pequeñas aplicaciones de mucha ayuda en la gestión
- de una jaula (&man.jail.8;). Por favor, consulte su página
- web para más información.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="jails-application">
- <title>Uso de las jaulas</title>
-
- <sect2 xml:id="jails-service-jails">
- <info><title>Jaulas <quote>de servicio</quote></title>
- <authorgroup>
- <author><personname><firstname>Daniel</firstname><surname>Gerzo</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Esta sección está basada en una idea
- que &a.simon; presentó por primera vez en <uri xlink:href="http://simon.nitro.dk/service-jails.html">http://simon.nitro.dk/service-jails.html</uri> y en
- un artículo con contenido adicional escrito por Ken
- Tom <email>locals@gmail.com</email>. En esta sección
- se detalla cómo configurar un sistema &os; que
- añade una capa adicional de seguridad mediante el uso
- de &man.jail.8;. Para su verdadero aprovechamiento se asume
- que el sistema en el que se vaya a aplicar ejecuta al menos
- RELENG_6_0 y que la información que contienen las secciones
- previas de este capítulo se ha comprendido totalmente.</para>
-
- <sect3 xml:id="jails-service-jails-design">
- <title>Diseño</title>
-
- <para>Uno de los mayores problemas de las jaulas es la
- gestión de su proceso de actualización. Este
- proceso tiene a ser un problema porque cada jaula tiene que
- recompilarse íntegramente desde el código fuente
- cada vez que hay que actualizarla. Esto no es un gran problema
- si tenemos una sola jaula puesto que el proceso de
- actualización es bastante simple, pero si hay muchas
- jaulas será un trabajo largo y tedioso.</para>
-
- <warning>
- <para>:&nbsp;Esta configuración requiere mucha experiencia
- con &os; y el uso de sus características. Si los
- pasos que se detallan a continuación le parecen
- demasiado complicados puede echar un vistazo a sistemas
- más sencillos como <package>sysutils/ezjail</package>, que le
- permitirá acceder a un método de
- administración de jaulas en &os; más sencillo
- y no es tan sofisticado como el que le proponemos a
- continuación.</para>
- </warning>
-
- <para>El origen de esta idea es resolver los problemas antes
- descritos compartiendo el máximo posible entre distintas
- jaulas, de un modo seguro (utilizando montajes
- using read-only &man.mount.nullfs.8; mounts) para que la
- actualización sea más sencilla y el ubicar
- servicios aislados en jaulas sea más interesante.
- Además, se presenta una forma sencilla de añadir
- o borrar jaulas así como una forma de actualizarlas.</para>
-
- <note>
- <para>Los ejemplos de servicios en este contexto son: un
- servidor <acronym>HTTP</acronym>,un servidor
- <acronym>DNS</acronym>, un servidor
- <acronym>SMTP</acronym>, etc.</para>
- </note>
-
- <para>Los objetivos de la configuración descrita en
- esta sección son:</para>
-
- <itemizedlist>
- <listitem>
- <para>Crear una estructura de jaulas simple y fácil
- de entender. Esto implica <emphasis>no</emphasis> tener
- que ejecutar un <quote>installworld</quote> completo en
- todas y cada una de las jaulas.</para>
- </listitem>
- <listitem>
- <para>Facilitar la creación de nuevas jaulas o
- el borrado de jaulas previamente existentes.</para>
- </listitem>
- <listitem>
- <para>Facilitar la actualización de jaulas
- ya existentes.</para>
- </listitem>
- <listitem>
- <para>Hacer posible el uso de una rama de &os;
- personalizada.</para>
- </listitem>
- <listitem>
- <para>Ser paranoico en cuanto a seguridad, reduciendo
- todo lo posible la posibilidad de que los sistemas
- se vean comprometidos.</para>
- </listitem>
- <listitem>
- <para>Ahorrar todo el espacio e inodos que sea
- posible.</para>
- </listitem>
- </itemizedlist>
-
- <para>Como ya se ha dicho, este diseño se basa en
- gran medida en el disponer de una única plantilla
- en modo de sólo lectura (a la que llamaremos
- <application>nullfs</application>) montada en cada jaula
- y un dispositivo en modo lectura-escritura por cada jaula. El
- dispositivo puede ser otro disco físico adicional, una
- partición o un dispositivo &man.md.4; basado en un
- vnode. En este ejemplo utilizaremos montajes
- <application>nullfs</application> en modo
- lectura-escritura.</para>
-
- <para>La estructura del sistema de ficheros se detalla en
- la siguiente lista:</para>
-
- <itemizedlist>
- <listitem>
- <para>Cada jaula se montará bajo <filename>/home/j</filename>.</para>
- </listitem>
- <listitem>
- <para><filename>/home/j/mroot</filename>
- será la plantilla para cada jaula y la
- partición de sólo lectura para todas las
- jaulas.</para>
- </listitem>
- <listitem>
- <para>Se creará un directorio vacío para
- cada jaula bajo el directorio <filename>/home/j</filename>.</para>
- </listitem>
- <listitem>
- <para>Cada jaula tendrá un directorio <filename>/s</filename> que estará enlazado
- con la parte de lectura-escritura del sistema.</para>
- </listitem>
- <listitem>
- <para>Cada jaula tendrá su propio sistema en modo
- lectura-escritura basado en <filename>/home/j/skel</filename>.</para>
- </listitem>
- <listitem>
- <para>Cada parte de lectura-escritura correspondiente a cada
- jaula se creará en <filename>/home/js</filename>.</para>
- </listitem>
- </itemizedlist>
-
- <note>
- <para>Se asume que las jaulas se instalarán bajo
- la partición <filename>/home</filename>. Por supuesto esto no
- es en absoluto obligatorio, pero hay que tener en cuenta que
- debe hacerse el mismo cambio en cada uno de los ejemplos que
- se muestran más adelante.</para>
- </note>
- <!-- Insert an image or drawing here to illustrate the example. -->
- </sect3>
-
- <sect3 xml:id="jails-service-jails-template">
- <title>Creación de la plantilla</title>
-
- <para>En esta sección se describen los pasos necesarios
- para crear la plantilla maestra que conformará la
- parte de sólo lectura que usarán las jaulas.</para>
-
- <para>Siempre es recomendable actualizar el sistema &os; a la
- última rama -RELEASE. Consulte el <link xlink:href="&url.books.handbook;/makeworld.html">capítulo</link>
- correspondiente de este libro si necesita más
- información. En caso de que la actualización no
- sea posible tendrá que usar <quote>buidworld</quote> para
- poder seguir adelante. También necesitará el
- paquete <package>sysutils/cpdup</package>. Usaremos
- &man.portsnap.8; para descargar la Colección de Ports
- de &os;. El capítulo sobre <link xlink:href="&url.books.handbook;/portsnap.html">Portsnap</link>
- es siempre una lectura muy recomendable para quienes no tengan
- experiencia con su funcionamiento.</para>
-
- <procedure>
- <step>
- <para>Lo primero que haremos será crear una estructura
- de directorios para el sistema de ficheros de sólo
- lectura que contendrá los binarios de nuestras jaulas,
- luego iremos al directorio que contiene el árbol de
- código de &os; e instalaremos el sistema de ficheros
- de sólo lectura en la plantilla de las jaulas:</para>
-
- <screen>&prompt.root; <userinput>mkdir /home/j /home/j/mroot</userinput>
-&prompt.root; <userinput>cd /usr/src</userinput>
-&prompt.root; <userinput>make installworld DESTDIR=/home/j/mroot</userinput></screen>
- </step>
- <step>
- <para>Una vez hecho esto, prepararemos la Colección
- de Ports de &os; para nuestras jaulas así como un
- árbol de código &os;, necesario para usar
- <application>mergemaster</application>:</para>
-
- <screen>&prompt.root; <userinput>cd /home/j/mroot</userinput>
-&prompt.root; <userinput>mkdir usr/ports</userinput>
-&prompt.root; <userinput>portsnap -p /home/j/mroot/usr/ports fetch extract</userinput>
-&prompt.root; <userinput>cpdup /usr/src /home/j/mroot/usr/src</userinput></screen>
- </step>
- <step>
- <para>Crear la estructura de directorios necesaria para la
- parte de lectura-escritura del sistema:</para>
-
- <screen>&prompt.root; <userinput>mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles</userinput>
-&prompt.root; <userinput>mv etc /home/j/skel</userinput>
-&prompt.root; <userinput>mv usr/local /home/j/skel/usr-local</userinput>
-&prompt.root; <userinput>mv tmp /home/j/skel</userinput>
-&prompt.root; <userinput>mv var /home/j/skel</userinput>
-&prompt.root; <userinput>mv root /home/j/skel</userinput></screen>
- </step>
- <step>
- <para>Usamos <application>mergemaster</application> para
- instalar los ficheros de configuración que
- falten. Después nos libramos de los directorios
- adicionales que haya creado
- <application>mergemaster</application>:</para>
-
- <screen>&prompt.root; <userinput>mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i</userinput>
-&prompt.root; <userinput>cd /home/j/skel</userinput>
-&prompt.root; <userinput>rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev</userinput></screen>
- </step>
- <step>
- <para>Ahora enlazamos simbólicamente el sistema
- de ficheros de lectura-escritura con el sistema de
- ficheros de sólo lectura. Por favor,
- asegúrese de que los enlaces simbólicos
- se crean en las ubicaciones correctas: <filename>s/</filename>. Si se usan directorios
- reales o directorios erróneos la instalación
- no funcionará.</para>
-
- <screen>&prompt.root; <userinput>cd /home/j/mroot</userinput>
-&prompt.root; <userinput>mkdir s</userinput>
-&prompt.root; <userinput>ln -s s/etc etc</userinput>
-&prompt.root; <userinput>ln -s s/home home</userinput>
-&prompt.root; <userinput>ln -s s/root root</userinput>
-&prompt.root; <userinput>ln -s ../s/usr-local usr/local</userinput>
-&prompt.root; <userinput>ln -s ../s/usr-X11R6 usr/X11R6</userinput>
-&prompt.root; <userinput>ln -s ../../s/distfiles usr/ports/distfiles</userinput>
-&prompt.root; <userinput>ln -s s/tmp tmp</userinput>
-&prompt.root; <userinput>ln -s s/var var</userinput></screen>
- </step>
- <step>
- <para>Como último paso, cree un
- <filename>/home/j/skel/etc/make.conf</filename>
- genérico con el siguiente contenido:</para>
-
- <programlisting>WRKDIRPREFIX?= /s/portbuild</programlisting>
-
-
- <para>El tener <literal>WRKDIRPREFIX</literal> configurado
- de este modo hará posible compilar ports de &os;
- dentro de cada jaula. Recuerde que el el directorio
- de los ports es de sólo lectura. La ruta
- personalizada por <literal>WRKDIRPREFIX</literal>
- permite ejecutar compilaciones en la parte de
- sólo lectura de cada jaula.</para>
- </step>
- </procedure>
- </sect3>
-
- <sect3 xml:id="jails-service-jails-creating">
- <title>Creación de las jaulas</title>
-
- <para>Ya tenemos una plantilla de jaulas de &os; completa,
- así que podemos configurar nuestras jaulas en
- <filename>/etc/rc.conf</filename>. En este ejemplo crearemos
- 3 jaulas: <quote>NS</quote>,
- <quote>MAIL</quote> y <quote>WWW</quote>.</para>
-
- <procedure>
- <step>
- <para>Introduzca las siguientes lineas en el fichero
- <filename>/etc/fstab</filename>; con esto cada jaula
- tendrá acceso a la plantilla de sólo lectura
- y al espacio de lectura-escritura:</para>
-
- <programlisting>/home/j/mroot /home/j/ns nullfs ro 0 0
-/home/j/mroot /home/j/mail nullfs ro 0 0
-/home/j/mroot /home/j/www nullfs ro 0 0
-/home/js/ns /home/j/ns/s nullfs rw 0 0
-/home/js/mail /home/j/mail/s nullfs rw 0 0
-/home/js/www /home/j/www/s nullfs rw 0 0</programlisting>
-
- <note>
- <para>Las particiones que tienen un 0 en la columna
- <quote>pass</quote> no serán revisadas por
- &man.fsck.8; durante el arranque y las que tienen
- un 0 en la columna <quote>dump</quote> no serán
- copiadas por &man.dump.8;. No nos interesa que
- <application>fsck</application> compruebe la
- integridad de montajes <application>nullfs</application>
- ni que <application>dump</application> haga copias de
- seguridad de montajes nullfs de sólo lectura de las
- jaulas. Por esta razón el ejemplo de
- <filename>fstab</filename> tiene en las dos últimas
- columnas <quote>0&nbsp;0</quote>.</para>
- </note>
- </step>
- <step>
- <para>Configure las jaulas en
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>jail_enable="YES"
-jail_set_hostname_allow="NO"
-jail_list="ns mail www"
-jail_ns_hostname="ns.ejemplo.org"
-jail_ns_ip="192.168.3.17"
-jail_ns_rootdir="/usr/home/j/ns"
-jail_ns_devfs_enable="YES"
-jail_mail_hostname="mail.ejemplo.org"
-jail_mail_ip="192.168.3.18"
-jail_mail_rootdir="/usr/home/j/mail"
-jail_mail_devfs_enable="YES"
-jail_www_hostname="www.ejemplo.org"
-jail_www_ip="62.123.43.14"
-jail_www_rootdir="/usr/home/j/www"
-jail_www_devfs_enable="YES"</programlisting>
-
- <warning>
- <para>:&nbsp;La razón por la que
- <varname>jail_<replaceable>nombre</replaceable>_rootdir</varname>
- contiene <filename>/usr/home</filename> y no
- <filename>/home</filename> es que la ruta
- física del directorio<filename>/home</filename> en una instalación
- de &os; por omisión es <filename>/usr/home</filename>. La variable
- <varname>jail_<replaceable>nombre</replaceable>_rootdir</varname>
- <emphasis>no</emphasis> debe apuntar a una ruta que
- contenga un enlace simbólico porque sería
- imposible arrancar las jaulas. Utilice
- la herramienta &man.realpath.1; para asegurarse del valor
- exacto que debe asignar a la variable. Por favor, consulte
- el aviso de seguridad &os;-SA-07:01.jail para más
- información.</para>
- </warning>
- </step>
- <step>
- <para>Creamos los puntos de montaje de sistemas de ficheros
- de sólo lectura correspondientes a cada jaula:</para>
-
- <screen>&prompt.root; <userinput>mkdir /home/j/ns /home/j/mail /home/j/www</userinput></screen>
- </step>
- <step>
- <para>Instalamos la plantilla de lectura-escritura dentro
- de cada jaula. Observe que utilizamos <package>sysutils/cpdup</package> para asegurarnos
- de que se hace una copia exacta de cada directorio:</para>
- <!-- keramida: Why is cpdup required here? Doesn't cpio(1)
- already include adequate functionality for performing this
- job *and* have the advantage of being part of the base
- system of FreeBSD? -->
-
- <screen>&prompt.root; <userinput>mkdir /home/js</userinput>
-&prompt.root; <userinput>cpdup /home/j/skel /home/js/ns</userinput>
-&prompt.root; <userinput>cpdup /home/j/skel /home/js/mail</userinput>
-&prompt.root; <userinput>cpdup /home/j/skel /home/js/www</userinput></screen>
- </step>
- <step>
- <para>Llegados a este punto las jaulas están
- configuradas y listas para arrancar. Monte los sistemas
- de ficheros de cada jaula y luego arránquelas
- con el script <filename>/etc/rc.d/jail</filename>:</para>
-
- <screen>&prompt.root; <userinput>mount -a</userinput>
-&prompt.root; <userinput>/etc/rc.d/jail start</userinput></screen>
- </step>
- </procedure>
-
- <para>Las jaulas deberían haber arrancado. Asegúrese
- de ello con &man.jls.8;. La salida que verá debe parecerse
- a esta:</para>
-
- <screen>&prompt.root; <userinput>jls</userinput>
- JID IP Address Hostname Path
- 3 192.168.3.17 ns.ejemplo.org /home/j/ns
- 2 192.168.3.18 mail.ejemplo.org /home/j/mail
- 1 62.123.43.14 www.ejemplo.org /home/j/www</screen>
-
- <para>En este punto debería ser posible entrar a
- cada una de las jaulas, añadir nuevos usuarios o
- configurar d&aelig;mons. La columna <literal>JID</literal>
- indica el número de identificación de cada
- jaula que esté funcionando en el sistema. Con el
- siguiente comando puede ejecutar tareas administrativas
- en la jaula cuyo <literal>JID</literal> sea 3:</para>
-
- <screen>&prompt.root; <userinput>jexec 3 tcsh</userinput></screen>
- </sect3>
-
- <sect3 xml:id="jails-service-jails-upgrading">
- <title>Actualización</title>
-
- <para>Llegará el momento en el que sea necesario
- actualizar el sistema, bien por seguridad o porque sea
- útil para las jaulas disponer de alguna nueva
- característica del sistema. El diseño de
- esta configuración facilita una forma fácil
- de actualizar sus jaulas. Además, minimiza la
- pérdida de servicio, puesto que las jaulas deben
- apagarse sólamente al final de todo el proceso. Se
- ofrece también la posibilidad de volver a la versión
- anterior en caso de que algo salga mal.</para>
-
- <procedure>
- <step>
- <para>El primer paso es actualizar el servidor que aloja
- las jaulas de la forma habitual. Después creamos
- una plantilla de sólo lectura temporal en <filename>/home/j/mroot2</filename>.</para>
-
- <screen>&prompt.root; <userinput>mkdir /home/j/mroot2</userinput>
-&prompt.root; <userinput>cd /usr/src</userinput>
-&prompt.root; <userinput>make installworld DESTDIR=/home/j/mroot2</userinput>
-&prompt.root; <userinput>cd /home/j/mroot2</userinput>
-&prompt.root; <userinput>cpdup /usr/src usr/src</userinput>
-&prompt.root; <userinput>mkdir s</userinput></screen>
-
- <para>La ejecución de <buildtarget>installworld</buildtarget>
- crea unos cuantos directorios innecesarios que debemos
- borrar:</para>
-
- <screen>&prompt.root; <userinput>chflags -R 0 var</userinput>
-&prompt.root; <userinput>rm -R etc var root usr/local tmp</userinput></screen>
- </step>
- <step>
- <para>Creamos de nuevo los enlaces simbólicos de
- lectura-escritura del sistema de ficheros principal:</para>
-
- <screen>&prompt.root; <userinput>ln -s s/etc etc</userinput>
-&prompt.root; <userinput>ln -s s/root root</userinput>
-&prompt.root; <userinput>ln -s s/home home</userinput>
-&prompt.root; <userinput>ln -s ../s/usr-local usr/local</userinput>
-&prompt.root; <userinput>ln -s ../s/usr-X11R6 usr/X11R6</userinput>
-&prompt.root; <userinput>ln -s s/tmp tmp</userinput>
-&prompt.root; <userinput>ln -s s/var var</userinput></screen>
- </step>
- <step>
- <para>Ha llegado el momento de parar las jaulas:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/jail stop</userinput></screen>
- </step>
- <step>
- <para>Desmontamos los sistemas de ficheros originales:</para>
- <!-- keramida: Shouldn't we suggest a short script-based
- loop here, instead of tediously copying the same commands
- multiple times? -->
-
- <screen>&prompt.root; <userinput>umount /home/j/ns/s</userinput>
-&prompt.root; <userinput>umount /home/j/ns</userinput>
-&prompt.root; <userinput>umount /home/j/mail/s</userinput>
-&prompt.root; <userinput>umount /home/j/mail</userinput>
-&prompt.root; <userinput>umount /home/j/www/s</userinput>
-&prompt.root; <userinput>umount /home/j/www</userinput></screen>
-
- <note>
- <para>Los sistemas de ficheros de lectura-escritura
- cuelgan del sistema de sólo lectura <filename>/s</filename> y por tanto deben
- desmontarse antes.</para>
- </note>
- </step>
- <step>
- <para>Movemos el sistema de ficheros de sólo lectura
- viejo y lo reemplazamos por el nuevo. Nos servirá
- de copia de seguridad y como archivo en caso de que haya
- problemas. Para darle un nombre usamos la fecha en la que
- se creado una nueva copia del sistema de ficheros de
- sólo lectura. Movemos también la
- Colección de Ports de &os; al sistema de ficheros
- nuevo para ahorrar un poco más de espacio e
- inodos:</para>
-
- <screen>&prompt.root; <userinput>cd /home/j</userinput>
-&prompt.root; <userinput>mv mroot mroot.20060601</userinput>
-&prompt.root; <userinput>mv mroot2 mroot</userinput>
-&prompt.root; <userinput>mv mroot.20060601/usr/ports mroot/usr</userinput></screen>
- </step>
- <step>
- <para>Una vez llegados a este punto la nueva plantilla de
- sólo lectura está lista, de manera que lo
- único que nos queda por hacer es montar los sistemas
- de ficheros y arrancar las jaulas:</para>
-
- <screen>&prompt.root; <userinput>mount -a</userinput>
-&prompt.root; <userinput>/etc/rc.d/jail start</userinput></screen>
- </step>
- </procedure>
-
- <para>Compruebe con &man.jls.8; si las jaulas han arrancado
- sin contratiempos. No olvide ejecutar mergemaster en cada
- jaula. Tendrá que actualizar tanto
- los ficheros de configuración como los scripts
- rc.d.</para>
- </sect3>
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.xml b/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.xml
deleted file mode 100755
index 1060d30fc5..0000000000
--- a/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.xml
+++ /dev/null
@@ -1,1696 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/kernelconfig/chapter.xml
- %SRCID% 1.186
-
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.xml,v 1.2 2004/10/08 22:14:25 jesusr Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="kernelconfig">
- <info><title>Configuración del kernel de &os;</title>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Actualizado y reestructurado por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Jake</firstname><surname>Hamby</surname></personname><contrib>Texto original por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect1>
- <title>Sinopsis</title>
-
- <indexterm>
- <primary>kernel</primary>
- <secondary>Compilar un kernel a medida</secondary>
- </indexterm>
-
- <para>El kernel de &os; es el corazón del sistema
- operativo. Es el responsable de la gestión y control de la
- memoria, reforzamiento de los controles de seguridad, gestión
- de redes, acceso a dispositivos y muchas cosas más. &os;
- es un sistema dinámico y configurable, pero a veces
- sigue siendo necesario reconfigurar y recompilar
- un kernel hecho a la medida de nuestras necesidades.</para>
-
- <para>Una vez leido este capítulo sabrá usted:</para>
-
- <itemizedlist>
- <listitem>
- <para>Por qué puede ser necesario que compile un kernel
- personalizado.</para>
- </listitem>
-
- <listitem>
- <para>Cómo crear un fichero de configuración del kernel,
- o bien editar un fichero existente.</para>
- </listitem>
-
- <listitem>
- <para>Cómo utilizar el fichero de configuración
- para crear
- y compilar un nuevo kernel.</para>
- </listitem>
-
- <listitem>
- <para>Cómo instalar su nuevo kernel.</para>
- </listitem>
-
- <listitem>
- <para>Cómo resolver algunos problemas si algo sale mal.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1>
- <title>?Qué razones hay para compilar un kernel personalizado?</title>
-
- <para>Tradicionalmente &os; ha contado con lo que se conoce como
- un kernel <quote>monolítico</quote>. Esto quiere decir que
- el kernel era un gran y único programa que se comunicaba con una lista
- previa de dispositivos, y que si se deseaba modificar el comportamiento
- del kernel se debía compilar un nuevo kernel y reiniciar el sistema
- con el nuevo kernel.</para>
-
- <para>Hoy en día &os; evoluciona muy rápidamente
- hacia un modelo donde la funcionalidad del kernel se
- basa en módulos, los cuales pueden cargarse y
- descargarse dinámicamente de acuerdo a las necesidades del
- kernel. Esto permite al kernel adaptarse al nuevo hardware que
- sale al mercado (como las tarjetas PCMCIA en sistemas
- portátiles), o bien
- añadir nuevas funcionalidades al kernel que no eran
- al compilarlo la vez anterior. Esto es lo que conocemos como
- kernel modular.</para>
-
- <para>A pesar de lo dicho aún es necesario llevar a cabo cierta
- configuración estática en la configuración
- del kernel. A veces se debe a que la funcionalidad del
- sistema está tan ligada al kernel que no puede hacerse
- mediante carga dinámica de módulos. En otros casos puede
- tratarse simplemente de que nadie ha programado un módulo
- para esa funcionalidad concreta que pueda cargarse
- dinámicamente en el kernel.</para>
-
- <para>Compilar un kernel personalizado es uno de los ritos de
- iniciación más importantes a los que los usuarios de
- casi todos los BSD han de enfrentarse. Este proceso lleva su
- tiempo, pero le aportará grandes beneficios a su
- sistema &os;. A diferencia del kernel
- <filename>GENERIC</filename>, con el que puede funcionar una cantidad
- apabullante de hardware disponible en el mercado, un kernel personalizado
- contiene únicamente lo necesario para que funcione el hardware de
- <emphasis>su</emphasis> sistema. Obviamente esto tiene sus
- ventajas:</para>
-
- <itemizedlist>
- <listitem>
- <para>Mayor rapidez en el arranque del sistema. Dado que el
- kernel sólo tiene que probar el hardware que realmente está
- en el sistema el tiempo que necesitará para arrancar se
- reducirá visiblemente.</para>
- </listitem>
-
- <listitem>
- <para>Menor uso de memoria. Generalmente un kernel personalizado
- utiliza menos memoria que un kernel
- <literal>GENERIC</literal>, lo cual es importante ya que el
- kernel debe encontrarse siempre en memoria real. Por ésta
- razón un kernel personalizado puede ser de gran utilidad
- en sistemas con una cantidad limitada de memoria RAM.</para>
- </listitem>
-
- <listitem>
- <para>Hacer funcionar hardware específico. Un kernel personalizado
- le permite añadir al sistema dispositivos como tarjetas de sonido,
- que no están incluidas en el kernel <literal>GENERIC</literal>.
- </para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="kernelconfig-devices">
- <info><title>Inventario de hardware del sistema</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <para>Antes de aventurarnos en la configuración del kernel
- nunca está de más disponer de un inventario
- completo del hardware que hay en
- la máquina. En los casos en los que &os; no es el
- sistema operativo principal de la máquina puede
- conseguir el inventario consultando la configuración
- de otro sistema operativo. Por ejemplo, el
- <application>Gestor de dispositivos</application> de &microsoft;
- suele contener información importante sobre los
- dispositivos que haya en la máquina. El
- <application>Gestor de dispositivos</application> está
- en el panel de control.</para>
-
- <note>
- <para>Algunas versiones de &microsoft.windows; tienen un icono
- de <application>Sistema</application> con forma de pantalla
- desde el que se puede acceder al <application>Gestor de
- dispositivos</application>.</para>
- </note>
-
- <para>Si no hay otro sistema operativo en la máquina el
- administrador tendrá que conseguir la información
- por su cuenta. Una forma de hacerlo es mediante &man.dmesg.8; y
- &man.man.1;. La mayoría de los controladores de dispositivo
- que hay en &os; tienen una página de manual, que suele
- incluir una lista del hardware que puede hacer funcionar. En
- la prueba del sistema durante el arranque va apareciendo una
- lista del harware que hay en la máquina. Por ejemplo,
- las siguientes líneas indican que el controlador
- <filename>psm</filename> ha encontrado un ratón:</para>
-
- <programlisting>psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
-psm0: [GIANT-LOCKED]
-psm0: [ITHREAD]
-psm0: model Generic PS/2 mouse, device ID 0</programlisting>
-
- <para>Puede añadir este controlador al fichero de
- configuración de su kernel personalizado o cargarlo
- utilizando &man.loader.conf.5;.</para>
-
- <para>A veces los datos que muestra <command>dmesg</command>
- solamente muestran mensajes del sistema en lugar de la
- salida de la prueba de arranque. En esos casos puede
- ver la verdadera salida de <command>dmesg</command> en el
- fichero <filename>/var/run/dmesg.boot</filename>.</para>
-
- <para>Otro método para identificar el hardware del sistema
- es usar &man.pciconf.8;, que tiene una salida mucho más
- verbosa. Veamos un ejemplo:</para>
-
- <programlisting>ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
- vendor = 'Atheros Communications Inc.'
- device = 'AR5212 Atheros AR5212 802.11abg wireless'
- class = network
- subclass = ethernet</programlisting>
-
- <para>Este fragmento, obtenido con
- <command>pciconf -lv</command> muestra cómo
- el controlador <filename>ath</filename> ha encontrado un
- dispositivo Ethernet inalámbrico. Escriba
- <command>man ath</command> para
- consultar la página de manual de &man.ath.4;.</para>
-
- <para>La opción <option>-k</option> de &man.man.1; le
- suministrará valiosa información. Sigamos
- con el ejemplo anterior:</para>
-
- <screen>&prompt.root; man -k <replaceable>Atheros</replaceable></screen>
-
- <para>Con esto obtendremos una lista de páginas de manual que
- contienen esa palabra en particular:</para>
-
- <programlisting>ath(4) - Atheros IEEE 802.11 wireless network driver
-ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
-
- <para>Una vez que tenemos nuestra flamante lista de hardware del sistema
- el proceso de compilar un kernel personalizado debería parecer
- un poco menos inquietante.</para>
- </sect1>
-
-
- <sect1 xml:id="kernelconfig-modules">
- <title>Controladores del kernel, subsistemas y módulos</title>
- <indexterm>
- <primary>kernel</primary>
- <secondary>drivers / modules / subsystems</secondary>
- </indexterm>
-
- <para>Antes de compilar un kernel personalizado conviene
- pensar antes los motivos. Si lo que se necesita es
- añadir hardware específico al sistema es
- posible que sea posible utilizarlo mediante un
- módulo.</para>
-
- <para>Los módulos del kernel están en el directorio
- <filename>/boot/kernel</filename> y se
- pueden cargar dinámicamente en un kernel en funcionamiento
- con &man.kldload.8;. La mayoría, por no decir todos, los
- controladores del kernel tienen un módulo específico
- y una página de manual. Por ejemplo, en la sección
- anterior hablábamos del controlador Ethernet inalámbrico
- <filename>ath</filename>. La página de manual
- de este dispositivo contiene la siguiente
- información:</para>
-
- <programlisting>Alternatively, to load the driver as a module at boot time, place the
- following line in &man.loader.conf.5;:
-
- if_ath_load="YES"</programlisting>
-
- <para>Si hace lo que dice ahí, es decir, añadir
- la línea <literal>if_ath_load="YES"</literal> al fichero
- <filename>/boot/loader.conf</filename> hará que el
- módulo se cargue dinámicamente cada vez
- que el sistema arranque.</para>
-
- <para>Hay casos, no obstante, en los que no existe el módulo
- correspondiente. Esto sucede con ciertos subsistemas y con
- controladores muy importantes, como por ejemplo el de
- <acronym>FFS</acronym>, que necesita el kernel. Igual sucede con
- la posibilidad de utilizar redes (INET). Por desgracia, en estos
- casos la única forma de saber si hace falta un controlador
- es buscar el módulo.</para>
-
- <warning>
- <para>Es sumamente fácil quitar un dispositivo o una
- opción del kernel y encontrarse de manos a boca con
- un kernel que no funciona. Por ejemplo, si elimina el
- controlador &man.ata.4; del fichero de configuración
- del kernel un sistema que utilice unidades de disco
- <acronym>ATA</acronym> no podrá arrancar a menos que
- se añada la línea correspondiente al fichero
- <filename>loader.conf</filename>. Si tiene dudas busque el
- módulo y deje el kernel como está.</para>
- </warning>
- </sect1>
-
- <sect1 xml:id="kernelconfig-building">
- <title>Compilación e instalación de un kernel personalizado</title>
- <indexterm>
- <primary>kernel</primary>
- <secondary>compilación / instalación</secondary>
- </indexterm>
-
- <para>En primer lugar, hagamos un breve recorrido por el directorio
- donde se lleva a cabo la compilación del kernel. Todos los
- directorios mencionados hacen referencia al directorio principal,
- que es <filename>/usr/src/sys</filename>, al que también
- podemos acceder desde <filename>/sys</filename>. Existen gran
- cantidad de subdirectorios que representan diferentes partes del
- kernel, pero el más importante para lo que deseamos hacer son
- <filename>arch</filename> y
- <filename>/conf</filename>, que es donde se llevara a cabo la
- edición del fichero de configuración y la
- compilación propiamente dicha del mismo,
- el punto de partida para la personalización del kernel. El
- directorio <filename>arch</filename>
- representa la arquitectura del sistema, por lo que puede ser
- <filename>i386</filename>, <filename>alpha</filename>,
- <filename>amd64</filename>, <filename>ia64</filename>,
- <filename>powerpc</filename>, <filename>sparc64</filename> o
- <filename>pc98</filename> (una arquitectura alternativa, similar a PC
- y muy popular en Japón). Todo lo que existe dentro de un
- directorio de una arquitectura en particular, es específico
- para dicha arquitectura; el resto del código es común
- para todas las plataformas en las que &os; puede funcionar.
- Observe la organización lógica de la estructura
- de los directorios, con cada dispositivo utilizable en el sistema,
- sistema de ficheros y opciones, cada cosa en su propio
- subdirectorio.</para>
-
- <para>A lo largo de este capítulo asumiremos que está
- utilizando la arquitectura i386, puesto que sobre ella son los
- ejemplos que vamos a ir exponiendo. Si no es este su caso debe
- hacer los cambios adecuados a su arquitectura de hardware en las
- rutas que vayamos utilizando.</para>
-
-
- <note>
- <para>Si <emphasis>no existe</emphasis> el directorio
- <filename>/usr/src/sys</filename> en su sistema quiere
- decir que no están instaladas las fuentes del
- kernel. La forma más sencilla de tenerlas es
- mediante <command>/stand/sysinstall</command>. Como
- usuario <systemitem class="username">root</systemitem> seleccione
- <literal>Configure</literal>, luego
- <literal>Distributions</literal>, después
- <literal>src</literal> y finalmente <literal>sys</literal>.
- Si no le gusta mucho
- <application>sysinstall</application> y tiene acceso a un
- CDROM <quote>oficial</quote> de &os; puede
- instalar las fuentes por medio de la siguiente línea
- de órdenes:</para>
-
- <screen>&prompt.root; <userinput>mount</userinput> /cdrom
-&prompt.root; <userinput>mkdir -p</userinput> <filename>/usr/src/sys</filename>
-&prompt.root; <userinput>ln -s</userinput> /usr/src/sys /sys
-&prompt.root; <userinput>cat /cdrom/sys/ssys.[a-d]* | tar -xzvf</userinput></screen>
- </note>
-
- <para>Ahora vaya al al directorio
- <filename>arch/conf</filename>
- y copie el fichero de configuración <filename>GENERIC</filename>
- con el nombre que desee. Por ejemplo:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput>
-&prompt.root; <userinput>cp GENERIC MIKERNEL</userinput></screen>
-
- <para>Por tradición el nombre se escribe con mayúsuculas y
- si tiene varias maquinas &os;, con diferente hardware es recomendable
- darle a cada kernel el mismo nombre que la máquina en la que va
- a ejecutarse. En este ejemplo usaremos el nombre de
- <filename>MIKERNEL</filename> .</para>
-
- <tip>
- <para>Guardar su fichero de configuración directamente bajo
- el directorio <filename>/usr/src</filename>, puede que no sea una
- idea muy astuta. Si empieza a tener problemas puede ser muy tentador
- borrar <filename>/usr/src</filename> y comenzar desde cero.
- Cinco segundos después de haber hecho esto se dará
- cuenta de que ha eliminado el fichero de configuración de
- su kernel, en el que quizás llevaba horas trabajando.</para>
-
- <para>Le proponemos una alternativa: guardar su fichero de configuración
- cualquier otro sitio y crear un enlace simbólico al fichero
- que hay en el directorio <filename>i386</filename>.</para>
-
- <para>Por ejemplo:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput>
-&prompt.root; <userinput>mkdir /root/kernels</userinput>
-&prompt.root; <userinput>cp GENERIC /root/kernels/MIKERNEL</userinput>
-&prompt.root; <userinput>ln -s /root/kernels/MIKERNEL</userinput></screen>
- </tip>
-
-
- <para>Ahora edite el fichero de configuración
- <filename>MIKERNEL</filename> con su editor de textos favorito.
- Si se trata de una instalación reciente probablemente el
- único editor disponible sea <application>vi</application>,
- del cual es complicado explicar su uso detallado en este
- documento, pero existen bastantes libros que detallan su uso; puede
- ver algunos en la <link linkend="bibliography">bibliografía</link>.
- &os; dispone de un editor de uso muy sencillo, llamado
- <application>ee</application>; si es usted principiante le será
- de mucha ayuda. Cambie los comentarios al principio del fichero
- con algo que refleje los cambios realizados o al menos para
- diferenciarlo del fichero <filename>GENERIC</filename>.</para>
-
- <para>Si ha compilado un kernel en &sunos; o algún otro sistema operativo
- BSD seguramente la mayor parte de fichero le será muy
- familiar. Si viene usted de otros sistemas
- operativos como DOS, el fichero <filename>GENERIC</filename> puede
- parecerle intimidante, así que siga las instrucciones descritas
- en <link linkend="kernelconfig-config">El Fichero de Configuración
- </link> detenidamente y con sumo cuidado.</para>
-
- <note>
- <para>Asegúrese siempre de verificar el fichero
- <filename>/usr/src/UPDATING</filename> antes de realizar cualquier
- actualización del sistema si ha
- <link linkend="cutting-edge">sincronizado sus fuentes</link>
- para disponer de la última versión de los mismos.
- En el fichero <filename>/usr/src/UPDATING</filename> está toda
- la información importante sobre las actualizaciones.
- Al distribuirse con &os; dicha información deberá
- estar más actualizada que la que hay en este mismo
- texto.</para>
- </note>
-
- <para>Ahora es momento de llevar a cabo la compilación del
- código fuente del kernel.</para>
-
- <procedure>
- <title>Compilación del kernel</title>
-
- <step>
- <para>Vaya al directorio <filename>/usr/src</filename>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
- </step>
-
- <step>
- <para>Compile el kernel:</para>
-
- <screen>&prompt.root; <userinput>make buildkernel KERNCONF=MIKERNEL</userinput></screen>
- </step>
-
- <step>
- <para>Instale el nuevo kernel:</para>
-
- <screen>&prompt.root; <userinput>make installkernel KERNCONF=MIKERNEL</userinput></screen>
- </step>
- </procedure>
-
- <note>
- <para>Es imprescindible que disponga del código fuente completo de &os;
- para poder compilar el kernel.</para>
- </note>
-
-
- <tip>
- <para>Por omisión, si compila un kernel personalizado
- <emphasis>todos</emphasis> los módulos del kernel
- serán recompilados también. Si quiere
- que la actualización de su kernel sea mucho más
- rápida o compilar solamente ciertos módulos
- personalizados, edite kernel modules will be rebuilt as well.
- <filename>/etc/make.conf</filename> antes de compilar el
- kernel:</para>
-
- <programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
-
- <para>Esta variable crea una lista de módulos listos para
- ser compilados, sin tocar los demás.</para>
-
- <programlisting>WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
-
- <para>Esta variable crea una lista de módulos que serán
- excluidos del proceso de compilación. Hay otras variables que
- pueden resultarle útiles durante este proceso; consulte la
- página de manual de &man.make.conf.5;.</para>
- </tip>
-
- <indexterm>
- <primary><filename>/boot/kernel.old</filename></primary>
- </indexterm>
-
-
- <para>El nuevo kernel se copiará al directorio raíz
- como <filename>/kernel</filename> y el kernel viejo tendrá
- el nombre de <filename>/kernel.old</filename>. Ahora
- reinicie su sistema para poder probar su nuevo kernel. En caso de que se
- presente algun problema hay algunos consejos para la <link linkend="kernelconfig-trouble">resolución de problemas</link> al
- final de este capítulo. Asegúrese de leer la sección
- que explica cómo recuperar el sistema en caso de que su kernel <link linkend="kernelconfig-noboot">no quiera arrancar</link>.</para>
-
-
- <note>
- <para>Ciertos ficheros relacionados con el proceso de
- arranque, como &man.loader.8;y su configuración,
- se guardan en <filename>/boot</filename>. Los módulos
- personalizados o de terceros se suelen guardar en
- <filename>/boot/kernel</filename>,
- aunque debe tener presente que es muy importante que
- los módulos y el kernel estén
- sincronizados. Si intenta usar módulos con un
- kernel para el que no están destinados puede
- haber errores o incluso producirse intesatabilidades.</para>
- </note>
-
- </sect1>
-<!-- hemendik -->
-
-
- <sect1 xml:id="kernelconfig-config">
- <info><title>El fichero de configuración</title>
- <authorgroup>
- <author><personname><firstname>Joel</firstname><surname>Dahl</surname></personname><contrib>Actualizado a &os; 6.X por </contrib></author>
- </authorgroup>
- </info>
-
- <indexterm>
- <primary>kernel</primary>
- <secondary>NOTES</secondary>
- </indexterm>
- <indexterm><primary>NOTES</primary></indexterm>
- <indexterm>
- <primary>kernel</primary>
- <secondary>configuration file</secondary>
- </indexterm>
-
- <para>El formato de un fichero de configuración es
- bastante simple. Cada línea contiene una palabra
- clave con uno o más argumentos. Para simplificar,
- hay muchas líneas que solamente contienen un
- argumento. Cualquier cosa detrás de un
- <literal>#</literal> se considerará un comentario y
- en consecuencia será ignorado. Las siguientes
- secciones describen todas las palabras clave en el orden
- en el que aparecen en
- <filename>GENERIC</filename>.
- <anchor xml:id="kernelconfig-options"/> Si quiere una lista exhaustiva de
- de opciones dependientes de arquitectura y de dispositivos
- puede consultar el fichero <filename>NOTES</filename>
- en el mismo directorio donde está el fichero
- <filename>GENERIC</filename>. Si quiere ver las
- opciones independientes de arquitectura consulte
- <filename>/usr/src/sys/conf/NOTES</filename>.</para>
-
- <note>
- <para>Puede generar un fichero que contenga todas las opciones
- disponibles en un kernel. Esto es algo que solamente se
- usa para hacer pruebas. Si quiere generarlo ejecute, como
- <systemitem class="username">root</systemitem>, lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf &amp;&amp; make LINT</userinput></screen>
- </note>
-
- <indexterm>
- <primary>kernel</primary>
- <secondary>configuration file</secondary>
- </indexterm>
-
- <para>A continuación veremos un ejemplo de fichero de
- configuración de un kernel <filename>GENERIC</filename>
- al que se han añadido comentarios adicionales donde se
- ha visto que era necesario abundar un poco para mayor
- claridad. Este ejemplo es igual (o, en el
- peor de los casos, casi igual) que la copia del mismo
- que tiene usted en
- <filename>/usr/src/sys/i386/conf/GENERIC</filename>.
- </para>
-
- <indexterm>
- <primary>kernel options</primary>
- <secondary>machine</secondary>
- </indexterm>
-
- <programlisting>machine i386</programlisting>
-
- <para>Esta es la arquitectura de la máquina. Debe ser
- <literal>alpha</literal>, <literal>amd64</literal>,
- <literal>i386</literal>, <literal>ia64</literal>,
- <literal>pc98</literal>, <literal>powerpc</literal> o
- <literal>sparc64</literal>.</para>
-
- <indexterm>
- <primary>kernel options</primary>
- <secondary>cpu</secondary>
- </indexterm>
- <programlisting>cpu I486_CPU
-cpu I586_CPU
-cpu I686_CPU</programlisting>
-
- <para>Las opciones anteriores definen el tipo de CPU que
- haya en su sistema. Puede dejar varias líneas
- de CPU (si, por ejemplo, no está seguro de usar
- <literal>I586_CPU</literal> o <literal>I686_CPU</literal>),
- pero si está personalizando su kernel es mucho mejor
- que solamente ponga la CPU que tenga. Si no está
- seguro de la CPU que tiene busque en los mensajes de arranque
- que se guardan en
- <filename>/var/run/dmesg.boot</filename>.</para>
-
- <indexterm>
- <primary>kernel options</primary>
- <secondary>ident</secondary>
- </indexterm>
-
- <programlisting>ident GENERIC</programlisting>
-
- <para>Este es el identificador del kernel. Modifíquelo
- para que cuadre con el nombre que le haya dado a su kernel,
- es decir, <literal>MIKERNEL</literal>
- si ha seguido los ejemplos anteriores. El valor que asigne
- a la cadena <literal>ident</literal> será el que
- se muestre cuando arranque con su kernel, así que
- es útil darle a su kernel un nombre distintivo que
- permita distinguirlo fácilmente de otros, por ejemplo,
- si está compilando un kernel experimental.</para>
-
- <programlisting>#To statically compile in device wiring instead of /boot/device.hints
-#hints "GENERIC.hints" # Default places to look for devices.</programlisting>
-
- <para>&man.device.hints.5; se usa para configurar opciones
- de controladores de dispositivo. La ubicación por
- defecto en la que &man.loader.8; buscará durante
- el arranque es <filename>/boot/device.hints</filename>. Si usa
- la opción <literal>hints</literal> puede compilar el
- contenido de <filename>device.hints</filename> en su kernel,
- lo que hará innecesario crear ese fichero en
- <filename>/boot</filename>.</para>
-
- <!-- XXX: Add a comment here that explains when compiling hints into
- the kernel is a good idea and why. -->
-
- <programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting>
-
- <para>El proceso normal de compilación en &os;
- incluye información de depuración de
- errores si se compila un kernel con la opción
- <option>-g</option>, que activa la información
- de depuración de errores al pasar a
- &man.gcc.1;.</para>
-
- <programlisting>options SCHED_4BSD # 4BSD scheduler</programlisting>
-
- <para>El planificador de tareas tradicional y por omisión
- de &os;. Déjelo como está.</para>
-
- <programlisting>options PREEMPTION # Enable kernel thread preemption</programlisting>
-
- <para>Permite que hilos que están en el kernel
- puedan asociarse con hilos cuya prioridad sea más
- alta. Ayuda con la interactividad y permite que los hilos
- interrumpidos puedan ejecutarse antes en lugar de tener
- que esperar.</para>
-
- <programlisting>options INET # InterNETworking</programlisting>
-
- <para>Networking. Deje esto como está, incluso si no
- tiene en mente conectar la máquina a una red. Muchos
- programas necesitan al menos disponer de lo que se llama
- «loopback networking» (esto es, poder efectuar
- conexiones de red con su propia máquina) así
- que tener esto es obligatorio.</para>
-
- <programlisting>options INET6 # IPv6 communications protocols</programlisting>
-
- <para>Activa los protocolos de comunicación IPv6.</para>
-
- <programlisting>options FFS # Berkeley Fast Filesystem</programlisting>
-
- <para>El sistema de ficheros básico para discos
- duros. Debe dejarlo como está si pretende
- poder arrancar desde disco duro.</para>
-
- <programlisting>options SOFTUPDATES # Enable FFS Soft Updates support</programlisting>
-
- <para>Activa Soft Updates en el kernel, lo que acelerará
- los accesos de escritura a sus discos. Esta funcionalidad
- la facilita el kernel, pero debe activarse para cada disco
- de forma específica. Revise la salida de
- &man.mount.8; y verá si Soft Updates está
- activado en los discos de su sistema. Si no aparece la
- opción <literal>soft-updates</literal> actívela
- mediante &man.tunefs.8; (para sistemas de ficheros ya
- existentes) o &man.newfs.8; (en el caso de sistemas
- de ficheros nuevos).</para>
-
- <programlisting>options UFS_ACL # Support for access control lists</programlisting>
-
- <para>Esta opción activa en el kernel las listas
- de control de acceso. Consiste en el uso de atributos
- extendidos y <acronym>UFS2</acronym> junto con las
- características que se describen detalladamente
- en la <xref linkend="fs-acl"/>. Las <acronym>ACL</acronym>
- por omisión están activadas, y no deben
- desactivarse del kernel una vez que hayan sido usadas
- en un sistema de ficheros puesto que eliminará
- las listas de control de acceso y el modo en el que
- se protegen esos ficheros de un modo totalmente
- fuera de control.</para>
-
- <programlisting>options UFS_DIRHASH # Improve performance on big directories</programlisting>
-
- <para>This option includes functionality to speed up disk
- operations on large directories, at the expense of using
- additional memory. You would normally keep this for a large
- server, or interactive workstation, and remove it if you are
- using &os; on a smaller system where memory is at a premium and
- disk access speed is less important, such as a firewall.</para>
-
- <programlisting>options MD_ROOT # MD is a potential root device</programlisting>
-
- <para>Esta opción permite que la partición
- raíz esté en un disco virtual basado en
- memoria.</para>
-
- <indexterm>
- <primary>kernel options</primary>
- <secondary>NFS</secondary>
- </indexterm>
- <indexterm>
- <primary>kernel options</primary>
- <secondary>NFS_ROOT</secondary>
- </indexterm>
- <programlisting>options NFSCLIENT # Network Filesystem Client
-options NFSSERVER # Network Filesystem Server
-options NFS_ROOT # NFS usable as /, requires NFSCLIENT</programlisting>
-
- <para>NFS, el sistema de ficheros en red. Salvo que tenga
- intención de montar particiones de sistemas de ficheros
- &unix; de un servidor a través de TCP/IP puede
- comentar estas opciones.</para>
-
- <indexterm>
- <primary>kernel options</primary>
- <secondary>MSDOSFS</secondary>
- </indexterm>
- <programlisting>options MSDOSFS # MSDOS Filesystem</programlisting>
-
- <para>El sistema de ficheros &ms-dos;. Salvo que tenga en mente
- montar particiones de disco duro con formato DOS durante el
- arranque puede comentar esta opción. En caso de
- necesidad esta funcionalidad se cargará
- automáticamente. También tiene a su
- <package>emulators/mtools</package>,
- que le permitirá acceder a disquetes DOS sin tener
- que montarlos y desmontarlos (y ni siquiera requiere
- <literal>MSDOSFS</literal>).</para>
-
- <programlisting>options CD9660 # ISO 9660 Filesystem</programlisting>
-
- <para>El sistema de ficheros ISO 9660 para CDROM. Coméntelo
- si no tiene unidad CDROM o solamente monta CD muy de
- vez en cuando; cuando lo necesite el sistema lo cargará
- dinámicamente. Los CD de sonido no utilizan este
- sistema de ficheros.</para>
-
- <programlisting>options PROCFS # Process filesystem (requires PSEUDOFS)</programlisting>
-
- <para>El sistema de ficheros de procesos. Es un sistema
- de ficheros <quote>simulado</quote> que se monta en
- <filename>/proc</filename> y permite a programas como
- &man.ps.1; suministrar más información
- sobre qué procesos están
- ejecutándose. En la mayoaría de los casos
- no es necesario usar <literal>PROCFS</literal>,
- puesto que la mayoría de las herramientas de
- monitorización y depuración han sido
- adaptadas para que funcionen sin
- <literal>PROCFS</literal>. De hecho aunque lo instale
- el sistema no lo montará por omisión.</para>
-
- <programlisting>options PSEUDOFS # Pseudo-filesystem framework</programlisting>
-
- <para>Los kernel 6.X pueden usar <literal>PSEUDOFS</literal>
- al utilizar <literal>PROCFS</literal>.</para>
-
- <programlisting>options GEOM_GPT # GUID Partition Tables.</programlisting>
-
- <para>Con esta opción se puede tener una gran cantidad
- de particiones en un único disco.</para>
-
- <programlisting>options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]</programlisting>
-
- <para>Compatibilidad con 4.3BSD. Déjelo como está;
- ciertos programas pueden comportarse de formas muy
- extrañas si comenta esta opción.</para>
-
- <programlisting>options COMPAT_FREEBSD4 # Compatible with &os;4</programlisting>
-
- <para>&os;&nbsp;5.X en sistemas &i386; y Alpha necesita
- esta opción para poder usar aplicaciones compiladas
- en versiones antiguas de &os; que utilizan, por tanto,
- llamadas al sistema más antiguas. Esta opción
- no es necesaria en plataformas en las que funciona &os;
- desde 5.X, como ia64 y &sparc64;.</para>
-
- <programlisting>options COMPAT_FREEBSD5 # Compatible with &os;5</programlisting>
-
- <para>Esta opción hace falta en sistemas &os;&nbsp;6.X
- y versiones posteriores para poder ejecutar aplicaciones
- compiladas en &os;&nbsp;5.X, que usan interfaces de llamada
- al sistema &os;&nbsp;5.X.</para>
-
- <programlisting>options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI</programlisting>
-
- <para>Hace que el kernel haga una pausa de 5 segundos antes de
- probar los dispositivos SCSI del sistema. Si solamente tiene
- discos IDE puede ignorar esta opción, o también
- puede asignarle un valor menos para evitar el retardo en el
- arranque. Si lo hace y &os; tiene problemas para reconocer
- dispositivos SCSI en el sistema es obvio que tendrá
- que incrementar el valor.</para>
-
- <programlisting>options KTRACE # ktrace(1) support</programlisting>
-
- <para>Activa las trazas en el kernel, algo muy útil para
- la depuración de errores.</para>
-
- <programlisting>options SYSVSHM # SYSV-style shared memory</programlisting>
-
- <para>Facilita memoria compartida System&nbsp;V. El uso
- más habitual es la extensión XSHM de X, que
- utiliza la mayoría de programas que hacen uso
- intensivo de los gráficos para incrementar la
- velocidad. Si usa X es casi seguro que le vendrá bien
- esta opción.</para>
-
- <programlisting>options SYSVMSG # SYSV-style message queues</programlisting>
-
- <para>Mensajes System&nbsp;V. Esta opción añade
- solamente unos cuantos bytes al kernel.</para>
-
- <programlisting>options SYSVSEM # SYSV-style semaphores</programlisting>
-
- <para>Semáforos System&nbsp;V. No es demasiado frecuente
- que se utilicen, pero solamente añaden unos
- cuantos cientos de bytes al kernel.</para>
-
- <note>
- <para>La opción <option>-p</option> de &man.ipcs.1;
- le mostrará una lista de procesos que estén
- utilizando características
- System&nbsp;V.</para>
- </note>
-
- <programlisting>options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions</programlisting>
-
- <para>Extensiones en tiempo real añadidas en 1993
- &posix;. Ciertas aplicaciones de la Colección de
- Ports las utilizan, por ejemplo
- <application>&staroffice;</application>.</para>
-
- <programlisting>options KBD_INSTALL_CDEV # install a CDEV entry in /dev</programlisting>
-
- <para>This option is required to allow the creation of keyboard device
- nodes in <filename>/dev</filename>.</para>
-
- <programlisting>options ADAPTIVE_GIANT # Giant mutex is adaptive.</programlisting>
-
- <para>Giant es un mecanismo de exclusión mutua
- («sleep mutex») que protege un gran conjunto
- de recursos del kernel. Hoy en dia no es asumible tener
- un cuello de botella así por el impacto que tiene
- en el rendimiento, así que está siendo
- reemplazado por bloqueos que protegen los recursos de
- manera individual. <literal>ADAPTIVE_GIANT</literal>
- hace que Giant sea incluido en un conjunto de
- «mutextes» que va rotando
- Esto es, cuando un hilo quiere
- bloquear el Giant mutex (pero ya está bloqueado
- por un hilo de otra CPU) el primer hilo seguirá
- ejecutándose a la espera de que se libere el
- bloqueo. Generalmente el hilo volverá al estado
- de reposo y esperará hasta que aparezca otra
- oportunidad de ejecutarse. Si no está seguro de
- lo que está haciendo es mejor que deje esta
- opción tal y como está.</para>
-
- <note>
-
- <para>Tenga en cuenta que en &os;&nbsp;8.0-CURRENT y
- versiones siguientes todos los «mutexes»
- son adaptables por omisión, salvo que se use
- la opción
- <literal>NO_ADAPTIVE_MUTEXES</literal>. El resultado
- evidente que es Giant es adaptable por omisión,
- así que la opción
- <literal>ADAPTIVE_GIANT</literal> ha sido eliminada de
- la configuración.</para>
- </note>
-
- <indexterm>
- <primary>kernel options</primary>
- <secondary>SMP</secondary>
- </indexterm>
- <programlisting>device apic # I/O APIC</programlisting>
-
- <para>El dispositivo apic activa la E/S APIC en la entrega
- de interrupciones. El dispositivo apic puede usarse tanto en
- kernels para un procesador (UP) como para sistemas
- multiprocesador (SMP). Si añada
- <literal>options SMP</literal> funcionará en
- sistemas multiprocesador.</para>
-
- <note>
- <para>El dispositivo apic existe solamente en la
- arquitectura i386, de modo que no debe usarse
- esta línea en otras arquitecturas.</para>
- </note>
-
- <programlisting>device eisa</programlisting>
-
- <para>Use esta opción si tiene una placa base
- EISA. Activa la detección automática y
- permite la configuración de todos los dispositivos
- que estén en el bus EISA.</para>
-
- <programlisting>device pci</programlisting>
-
- <para>Use esta opción si tiene una placa PCI. Permite
- la detección automática de tarjetas PCI y
- permite la configuración entre el bus ISA y el
- PCI.</para>
-
- <programlisting># Floppy drives
-device fdc</programlisting>
-
- <para>Este dispositivo es el controlador de la unidad de
- disquetes.</para>
-
- <programlisting># ATA and ATAPI devices
-device ata</programlisting>
-
- <para>Este controlador permite utilizar dispositivos ATA
- y ATAPI. Si añade al kernel
- one <literal>device ata</literal> éste detectará
- cualquier dispositivo ATA/ATAPI PCI que conecte a una
- máquina moderna.</para>
-
- <programlisting>device atadisk # ATA disk drives</programlisting>
-
- <para>Si usa <literal>device ata</literal> tendrá que
- añadir también esto para poder usar unidades
- de disco ATA.</para>
-
- <programlisting>device ataraid # ATA RAID drives</programlisting>
-
- <para>Si usa <literal>device ata</literal> tendrá que
- añadir también esto para poder usar unidades
- de disco ATA RAID.</para>
-
- <programlisting><anchor xml:id="kernelconfig-atapi"/>
-device atapicd # ATAPI CDROM drives</programlisting>
-
- <para>Si usa <literal>device ata</literal> tendrá que
- añadir también esto para poder usar unidades
- ATAPI CDROM.</para>
-
- <programlisting>device atapifd # ATAPI floppy drives</programlisting>
-
- <para>Si usa <literal>device ata</literal> tendrá que
- añadir también esto para poder usar unidades
- de disquete ATAPI.</para>
-
- <programlisting>device atapist # ATAPI tape drives</programlisting>
-
- <para>Si usa <literal>device ata</literal> tendrá que
- añadir también esto para poder usar unidades
- de cinta ATAPI.</para>
-
- <programlisting>options ATA_STATIC_ID # Static device numbering</programlisting>
-
- <para>Con esta opción hace que el número de
- controladores sea estático; si no se usa los
- números de dispositivo se asignan
- dinámicamente.</para>
-
- <programlisting># SCSI Controllers
-device ahb # EISA AHA1742 family
-device ahc # AHA2940 and onboard AIC7xxx devices
-options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
- # output. Adds ~128k to driver.
-device ahd # AHA39320/29320 and onboard AIC79xx devices
-options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
- # output. Adds ~215k to driver.
-device amd # AMD 53C974 (Teckram DC-390(T))
-device isp # Qlogic family
-#device ispfw # Firmware for QLogic HBAs- normally a module
-device mpt # LSI-Logic MPT-Fusion
-#device ncr # NCR/Symbios Logic
-device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
-device trm # Tekram DC395U/UW/F DC315U adapters
-
-device adv # Advansys SCSI adapters
-device adw # Advansys wide SCSI adapters
-device aha # Adaptec 154x SCSI adapters
-device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
-device bt # Buslogic/Mylex MultiMaster SCSI adapters
-
-device ncv # NCR 53C500
-device nsp # Workbit Ninja SCSI-3
-device stg # TMC 18C30/18C50</programlisting>
-
- <para>Controladoras SCSI. Coméntelas si no las tiene
- en su sistema. Si en su sistema tiene solamente unidades IDE
- puede borrarlas todas.
- Las líneas <literal>*_REG_PRETTY_PRINT</literal> son
- opciones de depuración de errores de sus
- respectivos controladores de dispositivo.</para>
-
- <programlisting># SCSI peripherals
-device scbus # SCSI bus (required for SCSI)
-device ch # SCSI media changers
-device da # Direct Access (disks)
-device sa # Sequential Access (tape etc)
-device cd # CD
-device pass # Passthrough device (direct SCSI access)
-device ses # SCSI Environmental Services (and SAF-TE)</programlisting>
-
- <para>Periféricos SCSI. Estos también puede
- borrarlos sin problemas si no los tiene en su sistema o
- si solamente tiene hardware IDE.</para>
-
- <note>
- <para>El controlador USB &man.umass.4; (y unos cuantos
- controladores más) utilizan el subsistema
- SCSI aunque no sean dispositivos SCSI reales. No elimine
- el subsistema SCSI del kernel si va a utilizar cualquiera
- de estos controladores.</para>
- </note>
-
- <programlisting># RAID controllers interfaced to the SCSI subsystem
-device amr # AMI MegaRAID
-device arcmsr # Areca SATA II RAID
-device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
-device ciss # Compaq Smart RAID 5*
-device dpt # DPT Smartcache III, IV - See NOTES for options
-device hptmv # Highpoint RocketRAID 182x
-device rr232x # Highpoint RocketRAID 232x
-device iir # Intel Integrated RAID
-device ips # IBM (Adaptec) ServeRAID
-device mly # Mylex AcceleRAID/eXtremeRAID
-device twa # 3ware 9000 series PATA/SATA RAID
-
-# RAID controllers
-device aac # Adaptec FSA RAID
-device aacp # SCSI passthrough for aac (requires CAM)
-device ida # Compaq Smart RAID
-device mfi # LSI MegaRAID SAS
-device mlx # Mylex DAC960 family
-device pst # Promise Supertrak SX6000
-device twe # 3ware ATA RAID</programlisting>
-
- <para>Controladoras RAID que pueden utilizarse en &os;. Si no las
- tiene en su sistema puede borrarlas.</para>
-
- <programlisting># atkbdc0 controls both the keyboard and the PS/2 mouse
-device atkbdc # AT keyboard controller</programlisting>
-
- <para>El controlador de teclado (<literal>atkbdc</literal>)
- ofrece servicios de E/S con teclados AT y ratones PS/2. El
- controlador de teclado
- (<literal>atkbd</literal>) y el controlador de ratón PS/2
- (<literal>psm</literal>) necesitan este dispositivo.</para>
-
- <programlisting>device atkbd # AT keyboard</programlisting>
-
- <para>El controlador <literal>atkbd</literal>, junto con el
- controlador <literal>atkbdc</literal>, permiten utilizar el
- teclado AT 84 u otros tipos de teclados AT mejorados que se
- conecten mediante el controlador de teclado AT.</para>
-
- <programlisting>device psm # PS/2 mouse</programlisting>
-
- <para>Utilice este dispositivo si conecta su ratón en el
- puerto PS/2.</para>
-
- <programlisting>device kbdmux # keyboard multiplexer</programlisting>
-
- <para>Funcionalidad básica para múltiples
- teclados. Si no tiene en mente usar más de un
- teclado en el sistema puede borrar esta línea
- sin mayor problema.</para>
-
- <programlisting>device vga # VGA video card driver</programlisting>
-
- <para>El controlador de la tarjeta gráfica.</para>
-
- <programlisting>
-device splash # Splash screen and screen saver support</programlisting>
-
- <para>«Splash screen» en el arranque. Los salvapantallas
- necesitan este dispositivo.</para>
-
- <programlisting># syscons is the default console driver, resembling an SCO console
-device sc</programlisting>
-
- <para><literal>sc</literal> por omisión es el controlador
- de dispositivo de la consola; se parece mucho a una consola de
- SCO. Dado que muchos programas de pantalla completa acceden
- a la consola a través de la biblioteca de bases de datos
- de terminal
- <filename>termcap</filename> no tiene demasiada importancia si
- usa <literal>vt</literal>, el controlador de consola compatible
- <literal>VT220</literal>. Cuando acceda al sistema asigne a
- su variable <envar>TERM</envar> el valor
- <literal>scoansi</literal>si los programas a pantalla completa
- tienen algún problema para acceder a la consola.</para>
-
- <programlisting># Enable this for the pcvt (VT220 compatible) console driver
-#device vt
-#options XSERVER # support for X server on a vt console
-#options FAT_CURSOR # start with block cursor</programlisting>
-
- <para>El controlador de dispositivo VT220-compatible;
- es compatible con VT100/102, anterior a él. Funciona
- bien en ciertos sistemas portátiles que adolecen de
- incompatibilidad de harware con
- <literal>sc</literal>. Asigne a su variable de entorno
- <envar>TERM</envar> el valor <literal>vt100</literal> o
- <literal>vt220</literal> cuando acceda al sistema. Este
- controlador le puede ser de utilidad si tiene que acceder
- a gran cantidad de máquinas a través de una
- red, una situación en la que suele suceder que
- <filename>termcap</filename> o
- <filename>terminfo</filename> no están ahí
- para que las use <literal>sc</literal>.
- <literal>vt100</literal>, por el contrario, debería
- aparecer en práticamente cualquier
- plataforma.</para>
-
- <programlisting>device agp</programlisting>
-
- <para>Utilice esta opción si tiene en el sistema una
- tarjeta AGP. Activará AGP y también AGP GART
- si su tarjeta puede usarla.</para>
-
- <indexterm>
- <primary>APM</primary>
- </indexterm>
-
- <programlisting># Power management support (see NOTES for more options)
-#device apm</programlisting>
-
- <para>Gestión avanzada de la energía. Muy
- útil en sistemas portátiles. Viene
- desactivada por omisión en el kernel
- <filename>GENERIC</filename> .</para>
-
- <programlisting># Add suspend/resume support for the i8254.
-device pmtimer</programlisting>
-
- <para>Controlador del reloj para eventos de gestión de la
- energía, como APM y ACPI.</para>
-
- <programlisting># PCCARD (PCMCIA) support
-# PCMCIA and cardbus bridge support
-device cbb # cardbus (yenta) bridge
-device pccard # PC Card (16-bit) bus
-device cardbus # CardBus (32-bit) bus</programlisting>
-
- <para>Dispositivos PCMCIA. Si el sistema es portátil
- necesita tener esto activado.</para>
-
- <programlisting># Serial (COM) ports
-device sio # 8250, 16[45]50 based serial ports</programlisting>
-
- <para>Estos son los puertos serie a los que se conoce como
- puertos <filename>COM</filename> en entornos
- &ms-dos;/&windows;.</para>
-
- <note>
- <para>Si tiene un módem interno en
- <filename>COM4</filename> un puerto serie en
- <filename>COM2</filename> tendrá que
- asignar a la IRQ del módem el 2 (por razones
- técnicas ignotas IRQ2 = IRQ 9) para que pueda
- acceder al dispositivo desde &os;. Si tiene una tarjeta
- serie multipuerto consulte la página de manual de
- &man.sio.4; si quiere más detalles sobre los
- valores que debe añadir a
- <filename>/boot/device.hints</filename>. Algunas tarjetas
- gráficas (sobre todo las que usan chips S3) utilizan
- direcciones IO del tipo
- <literal>0x*2e8</literal> y dado que muchas tarjetas serie
- de baja calidad no decodifican correctamente el espacio de
- direcciones de 16 bits chocan con estas tarjetas, haciendo
- que el puerto <filename>COM4</filename> sea
- prácticamente inútil.</para>
-
- <para>Es necesario que cada puerto serie tenga una IRQ
- única (salvo que use una tarjeta multipuerto que
- permita compartir interrupciones), así que las
- IRQ de <filename>COM3</filename> y de
- <filename>COM4</filename> no se pueden
- utilizar.</para>
- </note>
-
- <programlisting># Parallel port
-device ppc</programlisting>
-
- <para>El interfaz del puerto paralelo de bus ISA.</para>
-
- <programlisting>device ppbus # Parallel port bus (required)</programlisting>
-
- <para>El bus del puerto paralelo.</para>
-
- <programlisting>device lpt # Printer</programlisting>
-
- <para>Permite usar el puerto paralelo para conectar impresoras.</para>
-
- <note>
- <para>Necesitará disponer de los tres anteriores para
- poder utilizar impresoras mediante el puerto paralelo.</para>
- </note>
-
- <programlisting>device plip # TCP/IP over parallel</programlisting>
-
- <para>Este controlador es para la interfaz de red a través
- del puerto paralelo.</para>
-
- <programlisting>device ppi # Parallel port interface device</programlisting>
-
- <para>La E/S de propósito general (conocida
- también como <quote>puerto geek</quote>) + E/S
- IEEE1284.</para>
-
- <programlisting>#device vpo # Requires scbus and da</programlisting>
-
- <indexterm><primary>zip drive</primary></indexterm>
- <para>Este dispositivo se usa con unidades Iomega Zip. Necesita
- <literal>scbus</literal> y <literal>da</literal> . El mejor
- rendimiento se alcanza con el uso de los puertos en modo
- EPP 1.9.</para>
-
- <programlisting>#device puc</programlisting>
-
- <para>Puede utilizar este dispositivo si tiene una tarjeta
- PCI <quote>tonta</quote> (por puerto serie o paralelo)
- que funcione mediante el controlador &man.puc.4;.</para>
-
- <programlisting># PCI Ethernet NICs.
-device de # DEC/Intel DC21x4x (<quote>Tulip</quote>)
-device em # Intel PRO/1000 adapter Gigabit Ethernet Card
-device ixgb # Intel PRO/10GbE Ethernet Card
-device txp # 3Com 3cR990 (<quote>Typhoon</quote>)
-device vx # 3Com 3c590, 3c595 (<quote>Vortex</quote>)</programlisting>
-
- <para>Diversos controladores para tarjetas de red PCI. Puede borrar
- todas las que no estén en su sistema.</para>
-
- <programlisting># PCI Ethernet NICs that use the common MII bus controller code.
-# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
-device miibus # MII bus support</programlisting>
-
- <para>El poder utilizar bus MII es necesario para ciertas tarjetas
- Ethernet PCI 10/100, más concretamente las que usan
- transceptores compatibles con MII o implementan interfaces
- de control de transceptores que funcionan como si fueran
- MII. Si incluye <literal>device miibus</literal> al kernel
- dispondrá de la API miibus genérica y todos los
- controladores PHY, incluyendo uno que hará funcionar
- hardware que, siendo del tipo PHY, no está bajo ninguno
- de los controladores PHY específicos.</para>
-
- <programlisting>device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
-device bfe # Broadcom BCM440x 10/100 Ethernet
-device bge # Broadcom BCM570xx Gigabit Ethernet
-device dc # DEC/Intel 21143 and various workalikes
-device fxp # Intel EtherExpress PRO/100B (82557, 82558)
-device lge # Level 1 LXT1001 gigabit ethernet
-device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
-device nge # NatSemi DP83820 gigabit ethernet
-device nve # nVidia nForce MCP on-board Ethernet Networking
-device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
-device re # RealTek 8139C+/8169/8169S/8110S
-device rl # RealTek 8129/8139
-device sf # Adaptec AIC-6915 (<quote>Starfire</quote>)
-device sis # Silicon Integrated Systems SiS 900/SiS 7016
-device sk # SysKonnect SK-984x &amp; SK-982x gigabit Ethernet
-device ste # Sundance ST201 (D-Link DFE-550TX)
-device stge # Sundance/Tamarack TC9021 gigabit Ethernet
-device ti # Alteon Networks Tigon I/II gigabit Ethernet
-device tl # Texas Instruments ThunderLAN
-device tx # SMC EtherPower II (83c170 <quote>EPIC</quote>)
-device vge # VIA VT612x gigabit ethernet
-device vr # VIA Rhine, Rhine II
-device wb # Winbond W89C840F
-device xl # 3Com 3c90x (<quote>Boomerang</quote>, <quote>Cyclone</quote>)</programlisting>
-
- <para>Controladores que utilizan el código del controlador
- de bus MII.</para>
-
- <programlisting># ISA Ethernet NICs. pccard NICs included.
-device cs # Crystal Semiconductor CS89x0 NIC
-# 'device ed' requires 'device miibus'
-device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
-device ex # Intel EtherExpress Pro/10 and Pro/10+
-device ep # Etherlink III based cards
-device fe # Fujitsu MB8696x based cards
-device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
-device lnc # NE2100, NE32-VL Lance Ethernet cards
-device sn # SMC's 9000 series of Ethernet chips
-device xe # Xircom pccard Ethernet
-
-# ISA devices that use the old ISA shims
-#device le</programlisting>
-
- <para>Controladores Ethernet ISA. Consulte
- <filename>/usr/src/sys/i386/conf/NOTES</filename>
- para más detalles sobre qué tarjetas hace funcionar
- qué controlador.</para>
-
- <programlisting># Wireless NIC cards
-device wlan # 802.11 support</programlisting>
-
- <para>802.11 genérico. Necesitará esta línea
- si va a usar redes inalámbricas.</para>
-
- <programlisting>device wlan_wep # 802.11 WEP support
-device wlan_ccmp # 802.11 CCMP support
-device wlan_tkip # 802.11 TKIP support</programlisting>
-
- <para>Criptografía en dispositivos 802.11. Necesita
- estas líneas si quiere utilizar criptografía
- y protocolos de seguridad 802.11.</para>
-
- <programlisting>device an # Aironet 4500/4800 802.11 wireless NICs.
-device ath # Atheros pci/cardbus NIC's
-device ath_hal # Atheros HAL (Hardware Access Layer)
-device ath_rate_sample # SampleRate tx rate control for ath
-device awi # BayStack 660 and others
-device ral # Ralink Technology RT2500 wireless NICs.
-device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
-#device wl # Older non 802.11 Wavelan wireless NIC.</programlisting>
-
- <para>Diversas tarjetas inalámbricas.</para>
-
- <programlisting># Pseudo devices
-device loop # Network loopback</programlisting>
-
- <para>El dispositivo de «loopback» para
- TCP/IP. Si accede por telnet o FTP
- or FTP to <systemitem>localhost</systemitem> también
- conocido como <systemitem class="ipaddress">127.0.0.1</systemitem>) lo hará a
- través de este dispositivo. Es
- <emphasis>imprescindible</emphasis> tenerlo en el
- sistema.</para>
-
- <programlisting>device random # Entropy device</programlisting>
-
- <para>Generador de números criptográficamente
- seguro.</para>
-
- <programlisting>device ether # Ethernet support</programlisting>
-
- <para><literal>ether</literal> solo es necesario si tiene
- alguna tarjeta Ethernet. Incluye código
- genérico del protocolo Ethernet.</para>
-
- <programlisting>device sl # Kernel SLIP</programlisting>
-
- <para><literal>sl</literal> permite utilizar SLIP. Ha sido
- sustituido casi totalmente por PPP, que es más
- fácil de usar, está mejor capacitado para
- la conexión de módem a módem y es,
- en general, claramente mejor.</para>
-
- <programlisting>device ppp # Kernel PPP</programlisting>
-
- <para>Este dispositivo incluye en el kernel la capacidad de
- gestionar conexiones de llamada entrante
- «dial-up». Hay también una versión
- de PPP implementada como aplicación de usuario; utiliza
- <literal>tun</literal> y ofrece más flexibilidad y
- características como la llamada bajo
- petición.</para>
-
- <programlisting>device tun # Packet tunnel.</programlisting>
-
- <para>Este dispositivo lo usa el software PPP de usuario.
- Consulte la sección sobre
- <link linkend="userppp">PPP</link> de este mismo libro.</para>
-
- <programlisting><anchor xml:id="kernelconfig-ptys"/>
-device pty # Pseudo-ttys (telnet etc)</programlisting>
-
- <para>Este dispositivo es una <quote>pseudoterminal</quote>,
- o un puerto de entrada al sistema simulado. Se usa en
- sesiones entrantes de <command>telnet</command> y
- <command>rlogin</command>; también lo usan
- <application>xterm</application> y otras aplicaciones, entre
- las que encontramos a <application>Emacs</application>.</para>
-
- <programlisting>device md # Memory <quote>disks</quote></programlisting>
-
- <para>Pseudodispositivos de disco basados en memoria.</para>
-
- <programlisting>device gif # IPv6 and IPv4 tunneling</programlisting>
-
- <para>Este dispositivo implementa túneles de IPv6
- sobre IPv4, IPv4 sobre IPv6, IPv4 sobre IPv4 e
- IPv6 sobre IPv6. El dispositivo
- <literal>gif</literal> se puede clonar a sí mismo,
- así que los nodos de dispositivo se van creando a
- medida que van haciendo falta.</para>
-
- <programlisting>device faith # IPv6-to-IPv4 relaying (translation)</programlisting>
-
- <para>Este pseudodispositivo captura paquetes que se le
- hayan enviado y los dirige hacia el d&aelig;mon de
- traducción IPv4/IPv6.</para>
-
- <programlisting># The `bpf' device enables the Berkeley Packet Filter.
-# Be aware of the administrative consequences of enabling this!
-# Note that 'bpf' is required for DHCP.
-device bpf # Berkeley packet filter</programlisting>
-
- <para>El filtro de paquetes de Berkeley. Este pseudodispositivo
- permite poner interfaces de red en modo promíscuo, lo que
- significa que capturan todos los paquetes que circulen por una
- red broadcast (por ejemplo una Ethernet). Dichos paquetes
- pueden guardarse en disco para su posterior examen mediante
- &man.tcpdump.1; (el análisis con &man.tcpdump.1; no
- puede hacerse directamente también).</para>
-
- <note>
- <para>El dispositivo &man.bpf.4; también lo usa
- &man.dhclient.8; para obtener direcciones IP del
- encaminador (gateway) por omisión. Si usa
- DHCP deje esta opción como está.</para>
- </note>
-
- <programlisting># USB support
-device uhci # UHCI PCI-&gt;USB interface
-device ohci # OHCI PCI-&gt;USB interface
-device ehci # EHCI PCI-&gt;USB interface (USB 2.0)
-device usb # USB Bus (required)
-#device udbp # USB Double Bulk Pipe devices
-device ugen # Generic
-device uhid # <quote>Human Interface Devices</quote>
-device ukbd # Keyboard
-device ulpt # Printer
-device umass # Disks/Mass storage - Requires scbus and da
-device ums # Mouse
-device ural # Ralink Technology RT2500USB wireless NICs
-device urio # Diamond Rio 500 MP3 player
-device uscanner # Scanners
-# USB Ethernet, requires mii
-device aue # ADMtek USB Ethernet
-device axe # ASIX Electronics USB Ethernet
-device cdce # Generic USB over Ethernet
-device cue # CATC USB Ethernet
-device kue # Kawasaki LSI USB Ethernet
-device rue # RealTek RTL8150 USB Ethernet</programlisting>
-
- <para>Diversos dispositivos USB.</para>
-
- <programlisting># FireWire support
-device firewire # FireWire bus code
-device sbp # SCSI over FireWire (Requires scbus and da)
-device fwe # Ethernet over FireWire (non-standard!)</programlisting>
-
- <para>Diversos dispositivos Firewire.</para>
-
- <para>Tiene más información y una lista
- con más dispositivos que funcionan en &os;
- consulte
- <filename>/usr/src/sys/i386/conf/NOTES</filename>.</para>
-
- <sect2>
- <title>Configuraciones con grandes cantidades de memoria
- (<acronym>PAE</acronym>)</title>
- <indexterm>
- <primary>Physical Address Extensions
- (<acronym>PAE</acronym>)</primary>
- <secondary>large memory</secondary>
- </indexterm>
-
- <para>Las máquinas que tienen configuraciones
- con grandes cantidades de memoria necesitan acceder
- a más de 4 gigabytes de espacio de direcciones
- <acronym>KVA</acronym> (User+Kernel Virtual
- Address). Debido a esta limitación Intel
- añadió a las CPU &pentium; Pro y modelos
- posteriores la posibilidad de acceso al espacio de
- direcciones físicas de 36 bits.</para>
-
- <para><acronym>PAE</acronym> (Physical Address Extension)
- a las CPU &intel; &pentium; Pro y los modelos posteriores
- configuraciones de memoria de hasta 64 gigabytes.
- Para poder aprovechar esto en &os; existe la
- opción del kernel
- <option>PAE</option>, disponible en todas las versiones
- modernas de &os;. A causa de esta limitación de
- memoria en los Intel no hay nada que distinga de
- algún modo la memoria situada por debajo del
- límite de los 4 gigabytes. La memoria que
- esté por encima de los 4 gigabytes se coloca
- en el «pool» de memoria disponible.</para>
-
- <para>Si quiere activar <acronym>PAE</acronym> en el kernel
- tiene que añadir la siguiente liínea al
- fichero de configuración del kernel:</para>
-
- <programlisting>options PAE</programlisting>
-
- <note>
- <para>En &os; <acronym>PAE</acronym> solamente existe
- en procesadores &intel; IA-32. Hemos de advertirle
- de que <acronym>PAE</acronym> no ha sido probado
- todo lo necesario, así que debe considerarse
- de calidad beta, sobre todo si se le compara con
- otras características de &os;.</para>
- </note>
-
- <para><acronym>PAE</acronym> en &os; tiene varias
- limitaciones:</para>
-
- <itemizedlist>
- <listitem>
- <para>Un solo proceso no puede acceder a más
- de 4 gigabytes de espacio VM.</para>
- </listitem>
-
- <listitem>
- <para>No puede cargar módulos
- <acronym>KLD</acronym> en un kernel que tenga
- <acronym>PAE</acronym> activado debido a las diferencias
- existentes entre el «framework» de
- compilación del módulo y el del
- kernel mismo.</para>
- </listitem>
-
- <listitem>
- <para>Los controladores de dispositivo que utilizan
- el interfaz &man.bus.dma.9; pueden provocar
- corrupción de datos en un kernel con
- <acronym>PAE</acronym> activado, una excelente
- razón para no utilizarlos. Esta es
- la razón de que &os; incorpore un fichero
- de configuración de un kernel
- <filename>PAE</filename> del que se han
- extraído todos los módulos que
- se sabe que no funcionan en un kernel con
- <acronym>PAE</acronym> activado.</para>
- </listitem>
-
- <listitem>
- <para>Algunos «system tunables» determinan el
- uso de recursos de memoria basándose en la
- memoria física disponible. Estos «tunables»
- pueden asignar más memoria de la que realmente
- debieran debido a que el sistema <acronym>PAE</acronym>
- está íntimamente ligado a cantidades
- bastante importantes de memoria. Un ejemplo de esto
- es la sysctl <option>kern.maxvnodes</option>, que
- controla el número máximo de vnodes
- permitidos en el kernel. Le recomendamos que
- ajuste este y otros tunables dentro valores
- razonables.</para>
- </listitem>
-
- <listitem>
- <para>Es posible que tenga que aumentar el espacio virtual
- de direcciones del kernel (el <acronym>KVA</acronym>)
- o reducir la cantidad de recursos exclusivos del kernel
- que se utilicen exhaustivamente (ver más
- arriba) para evitar que <acronym>KVA</acronym> literalmente
- se ahogue. La opción del kernel
- <option>KVA_PAGES</option> permite incrementar el
- espacio <acronym>KVA</acronym>.</para>
- </listitem>
- </itemizedlist>
-
- <para>Si quiere saber más sobre la estabilidad
- del sistema consulte la página de manual de
- &man.tuning.7;. La página de manual de &man.pae.4;
- contiene información actualizada sobre
- <acronym>PAE</acronym> y &os;.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="kernelconfig-trouble">
- <title>Qué hacer si algo va mal</title>
-
- <para>Hay cuatro categorías de problemas que
- podemos encontrarnos en el proceso de compilación
- de un kernel personalizado:</para>
-
- <variablelist>
- <varlistentry>
- <term>Fallo de <command>config</command>:</term>
-
- <listitem>
- <para>Si &man.config.8; falla cuando le pasa la
- descripción de su kernel seguramente ha
- cometido algún pequeño error. Por
- suerte &man.config.8; les mostrará el
- número de la línea que le está
- dando problemas, así que no tendrá
- mayor problema para localizarla. Veamos un
- ejemplo:</para>
-
- <screen>config: line 17: syntax error</screen>
-
- <para>Si ve algo así asegúrese de que
- ha tecleado la palabra clave que hay en esa
- lína. Compare la de su fichero de
- configuración del kernel con la de
- <filename>GENERIC</filename>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Fallo de <command>make</command>:</term>
-
- <listitem>
- <para>If the <command>make</command> command fails, it usually
- signals an error in your kernel description which is not severe
- enough for &man.config.8; to catch. Again, look
- over your configuration, and if you still cannot resolve the
- problem, send mail to the &a.questions; with your kernel
- configuration, and it should be diagnosed quickly.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>El kernel no arranca:<anchor xml:id="kernelconfig-noboot"/></term>
-
- <listitem>
- <para>Si su nuevo kernel no arranca o no reconoce sus
- dispositivos de hardware no desespere. &os;
- dispone de excelentes mecanismos de
- recuperación ante kernels defectuosos. Elija
- el kernel con el que quiere arrancar en el gestor
- de arranque de &os;. Puede acceder al gestor de
- arranque en el momento en el que aparece el
- menú de arranque. Elija la opción
- número seis, <quote>Escape to a loader
- prompt</quote> option, Escriba en el prompt
- <command>unload kernel</command>
- y después escriba
- <command>boot /boot/kernel.old/kernel</command>,
- o el nombre de cualquier otro kernel que tenga en el sistema
- y del que sepa que puede fiarse. Si va a reconfigurar un
- kernel es una buenísima idea guardar un kernel
- que sepa que funciona.</para>
-
- <para>Tras arrancar con un kernel de fiar verifique el
- fichero de configuración e intente de nuevo
- una compilación. El fichero
- <filename>/var/log/messages</filename> es una fuente de
- información muy valiosa puesto que registra, entre
- otras cosas, todos los mensajes que deja el kernel cada
- vez que hay un arranque satisfactorio. &man.dmesg.8;
- le mostrará los mensajes que el kernel ha
- generado durante el último arranque.</para>
-
- <note>
- <para>Si tiene problemas compilando un kernel recuerde que
- es de vital importancia que guarde una copia de un kernel
- <filename>GENERIC</filename> u otro del que pueda fiarse
- y que (esto es muy importante) tenga un nombre distinto de
- <filename>kernel.old</filename> para evitar que el sistema
- lo borre una vez que termine una nueva
- compilación. No puede confiar en su kernel
- <filename>kernel.old</filename> porque al instalar un nuevo
- kernel (que aún no sabe si será el que
- funcione tal y como espera de él) el kernel
- <filename>kernel.old</filename> se sobreescribe con el
- kernel que instale. Otra cosa importante es que copie
- ese kernel de fiar a
- <filename>/boot/kernel</filename>, o
- ciertas herramientas como &man.ps.1; no
- funcionarán. Basta con que haga lo
- siguiente:</para>
-
- <screen>&prompt.root; <userinput>mv /boot/kernel /boot/kernel.malo</userinput>
-&prompt.root; <userinput>mv /boot/kernel.bueno /boot/kernel</userinput></screen>
-
- </note>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>El kernel funciona, pero &man.ps.1; no:</term>
-
- <listitem>
- <para>Si el kernel que tiene instalado es de una
- versión de &os; y las utilidades del sistema
- son de otra, por ejemplo un kernel -CURRENT en una
- -RELEASE, hay muchas herramientas de monitorización
- del sistema como &man.ps.1; y &man.vmstat.8; no
- funcionarán.
- Ejecute un <link linkend="makeworld">make buildworld y un
- make install world</link> con la misma versión de
- código fuente con la que ha compilado su
- kernel. Esta es una de las razones por las que no
- es una idea demasiado buena utilizar versiones
- diferentes de kernel y de sistema operativo.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/l10n/chapter.xml b/es_ES.ISO8859-1/books/handbook/l10n/chapter.xml
deleted file mode 100755
index b5f615c1c5..0000000000
--- a/es_ES.ISO8859-1/books/handbook/l10n/chapter.xml
+++ /dev/null
@@ -1,1087 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Spanish Documentation Project
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/l10n/chapter.xml
- %SRCID% 1.115
-
- $FreeBSD$
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="l10n">
- <info><title>Localización - Uso y configuración de
- I18N/L10N</title>
- <authorgroup>
- <author><personname><firstname>Andrey</firstname><surname>Chernov</surname></personname><contrib>Contribuido por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Michael C.</firstname><surname>Wu</surname></personname><contrib>Reescrito por </contrib></author>
- <!-- 30 Nv 2000 -->
- </authorgroup>
- </info>
-
-
- &trans.es.quique;
-
- <sect1 xml:id="l10n-synopsis">
- <title>Sinopsis</title>
-
- <para>&os; es un proyecto muy distribuido, que cuenta con
- usuarios y contribuidores por todo el mundo. Este
- capítulo examina las funcionalidades de
- internacionalización y localización de &os;
- que permiten llevar a cabo su trabajo a los usuarios no
- angloparlantes. Hay muchos aspectos en la
- implementación de la i18n, tanto en los niveles de
- sistema como de aplicación, así que cuando sea
- conveniente dirigiremos al lector a fuentes de
- documentación más específicas.</para>
-
- <para>Tras leer este capítulo, sabrá:</para>
- <itemizedlist>
- <listitem><para>Cómo se codifican los distintos idiomas
- y <quote>locales</quote> en los sistemas operativos modernos.
- </para></listitem>
- <listitem><para>Cómo configurar las <quote>locales
- </quote> para su intérprete de órdenes.</para>
- </listitem>
- <listitem><para>Cómo configurar la consola para idiomas
- distintos al inglés.</para></listitem>
- <listitem><para>Cómo emplear efizcamente el sistema de
- ventanas X en distintos idiomas.</para></listitem>
- <listitem><para>Dónde encontrar más
- información sobre como escribir aplicaciones que sigan
- la i18n.</para></listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo, debería:</para>
-
- <itemizedlist>
- <listitem><para>Saber como instalar aplicaciones adicionales de
- terceras partes (<xref linkend="ports"/>).</para></listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="l10n-basics">
- <title>Lo básico</title>
-
- <sect2>
- <title>?Qué es I18N/L10N?</title>
- <indexterm>
- <primary>internacionalización</primary>
- <see>localización</see>
- </indexterm>
- <indexterm><primary>localización</primary></indexterm>
-
- <para>Los desarrolladores acortaron la palabra
- internacionalización al término I18N, contando
- el número de letras entre la primera y la
- última letra. L10N sigue el mismo esquema, y procede
- de <quote>localización</quote>. Combinados, los
- métodos, protocolos y aplicaciones de I18N/L10N
- permiten a los usuarios usar el idioma de su elección.
- </para>
-
- <para>Las aplicaciones I18N se programan usando herramientas de
- I18N de bibliotecas. Éstas permiten a los
- desarrolladores escribir un fichero sencillo y traducir los
- menús y textos contenidos a cada idioma. Animamos
- fervientemente a los programadores a que sigan esta
- convención.</para>
- </sect2>
-
- <sect2>
- <title>?Por qué debería usar I18N/L10N?
- </title>
-
- <para>I18N/L10N se usa siempre que quiera ver, introducir o
- procesar datos en idiomas distintos al inglés.</para>
- </sect2>
-
- <sect2>
- <title>?Qué idiomas están soportados en el
- proyecto de I18N?</title>
-
- <para>La I18N y L10N no son específicos de &os;. En la
- actualidad, uno puede elegir entre la mayoría de los
- principales idiomas del mundo, incluyendo pero sin limitarse
- a ellos: chino, alemán, japonés, coreano,
- francés, ruso, vietnamita y otros.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="using-localization">
- <title>Uso de la localización</title>
-
- <para>En todo su esplendor, la I18N no es específica de
- &os;, y es una convención. Le animamos a que ayude a
- &os; siguiendo esta convención.</para>
- <indexterm><primary>locale</primary></indexterm>
-
- <para>Las opciones de localización se basan en tres
- términos principales: código de idioma,
- código de país y codificación. Los
- nombres de las <quote>locales</quote> se construyen a partir de
- estas tres partes como sigue:</para>
-
- <programlisting><replaceable>CódigoDelIdioma</replaceable>
- _<replaceable>CódigoDelPaís</replaceable>.
- <replaceable>Codificación</replaceable></programlisting>
-
- <sect2>
- <title>Códigos de idioma y país</title>
- <indexterm><primary>códigos de idioma</primary>
- </indexterm>
- <indexterm><primary>códigos de país</primary>
- </indexterm>
-
- <para>Para localizar un sistema &os; a un idioma concreto
- (o cualquier otro sistema de tipo &unix; que soporte I18N),
- los usuarios necesitar averiguar los códigos del
- país e idioma concreto (los códigos de
- país le dicen a las aplicaciones que variedad del
- idioma dado deben usar). Además, los navegadores web,
- servidores SMTP/POP, servidores web, etc toman decisiones
- basándose en ellos. Los siguientes son ejemplos de
- códigos de idioma/país:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Código de idioma/país</entry>
- <entry>Descripción</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>en_US</entry>
- <entry>Inglés - Estados Unidos de América
- </entry>
- </row>
-
- <row>
- <entry>ru_RU</entry>
- <entry>Ruso de Rusia</entry>
- </row>
-
- <row>
- <entry>zh_TW</entry>
- <entry>Chino tradicional de Taiwán</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- </sect2>
-
- <sect2>
- <title>Codificaciones</title>
- <indexterm><primary>codificaciones</primary></indexterm>
- <indexterm><primary>ASCII</primary></indexterm>
-
- <para>Algunos idiomas usan codificaciones distintas al ASCII
- que son de 8 bits, caracteres anchos o multibyte; consulte
- &man.multibyte.3; para conocer más detalles. Algunas
- aplicaciones más antiguas no los reconocen y los
- confunden con caracteres de control. Las aplicaciones
- modernas normalmente reconocen los caracteres de 8 bits.
- Dependiendo de la implementación, los usuarios pueden
- necesitar compilar una aplicación con soporte para
- caracteres anchos o multibyte, o configurarlo correctamente.
- Para poder introducir y procesar caracteres anchos o
- multibyte, la Colección de <quote>Ports</quote> de &os;
- proporciona diferentes programas a cada idioma.
- Diríjase a la documentación de I18N del <quote>
- port</quote> de &os; correspondiente.</para>
-
- <para>Específicamente, los usuarios necesitan mirar la
- documentación de la aplicación para decidir
- como configurarla correctamente o pasar valores correctos al
- configure/Makefile/compilador.</para>
-
- <para>Algunas cosas a tener presentes son:</para>
-
- <itemizedlist>
- <listitem>
- <para>Los juegos de caracteres de tipo char de C
- específicos para el idioma (consulte
- &man.multibyte.3;), v.g. ISO-8859-1, ISO-8859-15, KOI8-R,
- CP437.</para>
- </listitem>
-
- <listitem>
- <para>Las codificaciones anchas o multibyte, v.g. EUC, Big5
- .</para>
- </listitem>
- </itemizedlist>
-
- <para>Puede comprobar la lista activa de juegos de caracteres
- en el <link xlink:href="http://www.iana.org/assignments/character-sets">Registro
- IANA</link>.</para>
-
- <note>
- <para>Las versiones 4.5 y posteriores de &os; usan en su lugar
- codificaciones de la <quote>locale</quote> compatibles con
- X11.</para>
- </note>
-
- </sect2>
-
- <sect2>
- <title>Aplicaciones I18N</title>
-
- <para>En el sistema de paquetes y ports de &os;, las
- aplicaciones I18N se han denominado con <literal>I18N
- </literal> en su nombre para una fácil
- identificación. Sin embargo, no siempre soportan el
- idioma necesitado.</para>
- </sect2>
-
- <sect2 xml:id="setting-locale">
- <title>Configuración de las <quote>locales</quote>
- </title>
-
- <para>Normalmente basta con exportar el valor del nombre de la
- <quote>locale</quote> como <envar>LANG</envar> en el
- intérprete de órdenes de la sesión.
- Esto se podría hacer en el fichero <filename>
- ~/.login_conf</filename> del usuario o en el fichero de
- inicio del intérprete de órdenes del usuario
- (<filename>~/.profile</filename>, <filename>~/.bashrc
- </filename>, <filename>~/.cshrc</filename>). No es necesario
- configurar las otras variables de localización como
- <envar>LC_CTYPE</envar> o <envar>LC_CTIME</envar>.
- Diríjase a la documentación de &os;
- específica de su idioma para más
- información.</para>
-
- <para>Debería configurar las siguientes dos variables de
- entorno en sus ficheros de configuración:</para>
-
- <itemizedlist>
- <listitem>
- <indexterm><primary>POSIX</primary></indexterm>
-
- <para><envar>LANG</envar> para las funciones de la familia
- &man.setlocale.3; de &posix; </para>
- </listitem>
-
- <listitem>
- <indexterm><primary>MIME</primary></indexterm>
-
- <para><envar>MM_CHARSET</envar> para el juego de caracteres
- MIME de las aplicaciones</para>
- </listitem>
- </itemizedlist>
-
- <para>Esto comprende la configuración del
- intérprete de órdenes del usuario, la
- configuración específica de la
- aplicación y la configuración de X11.</para>
-
- <sect3>
- <title>Métodos de configuración de las <quote>
- locales</quote></title>
- <indexterm><primary>locales</primary></indexterm>
- <indexterm><primary>clases de sesión</primary>
- </indexterm>
-
- <para>Hay dos métodos para configurar las <quote>
- locales</quote>, que se describen aquí abajo. El
- primero (que es el recomendado) es asignar las variables de
- entorno en una <link linkend="login-class">clase de
- sesión</link>, y el segundo es añadir las
- asignaciones de las variables de entorno al <link linkend="startup-file">fichero de inicio</link> del
- intérprete de órdenes del sistema.</para>
-
- <sect4 xml:id="login-class">
- <title>Método de las clases de sesión</title>
-
- <para>Este método permite asignar las variables de
- entorno necesarias para el nombre de las <quote>locales
- </quote> y el juego de caracteres MIME de una sola vez
- para todos los posibles intérpretes de
- órdenes, en vez de añadir asignaciones
- específicas en los ficheros de inicio de cada uno
- de los intérpretes de órdenes. La <link linkend="usr-setup">configuración a nivel de
- usuario</link> la puede realizar el propio usuario,
- mientras que la <link linkend="adm-setup">
- configuración a nivel de administrador</link>
- precisa de permisos de superusuario.</para>
-
- <sect5 xml:id="usr-setup">
- <title>Configuración a nivel de usuario</title>
-
- <para>Esto es un ejemplo minimalista de un fichero
- <filename>.login_conf</filename> de la carpeta de
- inicio de un usuario, que contiene las dos variables
- configuradas para la codificación Latin-1:
- </para>
-
- <programlisting>me:\
- :charset=ISO-8859-1:\
- :lang=de_DE.ISO8859-1:</programlisting>
-
- <indexterm><primary>Chino tradicional</primary>
- <secondary>codificación BIG-5</secondary>
- </indexterm>
- <para>Esto es un ejemplo de un <filename>.login_conf
- </filename> que configura las variables para el chino
- tradicional en la codificación BIG-5. Observe
- que se configuran muchas más variables porque
- algunos programas no respetan correctamente las
- variables de las <quote>locales</quote> para el chino,
- el japonés y el coreano.</para>
-
- <programlisting>#Users who do not wish to use monetary units or time formats
-#of Taiwan can manually change each variable
-me:\
- :lang=zh_TW.Big5:\
- :lc_all=zh_TW.Big:\
- :lc_collate=zh_TW.Big5:\
- :lc_ctype=zh_TW.Big5:\
- :lc_messages=zh_TW.Big5:\
- :lc_monetary=zh_TW.Big5:\
- :lc_numeric=zh_TW.Big5:\
- :lc_time=zh_TW.Big5:\
- :charset=big5:\
- :xmodifiers="@im=xcin": #Setting the XIM Input Server</programlisting>
-
- <para>Consulte la <link linkend="adm-setup">
- configuración a nivel de administrador</link> y
- &man.login.conf.5; para conocer más detalles.
- </para>
- </sect5>
-
- <sect5 xml:id="adm-setup">
- <title>Configuración a nivel de administrador
- </title>
-
- <para>Compruebe que la clase de sesión en
- <filename>/etc/login.conf</filename> establece el
- idioma adecuado. Asegúrese de que estas
- opciones aparecen en <filename>/etc/login.conf
- </filename>:</para>
-
- <programlisting><replaceable>nombre_del_idioma</replaceable>:<replaceable>título_cuentas</replaceable>:\
- :charset=<replaceable>juego_de_caracteres_MIME</replaceable>:\
- :lang=<replaceable>nombre de la locale</replaceable>:\
- :tc=default:</programlisting>
-
- <para>Así que, si seguimos con nuestro ejemplo
- anterior que usaba Latin-1, tendría este
- aspecto:</para>
-
- <programlisting>german:German Users Accounts:\
- :charset=ISO-8859-1:\
- :lang=de_DE.ISO8859-1:\
- :tc=default:</programlisting>
-
- <bridgehead renderas="sect4">Modificación de las
- clases de sesión con &man.vipw.8;</bridgehead>
-
- <indexterm>
- <primary><command>vipw</command></primary>
- </indexterm>
- <para>Utilice <command>vipw</command> para añadir
- nuevos usuarios, y haga que la entrada tenga este
- aspecto:</para>
-
- <programlisting>usuario:contraseña:1111:11:<replaceable>idioma</replaceable>:0:0:Nombre de usuario:/home/usuario:/bin/sh</programlisting>
-
- <bridgehead renderas="sect4">Modificación de las
- clases de sesión con with &man.adduser.8;
- </bridgehead>
-
- <indexterm>
- <primary><command>adduser</command></primary>
- </indexterm>
- <indexterm><primary>clase de sesión</primary>
- </indexterm>
- <para>Utilice <command>adduser</command> para
- añadir nuevos usuarios, y haga lo siguiente:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>Establezca <literal>defaultclass =
- idioma</literal> en
- <filename>/etc/adduser.conf</filename>. Recuerde
- que en este caso debe introducir una clase
- <literal>default</literal> (por omisión)
- para todos los usuarios de otros idiomas.</para>
- </listitem>
-
- <listitem>
- <para>Una variante alternativa es contestar el idioma
- indicado cada vez que &man.adduser.8; muestre
- <screen><prompt>Enter login class: default
- []: </prompt></screen></para>
- </listitem>
-
- <listitem>
- <para>Otra alternativa es utilizar lo siguiente para
- cada usuario de un idioma diferente al que desee
- añadir:</para>
-
- <screen>&prompt.root; <userinput>adduser -class
- idioma</userinput>
- </screen>
- </listitem>
- </itemizedlist>
-
- <bridgehead renderas="sect4">Modificación de las
- clases de sesión con &man.pw.8;</bridgehead>
- <indexterm>
- <primary><command>pw</command></primary>
- </indexterm>
- <para>Si utiliza &man.pw.8; para añadir nuevos
- usuarios, llámelo de esta manera:</para>
-
- <screen>&prompt.root; <userinput>pw useradd
- nombre_usuario -L
- idioma</userinput></screen>
- </sect5>
- </sect4>
-
- <sect4 xml:id="startup-file">
- <title>Método de los ficheros de inicio de los
- intérpretes de órdenes</title>
-
- <note>
- <para>No se recomienda este método porque precisa
- de una configuración diferente para cada
- intérprete de órdenes que se pueda
- elegir. Utilice en su lugar el <link linkend="login-class">método de las clases de
- sesión</link>.</para>
- </note>
-
- <indexterm><primary>MIME</primary></indexterm>
- <indexterm><primary>locale</primary></indexterm>
- <para>Para añadir el nombre de la <quote>locale
- </quote> y el juego de caracteres MIME, simplemente
- establezca las dos variables de entorno mostradas abajo
- en los ficheros de inicio del intérprete de
- órdenes <filename>/etc/profile</filename> y/o
- <filename>/etc/csh.login</filename>. Aquí abajo
- usaremos el idioma alemán como ejemplo:</para>
-
- <para>En <filename>/etc/profile</filename>:</para>
-
- <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar>
-<envar>MM_CHARSET=ISO-8859-1; export MM_CHARSET</envar></programlisting>
-
- <para>O en <filename>/etc/csh.login</filename>:</para>
-
- <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar>
-<envar>setenv MM_CHARSET ISO-8859-1</envar></programlisting>
-
- <para>Como alternativa, puede añadir las
- instrucciones anteriores a <filename>/usr/share/skel/
- dot.profile</filename> (similar a lo que se
- utilizó antes en <filename>/etc/profile</filename>
- ), o <filename>/usr/share/skel/dot.login</filename>
- (similar a lo que se utilizó antes en <filename>
- /etc/csh.login</filename>).</para>
-
- <para>Para X11:</para>
-
- <para>En <filename>$HOME/.xinitrc</filename>:</para>
-
- <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting>
-
- <para>O:</para>
-
- <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting>
-
- <para>En función de su intérprete de
- órdenes (vea más arriba).</para>
-
- </sect4>
- </sect3>
- </sect2>
-
- <sect2 xml:id="setting-console">
- <title>Configuración de la consola</title>
-
- <para>Para todos los juegos de caracteres representables con el
- tipo char en C, establezca los tipos de letra para la consola
- adecuados para el idioma en cuestión en <filename>
- /etc/rc.conf</filename> con:</para>
-
- <programlisting>font8x16=<replaceable>nombre_del_tipo_de_letra
- </replaceable>
-font8x14=<replaceable>nombre_del_tipo_de_letra</replaceable>
-font8x8=<replaceable>nombre_del_tipo_de_letra</replaceable></programlisting>
-
- <para>Aquí, el <replaceable>nombre_del_tipo_de_letra
- </replaceable> se toma del directorio <filename>/usr/share/
- syscons/fonts</filename>, sin el sufijo <filename>.fnt
- </filename>.</para>
-
- <indexterm>
- <primary><application>sysinstall</application></primary>
- </indexterm>
- <indexterm><primary>mapa de teclado</primary></indexterm>
- <indexterm><primary>mapa de pantalla</primary></indexterm>
- <para>Asegúrese también de configurar los mapas
- de teclado y pantalla correctos para su juego de
- caracteres C por medio de <command>sysinstall</command>
- (<command>/stand/sysinstall</command> en versiones de &os;
- anteriores a la 5.2).
- Una vez dentro de <application>sysinstall
- </application>, seleccione <guimenuitem>Configure
- </guimenuitem>, y después <guimenuitem>Console
- </guimenuitem>. Como alternativa, puede añadir lo
- siguiente en <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>scrnmap=<replaceable>nombre_del_mapa_de_pantalla</replaceable>
-keymap=<replaceable>nombre_del_mapa_de_teclado</replaceable>
-keychange="<replaceable>secuencia número_tecla_de_función</replaceable>"</programlisting>
-
- <para>Aquí, el <replaceable>nombre_del_mapa_de_pantalla
- </replaceable> se toma del directorio <filename>/usr/share/
- syscons/scrnmaps</filename>, sin el sufijo <filename>.scm
- </filename>. Normalmente es necesario un mapa de pantalla
- (<quote>screenmap</quote>) con un tipo de letra
- correspondiente para poder extender de 8 a 9 bits la matriz
- de caracteres de una tarjeta VGA en un área
- pseudográfica, es decir, desplazar las letras fuera
- de ese área si el tipo de letra de pantalla usa una
- columna de 8 bits.</para>
-
- <para>Si tiene habilitado el d&aelig;mon <application>moused
- </application> por configurar esto en su <filename>/etc/
- rc.conf</filename>:</para>
-
-<programlisting>moused_enable="YES"</programlisting>
-
- <para>entonces estudie la información sobre el cursor
- del ratón del siguiente párrafo.</para>
-
- <indexterm>
- <primary><application>moused</application></primary>
- </indexterm>
- <para>Por omisión, el cursor del ratón del
- controlador &man.syscons.4; ocupa el intervalo 0xd0-0xd3 del
- juego de caracteres. Si su idioma usa este intervalo,
- necesita desplazar el intervalo del cursor fuera de
- él. En versiones de &os; anteriores a la 5.0,
- introduzca la siguiente línea en la
- configuración del núcleo:</para>
-
- <programlisting>options SC_MOUSE_CHAR=0x03</programlisting>
-
- <para>En &os; 4.4 y posteriores, introduzca la siguiente
- línea en <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>mousechar_start=3</programlisting>
-
- <para>Aquí, el <replaceable>nombre_del_mapa_de_teclado
- </replaceable> se toma del directorio <filename>/usr/share/
- syscons/keymaps</filename>, sin el sufijo <filename>.kbd
- </filename>. Si no está seguro de cual mapa de
- teclado usar, puede usar &man.kbdmap.1; para probar los mapas
- de teclado sin reiniciar.</para>
-
- <para>Normalmente se necesita el <literal>keychange</literal>
- para programar las teclas de función para que
- coincidan con el tipo de terminal seleccionado, porque las
- secuencias de las teclas de función no se pueden
- definir en el mapa de teclado.</para>
-
- <para>Asegúrese también de configurar el tipo de
- terminal consola correcto en <filename>/etc/ttys</filename>
- para todas las entradas <literal>ttyv*</literal>. Las
- correspondencias predefinidas actualmente son:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Juego de caracteres</entry>
- <entry>Tipo de terminal</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>ISO-8859-1 o ISO-8859-15</entry>
- <entry><literal>cons25l1</literal></entry>
- </row>
-
- <row>
- <entry>ISO-8859-2</entry>
- <entry><literal>cons25l2</literal></entry>
- </row>
-
- <row>
- <entry>ISO-8859-7</entry>
- <entry><literal>cons25l7</literal></entry>
- </row>
-
- <row>
- <entry>KOI8-R</entry>
- <entry><literal>cons25r</literal></entry>
- </row>
-
- <row>
- <entry>KOI8-U</entry>
- <entry><literal>cons25u</literal></entry>
- </row>
-
- <row>
- <entry>CP437 (predeterminada en VGA)</entry>
- <entry><literal>cons25</literal></entry>
- </row>
-
- <row>
- <entry>US-ASCII</entry>
- <entry><literal>cons25w</literal></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Para los idiomas en caracteres anchos o multibyte,
- utilice el port correcto de &os; en su directorio <filename>
- /usr/ports/idioma</filename>.
- Algunos ports aparecen como consola mientras que el sistema
- los ve como una vtty serie, por lo tanto debe reservar
- suficientes vtty tanto para X11 como la consola
- pseudoserie. Aquí tiene una lista parcial de
- aplicaciones para usar otros idiomas en la consola:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Idioma</entry>
- <entry>Ubicación</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>Chino tradicional (BIG-5)</entry>
- <entry><package>chinese/big5con
- </package></entry>
- </row>
-
- <row>
- <entry>Japonés</entry>
- <entry><package>japanese/kon2-16dot</package> o
- <package>japanese/mule-freewnn</package></entry>
- </row>
-
- <row>
- <entry>Coreano</entry>
- <entry><package>korean/han</package></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
-
- <sect2>
- <title>Configuración de X11</title>
-
- <para>Aunque X11 no es parte del Proyecto &os;, hemos incluido
- aquí algo de información para usuarios de &os;.
- Para más detalles, acuda al <link xlink:href="http://www.x.org/">sitio web de &xorg;</link>
- o del servidor X11 que utilice.</para>
-
- <para>En <filename>~/.Xresources</filename>, puede afinar
- más las opciones de I18N específicas de la
- aplicación (v.g., tipos de letra, menús, etc).
- </para>
-
- <sect3>
- <title>Visualización de los tipos de letra</title>
- <indexterm><primary>Servidor de tipos de letra True Type de
- X11</primary></indexterm>
- <para>Instale el servidor <application>&xorg;</application>
- (<package>x11-servers/xorg-server</package>
- o el servidor <application>&xfree86;</application>
- (<package>x11-servers/XFree86-4-Server</package>),
- y despúes instale los tipos de letra &truetype; del idioma. La
- configuración de la <quote>locale</quote> correcta para el
- idioma debería permitirle ver el idioma seleccionado en
- menús y similares.</para>
- </sect3>
-
- <sect3>
- <title>Introducción de caracteres no ingleses</title>
- <indexterm><primary>Método de introducción X11
- (XIM)</primary></indexterm>
- <para>El protocolo Método de Introducción X11
- (XIM) es un nuevo estándar para todos los clientes
- X11. Todas las aplicaciones X11 deberían estar
- escritas como clientes XIM que reciben entradas de
- servidores XIM. Hay varios servidores XIM disponibles
- para distintos idiomas.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Configuración de la impresora</title>
-
- <para>Hay algunos juegos de caracteres de tipo char de C que
- están normalmente codificados por hardware en las
- impresoras. Los juegos de caracteres anchos o multibyte
- precisan de una configuración especial y recomendamos
- el uso de <application>apsfilter</application>.
- También puede convertir el documento a los formatos
- &postscript; o PDF usando conversores específicos del
- idioma.</para>
- </sect2>
-
- <sect2>
- <title>El núcleo y los sistemas de ficheros</title>
-
- <para>El sistema de ficheros rápido (FFS) de &os;
- funciona bien a 8 bits, así que se puede usar con
- cualquier juego de caracteres de tipo char de C (vea
- &man.multibyte.3;), pero no hay almacenado ningún
- nombre de juego de caracteres en el sistema de ficheros; es
- decir, son 8 bits en bruto y no sabe nada acerca del orden de
- codificación. Oficialmente, FFS no soporta
- todavía ninguna forma de juegos de caracteres anchos o
- multibyte. Sin embargo, algunos juegos de caracteres anchos
- o multibyte tienen parches independientes para habilitar
- dicho soporte en FFS. Son solamente soluciones temporales no
- portables o <quote>hacks</quote>, y hemos decicido no
- incluirlas en el árbol de código fuente.
- Diríjase a los sitios web de los respectivos idiomas
- para encontrar más información y los parches.</para>
-
- <indexterm><primary>DOS</primary></indexterm>
- <indexterm><primary>Unicode</primary></indexterm>
- <para>El sistema de ficheros &ms-dos;de &os; tiene la capacidad
- configurable de convertir entre los juegos de caracteres
- &ms-dos;, Unicode y los juegos de caracteres seleccionados del
- sistema de ficheros de &os;. Vea &man.mount.msdos.8; para
- más detalles.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="l10n-compiling">
- <title>Compilación de programas con soporte para I18N</title>
-
- <para>Muchos ports de &os; han sido portados con soporte para
- I18N. Algunos de ellos están marcados con -I18N en el
- nombre del port. Éstos y muchos otros programas tienen
- incorporado soporte para I18N y no necesitan ninguna
- consideración especial.</para>
-
- <indexterm>
- <primary><application>MySQL</application></primary>
- </indexterm>
- <para>Sin embargo, algunas aplicaciones como <application>MySQL
- </application> necesitan tener el <filename>Makefile</filename>
- configurado con el juego de caracteres específico. Esto
- se hace normalmente en el <filename>Makefile</filename> o
- pasando un valor a <application>configure</application> en el
- código fuente.</para>
- </sect1>
-
- <sect1 xml:id="lang-setup">
- <title>Localización de &os; a idiomas específicos</title>
-
- <sect2 xml:id="ru-localize">
- <info><title>Idioma ruso (codificación KOI8-R)</title>
- <authorgroup>
- <author><personname><firstname>Andrey</firstname><surname>Chernov</surname></personname><contrib>Contribuido originalmente por </contrib></author>
- </authorgroup>
- </info>
-
- <indexterm>
- <primary>localización</primary>
- <secondary>Ruso</secondary>
- </indexterm>
-
- <para>Para más información sobre la
- codificación KOI8-R, vea las
- <link xlink:href="http://koi8.pp.ru/">Referencias KOI8-R (Juego de
- caracteres rusos para la red)</link>.</para>
-
- <sect3>
- <title>Configuración de la <quote>locale</quote></title>
-
- <para>Ponga las siguientes líneas en su fichero
- <filename>~/.login_conf</filename>:</para>
-
- <programlisting>me:My account:\
- :charset=KOI8-R:\
- :lang=ru_RU.KOI8-R:</programlisting>
-
- <para>Vea anteriormente en este mismo capítulo
- ejemplos de configuración de las <link linkend="setting-locale">locales</link>.</para>
- </sect3>
-
- <sect3>
- <title>Configuración de la consola</title>
-
- <itemizedlist>
- <listitem>
- <para>En versiones de &os; anteriores a la 5.0,
- añada la liguiente línea en el fichero de
- configuración del núcleo:</para>
-
- <programlisting>options SC_MOUSE_CHAR=0x03</programlisting>
-
- <para>En &os; 4.4 y posteriores introduzca la siguiente
- línea en <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>mousechar_start=3</programlisting>
- </listitem>
-
- <listitem>
- <para>Utilice las siguientes opciones en
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>keymap="ru.koi8-r"
-scrnmap="koi8-r2cp866"
-font8x16="cp866b-8x16"
-font8x14="cp866-8x14"
-font8x8="cp866-8x8"</programlisting>
-
- </listitem>
-
- <listitem>
- <para>Para cada entrada <literal>ttyv*</literal> en
- <filename>/etc/ttys</filename>, utilice <literal>
- cons25r</literal> como el tipo de terminal.</para>
- </listitem>
- </itemizedlist>
-
- <para>Vea anteriormente en este mismo capítulo
- ejemplos de configuración de la <link linkend="setting-console">consola</link>.</para>
- </sect3>
-
- <sect3>
- <title>Configuración de la impresora</title>
- <indexterm><primary>impresoras</primary></indexterm>
- <para>Dado que la mayoría de las impresoras con
- caracteres rusos tienen un código de página
- CP866 en hardware, es necesario un filtro de salida
- especial para convertir de KOI8-R a CP866. Tal filtro es
- instalado por omisión como <filename>
- /usr/libexec/lpr/ru/koi2alt</filename>. Una entrada de
- impresora rusa <filename>/etc/printcap</filename>
- debería tener este aspecto:</para>
-
- <programlisting>lp|Russian local line printer:\
- :sh:of=/usr/libexec/lpr/ru/koi2alt:\
- :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:</programlisting>
-
- <para>Consulte &man.printcap.5; para una explicación
- detallada.</para>
- </sect3>
-
- <sect3>
- <title>Sistema de ficheros &ms-dos; y nombres de ficheros en
- ruso</title>
-
- <para>La siguiente entrada &man.fstab.5; de ejemplo habilita
- el soporte para nombres de fichero en ruso en los sistemas
- de ficheros &ms-dos; montados:</para>
-
- <programlisting>/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0</programlisting>
-
- <para>La opción <option>-L</option> selecciona el
- nombre de la <quote>locale</quote> usada, y <option>-W
- </option> establece la tabla de conversión de
- caracteres. Para usar la opción <option>-W</option>
- , asegúrese de montar <filename>/usr</filename>
- antes que la partición &ms-dos;, porque las tablas
- de conversión se ubican en <filename>
- /usr/libdata/msdosfs</filename>. Para más
- información, vea la página de manual
- &man.mount.msdos.8;.</para>
- </sect3>
-
- <sect3>
- <title>Configuración de X11</title>
-
- <orderedlist>
- <listitem>
- <para>Antes haga la <link linkend="setting-locale">
- configuración de las <quote>locales</quote> para
- la consola</link> como se ha explicado.</para>
-
- <note>
- <para><anchor xml:id="russian-note"/>La <quote>locale
- </quote> rusa KOI8-R puede no funcionar con versiones
- antiguas (anteriores a la 3.3) de <application>
- &xfree86;</application>. <application>&xorg;
- </application> es ahora la versión predefinida
- del sistema de ventanas X en &os;. Esto no
- debería ser un problema salvo que esté
- usando una versión antigua de &os;.</para>
- </note>
- </listitem>
-
- <listitem>
- <para>Si utiliza <application>&xorg;</application>, instale
- el paquete <package>x11-fonts/xorg-fonts-cyrillic</package>.</para>
-
- <para>Compruebe la sección <literal>"Files"</literal>
- de su fichero <filename>/etc/X11/xorg.conf</filename>. Se
- deben añadir las siguientes líneas <emphasis>
- antes</emphasis> de ninguna otra entrada <literal>FontPath
- </literal>:</para>
-
- <programlisting>FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
-FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
-FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting>
-
- <para>Si utiliza un modo de vídeo de alta resolución,
- intercambie las líneas 75 dpi y 100 dpi.</para>
- </listitem>
-
- <listitem>
- <para>Para activar un teclado ruso, añada lo siguiente
- a la sección <literal>"Keyboard"</literal> de su
- fichero <filename>XF86Config</filename>.</para>
-
- <para>Para <application>&xfree86; 3.X</application>:</para>
-
- <programlisting>XkbLayout "ru"
-XkbOptions "grp:caps_toggle"</programlisting>
-
- <para>Para <application>&xorg;</application> (o
- <application>&xfree86; 4.X</application>):</para>
-
- <programlisting>Option "XkbLayout" "us,ru"
-Option "XkbOptions" "grp:toggle"</programlisting>
-
- <para>Asegúrese también de que <literal>XkbDisable
- </literal> esté desactivado (comentado) allí.
- </para>
-
- <para>Para <literal>grp:caps_toggle</literal> la tecla para pasar
- entre la codificación
- rusa y la latina será <keycap>BloqMayús
- </keycap>. La antigua función de <keycap>
- BloqMayús</keycap> todavía está
- disponible a través de <keycombo action="simul">
- <keycap>May</keycap><keycap>BloqMayús</keycap>
- </keycombo> (sólamente en modo latino). Para
- <literal>grp:toggle</literal> la tecla para pasar entre la
- codificación rusa y la latina será
- <keycap>Alt derecha</keycap>. <literal>grp:caps_toggle</literal>
- no funciona en <application>&xorg;</application> por alguna
- razón desconocida.</para>
-
- <para>Si en su teclado dispone de teclas <quote>&windows;
- </quote>, y observa que algunas teclas no
- alfanuméricas están mapeadas
- incorrectamente en el modo ruso, añada la
- siguiente línea en su fichero <filename>
- XF86Config</filename>.</para>
-
- <para>Para <application>&xfree86; 3.X</application>:
- </para>
-
- <programlisting>XkbVariant "winkeys"</programlisting>
-
- <para>Para <application>&xorg;</application> (o
- <application>&xfree86; 4.X</application>):
- </para>
-
- <programlisting>Option "XkbVariant" ",winkeys"</programlisting>
-
- <note>
- <para>El teclado XKB ruso puede no funcionar con
- versiones antiguas de <application>&xfree86;
- </application>, vea la <link linkend="russian-note">
- nota anterior</link> para más
- información. El teclado XKB ruso puede no
- funcionar tampoco con aplicaciones no localizadas.</para>
- </note>
- </listitem>
- </orderedlist>
- <note>
- <para>Las aplicaciaones mínimamente localizadas
- deberían llamar una función
- <function>XtSetLanguageProc (NULL, NULL, NULL);</function> al
- principio del programa.</para>
-
- <para>Vea <link xlink:href="http://koi8.pp.ru/xwin.html">KOI8-R para X
- Window</link> para más instrucciones sobre la
- localización de aplicaciones X11.</para>
- </note>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Localización al chino tradicional para
- Taiwán</title>
- <indexterm>
- <primary>localización</primary>
- <secondary>Chino tradicional</secondary>
- </indexterm>
- <para>El proyecto &os;-Taiwán tiene una Guía de
- chino para &os; en <uri xlink:href="http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/">http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/</uri> que utiliza muchos ports chinos. El editor actual
- del <literal>&os; Chinese HOWTO</literal> es Shen Chuan-Hsing
- <email>statue@freebsd.sinica.edu.tw</email>.
- </para>
-
- <para>Chuan-Hsing Shen <email>statue@freebsd.sinica.edu.tw
- </email> ha creado la
- <link xlink:href="http://netlab.cse.yzu.edu.tw/~statue/cfc/">
- Colección de &os; en chino (CFC)</link> usando
- <literal>zh-L10N-tut</literal> de &os;-Taiwán. Los
- paquetes y los guiones están disponibles en
- <uri xlink:href="ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/">ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/</uri>.</para>
- </sect2>
-
- <sect2>
- <title>Localización al idioma alemán (para todos
- los idiomas ISO 8859-1)</title>
- <indexterm>
- <primary>localización</primary>
- <secondary>Alemán</secondary>
- </indexterm>
-
- <para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> ha
- escrito un tutorial de como usar las diéresis en una
- máquina &os;. El tutorial está disponible en
- <uri xlink:href="http://www.de.FreeBSD.org/de/umlaute/">http://www.de.FreeBSD.org/de/umlaute/</uri>.
- </para>
- </sect2>
-
- <sect2>
- <title>Localización a los idiomas japonés y
- coreano</title>
- <indexterm>
- <primary>localización</primary>
- <secondary>Japonés</secondary>
- </indexterm>
- <indexterm>
- <primary>localización</primary>
- <secondary>Coreano</secondary>
- </indexterm>
- <para>Para el japonés, diríjase a
- <uri xlink:href="http://www.jp.FreeBSD.org/">http://www.jp.FreeBSD.org/</uri>,
- y para el coreano, acuda a
- <uri xlink:href="http://www.kr.FreeBSD.org/">http://www.kr.FreeBSD.org/</uri>.</para>
- </sect2>
-
- <sect2>
- <title>Documentación sobre &os; en otros idiomas aparte
- del inglés</title>
-
- <para>Algunos contribuidores de &os; han traducido partes de
- &os; a otros idiomas. Están disponibles a
- través de enlaces en el <link xlink:href="http://www.freebsd.org/index.html">
- sitio principal</link> o en <filename>/usr/share/doc
- </filename>.</para>
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.xml b/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.xml
deleted file mode 100755
index b31a9ee871..0000000000
--- a/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.xml
+++ /dev/null
@@ -1,3702 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
-
- The FreeBSD Spanish Documentation Project
-
- %SOURCE% en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml
- %SRCID% 1.136
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="linuxemu">
- <info><title>Compatibilidad binaria con Linux</title>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Reestructurado y actualizado por </contrib></author>
- <!-- 22 Mar 2000 -->
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Brian N.</firstname><surname>Handy</surname></personname><contrib>Escrito por </contrib></author>
- <author><personname><firstname>Rich</firstname><surname>Murphey</surname></personname></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml:id="linuxemu-synopsis">
- <title>Sinopsis</title>
- <indexterm><primary>compatibilidad binaria con Linux</primary></indexterm>
- <indexterm>
- <primary>compatibilidad binaria</primary>
- <secondary>Linux</secondary>
- </indexterm>
-
- <para>&os; proporciona compatibilidad de binarios con muchos otros
- sistemas operativos tipo &unix;, incluyendo Linux.
- Puede estarse preguntando ?por qué necesita
- &os; ejecutar binarios de Linux? La
- respuesta a esa pregunta es muy simple. Muchos desarrolladores y
- compañías desarrollan sólo para Linux, ya
- que últimamente es el blanco de todas las miradas dentro del
- mundo de las tecnologís de la información.
- Esto hace que la comunidad &os; tenga que exigir a esas
- compañías y desarrolladores que produzcan versiones
- nativas de sus aplicaciones para &os;.
- El problema es que la mayoría de esas compañías
- no suelen saber realmente cuánta gente utilizaría
- su producto si existieran esas versiones para &os;, y
- la mayoría continúa desarrollando únicamente
- para Linux.
- Vista la situación ?que puede hacer un usuario de &os;?
- Aquí es donde entra en juego la compatibilidad binaria con
- Linux.</para>
-
- <para>Para expresarlo en pocas palabras, dicha compabitilidad permite
- a los usuarios de &os; cerca del 90% de las aplicaciones de Linux sin
- tener que modificarlas en absoluto. Entre estas está
- <application>&staroffice;</application>,
- la versión Linux de <application>&netscape;</application>,
- <application>&adobe;&nbsp;&acrobat;</application>,
- <application>RealPlayer</application>,
- <application>VMware</application>,
- <application>&oracle;</application>,
- <application>WordPerfect</application>, <application>Doom</application>,
- <application>Quake</application> y muchas más. En determinados
- casos los binarios Linux rinden mejor en &os; que en Linux.</para>
-
- <para>Existen, por desgracia, ciertas características
- específicas de Linux que no funcionan en &os;.
- Los binarios Linux no funcionarán en &os; si recurren a
- llamadas específicas de &i386; como la activación
- del modo virtual 8086.</para>
-
- <para>Tras leer este capítulo sabrá usted:</para>
- <itemizedlist>
- <listitem>
- <para>cómo activar la compatibilidad binaria con Linux en su
- sistema.</para>
- </listitem>
-
- <listitem>
- <para>cómo instalar bibliotecas compartidas de Linux que pueda
- necesitar.
- </para>
- </listitem>
-
- <listitem>
- <para>cómo instalar aplicaciones de Linux en su sistema &os;.</para>
- </listitem>
-
- <listitem>
- <para>cuáles son los detalles de la implementación de
- compatibilidad binaria con Linux en &os;.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo es necesario que sepa:</para>
-
- <itemizedlist>
- <listitem>
- <para>cómo instalar software de
- terceros (<xref linkend="ports"/>).</para>
- </listitem>
- </itemizedlist>
-
- </sect1>
-
- <sect1 xml:id="linuxemu-lbc-install">
- <title>Instalación</title>
-
- <indexterm><primary>KLD (objeto cargable del kernel)</primary></indexterm>
-
- <para>La compatibilidad binaria con Linux no viene activada
- por omisión. La forma más sencilla de habilitarla
- es cargar el KLD (<quote>objeto cargable en el kernel</quote>)
- <literal>linux</literal>. Como usuario
- <systemitem class="username">root</systemitem> proceda del siguiente modo:</para>
-
- <screen>&prompt.root; <userinput>kldload linux</userinput></screen>
-
- <para>Si quiere que la compatibilidad con Linux esté
- siempre activada tendrá que añadir la siguiente
- línea en <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>linux_enable="YES"</programlisting>
-
- <para>Utilice &man.kldstat.8; para verificar que el KLD
- esté cargado:</para>
-
- <screen>&prompt.user; <userinput>kldstat</userinput>
-Id Refs Address Size Name
- 1 2 0xc0100000 16bdb8 kernel
- 7 1 0xc24db000 d000 linux.ko</screen>
- <indexterm>
- <primary>kernel options</primary>
- <secondary>LINUX</secondary>
- </indexterm>
-
- <para>Si por alguna razón no desea o no puede cargar el KLD,
- entonces puede enlazar estáticamente la compatibilidad de binarios
- Linux en el kernel agregando <literal>options COMPAT_LINUX</literal>
- a su fichero de configuración del kernel. Luego instale
- su nuevo kernel como se describe en
- <xref linkend="kernelconfig"/>.</para>
-
- <sect2>
- <title>Instalación de bibliotecas de ejecución Linux</title>
- <indexterm>
- <primary>Linux</primary>
- <secondary>instalación de bibliotecas Linux</secondary>
- </indexterm>
-
- <para>Puede hacerse de dos maneras, ya sea usando
- el port <link linkend="linuxemu-libs-port">linux_base</link>,
- o instalándolas
- <link linkend="linuxemu-libs-manually">de forma manual</link>.</para>
-
- <sect3 xml:id="linuxemu-libs-port">
- <title>Instalación usando el port linux_base</title>
- <indexterm><primary>colección de ports</primary></indexterm>
-
- <para>Este es con mucho el método mas sencillo
- para instalar bibliotecas de ejecución. Es como
- instalar cualquier otro port de la
- <link xlink:href="file://localhost/usr/ports/">Colección
- de Ports</link>. Es tan sencillo como esto:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput>
-&prompt.root; <userinput>make install distclean</userinput></screen>
-
- <para>Hecho esto debería disponer de compatibilidad binaria con
- Linux. Algunos programas pueden <quote>quejarse</quote> por
- la presencia de versiones antiguas de algunas bibliotecas del
- sistema. Generalmente esto no suele ser un problema muy
- grave.</para>
-
- <note><para>Pueden coexistir múltiples versiones
- del port <package>emulators/linux_base</package>
- disponibles correspondientes a distintas versiones de diversas
- distribuciones de Linux. Tendrá que instalar el port
- que más se ajuste a las necesidades de las aplicaciones
- de Linux que quiera instalar.</para></note>
-
- </sect3>
-
- <sect3 xml:id="linuxemu-libs-manually">
- <title>Instalación manual de bibliotecas</title>
-
- <para>Si, por el motivo que fuese, no tiene instalada
- la colección de ports puede instalar las bibliotecas
- que necesite de forma manual.
- Necesitará las bibliotecas compartidas Linux de
- las que depende el programa y el enlazador en tiempo de
- ejecución (<quote>runtime linker</quote>).
- Necesitará también
- crear un directorio
- <filename>/compat/linux</filename> donde alojar las bibliotecas
- Linux en su sistema &os; Cualquier biblioteca compartida a la
- que haya recurrido un programa de Linux ejecutado en &os;
- buscará en primer lugar en dicho directorio.
- Por lo tanto, si se carga un
- programa Linux, por ejemplo <filename>/lib/libc.so</filename>,
- &os; intentará en primer lugar abrir
- <filename>/compat/linux/lib/libc.so</filename> y, si no
- existe, lo intentará con
- <filename>/lib/libc.so</filename>. Las bibliotecas
- compartidas deben instalarse en
- <filename>/compat/linux/lib</filename> en lugar de las rutas que
- el <command>ld.so</command> de Linux proporcione.</para>
-
- <para>En general, necesitará buscar las bibliotecas
- compartidas de las que los binarios Linux dependen
- sólamente las primeras veces que instale un programa
- Linux en su &os;. Más adelante tendrá un conjunto
- suficiente de bibliotecas compartidas Linux en su sistema
- para poder ejecutar binarios Linux sin que tenga que hacer nada
- más.</para>
- </sect3>
-
- <sect3>
- <title>Cómo instalar bibliotecas compartidas adicionales</title>
- <indexterm><primary>bibliotecas compartidas</primary></indexterm>
-
- <para>?Que pasaría si instalara el port
- <filename>linux_base</filename> y su aplicación
- todavía tuviera problemas debido a bibliotecas compartidas
- que no encuentra en el sistema?
- ?Cómo saber qué bibliotecas compartidas
- necesitan los binarios Linux? Básicamente hay dos
- posibilidades (para poder ejecutar las siguientes instrucciones
- necesitará estar como <systemitem class="username">root</systemitem>
- </para>
-
- <para>Si tiene acceso a un sistema Linux busque en él
- qué bibliotecas necesita la aplicación, y
- cópielas a su sistema &os;. Veamos unos ejemplos:
- </para>
-
- <informalexample>
- <para>Asumiremos que utilizó FTP para conseguir los
- binarios Linux de <application>Doom</application> y los
- puso en un sistema Linux.
- Para ver qué bibliotecas compartidas necesitará
- ejecute <command>ldd linuxdoom</command>:</para>
-
- <screen>&prompt.user; <userinput>ldd linuxdoom</userinput>
-libXt.so.3 (DLL Jump 3.1) =&gt; /usr/X11/lib/libXt.so.3.1.0
-libX11.so.3 (DLL Jump 3.1) =&gt; /usr/X11/lib/libX11.so.3.1.0
-libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
-
- <indexterm><primary>enlaces simbólicos</primary></indexterm>
- <para>Necesitaría todos los ficheros de la
- segunda columna, y tendrá que ponerlos en
- <filename>/compat/linux</filename> con los nombres de
- la primera columna como enlaces
- simbólicos apuntando hacia ellos. De este modo
- tendría en su sistema &os; los siguientes ficheros:
- </para>
-
- <screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0
-/compat/linux/usr/X11/lib/libXt.so.3 -&gt; libXt.so.3.1.0
-/compat/linux/usr/X11/lib/libX11.so.3.1.0
-/compat/linux/usr/X11/lib/libX11.so.3 -&gt; libX11.so.3.1.0
-/compat/linux/lib/libc.so.4.6.29
-/compat/linux/lib/libc.so.4 -&gt; libc.so.4.6.29</screen>
-
- <blockquote>
- <note>
- <para>Recuerde que si ya tiene una biblioteca
- compartida Linux con un número de versión
- mayor que coincida con la primera columna de la salida de
- <command>ldd</command> no necesitará copiar el
- fichero que aparece en la última columna;
- el que tiene debería funcionar, aunque se aconseja
- copiar la biblioteca compartida de todas maneras
- si es una nueva versión. Puede eliminar la vieja
- siempre que haga que el enlace simbólico apunte
- a la nueva. Si tiene estas bibliotecas
- en su sistema:</para>
-
- <screen>/compat/linux/lib/libc.so.4.6.27
-/compat/linux/lib/libc.so.4 -&gt; libc.so.4.6.27</screen>
-
- <para>y un binario requiere
- una versión más reciente (como indica la
- siguiente salida de <command>ldd</command>):</para>
-
- <screen>libc.so.4 (DLL Jump 4.5pl26) -&gt; libc.so.4.6.29</screen>
-
- <para>si solo ve una o dos versiones desfasadas en los
- últimos dígitos no se preocupe
- de copiar <filename>/lib/libc.so.4.6.29</filename>,
- el programa debería funcionar
- bien con una versión ligeramente antigua.
- De todas formas, si así lo prefiere, puede actualizar
- <filename>libc.so</filename>; el resultado sería
- este:</para>
-
- <screen>/compat/linux/lib/libc.so.4.6.29
-/compat/linux/lib/libc.so.4 -&gt; libc.so.4.6.29</screen>
- </note>
- </blockquote>
-
- <blockquote>
- <note>
- <para>El mecanismo de enlazado simbólico
- <emphasis>sólamente</emphasis> es necesario con
- binarios Linux. El enlazador en tiempo de ejecución
- de &os; se encarga de buscar él mismo las versiones
- correctas, así que no tendrá que preocuparse
- usted de hacerlo.</para>
- </note>
- </blockquote>
- </informalexample>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Instalar binarios ELF Linux</title>
- <indexterm>
- <primary>Linux</primary>
- <secondary>binarios ELF</secondary>
- </indexterm>
-
- <para>Los binarios ELF algunas veces requieren un paso extra de
- <quote>marcado</quote>. Si trata de ejecutar un binario ELF no
- marcado recibirá un mensaje de error como el siguiente:</para>
-
- <screen>&prompt.user; <userinput>./mi-binario-elf</userinput>
-ELF binary type not known
-Abort</screen>
-
- <para>Para ayudar al kernel de FreeBSD a distinguir entre un binario
- ELF de &os; y uno de Linux utilice &man.brandelf.1;.</para>
-
- <screen>&prompt.user; <userinput>brandelf -t Linux mi-binario-elf-de-linux</userinput></screen>
-
- <indexterm><primary>GNU toolchain</primary></indexterm>
- <para>Las herramientas GNU se encargan de ubicar automáticamente
- la marca apropiada en los binarios ELF, por lo tanto este
- paso será innecesario en un futuro próximo.</para>
-
- </sect2>
-
- <sect2>
- <title>Configuración de la resolución de nombres de
- equipos</title>
-
- <para>Si el DNS no funciona u obtiene este mensaje:</para>
-
- <screen>resolv+: "bind" is an invalid keyword resolv+:
-"hosts" is an invalid keyword</screen>
-
- <para>Necesitará un fichero
- <filename>/compat/linux/etc/host.conf</filename>
- con el siguiente contenido:</para>
-
- <programlisting>order hosts, bind
-multi on</programlisting>
-
- <para>Significa que
- <filename>/etc/hosts</filename> seráanalizado en primer lugar
- y después se usará DNS.
- Si <filename>/compat/linux/etc/host.conf</filename> no
- está instalado, las aplicaciones Linux usan el
- <filename>/etc/host.conf</filename> de &os; y chocan con la
- sintaxis (incompatible) de &os;. Borre
- <literal>bind</literal> de su <filename>/etc/resolv.conf</filename>
- si no tiene configurado un servidor de nombres.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="linuxemu-mathematica">
- <info><title>Instalación de &mathematica;</title>
- <authorgroup>
- <author><personname><firstname>Hollas</firstname><surname>Boris</surname></personname><contrib>Actualizado para Mathematica 5.X por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>aplicaciones</primary>
- <secondary><application>Mathematica</application></secondary>
- </indexterm>
-
- <para>Este documento describe el proceso de instalación
- de la versión para Linux de
- <application>&mathematica; 5.X</application> en un sistema
- &os;.</para>
-
- <para>Puede pedir a Wolfram, el fabricante, La versión para
- para Linux de <application>&mathematica;</application> o
- la versión de
- <application>&mathematica; para estudiantes</application>
- en su sitio web,
- <uri xlink:href="http://www.wolfram.com/">http://www.wolfram.com/</uri>.</para>
-
-
- <sect2>
- <title>El instalador de &mathematica;</title>
-
- <para>Lo primero que tiene que hacer es decirle a &os;
- que los binarios de <application>&mathematica;</application>
- para Linux utilizan la ABI Linux. La forma más
- sencilla de hacerlo es marcar por omisión todos los
- binarios sin marcas como Linux ELF.</para>
-
- <screen>&prompt.root; <userinput>sysctl kern.fallback_elf_brand=3</userinput></screen>
-
- <para>Hecho esto &os; asumirá que cualquier binario
- sin marca que encuentre utiliza la ABI Linux; de este modo
- podrá ejecutar el binario directamente desde el
- CDROM.</para>
-
- <para>Copie el fichero <filename>MathInstaller</filename> en su
- disco duro</para>
-
- <screen>&prompt.root; <userinput>mount /cdrom</userinput>
-&prompt.root; <userinput>cp /cdrom/Unix/Installers/Linux/MathInstaller /directoriolocal/</userinput></screen>
-
- <para>Edite este fichero y sustituya la primera línea,
- <literal>/bin/sh</literal>, por
- <literal>/compat/linux/bin/sh</literal> para asegurarnos de
- que lo que ejecute el instalador sea la verión
- de &man.sh.1; de Linux. El siguiente paso es sustituir todos
- los <literal>Linux)</literal> por <literal>FreeBSD)</literal>
- con un editor de texto on con el script que encontrará
- en la siguiente sección. Esto se hace para ayudar al
- instalador de <application>&mathematica;</application>,
- el cual en un cierto momento invoca a
- <command>uname -s</command> para determinar el sistema operativo,
- a tratar a &os; como si fuera un sistema operativo muy similar
- a Linux. Hecho todo esto, cuando ejecute
- <command>MathInstaller</command> podrá instalar
- <application>&mathematica;</application>.</para>
- </sect2>
-
- <sect2>
- <title>Modificación de los ejecutables de &mathematica;</title>
-
- <para>Debe modificar los scripts de shell que
- <application>&mathematica;</application> creó durante
- la instalación antes de usarlos. Si eligió
- ubicar en
- <filename>/usr/local/bin</filename>
- los ejecutables de
- <application>&mathematica;</application> verá que
- en ese directorio hay enlaces simbólicos a ficheros
- como <filename>math</filename>, <filename>mathematica</filename>,
- <filename>Mathematica</filename> y
- <filename>MathKernel</filename>. En cada uno de esos ficheros debe
- sustituir <literal>Linux)</literal> por <literal>FreeBSD)</literal>
- con un editor de texto o bien con el siguiente script de
- shell:</para>
-
- <programlisting>#!/bin/sh
-cd /usr/local/bin
-for i in math mathematica Mathematica MathKernel
- do sed 's/Linux)/FreeBSD)/g' $i &gt; $i.tmp
- sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp &gt; $i
- rm $i.tmp
- chmod a+x $i
-done</programlisting>
- </sect2>
-
- <sect2>
- <title>Cómo obtener una contraseña de &mathematica;</title>
-
- <indexterm>
- <primary>Ethernet</primary>
- <secondary>MAC address</secondary>
- </indexterm>
-
- <para>Cuando arranque <application>&mathematica;</application>
- por primera vez se le pedirá una contraseña. Si
- Wolfram no le ha enviado ya necesita un <quote>machine ID</quote>,
- para lo cual debe ir al directorio de instalación y ejecutar
- <command>mathinfo</command>. Este <quote>machine IDE</quote>
- se obtiene de la dirección MAC de la primera tarjeta
- Ethernet de la máquina y tiene como objetivo que no
- pueda ejecutar <application>&mathematica;</application> en
- más de una máquina.</para>
-
- <para>Durante el proceso de registro en Wolfram (ya sea por
- correo electrónico, teléfono o fax) les dará
- el <quote>machine ID</quote> y Wolfram le enviará una
- contraseña relacionada con él, consistente en grupos
- de números.</para>
- </sect2>
-
- <sect2>
- <title>Ejecución del «frontend» de &mathematica;
- través de una red</title>
-
- <para><application>&mathematica;</application> usa unos cuantos
- tipos especiales para mostrar caracteres que no están
- en ningún conjunto estándar de tipos: integrales,
- sumas, letras griegas, etc. El protocolo X exige que los
- tipos estén instalados
- <emphasis>en local</emphasis>, es decir, tiene que copiar los
- tipos del CDROM o la máquina desde la que ha instalado
- <application>&mathematica;</application> a su
- máquina. Los tipos están en el directorio del CDDROM
- <filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename> y se
- supone que deben estar en su disco duro en el directorio
- <filename>/usr/local/mathematica/SystemFiles/Fonts</filename>. Los
- tipos están realmente en los subdirectorios
- <filename>Type1</filename> y <filename>X</filename>. Hay varias
- formas de utilizarlos.</para>
-
- <para>La primera es copiarlos en uno de los directorios de tipos
- que hay en <filename>/usr/X11R6/lib/X11/fonts</filename>, antes
- de lo cual tendrá que añadir a
- <filename>fonts.dir</filename> los nombres de los tipos;
- tendrá también que cambiar el número de
- tipos en la primera línea. Por otra parte, todo esto
- puede hacerse ejecutando &man.mkfontdir.1; en el directorio
- donde haya copiado los tipos.</para>
-
- <para>La segunda forma de utilizar estos tipos es copiarlos
- bajo
- <filename>/usr/X11R6/lib/X11/fonts</filename>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts</userinput>
-&prompt.root; <userinput>mkdir X</userinput>
-&prompt.root; <userinput>mkdir MathType1</userinput>
-&prompt.root; <userinput>cd /cdrom/Unix/Files/SystemFiles/Fonts</userinput>
-&prompt.root; <userinput>cp X/* /usr/X11R6/lib/X11/fonts/X</userinput>
-&prompt.root; <userinput>cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1</userinput>
-&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts/X</userinput>
-&prompt.root; <userinput>mkfontdir</userinput>
-&prompt.root; <userinput>cd ../MathType1</userinput>
-&prompt.root; <userinput>mkfontdir</userinput></screen>
-
- <para>Añada los nuevos directorios de tipos a su ruta de
- tipos:</para>
-
- <screen>&prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/X</userinput>
-&prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/MathType1</userinput>
-&prompt.root; <userinput>xset fp rehash</userinput></screen>
-
- <para>Si usa el servidor <application>&xorg;</application>
- puede cargar los tipos automáticamente
- añadiéndolos al fichero
- <filename>xorg.conf</filename>.</para>
-
- <note><para>En servidores <application>&xfree86;</application>
- el fichero de configuración es
- <filename>XF86Config</filename>.</para></note>
- <indexterm><primary>fonts</primary></indexterm>
-
- <para>Si <emphasis>no</emphasis> tiene ya en su sistema un
- directorio <filename>/usr/X11R6/lib/X11/fonts/Type1</filename>
- puede cambiarle el nombre al directorio
- <filename>MathType1</filename> del ejemplo anterior
- por <filename>Type1</filename>.</para>
- </sect2>
-
-
- </sect1>
-
- <sect1 xml:id="linuxemu-maple">
- <info><title>Instalación de &maple;</title>
- <authorgroup>
- <author><personname><firstname>Aaron</firstname><surname>Kaplan</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Robert</firstname><surname>Getschmann</surname></personname><contrib>Gracias a </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>aplicaciones</primary>
- <secondary><application>Maple</application></secondary>
- </indexterm>
-
- <para><application>&maple;</application> es un programa comercial
- de matemáticas
- similar a <application>&mathematica;</application>. Puede adquirir
- este software en
- <uri xlink:href="http://www.maplesoft.com/">http://www.maplesoft.com/</uri>; tras registrarlo
- recibirá un fichero de licencia. Si quiere instalar este
- software en &os; siga los siguienes pasos:</para>
-
- <procedure>
- <step><para>Ejecute el <quote>script</quote> de shell
- <filename>INSTALL</filename>
- desde el lugar de instalación del producto. Elija
- la opción <quote>RedHat</quote> cuando
- le pregunte el programa de instalación.
- <filename>/usr/local/maple</filename>
- es un buen sitio para instalar el software.</para></step>
-
- <step><para>Si no lo ha hecho ya, solicite una licencia
- para <application>&maple;</application>
- a Maple Waterloo Software (<uri xlink:href="http://register.maplesoft.com/">http://register.maplesoft.com/</uri>)
- y cópiela a
- <filename>/usr/local/maple/license/license.dat</filename>.</para></step>
-
- <step><para>Instale el gestor de licencias
- <application>FLEXlm</application>
- ejecutando el <quote>script</quote> de shell de instalación
- <filename>INSTALL_LIC</filename>
- que viene con <application>&maple;</application>. Introduzca
- el nombre de su máquina (el servidor de licencias
- lo necesita).</para></step>
-
- <step><para>Parchée el fichero
- <filename>/usr/local/maple/bin/maple.system.type</filename>
- con lo siguiente:</para>
-
-<programlisting> ----- snip ------------------
-*** maple.system.type.orig Sun Jul 8 16:35:33 2001
---- maple.system.type Sun Jul 8 16:35:51 2001
-***************
-*** 72,77 ****
---- 72,78 ----
- # the IBM RS/6000 AIX case
- MAPLE_BIN="bin.IBM_RISC_UNIX"
- ;;
-+ "FreeBSD"|\
- "Linux")
- # the Linux/x86 case
- # We have two Linux implementations, one for Red Hat and
- ----- snip end of patch -----</programlisting>
-
- <para>Tenga muy presente que después de
- <literal>"FreeBSD"|\</literal>
- no debe haber ningún espacio en blanco.</para>
-
- <para>Este parche le dice a <application>&maple;</application>
- que interprete <quote>FreeBSD</quote> como un tipo de sistema
- Linux. El <quote>script</quote> de shell
- <filename>bin/maple</filename>
- llama al <quote>script</quote> de shell
- <filename>bin/maple.system.type</filename>,
- que a su vez recurre a <command>uname -a</command> para
- dictaminar el nombre del sistema operativo. Dependiendo de
- cuál sea sabrá qué binarios
- utilizar.</para></step>
-
- <step><para>Inicio del servidor de licencias.</para>
-
- <para>El siguiente <quote>script</quote>, sito en
- <filename>/usr/local/etc/rc.d/lmgrd.sh</filename>, le
- permitirá arrancar <command>lmgrd</command>:</para>
-
- <programlisting> ----- snip ------------
-
-#! /bin/sh
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
-PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
-export PATH
-
-LICENSE_FILE=/usr/local/maple/license/license.dat
-LOG=/var/log/lmgrd.log
-
-case "$1" in
-start)
- lmgrd -c ${LICENSE_FILE} 2&lt;&lt; ${LOG} 1&lt;&amp;2
- echo -n " lmgrd"
- ;;
-stop)
- lmgrd -c ${LICENSE_FILE} -x lmdown 2&lt;&lt; ${LOG} 1&lt;&amp;2
- ;;
-*)
- echo "Usage: `basename $0` {start|stop}" 1&lt;&amp;2
- exit 64
- ;;
-esac
-
-exit 0
- ----- snip ------------</programlisting></step>
-
-
- <step><para>Prueba de arranque de <application>&maple;</application>:</para>
- <screen>&prompt.user; <userinput>cd /usr/local/maple/bin</userinput>
-&prompt.user; <userinput>./xmaple</userinput></screen>
-
- <para>Todo debería funcionar perfectamente. Si es así
- aún le queda un último paso: escribir a
- Maplesoft y decirles que sería genial una versión
- nativa para &os;.</para></step>
- </procedure>
-
- <sect2>
- <title>Problemas frecuentes</title>
-
- <itemizedlist>
- <listitem><para>El gestor de licencias
- <application>FLEXlm</application> puede ser un tanto
- difícil de usar. En caso de necesitarla tiene
- más información en
- <uri xlink:href="http://www.globetrotter.com/">http://www.globetrotter.com/</uri>.</para></listitem>
-
- <listitem><para><command>lmgrd</command> tiene una reconocida fama
- de ser muy meticuloso en todo lo relacionado con el fichero de
- licencia; suele generar volcados de memoria si se encuentra con
- algún problema. Un fichero de licencia correcto tiene
- que parecerse mucho a este:</para>
-
-<programlisting># =======================================================
-# License File for UNIX Installations ("Pointer File")
-# =======================================================
-SERVER chillig ANY
-#USE_SERVER
-VENDOR maplelmg
-
-FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
- PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \
- ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
- SN=XXXXXXXXX</programlisting>
-
- <note><para>El número de serie y la clave han sido
- sobreescritos con X.
- <systemitem>chillig</systemitem> es el nombre de un equipo.</para></note>
-
- <para>Puede editar el fichero de licencia siempre que no
- toque la línea <quote>FEATURE</quote> (que está
- protegida por la clave de la licencia).</para></listitem>
- </itemizedlist>
- </sect2>
- </sect1>
-
- <sect1 xml:id="linuxemu-matlab">
- <info><title>Instalación de &matlab;</title>
- <authorgroup>
- <author><personname><firstname>Dan</firstname><surname>Pelleg</surname></personname><contrib>Escrito por </contrib></author>
- <!-- daniel+handbook@pelleg.org -->
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>aplicaciones</primary>
- <secondary><application>MATLAB</application></secondary>
- </indexterm>
-
- <para>Este documento describe el proceso de instalación de
- la versión para Linux de
- <application>&matlab; version 6.5</application>
- en &os;. En general funciona bastante bien, excepción
- hecha de <application>&java.virtual.machine;</application>
- (consulte la <xref linkend="matlab-jre"/>).</para>
-
- <para>La versión Linux de <application>&matlab;</application>
- puede pedirse directamente en el sitio de The MathWorks,
- <uri xlink:href="http://www.mathworks.com">http://www.mathworks.com</uri>. Tiene que
- recibir también el fichero de licencia o instrucciones
- de cómo crearlo. Al hacer su pedido aproveche para decirles
- que sería muy buena idea que ofrecieran una versión
- nativa de su software para &os;.</para>
-
- <sect2>
- <title>Instalación de &matlab;</title>
-
- <para>Para instalar <application>&matlab;</application>
- haga lo siguiente:</para>
-
- <procedure>
- <step>
- <para>Inserte el CD de instalación y móntelo.
- Conviértase en <systemitem class="username">root</systemitem> e
- inicie la instalación:</para>
-
- <screen>&prompt.root; <userinput>/compat/linux/bin/sh /cdrom/install</userinput></screen>
-
- <tip>
- <para>El instalador es gráfico. Si obtiene errores
- acerca de no ser capaz de abrir un display teclée
- <command>setenv HOME ~USUARIO</command>,
- donde <replaceable>USUARIO</replaceable> es el nombre del
- usuario con el que hizo &man.su.1;.</para>
- </tip>
- </step>
-
- <step>
- <para>Teclée
- <userinput>/compat/linux/usr/local/matlab</userinput>
- donde el instalador le pida el directorio raíz de
- <application>&matlab;</application>.</para>
-
- <tip>
- <para>Esto último le facilitará la entrada de datos
- durante el resto de la instalación. Introduzca lo
- siguiente en el <quote>prompt</quote> de su shell:
- <command>set MATLAB=/compat/linux/usr/local/matlab</command></para>
- </tip>
- </step>
-
- <step>
- <para>Edite el fichero de licencia tal y como consta en las
- instrucciones de la licencia de <application>&matlab;</application>.</para>
-
- <tip>
- <para>Puede tenerlo ya editado y copiado a
- <filename>$MATLAB/license.dat</filename> desde antes de que
- el instalador se lo pida.</para>
- </tip>
- </step>
-
- <step>
- <para>Complete el proceso de instalación.</para>
- </step>
- </procedure>
-
- <para>La instalación <application>&matlab;</application>
- ha finalizado. Los siguientes pasos aplicarán el
- <quote>pegamento</quote> necesario para conectarlo a su
- sistema &os;.</para>
- </sect2>
-
- <sect2>
- <title>Inicio del administrador de licencias</title>
- <procedure>
- <step>
- <para>Crée los enlaces simbólicos que necesitan los
- <quote>scripts</quote> del administrador
- de licencias:</para>
-
- <screen>&prompt.root; <userinput>ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW</userinput>
-&prompt.root; <userinput>ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW</userinput></screen>
- </step>
-
- <step>
- <para>Crée un fichero de inicio en
- <filename>/usr/local/etc/rc.d/flexlm.sh</filename>.
- El siguiente ejemplo es una versión modificada de
- <filename>$MATLAB/etc/rc.lm.glnx86</filename> que viene con
- la distribución de <application>&matlab;</application>.
- Los cambios que se han hecho en él obedecen a la
- ubicación de los ficheros y el arranque del
- administrador de licencias bajo emulación de Linux.
- </para>
-
- <programlisting>#!/bin/sh
-case "$1" in
- start)
- if [ -f /usr/local/etc/lmboot_TMW ]; then
- /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u <replaceable>nombre-de-usuario</replaceable> &amp;&amp; echo 'MATLAB_lmgrd'
- fi
- ;;
- stop)
- if [ -f /usr/local/etc/lmdown_TMW ]; then
- /compat/linux/bin/sh /usr/local/etc/lmdown_TMW &gt; /dev/null 2&gt;&amp;1
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop}"
- exit 1
- ;;
-esac
-
-exit 0</programlisting>
-
- <important>
- <para>El fichero debe ser ejecutable:</para>
-
- <screen>&prompt.root; <userinput>chmod +x /usr/local/etc/rc.d/flexlm.sh</userinput></screen>
-
- <para>Tendrá que reemplazar la entrada
- <replaceable>nombre-de-usuario</replaceable> de
- nuestro ejemplo por un nombre de usuario
- válido en su sistema
- (que no sea <systemitem class="username">root</systemitem>).</para>
- </important>
- </step>
-
- <step>
- <para>Arranque el administrador de licencias:</para>
-
- <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/flexlm.sh start</userinput></screen>
- </step>
- </procedure>
- </sect2>
-
- <sect2 xml:id="matlab-jre">
- <title>Enlace del entorno de ejecución &java;</title>
-
- <para>Cambie el enlace del entorno de ejecución
- <application>&java;</application>
- (JRE) a uno que funcione en &os;:</para>
-
- <screen>&prompt.root; <userinput>cd $MATLAB/sys/java/jre/glnx86/</userinput>
-&prompt.root; <userinput>unlink jre; ln -s ./jre1.1.8 ./jre</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Creación de un <quote>script</quote> de arranque
- para &matlab;</title>
-
- <procedure>
- <step>
- <para>Coloque el siguiente <quote>script</quote> de arranque en
- <filename>/usr/local/bin/matlab</filename>:
- </para>
-
- <programlisting>#!/bin/sh
-/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"</programlisting>
- </step>
-
- <step>
- <para>Escriba
- <command>chmod +x /usr/local/bin/matlab</command>.</para>
- </step>
- </procedure>
-
- <tip>
- <para>Dependiendo de su versión de
- <package>emulators/linux_base</package> tal
- vez obtenga errores al ejecutar este <quote>script</quote>.
- Para evitarlo edite
- <filename>/compat/linux/usr/local/matlab/bin/matlab</filename>
- y cambie la línea en la que aparece:</para>
-
- <programlisting>if [ `expr "$lscmd" : '.*-&gt;.*'` -ne 0 ]; then</programlisting>
-
- <para>(en la versión 13.0.1 es en la línea 410) por
- esta otra línea:</para>
-
- <programlisting>if test -L $newbase; then</programlisting>
- </tip>
- </sect2>
-
- <sect2>
- <title>Creación de un <quote>script</quote> para detener
- &matlab;</title>
-
- <para>Este <quote>script</quote> solucionará
- las dificultades que pueda tener para detener &matlab;
- correctamente.</para>
-
- <procedure>
- <step>
- <para>Crée un fichero llamado
- <filename>$MATLAB/toolbox/local/finish.m</filename> y
- ponga en él una sola línea con este
- texto:</para>
-
- <programlisting>! $MATLAB/bin/finish.sh</programlisting>
-
- <note><para><literal>$MATLAB</literal> debe escribirse
- tal cual.</para></note>
-
- <tip>
- <para>En el mismo directorio encontrará los
- ficheros <filename>finishsav.m</filename> y
- <filename>finishdlg.m</filename>, que le
- permiten guardar su trabajo antes de
- salir de la aplicación. Si quiere usar alguno de ellos,
- inserte la línea de arriba inmediatamente
- después de
- <literal>save</literal>.</para></tip>
- </step>
-
- <step>
- <para>Crée un fichero
- <filename>$MATLAB/bin/finish.sh</filename> con el siguiente
- contenido:</para>
-
- <programlisting>#!/usr/compat/linux/bin/sh
-(sleep 5; killall -1 matlab_helper) &amp;
-exit 0</programlisting>
- </step>
-
- <step>
- <para>El fichero tiene que ser ejecutable:</para>
-
- <screen>&prompt.root; <userinput>chmod +x $MATLAB/bin/finish.sh</userinput></screen>
- </step>
- </procedure>
- </sect2>
-
- <sect2 xml:id="matlab-using">
- <title>Uso de &matlab;</title>
-
- <para>Desde este momento ya puede usted teclear
- <command>matlab</command> y empezar a
- usarlo.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="linuxemu-oracle">
- <info><title>Instalación de &oracle;</title>
- <authorgroup>
- <author><personname><firstname>Marcel</firstname><surname>Moolenaar</surname></personname><contrib>Escrito por </contrib></author>
- <!-- marcel@cup.hp.com -->
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>aplicaciones</primary>
- <secondary><application>Oracle</application></secondary>
- </indexterm>
-
- <sect2>
- <title>Prefacio</title>
- <para>Este texto describe el proceso de instalación de
- <application>&oracle; 8.0.5</application>
- y <application>&oracle; 8.0.5.1 Enterprise Edition</application>
- para Linux en una
- máquina &os;.</para>
- </sect2>
-
- <sect2>
- <title>Instalación del entorno Linux</title>
-
- <para>Debe tener instalados los ports
- <package>emulators/linux_base</package>
- y <package>devel/linux_devtools</package>.
- Si tiene dificultades con estos ports es posible que tenga que
- usar los paquetes o quizás versiones más antiguas
- de dichas aplicaciones que encontrará en la Colección
- de Ports.</para>
-
- <para>Si quiere usar el agente inteligente también
- tendrá que instalar el paquete Tcl de Red Hat,
- <filename>tcl-8.0.3-20.i386.rpm</filename>. La orden
- genérica para instalar paquetes con el port oficial
- de <application>RPM</application>
- (<package>archivers/rpm</package>) es:</para>
-
- <screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm paquete</userinput></screen>
-
- <para>La instalación de dicho <replaceable>paquete</replaceable> no debe generar ningún error.</para>
- </sect2>
-
- <sect2>
- <title>Creación del entorno &oracle;</title>
-
- <para>Antes de instalar <application>&oracle;</application>
- tendrá que configurar un entorno apropiado. Este documento
- solamente explica lo que hay que hacer
- <emphasis>especialmente</emphasis> para utilizar la versión
- de Linux para <application>&oracle;</application> &os;, no
- lo que figura en la guía de instalación de
- <application>&oracle;</application>.</para>
-
- <sect3 xml:id="linuxemu-kernel-tuning">
- <title>Personalización del kernel</title>
- <indexterm><primary>personalización del kernel</primary></indexterm>
-
- <para>Tal y como consta en la guía de instalación de
- <application>&oracle;</application>, debe configurar
- la cantidad máxima de memoria compartida.
- No utilice <literal>SHMMAX</literal> en &os;.
- <literal>SHMMAX</literal> se calcula a partir de
- <literal>SHMMAXPGS</literal> y <literal>PGSIZE</literal>,
- así que defina <literal>SHMMAXPGS</literal>. Todas
- las demás opciones pueden usarse tal y como se describen
- en la guía. Por ejemplo:</para>
-
- <programlisting>options SHMMAXPGS=10000
-options SHMMNI=100
-options SHMSEG=10
-options SEMMNS=200
-options SEMMNI=70
-options SEMMSL=61</programlisting>
-
- <para>Configure estas opciones para que se ajusten al uso que
- pretenda darle a
- <application>&oracle;</application>.</para>
-
- <para>Asegúrese también de que las siguientes
- opciones están en el fichero de configuración de
- su kernel:</para>
-
-<programlisting>options SYSVSHM #SysV shared memory
-options SYSVSEM #SysV semaphores
-options SYSVMSG #SysV interprocess communication</programlisting>
- </sect3>
-
- <sect3 xml:id="linuxemu-oracle-account">
-
- <title>Cuenta &oracle;</title>
-
- <para>Crée una cuenta <systemitem class="username">oracle</systemitem> según
- el procedimiento habitual de creación de usuarios.
- La cuenta <systemitem class="username">oracle</systemitem>, empero, tiene algo
- especial puesto que debe teer una shell <emphasis>de</emphasis>
- Linux. Añada
- <literal>/compat/linux/bin/bash</literal> a
- <filename>/etc/shells</filename> y asigne a la
- cuenta <systemitem class="username">oracle</systemitem>
- <filename>/compat/linux/bin/bash</filename> como shell
- por omisión.</para>
- </sect3>
-
- <sect3 xml:id="linuxemu-environment">
- <title>Entorno</title>
-
- <para>Además de las variables normales para
- <application>&oracle;</application>,
- como <envar>ORACLE_HOME</envar> y <envar>ORACLE_SID</envar>, debe
- configurar las siguientes variables de entorno:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="2*"/>
- <thead>
- <row>
- <entry>Variable</entry>
-
- <entry>Valor</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><envar>LD_LIBRARY_PATH</envar></entry>
-
- <entry><literal>$ORACLE_HOME/lib</literal></entry>
- </row>
-
- <row>
- <entry><envar>CLASSPATH</envar></entry>
-
- <entry><literal>$ORACLE_HOME/jdbc/lib/classes111.zip</literal></entry>
- </row>
-
- <row>
- <entry><envar>PATH</envar></entry>
-
- <entry><literal>/compat/linux/bin
-/compat/linux/sbin
-/compat/linux/usr/bin
-/compat/linux/usr/sbin
-/bin
-/sbin
-/usr/bin
-/usr/sbin
-/usr/local/bin
-$ORACLE_HOME/bin</literal></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Le aconsejamos configurar todas las variables de entorno
- en <filename>.profile</filename>. Veamos un ejemplo
- completo:</para>
-
-<programlisting>ORACLE_BASE=/oracle; export ORACLE_BASE
-ORACLE_HOME=/oracle; export ORACLE_HOME
-LD_LIBRARY_PATH=$ORACLE_HOME/lib
-export LD_LIBRARY_PATH
-ORACLE_SID=ORCL; export ORACLE_SID
-ORACLE_TERM=386x; export ORACLE_TERM
-CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
-export CLASSPATH
-PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
-PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
-PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
-export PATH</programlisting>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Instalación de &oracle;</title>
-
- <para>Debido a una pequeña inconsistencia en el emulador
- Linux tendrá que crear un directorio llamado
- <filename>.oracle</filename>
- en <filename>/var/tmp</filename> antes de iniciar el instalador.
- Haga que sea propiedad del usuario <systemitem class="username">oracle</systemitem>.
- Hecho esto deberí poder instalar
- <application>&oracle;</application>
- sin ningún problema. Si no es así
- <emphasis>revise su distribución</emphasis>
- <application>&oracle;</application> y su
- configuración. Una vez finalizada la instalación de
- <application>&oracle;</application> aplique los parches
- que se detallan en las dos siguientes subsecciones.</para>
-
- <para>Un problema que se da con una cierta frecuencia es que el
- adaptador del protocolo TCP
- no está correctamente instalado. Como consecuencia no
- puede iniciarse ninguna escucha TCP, a las que también se
- les llama directamente «listeners». Esto le
- ayudará a resolver el problema.:</para>
-
- <screen>&prompt.root; <userinput>cd $ORACLE_HOME/network/lib</userinput>
-&prompt.root; <userinput>make -f ins_network.mk ntcontab.o</userinput>
-&prompt.root; <userinput>cd $ORACLE_HOME/lib</userinput>
-&prompt.root; <userinput>ar r libnetwork.a ntcontab.o</userinput>
-&prompt.root; <userinput>cd $ORACLE_HOME/network/lib</userinput>
-&prompt.root; <userinput>make -f ins_network.mk install</userinput></screen>
-
- <para><emphasis>No se olvide de ejecutar <filename>root.sh</filename>
- de nuevo</emphasis>.</para>
-
- <sect3 xml:id="linuxemu-patch-root">
- <title>Cómo parchear root.sh</title>
-
- <para>Durante la instalación de
- <application>&oracle;</application> algunas
- acciones que requieren ser ejecutadas como
- <systemitem class="username">root</systemitem> deben almacenarse en un
- <quote>script</quote> de shell llamado
- <filename>root.sh</filename>. Dicho <quote>script</quote>
- está en el directorio <filename>orainst</filename>.
- Aplique el siguiente parche a <filename>root.sh</filename> para
- que utilice la ruta correcta de <command>chown</command> o
- ejecute el <quote>script</quote> bajo una shell nativa
- de Linux.</para>
-
- <programlisting>*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
---- orainst/root.sh Mon Dec 28 15:58:53 1998
-***************
-*** 31,37 ****
-# This is the default value for CHOWN
-# It will redefined later in this script for those ports
-# which have it conditionally defined in ss_install.h
-! CHOWN=/bin/chown
-#
-# Define variables to be used in this script
---- 31,37 ----
-# This is the default value for CHOWN
-# It will redefined later in this script for those ports
-# which have it conditionally defined in ss_install.h
-! CHOWN=/usr/sbin/chown
-#
-# Define variables to be used in this script</programlisting>
-
- <para>Si no está instalando
- <application>&oracle;</application> desde un CD puede parchear
- las fuentes de <filename>root.sh</filename>. Se llama
- <filename>rthd.sh</filename> y está en el directorio
- <filename>orainst</filename> del árbol de fuentes.
- </para>
- </sect3>
-
- <sect3 xml:id="linuxemu-patch-tcl">
- <title>Cómo parchear genclntsh</title>
-
- <para>El <quote>script</quote> <command>genclntsh</command> se usa
- para crear una biblioteca de cliente compartida y para
- construir los demos. Al aplicar el siguiente parche
- comentará la definición de <envar>PATH</envar>:</para>
-
- <programlisting>*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
---- bin/genclntsh Tue Dec 22 15:36:49 1998
-***************
-*** 32,38 ****
-#
-# Explicit path to ensure that we're using the correct commands
-#PATH=/usr/bin:/usr/ccs/bin export PATH
-! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
-#
-# each product MUST provide a $PRODUCT/admin/shrept.lst
---- 32,38 ----
-#
-# Explicit path to ensure that we're using the correct commands
-#PATH=/usr/bin:/usr/ccs/bin export PATH
-! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
-#
-# each product MUST provide a $PRODUCT/admin/shrept.lst</programlisting>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Ejecución de &oracle;</title>
-
- <para>Una vez seguidas estas instrucciones podrá ejecutar
- <application>&oracle;</application> como si la hubiera instalado
- en Linux.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="sapr3">
- <info><title>Instalación de &sap.r3;</title>
- <authorgroup>
- <author><personname><firstname>Holger</firstname><surname>Kipp</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
-
- <authorgroup>
- <author><personname><firstname>Valentino</firstname><surname>Vaschetto</surname></personname><contrib>Versión original convertida a SGML por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>aplicaciones</primary>
- <secondary><application>SAP R/3</application></secondary>
- </indexterm>
-
- <para>Las instalaciones de sistemas <application>&sap;</application>
- en &os; no reciben soporte técnico de &sap;.
- &sap; solamente lo ofrece si se usan plataformas
- certificadas.</para>
-
- <sect2 xml:id="preface">
- <title>Introducción</title>
-
- <para>Este texto expone una forma de instalar
- un <application>&sap.r3; System</application> con
- una <application>&oracle; Database</application>
- para Linux en una máquina &os;, incluyendo la
- instalación de &os; y <application>&oracle;</application>.
- Se muestran dos configuraciones diferentes:</para>
-
- <itemizedlist>
- <listitem>
- <para><application>&sap.r3; 4.6B (IDES)</application> con
- <application>&oracle; 8.0.5</application> en FreeBSD 4.3-STABLE</para>
- </listitem>
-
- <listitem>
- <para><application>&sap.r3; 4.6C</application> con
- <application>&oracle; 8.1.7</application> en FreeBSD 4.5-STABLE</para>
- </listitem>
- </itemizedlist>
-
- <para>Aunque este documento trate de describir todos
- los pasos importantes con detalle no ha sido escrito como
- sustituto de las guías de instalación de
- <application>&oracle;</application> y
- <application>&sap.r3;</application>.</para>
-
- <para>Por favor, consulte la documentación de
- <application>&sap.r3;</application>
- que se incluye en la edición para Linux de
- <application>&sap;</application>
- y las preguntas específicas sobre
- <application>&oracle;</application>,
- así como los recursos que estén a su disposición
- sobre <application>&oracle;</application>
- y <application>&sap; OSS</application>.</para>
- </sect2>
-
- <sect2 xml:id="software">
- <title>Software</title>
-
- <para>Durante la instalación de <application>&sap;</application>
- se han utilizado los siguientes CD-ROM:</para>
-
- <sect3 xml:id="software-46b">
- <title>&sap.r3; 4.6B, &oracle; 8.0.5</title>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Nombre</entry> <entry>Número</entry> <entry>Descripción</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>KERNEL</entry> <entry>51009113</entry> <entry>SAP Kernel Oracle /
- Installation / AIX, Linux, Solaris</entry>
- </row>
-
- <row>
- <entry>RDBMS</entry> <entry>51007558</entry> <entry>Oracle / RDBMS 8.0.5.X /
- Linux</entry>
- </row>
-
- <row>
- <entry>EXPORT1</entry> <entry>51010208</entry> <entry>IDES / DB-Export /
- Disco 1 de 6</entry>
- </row>
-
- <row>
- <entry>EXPORT2</entry> <entry>51010209</entry> <entry>IDES / DB-Export /
- Disco 2 de 6</entry>
- </row>
-
- <row>
- <entry>EXPORT3</entry> <entry>51010210</entry> <entry>IDES / DB-Export /
- Disco 3 de 6</entry>
- </row>
-
- <row>
- <entry>EXPORT4</entry> <entry>51010211</entry> <entry>IDES / DB-Export /
- Disco 4 de 6</entry>
- </row>
-
- <row>
- <entry>EXPORT5</entry> <entry>51010212</entry> <entry>IDES / DB-Export /
- Disco 5 de 6</entry>
- </row>
-
- <row>
- <entry>EXPORT6</entry> <entry>51010213</entry> <entry>IDES / DB-Export /
- Disco 6 de 6</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>También utilizamos el CD de <application>&oracle; 8
- Server</application> (versión pre-producción
- 8.0.5 para Linux, versión de kernel 2.0.33), que
- no es realmente necesario y FreeBSD 4.3-STABLE (a unos cuantos
- días de la liberación de 4.3-RELEASE).</para>
-
- </sect3>
- <sect3 xml:id="software-46c">
- <title>&sap.r3; 4.6C SR2, &oracle; 8.1.7</title>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Nombre</entry> <entry>Número</entry> <entry>Descripción</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>KERNEL</entry> <entry>51014004</entry> <entry>SAP Kernel Oracle /
- SAP Kernel Version 4.6D / DEC, Linux</entry>
- </row>
-
- <row>
- <entry>RDBMS</entry> <entry>51012930</entry> <entry>Oracle 8.1.7/ RDBMS /
- Linux</entry>
- </row>
-
- <row>
- <entry>EXPORT1</entry> <entry>51013953</entry> <entry>Release 4.6C SR2 / Export
- / Disco 1 de 4</entry>
- </row>
-
- <row>
- <entry>EXPORT1</entry> <entry>51013953</entry> <entry>Release 4.6C SR2 / Export
- / Disco 2 de 4</entry>
- </row>
-
- <row>
- <entry>EXPORT1</entry> <entry>51013953</entry> <entry>Release 4.6C SR2 / Export
- / Disco 3 de 4</entry>
- </row>
-
- <row>
- <entry>EXPORT1</entry> <entry>51013953</entry> <entry>Release 4.6C SR2 / Export
- / Disco 4 de 4</entry>
- </row>
-
- <row>
- <entry>LANG1</entry> <entry>51013954</entry> <entry>Release 4.6C SR2 /
- Language / DE, EN, FR / Disco 1 de 3</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Según los idiomas que quiera usar es posible que
- necesite otros CD de idiomas. Sólo hemos utilizado DE y
- EN, así que nos bastó con el primer CD.
- Para su información, los números de los cuatro CD
- EXPORT son idénticos. Los tres CD de idiomas también
- tienen el mismo número, aunque esto es distinto en los CD de
- la versión 4.6B IDES. Al escribir este texto
- (20.03.2002) ejecutamos la instalación en FreeBSD
- 4.5-STABLE (20.03.2002).</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="sap-notes">
- <title>Notas &sap;</title>
-
- <para>Las siguientes notas han resultado ser muy útiles
- durante la instalación, así que le recomendamos
- encarecidamente que las lea antes de instalar
- <application>&sap.r3;</application>:</para>
-
- <sect3 xml:id="sap-notes-46b">
- <title>&sap.r3; 4.6B, &oracle; 8.0.5</title>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Número</entry>
- <entry>Título</entry>
- </row>
- </thead>
- <tbody>
-
-
- <row>
- <entry>0171356</entry> <entry>SAP Software on Linux: Essential
- Comments</entry>
- </row>
-
- <row>
- <entry>0201147</entry> <entry>INST: 4.6C R/3 Inst. on UNIX -
- Oracle</entry>
- </row>
-
- <row>
- <entry>0373203</entry> <entry>Update / Migration Oracle 8.0.5 --&gt;
- 8.0.6/8.1.6 LINUX</entry>
- </row>
-
- <row>
- <entry>0072984</entry> <entry>Release of Digital UNIX 4.0B for
- Oracle</entry>
- </row>
-
- <row>
- <entry>0130581</entry> <entry>R3SETUP step DIPGNTAB terminates</entry>
- </row>
-
- <row>
- <entry>0144978</entry> <entry>Your system has not been installed
- correctly</entry>
- </row>
-
- <row>
- <entry>0162266</entry> <entry>Questions and tips for R3SETUP on Windows
- NT / W2K</entry>
- </row>
-
- </tbody>
- </tgroup>
- </informaltable>
- </sect3>
-
- <sect3 xml:id="sap-notes-46c">
- <title>&sap.r3; 4.6C, &oracle; 8.1.7</title>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Número</entry>
- <entry>Título</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>0015023</entry> <entry>Initializing table TCPDB (RSXP0004)
- (EBCDIC)</entry>
- </row>
-
- <row>
- <entry>0045619</entry> <entry>R/3 with several languages or
- typefaces</entry>
- </row>
-
- <row>
- <entry>0171356</entry> <entry>SAP Software on Linux: Essential
- Comments</entry>
- </row>
-
- <row>
- <entry>0195603</entry> <entry>RedHat 6.1 Enterprise version:
- Known problems</entry>
- </row>
-
- <row>
- <entry>0212876</entry> <entry>The new archiving tool SAPCAR</entry>
- </row>
-
- <row>
- <entry>0300900</entry> <entry>Linux: Released DELL Hardware</entry>
- </row>
-
- <row>
- <entry>0377187</entry> <entry>RedHat 6.2: important remarks</entry>
- </row>
-
- <row>
- <entry>0387074</entry> <entry>INST: R/3 4.6C SR2 Installation on
- UNIX</entry>
- </row>
-
- <row>
- <entry>0387077</entry> <entry>INST: R/3 4.6C SR2 Inst. on UNIX -
- Oracle</entry>
- </row>
-
- <row>
- <entry>0387078</entry> <entry>SAP Software on UNIX: OS Dependencies
- 4.6C SR2</entry>
- </row>
-
-
- </tbody>
- </tgroup>
- </informaltable>
- </sect3>
- </sect2>
-
- <sect2 xml:id="hardware-requirements">
- <title>Requisitos de hardware</title>
-
- <para>El siguiente equipo es suficiente para la instalación
- de un <application>sistema &sap.r3;</application>. Si pretende
- darle uso productivo necesitará hacer un estudio
- detallado de sus necesidades:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Componente</entry>
- <entry>4.6B</entry>
- <entry>4.6C</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Procesador</entry>
- <entry>&pentium; III 800MHz x 2</entry>
- <entry>&pentium; III 800MHz x 2</entry>
- </row>
-
- <row>
- <entry>Memoria</entry>
- <entry>1GB ECC</entry>
- <entry>2GB ECC</entry>
- </row>
-
- <row>
- <entry>Espacio en disco</entry>
- <entry>50-60GB (IDES)</entry>
- <entry>50-60GB (IDES)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Para su uso en producción le recomendamos procesadores
- &xeon; con una caché grande, discos de alta
- velocidad (SCSI, controlador de RAID por hardware), USV y
- ECC-RAM. Un espacio en disco tan grande se debe al sistema
- IDES preconfigurado, que crea ficheros de bases de datos de
- 27&nbsp;GB durante la instalación. Este espacio
- también es suficiente para sistemas de producción
- iniciales y datos de aplicación.</para>
-
- <sect3 xml:id="hardware-46b">
- <title>&sap.r3; 4.6B, &oracle; 8.0.5</title>
-
- <para>Este es el hardware que utilizamos al escribir este texto:
- placa base dual
- con 2 procesadores &pentium;&nbsp;III a 800&nbsp;MHz, adaptador
- SCSI &adaptec; 29160 Ultra160 (para acceder a una unidad de cinta
- 40/80&nbsp;GB DLT y CDROM), &mylex; &acceleraid; (2 canales,
- firmware 6.00-1-00 con 32&nbsp;MB RAM). La controladora &mylex; RAID
- tiene conectados dos discos duros de 17&nbsp;GB
- (replicados) y cuatro discos duros de 36&nbsp;GB (RAID nivel 5).</para>
- </sect3>
-
- <sect3 xml:id="hardware-46c">
- <title>&sap.r3; 4.6C, &oracle; 8.1.7</title>
-
- <para>Para esta instalación se usó un &dell; &poweredge;
- 2500: placa base dual con 2 procesadores &pentium;&nbsp;III
- a 1000&nbsp;MHz (256&nbsp;kB de Caché), 2&nbsp;GB PC133 ECC
- SDRAM, controladora RAID PERC/3 DC PCI con 128&nbsp;MB y una unidad
- EIDE DVD-ROM. La controladora RAID tiene conectados dos discos
- duros 18&nbsp;GB (replicados) y cuatro discos duros de
- 36&nbsp;GB (RAID nivel 5).</para>
-
- </sect3>
- </sect2>
-
- <sect2 xml:id="installation">
- <title>Instalación de &os;</title>
-
- <para>Lo primero que tiene que hacer es instalar &os;. Hay muchas
- formas de hacerlo. Nosotros instalamos &os; 4.3 desde un FTP y
- FreeBSD&nbsp;4.5 desde el CD de la distribución. Si necesita
- más información sobre los medios de instalación
- de &os; consulte la
- <xref linkend="install-diff-media"/>.</para>
-
- <sect3 xml:id="disk-layout">
- <title>Esquema de disco</title>
-
- <para>Quisimos hacer el proceso lo más simple posible,
- así que usamos el esquema de disco de
- <application>&sap.r3; 46B</application> y <application>&sap.r3; 46C
- SR2</application>. Solo cambiamos los nombres
- de dispositivo debido a que las instalaciones tuvieron lugar en
- hardware diferente (<filename>/dev/da</filename> y
- <filename>/dev/amr</filename> respectivamente. Si
- utiliza una AMI &megaraid; verá en pantalla
- <filename>/dev/amr0s1a</filename> en lugar de
- <filename>/dev/da0s1a</filename>):</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Sistema de ficheros</entry>
- <entry>Tamaño (bloques de 1k)</entry>
- <entry>Tamaño (GB)</entry>
- <entry>Montado en</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><filename>/dev/da0s1a</filename></entry>
- <entry>1.016.303</entry>
- <entry>1</entry>
- <entry><filename>/</filename></entry>
- </row>
-
- <row>
- <entry><filename>/dev/da0s1b</filename></entry>
- <entry> </entry>
- <entry>6</entry>
- <entry>swap</entry>
- </row>
-
- <row>
- <entry><filename>/dev/da0s1e</filename></entry>
- <entry>2.032.623</entry>
- <entry>2</entry>
- <entry><filename>/var</filename></entry>
- </row>
-
- <row>
- <entry><filename>/dev/da0s1f</filename></entry>
- <entry>8.205.339</entry>
- <entry>8</entry>
- <entry><filename>/usr</filename></entry>
- </row>
-
- <row>
- <entry><filename>/dev/da1s1e</filename></entry>
- <entry>45.734.361</entry>
- <entry>45</entry>
- <entry><filename>/compat/linux/oracle</filename></entry>
- </row>
-
- <row>
- <entry><filename>/dev/da1s1f</filename></entry>
- <entry>2.032.623</entry>
- <entry>2</entry>
- <entry><filename>/compat/linux/sapmnt</filename></entry>
- </row>
-
- <row>
- <entry><filename>/dev/da1s1g</filename></entry>
- <entry>2.032.623</entry>
- <entry>2</entry>
- <entry><filename>/compat/linux/usr/sap</filename></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Configure e inicialice antes que nada las dos unidades
- lógicas con el software &mylex; o PERC/3 RAID.
- El software puede iniciarse durante la fase
- de arranque de <acronym>BIOS</acronym>.</para>
-
- <para>Por favor, tenga en cuenta que el esquema de disco que
- utilizamos difiere ligeramente de las recomendaciones de
- &sap;, ya que &sap; sugiere montar los subdirectorios
- <application>&oracle;</application>
- (y algunos otros) por separado. Decidimos
- crearlos como subdirectorios reales para simplificar.
- </para>
- </sect3>
-
- <sect3 xml:id="makeworldandnewkernel">
- <title><command>make world</command> y un nuevo kernel</title>
-
- <para>Descargue las fuentes -STABLE más recientes.
- Ejecute <command>make world</command> y compile su kernel
- personalizado. Recuerde incluir en él tanto los
- <link linkend="kerneltuning">parámetros del kernel</link>
- requeridos por <application>&sap.r3;</application>
- como los que necesita
- <application>&oracle;</application>.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="installingthelinuxenviornment">
- <title>Instalación del entorno Linux</title>
-
- <sect3 xml:id="installinglinuxbase-system">
- <title>Instalación del sistema base Linux</title>
-
- <para>Primero instale el port
- <link linkend="linuxemu-libs-port">linux_base</link>
- (como <systemitem class="username">root</systemitem>):</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput>
-&prompt.root; <userinput>make install distclean</userinput></screen>
-
- </sect3>
-
-
- <sect3 xml:id="installinglinuxdevelopment">
- <title>Instalación del entorno de desarrollo Linux</title>
-
- <para>El entorno de desarrollo Linux es imprescindible si quiere
- instalar
- <application>&oracle;</application> en &os; según se
- explica en la <xref linkend="linuxemu-oracle"/>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/devel/linux_devtools</userinput>
-&prompt.root; <userinput>make install distclean</userinput></screen>
-
- <para>El entorno de desarrollo Linux solo ha de
- instalarse si sigue el proceso para instalar
- <application>&sap.r3; 46B IDES</application>.
- No es necesario si <application>&oracle; DB</application>
- no está reenlazado («relinked») con el sistema
- &os;. Este sería su caso si está usa el fichero
- comprimido tar de <application>&oracle;</application> de un
- sistema Linux.</para>
-
- </sect3>
-
-
- <sect3 xml:id="installingnecessaryrpms">
- <title>Instalación de los RPM necesarios</title>
- <indexterm><primary>RPM</primary></indexterm>
-
- <para>Necesitará soporte PAM para iniciar el programa
- <command>R3SETUP</command>.
- Durante la primera instalación de
- <application>&sap;</application>
- en FreeBSD 4.3-STABLE intentamos instalar PAM con todas
- las dependencias y finalmente forzamos la
- instalación del paquete PAM, y funcionó.
- En <application>&sap.r3; 4.6C SR2</application> forzamos
- la instalación del RPM PAM, que también
- funcionó, así que parece que las dependencias
- no lo son tanto:</para>
-
-
-<screen>&prompt.root; <userinput>rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
-pam-0.68-7.i386.rpm</userinput></screen>
-
- <para>Para que <application>&oracle; 8.0.5</application> pueda
- lanzar el agente inteligente también tendremos que
- instalar el paquete Tcl de RedHat
- <filename>tcl-8.0.5-30.i386.rpm</filename> (si no,
- cuando lo reenlace durante la instalación de
- <application>&oracle;</application> no funcionará).
- Existen otros aspectos relacionados con el
- reenlazado de <application>&oracle;</application> a tener en
- cuenta durante la instalación, pero
- atañen a la versión para Linux de
- <application>&oracle;</application> y no son específicos
- de &os;.</para>
-
- </sect3>
-
- <sect3 xml:id="linuxprocandfallbackelfbrand">
- <title>Sugerencias</title>
-
- <para>Le recomendamos añadir
- <literal>linprocfs</literal> a <filename>/etc/fstab</filename>.
- Consulte &man.linprocfs.5; para más información.
- Otro parámetro que debería configurar es
- <literal>kern.fallback_elf_brand=3</literal> en
- <filename>/etc/sysctl.conf</filename>.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="creatingsapr3env">
- <title>Creación del entorno &sap.r3;</title>
-
- <sect3 xml:id="filesystemsandmountpoints">
- <title>Creación de los sistemas de ficheros y
- puntos de montaje necesarios</title>
-
- <para>Para una instalación sencilla es suficiente con
- crear los siguientes sistemas de ficheros:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>punto de montaje</entry>
- <entry>tamaño en GB</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><filename>/compat/linux/oracle</filename></entry>
- <entry>45 GB</entry>
- </row>
-
- <row>
- <entry><filename>/compat/linux/sapmnt</filename></entry>
- <entry>2 GB</entry>
- </row>
-
- <row>
- <entry><filename>/compat/linux/usr/sap</filename></entry>
- <entry>2 GB</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>También es necesario crear algunos enlaces. Si no,
- el instalador <application>&sap;</application>
- tendrá problemas ya que buscará los siguientes
- enlaces:</para>
-
- <screen>&prompt.root; <userinput>ln -s /compat/linux/oracle /oracle</userinput>
-&prompt.root; <userinput>ln -s /compat/linux/sapmnt /sapmnt</userinput>
-&prompt.root; <userinput>ln -s /compat/linux/usr/sap /usr/sap</userinput></screen>
-
- <para>Veamos unos cuantos errores que se le pueden presentar
- durante la instalación (en este caso
- con el sistema <emphasis>PRD</emphasis> y la instalación
- de <application>&sap.r3; 4.6C SR2</application>):</para>
-
- <screen>INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200
- Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to
- /sapmnt/PRD/exe. Creating if it does not exist...
-
-WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400
- Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file
- /compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The
- program cannot go on as long as this link exists at this
- location. Move the link to another location.
-
-ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0
- can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content
- '/sapmnt/PRD/exe'</screen>
- </sect3>
-
- <sect3 xml:id="creatingusersanddirectories">
- <title>Creación de usuarios y directorios</title>
-
- <para><application>&sap.r3;</application> necesita dos usuarios
- y tres grupos. Los nombres de usuario dependen del
- <quote><application>&sap;</application> system ID</quote>
- (SID), y consisten en tres letras.
- Algunos de estos SID
- están reservados por <application>&sap;</application>
- (por ejemplo <literal>SAP</literal> y <literal>NIX</literal>.
- Tiene una lista completa de ellos en la documentación
- de <application>&sap;</application>).
- Para la instalación de IDES usamos <literal>IDS</literal>
- y para la instalación de 4.6C SR2 <literal>PRD</literal>,
- dado que ese sistema está pensado para un uso de
- producción. Tenemos por lo tanto los siguientes
- grupos (Los ID de grupo pueden ser diferentes, estos son
- solamente los valores que utilizamos en nuestra
- instalación):</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>ID de grupo</entry>
- <entry>nombre de grupo</entry>
- <entry>descripción</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>100</entry>
- <entry>dba</entry>
- <entry>Administrador de base de datos</entry>
- </row>
- <row>
- <entry>101</entry>
- <entry>sapsys</entry>
- <entry>Sistema &sap;</entry>
- </row>
- <row>
- <entry>102</entry>
- <entry>oper</entry>
- <entry>Operador de base de datos</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>En una instalación por omisión de
- <application>&oracle;</application> solo se usa el
- grupo <systemitem class="groupname">dba</systemitem>.
- Puede usar el grupo
- <systemitem class="groupname">oper</systemitem> como grupo
- <systemitem class="groupname">dba</systemitem> (consulte la
- documentación de
- <application>&oracle;</application> y
- <application>&sap;</application>
- para más información).</para>
-
- <para>También necesitaremos los siguientes usuarios:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="6">
- <thead>
- <row>
- <entry>ID de usuario</entry>
- <entry>nombre de usuario</entry>
- <entry>nombre genérico</entry>
- <entry>grupo</entry>
- <entry>grupos adicionales</entry>
- <entry>descripción</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>1000</entry>
- <entry>idsadm/prdadm</entry>
- <entry><replaceable>sid</replaceable>adm</entry>
- <entry>sapsys</entry>
- <entry>oper</entry>
- <entry>Administrador &sap;</entry>
- </row>
- <row>
- <entry>1002</entry>
- <entry>oraids/oraprd</entry>
- <entry>ora<replaceable>sid</replaceable></entry>
- <entry>dba</entry>
- <entry>oper</entry>
- <entry>Administrador &oracle;</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Al añadir dichos usuarios mediante
- &man.adduser.8; tenga en cuenta que debe incluir
- las siguientes entradas (observe la shell y el
- directorio home) al crear el
- <quote>administrador &sap;</quote>:</para>
-
- <programlisting>Name: <replaceable>sid</replaceable>adm
-Password: ******
-Fullname: SAP Administrator <replaceable>SID</replaceable>
-Uid: 1000
-Gid: 101 (sapsys)
-Class:
-Groups: sapsys dba
-HOME: /home/<replaceable>sid</replaceable>adm
-Shell: bash (/compat/linux/bin/bash)</programlisting>
-
- <para>y para el <quote>Administrador &oracle;</quote>:</para>
-
- <programlisting>Name: ora<replaceable>sid</replaceable>
-Password: ******
-Fullname: Oracle Administrator <replaceable>SID</replaceable>
-Uid: 1002
-Gid: 100 (dba)
-Class:
-Groups: dba
-HOME: /oracle/<replaceable>sid</replaceable>
-Shell: bash (/compat/linux/bin/bash)</programlisting>
-
- <para>Esto también incluye al grupo
- <systemitem class="groupname">oper</systemitem> en caso de que esté
- usando el grupo <systemitem class="groupname">dba</systemitem> y
- el grupo <systemitem class="groupname">oper</systemitem>.</para>
-
- </sect3>
-
- <sect3 xml:id="creatingdirectories">
- <title>Creación de directorios</title>
-
- <para>Estos directorios se crean como sistemas de ficheros
- independientes. Esto depende totalmente de sus necesidades.
- Nosotros decidimos crearlos como directorios ya que todos
- están en el mismo RAID 5:</para>
-
- <para>Primero vamos a configurar los propietarios y los
- derechos de algunos directorios (como
- <systemitem class="username">root</systemitem>):</para>
-
- <screen>&prompt.root; <userinput>chmod 775 /oracle</userinput>
-&prompt.root; <userinput>chmod 777 /sapmnt</userinput>
-&prompt.root; <userinput>chown root:dba /oracle</userinput>
-&prompt.root; <userinput>chown sidadm:sapsys /compat/linux/usr/sap</userinput>
-&prompt.root; <userinput>chmod 775 /compat/linux/usr/sap</userinput></screen>
-
- <para>Luego vamos a crear directorios como el
- usuario <systemitem class="username">ora<replaceable>sid</replaceable></systemitem>.
- Estos serán todos subdirectorios de
- <filename>/oracle/SID</filename>:</para>
-
- <screen>&prompt.root; <userinput>su - orasid</userinput>
-&prompt.root; <userinput>cd /oracle/SID</userinput>
-&prompt.root; <userinput>mkdir mirrlogA mirrlogB origlogA origlogB</userinput>
-&prompt.root; <userinput>mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6</userinput>
-&prompt.root; <userinput>mkdir saparch sapreorg</userinput>
-&prompt.root; <userinput>exit</userinput></screen>
-
- <para>Para la instalación de
- <application>&oracle; 8.1.7</application>
- tendrá que crear unos cuantos directorios
- más:</para>
-
- <screen>&prompt.root; <userinput>su - orasid</userinput>
-&prompt.root; <userinput>cd /oracle</userinput>
-&prompt.root; <userinput>mkdir 805_32</userinput>
-&prompt.root; <userinput>mkdir client stage</userinput>
-&prompt.root; <userinput>mkdir client/80x_32</userinput>
-&prompt.root; <userinput>mkdir stage/817_32</userinput>
-&prompt.root; <userinput>cd /oracle/SID</userinput>
-&prompt.root; <userinput>mkdir 817_32</userinput></screen>
-
- <note><para>El directorio <filename>client/80x_32</filename> tiene
- que tener exactamente este nombre. No sustituya la
- <emphasis>x</emphasis>
- por un número ni por ninguna otra
- cosa.</para></note>
-
- <para>En el tercer paso creamos directorios como usuario
- <systemitem class="username"><replaceable>sid</replaceable>adm</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>su - sidadm</userinput>
-&prompt.root; <userinput>cd /usr/sap</userinput>
-&prompt.root; <userinput>mkdir SID</userinput>
-&prompt.root; <userinput>mkdir trans</userinput>
-&prompt.root; <userinput>exit</userinput></screen>
- </sect3>
-
- <sect3 xml:id="entriesinslashetcslashservices">
- <title>Entradas en <filename>/etc/services</filename></title>
-
- <para><application>&sap.r3;</application> requiere algunas entradas
- en <filename>/etc/services</filename> que es posible que
- no estén correctamente activadas durante
- la instalalación. Añada
- las siguientes entradas (necesita al menos las entradas
- correspondientes al número de instancia, en
- este caso, <literal>00</literal>. No hará ningún
- daño añadir todas las entradas de
- <literal>00</literal> hasta <literal>99</literal> para
- <literal>dp</literal>, <literal>gw</literal>, <literal>sp</literal>
- y <literal>ms</literal>). Si va a utilizar un
- <application>SAProuter</application>
- o necesita acceder a
- <application>&sap;</application> OSS, también
- necesitará <literal>99</literal>, ya que el puerto 3299
- se usa generalmente para el proceso
- <application>SAProuter</application>
- en el sistema destino:</para>
-
- <programlisting>
-sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number
-sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number
-sapsp00 3400/tcp # 3400 + Instance-Number
-sapms00 3500/tcp # 3500 + Instance-Number
-sapms<replaceable>SID</replaceable> 3600/tcp # SAP Message Server. 3600 + Instance-Number
-sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-Number</programlisting>
- </sect3>
-
- <sect3 xml:id="necessarylocales">
- <title>Locales necesarios</title>
- <indexterm><primary>locales</primary></indexterm>
-
- <para><application>&sap;</application> requiere al menos dos locales
- que no forman parte de la instalación por defecto de
- RedHat. &sap; dispone de los paquetes RPMs que pueda necesitar;
- puede descargalos desde su FTP, aunque tenga en cuenta que
- solo pueden acceder al mismo los clientes con acceso OSS).
- Consulte la nota
- 0171356, que contiene una lista de los RPM que necesitará.
- </para>
-
- <para>También puede crear enlaces
- (por ejemplo desde <emphasis>de_DE</emphasis> y
- <emphasis>en_US</emphasis> ), pero no se lo recomendamos si
- pretende configurar un sistema de producción (no obstante,
- hemos de reconocer que a nosotros nos ha funcionado con
- el sistema IDES sin ningún problema). Necesitará
- al menos los siguientes locales:</para>
-
- <programlisting>de_DE.ISO-8859-1
-en_US.ISO-8859-1</programlisting>
-
- <para>Haga los enlaces de esta manera:</para>
-
- <screen>&prompt.root; <userinput>cd /compat/linux/usr/share/locale</userinput>
-&prompt.root; <userinput>ln -s de_DE de_DE.ISO-8859-1</userinput>
-&prompt.root; <userinput>ln -s en_US en_US.ISO-8859-1</userinput></screen>
-
- <para>Si no están habrá algunos
- problemas durante la instalación. Si se ignoran
- (es decir, si configura el <literal>STATUS</literal>
- de los pasos relacionados con esos locales a
- <literal>OK</literal> en el fichero
- <filename>CENTRDB.R3S</filename>) será imposible
- entrar al sistema <application>&sap;</application> sin
- tener que recurrir a ciertas triquiñuelas.</para>
- </sect3>
-
- <sect3 xml:id="kerneltuning">
- <title>Personalización del kernel</title>
- <indexterm><primary>Personalización del kernel</primary></indexterm>
-
- <para>Los sistemas <application>&sap.r3;</application> necesitan muchos
- recursos, por eso hemos añadido los siguientes
- parámetros al fichero de configuración de su
- kernel:</para>
-
- <programlisting># Set these for memory pigs (SAP and Oracle):
-options MAXDSIZ="(1024*1024*1024)"
-options DFLDSIZ="(1024*1024*1024)"
-# System V options needed.
-options SYSVSHM #SYSV-style shared memory
-options SHMMAXPGS=262144 #max amount of shared mem. pages
-#options SHMMAXPGS=393216 #use this for the 46C inst.parameters
-options SHMMNI=256 #max number of shared memory ident if.
-options SHMSEG=100 #max shared mem.segs per process
-options SYSVMSG #SYSV-style message queues
-options MSGSEG=32767 #max num. of mes.segments in system
-options MSGSSZ=32 #size of msg-seg. MUST be power of 2
-options MSGMNB=65535 #max char. per message queue
-options MSGTQL=2046 #max amount of msgs in system
-options SYSVSEM #SYSV-style semaphores
-options SEMMNU=256 #number of semaphore UNDO structures
-options SEMMNS=1024 #number of semaphores in system
-options SEMMNI=520 #number of semaphore identifiers
-options SEMUME=100 #number of UNDO keys</programlisting>
-
- <para>Puede consultar los valores mínimos en la
- documentación de &sap;. Como no hay detalles
- sobre Linux, consulte para mayor información
- la sección de HP-UX (32-bit).
- El sistema de instalación 4.6C SR2 tiene más
- memoria principal, asín que los segmentos compartidos
- pueden ser más extensos tanto para
- <application>&sap;</application> como para
- <application>&oracle;</application>; elija, por tanto,
- un número mayor de páginas
- de memoria compartida.</para>
-
- <note><para>En la instalación por omisión de
- FreeBSD&nbsp;4.5 en &i386;, configure <literal>MAXDSIZ</literal>
- y <literal>DFLDSIZ</literal> como máximo a 1&nbsp;GB.
- Si no lo hace podrían aparecer errores extraños
- como <errorname>ORA-27102: out of memory</errorname>
- y <errorname>Linux Error: 12: Cannot allocate memory</errorname>.</para></note>
- </sect3>
- </sect2>
-
- <sect2 xml:id="installingsapr3">
- <title>Instalación de &sap.r3;</title>
-
- <sect3 xml:id="preparingsapcdroms">
- <title>Preparación de los CDROM</title>
-
- <para>Hay que montar y desmontar muchos CD-ROM durante la
- instalación. Si tiene suficientes unidades
- de CDROM, podría montarlos todos. Nosotros decidimos
- copiar el contenido de los CD-ROM a los directorios
- correspondientes:</para>
-
- <programlisting>/oracle/<replaceable>SID</replaceable>/sapreorg/<replaceable>nombre-cd</replaceable></programlisting>
-
- <para>Donde <replaceable>nombre-cd</replaceable> era <filename>KERNEL</filename>,
- <filename>RDBMS</filename>, <filename>EXPORT1</filename>,
- <filename>EXPORT2</filename>, <filename>EXPORT3</filename>,
- <filename>EXPORT4</filename>, <filename>EXPORT5</filename> y
- <filename>EXPORT6</filename> para la instalación 4.6B/IDES, y
- <filename>KERNEL</filename>, <filename>RDBMS</filename>,
- <filename>DISK1</filename>, <filename>DISK2</filename>,
- <filename>DISK3</filename>, <filename>DISK4</filename> y
- <filename>LANG</filename> para la instalación 4.6C SR2.
- Todos los nombres de fichero en los CDs montados deben estar
- en mayúsculas; si no es así use la opción
- <option>-g</option> al montar. Utilice lo siguiente:
- </para>
-
- <screen>&prompt.root; <userinput>mount_cd9660 -g /dev/cd0a /mnt</userinput>
-&prompt.root; <userinput>cp -R /mnt/* /oracle/SID/sapreorg/nombre-cd</userinput>
-&prompt.root; <userinput>umount /mnt</userinput></screen>
- </sect3>
-
- <sect3 xml:id="runningtheinstall-script">
- <title>Ejecución del <quote>script</quote> de
- instalación</title>
-
- <para>Primero tendrá que preparar un directorio
- <filename>install</filename>:</para>
-
- <screen>&prompt.root; <userinput>cd /oracle/SID/sapreorg</userinput>
-&prompt.root; <userinput>mkdir install</userinput>
-&prompt.root; <userinput>cd install</userinput></screen>
-
- <para>Una vez arrancado el <quote>script</quote> de instalación
- copiará casi todos los ficheros relevantes en el directorio
- <filename>install</filename>:</para>
-
- <screen>&prompt.root; <userinput>/oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH</userinput></screen>
-
- <para>La instalación IDES (4.6B) incluye un sistema de
- demostración &sap.r3; totalmente personalizado, así
- que hay seis CD EXPORT en lugar de solo tres.
- La plantilla de instalación
- <filename>CENTRDB.R3S</filename> está pensada para
- una instancia central estándar
- (<application>&r3;</application> y
- base de datos), no la instancia central IDES, así que
- hay que copiar el <filename>CENTRDB.R3S</filename>
- correspondiente del directorio
- <filename>EXPORT1</filename>.
- Si no lo hace <command>R3SETUP</command> solo pedirá
- tres CD EXPORT.</para>
-
- <para>La nueva versión de
- <application>&sap; 4.6C SR2</application>
- incluye cuatro CDs EXPORT. El fichero de parámetros
- que controla los pasos de la instalación es
- <filename>CENTRAL.R3S</filename>. A diferencia de versiones
- versiones anteriores, no existen patrones de instalación
- por separado para una instancia central con o sin base de datos.
- <application>&sap;</application> utiliza un patrón separado
- para la instalación de la base
- de datos. Para reiniciar la instalación después es
- suficiente reiniciarla con el fichero original.</para>
-
- <para>Durante y después de la instalación,
- <application>&sap;</application>
- necesita que <command>hostname</command> devuelva
- <emphasis>sólamente</emphasis> el nombre del sistema,
- no el nombre cualificado de dominio. Configure el nombre
- del equipo de ese modo, o active un alias mediante
- <command>alias hostname='hostname -s'</command> para
- <systemitem class="username">ora<replaceable>sid</replaceable></systemitem>
- y para <systemitem class="username"><replaceable>sid</replaceable>adm</systemitem>
- (y para <systemitem class="username">root</systemitem> al menos durante los
- pasos de la instalación realizados como
- <systemitem class="username">root</systemitem>). También puede configurar
- los ficheros <filename>.profile</filename> y
- <filename>.login</filename> de los usuarios que se crean durante
- la instalación <application>&sap;</application>.</para>
- </sect3>
-
- <sect3 xml:id="startr3setup-46B">
- <title>Inicio de <command>R3SETUP</command> 4.6B</title>
-
- <para>Asegúrese de que <envar>LD_LIBRARY_PATH</envar>
- esté configurada correctamente:</para>
-
- <screen>&prompt.root; <userinput>export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib</userinput></screen>
-
- <para>Inicie <command>R3SETUP</command> como <systemitem class="username">root</systemitem>
- desde el directorio de instalación:</para>
-
- <screen>&prompt.root; <userinput>cd /oracle/IDS/sapreorg/install</userinput>
-&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen>
-
- <para>El <quote>script</quote> le preguntará algunas cosas;
- le mostramos aquí entre corchetes la respuesta por
- defecto, y después la respuesta que nosotros
- introdujimos:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Pregunta</entry>
- <entry>Por omisión</entry>
- <entry>Entrada</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Enter SAP System ID</entry>
- <entry>[C11]</entry>
- <entry>IDS<keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter SAP Instance Number</entry>
- <entry>[00]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter SAPMOUNT Directory</entry>
- <entry>[/sapmnt]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter name of SAP central host</entry>
- <entry>[troubadix.domain.de]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter name of SAP db host</entry>
- <entry>[troubadix]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Select character set</entry>
- <entry>[1] (WE8DEC)</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6</entry>
- <entry> </entry>
- <entry>1<keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Extract Oracle Client archive</entry>
- <entry>[1] (Yes, extract)</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter path to KERNEL CD</entry>
- <entry>[/sapcd]</entry>
- <entry>/oracle/IDS/sapreorg/KERNEL</entry>
- </row>
- <row>
- <entry>Enter path to RDBMS CD</entry>
- <entry>[/sapcd]</entry>
- <entry>/oracle/IDS/sapreorg/RDBMS</entry>
- </row>
- <row>
- <entry>Enter path to EXPORT1 CD</entry>
- <entry>[/sapcd]</entry>
- <entry>/oracle/IDS/sapreorg/EXPORT1</entry>
- </row>
- <row>
- <entry>Directory to copy EXPORT1 CD</entry>
- <entry>[/oracle/IDS/sapreorg/CD4_DIR]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter path to EXPORT2 CD</entry>
- <entry>[/sapcd]</entry>
- <entry>/oracle/IDS/sapreorg/EXPORT2</entry>
- </row>
- <row>
- <entry>Directory to copy EXPORT2 CD</entry>
- <entry>[/oracle/IDS/sapreorg/CD5_DIR]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter path to EXPORT3 CD</entry>
- <entry>[/sapcd]</entry>
- <entry>/oracle/IDS/sapreorg/EXPORT3</entry>
- </row>
- <row>
- <entry>Directory to copy EXPORT3 CD</entry>
- <entry>[/oracle/IDS/sapreorg/CD6_DIR]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter path to EXPORT4 CD</entry>
- <entry>[/sapcd]</entry>
- <entry>/oracle/IDS/sapreorg/EXPORT4</entry>
- </row>
- <row>
- <entry>Directory to copy EXPORT4 CD</entry>
- <entry>[/oracle/IDS/sapreorg/CD7_DIR]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter path to EXPORT5 CD</entry>
- <entry>[/sapcd]</entry>
- <entry>/oracle/IDS/sapreorg/EXPORT5</entry>
- </row>
- <row>
- <entry>Directory to copy EXPORT5 CD</entry>
- <entry>[/oracle/IDS/sapreorg/CD8_DIR]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter path to EXPORT6 CD</entry>
- <entry>[/sapcd]</entry>
- <entry>/oracle/IDS/sapreorg/EXPORT6</entry>
- </row>
- <row>
- <entry>Directory to copy EXPORT6 CD</entry>
- <entry>[/oracle/IDS/sapreorg/CD9_DIR]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter amount of RAM for SAP + DB</entry>
- <entry> </entry>
- <entry>850<keycap>Intro</keycap> (en Megabytes)</entry>
- </row>
- <row>
- <entry>Service Entry Message Server</entry>
- <entry>[3600]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Group-ID of sapsys</entry>
- <entry>[101]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Group-ID of oper</entry>
- <entry>[102]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Group-ID of dba</entry>
- <entry>[100]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter User-ID of <replaceable>sid</replaceable>adm</entry>
- <entry>[1000]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter User-ID of ora<replaceable>sid</replaceable></entry>
- <entry>[1002]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Number of parallel procs</entry>
- <entry>[2]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Si no ha copiado los CD a su disco duro el instalador
- <application>&sap;</application> no podrá encontrar
- el CD que necesite (identifica los contenidos mediante
- fichero <filename>LABEL.ASC</filename> de cada CD) y por lo
- tanto le pedirá que introduzca y monte el CD, o que
- confirme o introduzca la ruta de montaje.</para>
-
- <para><filename>CENTRDB.R3S</filename> puede contener algún
- error. En nuestro caso, solicitó
- el CD EXPORT4 más de una vez, pero se le indicó
- la clave correcta (6_LOCATION, luego 7_LOCATION, etc),
- así que pudimos continuar introduciendo
- los valores correctos.</para>
-
- <para>Aparte de algunos problemas que se detallan más
- adelante deberíamos ir llegando a la instalación
- del software de base de datos &oracle;.</para>
- </sect3>
-
- <sect3 xml:id="startr3setup-46C">
- <title>Iniciar <command>R3SETUP</command> 4.6C SR2</title>
-
- <para>Asegúrese de que <envar>LD_LIBRARY_PATH</envar> esté
- correctamente configurada. Tenga en cuenta de que es un valor
- diferente de la instalación 4.6B con
- <application>&oracle; 8.0.5</application>:</para>
-
- <screen>&prompt.root; <userinput>export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib</userinput></screen>
-
- <para>Arranque <command>R3SETUP</command> como el usuario
- <systemitem class="username">root</systemitem>
- desde el directorio de instalación:</para>
-
- <screen>&prompt.root; <userinput>cd /oracle/PRD/sapreorg/install</userinput>
-&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen>
-
- <para>El <quote>script</quote> le preguntará algunas cosas.
- Le presentamos la respuesta por omisión entre corchetes
- y después la respuesta que dimos nosotros):</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Pregunta</entry>
- <entry>Por omisión</entry>
- <entry>Entrada</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Enter SAP System ID</entry>
- <entry>[C11]</entry>
- <entry>PRD<keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter SAP Instance Number</entry>
- <entry>[00]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter SAPMOUNT Directory</entry>
- <entry>[/sapmnt]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter name of SAP central host</entry>
- <entry>[majestix]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Database System ID</entry>
- <entry>[PRD]</entry>
- <entry>PRD<keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter name of SAP db host</entry>
- <entry>[majestix]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Select character set</entry>
- <entry>[1] (WE8DEC)</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Oracle server version (2) Oracle 8.1.7</entry>
- <entry> </entry>
- <entry>2<keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Extract Oracle Client archive</entry>
- <entry>[1] (Yes, extract)</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter path to KERNEL CD</entry>
- <entry>[/sapcd]</entry>
- <entry>/oracle/PRD/sapreorg/KERNEL</entry>
- </row>
- <row>
- <entry>Enter amount of RAM for SAP + DB</entry>
- <entry>2044</entry>
- <entry>1800<keycap>Intro</keycap> (in Megabytes)</entry>
- </row>
- <row>
- <entry>Service Entry Message Server</entry>
- <entry>[3600]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Group-ID of sapsys</entry>
- <entry>[100]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Group-ID of oper</entry>
- <entry>[101]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Group-ID of dba</entry>
- <entry>[102]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter User-ID of <systemitem class="username">oraprd</systemitem></entry>
- <entry>[1002]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter User-ID of <systemitem class="username">prdadm</systemitem></entry>
- <entry>[1000]</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>LDAP support</entry>
- <entry> </entry>
- <entry>3<keycap>Intro</keycap> (no support)</entry>
- </row>
- <row>
- <entry>Installation step completed</entry>
- <entry>[1] (continue)</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Choose installation service</entry>
- <entry>[1] (DB inst,file)</entry>
- <entry><keycap>Intro</keycap></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>La creación de usuarios da un
- error durante la instalación en las fases
- OSUSERDBSID_IND_ORA (al crear al usuario
- <systemitem class="username">ora<replaceable>sid</replaceable></systemitem>) y
- OSUSERSIDADM_IND_ORA (al crear el usuario
- <systemitem class="username"><replaceable>sid</replaceable>adm</systemitem>).</para>
-
- <para>Más adelante hablaremos de cierto problemas
- que aún tenemos pendientes, pero ha llegado el
- momento de instalar el software
- de base de datos &oracle;.</para>
-
- </sect3>
- </sect2>
-
- <sect2 xml:id="installingoracle805">
- <title>Instalación de &oracle; 8.0.5</title>
-
- <para>Consulte los
- <filename>Readme</filename> de &oracle; y las notas de
- de &sap; sobre Linux y <application>&oracle; DB</application>
- por si hubiera algo que le pueda afectar. La mayoría de los
- problemas, por no decir todos, tienen su origen en bibliotecas
- incompatibles.</para>
-
- <para>Para mayor información sobre la instalación
- de <application>&oracle;</application> diríjase al
- <link linkend="linuxemu-oracle">capítulo de
- instalación de &oracle;.</link></para>
-
-
- <sect3 xml:id="installingtheoracle805withorainst">
- <title>Instalación de &oracle; 8.0.5 con <command>orainst</command></title>
-
- <para>Si quiere instalar <application>&oracle; 8.0.5</application>
- necesitará unas cuantas bibliotecas para el enlazado,
- ya que <application>&oracle; 8.0.5</application>
- fué enlazado con una glibc antigua (la de RedHat 6.0),
- pero RedHat 6.1 usa una nueva glibc. Tendrá que
- instalar los siguientes paquetes para
- asegurarse que el reenlazado funcione:</para>
-
- <para><filename>compat-libs-5.2-2.i386.rpm</filename></para>
- <para><filename>compat-glibc-5.2-2.0.7.2.i386.rpm</filename></para>
- <para><filename>compat-egcs-5.2-1.0.3a.1.i386.rpm</filename></para>
- <para><filename>compat-egcs-c++-5.2-1.0.3a.1.i386.rpm</filename></para>
- <para><filename>compat-binutils-5.2-2.9.1.0.23.1.i386.rpm</filename></para>
-
- <para>Para más información consulte las notas
- correspondientes de &sap; o los <filename>Readme</filename>
- de &oracle;. Si no es posible (durante la instalación
- no tuvimos tiempo suficiente para ello), se
- podrían utilizar los binarios originales, o
- los binarios reenlazados de un sistema original RedHat.</para>
-
- <para>Instale el paquete Tcl de RedHat para compilar el agente
- inteligente. Si no puede conseguir
- <filename>tcl-8.0.3-20.i386.rpm</filename> debería
- funcionar una versión más reciente, por ejemplo
- <filename>tcl-8.0.5-30.i386.rpm</filename> para RedHat.</para>
-
- <para>Aparte del reenlazado, la instalación
- es muy sencilla:</para>
-
- <screen>&prompt.root; <userinput>su - oraids</userinput>
-&prompt.root; <userinput>export TERM=xterm</userinput>
-&prompt.root; <userinput>export ORACLE_TERM=xterm</userinput>
-&prompt.root; <userinput>export ORACLE_HOME=/oracle/IDS</userinput>
-&prompt.root; <userinput>cd $ORACLE_HOME/orainst_sap</userinput>
-&prompt.root; <userinput>./orainst</userinput></screen>
-
- <para>Confirme todas las pantallas con <keycap>Intro</keycap> hasta
- que el software esté instalado; todas excepto en la que
- debe quitar la marca de instalación al
- <emphasis>visualizador de
- textos &oracle; en línea</emphasis>, ya que no
- existe para Linux. <application>&oracle;</application>
- intentará, gracias a esto, reenlazar con
- <command>i386-glibc20-linux-gcc</command>
- en lugar de <command>gcc</command>,
- <command>egcs</command> o
- <command>i386-redhat-linux-gcc</command>.</para>
-
- <para>Debido a la falta de tiempo decidimos usar los binarios
- de una versión
- <application>&oracle; 8.0.5 PreProduction</application>,
- después de que nuestro primer intento de que funcionara la
- versión del CD RDBMS fallara y viendo que encontrar y
- utilizar los RPM correctos hubiera sido una pesadilla.</para>
-
- </sect3>
-
- <sect3 xml:id="installingtheoracle805preproduction">
- <title>Instalación de &oracle; 8.0.5 <quote>Pre-production
- Release</quote> para Linux (Kernel 2.0.33)</title>
-
- <para>La instalación es bastante fácil.
- Monte el CD e inicie el instalador. Le preguntará
- por la ubicación del directorio home de &oracle;,
- y copiará en él todos los binarios. (Nosotros
- no eliminamos los restos de una instalación
- RDBMS anterior que no terminó de llegó a
- terminar).</para>
-
- <para>Tras esto la base de datos <application>&oracle;</application>
- puede arrancar.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="installingoracle817">
- <title>Instalación desde el fichero comprimido de
- Linux &oracle; 8.1.7</title>
-
- <para>Descomprima el fichero
- <filename>oracle81732.tgz</filename> (creado en el directorio
- de instalación en un sistema Linux) y descomprímalo en
- <filename>/oracle/SID/817_32/</filename>.</para>
- </sect2>
-
- <sect2 xml:id="continuewithsapr4installation">
- <title>Continúe con la instalación &sap.r3;</title>
-
- <para>Revise las configuraciones del entorno de los usuarios
- <systemitem class="username">idsamd</systemitem>
- (<replaceable>sid</replaceable>adm) y
- <systemitem class="username">oraids</systemitem> (ora<replaceable>sid</replaceable>).
- Ambos deben tener los ficheros
- <filename>.profile</filename>, <filename>.login</filename> y
- <filename>.cshrc</filename> con
- <command>hostname</command> correctamente configurado. En caso
- que el nombre del sistema sea el nombre cualificado completo
- tendrá que cambiar <command>hostname</command> a
- <command>hostname -s</command> en los tres ficheros anteriormente
- citados.</para>
-
- <sect3 xml:id="databaseload">
- <title>Carga de la base de datos</title>
-
- <para>Hecho esto puede rearrancar <command>R3SETUP</command>
- o volver a arrancar la instalación
- (dependiendo si eligió salir o no).
- <command>R3SETUP</command>
- crea las tablas y carga los datos (en 46B IDES,
- desde EXPORT1 a EXPORT6, en 46C desde DISK1 a DISK4)
- mediante <command>R3load</command>.</para>
-
- <para>Cuando se termina la carga de la base de datos (que puede
- llevar un par de horas) se le pedirán algunas
- contraseñas. En una instalación de prueba puede
- usar unas contraseñas de compromiso.
- (<emphasis>use una contraseña de verdad si le preocupa
- siquiera ligeramente la seguridad</emphasis>):</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Pregunta</entry>
- <entry>Entrada</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Enter Password for sapr3</entry>
- <entry>sap<keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Confirum Password for sapr3</entry>
- <entry>sap<keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Enter Password for sys</entry>
- <entry>change_on_install<keycap>Enter</keycap></entry>
- </row>
- <row>
- <entry>Confirm Password for sys</entry>
- <entry>change_on_install<keycap>Enter</keycap></entry>
- </row>
- <row>
- <entry>Enter Password for system</entry>
- <entry>manager<keycap>Intro</keycap></entry>
- </row>
- <row>
- <entry>Confirm Password for system</entry>
- <entry>manager<keycap>Intro</keycap></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Aquí tuvimos problemas con
- <command>dipgntab</command> en la instalación de
- 4.6B.</para>
- </sect3>
-
- <sect3 xml:id="listener">
- <title>Las escuchas</title>
-
- <para>Arranque las escuchas de <application>&oracle;</application>
- con el usuario <systemitem class="username">ora<replaceable>sid</replaceable></systemitem>
- de la siguiente manera:</para>
-
- <screen>&prompt.user; <userinput>umask 0; lsnrctl start</userinput></screen>
-
- <para>Si no lo hace así verá un error
- <errorcode>ORA-12546</errorcode>,
- ya que los sockets no tendrán los permisos correctos.
- Consulte la nota 072984 de &sap;.</para>
- </sect3>
-
- <sect3 xml:id="mnlstables">
- <title>Actualización de tablas MNLS</title>
-
- <para>Si tiene previsto importar idiomas que no sean Latin-1
- en <application>&sap;</application> tiene que actualizar
- las tablas <quote>Multi National Language Support</quote>.
- Tiene más información sobre esto en las notas de
- &sap; OSS 15023 y 45619. Si no es su caso puede saltarse
- esta parte de la instalación de
- <application>&sap;</application>.</para>
-
- <note><para>Aunque no necesite soporte MNLS sigue siendo necesario
- que revise la tabla TCPDB y que la inicialice si no lo ha hecho ya.
- Consulte las notas 0015023 y 0045619 de &sap; para más
- información.</para></note>
- </sect3>
- </sect2>
-
- <sect2 xml:id="postinstallationsteps">
- <title>Pasos para después de la instalación</title>
-
- <sect3 xml:id="requestsapr3licensekey">
- <title>Solicitar una licencia &sap.r3;</title>
-
- <para>Tiene que solicitar una licencia de
- <application>&sap.r3;</application>. No tendrá más
- remedio, puesto que la licencia temporal que se usa durante la
- instalación tiene un límite de validez de
- cuatro semanas. Necesitará la llave
- hardware. Entre al sistema como usuario
- <systemitem class="username">idsadm</systemitem>
- y ejecute <command>saplicense</command>:</para>
-
- <screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -get</userinput></screen>
-
- <para>Si ejecuta <command>saplicense</command> sin parámetros
- verá una lista de opciones. Una vez que tenga la licencia
- en su poder la podrá instalar del siguiente modo:
- </para>
-
- <screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -install</userinput></screen>
-
- <para>Se le solicitará que introduzca los siguientes
- valores:</para>
-
- <programlisting>SAP SYSTEM ID = <replaceable>SID, 3 caracteres</replaceable>
-CUSTOMER KEY = <replaceable>llave hardware, 11 caracteres</replaceable>
-INSTALLATION NO = <replaceable>instalación, 10 caracteres</replaceable>
-EXPIRATION DATE = <replaceable>yyyymmdd, normalmente "99991231"</replaceable>
-LICENSE KEY = <replaceable>licencia, 24 caracteres</replaceable></programlisting>
- </sect3>
-
- <sect3 xml:id="creatingusers">
- <title>Crear usuarios</title>
-
- <para>Cree un usuario dentro del cliente 000 (es necesario
- para algunas tareas que requieren hacerse dentro del cliente 000,
- pero con un usuario que no sea ni
- <systemitem class="username">sap*</systemitem>
- ni <systemitem class="username">ddic</systemitem>). Nosotros solemos elegir
- para este usuario el nombre de <systemitem class="username">wartung</systemitem>
- (o <systemitem class="username">service</systemitem>, ambos
- <quote>servicio</quote> en castellano).
- Los perfiles son <literal>sap_new</literal> y
- <literal>sap_all</literal>. Para mayor seguridad
- las contraseñas para usuarios por defecto dentro de
- todos los clientes deben cambiarse (incluidos los
- usuarios <systemitem class="username">sap*</systemitem> y
- <systemitem class="username">ddic</systemitem>).</para>
- </sect3>
-
- <sect3 xml:id="configtranssysprofileopermodesetc">
- <title>Configurar sistema de transporte, perfil,
- modos de operación, etc.</title>
-
- <para>Dentro del cliente 000 y con un usuario que no sea
- <systemitem class="username">ddic</systemitem>
- ni <systemitem class="username">sap*</systemitem>, haga al menos lo siguiente:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Tarea</entry>
- <entry>Transacción</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Configurar sistema de transporte, por ejemplo como
- <emphasis>Stand-Alone
- Transport Domain Entity</emphasis></entry>
- <entry>STMS</entry>
- </row>
- <row>
- <entry>Crear / editar perfil para el sistema</entry>
- <entry>RZ10</entry>
- </row>
- <row>
- <entry>Mantener modos de operación e instancias</entry>
- <entry>RZ04</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Todos estos (y muchos más) pasos para ejecutar
- después de la instalación se explican de forma
- detallada en las guías de instalación de
- <application>&sap;</application>.</para>
- </sect3>
-
- <sect3 xml:id="editintsidsap">
- <title>Editar <filename>initsid.sap</filename> (<filename>initIDS.sap</filename>)</title>
-
- <para>El fichero <filename>/oracle/IDS/dbs/initIDS.sap</filename>
- contiene la copia de seguridad del perfil de de
- <application>&sap;</application>.
- Aquí es donde debe definir el tamaño de la cinta a
- utilizar, tipo de conpresión, etc. Las siguientes
- modificaciones nos permitirían ejecutar
- <command>sapdba</command> /
- <command>brbackup</command>:</para>
-
- <programlisting>compress = hardware
-archive_function = copy_delete_save
-cpio_flags = "-ov --format=newc --block-size=128 --quiet"
-cpio_in_flags = "-iuv --block-size=128 --quiet"
-tape_size = 38000M
-tape_address = /dev/nsa0
-tape_address_rew = /dev/sa0</programlisting>
-
- <para>Explicación:</para>
-
- <para><varname>compress</varname>: La cinta que usamos es una
- HP DLT1 que tiene compresión por hardware.</para>
-
- <para><varname>archive_function</varname>: Define el
- comportamiento por omisión del almacenaje de los
- logs de &oracle;: los nuevos ficheros de log se guardan en cinta,
- los ficheros de log que ya han sido guardados
- se guardan de nuevo y luego se borran. Así se
- evitan muchos problemas si necesita recuperar la base de datos
- y una de las cintas está dañada.</para>
-
- <para><varname>cpio_flags</varname>: por omisión se usa
- <option>-B</option>, que asigna un tamaño de bloque de
- 5120&nbsp;Bytes. HP recomienda un tamaño de bloque de
- 32&nbsp;K como mínimo; usamos
- <option>--block-size=128</option> para que sea de
- 64&nbsp;K. Necesitaremos usar <option>--format=newc</option>
- porque tenemos números de inodo mayores a 65535. La
- última opción (<option>--quiet</option>) se necesita
- ya que <command>brbackup</command> se queja en cuanto
- <command>cpio</command> imprime los números de bloque
- guardados.</para>
-
- <para><varname>cpio_in_flags</varname>: Parámetros
- necesarios para cargar datos desde la cinta. El formato
- es reconocido automáticamente.</para>
-
- <para><varname>tape_size</varname>: La
- capacidad de almacenaje de la cinta. Por razones
- de seguridad (nosotros usamos compresión por
- hardware) el valor es ligeramente menor que el valor
- real.</para>
-
- <para><varname>tape_address</varname>: El dispositivo
- (que no permite el rebobinado) que se usará con
- <command>cpio</command>.</para>
-
- <para><varname>tape_address_rew</varname>: El dispositivo
- (que permite el rebobinado) que se usará con
- <command>cpio</command>.</para>
- </sect3>
-
- <sect3>
- <title>Aspectos de la configuración una vez
- concluida la instalación</title>
-
- <para>Los siguientes parámetros
- <application>&sap;</application>
- deben personalizarse una vez concluída la
- instalación (los ejemplos son para IDES 46B,
- 1&nbsp;GB de memoria):</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Nombre</entry>
- <entry>Valor</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>ztta/roll_extension</entry>
- <entry>250000000</entry>
- </row>
- <row>
- <entry>abap/heap_area_dia</entry>
- <entry>300000000</entry>
- </row>
- <row>
- <entry>abap/heap_area_nondia</entry>
- <entry>400000000</entry>
- </row>
- <row>
- <entry>em/initial_size_MB</entry>
- <entry>256</entry>
- </row>
- <row>
- <entry>em/blocksize_kB</entry>
- <entry>1024</entry>
- </row>
- <row>
- <entry>ipc/shm_psize_40</entry>
- <entry>70000000</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>&sap; Note 0013026:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Nombre</entry>
- <entry>Valor</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>ztta/dynpro_area</entry>
- <entry>2500000</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>&sap; Note 0157246:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Nombre</entry>
- <entry>Valor</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>rdisp/ROLL_MAXFS</entry>
- <entry>16000</entry>
- </row>
- <row>
- <entry>rdisp/PG_MAXFS</entry>
- <entry>30000</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <note>
- <para>En un sistema con 1&nbsp;GB de memoria y los parámetros
- arriba expuestos puede esperarse encontrar un consumo de
- memoria similar al siguiente:</para>
-
- <programlisting>Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free</programlisting>
- </note>
- </sect3>
- </sect2>
-
- <sect2 xml:id="problemsduringinstallation">
- <title>Problemas durante la instalación</title>
-
- <sect3 xml:id="restartr3setup">
- <title>Reiniciar <command>R3SETUP</command> una vez arreglado
- el problema</title>
-
- <para><command>R3SETUP</command> se detiene si encuentra un error.
- Si ha revisado los logs y ha corregido el error reinicie
- <command>R3SETUP</command>; hágalo seleccionando
- la opción REPEAT en el paso donde
- <command>R3SETUP</command> se detuvo.</para>
-
- <para>Cuando quiera reiniciar <command>R3SETUP</command>
- inícielo con el fichero <filename>R3S</filename>
- correspondiente:</para>
-
- <screen>&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen>
-
- <para>en el caso de 4.6B, o con</para>
-
- <screen>&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen>
-
- <para>en 4.6C; no importa si el error ocurrió
- con <filename>CENTRAL.R3S</filename> o con
- <filename>DATABASE.R3S</filename>.</para>
-
- <note><para>En algunas etapas, <command>R3SETUP</command> asume
- que la base de datos y los procesos
- <application>&sap;</application> están en marcha
- (como aquellos en los cuales se completaron los pasos).
- Si hay errores y por ejemplo la base de datos no se
- puede iniciar tendrá que arrancar la base de datos y
- <application>&sap;</application> manualmente una vez haya
- corregido los errores y antes de iniciar
- <command>R3SETUP</command> nuevamente.</para>
-
- <para>No olvide iniciar también la escucha de
- <application>&oracle;</application>
- (como <systemitem class="username">ora<replaceable>sid</replaceable></systemitem> con
- <command>umask 0; lsnrctl start</command>) si también
- tuvo que detenerlo (si por ejemplo hubo que reiniciar el
- sistema).</para>
- </note>
- </sect3>
-
- <sect3 xml:id="indoraduringduringr3setup">
- <title>OSUSERSIDADM_IND_ORA durante <command>R3SETUP</command></title>
-
- <para>Si <command>R3SETUP</command> se queja en este etapa edite
- la plantilla <command>R3SETUP</command> que esté usando
- en ese momento (<filename>CENTRDB.R3S</filename> (en 4.6B) o
- <filename>CENTRAL.R3S</filename> o
- <filename>DATABASE.R3S</filename> (en 4.6C)).
- Ubique <literal>[OSUSERSIDADM_IND_ORA]</literal> o busque la
- única entrada <literal>STATUS=ERROR</literal> y
- edite los siguientes valores:</para>
-
- <programlisting>HOME=/home/<replaceable>sid</replaceable>adm (was empty)
-STATUS=OK (had status ERROR)
- </programlisting>
-
- <para>Hecho esto, reinicie <command>R3SETUP</command>.</para>
- </sect3>
-
- <sect3 xml:id="indoraduringr3setup">
- <title>OSUSERDBSID_IND_ORA durante <command>R3SETUP</command></title>
-
- <para>Es posible que <command>R3SETUP</command> se queje
- también en esta etapa. El
- error aquí es similar al de la fase
- OSUSERSIDADM_IND_ORA. Edite la plantilla
- <command>R3SETUP</command> que esté usando
- (<filename>CENTRDB.R3S</filename> (en 4.6B) o
- <filename>CENTRAL.R3S</filename> o
- <filename>DATABASE.R3S</filename> (en 4.6C)).
- Ubique <literal>[OSUSERDBSID_IND_ORA]</literal> o busque la
- única entrada <literal>STATUS=ERROR</literal> y
- edite los siguientes valores en esa sección:</para>
-
- <programlisting>STATUS=OK</programlisting>
-
- <para>Hecho esto reinicie <command>R3SETUP</command>.</para>
- </sect3>
-
- <sect3 xml:id="oraviewvrffilenotfound">
- <title><errorname>oraview.vrf FILE NOT FOUND</errorname> durante la instalación de &oracle;</title>
-
- <para>No ha dejado sin seleccionar la opción de
- instalar el <emphasis>visualizador de texto en línea
- de &oracle;</emphasis> antes de iniciar la instalación.
- Está seleccionado para ser instalado, aunque la
- aplicación no existe para Linux. Deje sin seleccionar
- el producto en el menú de instalación de
- <application>&oracle;</application> y reinicie la
- instalación.</para>
- </sect3>
-
- <sect3 xml:id="textenvincalid">
- <title><errorname>TEXTENV_INVALID</errorname> durante <command>R3SETUP</command>, o inicio de RFC o SAPgui</title>
-
- <para>Si se encuentra con este error significa que falta el locale
- correcto. La nota 0171356 de &sap; contiene una lista de RPM que
- deben instalarse (p.ej. <filename>saplocales-1.0-3</filename>,
- <filename>saposcheck-1.0-1</filename> para RedHat 6.1).
- En caso de que ignore todos los errores relacionados y
- configure los <literal>STATUS</literal> correspondientes
- de <literal>ERROR</literal> a <literal>OK</literal>
- (en <filename>CENTRDB.R3S</filename>) cada vez que
- <command>R3SETUP</command> se queje y simplemente reinicie
- <command>R3SETUP</command>; el sistema
- <application>&sap;</application>
- no estará configurado correctamente y no podrá
- conectarse al sistema con <application>SAPgui</application>,
- aunque el sistema pueda arrancar. Si intenta conectar con el
- antiguo <application>SAPgui</application> de Linux recibirá
- los siguientes mensajes:</para>
-
- <programlisting>Sat May 5 14:23:14 2001
-*** ERROR =&gt; no valid userarea given [trgmsgo. 0401]
-Sat May 5 14:23:22 2001
-*** ERROR =&gt; ERROR NR 24 occured [trgmsgi. 0410]
-*** ERROR =&gt; Error when generating text environment. [trgmsgi. 0435]
-*** ERROR =&gt; function failed [trgmsgi. 0447]
-*** ERROR =&gt; no socket operation allowed [trxio.c 3363]
-Speicherzugriffsfehler</programlisting>
-
- <para>Este comportamiento se debe a que
- <application>&sap.r3;</application>
- es incapaz de asignar correctamente un locale y tampoco
- puede configurarse a sí mismo correctamente (faltan
- entradas en algunas tablas de la base de datos).
- Añada las siguientes entradas al fichero
- <filename>DEFAULT.PFL</filename> y podrá conectarse a
- <application>&sap;</application>
- (vea la nota 0043288):</para>
-
- <programlisting>abap/set_etct_env_at_new_mode = 0
-install/collate/active = 0
-rscp/TCP0B = TCP0B</programlisting>
-
- <para>Reinicie el sistema <application>&sap;</application>.
- Puede conectar al sistema, aunque la configuración
- de idioma o de país puede que no funcione como se
- espera de ella. Una vez corregidas las configuraciones de
- país (y proporcionados los locales adecuados)
- puede eliminar estas entradas
- de <filename>DEFAULT.PFL</filename> y el sistema
- <application>&sap;</application> puede reiniciarse.</para>
-
- </sect3>
-
- <sect3 xml:id="ora-00001">
- <title><errorcode>ORA-00001</errorcode></title>
-
- <para>Este error solo aparece con
- <application>&oracle; 8.1.7</application> en FreeBSD&nbsp;4.5.
- Se debe a que la base de datos <application>&oracle;</application>
- no puede inicializarse correctamente y se viene abajo, dejando
- semáforos y memoria compartida en el sistema. El
- siguiente intento de iniciar la base de datos produce
- el error <errorcode>ORA-00001</errorcode>.</para>
-
- <para>Encuéntrelos con <command>ipcs -a</command> y
- elimínelos
- con <command>ipcrm</command>.</para>
- </sect3>
-
- <sect3 xml:id="ora-00445pmon">
- <title><errorcode>ORA-00445</errorcode> (Brackground Process PMON
- Did Not Start)</title>
-
- <para>Este error tuvo lugar con
- <application>&oracle; 8.1.7</application>. Aparece si
- se arranca la base de datos con el <quote>script</quote>
- <command>startsap</command>
- (por ejemplo <command>startsap_majestix_00</command>)
- con el usuario <systemitem class="username">prdadm</systemitem>.</para>
-
- <para>Una solución (entre otras) es iniciar la base de
- datos con el usuario <systemitem class="username">oraprd</systemitem> en
- lugar de hacerlo con <command>svrmgrl</command>:</para>
-
- <screen>&prompt.user; <userinput>svrmgrl</userinput>
-SVRMGR&gt; <userinput>connect internal;</userinput>
-SVRMGR&gt; <userinput>startup</userinput>;
-SVRMGR&gt; <userinput>exit</userinput></screen>
-
- </sect3>
-
- <sect3 xml:id="ora-12546">
- <title><errorcode>ORA-12546</errorcode> (Start Listener with Correct
- Permissions)</title>
-
- <para>Inicie la escucha de <application>&oracle;</application> como
- usuario <systemitem class="username">oraids</systemitem> con la siguiente
- orden:</para>
-
- <screen>&prompt.root; <userinput>umask 0; lsnrctl start</userinput></screen>
-
- <para>De no ser así puede encontrarse con el error
- <errorcode>ORA-12546</errorcode>, ya que los sockets no
- tendrán los permisos adecuados. Consulte la nota
- de &sap; 0072984.</para>
- </sect3>
-
- <sect3 xml:id="ora-27102">
- <title><errorcode>ORA-27102</errorcode> (Out of Memory)</title>
-
- <para>Este error ocurre al tratar de usar valores mayores
- a 1&nbsp;GB (1024x1024x1024) en <literal>MAXDSIZ</literal>
- y <literal>DFLDSIZ</literal>. Recibiremos, además, este
- otro error:
- <errorname>Linux Error 12: Cannot allocate memory</errorname>.</para>
- </sect3>
-
- <sect3 xml:id="dipgntabindind">
- <title>[DIPGNTAB_IND_IND] during <command>R3SETUP</command></title>
-
- <para>Consulte la nota de &sap; 0130581 de
- (<command>R3SETUP</command> step
- (<literal>DIPGNTAB</literal> terminates). Por alguna razón
- durante la instalación específica IDES el proceso
- de instalación no usaba el nombre de sistema correcto
- <application>&sap;</application> <quote>IDS</quote>
- sino la cadena vacía <literal>""</literal>.
- Esto provocaba algunos errores menores en el acceso a directorios,
- ya que las rutas se generan dinámicamente en base a dicho
- <replaceable>SID</replaceable> (en este caso IDS).
- En lugar de ejecutar los accesos del siguiente modo :</para>
-
- <programlisting>/usr/sap/IDS/SYS/...
-/usr/sap/IDS/DVMGS00</programlisting>
-
- <para>se usaron las siguientes rutas:</para>
-
- <programlisting>/usr/sap//SYS/...
-/usr/sap/D00</programlisting>
-
- <para>Para continuar con la instalación creamos un
- enlace y un directorio adicional:</para>
-
- <screen>&prompt.root; <userinput>pwd</userinput>
-/compat/linux/usr/sap
-&prompt.root; <userinput>ls -l</userinput>
-total 4
-drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00
-drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS
-lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -&gt; IDS/SYS
-drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
-drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans</screen>
-
- <para>Encontramos una descripción de este comportamiento
- en las notas de &sap;. (0029227 y 0008401).
- En la instalación de
- <application>&sap; 4.6C</application> no tuvimos estos
- problemas.</para>
- </sect3>
-
- <sect3 xml:id="rfcrswboiniindind">
- <title>[RFCRSWBOINI_IND_IND] during <command>R3SETUP</command></title>
-
- <para>Durante la instalación de
- <application>&sap; 4.6C</application> nos encontramos con
- este error, cuyo origen está en un error que tuvo lugar
- anteriormente durante la propia instalación.
- Busque en sus ficheros de log y corrija el problema.</para>
-
- <para>Si despues de buscar en los logs el error resulta ser
- el correcto (revise las notas de &sap;), puede poner el
- <literal>STATUS</literal> del paso donde se produce el error de
- <literal>ERROR</literal> a <literal>OK</literal>
- (en el fichero <filename>CENTRDB.R3S</filename>) y reiniciar
- <command>R3SETUP</command>. Una vez finalizada la instalación,
- tiene que ejecutar el informe <literal>RSWBOINS</literal>
- de la transacción SE38. Consulte la nota &sap; 0162266
- para más información sobre las fases
- <literal>RFCRSWBOINI</literal> y
- <literal>RFCRADDBDIF</literal>.</para>
- </sect3>
-
- <sect3 xml:id="rfcraddbdifindind">
- <title>[RFCRADDBDIF_IND_IND] during <command>R3SETUP</command></title>
-
- <para>Aquí sucede lo mismo de antes, asegúrese,
- revisando los logs, de que la causa de este error no esté
- en algún problema previo.</para>
-
- <para>Si en la nota de &sap; 0162266 está la solución
- ponga el <literal>STATUS</literal> del paso donde se
- produce el error de
- <literal>ERROR</literal> a <literal>OK</literal>
- (en el fichero <filename>CENTRDB.R3S</filename>) y reinicie
- <command>R3SETUP</command>. Una vez finalizada la
- instalación ejecute el informe
- <literal>RADDBDIF</literal> desde la transacción SE38.</para>
- </sect3>
-
- <sect3 xml:id="sigactionsig31">
- <title><errorcode>sigaction sig31: File size limit exceeded</errorcode></title>
-
- <para>Este error ocurrió durante el inicio del proceso
- <application>&sap;</application>
- <emphasis>disp+work</emphasis>. Si inicia
- <application>&sap;</application>
- con el <quote>script</quote> <command>startsap</command>
- se inician los subprocesos que se separan y hacen el
- <quote>trabajo sucio</quote> de iniciar el resto de procesos de
- <application>&sap;</application>, pero es importante saber que
- el propio <quote>script</quote> no notará si algo ha
- ido mal.</para>
-
- <para>Puede revisar si los procesos <application>&sap;</application>
- se iniciaron correctamente con
- <command>ps ax | grep SID</command>, que
- le proporcionará una lista de todos los procesos de
- <application>&oracle;</application> y de
- <application>&sap;</application>.
- Si parece que algunos procesos no están, o si no puede
- conectarse al sistema <application>&sap;</application> revise los
- logs que encontrará en
- <filename>/usr/sap/SID/DVEBMGSnr/work/</filename>.
- Los ficheros que debe revisar son <filename>dev_ms</filename> y
- <filename>dev_disp</filename>.</para>
-
- <para>La señal 31 aparece si la cantidad de memoria
- compartida asignada a
- <application>&oracle;</application> y
- <application>&sap;</application>
- supera la definida dentro del fichero de configuración del
- kernel y puede resolverse usando un valor mayor:</para>
-
- <programlisting># larger value for 46C production systems:
-options SHMMAXPGS=393216
-# smaller value sufficient for 46B:
-#options SHMMAXPGS=262144</programlisting>
-
- </sect3>
-
- <sect3 xml:id="saposcolfails">
- <title>Start of <command>saposcol</command> Failed</title>
-
- <para>Hay algunos problemas con el programa
- <command>saposcol</command> (version 4.6D).
- El sistema <application>&sap;</application> utiliza
- <command>saposcol</command> para recoger datos del
- rendimiento del sistema. Este programa no es necesario para
- usar el sistema <application>&sap;</application>, así
- que el problema puede considerarse como poco importante.
- La versión más antigua (4.6B) funciona, pero
- no recoge todos los datos (muchas llamadas devolverán
- un 0, por ejemplo el uso de CPU).</para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="linuxemu-advanced">
- <title>Temas avanzados</title>
-
- <para>Si siente curiosidad por saber cómo funciona
- la compatibilidad con Linux esta es la sección que
- debe leer. La mayor parte de lo que sigue está
- basado casi en su totalidad en un mensaje enviado por Terry
- Lambert <email>tlambert@primenet.com</email> a la lista &a.chat;
- (Message ID: <literal>&lt;199906020108.SAA07001@usr09.primenet.com&gt;</literal>).</para>
-
- <sect2>
- <title>?Cómo funciona?</title>
- <indexterm><primary>cargador de clase en
- ejecución</primary></indexterm>
-
- <para>&os; dispone de una abstracció denominada
- <quote>cargador de clase en ejecución</quote>. Esto no
- es más que un bloque de código incrustado
- en la llamada &man.execve.2; del sistema.</para>
-
- <para>Históricamente las plataformas &unix;
- disponían de un único cargador
- de binarios, que en última instancia
- (<emphasis>fallback</emphasis>) recurría
- al cargador <literal>#!</literal> para ejecutar
- cualesquiera intérpretes o scripts de la shell. Ese
- cargador único examinaba el número
- mágico (generalmente los 4 u 8 primeros bytes
- del fichero) para ver si era un binario reconocible
- por el sistema y, en tal caso, invocaba al cargador
- binario.</para>
-
- <para>Si no era de tipo binario, la llamada &man.execve.2;
- devolvía un error y la shell intentaba empezar
- a ejecutarlo como órdenes shell, tomando por
- defecto como punto de partida
- <quote>la shell actual, sea cual sea</quote>.</para>
-
- <para>Posteriormente se pensó en hacer una
- modificación de manera que &man.sh.1; examinara
- los dos primeros caracteres, de modo que si eran
- <literal>:\n</literal> se llamaba a la shell
- &man.csh.1; en su lugar (parece ser que en SCO
- fueron los primeros en utilizar ese truco).</para>
-
- <para>Lo que ocurre ahora es que &os; dispone de una
- lista de cargadores, en lugar de uno solo. &os;
- recorre esa lista de cargadores, con un cargador genérico
- <literal>#!</literal> que sabe reconocer los
- intérpretes en base a los caracteres que
- siguen al siguiente espacio en blanco, con
- <filename>/bin/sh</filename> como último
- recurso.</para>
-
-
- <indexterm><primary>ELF</primary></indexterm>
-
- <para>Para dar soporte a la ABI
- (<quote>Application Binary Interface</quote>) de Linux,
- &os; interpreta el número mágico como un
- binario ELF (<quote>Executable and Linking
- Format</quote>): En este punto no hace distinción
- entre &os;, &solaris;, &linux; o cualquier otro SO que tenga un
- tipo de imagen ELF.</para>
-
- <indexterm><primary>Solaris</primary></indexterm>
-
- <para>El cargador ELF busca entonces una marca
- (<emphasis>brand</emphasis>) especial, una
- sección de comentarios en la imagen ELF
- que no está presente en los binarios ELF de
- SVR4/&solaris;.</para>
-
- <para>Para que los binarios de Linux funcionen deben
- estar marcados con &man.brandelf.1; como tipo
- <literal>Linux</literal>:</para>
-
- <screen>&prompt.root; <userinput>brandelf -t Linux file</userinput></screen>
-
- <para>Hecho esto el cargador ELF verá la
- marca <literal>Linux</literal> en el fichero.</para>
-
- <indexterm>
- <primary>ELF</primary>
- <secondary>marcado</secondary>
- </indexterm>
-
- <para>Cuando el cargador ELF ve la marca
- <literal>Linux</literal> sustituye un puntero en la
- estructura <literal>proc</literal>. Todas las
- llamadas del sistema se indexan a través de
- este puntero (en un sistema &unix; tradicional
- sería el «array» de estructura
- <literal>sysent[]</literal> que contiene las llamadas
- del sistema). Además, el proceso se marca
- con unos indicadores (<quote>flags</quote>) para que
- el vector trampa del código de envío
- señales lo maneje de una forma determinada,
- así como otros arreglos (menores) que
- serán utilizados por el módulo Linux
- del kernel.</para>
-
- <para>El vector de llamada del sistema Linux contiene,
- entre otras cosas, una lista de entradas
- <literal>sysent[]</literal> cuyas direcciones residen
- en el módulo del kernel.</para>
-
- <para>Cuando el binario Linux realiza una llamada al
- sistema, el código trampa extrae el puntero
- a la función de la llamada del sistema de la estructura
- <literal>proc</literal>, y así obtiene los puntos de
- entrada a las llamadas del sistema Linux, no las
- de &os;.</para>
-
- <para>Además, el modo Linux cambia la raíz
- de las búsquedas de una forma dinámica. En
- efecto, esto es lo que hace la opción
- <option>union</option> cuando se monta un sistema de ficheros
- (¡y que <emphasis>no</emphasis> es lo mismo que el
- sistema de ficheros <literal>unionfs</literal>!). Primero
- se hace un intento de buscar el fichero en el directorio
- <filename>/compat/linux/ruta-original</filename>
- y <emphasis>solo después</emphasis>, si lo anterior
- falla, se repite la búsqueda en el
- directorio
- <filename>/ruta-original</filename>. Esto
- permite que se puedan ejecutar binarios que necesitan de
- otros binarios (por ejemplo las herramientas de
- programación (<quote>toolchain</quote>) de Linux
- pueden ejecutarse en su totalidad bajo la ABI de
- Linux). Esto significa también que los binarios
- Linux pueden cargar y ejecutar binarios &os; si los binarios
- Linux equivalentes no se hallan presentes y que se puede poner
- una orden &man.uname.1; en el árbol de directorios
- <filename>/compat/linux</filename> para poder estar seguros de
- que los binarios Linux no puedan decir que no estaban
- ejecutándose en Linux.</para>
-
- <para>En efecto, hay un kernel Linux en el kernel
- &os;; las distintas funciones subyacentes que
- implementan todos los servicios proporcionados
- por el kernel son idénticas en ambas, las
- tablas de entradas de llamadas del sistema en &os; y en
- Linux: operaciones del sistema de ficheros, operaciones
- de memoria virtual, envío de señales
- IPC System V, etc. La única diferencia es que
- los binarios &os; reciben sus funciones de
- conexión (<quote><emphasis>glue</emphasis></quote>)
- y los binarios Linux las suyas (la mayoría de los
- sistemas operativos más antiguos solo tienen sus
- propias funciones de conexión:
- direcciones de funciones en un <quote>array</quote> de
- estructura <literal>sysent[]</literal> estática y
- global, en lugar de direcciones de funciones que se extraen
- a partir de un puntero inicializado dinámicamente
- en la estructura <literal>proc</literal> del proceso que hace
- la llamada).</para>
-
-
- <para>?Cuál es entonces la ABI nativa de &os;? No
- importa. Básicamente, la única diferencia
- es (ahora mismo; esto podría cambiar y probablemente lo
- hará en una release futura) que las funciones de
- conexión de &os; están enlazadas
- estáticamente en el kernel mientras que las de
- Linux pueden estarlo también estáticamente o
- se puede acceder a ellas por medio de un módulo
- del kernel.</para>
-
- <para>Bien, pero ?de verdad es esto una
- emulación? No. Es una implementación ABI, no
- una emulación. No hay un emulador involucrado (ni
- un simulador, para adelantarnos a la siguiente
- pregunta).</para>
-
- <para>Entonces ?por qué a veces se le llama
- <quote>emulación Linux</quote>? ¡Para hacer
- más difícil el vender &os;! En serio, se
- debe a que la primera implementación se hizo
- en un momento en que realmente no había ninguna
- palabra distinta a esa para describir lo que se estaba
- haciendo; decir que &os; ejecutaba binarios Linux no era
- cierto si no se compilaba el código o se cargaba
- un módulo; hacía falta una forma de
- describir todo esto y acabamos usando
- <quote>emulador Linux</quote>.</para>
-
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/mac/chapter.xml b/es_ES.ISO8859-1/books/handbook/mac/chapter.xml
deleted file mode 100644
index 4054e96b12..0000000000
--- a/es_ES.ISO8859-1/books/handbook/mac/chapter.xml
+++ /dev/null
@@ -1,171 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/mac/chapter.xml
- %SRCID% 0.0
-
-
- $FreeBSD$
-
-
-
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/mac/chapter.xml
- %SRCID% 0.0
-
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="mac">
- <info><title>Mandatory Access Control</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml:id="mac-synopsis">
- <title>Sinopsis</title>
-
- <indexterm><primary>MAC</primary></indexterm>
- <indexterm>
- <primary>Mandatory Access Control</primary>
- <see>MAC</see>
- </indexterm>
-
-
-
-<para>Pendiente de Traducción</para>
-
-
- </sect1>
-
- <sect1 xml:id="mac-inline-glossary">
- <title>Términos clave en este capítulo</title>
-
-
- <para>Pendiente de traducción</para>
-
- </sect1>
-
- <sect1 xml:id="mac-initial">
- <title>Explicación de MAC</title>
-
- <para>Pendiente de traducción</para>
- </sect1>
-
- <sect1 xml:id="mac-understandlabel">
- <title>Las etiquetas MAC</title>
-
- <para>Pendiente de traducción</para>
-
- </sect1>
-
- <sect1 xml:id="mac-modules">
- <title>Configuración de módulos</title>
-
- <para>Pendiente de traducción</para>
-
-
- </sect1>
-
- <sect1 xml:id="mac-ifoff">
- <title>El módulo MAC ifoff</title>
-
- <para>Pendiente de traducción</para>
-
-
- </sect1>
-
- <sect1 xml:id="mac-portacl">
- <title>El módulo MAC portacl</title>
-
- <para>Pendiente de traducción</para>
-
-
- </sect1>
-
- <sect1 xml:id="mac-labelingpolicies">
- <title>Políticas de etiquetas MAC</title>
-
-
- <para>Pendiente de traducción</para>
-
- </sect1>
-
- <sect1 xml:id="mac-partition">
- <title>El módulo MAC partition</title>
-
- <para>Pendiente de traducción</para>
-
-
- </sect1>
-
- <sect1 xml:id="mac-mls">
- <title>El módulo de seguridad multinivel MAC</title>
-
- <para>Pendiente de traducción</para>
-
-
- </sect1>
-
- <sect1 xml:id="mac-biba">
- <title>El módulo MAC Biba</title>
-
- <para>Pendiente de traducción</para>
-
-
-
-
-
- </sect1>
-
- <sect1 xml:id="mac-lomac">
- <title>El módulo MAC LOMAC</title>
-
-
-
-
- <para>Pendiente de traducción</para>
-
- </sect1>
-
- <sect1 xml:id="mac-implementing">
- <title>Implementación de un entorno seguro con MAC</title>
-
-
-
- <para>Pendiente de traducción</para>
-
-
-
- </sect1>
-
- <sect1 xml:id="MAC-examplehttpd">
- <title>Otro ejemplo: Uso de MAC para restringir un servidor web</title>
-
-
- <para>Pendiente de traducción</para>
-
-
-
-
-
- </sect1>
-
- <sect1 xml:id="mac-troubleshoot">
- <title>Depuración de errores en MAC</title>
-
-
-
- <para>Pendiente de traducción</para>
-
-
-
-
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/mail/chapter.xml b/es_ES.ISO8859-1/books/handbook/mail/chapter.xml
deleted file mode 100755
index 0c3e141887..0000000000
--- a/es_ES.ISO8859-1/books/handbook/mail/chapter.xml
+++ /dev/null
@@ -1,2492 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/mail/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/mail/chapter.xml,v 1.2 2004/07/29 15:31:44 carvay Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="mail">
- <info><title>Correo Electrónico</title>
- <authorgroup>
- <author><personname><firstname>Bill</firstname><surname>Lloyd</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Reescrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml:id="mail-synopsis">
- <title>Sinopsis</title>
- <indexterm><primary>email</primary></indexterm>
- <indexterm><primary>correo electónico</primary></indexterm>
-
- <para>El <quote>Correo Electrónico</quote>, o <quote>email</quote>,
- es una de las formas de comunicación más usadas hoy en
- dia.
- Este capítulo es una introducción básica de
- cómo poner en marcha un servidor de correo en FreeBSD, aunque
- no es una guía completa y se han omitido muchos conceptos
- importantes. Si se necesita información exhaustiva sobre el
- tema puede recurrirse a los libros listados en <xref linkend="bibliography"/>.</para>
-
- <para>Después de leer este capítulo usted sabrá:</para>
-
- <itemizedlist>
- <listitem>
- <para>Qué software está involucrado en el envío y
- recepción de correo electrónico.</para>
- </listitem>
-
- <listitem>
- <para>Dónde se encuentran en FreeBSD los ficheros
- básicos de configuración de
- <application>sendmail</application>.</para>
- </listitem>
-
- <listitem>
- <para>Cómo bloquear a los <quote>spammers</quote> y evitar
- el uso no autorizado de su servidor de correo.</para>
- </listitem>
-
- <listitem>
- <para>Cómo instalar y configurar agentes de transferencia de
- correo (MTA) en su sistema, para reemplazar
- <application>sendmail</application>.</para>
- </listitem>
-
- <listitem>
- <para>Cómo resolver problemas comunes en servidores de
- correo.</para>
- </listitem>
-
- <listitem>
- <para>Cómo usar SMTP con UUCP.</para>
- </listitem>
-
- <listitem>
- <para>Cómo usar correo con una conexión dialup.</para>
- </listitem>
-
- <listitem>
- <para>Cómo configurar SMTP con autentificación para
- más seguridad.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo debería usted:</para>
-
- <itemizedlist>
- <listitem>
- <para>Configurar apropiadamente su conexión de red
- (<xref linkend="advanced-networking"/>).</para>
- </listitem>
-
- <listitem>
- <para>Configurar apropiadamente la información de DNS de su
- servidor de correo (<xref linkend="advanced-networking"/>).</para>
- </listitem>
-
- <listitem>
- <para>Saber como instalar software adicional (<xref linkend="ports"/>).</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="mail-using">
- <title>Utilización del correo electrónico</title>
- <indexterm><primary>POP</primary></indexterm>
- <indexterm><primary>IMAP</primary></indexterm>
- <indexterm><primary>DNS</primary></indexterm>
-
- <para>Existen varios elementos relacionados con el intercambio de correo
- electrónico. A saber:
- <link linkend="mail-mua">El agente de usuario (Mail User Agent o
- MUA)</link>,
- <link linkend="mail-mta">El agente de transporte de correo (Mail
- Transport Agent o MTA)</link>,
- <link linkend="mail-dns">El DNS</link>,
- <link linkend="mail-receive">Las carpetas de correo (Mailboxes)</link>,
- y por supuesto,
- <link linkend="mail-host">la máquina servidora de correo (mail
- host)</link>.</para>
-
- <sect2 xml:id="mail-mua">
- <title>El Agente de Usuario</title>
-
- <para>Entre las opciones más conocidas tenemos:
- <application>mutt</application>,
- <application>pine</application>, <application>elm</application>,
- y <command>mail</command>, junto con programas con interfaz
- gráfica del estilo de <application>balsa</application> o
- <application>xfmail</application> por nombrar unos pocos.
- También existen lectores de correo basados en navegadores web.
- Los programas de correo basados en navegadores web
- actúan de pasarela para las transacciones de correo
- electrónico, entregando dichas transacciones al
- <link linkend="mail-host"><quote>servidor de correo</quote></link>
- local, llamando a uno de los <link linkend="mail-mta">agentes
- de transporte de correo</link> disponibles en la máquina local,
- o entregando dichas transacciones a un agente de transporte
- remoto utilizando el protocolo <acronym>TCP</acronym>.</para>
- </sect2>
-
- <sect2 xml:id="mail-mta">
- <title>Agente de Transporte de Correo</title>
- <indexterm>
- <primary>transporte</primary>
- <secondary><application>sendmail</application></secondary>
- </indexterm>
- <indexterm>
- <primary>transporte</primary>
- <secondary><application>postfix</application></secondary>
- </indexterm>
- <indexterm>
- <primary>transporte</primary>
- <secondary><application>qmail</application></secondary>
- </indexterm>
- <indexterm>
- <primary>transporte</primary>
- <secondary><application>exim</application></secondary>
- </indexterm>
-
- <para>&os; viene con <application>sendmail</application> por defecto,
- pero también se soportan otros d&aelig;mones, entre los cuales
- se encuentran:</para>
- <itemizedlist>
- <listitem>
- <para><application>exim</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>postfix</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>qmail</application>.</para>
- </listitem>
- </itemizedlist>
-
- <para>El agente de transporte de correo normalmente posee dos
- funcionalidades, por un lado se responsabiliza de la recepción
- y por otro se encarga de entregar el correo de salida.
- <emphasis>No</emphasis> es responsable de la recolección
- automática de correo mediante la utilización de
- protocolos como <acronym>POP</acronym> o <acronym>IMAP</acronym>,
- ni se utiliza para que el usuario pueda acceder a las
- carpetas de correo locales. Para realizar estas otras tareas,
- se necesitan <link linkend="mail-receive">d&aelig;mons</link>
- adicionales.</para>
-
- <warning>
- <para> Versiones antiguas de <application>sendmail</application>
- poseen varios problemas de seguridad que pueden facilitar a un
- atacante el acceso local o remoto a la máquina
- que ejecuta <application>sendmail</application>.
- Para evitar dichos problemas de seguridad se recomienda
- utilizar una versión actualizada de <application>
- sendmail</application>.
- Tiene más opciones a la hora de elegir <acronym>
- MTA</acronym> en los <link linkend="ports">Ports de
- &os;</link>.</para>
- </warning>
- </sect2>
-
- <sect2 xml:id="mail-dns">
- <title>Correo electrónico y DNS</title>
-
- <para>El Sistema de Nombres de Dominio (en inglés DNS) y su
- correspondiente d&aelig;mon (llamado <command>named</command>)
- constituyen una parte fundamental del procedimiento
- de entrega de correo electrónico. Para entregar el correo
- electrónico al destinatario adecuado el d&aelig;mon
- servidor de correo busca el sitio remoto dentro del sistema de
- DNS.</para>
- <indexterm>
- <primary>registro MX</primary>
- </indexterm>
-
- <para>El <acronym>DNS</acronym> es la entidad responsable de asociar
- nombres con direcciones IP, pero además se encarga de
- almacenar información específica relacionada con la
- entrega de correo mediante registros de tipo MX. Los registros MX
- (Mail eXchanger) especifican qué máquina o
- máquinas están encargadas de recibir correo
- electrónico para un determinado nombre de dominio. En caso
- de no existir ningún registro MX para el dominio del
- destinatario, se busca información almacenada
- en registros de tipo A para enviar el correo al destino final.</para>
-
- <para>Se pueden consultar los registros MX para cualquier dominio
- utilizando el comando &man.host.1;, como se puede observar en el
- siguiente ejemplo:</para>
-
- <screen>&prompt.user; <userinput>host -t mx FreeBSD.org</userinput>
- FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen>
- </sect2>
-
- <sect2 xml:id="mail-receive">
- <title>Recepción de correo</title>
- <indexterm>
- <primary>correo</primary>
- <secondary>recepción</secondary>
- </indexterm>
-
- <para>La recepción de correo electrónico para su dominio
- se realiza mediante lo que se conoce como la máquina de
- correo (mail host). Ésta máquina recoge todo el correo
- dirigido a su dominio y lo almacena en <filename>mbox</filename>
- (el método por defecto para el almacenamiento de correo) o en
- formato Maildir, dependiendo de la configuración de la
- máquina. Una vez que el correo ha sido almacenado
- con éxito se puede leer en local utilizando aplicaciones como
- &man.mail.1; o como <application>mutt</application>, o de forma remota
- mediante un conjunto de protocolos tales como
- <acronym>POP</acronym> o <acronym>IMAP</acronym>. Esto significa que
- si usted va a leer el correo de forma local no necesita instalar
- ningún servidor de <acronym>POP</acronym> o
- <acronym>IMAP</acronym>.</para>
-
- <sect3 xml:id="pop-and-imap">
- <title>Acceso a carpetas de correo remotas mediante
- <acronym>POP</acronym> e <acronym>IMAP</acronym></title>
-
- <indexterm><primary>POP</primary></indexterm>
- <indexterm><primary>IMAP</primary></indexterm>
- <para>Para poder acceder a carpetas de correo de forma remota se
- necesita tener acceso a un servidor de <acronym>POP</acronym> o
- <acronym>IMAP</acronym>. Éstos protocolos permiten a los
- usuarios conectarse a sus carpetas de correo desde ubicaciones
- remotas de una forma sencilla. Aunque ambos, <acronym>POP</acronym>
- y <acronym>IMAP</acronym>, permiten este acceso remoto
- <acronym>IMAP</acronym> ofrece algunas ventajas añadidas,
- algunas de las cuales son:</para>
-
- <itemizedlist>
- <listitem>
- <para>El acceso mediante <acronym>IMAP</acronym> permite almacenar
- los correos en el servidor remoto sin necesidad de extraerlos
- y tener que almacenarlos en local.</para>
- </listitem>
-
- <listitem>
- <para><acronym>IMAP</acronym> soporta actualizaciones concurrentes.</para>
- </listitem>
-
- <listitem>
- <para><acronym>IMAP</acronym> resulta ser extremadamente
- útil bajo enlaces de baja velocidad puesto que permite
- a los usuarios recuperar la estructura de los mensajes sin
- necesidad de bajarse todo el contenido. Además puede
- realizar tareas tales como búsquedas directas en el
- servidor con el fin de minimizar la utilización
- de la red.</para>
- </listitem>
-
- </itemizedlist>
-
- <para>Para instalar un servidor de <acronym>POP</acronym> o de
- <acronym>IMAP</acronym> se deben dar los siguientes pasos:</para>
-
- <procedure>
- <step>
- <para>Seleccionar el servidor <acronym>IMAP</acronym> o
- <acronym>POP</acronym> que mejor cumpla a sus necesidades.
- Los siguientes servidores <acronym>POP</acronym> e
- <acronym>IMAP</acronym> son bien conocidos y son firmes
- candidatos para ello:</para>
-
- <itemizedlist>
- <listitem>
- <para><application>qpopper</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>teapop</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>imap-uw</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>courier-imap</application>;</para>
- </listitem>
- </itemizedlist>
-
- </step>
-
- <step>
- <para>Instalar el d&aelig;mon <acronym>POP</acronym> o
- <acronym>IMAP</acronym> de su elección desde
- el árbol de <quote>ports</quote>.</para>
- </step>
-
- <step>
- <para>Modifique donde sea necesario <filename>
- /etc/inetd.conf</filename> para que el servidor
- <acronym>POP</acronym> o <acronym>IMAP</acronym>
- se ejecute automáticamente.</para>
- </step>
- </procedure>
-
- <warning>
- <para> Tenga en cuenta que tanto <acronym>POP</acronym>
- como <acronym>IMAP</acronym> transmiten información,
- en especial el usuario y la contraseña, en texto plano.
- Eso significa que si se desea seguridad en la transmisión
- de la información a través de la red se deben
- considerar mecanismos adicionales como por ejemplo el
- encapsulado de la sesión mediante &man.ssh.1;.
- El encapsulado de sesiones se explica en
- <xref linkend="security-ssh-tunneling"/>.</para>
- </warning>
- </sect3>
-
- <sect3 xml:id="local">
- <title>Acceso a carpetas de correo locales</title>
-
- <para>Las carpetas de correo pueden abrirse de forma local utilizando
- un agente de correo de usuario <acronym>(MUA)</acronym>
- en el servidor donde reside la carpeta. Se suelen usar los
- programas <application>mutt</application> or &man.mail.1;.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="mail-host">
- <title>El Servidor de Correo (Mail Host)</title>
- <indexterm><primary>servidor de correo</primary></indexterm>
-
- <para>El servidor de correo es el nombre que se usa para identificar a
- la máquina responsable de la entrega y
- recepción de correo electrónico dentro de una
- organización. Ésta máquina puede recibir correo
- de varios usuarios dentro de su dominio.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="sendmail">
- <info><title>Configuración de <application>sendmail</application></title>
- <authorgroup>
- <author><personname><firstname>Christopher</firstname><surname>Shumway</surname></personname><contrib>Contribuido por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary><application>sendmail</application></primary>
- </indexterm>
-
- <para>&man.sendmail.8; es el agente de transporte de correo (MTA) por
- defecto de FreeBSD.
- La responsabilidad de <application>sendmail</application> consiste en
- aceptar correo de agentes de correo de usuario (<acronym>MUA</acronym>)
- y en entregar dichos correos al agente de transporte de correo
- apropiado, según se especifique en su archivo de
- configuración. <application>Sendmail</application>
- también acepta conexiones de red provinientes de otros agentes
- de transporte y puede depositar el correo recibido en carpetas locales o
- o entregarlo a otros programas.</para>
-
- <para><application>sendmail</application> utiliza los siguientes ficheros
- de configuración:</para>
-
- <indexterm>
- <primary><filename>/etc/mail/access</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/aliases</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/local-host-names</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/mailer.conf</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/mailertable</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/sendmail.cf</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/virtusertable</filename></primary>
- </indexterm>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Filename</entry>
- <entry>Function</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <filename>/etc/mail/access</filename>
- </entry>
- <entry>Base de datos de accesos de <application>sendmail</application></entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/aliases</filename>
- </entry>
- <entry>Carpeta de alias</entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/local-host-names</filename>
- </entry>
- <entry>Listados de máquinas para las que
- <application>sendmail</application>acepta correo</entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/mailer.conf</filename>
- </entry>
- <entry>Configuración del programa de correo</entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/mailertable</filename>
- </entry>
- <entry>Tabla de entregas de correo</entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/sendmail.cf</filename>
- </entry>
- <entry>Archivo de configuración principal de
- <application>sendmail</application></entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/virtusertable</filename>
- </entry>
- <entry>Usuarios virtuales y tablas de dominio</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <sect2>
- <title><filename>/etc/mail/access</filename></title>
-
- <para>La base de datos de accesos define qué máquinas o
- direcciones IP pueden acceder al servidor de correo y quée clase
- de acceso tienen permitido. Las máquinas se listan junto con
- las opciones <option>OK</option>, <option>REJECT</option>,
- <option>RELAY</option> o simplemente junto con un mensaje de error
- que se entrega a la rutina de gestión de excepciones de
- <application>sendmail</application>.
- Las máquinas que se listan junto con la opción
- <option>OK</option>, que es el valor por defecto, tienen permiso
- para enviar correo a la máquina servidora siempre y cuando la
- dirección de correo de destino sea la máquina servidora
- de correo. Las máquinas listadas junto con la opción
- <option>REJECT</option> tienen el acceso prohibido a
- conexiones de correo electrónico con el servidor. Por
- último las máquinas que poseen la etiqueta
- <option>RELAY</option> para sus nombres tienen permitido enviar correo
- para cualquier destino a través de la máquina
- servidora de correo.</para>
-
- <example>
- <title>Configuración de la base de datos de acceso de <application>sendmail</application>
- </title>
-
- <programlisting>cyberspammer.com 550 We don't accept mail from spammers
-FUENTE.DE.CORREO.INDISCRIMINADO@ 550 We don't accept mail from spammers
-otra.fuente.de.spam REJECT
-okay.cyberspammer.com OK
-128.32 RELAY</programlisting>
- </example>
-
- <para>En el ejemplo se pueden observar cinco entradas. Los generadores de
- correo que coinciden con la parte izquierda de la tabla se ven afectados
- por la parte acción especificada en la parte derecha.
- Los primeros dos ejemplos emiten un código de error para la
- rutina de excepciones de <application>sendmail</application>.
- El mensaje de error se transmite a la máquina remota cuando
- se recibe un correo que coincide con la parte izquierda de la tabla.
- La siguiente entrada rechaza correo de una determinada máquina
- de internet, <systemitem>otra.fuente.de.spam</systemitem>.
- La siguiente entrada acepta conexiones de correo de la máquina
- <systemitem class="fqdomainname">okay.cyberspammer.com</systemitem>, lo cual es
- más exacto que la línea de arriba de
- <systemitem class="fqdomainname">cyberspammer.com</systemitem>. Las coincidencias
- más completas tienen precedencia sobre las menos
- específicas. La última entrada permite actuar como
- <quote>relay</quote> o pasarela de correo electrónico para aquellas
- máquinas que posean una dirección IP que comience por
- <systemitem>128.32</systemitem>. Éstas máquinas podrían
- enviar correo destinado a otros servidores de correo utilizando el
- nuestro.</para>
-
- <para>Cuando se actualiza este fichero se debe ejecutar
- <command>make</command> dentro de <filename>/etc/mail/</filename>
- para que se actualice la base de datos.</para>
-
- </sect2>
- <sect2>
- <title><filename>/etc/mail/aliases</filename></title>
-
- <para>La base de datos de alias contiene una lista de directorios virtuales
- que son traducidas a otros usuarios, ficheros, programas o incluso otros
- alias.
- A continuación se muestran unos pocos ejemplos de la
- sintáxis que se puede utilizar
- dentro del fichero <filename>/etc/mail/aliases</filename>:</para>
-
- <example>
- <title>Mail Aliases</title>
- <programlisting>root: usuariolocal
-ftp-bugs: joe,eric,paul
-bit.bucket: /dev/null
-procmail: "|/usr/local/bin/procmail"</programlisting>
- </example>
-
- <para>El formato del fichero es sencillo; el nombre de la carpeta de
- correo que aparece a la izquierda
- de los dos puntos se traduce al/los destinos de la derecha.
- El primer ejemplo simplemente traduce la carpeta
- <systemitem class="username">root</systemitem>
- a la carpeta <systemitem class="username">usuariolocal</systemitem>, la cual se examina de
- nuevo utilizando la misma base de datos de alias, y si no existe
- ninguna otra coincidencia el mensaje se entrega
- al usuario local <systemitem class="username">usuariolocal</systemitem>.
- En el ejemplo siguiente se muestra una lista de correo.
- Todo correo que se envía a la carpeta <systemitem class="username">ftp-bugs</systemitem> se traduce en un envío para
- tres carpetas locales diferentes: <systemitem class="username">joe</systemitem>,
- <systemitem class="username">eric</systemitem> y <systemitem class="username">paul</systemitem>.
- Es importante señalar que
- también se pueden especificar carpetas remotas mediante la forma
- <literal>usuario@ejemplo.com</literal>. El siguiente ejemplo muestra
- la escritura del correo a un fichero, en este caso en <filename>
- /dev/null</filename>. El último ejemplo muestra el
- envió de correo a un programa; en este caso el mensaje de
- correo se escribe en la entrada estándar del programa
- <filename>/usr/local/bin/procmail</filename> utilizando una
- tubería (o <quote> pipe</quote>) de &unix;.</para>
-
- <para>Cuando se actualiza este fichero se debe ejecutar
- <command>make</command> dentro de <filename>/etc/mail/</filename>
- para actualizar la base de datos.</para>
- </sect2>
- <sect2>
- <title><filename>/etc/mail/local-host-names</filename></title>
-
- <para>Este archivo es una lista de nombres de máquinas que
- &man.sendmail.8; acepta como nombres locales.
- Se suele utilizar para escribir aquellos dominios o máquinas
- de los cuales <application>sendmail</application> va a recibir correo.
- Por ejemplo, si nuestro servidor de correo
- va a aceptar correo proveniente del dominio <systemitem class="fqdomainname">ejemplo.com</systemitem> y también de la
- máquina <systemitem class="fqdomainname">mail.ejemplo.com</systemitem> nuestro
- <filename>local-host-names</filename>
- debería ser algo así:</para>
-
- <programlisting>ejemplo.com
-mail.ejemplo.com</programlisting>
-
- <para>Cuando se actualiza este fichero &man.sendmail.8; necesita ser
- reiniciado para que tenga en cuenta los cambios.</para>
-
- </sect2>
-
- <sect2>
- <title><filename>/etc/mail/sendmail.cf</filename></title>
-
- <para>Archivo de configuración principal de <application>
- sendmail</application>, controla el comportamiento global de
- <application>sendmail</application>, incluyendo cualquier tarea
- desde la reescritura de direcciones de correo electrónico
- hasta la devolución de mensajes de error a los servidores
- de correo remotos. Es evidente que con un abanico tan diverso el
- fichero de configuración
- acaba por ser bastante complejo y sus detalles quedan fuera de los
- objetivos de esta sección. Afortunadamente este
- fichero raras veces necesita ser modificado, al menos en lo que
- respecta a servidores de correo estándar.
- </para>
-
- <para>El fichero de configuración principal de <application>
- sendmail</application> se puede construir a partir de
- &man.m4.1;, es decir, macros que se utilizan para definir
- características y comportamientos específicos
- de <application>sendmail</application>. Se ruega al lector consultar
- <filename>/usr/src/contrib/sendmail/cf/README</filename> para obtener
- más detalles acerca de las distintas macros que
- se pueden utilizar.</para>
-
- <para>Cuando se realizan cambios a este fichero
- <application>sendmail</application> debe ser reiniciado para que los
- cambios surtan efecto.</para>
-
- </sect2>
- <sect2>
- <title><filename>/etc/mail/virtusertable</filename></title>
-
- <para>El fichero <filename>virtusertable</filename> asocia direcciones de
- correo pertenecientes a dominios y carpetas virtuales con carpetas
- reales. Estas carpetas pueden ser locales, remotas, alias
- definidos en <filename>/etc/mail/aliases</filename> o incluso ficheros.</para>
-
- <example>
- <title>Ejemplo de asociación de correo de dominio virtual</title>
-
- <programlisting>root@ejemplo.com root
-postmaster@ejemplo.com postmaster@noc.ejemplo.net
-@ejemplo.com joe</programlisting>
- </example>
-
- <para>En el ejemplo superior se observa una asociación para el
- dominio <systemitem class="fqdomainname">ejemplo.com</systemitem>.
- Este fichero se procesa de arriba a abajo buscando la primera
- coincidencia. La primera entrada asocia <literal>
- root@ejemplo.com</literal> con la carpeta de correo local denominada
- <systemitem class="username">root</systemitem>. La siguiente entrada asocia
- <literal>postmaster@ejemplo.com</literal> con la carpeta
- <systemitem class="username">postmaster</systemitem> situada en la máquina
- <systemitem class="fqdomainname">noc.ejemplo.net</systemitem>. Por último, si
- no se ha encontrado ninguna coincidencia para
- <systemitem class="fqdomainname">ejemplo.com</systemitem> se le asigna la
- última asociación, la cual asocia cualquier mensaje
- de correo proveniente de <systemitem class="fqdomainname">
- ejemplo.com</systemitem> con la carpeta de
- correo local denominada <systemitem class="username">joe</systemitem>.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="mail-changingmta">
- <info><title>Sustitución del Agente de Transferencia de Correo</title>
- <authorgroup>
- <author><personname><firstname>Andrew</firstname><surname>Boothman</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Gregory</firstname><surname>Neil Shapiro</surname></personname><contrib>Información obtenida de correos escritos por </contrib></author>
- </authorgroup>
- </info>
-
- <indexterm>
- <primary>email</primary>
- <secondary>cambio de mta</secondary>
- </indexterm>
-
- <para>Como ya se ha comentado FreeBSD viene con <application>
- sendmail</application> ya instalado como agente de transferencia de
- correo por defecto. De esta forma <application>sendmail</application>
- se encarga de gestionar el correo entrante y saliente.</para>
-
- <para>No obstante, debido a distintas razones algunos administradores de
- sistemas prefieren utilizar otro MTA.
- Estas razones varían desde simplemente querer probar otros
- programas de transferencia de correo, hasta la necesidad
- de utilizar un determinado programa que hace uso de una función
- específica de un agente determinado. Por suerte
- cualesquiera que sean estas razones FreeBSD posee un sencillo
- procedimiento para sustituir a
- <application>sendmail</application>.</para>
-
- <sect2>
- <title>Instalación de un nuevo MTA</title>
-
- <para>Existen una amplia gama de MTA alternativos a <application>
- sendmail</application>. Un buen punto de partida es el <link linkend="ports">Sistema de Ports de FreeBSD</link>,
- donde se pueden localizar varios. Por supuesto el usuario tiene
- libertad para utilizar cualquier MTA, siempre y cuando se pueda
- ejecutar en FreeBSD sin problemas.</para>
-
- <para>Lo primero es instalar el nuevo MTA. Una vez que está
- instalado normalmente se tiene la oportunidad para decidir si
- realmente cubre las necesidades y también se tiene la
- oportunidad de configurar el nuevo software antes de sustituir a
- <application>sendmail</application>. El usuario debe tener en cuenta
- que el nuevo MTA puede sobreescribir algunos binarios del sistema como
- por ejemplo <filename>/usr/bin/sendmail</filename>.
- En cualquier caso el nuevo software de correo
- suele entrar en funcionamiento con una configuración
- por defecto.</para>
-
- <para>Por favor, recuerde que se recomienda leer la documentación
- del MTA seleccionado para obtener más
- información.</para>
-
- </sect2>
-
- <sect2>
- <title>Desactivación de la aplicación <application>
- sendmail</application></title>
-
- <para>El procedimiento utilizado para ejecutar
- <application>sendmail</application> cambió significativamente
- entre las releases 4.5-RELEASE y 4.6-RELEASE.
- De esta forma el procedimiento utilizado para la desactivación
- hoy en día es
- sutílmente distinto al utilizado en dichas distribuciones.</para>
-
- <sect3>
- <title>FreeBSD 4.5-STABLE antes de 2002/4/4 y anteriores
- (Incluyendo 4.5-RELEASE y anteriores)</title>
-
- <para>Introducir:</para>
-
- <programlisting>sendmail_enable="NO"</programlisting>
-
- <para>dentro de <filename>/etc/rc.conf</filename>. Esta variable
- desactiva el servicio de recepción de correo de
- <application>sendmail</application>,
- pero salvo que se modifique (ver más adelante) el
- fichero <filename>/etc/mail/mailer.conf</filename>
- <application>sendmail</application> todavía será
- la aplicación elegida para enviar correo
- electrónico.</para>
- </sect3>
-
- <sect3>
- <title>FreeBSD 4.5-STABLE desde de 2002/4/4
- (Incluyendo 4.6-RELEASE y posteriores)</title>
-
- <para>Para poder desactivar completamente
- <application>sendmail</application> haga lo siguiente:</para>
-
- <programlisting>sendmail_enable="NONE"</programlisting>
-
- <para>dentro del fichero <filename>/etc/rc.conf.</filename></para>
-
- <warning>
- <para> Se desactiva el servicio de correo de salida de
- <application>sendmail</application>.
- Es importanque que se reemplace con un sistema de entrega de
- correo alternativo que sea totalmente funcional.
- En caso contrario funciones del sistema FreeBSD tales como
- &man.periodic.8; no podrán entregar sus resultados por
- correo eletrónico tal y como normalmente hacen.
- Varias partes del sistema FreeBSD esperan disponer de un sistema
- de correo funcional compatible con
- sendmail. Si las aplicaciones continúan utilizando los
- binarios de <application>sendmail</application>
- para realizar envíos de correo después de su
- desactivación el correo podría ser almacenado en una
- cola inactiva de <application>sendmail</application>, en cuyo caso
- nunca se entregaría.</para>
- </warning>
-
- <para>Si sólo se quiere desactivar el servicio de correo de
- entrada de <application>sendmail</application>, basta con establecer
- la variable:</para>
-
- <programlisting>sendmail_enable="NO"</programlisting>
-
- <para>dentro de <filename>/etc/rc.conf</filename>.
- En &man.rc.sendmail.8; tiene más información sobre
- las opciones de arranque de <application>
- sendmail</application>.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Ejecución del nuevo MTA en el arranque</title>
-
- <para>Existen dos métodos alternativos para ejecutar el nuevo
- MTA en el arranque, dependiendo
- de la versión de FreeBSD que se esté ejecutando.</para>
-
- <sect3>
- <title>FreeBSD 4.5-STABLE antes de 2002/4/11
- (Incluyendo 4.5-RELEASE y anteriores)</title>
-
- <para>Se debe añadir un script en
- <filename>/usr/local/etc/rc.d/</filename> cuyo nombre termine en
- <filename>.sh</filename> y que sea ejecutable por
- <systemitem class="username">root</systemitem>. El script debe aceptar los
- parámetros <literal>start</literal> y
- <literal>stop</literal>. Cuando el sistema &os; se está
- inicializando, los scripts de arranque
- ejecutarán el siguiente comando:</para>
-
- <programlisting>/usr/local/etc/rc.d/supermailer.sh start</programlisting>
-
- <para>La misma orden se puede utilizar también para ejecutar
- el servidor de forma manual.
- Cuando el sistema se está reiniciando los scripts del sistema
- ejecutan los ficheros ubicados en
- <filename>/usr/local/etc/rc.d/</filename> utilizando la opción
- <literal>stop</literal>, en nuestro caso:</para>
-
- <programlisting>/usr/local/etc/rc.d/supermailer.sh stop</programlisting>
-
- <para>Dicho comando tambíen se puede utilizar para detener el
- servidor de correo de forma manual cuando el
- sistema FreeBSD se ejecuta con normalidad.</para>
-
- </sect3>
-
- <sect3>
- <title>FreeBSD 4.5-STABLE después de 2002/4/11
- (Incluyendo 4.6-RELEASE y posteriores)</title>
-
- <para>Con las últimas versiones de FreeBSD se puede utilizar el
- método anterior pero también se puede
- especificar</para>
-
- <programlisting>mta_start_script="nombre_de_fichero"</programlisting>
-
- <para>dentro de <filename>/etc/rc.conf</filename>, donde
- <replaceable>nombre_de_fichero</replaceable> es el nombre de
- algún script que se ejecuta en tiempo de arranque
- para inicializar el nuevo MTA.</para>
- </sect3>
-
- </sect2>
-
- <sect2>
- <title>Sustitución de <application>sendmail</application> como el
- agente de transporte de correo predeterminado.</title>
-
- <para>El programa <application>sendmail</application> es tan
- imprescindible y es utilizado por tal multitud de programas en
- los sistemas &unix; que algunos programas simplemente asumen que
- <application>sendmail</application> se encuentra instalado y
- configurado dentro del sistema.
- Por esta razón varios MTAs alternativos proporcionan su propia
- implementación de la interfaz de línea de comandos que
- posée <application>sendmail</application>; esto facilita que se
- puedan utilizar como sustitutos de <application>sendmail</application>
- sin mayores dificultades.</para>
-
- <para>Por lo tanto si desea utilizar un agente de transporte de correo
- alternativo debe asegurarse de que todo software que intente ejecutar
- binario de <application>sendmail</application> estándar,
- <filename>/usr/bin/sendmail</filename>, realmente ejecute el nuevo MTA
- en su lugar. Por fortuna FreeBSD proporciona un sistema llamado
- &man.mailwrapper.8; que realiza precisamente esta tarea.</para>
-
- <para>Cuando <application>sendmail</application> está funcionando
- se debe localizar algo como lo siguiente dentro del fichero
- <filename>/etc/mail/mailer.conf</filename>:</para>
-
-<programlisting>sendmail /usr/libexec/sendmail/sendmail
-send-mail /usr/libexec/sendmail/sendmail
-mailq /usr/libexec/sendmail/sendmail
-newaliases /usr/libexec/sendmail/sendmail
-hoststat /usr/libexec/sendmail/sendmail
-purgestat /usr/libexec/sendmail/sendmail</programlisting>
-
- <para>Esto significa que cuando cualquiera de estos comandos
- (por ejemplo <filename>sendmail</filename> mísmamente)
- se ejecutan el sistema ejecutará en su lugar una copia del
- el sistema ejecuta en su lugar una copia del <quote>
- mailwrapper</quote> denominada <filename>sendmail</filename>
- que chequea el fichero <filename>mailer.conf</filename> y ejecuta
- <filename>/usr/libexec/sendmail/sendmail</filename>.
- Este sistema permite cambiar de una forma sencilla los binarios que
- se ejecutan realmente cuando se invocan las funciones de
- <filename>sendmail</filename>.</para>
-
- <para>Si se quiere que ejecutar
- <filename>/usr/local/supermailer/bin/sendmail-compat</filename>
- en lugar de <application>sendmail</application> se puede cambiar el
- fichero <filename>/etc/mail/mailer.conf</filename> para que contenga
- lo siguiente:</para>
-
-<programlisting>sendmail /usr/local/supermailer/bin/sendmail-compat
-send-mail /usr/local/supermailer/bin/sendmail-compat
-mailq /usr/local/supermailer/bin/mailq-compat
-newaliases /usr/local/supermailer/bin/newaliases-compat
-hoststat /usr/local/supermailer/bin/hoststat-compat
-purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting>
-
- </sect2>
-
- <sect2>
- <title>Últimos Pasos</title>
-
- <para>Una vez que todo estáconfigurado a su gusto
- hay que matar los procesos de <application>sendmail</application>
- que ya no se necesitan y ejecutar los procesos pertenecientes al
- nuevo software de MTA, o utilizar la opción más
- sencilla: reiniciar la máquina. Reinicar la máquina
- nos brinda la oportunidad de comprobar que se ha configurado
- correctamente el arranque del sistema para que ejecute de forma
- automática el nuevo MTA.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="mail-trouble">
- <title>Depuración de Problemas</title>
- <indexterm>
- <primary>email</primary>
- <secondary>Depuración de problemas</secondary>
- </indexterm>
-
- <qandaset>
- <qandaentry>
- <question>
- <para>?Por qué tengo que utilizar el FQDN para las
- máquinas de mi organización?</para>
- </question>
-
- <answer>
- <para>Probablemente se deba a que la máquina de correo se
- encuentra en un dominio diferente; si por ejemplo la
- máquina de correo se encuentra en <systemitem class="fqdomainname">foo.bar.edu</systemitem>
- y se desea alcanzar una máquina llamada
- <systemitem>mumble</systemitem> en el dominio
- <systemitem class="fqdomainname">bar.edu</systemitem> se tiene que referir a
- ella mediante un nombre de dominio completo
- (<quote>fully-quailified domain name</quote> o FQDN), en éste
- caso <systemitem class="fqdomainname">mumble.bar.edu</systemitem> en lugar de
- referirse a ella simplemente como <systemitem>mumble</systemitem>.</para>
-
- <para>Tradicionalmente, la referencia incompleta era posible
- utilizando <quote>resolvers</quote> de BSD BIND<indexterm>
- <primary>BIND</primary></indexterm>.
- No obstante la versión de <application>BIND</application>
- que en la actualidad se ofrece con FreeBSD ya no permite por defecto
- el uso de dichas abreviaturas salvo para aquellas máquinas
- que pertenecen al dominio al que su sistema pertenezca.
- Una máquina como <systemitem>mumble</systemitem> será buscada
- como <systemitem class="fqdomainname">mumble.foo.bar.edu</systemitem> o la
- búsqueda será redireccionada al servidor de dominio
- raíz del DNS.</para>
-
- <para>Esto es distinto a lo que ocurría en versiones anteriores
- de BIND, donde la búsqueda se producía a través
- de <systemitem class="fqdomainname">mumble.bar.edu</systemitem> y de
- <systemitem class="fqdomainname">mumble.edu</systemitem>. Se recomienda
- consultar a la RFC 1535 para conocer el motivo que se considerara
- una práctica errónea o incluso un agujero de
- seguridad.</para>
-
- <para>Una buena solución a este problema puede ser
- incluír la siguiente línea
-
- <programlisting>search foo.bar.edu bar.edu</programlisting>
-
- en lugar de
-
- <programlisting>domain foo.bar.edu</programlisting>
-
- dentro del fichero <filename>/etc/resolv.conf</filename>.
- No obstante se debe asegurar de que el orden de
- búsqueda no se expande más allá del
- <quote>límite entre la administración local y la administración pública</quote>,
- tal y como se le denomina en la RFC 1535.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para><application>sendmail</application> dice <errorname>mail
- loops back to myself</errorname> (el correo vuelve a mis manos)</para>
- </question>
-
- <answer>
- <para>Esta pregunta se responde en las FAQ de
- <application>sendmail</application> de la siguiente forma:</para>
-
- <programlisting>Estoy obteniendo los siguientes mensajes de error:
-
-553 MX list for domain.net points back to relay.domain.net
-554 &lt;user@domain.net&gt;... Local configuration error
-
-¿Cómo puedo solucionar esto?
-
-Usted ha especificado que el correo para el dominio (por ejemplo,
-para el dominio dominio.net) sea reenviado a una máquina determinada
-(en este caso relay.dominio.net), para lo que se utiliza un registro
-de DNS de tipo MX<indexterm><primary>MX record</primary></indexterm>,
-pero la máquina que actúa de relay no se
-reconoce a sí misma como perteneciente al dominio dominio.net.
-Se debe añadir dominio.net al fichero /etc/mail/local-host-names,
-que recibe el nombre de /etc/sendmail.cw en versiones de sendmail previas
-a la 8.10. Se puede utilizar la macro FEATURE(use_cw_file) para indicar
-dónde se encuentra el fichero local-host-names; también se
-puede añadir <quote>Cw dominio.net</quote> directamente
-al fichero <filename>/etc/mail/sendmail.cf</filename>
- </programlisting>
-
- <para>Las FAQ de <application>sendmail</application> se pueden
- encontrar en <uri xlink:href="http://www.sendmail.org/faq/">http://www.sendmail.org/faq/</uri> y son de lectura
- obligada si se quiere depurar el comportamiento y la
- configuración de <application>sendmail</application>.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>?Cómo puedo ejecutar un servidor de correo
- utilizando una máquina que se conecta a internet
- mediante modem analógico (dial-up) ?</para>
- </question>
-
- <answer>
- <para>Se quiere conectar una máquina FreeBSD dentro de una LAN a
- Internet. La máquina FreeBSD será una pasarela de
- correo para dicha LAN. La conexión mediante PPP<indexterm>
- <primary>PPP</primary></indexterm> no es
- dedicada.</para>
-
- <para>Existen al menos dos formas distintas de hacerlo. Una de ellas
- consiste en utilizar UUCP<indexterm><primary>UUCP</primary>
- </indexterm>.</para>
-
- <para>Otra forma consiste en hacerse con un servidor de internet a
- tiempo completo para proporcionar servicios de agente de transporte
- secundario para nuestro dominio. Si por ejemplo el dominio de
- nuestra compañía es <systemitem class="fqdomainname">ejemplo.com</systemitem>, nuestro proveedor de acceso
- a internet puede instalar lo siguiente en el DNS:</para>
-
- <programlisting>ejemplo.com. MX 10 ejemplo.com.
- MX 20 ejemplo.net.</programlisting>
-
- <para>Nótese que el agente de correo primario es nuestro
- dominio, ejemplo.com, y además se encuentra configurado
- un agente de transporte secundario en la máquina
- ejemplo.net. En este caso sólamente se debe especificar
- una máquina como receptor final de correo
- (añadiendo <literal>Cw ejemplo.com</literal>) al fichero
- <filename>/etc/mail/sendmail.cf</filename> de la máquina
- <systemitem class="fqdomainname">example.com</systemitem>)</para>
-
- <para>Cuando el <command>sendmail</command> que está enviando
- el correo trata de entregar dicho correo primero intentará
- conectarse con nosotros (<systemitem class="fqdomainname">ejemplo.com</systemitem>) utilizando el enlace de
- modem. Lo más probable es que la operación termine
- después de un tiempo de espera debido a que el enlace modem
- esté caído.
- La aplicación <application>sendmail</application>
- automáticamente entregará el correo al servidor
- especificado como agente de transporte de correo secundario
- (segundo registro MX)<indexterm><primary>MX record</primary>
- </indexterm>, es decir, entregará el correo a
- nuestro proveedor de servicios de internet (<systemitem class="fqdomainname">ejemplo.net</systemitem>). El sitio MX secundario
- tratará de conectarse con nuestra máquina de una forma
- periódica con el objeto de entregar el correo a la
- máquina que actúa como agente servidor de correo
- primario (<systemitem class="fqdomainname">ejemplo.com</systemitem>).</para>
-
- <para>Puede ser de mucha utilidad un script de <quote>login</quote>
- como el que se muestra a continuación:</para>
-
- <programlisting>#!/bin/sh
-# Ponme en /usr/local/bin/pppmiconexion
-( sleep 60 ; /usr/sbin/sendmail -q ) &amp;
-/usr/sbin/ppp -direct pppmiconexion</programlisting>
-
- <para>Si vamos a crear un script de <quote>login</quote> separado para
- un usuario determinado se puede utilizar
- <command>sendmail -qRejemplo.com</command> en lugar del script
- anterior. Esto obliga a que se procesen
- de forma inmediata todos los correos que se encuentren en la cola de
- <systemitem class="fqdomainname">ejemplo.com</systemitem>.</para>
-
- <para>Vamos a dar una vuelta más de tuerca a la
- situación:</para>
-
- <para>Mensaje robado a la &a.isp;.</para>
-
- <programlisting>
-&gt; Nosotros proporcionamos servicio de MX secundario a un cliente nuestro.
-&gt; El cliente se conecta a nuestro servidor varias veces al día
-&gt; de forma automática para recoger sus correos para almacenarlos en
-&gt; su servidor MX primario (nosotros no llamamos a su organización
-&gt; justo cuando nos llega un correo suyo).
-&gt; Nuestro sendmail envía la cola de correos cada 30 minutos. En
-&gt; estos momentos nuestro cliente tiene que estar al menos 30 minutos
-&gt; conectado para asegurarnos de que todo su correo ha sido enviado al
-&gt; servidor MX primario.
-&gt;
-&gt; ?Existe algún comando que permita indicar a sendmail que
-&gt; envíe todos los correos de la cola cuando quiera el cliente?
-&gt; El cliente no tiene permisos de superusuario en la máquina que
-&gt; alberga nuestro agente de transporte, por supuesto.
-
-En la sección de <quote>privacy flags</quote> del fichero sendmail.cf
-existe una definición como ésta:
-Opgoaway,restrictqrun
-
-Basta con eliminar restrictqrun para permitir que usuarios sin permisos de
-superusuario arranquen el procesamiento de la cola.
-Sería conveniente además que reordenaran los registros MX.
-Nosotros somos el primer MX para nuestros clientes.
-Además de esto hay que especificar:
-
-# Si somos el mejor MX para una determinada máquina, intenta
-# utilizarnos directamente en vez de generar un error de
-# configuración local.
-OwTrue
-
-en el archivo de configuración de <application>sendmail</application>.
-Mediante la configuración anterior,
-una organización remota entregará sus correos directamente a
-usted, sin necesidad de intentar conectarse primero a través de
-la conexión del cliente. La etiqueta "OwTrue" se necesita para evitar
-que <application>sendmail</application> genere un mensaje de error.
-A continuación ustedes se encargan de entregar el
-correo a su(s) respectivo(s) cliente(s) tal como vienen haciendo.
-
-Esta configuración sólo funciona para
-<quote>máquinas individuales</quote>,
-de tal forma que se necesita que el cliente especifique su servidor de correo
-mediante entradas de tipo A en el DNS. En concreto se necesita una entrada de
-tipo A en el DNS para el dominio del cliente (<quote>cliente.com</quote>).
-</programlisting>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>?Por qué me siguen saliendo mensajes de error
- del tipo <errorname>Relaying Denied</errorname> cuando se trata
- de enviar correo proveniente de otras máquinas?</para>
- </question>
-
- <answer>
- <para>En las instalaciones del sistema FreeBSD por defecto
- <application>sendmail</application> se configura para enviar
- correo sólamente desde la máquina en la cual
- se está ejecutando. Por ejemplo si un servidor
- <acronym>POP</acronym> está disponible los usuarios
- serán capaces de consultar su correo desde la universidad,
- el trabajo u otras localizaciones remotas, pero dichos usuarios
- podrán enviar correo desde dichas ubicaciones.
- Es habitual que unos instantes después del envío
- del correo dichos usuarios reciban un mensaje proveniente del
- <application>MAILER-DAEMON</application> con un error como
- <errorname>5.7 Relaying Denied</errorname>.</para>
-
- <para>Existen varias formas de solventar este problema. La
- más sencilla consiste en escribir la dirección
- IP de su proveedor de servicios dentro del fichero
- <filename>/etc/mail/relay-domains</filename>. Una forma
- rápida de hacerlo sería:
- </para>
-
- <screen>&prompt.root; <userinput>echo "un.isp.ficticio.com" &gt; /etc/mail/relay-domains</userinput></screen>
-
- <para>Después de crear o editar dicho fichero se debe
- reiniciar <application>sendmail</application>. Esto funciona
- perfectamente si usted es el administrador del servidor y no
- desea enviar correo localmente o si prefiere utilizar un cliente
- de correo o cualquier otro sistema en otra máquina distinta
- a la que alberga el servidor de correo. Es muy útil sobre
- todo cuando sólamente se tienen una o dos direcciones de
- correo eletrónico. Si hay en liza un gran número de
- direcciones de correo, edite el fichero anterior con su editor de
- texto favorito y añada uno a uno los correspondientes
- dominios.</para>
-
- <programlisting>un.isp.ficticio.com
-otro.isp.ficticio.net
-y.otro.isp.ficticio.org
-www.ejemplo.org</programlisting>
-
- <para>Ahora, cualquier correo enviado a través de su sistema
- por cualquier máquina que se encuentre en este fichero
- (siempre y cuando el usuario tenga una cuenta en nuestro sistema)
- podrá ser enviado con éxito.
- Es una manera elegante de permitir a los usuarios enviar
- correo eletrónico desde nuestro servidor de correo sin
- permitir al resto del mundo que haga lo mismo (lo que se conoce
- como SPAM).</para>
- </answer>
- </qandaentry>
- </qandaset>
- </sect1>
-
- <sect1 xml:id="mail-advanced">
- <title>Conceptos Avanzados</title>
-
- <para>La siguiente sección trata conceptos más
- específicos relacionados con la configuración del correo
- y la implantación del servicio de correo en una
- organización.</para>
-
- <sect2 xml:id="mail-config">
- <title>Configuración Básica</title>
- <indexterm>
- <primary>email</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <para>Por defecto debemos ser capaces de enviar correo a máquinas
- externas, siempre y cuando tengamos nuestro <filename>
- /etc/resolv.conf</filename> bien configurado o ejecutemos nuestro
- propio servidor de nombres. Si queremos que el correo para nuestra
- máquina se nos entregue en nuestra propia máquina,
- es decir, a nuestro propio <application>sendmail</application>,
- en lugar de tener que ir a recogerlo al servidor de correo de
- nuestra organización, podemos usar dos métodos:</para>
-
- <itemizedlist>
- <listitem>
- <para>Ejecutar nuestro propio servidor de nombres y comprar nuestro
- propio dominio. Por ejemplo <systemitem class="fqdomainname">FreeBSD.org</systemitem></para>
- </listitem>
-
- <listitem>
- <para>Conseguir la entrega de correo directa hacia nuestra
- máquina. Esto se logra entregando el correo a la
- dirección IP que se asocia al nombre de DNS de nuestra
- máquina. Por ejemplo <systemitem class="fqdomainname">ejemplo.FreeBSD.org</systemitem>.</para>
- </listitem>
- </itemizedlist>
-
- <indexterm><primary>SMTP</primary></indexterm>
- <para>Independientemente de la opción elegida para tener entrega
- directa en nuestra máquina debemos poseer una dirección
- IP estática (a diferencia de las direcciones dinámicas,
- que son utilizadas en configuraciones donde se utiliza el protocolo
- PPP). Si nos encontramos detrás de un cortafuegos se debe
- permitir el tráfico SMTP (puerto 25) hacia nuestra
- máquina. Si además queremos recibir correo directamente
- en nuestra máquina se deben cumplir los siguientes
- requisitos:</para>
-
- <itemizedlist>
- <listitem>
- <para>Asegurar que el registro MX<indexterm><primary>MX record</primary></indexterm> de menor numeración de
- nuestro DNS apunta a la dirección IP de nuestra
- máquina.</para>
- </listitem>
-
- <listitem>
- <para>Asegurar que no existe ninguna entrada MX en nuestro DNS para
- nuestra máquina. Es decir, mientras que el registro MX del
- punto anterior hace referencia al dominio administrativo que
- gestionamos con nuestro servidor de nombres, en este apartado se
- quiere destacar que no debe existir ningún registro MX
- específico para el nombre concreto de nuestra
- máquina.</para>
- </listitem>
- </itemizedlist>
-
- <para>Cumpliendo las dos puntualizaciones anteriores podemos recibir
- correo electrónico mediante entrega directa en nuestra
- máquina.</para>
-
- <para>Por ejemplo:</para>
-
- <screen>&prompt.root; <userinput>hostname</userinput>
-ejemplo.FreeBSD.org
-&prompt.root; <userinput>host ejemplo.FreeBSD.org</userinput>
-ejemplo.FreeBSD.org has address 204.216.27.XX</screen>
-
- <para>Si se observa esta configuración la entrega directa de
- correo para <email>su_login@ejemplo.FreeBSD.org</email> debería
- funcionar sin problemas (suponiendo que <application>
- sendmail</application> se está ejecutando correctamente en
- <systemitem class="fqdomainname">ejemplo.FreeBSD.org</systemitem>).</para>
-
- <para>Si en lugar de lo anterior ve algo como esto:</para>
-
- <screen>&prompt.root; <userinput>host ejemplo.FreeBSD.org</userinput>
-ejemplo.FreeBSD.org has address 204.216.27.XX
-ejemplo.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org</screen>
-
- <para>Todos los correos enviados a nuestro host (<systemitem class="fqdomainname">ejemplo.FreeBSD.org</systemitem>) serán recogidos por
- <systemitem>hub</systemitem> bajo el mismo nombre de usuario en lugar de ser
- enviados directamente a nuestra máquina.</para>
-
- <para>La información anterior se gestiona utilizando el servidor
- de DNS. El registro de DNS que transporta la información
- de encaminamiento de correo eletrónico es el
- registro <emphasis>M</emphasis>ail e<emphasis>X</emphasis>change.
- Si no existe ningún registro MX el correo se entregará
- a la dirección IP que se obtenga de resolver el nombre
- de dominio que se encuentre a continuación del nombre de
- usuario en la dirección de correo de destino (esto es,
- (después de la @).</para>
-
- <para>En un cierto momento la entrada MX para <systemitem class="fqdomainname">freefall.FreeBSD.org</systemitem> tenía este
- aspecto:</para>
-
- <programlisting>freefall MX 30 mail.crl.net
-freefall MX 40 agora.rdrop.com
-freefall MX 10 freefall.FreeBSD.org
-freefall MX 20 who.cdrom.com</programlisting>
-
- <para>Como se puede observar, <systemitem>freefall</systemitem> tenía
- varias entradas MX. El número de MX más bajo es la
- máquina que recibe correo directamente si se encuentra
- disponible; si dicha máquina no está accesible por
- algún motivo las otras máquinas (llamadas también
- <quote>MXs de backup</quote>) aceptarán los mensajes
- temporalmente, y los transmitirán de nuevo cuando alguna
- máquina perteneciente a alguna entrada MX de numeración
- más baja se encuentre disponible y el proceso se
- repetirá hasta que se alcance la máquina que tenga
- el registro MX más bajo.</para>
-
- <para>Las organizaciones donde residen los servidores (MX) de backup
- deberían poseer acceso a internet de una forma independiente
- para minimizar el riesgo de pérdida de conectividad. Nuestro
- ISP o cualquier otra organización independiente debería
- poder proporcionarnos este servicio sin problemas.</para>
- </sect2>
-
- <sect2 xml:id="mail-domain">
- <title>Correo para Nuestro Dominio</title>
-
- <para>Para establecer un <quote>mailhost</quote> (servidor de correo)
- en nuestra organización debemos ser capaces de redirigir el
- correo destinado a cualquier máquina de nuestra
- organización hacia nuestro servidor de correo.
- Básicamente queremos <quote>reclamar</quote> como nuestro
- cualquier correo destinado a cualquier máquina de nuestro
- dominio (en este caso <systemitem class="fqdomainname">*.FreeBSD.org</systemitem>) y desviarlo a nuestro servidor
- de tal forma que los usuario lean su correo
- utilizando nuestra máquina servidora.</para>
-
- <indexterm><primary>DNS</primary></indexterm>
- <para>Para hacer las cosas lo más sencillas posible se debe crear
- una cuenta de usuario (con el mismo <emphasis>
- nombre de usuario</emphasis>) tanto en el servidor de correo como en
- la máquina del usuario o destinatario final del correo.
- &man.adduser.8; puede usarse para ello.</para>
-
- <para>El servidor de correo debe funcionar como el agente de transporte
- predeterminado para todas las máquinas de nuestra
- organización. Esto se realiza mediante la siguiente
- configuración del DNS:</para>
-
- <programlisting>ejemplo.FreeBSD.org A 204.216.27.XX ; Workstation
- MX 10 hub.FreeBSD.org ; Mailhost</programlisting>
-
- <para>Esta configuración redirigirá el correo para
- cualquier estación de trabajo hacia nuestro servidor de correo
- sin que tengan importancia las direcciones IP asignadas mediante
- el registro de tipo A. Recordemos que el correo siempre
- se encamina utilizando primero los registros de tipo MX.</para>
-
- <para>Normalmente no podremos realizar esta configuración salvo
- que estemos ejecutando nuestro propio servidor de DNS
- para nuestro dominio. Si no es el caso y no es posible ejecutar
- nuestro propio servidor de DNS debemos comunicarnos con nuestro
- proveedor de servicios o con quien pueda proporcionarnos servicio de
- DNS y solicitarle una modificación como la anterior.</para>
-
- <para>Si además ofrecemos servicios de alojamiento virtual de
- correo la siguiente información puede resultar útil.
- Asumiremos que tenemos un cliente con su propio dominio, por ejemplo
- <systemitem class="fqdomainname">cliente1.org</systemitem> y queremos que todo el
- correo enviado a <systemitem class="fqdomainname">cliente1.org</systemitem> sea redirigido hasta nuestro
- servidor de correo, <systemitem class="fqdomainname">mail.nuestroservidor.com</systemitem>. La entrada necesaria
- en el DNS debería ser la siguiente:</para>
-
- <programlisting>cliente1.org MX 10 mail.nuestroservidor.com</programlisting>
-
- <para>No necesitamos <emphasis>ningún</emphasis> registro de tipo
- A para <systemitem class="fqdomainname">cliente1.org</systemitem> si sólamente queremos
- gestionar el correo para ese dominio.
- </para>
-
- <note>
- <para>Tenga en cuenta que un ping a <systemitem class="fqdomainname">cliente1.org</systemitem> no funcionará a menos
- que exista un registro de tipo A para dicha máquina.
- </para>
- </note>
-
- <para>La última cosa que debemos realizar en nuestro servidor de
- correo es comunicar a <application>sendmail</application> para
- qué dominios y/o máquinas debe aceptar correo. Existen
- varias formas en las que se puede realizar esta tarea.
- Cualquiera de las siguiente funcionará:</para>
-
- <itemizedlist>
- <listitem>
- <para>Añadir las máquinas deseadas al fichero
- <filename>/etc/mail/local-host-names</filename> si se está
- utlizando la macro
- <literal>FEATURE(use_cw_file)</literal>. Si se está
- utilizando una versión de <application>
- sendmail</application> anterior a la 8.10 el fichero que se debe
- utilizar es <filename>/etc/sendmail.cw</filename>.</para>
- </listitem>
-
- <listitem>
- <para>Añadir la línea <literal>
- Cwsu.servidor.com</literal> al fichero
- <filename>/etc/sendmail.cf</filename> o
- <filename>/etc/mail/sendmail.cf</filename> si se está
- utilizando una versión de <application>
- sendmail</application> posterior a la versión 8.10.</para>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
-
- <sect1 xml:id="SMTP-UUCP">
- <title>SMTP con UUCP</title>
-
- <para>La configuración de <application>sendmail</application> que
- se proporciona con la distribución de FreeBSD está
- diseñada para organizaciones que se conectan directamente a
- internet. Las organizaciones que deseén enviar y recibir
- sus correos utilizando UUCP deben instalar otro fichero de
- configuración para <application>
- sendmail</application>.</para>
-
- <para>El ajuste de forma manual del archivo <filename>
- /etc/mail/sendmail.cf</filename> es un tema para expertos.
- La versión 8 de <application>sendmail</application> genera
- ficheros de configuración mediante el preprocesador
- &man.m4.1;, gracias al que las opciones de configuración se
- pueden escribir utilizando un nivel de abstracción mayor.
- Los archivos de configuración de &man.m4.1; se pueden encontrar
- en <filename>/usr/src/usr.sbin/sendmail/cf</filename>.</para>
-
- <para>Si no se instaló el sistema base con todas las fuentes el
- conjunto de ficheros de configuración de <application>
- sendmail</application> se puede obtener a partir de un paquete de
- fuentes determinado. Suponiendo que tengamos el CDROM con el
- código fuente de FreeBSD montado se puede ejecutar:</para>
-
- <screen>&prompt.root; <userinput>cd /cdrom/src</userinput>
-&prompt.root; <userinput>cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail</userinput></screen>
-
- <para>Este comando extrae sólamente unos pocos cientos de
- kilobytes. El fichero <filename>README</filename> que hay en
- el directorio <filename>cf</filename> puede servirle como
- una introducción básica a la configuración
- mediante &man.m4.1;.</para>
-
- <para>La mejor forma de soportar la entrega de correo mediante UUCP es
- utilizando la característica <literal>mailertable</literal>.
- Esta característica crea una base de datos que
- <application>sendmail</application> utiliza para tomar decisiones de
- encaminamiento.</para>
-
- <para>En primer lugar creamon el fichero <filename>.mc</filename>.
- El directorio <filename>/usr/src/usr.sbin/sendmail/cf/cf</filename>
- alberga varios ejemplos del mismo. Suponiendo que nuestro fichero
- configuración se llama
- <filename>foo.mc</filename> para convertir dicho archivo en un fichero
- <filename>sendmail.cf</filename> válido basta con ejecutar lo
- siguiente:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput>
-&prompt.root; <userinput>make foo.cf</userinput>
-&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen>
-
- <para>Un fichero <filename>.mc</filename> suele tener este aspecto:</para>
-
- <programlisting>VERSIONID(`<replaceable>Su número de versión</replaceable>') OSTYPE(bsd4.4)
-
-FEATURE(accept_unresolvable_domains)
-FEATURE(nocanonify)
-FEATURE(mailertable, `hash -o /etc/mail/mailertable')
-
-define(`UUCP_RELAY', <replaceable>su.relay.uucp</replaceable>)
-define(`UUCP_MAX_SIZE', 200000)
-define(`confDONT_PROBE_INTERFACES')
-
-MAILER(local)
-MAILER(smtp)
-MAILER(uucp)
-
-Cw <replaceable>alias.de.su.servidor</replaceable>
-Cw <replaceable>nombredesunodouucp.UUCP</replaceable></programlisting>
-
- <para>Las líneas que contienen
- <literal>accept_unresolvable_domains</literal>,
- <literal>nocanonify</literal>, y
- <literal>confDONT_PROBE_INTERFACES</literal> prohíben la
- utilización del DNS durante la entrega de correo.
- La cláusula <literal>UUCP_RELAY</literal> es necesaria
- para soportar entrega mediante UUCP. Lo único que hay que hacer
- es escribir un nombre de máquina en ese punto.
- Dicha máquina debe ser capaz de gestionar las direcciones del
- pseudo-dominio .UUCP; en la mayoría de los casos se escribe en
- este punto el nombre de la máquina perteneciente al proveedor de
- servicios que hace de relay.</para>
-
- <para>Una vez que tenemos esto configurado se necesita un fichero
- <filename>/etc/mail/mailertable</filename>. Si solamente tenemos un
- enlace con el exterior, que usamos para todos nuestro correos,
- basta una configuración como la que se muestra a
- continuación:</para>
-
- <programlisting>#
-# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
-. uucp-dom:<replaceable>su.relay.uucp</replaceable></programlisting>
-
- <para>Un ejemplo más complejo puede parecerse al siguiente:</para>
-
- <programlisting>#
-# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/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:</programlisting>
-
-
- <para>Las primeras tres líneas se encargan de manejar casos
- especiales en los que el correo dirigido directamente al dominio no se
- envía a la ruta por defecto sino a algún vecino UUCP para
- acortar el número de saltos involucrados en la entrega de dichos
- correos.
- La siguiente línea gestiona el correo para el dominio ethernet
- local, el cual puede ser entregado utilizando SMTP. Finalmente los
- vecinos UUCP se mencionan en la notación de pseudo-dominio
- .UUCP para permitir que un
- <literal>vecino UUCP receptor</literal>
- de correo pueda sobreescribir las reglas por defecto. La última
- línea siempre es un punto; se asocia con cualquier otra cosa que
- no ha sido tratada en reglas anteriores y donde se realiza entrega UUCP
- a un vecino UUCP que sirve como pasarela de correo universal para todo
- el mundo. Todos los nombres de máquinas bajo la clave
- <literal>uucp-dom:</literal> deben ser vecinos UUCP válidos, lo
- cual se puede verificar utilizando el comando <literal>
- uuname</literal>.</para>
-
- <para>Recuerde que este fichero debe convertirse en una base de datos DBM
- antes de que usarse. El comando que se utiliza para realizar esta tarea
- se suele especificar como un comentario al principio del fichero
- <filename>mailertable</filename>. Cada vez que se modifique el fichero
- <filename>mailertable</filename> se debe ejecutar dicho comando.</para>
-
- <para>Un consejo final: si dudamos sobre una determinada ruta de
- encaminamiento de correo se puede ejecutar <application>
- sendmail</application> con el parámetro <option>-bt</option>.
- Este parámetro ejecuta <application>sendmail</application>
- en <emphasis>modo prueba de direcciones</emphasis>;
- simplemente basta con escribir <literal>3,0</literal> seguido por la
- dirección de correo de la que queremos comprobar su correcto
- encaminamiento. La última línea nos dice el agente de
- correo interno que se utiliza, la máquina de destino con que el
- agente será invocado y la dirección (posiblemente
- traducida) de correo. Se puede abandonar este modo de funcionamiento
- escribiendo <keycombo action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo>.</para>
-
- <screen>&prompt.user; <userinput>sendmail -bt</userinput>
-ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
-Enter &lt;ruleset&gt; &lt;address&gt;
-<prompt>&gt;</prompt> <userinput>3,0 prueba@ejemplo.com</userinput>
-canonify input: foo @ example . com
-...
-parse returns: $# uucp-dom $@ <replaceable>su.relay.uucp</replaceable> $: prueba &lt; @ ejemplo . com . &gt;
-<prompt>&gt;</prompt> <userinput>^D</userinput></screen>
- </sect1>
-
- <sect1 xml:id="outgoing-only">
- <info><title>Configuración para sólamente enviar correo</title>
- <authorgroup>
- <author><personname><firstname>Bill</firstname><surname>Moran</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Existen multitud de casos en los que puede bastarnos con enviar
- nuestro correo a través de una pasarela o relay. He aquí
- algunos de ellos:</para>
-
- <itemizedlist>
- <listitem>
- <para>Nuestra computadora es una máquina de escritorio, pero
- queremos ser capaces de utilizar programas como &man.send-pr.1;.
- Para ello se debería utilizar el relay de nuestro ISP.</para>
- </listitem>
-
- <listitem>
- <para>Nuestra computadora es un servidor que no gestiona correo de
- forma local, si no que necesita pasar todos los correos recibidos
- una pasarela que se encarga de su procesamiento y entrega
- final.</para>
- </listitem>
- </itemizedlist>
-
- <para>Casi cualquier <acronym>MTA</acronym> es capaz de actuar como
- pasarela o relay. Por desgracia configurar un MTA para que sólo
- gestione correo saliente puede ser muy complicado. Programas del estilo
- de <application>sendmail</application> y <application>
- postfix</application> son demasiado pesados para realizar
- sólamente esta tarea.</para>
-
- <para>Si además estamos utilizando un servicio de acceso a internet
- típico nuestro contrato puede prohibir explícitamente
- la ejecución de un servidor de correo (o los puertos pueden estar
- filtrados).</para>
-
- <para>La forma más sencilla de utilizar un servicio de pasarela es
- mediante la instalación del port
- <package>mail/ssmtp</package>. Basta con ejecutar el
- siguiente comando como <systemitem class="username">root</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput>
-&prompt.root; <userinput>make install replace clean</userinput></screen>
-
- <para>Una vez que ha sido instalado <package>mail/ssmtp</package> podemos configurarlo
- mediante un fichero de sólo cuatro líneas ubicado en
- <filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>:</para>
-
- <programlisting>root=sudireccionrealdecorreo@ejemplo.com
-mailhub=mail.ejemplo.com
-rewriteDomain=ejemplo.com
-hostname=_HOSTNAME_</programlisting>
-
- <para>Debemos asegurarnos de que se utiliza una dirección de correo
- real para <systemitem class="username">root</systemitem>. Se debe introducir nuestra
- pasarela de correo en lugar de <systemitem class="fqdomainname">
- mail.ejemplo.com</systemitem> (algunos ISP llaman a la pasarela
- <quote>servidor de correo saliente</quote> o simplemente
- <quote>servidor SMTP</quote>).</para>
-
- <para>Debemos asegurarnos de que se desactiva
- <application>sendmail</application> mediante
- <literal>sendmail_enable="NONE"</literal>
- en <filename>/etc/rc.conf</filename>.</para>
-
- <para><package>mail/ssmtp</package> acepta algunas otras
- opciones. Consulte el fichero de ejemplo que encontrará en
- <filename>/usr/local/etc/ssmtp</filename>; consulte también
- la página de manual de <application>ssmtp</application>,
- en la que hay más ejemplos e información al respecto.
- </para>
-
- <para>Ejecutar <application>ssmtp</application> de esta forma permite que
- cualquier software de nuestra computadora que necesite enviar correo
- funcione sin problemas y a la vez poder cumplir con las normas
- estipuladas en el contrato con nuestro ISP. Al mismo tiempo evitamos el
- uso de nuestro servidor de correo por parte de <quote>
- spammers</quote>.</para>
- </sect1>
-
- <sect1 xml:id="SMTP-dialup">
- <title>Utilización del correo con una conexión mediante módem analógico (dial-up)</title>
-
- <para>Si se dispone de una dirección IP privada no es necesario
- realizar ningún ajuste a partir de la configuración por
- defecto. Basta con asignar como nombre de nuestra máquina el
- nombre que tenemos registrado en el DNS y <application>
- sendmail</application> se encargará del resto.</para>
-
- <para>Por otra parte si utilizamos una conexión temporal a internet
- mediante PPP y se nos asigna una dirección IP
- de forma dinámica, lo más normal es tener nuestras
- carpetas de correo alojadas en el servidor de correo de
- nuestro proveedor de servicios. Supongamos que el dominio de nuestro
- ISP es <systemitem class="fqdomainname">ejemplo.net</systemitem> y que nuestro nombre de usuario
- es <systemitem class="username">usuario</systemitem>; además hemos llamado a nuestra
- <systemitem class="username">user</systemitem>, además, hemos llamado a nuestra
- máquina <systemitem class="fqdomainname">bsd.home</systemitem>, y nuestro ISP nos ha comunicado que
- debemos utilizar como pasarela la máquina <systemitem class="fqdomainname">relay.ejemplo.net</systemitem>.</para>
-
- <para>Para recuperar correo de nuestra carpeta de correo se debe instalar
- un agente de recuperación automática de correo.
- <application>fetchmail</application> es una buena elección puesto
- que permite utilizar varios protocolos. Este programa está
- disponible como un paquete y también desde la colección de
- ports (<package>mail/fetchmail</package>). Normalmente nuestro
- <acronym>ISP</acronym> proporciona <acronym>POP</acronym>
- <acronym>POP</acronym>. Si utilizamos <acronym>ppp</acronym> a nivel de
- usuario se puede recuperar automáticamente el correo cuando se
- establece la conexión <acronym>ppp</acronym> utilizando
- el fichero <filename>/etc/ppp/ppp.linkup</filename>:</para>
-
- <programlisting>MYADDR:
-!bg su user -c fetchmail</programlisting>
-
- <para>Si utilizamos <application>sendmail</application> (como se muestra
- más adelante) para entregar correo a cuentas remotas
- probablemente queramos que <application>sendmail</application>
- procese nuestras colas de correo tan pronto como nuestra conexión
- de internet se establezca. Para ello escriba el siguiente comando tras
- el comando de <command>fetchmail</command> que hemos escrito antes en
- el fichero <filename>/etc/ppp/ppp.linkup</filename>:</para>
-
- <programlisting> !bg su user -c "sendmail -q"</programlisting>
-
- <para>Asumiendo que tenemos una cuenta para el usuario
- <systemitem class="username">usuario</systemitem> en <systemitem class="fqdomainname">bsd.home</systemitem>. En el directorio <quote>home</quote>
- del usuario <systemitem class="username">usuario</systemitem> en la máquina
- <systemitem class="fqdomainname">bsd.home</systemitem> debemos crear un fichero
- <filename>.fetchmailrc</filename> con el siguiente contenido:</para>
-
- <programlisting>poll ejemplo.net protocol pop3 fetchall pass Secr3To</programlisting>
-
- <para>Este fichero debe tener permisos de lectura sólo para el
- propio dueño ya que contiene la contraseña de acceso
- a nuestra cuenta de POP en nuestro ISP (<literal>
- Secr3To</literal>).</para>
-
- <para>Para poder enviar correo con la cabecera <literal>from:</literal>
- correcta, debemos decir a
- <application>sendmail</application> que utilice
- <literal>usuario@ejemplo.net</literal> en vez de
- <literal>usuario@bsd.home</literal>. Siguiendo con nuestro ejemplo
- es necesario decirle a <application>sendmail</application> que
- envíe todo el correo a través de la pasarela
- <systemitem class="fqdomainname">relay.ejemplo.net</systemitem>.</para>
-
- <para>El siguiente fichero de configuración
- <filename>.mc</filename> debe ser suficiente para cumplir
- con las anteriores tareas:</para>
-
- <programlisting>VERSIONID(`bsd.home.mc version 1.0')
-OSTYPE(bsd4.4)dnl
-FEATURE(nouucp)dnl
-MAILER(local)dnl
-MAILER(smtp)dnl
-Cwlocalhost
-Cwbsd.home
-MASQUERADE_AS(`ejemplo.net')dnl
-FEATURE(allmasquerade)dnl
-FEATURE(masquerade_envelope)dnl
-FEATURE(nocanonify)dnl
-FEATURE(nodns)dnl
-define(`SMART_HOST', `relay.ejemplo.net')
-Dmbsd.home
-define(`confDOMAIN_NAME',`bsd.home')dnl
-define(`confDELIVERY_MODE',`deferred')dnl</programlisting>
-
- <para>En la sección anterior se explica cómo convertir este
- fichero <filename>.mc</filename> en un fichero de
- configuración para <application>sendmail</application>,
- <filename>sendmail.cf</filename>. No debemos olvidar
- reiniciar <application>sendmail</application>
- después de mofidificar el fichero <filename>
- sendmail.cf</filename>.</para>
- </sect1>
-
- <sect1 xml:id="SMTP-Auth">
- <info><title>Autentificación utilizando SMTP</title>
- <authorgroup>
- <author><personname><firstname>James</firstname><surname>Gorham</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>La autentificación mediante SMTP puede proporcionarnos
- diversas ventajas. Añade una capa adicional de seguridad a
- a <application>sendmail</application> y además proporciona a los
- usuarios móviles (usuarios que cambian de máquina)
- la posibilidad de mantener el mismo servidor de correo sin necesidad de
- reconfigurar sus agentes de usuario de correo cada vez que se
- trasladan.</para>
-
- <procedure>
- <step>
- <para>Instalar <package>security/cyrus-sasl</package>
- desde los ports. Se puede encontrar dicho port en
- <package>security/cyrus-sasl</package>.
- <package>security/cyrus-sasl</package> posée
- varias opciones en tiempo de compilación pero para el
- método en particular que se va a explicar en esta
- sección basta con asegurarse de seleccionar
- la opción <option>pwcheck</option>.</para>
- </step>
-
-
- <step>
- <para>Después de instalar <package>security/cyrus-sasl</package>,
- edite <filename>/usr/local/lib/sasl/Sendmail.conf</filename>
- (o créelo si no existe) y añada la siguiente
- línea:</para>
-
- <programlisting>pwcheck_method: passwd</programlisting>
-
- <para>Este método activa la autentificación de
- <application>sendmail</application> contra nuestra base de
- datos de FreeBSD, <filename>passwd</filename>.
- Esto nos evita el problema de tener que crear un nuevo conjunto de
- usuarios y contraseñas para cada usuario que necesite
- validarse mediante SMTP y además nos permite mantener el
- mismo <quote>login</quote> y contraseña que los usuarios
- utilizan para acceder a sus cuentas para el acceso al correo
- electrónico.</para>
- </step>
-
- <step>
- <para>Editar<filename>/etc/make.conf</filename> y añadir las
- siguientes líneas:</para>
-
- <programlisting>SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
-SENDMAIL_LDFLAGS=-L/usr/local/lib
-SENDMAIL_LDADD=-lsasl</programlisting>
-
- <para>Estas líneas proporcionan a <application>
- sendmail</application> las opciones de configuración necesarias
- para enlazar con <package>cyrus-sasl</package> en
- tiempo de compilación. Debemos asegurarnos de que <package>cyrus-sasl</package> ha sido instalado correctamente
- recompilar <application>sendmail</application>.</para>
- </step>
-
- <step>
- <para>Recompile <application>sendmail</application> utilizando el
- siguiente comando:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail</userinput>
-&prompt.root; <userinput>make cleandir</userinput>
-&prompt.root; <userinput>make obj</userinput>
-&prompt.root; <userinput>make</userinput>
-&prompt.root; <userinput>make install</userinput></screen>
-
- <para>La compilación de <application>sendmail</application> no
- debería dar problemas siempre y cuando
- <filename>/usr/src</filename> no haya cambiado sustancialmente y
- siempre y cuando las bibliotecas compartidas
- necesarias se encuentren disponibles.</para>
- </step>
-
- <step>
- <para>Una vez que <application>sendmail</application> se ha compilado
- y reinstalado con correctamente debemos editar el fichero
- <filename>/etc/mail/freebsd.mc</filename> (o el fichero que se
- utilice como <filename>.mc</filename> de referencia. Hay
- administradores que escogen utilizar la salida de &man.hostname.1;
- como el nombre del fichero <filename>.mc</filename> que se utiliza
- para la configuración de sendmail por motivos de
- uniformidad ). Añada las siguientes líneas a dicho
- fichero:</para>
-
- <programlisting>dnl set SASL options
-TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
-define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
-define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl</programlisting>
-
- <para>Estas opciones configuran los distintos métodos
- de que dispone <application>sendmail</application> para validar a
- los usuarios de correo. Si se desea utilizar otro método
- distinto a <application>pwcheck</application> por favor consulte
- la documentación.</para>
- </step>
-
- <step>
- <para>Para terminar ejecutamos &man.make.1; mientras nos encontramos
- dentro de <filename>/etc/mail</filename>.
- Este comando trata el fichero <filename>.mc</filename> y crea el
- fichero <filename>.cf</filename> correspondiente
- (con el mismo nombre que el anterior pero terminado en .cf).
- A continuación se utiliza el comando <command>
- make install restart</command>, el cual copia el fichero .cf
- recién generado al fichero <filename>
- sendmail.cf</filename> y a continuación reinicia
- <application>sendmail</application>.
- Para más información sobre este proceso puede
- consultarse el contenido de
- <filename>/etc/mail/Makefile</filename>.</para>
- </step>
- </procedure>
-
- <para>Si todo lo anteriormente comentado ha funcionado correctamente
- deberíamos ser capaces de introducir la información de
- nuestro <quote>login</quote> en nuestro cliente de correo y enviar un
- mensaje de prueba. Para investigar más a fondo estos temas se
- puede habilitar la opción <option>LogLevel</option> de
- <application>sendmail</application> al valor 13 y observar detenidamente
- el archivo <filename>/var/log/maillog</filename> en busca de posibles
- mensajes de error.</para>
-
- <para>Puede ser necesario añadir las siguientes líneas al
- fichero <filename>/etc/rc.conf</filename> de modo que el servicio
- explicado en esta sección se encuentre disponible
- automáticamente desde el arranque:</para>
-
- <programlisting>sasl_pwcheck_enable="YES"
-sasl_pwcheck_program="/usr/local/sbin/pwcheck"</programlisting>
-
- <para>Esto permite que la inicialización de <acronym>SMTP_AUTH</acronym> se produzca durante el arranque del sistema.</para>
-
- <para>Para más información por favor visite la página
- <link xlink:href="http://www.sendmail.org/~ca/email/auth.html">
- autentificación <acronym>SMTP</acronym></link>
- de <application>sendmail</application>·</para>
-
- </sect1>
-
- <sect1 xml:id="mail-agents">
- <info><title>Agente de Correo de Usuario</title>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Silver</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>Agentes de Correo de Usuario</primary>
- </indexterm>
-
- <para>Un agente de correo de usuario (<acronym>MUA</acronym> en
- inglés Mail User Agent) es una aplicación
- que se utiliza para enviar y recibir correo. Coomo el correo
- electrónico está en constante evolución
- y cada vez se vuelve más complejo y con más opciones,
- los MUAs son cada vez más complejos y potentes.
- Esto permite a los usuarios disponer de mayor flexibilidad y
- funcionalidad. &os; admite para muchísimos
- agentes de correo de usuario, todos los cuales pueden instalarse
- desde los
- <link linkend="ports">Ports</link>. Los usuarios pueden elegir entre
- lientes de correo con interfaz gráfica como
- <application>evolution</application> o <application>balsa</application>
- o entre clientes basados en consola como
- <application>mutt</application>, <application>pine</application>
- o <command>mail</command>, e incluso utilizar interfaces web.</para>
-
- <sect2 xml:id="mail-command">
- <title>mail</title>
-
- <para>&man.mail.1; es el agente de correo de usuario
- (<acronym>MUA</acronym>) que viene por defecto con &os;. Es un MUA de
- consola que ofrece toda la funcionalidad básica
- necesaria para enviar y recibir correos, aunque resulta limitado
- limitado en su capacidad para manejar adjuntos y sólamente
- soporta carpetas de correo locales.</para>
-
- <para>Aunque <command>mail</command> no soporta de forma nativa la
- interacción con servidores de correo mediante
- <acronym>POP</acronym> o
- <acronym>IMAP</acronym> estas carpetas de correo remotas pueden
- descargarse a un fichero
- <filename>mbox</filename> local utilizando una aplicación de
- descarga como <application>fetchmail</application>, que se describe
- en este mismo capítulo en (<xref linkend="mail-fetchmail"/>).</para>
-
- <para>Para enviar y recibir correo eletrónico basta con
- ejecutar el comando
- <command>mail</command>. Veamos un ejemplo:</para>
-
- <screen>&prompt.user; <userinput>mail</userinput></screen>
-
- <para>El contenido de la carpeta de usuario en el directorio
- <filename>/var/mail</filename> se leen
- automáticamente.
- Si la carpeta se encuentra vacía la aplicación termina
- su ejecución con un mensaje que indica que no ha podido
- encontrar correo. Una vez que la carpeta ha sido
- leída la interfaz de la aplicación entra en
- funcionamiento y se muestra por pantalla un listado de los
- mensajes recuperados. Los mensajes se numeran
- automáticamente y pueden leerse como se observa en el
- siguiente ejemplo:</para>
-
- <screen>Mail version 8.1 6/6/93. Type ? for help.
-"/var/mail/marcs": 3 messages 3 new
-&gt;N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
- N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
- N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"</screen>
-
- <para>Los mensajes se pueden leer utilizando el comando <keycap>
- t</keycap> de <command>mail</command> escribiendo a continuación
- el número del mensaje que queremos leer.
- En este ejemplo vamos a leer el primer correo:</para>
-
- <screen>&prompt.user; <userinput>t 1</userinput>
-Message 1:
-From root@localhost Mon Mar 8 14:05:52 2004
-X-Original-To: marcs@localhost
-Delivered-To: marcs@localhost
-To: marcs@localhost
-Subject: test
-Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
-From: root@localhost (Charlie Root)
-
-This is a test message, please reply if you receive it.</screen>
-
- <para>Como podemos observar en el ejemplo anterior el comando
- <keycap>t</keycap> muestra el contenido del correo
- eletrónico con todas sus cabeceras. Para mostrar el
- listado con todos los correos de nuevo, se debe utilizar la tecla
- <keycap>h</keycap>.</para>
-
- <para>Si el correo eletrónico requiere una contestación
- se puede utilizar la aplicación
- <command>mail</command> para responder utilizando la tecla
- <keycap>R</keycap> o <keycap>r</keycap>. La tecla
- <keycap>R</keycap> indica a
- <command>mail</command> que conteste sólo al origen (remitente)
- del correo, mientras que la tecla <keycap>r</keycap> tanto
- al remitente a los otros usuarios receptores del mensaje original.
- Además ambos comandos se pueden ejecutar escribiendo a
- continuación el número que identifica al mensaje que
- se quiere responder. Tras esto la respuesta puede redactarse
- , y se debe indicar el final del mensaje mediante un punto
- (<keycap>.</keycap>) a continuación de un salto de
- línea. Veamos un ejemplo:</para>
-
- <screen>&prompt.user; <userinput>R 1</userinput>
-To: root@localhost
-Subject: Re: test
-
-<userinput>Thank you, I did get your email.
-.</userinput>
-EOT</screen>
-
- <para>Para enviar nuevos correos eletrónicos se debe utilizar
- la tecla <keycap>m</keycap> seguida de la dirección de
- de correo del destinatario. Se pueden especificar varios
- destinatarios de correo separando cada dirección de correo
- con una coma ( <keycap>,</keycap> ).
- El asunto del mensaje de correo se puede escribir a
- continuación seguido por el cuerpo del mensaje. El final del
- mensaje se especifica como en el caso anterior, utilizando un
- <keycap>.</keycap> tras un saldo de línea y pulsando la
- tecla <quote>enter</quote>.</para>
-
- <screen>&prompt.user; <userinput>mail root@localhost</userinput>
-Subject: <userinput>I mastered mail
-
-Now I can send and receive email using mail ... :)
-.</userinput>
-EOT</screen>
-
- <para>Mientras nos encontremos dentro de la <command>mail</command>
- el comando <keycap>?</keycap> puede utilizarse para mostrar la
- ayuda en línea aunque la principal fuente de información
- detallda sobre esta aplicación es la página man
- &man.mail.1;.</para>
-
- <note>
- <para>Tal y como se ha dicho ya la aplicación &man.mail.1;
- no fue diseñada originalmente para gestionar adjuntos, por
- lo que su forma de gestionarlos resulta ser extremadamente mala.
- <acronym>MUA</acronym> más modernos como <application>
- mutt</application> gestionan los adjuntos de correo
- de una forma mucho más inteligente. Si se desea utilizar el
- comando <command>mail</command> el port <package>converters/mpack</package> le puede resultar
- bastante útil.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="mutt-command">
- <title>mutt</title>
-
- <para><application>mutt</application> es un agente de correo de usuario
- pequeño pero muy potente, funcional y con excelentes
- características; veamos algunas:</para>
-
- <itemizedlist>
- <listitem>
- <para>La habilidad de agrupar mensajes en hilos.</para>
- </listitem>
-
- <listitem>
- <para>Soporte de PGP para cifradon y firma digital de correos
- eletrónicos.</para>
- </listitem>
-
- <listitem>
- <para>Soporte de tipos MIME.</para>
- </listitem>
-
- <listitem>
- <para>Soporte de gestión de correo en formato Maildir.</para>
- </listitem>
-
- <listitem>
- <para>Altamente configurable por el usuario.</para>
- </listitem>
- </itemizedlist>
-
- <para>Toda estas características hacen de
- <application>mutt</application> uno de los agentes de correo
- más avanzados del momento.
- Consulte <uri xlink:href="http://www.mutt.org">http://www.mutt.org</uri> para más
- información sobre <application>mutt</application>.</para>
-
- <para>La versión estable de <application>mutt</application> se
- puede instalar usando el port <package>mail/mutt</package> mientras que la versión de
- desarrollo está en <package>mail/mutt-devel</package>. Una vez que se ha
- instalado el port, <application>mutt</application> puede ejecutarse
- mediante el siguiente comando:</para>
-
- <screen>&prompt.user; <userinput>mutt</userinput></screen>
-
- <para><application>mutt</application> lee automáticamente el
- contenido de la carpeta de correo del usuario dentro del directorio
- <filename>/var/mail</filename> y muestra por pantalla
- su contenido. Si el directorio está vacío
- <application>mutt</application>
- quedará a la espera de los comandos que pueda pasarle el
- usuario. En el ejemplo que se muestra a continuación
- puede verse cómo <application>mutt</application> facilita
- la lista de mensajes al usuario:</para>
-
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/mutt1"/>
- </imageobject>
- </mediaobject>
-
- <para>Para leer un correo basta con seleccionarlo usando las teclas de cursor, y
- presionando la tecla <keycap>Enter</keycap>. Veamos cómo
- muestra <application>mutt</application> un correo
- electrónico:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/mutt2"/>
- </imageobject>
- </mediaobject>
-
- <para>Al igual que ocurre con &man.mail.1;
- <application>mutt</application> permite que los usuarios contesten al
- remitente de cualquier mensaje así como a los demás
- receptores. Para responder sólo al remitente se puede utilizar
- la tecla <keycap>r</keycap>. Para responder a un grupo, es decir a
- todos los receptores y al remitente del correo
- eletrónico pulse <keycap>g</keycap>.</para>
-
- <note>
- <para><application>mutt</application> tiene &man.vi.1;
- como editor por defecto para crear y responder a los mensajes de
- correo eletrónico. Si prefiere emplear otro editor
- modifique el valor de la variable <literal>editor</literal> en
- <filename>.muttrc</filename>.</para>
- </note>
-
- <para>Para escribir un mensaje de correo presione la tecla
- <keycap>m</keycap>. Después de escribir el asunto
- <application>mutt</application> ejecuta &man.vi.1; y el cuerpo del
- mensaje puede escribirse. Una vez escrito el correo
- salga de <command>vi</command> y <application>mutt</application> se
- ejecutará de nuevo mostrando por pantalla un resumen del
- correo que está a punto de ser enviado. Para enviar ese
- correo hay que pulsar <keycap>y</keycap>. Este es un ejemplo de
- uno de esos resúmenes:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/mutt3"/>
- </imageobject>
- </mediaobject>
-
- <para><application>mutt</application> también contiene una amplia
- ayuda a la que se accede desde la mayoría de los
- menús pulsando la tecla <keycap>?</keycap>. La primera
- lína de la pantalla también muestra las teclas de
- método abreviado cuando es posible utilizarlas.</para>
- </sect2>
-
- <sect2 xml:id="pine-command">
- <title>pine</title>
-
- <para><application>pine</application> es una aplicación de correo
- enfocada a los usuarios principiantes o inexpertos pero
- también incluye algunas características avanzadas.</para>
-
- <warning>
- <para>Se han descubierto en <application>pine</application> varias
- vulnerabilidades que pueden explotarse de forma remota.
- Esas vulnerabilidades permiten que atacantes remotos puedan ejecutar
- código como si fueran usuarios locales del sistema
- mediante el envío de correos con un formato determinado.
- Todos los problemas <emphasis>conocidos</emphasis> se han
- resuelto pero el código de <application>
- pine</application> está escrito de una forma insegura y el
- <quote>Security Officer</quote> de &os; opina que es probable que
- existan todavía vulnerabilidades sin descubrir. Si decide
- instalar <application>pine</application>
- debe asumir los riesgos que ello puede implicar.</para>
- </warning>
-
- <para>La versión actual de <application>pine</application> se
- puede instalar utilizando el port <package>mail/pine4</package>. Una vez que se ha instalado
- <application>pine</application> se puede ejecutar mediante el siguiente comando:</para>
-
- <screen>&prompt.user; <userinput>pine</userinput></screen>
-
- <para>La primera vez que se ejecuta <application>pine</application> se
- muestra un mensaje de bienvenida con una pequeña
- introducción a la herramienta junto con una petición del
- equipo de desarrollo de <application>pine</application> en la que se
- solicita que se envíe un correo de forma anónima
- un correo de forma anónima para que puedan hacerse una idea s
- de cuántos usuarios están utilizando
- la herramienta. Para enviar dicho correo hay que presionar la tecla
- <keycap>Enter</keycap>, o bien puede pulsar
- la tecla <keycap>E</keycap> para salir de la ventana de bienvenida
- sin enviar dicho correo. A continuación se muestra un ejemplo
- de la página de bienvenida:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine1"/>
- </imageobject>
- </mediaobject>
-
- <para>Los usuarios disponen de un menú principal, que puede
- navegarse utilizando las flechas. Este menú proporciona
- atajos para la composición de nuevos correos, para navegar a
- través de las carpetas de correo, e incluso para
- la administración de la libreta de direcciones. Justo debajo
- del menú principal, se muestran las teclas de método
- abreviado (atajos) que pueden utilizarse en cada momento.</para>
-
- <para>El directorio por defecto que <application>pine</application>
- intenta abrir es <filename>inbox</filename>. Para ver el índice de
- todos los mensajes recibidos pulse la tecla
- <keycap>I</keycap> o seleccione la opción de menú
- denominada
- <guimenuitem>MESSAGE INDEX</guimenuitem> como se muestra a
- continuación:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine2"/>
- </imageobject>
- </mediaobject>
-
- <para>El índice muestra los mensajes en el directorio actual y
- puede navegarse en él utilizando las teclas
- del cursor. El mensaje seleccionado se puede leer presionando la
- tecla <keycap>Enter</keycap>.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine3"/>
- </imageobject>
- </mediaobject>
-
- <para>En la captura de pantalla que se muestra a continuación se
- muestra un mensaje de ejemplo. Las teclas de atajo se muestran
- como referencia en la parte baja de la pantalla. Un ejemplo de dichas
- teclas de método abreviado es la tecla <keycap>r</keycap> que
- permite responder al mensaje que se muestra en dicho momento.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine4"/>
- </imageobject>
- </mediaobject>
-
- <para>La contestación a un mensaje de correo eletrónico
- en <application>pine</application> se realiza mediante el editor
- <application>pico</application>, que se instala por defecto junto con
- <application>pine</application>. <application>pico</application>
- permite navegar de forma sencilla por los distintos mensajes de
- correo y es ligeramente más sencilla de manejar
- que &man.vi.1;, sobre todo para los usuarios noveles. Una vez que se
- ha escrito la réplica al correo se envía pulsando
- la tecla
- <keycombo action="simul"><keycap>Ctrl</keycap><keycap>X</keycap>
- </keycombo>. <application>pine</application> pedirá
- confirmación antes de enviarlo.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine5"/>
- </imageobject>
- </mediaobject>
-
- <para><application>pine</application> puede configurarse utilizando la
- entrada <guimenuitem>SETUP</guimenuitem> del menú principal.
- Se ruega consultar <uri xlink:href="http://www.washington.edu/pine/">http://www.washington.edu/pine/</uri>
- para obtener más información.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="mail-fetchmail">
- <info><title>Manejo de fetchmail</title>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Silver</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>Uso de fetchmail</primary>
- </indexterm>
-
- <para><application>fetchmail</application> es un cliente de
- <acronym>IMAP</acronym> y <acronym>POP</acronym> que permite a
- los usuarios descargar automáticamente el correo de cuentas
- remotas en servidores
- <acronym>IMAP</acronym> y <acronym>POP</acronym> y almacenarlos
- en carpetas de correo locales; una vez en local, se puede acceder a los
- correos de una forma más sencilla y utilizando multitud de
- programas cliente.
- <application>fetchmail</application> se puede instalar a partir del port
- <package>mail/fetchmail</package>. Veamos algunas de
- sus características más útiles:</para>
-
- <itemizedlist>
- <listitem>
- <para>Suporte de <acronym>POP3</acronym>,
- <acronym>APOP</acronym>, <acronym>KPOP</acronym>,
- <acronym>IMAP</acronym>, <acronym>ETRN</acronym> y
- <acronym>ODMR</acronym>.</para>
- </listitem>
-
- <listitem>
- <para>Puede reenviar correo utilizando <acronym>SMTP</acronym> lo que
- permite que las reglas de filtrado, reenvío y
- <quote>aliasing</quote> funcionen correctamente.</para>
- </listitem>
-
- <listitem>
- <para>Se puede ejecutar en modo d&aelig;mon comprobar
- periódicamente el correo entrante.</para>
- </listitem>
-
- <listitem>
- <para>Puede recuperar correo de múltiples carpetas y reenviarlos, en función de la configuración establecida,
- a varios usuarios locales.</para>
- </listitem>
- </itemizedlist>
-
- <para>Queda fuera del objetivo de este documento explicar todas las
- características de
- <application>fetchmail</application> pero algunas de ellas se exponen a
- ontinuación.
- <application>fetchmail</application> usa un fichero de
- configuración denominado
- <filename>.fetchmailrc</filename>. Este fichero incluye
- información sobre el servidor de correo remoto y los datos
- necesarios para poder hacer login en él. Debido a la naturaleza
- sensible de la información que se almacena en dicho fichero
- se recomienda modificar los permisos para que sea de sólo
- sea legible por su propietario. Lo conseguirá mediante el
- siguiente comando:</para>
-
- <screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen>
-
- <para>El siguiente ejemplo muestra un fichero de configuración
- <filename>.fetchmailrc</filename>.
- Este ejemplo sirve para automatizar la descarga del correo de un
- determinado usuario mediante <acronym>POP</acronym>. El fichero de
- configuración hace que
- <application>fetchmail</application> se conecte a <systemitem class="fqdomainname">ejemplo.com</systemitem> utilizando como nombre de usuario
- <systemitem class="username">joesoap</systemitem> y como contraseña
- <literal>XXX</literal>. En el ejemplo se asume que el usuario
- <systemitem class="username">joesoap</systemitem> también es un usuario válido
- en el sistema local.</para>
-
- <programlisting>poll ejemplo.com protocol pop3 username "joesoap" password "XXX"</programlisting>
-
- <para>El siguiente ejemplo permite a <application>fetchmail</application>
- conectarse a múltiples servidores
- <acronym>POP</acronym> e <acronym>IMAP</acronym> y redirige los correos
- a diferentes usuarios locales en función
- de la configuración establecida:</para>
-
- <programlisting>poll ejemplo.com proto pop3:
-user "joesoap", with password "XXX", is "jsoap" here;
-user "andrea", with password "XXXX";
-poll ejemplo.net proto imap:
-user "john", with password "XXXXX", is "myth" here;</programlisting>
-
- <para><application>fetchmail</application> se puede ejecutar en modo
- d&aelig;mon mediante el parámetro <option>-d</option> seguido
- seguido por un intervalo de tiempo (expresado en segundos)
- que indica cada cuánto tiempo debe
- <application>fetchmail</application> interrogar a los distintos
- servidores listados en <filename>.fetchmailrc</filename>.
- El siguiente ejemplo hace que
- <application>fetchmail</application> interroge cada 60 segundos:</para>
-
- <screen>&prompt.user; <userinput>fetchmail -d 60</userinput></screen>
-
- <para>Se puede encontrar más información sobre
- <application>fetchmail</application> en <uri xlink:href="http://www.catb.org/~esr/fetchmail/">http://www.catb.org/~esr/fetchmail/</uri>.</para>
- </sect1>
-
- <sect1 xml:id="mail-procmail">
- <info><title>Uso de procmail</title>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Silver</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>Uso de procmail</primary>
- </indexterm>
-
- <para><application>procmail</application> es una aplicación
- increíblemente potente que se utiliza para filtrar el correo de
- entrada.
- Permite a los usuarios definir <quote>reglas</quote> que se asocian
- con correos entrantes y que realizan funciones concretas, como
- reencaminar el correo a carpetas o direciones alternativas.
- <application>procmail</application> se puede instalar utilizando el port
- <package>mail/procmail</package>. Una vez instalado,
- se puede integrar directamente en la mayoría de los
- <acronym>MTA</acronym>s; por favor, consulte
- la documentación del <acronym>MTA</acronym> que utilice para
- saber más sobre la integración entre ambos.
- Por otro lado <application>procmail</application> se puede integrar
- con el <acronym>MTA</acronym> que prefiera de una forma sencilla
- añadiendo la siguiente línea al
- fichero <filename>.forward</filename> dentro del directorio home del
- usuario que desée usar <application>
- procmail</application>:</para>
-
- <programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting>
-
- <para>La siguiente sección muestra algunas reglas básicas de
- <application>procmail</application>, junto con una breve
- descripción de las acciones que realizan.
- Estas reglas, y muchas otras se deben insertar dentro del fichero
- <filename>.procmailrc</filename> ubicado en el directorio home del
- usuario.</para>
-
-
- <para>En la página man de <quote>procmailex</quote> se explica
- la mayoría de estas reglas.</para>
-
- <para>Reenvío de todo el correo proveniente de
- <literal>usuario@ejemplo.com</literal> hacia la
- dirección externa <literal>correodefiar@ejemplo.com</literal>:</para>
-
- <programlisting>:0
-* ^From.*usuario@ejemplo.com
-! correodefiar@ejemplo.com</programlisting>
-
- <para>Reenvío de todos los correos que ocupen menos de 1000 bytes
- a la dirección <literal>corredefiar@ejemplo2.com</literal>:</para>
-
- <programlisting>:0
-* &lt; 1000
-! correodefiar@ejemplo2.com</programlisting>
-
- <para>Envío de todos los correos dirigidos a
- <literal>opcional@ejemplo.com</literal>
- hacia una carpeta de correo llamada <filename>opcional</filename>:</para>
-
- <programlisting>:0
-* ^TOopcional@ejemplo.com
-opcional</programlisting>
-
- <para>Envío de todos los correos con un asunto que contenga la
- palabra <quote>Spam</quote> al
- dispositivo <filename>/dev/null</filename>:</para>
-
- <programlisting>:0
-^Subject:.*Spam
-/dev/null</programlisting>
-
- <para>Una útil receta para examinar mensajes de correo provenientes
- de listas de distribución de
- <systemitem class="fqdomainname">&os;.org</systemitem> y poner cada mensaje en
- el directorio apropiado en función del origen del mensaje:</para>
-
- <programlisting>:0
-* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
-{
- LISTNAME=${MATCH}
- :0
- * LISTNAME??^\/[^@]+
- FreeBSD-${MATCH}
-}</programlisting>
- </sect1>
-
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/mirrors/chapter.xml b/es_ES.ISO8859-1/books/handbook/mirrors/chapter.xml
deleted file mode 100755
index 9fb9f3a2ef..0000000000
--- a/es_ES.ISO8859-1/books/handbook/mirrors/chapter.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/mirrors/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/mirrors/chapter.xml,v 1.2 2004/08/25 18:38:41 carvay Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="mirrors">
- <title>Cómo obtener FreeBSD</title>
-
- <para>Cómo obtener FreeBSD</para>
-
- <sect1 xml:id="mirrors-ftp">
- <title>Servidores FTP</title>
- <para>&nbsp;</para>
- </sect1>
-
- <sect1 xml:id="cvsup">
- <title>Uso de CVSup</title>
- <para>&nbsp;</para>
-
- <sect2 xml:id="cvsup-install">
- <title>Instalación</title>
- <para>&nbsp;</para>
- </sect2>
-
- <sect2 xml:id="cvsup-mirrors">
- <title>Servidores</title>
- <para>&nbsp;</para>
-
- <sect3 xml:id="cvsup-refuse-file">
- <title>El fichero <filename>refuse</filename></title>
- <para>&nbsp;</para>
- </sect3>
- </sect2>
- </sect1>
-
-
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/multimedia/chapter.xml b/es_ES.ISO8859-1/books/handbook/multimedia/chapter.xml
deleted file mode 100644
index adba62d688..0000000000
--- a/es_ES.ISO8859-1/books/handbook/multimedia/chapter.xml
+++ /dev/null
@@ -1,1874 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/multimedia/chapter.xml
- %SRCID% 1.130
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="multimedia">
- <info><title>Multimedia</title>
- <authorgroup>
- <author><personname><firstname>Ross</firstname><surname>Lippert</surname></personname><contrib>Editado por </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <sect1>
- <title>Sinopsis</title>
-
- <para>&os; admite una gran variedad de tarjetas de sonido,
- lo que permite disfrutar de sonido de alta fidelidad en su
- sistema. Ésto incluye la posibilidad de grabar y reproducir
- ficheros de audio tanto en los formatos MPEG Audio Layer 3
- (MP3), WAV y Ogg Vorbis, así como muchos otros.
- La Colección de Ports de &os; contiene también
- aplicaciones que le permitirán editar audio previamente grabado,
- añadir efectos y controlar dispositivos MIDI.</para>
-
-
- <para>Tras unas cuantas pruebas podrá reproducir ficheros de
- video y DVD en &os;. La cantidad de aplicaciones disponibles
- para codificar, convertir y reproducir los diversos soportes de
- video es más limitada que lo que hay disponible para
- el sonido. Por ejemplo, en el momento de escribir este texto
- no hay en la Colección de Ports de &os; una buena
- aplicación que permita pasar datos de un formato a
- otro, el equivalente a lo que hay en el campo del sonido con
- <package>audio/sox</package>. A pesar de eso
- la situación en este área está cambiando
- rápidamente.</para>
-
- <para>Este capítulo muestra los pasos necesarios para configurar
- una tarjeta de sonido. La configuración e instalación
- de X11 (<xref linkend="x11"/>) habrá solucionado ya todos
- los problemas que hubiera podido darle su tarjeta gráfica,
- aunque quizás haya algún pequeño detalle que
- añadir para mejorar la reproducción.</para>
-
-
-
- <para>Tras leer éste capítulo sabrá usted:</para>
- <itemizedlist>
- <listitem><para>Cómo configurar su sistema de modo que su tarjeta
- de sonido sea reconocida por el mismo.</para></listitem>
-
- <listitem><para>Confirmar el funcionamiento de su tarjeta usando
- herramientas de muestreo.</para></listitem>
-
- <listitem><para>Cómo enfrentarse a problemas de
- configuración de sonido.</para></listitem>
-
- <listitem><para>Cómo reproducir y crear ficheros
- MP3 y otros.</para></listitem>
-
- <listitem><para>Cómo gestiona el video el servidor X.</para></listitem>
- <listitem><para>Identificar unos cuantos ports para reproducir y
- codificar video que le darán muy buenos resultados.</para></listitem>
- <listitem><para>Cómo reproducir DVD y ficheros
- <filename>.mpg</filename> y
- <filename>.avi</filename>.</para></listitem>
-
- <listitem><para>Cómo convertir CD y DVD en ficheros
- de datos.</para></listitem>
- <listitem><para>Cómo configurar una tarjeta de TV.</para></listitem>
- <listitem><para>Cómo configurar un escáner de
- imágenes.</para></listitem>
- </itemizedlist>
-
- <para>Antes de leer éste capítulo debería:</para>
-
- <itemizedlist>
- <listitem><para>Saber configurar e instalar un nuevo kernel (<xref linkend="kernelconfig"/>).</para></listitem>
- </itemizedlist>
-
-
- <warning>
- <para>&nbsp;Si intenta montar un cd con &man.mount.8; provocará
- (como mínimo) un error en el sistema, pero puede
- llegar a provocar un <emphasis>kernel
- panic</emphasis>. Dichos soportes tienen codificaciones
- especiales sustancialmente diferentes de los típicos
- sistemas de ficheros ISO.</para>
- </warning>
-
-
- </sect1>
-
-
-
- <sect1 xml:id="sound-setup">
- <info><title>Configuración de la tarjeta de sonido</title>
- <authorgroup>
- <author><personname><firstname>Moses</firstname><surname>Moore</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Ampliado para &os;&nbsp;5.X por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect2 xml:id="sound-device">
- <title>Configuración del sistema </title>
-
- <indexterm><primary>PCI</primary></indexterm>
- <indexterm><primary>ISA</primary></indexterm>
- <indexterm><primary>sound cards</primary></indexterm>
- <para>Antes de nada tendrá que saber a ciencia cierta el
- modelo de tarjeta que tiene, qué chip utiliza y si es PCI
- o ISA. &os; admite una amplia variedad de tarjetas, tanto PCI como
- ISA. Consulte la lista de dispositivos de sonido que puede usar
- en &os; en las <link xlink:href="&rel.current.hardware;">Hardware Notes</link>. Las
- «Hardware Notes» le dirán también
- qué controlador es el que hace funcionar su tarjeta.</para>
-
- <indexterm>
- <primary>kernel</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <para>Para poder usar su dispositivo de sonido en &os; tiene que
- cargar el controlador de dispositivo adecuado, cosa que puede
- hacerse de dos maneras. La forma más fácil es
- cargar el módulo del kernel correspondiente a su tarjeta
- de sonido mediante &man.kldload.8;. Puede hacerlo en su shell
- con la siguiente orden</para>
-
- <screen>&prompt.root; <userinput>kldload snd_emu10k1</userinput></screen>
-
- <para>o añadiendo la línea apropiada al fichero
- <filename>/boot/loader.conf</filename>:</para>
-
- <programlisting>snd_emu10k1_load="YES"</programlisting>
-
- <para>Ambos ejemplos son para una tarjeta de sonido
- Creative &soundblaster; Live!. Encontrará una lista de
- módulos de sonido que puede cargar del mismo modo en
- <filename>/boot/defaults/loader.conf</filename>. Si no está
- del todo seguro sobre el controlador que debe usar pruebe con el
- módulo <filename>snd_driver</filename>:</para>
-
- <screen>&prompt.root; <userinput>kldload snd_driver</userinput></screen>
-
- <para>Se trata de un «metacontrolador» que carga en
- memoria todos los controladores más habituales. De este modo
- acelerará notablemente el proceso de detectar cuál es
- el controlador perfecto para su hardware. También
- puede cargar todos los controladores de sonido desde
- <filename>/boot/loader.conf</filename>.</para>
-
- <para>Si quiere saber qué controlador se corresponde
- con su tarjeta de sonido una vez cargado el «metadriver»
- <filename>snd_driver</filename> debe comprobar el contenido de
- <filename>/dev/sndstat</filename> mediante la orden
- <command>cat /dev/sndstat</command>.</para>
-
- <para>El segundo método es compilar de forma estática
- el soporte para su tarjeta de sonido dentro de un kernel
- personalizado. En la siguiente sección encontrará
- la información necesaria para añadir a su kernel
- el soporte que necesita su hardware. Para más información
- sobre la compilación de un kernel consulte el <xref linkend="kernelconfig"/>.</para>
-
- <sect3>
- <title>Configuración de un kernel personalizado con soporte de sonido</title>
-
- <para>Lo primero que hay que hacer es añadir el
- controlador del «framework» de sonido
- &man.sound.4; al kernel; tendrá que añadir
- la siguiente línea a su fichero de configuración
- del kernel:</para>
-
- <programlisting>device sound</programlisting>
-
- <para>Una vez hecho esto tiene que añadir el soporte
- para su tarjeta de sonido. Evidentemente tendrá que
- saber exactamente qué controlador es el que hace
- funcionar su tarjeta. Consulte la lista de dispositivos de
- sonido soportados que encontrará en las <link xlink:href="&rel.current.hardware;">Hardware Notes</link> y elija
- el controlador perfecto para su tarjeta. Por ejemplo una
- una tarjeta de sonido Creative &soundblaster; Live! usará
- el controlador &man.snd.emu10k1.4;. Siguiendo con el ejemplo,
- si queremos añadir soporte para esta tarjeta agregaremos
- lo siguiente:</para>
-
- <programlisting>device snd_emu10k1</programlisting>
-
- <para>Por favor, lea la página de manual del controlador
- si tiene dudas con la sintaxis. La sintaxis específica
- para la configuración en el kernel de cada tarjeta de
- sonido soportada existente puede encontrarse también
- en <filename>/usr/src/sys/conf/NOTES</filename>.</para>
-
- <para>Las tarjetas ISA no PnP pueden requerir que se le
- facilite al kernel la información de la
- configuración de la tarjeta (IRQ, puerto de E/S, etc). Esto
- se hace modificando el fichero
- <filename>/boot/device.hints</filename>. Durante el proceso de
- arranque &man.loader.8; leerá este fichero y le
- pasará los parámetros al kernel. Veamos un ejemplo:
- una vieja tarjeta Creative &soundblaster; 16 ISA no PnP
- utilizará el controlador &man.snd.sbc.4; junto con
- <literal>snd_sb16</literal>. En el caso de esta tarjeta
- habrá que añadir las siguientes líneas
- al fichero de configuración del kernel</para>
-
- <programlisting>device snd_sbc
-device snd_sb16</programlisting>
-
- <para>y añadir lo siguiente a
- <filename>/boot/device.hints</filename>:</para>
-
- <programlisting>hint.sbc.0.at="isa"
-hint.sbc.0.port="0x220"
-hint.sbc.0.irq="5"
-hint.sbc.0.drq="1"
-hint.sbc.0.flags="0x15"</programlisting>
-
- <para>La tarjeta del ejemplo usa el puerto de E/S <literal>0x220</literal>
- I/O port y la IRQ <literal>5</literal>.</para>
-
- <para>La sintaxis a utilizar en
- <filename>/boot/device.hints</filename> se explica en
- la página de manual de &man.sound.4; y en la del
- controlador en cuestión.</para>
-
- <para>En el ejemplo se muestran los parámetros por
- omisión. En ciertos casos habrá que usar
- otra IRQ o usar otros parámetros para hacer funcionar
- la tarjeta de sonido. Consulte la página de manual de
- &man.snd.sbc.4; para más información sobre esta
- tarjeta.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="sound-testing">
- <title>Cómo probar su tarjeta de sonido</title>
-
- <para>Una vez que haya reiniciado con su kernel personalizado, o
- tras cargar el mólo del kernel necesario la tarjeta de
- sonido aparecerá en el búfer de mensajes del sistema
- (&man.dmesg.8;); deberí ser algo muy parecido a esto:</para>
-
- <screen>pcm0: &lt;Intel ICH3 (82801CA)&gt; port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
-pcm0: [GIANT-LOCKED]
-pcm0: &lt;Cirrus Logic CS4205 AC97 Codec&gt;</screen>
-
- <para>Puede comprobar el estado de la tarjeta de sonido en
- el fichero <filename>/dev/sndstat</filename>:</para>
-
- <screen>&prompt.root; <userinput>cat /dev/sndstat</userinput>
-FreeBSD Audio Driver (newpcm)
-Installed devices:
-pcm0: &lt;Intel ICH3 (82801CA)&gt; at io 0xd800, 0xdc80 irq 5 bufsz 16384
-kld snd_ich (1p/2r/0v channels duplex default)</screen>
-
- <para>El resultado en su sistema seguramente será distinto. Si
- no aparecen dispositivos <filename>pcm</filename> revise todo el
- proceso a ver dónde está el error. Revise su fichero
- de configuración del kernel nuevamente y compruebe que
- eligió el controlador de dispositivo adecuado. Tiene una
- lista de problemas habituales en la <xref linkend="troubleshooting"/>.</para>
-
- <para>Si todo ha ido bien ya tiene una tarjeta de sonido funcionando
- en su sistema. Si los pins de salida de sonido de su CD-ROM o DVD-ROM
- están colocados correctamente puede poner un CD en la unidad
- y reproducirlo con &man.cdcontrol.1;.</para>
-
- <screen>&prompt.user; <userinput>cdcontrol -f /dev/acd0 play 1</userinput></screen>
-
- <para>Hay muchas aplicaciones como <package>audio/workman</package> que le ofrecerán
- un interfaz más amigable. Si quiere escuchar ficheros MP3
- puede instalar, por ejemplo,
- <package>audio/mpg123</package>.</para>
-
- <para>Hay otra via aún más rápida de probar su
- tarjeta de sonido. Envíe datos a
- to <filename>/dev/dsp</filename> del siguiente modo:</para>
-
- <screen>&prompt.user; <userinput>cat fichero &gt; /dev/dsp</userinput></screen>
-
- <para>donde <filename>fichero</filename>
- puede ser cualquier fichero. Esta orden producirá ruido,
- lo que confirmará que la tarjeta de sonido funciona.</para>
-
- <para>Puede manejar los niveles de la tarjeta de sonido con &man.mixer.8;.
- Tiene todos los detalles en la página de manual de
- &man.mixer.8;.</para>
-
- <sect3 xml:id="troubleshooting">
- <title>Problemas habituales</title>
-
- <indexterm><primary>device nodes</primary></indexterm>
- <indexterm><primary>I/O port</primary></indexterm>
- <indexterm><primary>IRQ</primary></indexterm>
- <indexterm><primary>DSP</primary></indexterm>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Error</entry>
- <entry>Solution</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><errorname>sb_dspwr(XX) timed out</errorname></entry>
- <entry><para>El puerto de E/S no ha sido configurado correctamente.</para></entry>
- </row>
-
- <row>
- <entry><errorname>bad irq XX</errorname></entry>
- <entry><para>No ha elegido correctamente la IRQ. Asegúrese
- de que la IRQ que ha elegido y la IRQ del sonido son la misma.</para></entry>
- </row>
-
- <row>
- <entry><errorname>xxx: gus pcm not attached, out of memory</errorname></entry>
- <entry><para>No queda memoria suficiente en el sistema para poder
- usar el dispositivo.</para></entry>
- </row>
-
- <row>
- <entry><errorname>xxx: can't open /dev/dsp!</errorname></entry>
- <entry><para>Compruebe si hay otra aplicación utilizando
- (y por tanto ocupando) el dispositivo. Escriba
- <command>fstat | grep dsp</command>. Los sospechosos
- habituales son <application>esound</application> y
- el sistema de sonido de <application>KDE</application>.
- </para></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect3>
- </sect2>
-
- <sect2 xml:id="sound-multiple-sources">
- <info><title>Cómo utilizar múltiples fuentes de sonido</title>
- <authorgroup>
- <author><personname><firstname>Munish</firstname><surname>Chopra</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <para>Disponer de múltiples fuentes de sonido puede ser muy
- útil, por ejemplo cuando
- <application>esound</application> o
- <application>artsd</application> no permiten compartir el dispositivo
- de sonido con otra aplicación.</para>
-
- <para>&os; permite hacerlo gracias a los <emphasis>Virtual Sound
- Channels</emphasis> (<literal>canales virtuales de sonido</literal>),
- que se activan mediante &man.sysctl.8;. Los canales virtuales
- permiten multiplexar la reproducción de sonido de su tarjeta
- mezclando el sonido en el kernel.</para>
-
- <para>El número de canales virtuales se configura utilizando
- dos sysctl; como <systemitem class="username">root</systemitem> escriba lo siguiente:</para>
- <screen>&prompt.root; <userinput>sysctl hw.snd.pcm0.vchans=4</userinput>
-&prompt.root; <userinput>sysctl hw.snd.maxautovchans=4</userinput></screen>
-
- <para>En el ejemplo anterior se han creado cuatro canales virtuales, una
- cantidad muy razonable para el uso normal.
- <varname>hw.snd.pcm0.vchans</varname> es el número de canales
- virtuales de que dispone <filename>pcm0</filename>; puede configurarlo
- en cuanto el dispositivo sea reconocido por el sistema.
- <literal>hw.snd.maxautovchans</literal> es el número de canales
- virtuales que se le asignan a un nuevo dispositivo de audio cuando se
- conecta al sistema mediante &man.kldload.8;. Puesto que el
- módulo <filename>pcm</filename> puede cargarse independientemente
- de los controladores de hardware
- <varname>hw.snd.maxautovchans</varname> puede almacenar cuántos
- canales virtuales tienen asignados los dispositivos que se vayan
- conectando al sistema.</para>
-
- <note>
- <para>No es posible modificar el número de canales virtuales
- de un dispositivo que esté en marcha. Cierre antes todos
- los programas que estén utilizando el dispositivo, como
- reproductores de música o d&aelig;mons de sonido.</para>
- </note>
-
- <para>Si no usa &man.devfs.5; tendrá que configurar sus
- aplicaciones para que apunten a
- <filename>/dev/dsp0</filename>.<replaceable>x</replaceable>,
- donde <replaceable>x</replaceable> es un número entre 0 y 3 si
- <varname>hw.snd.pcm.0.vchans</varname> tiene un valor de 4 como en el
- ejemplo anterior. Si se estuviera usando
- &man.devfs.5; en el ejemplo anterior cualquier programa que pidiera
- <filename>/dev/dsp0</filename> sería atendido de
- forma totalmente transparente.</para>
- </sect2>
-
- <sect2>
- <info><title>Asignación a los canales de mezcla de valores por omisión</title>
- <authorgroup>
- <author><personname><firstname>Josef</firstname><surname>El-Rayes</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Los valores por defecto de los distintos canales de mezcla
- están fijados en el código del controlador
- &man.pcm.4;. Hay distintas aplicaciones y d&aelig;mons
- que le permitirán asignar valores al mezclador y que
- permanezcan entre uso y uso, pero no es una solución
- demasiado limpia. Puede asignar valores por omisión a
- las mezclas a nivel de controlador definiendo los valores
- apropiados en <filename>/boot/device.hints</filename>. Veamos
- un ejemplo:</para>
-
-<programlisting>hint.pcm.0.vol="50"</programlisting>
-
- <para>Esto asignará al canal de volumen un valor por
- omisión de 50 al cargar el módulo
- &man.pcm.4;.</para>
- </sect2>
-</sect1>
-
-
-
- <sect1 xml:id="sound-mp3">
- <info><title>Sonido MP3</title>
- <authorgroup>
- <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <para>El formato MP3 (MPEG Layer 3 Audio) llega casi al nivel de
- calidad del CD, por lo que no hay motivo por el deba faltar en
- su escritorio &os;.</para>
-
- <sect2 xml:id="mp3-players">
- <title>Reproductores de MP3</title>
-
- <para>El reproductor de MP3 para X11 más extendido
- es, de lejos, <application>XMMS</application> (X Multimedia System).
- Puede usar en él «skins»de
- <application>Winamp</application> puesto que el interfaz
- gráfico de <application>XMMS</application> es casi
- idéntico al de Nullsoft
- <application>Winamp</application>.
- <application>XMMS</application> incluye también soporte nativo
- para «plug-ins».</para>
-
- <para>Puede instalar <application>XMMS</application> como port
- (<package>multimedia/xmms</package>) o como package.</para>
-
- <para>La interfaz de <application>XMMS</application> es intuitiva e
- incluye una lista de reproducción, un ecualizador
- gráfico y muchas otras cosas. Si está acostumbrado
- a <application>Winamp</application>
- <application>XMMS</application> le será muy
- fácil de usar.</para>
-
- <para>El port <package>audio/mpg123</package>
- es un reproductor MP3 que se usa desde la shell.</para>
-
- <para>Puede especificarle desde la misma línea de órdenes
- a <application>mpg123</application> el dispositivo de
- sonido que debe usar y el fichero MP3 que debe reproducir. Veamos
- un ejemplo:</para>
-
- <screen>&prompt.root; <userinput>mpg123 -a /dev/dsp1.0 ASaber-GrandesÉxitos.mp3</userinput>
-High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
-Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
-Uses code from various people. See 'README' for more!
-THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
-
-
-
-
-
-Playing MPEG stream from ASaber-GrandesÉxitos.mp3 ...
-MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
-</screen>
-
- <para>Sustituya <filename>/dev/dsp1.0</filename>
- por el dispositivo <filename>dsp</filename> que haya en su
- sistema.</para>
-
- </sect2>
-
- <sect2 xml:id="rip-cd">
- <title>Extracción de pistas de sonido de un CD</title>
-
- <para>Antes de convirtir una pista o todo un CD a MP3 la información
- sonido debe volcarse al disco duro. Esto se hace convirtiendo
- los datos «raw CDDA» (CD Digital Audio) a ficheros
- WAV.</para>
-
- <para>La herramienta <command>cdda2wav</command>, que forma parte
- del port <package>sysutils/cdrtools</package>,
- permite la extracción de información de sonido en
- CD así como la información asociada a él.</para>
-
- <para>Con el CD en la unidad la siguiente orden
- (como <systemitem class="username">root</systemitem>) un CD entero en ficheros WAV
- individuales, uno por pista:</para>
-
- <screen>&prompt.root; <userinput>cdda2wav -D 0,1,0 -B</userinput></screen>
-
- <para><application>cdda2wav</application> soporta unidades CDROM
- ATAPI (IDE). En el caso de unidades IDE especifique
- el número de dispositivo en el lugar correspondiente al
- núro de unidad SCSI. Por ejemplo, para extraer la pista
- 7 desde una unidad IDE:</para>
-
- <screen>&prompt.root; <userinput>cdda2wav -D /dev/acd0 -t 7</userinput></screen>
-
- <para>La opción
- <option>-D <replaceable>0,1,0</replaceable></option>
- indica el dispositivo SCSI <filename>0,1,0</filename>,
- que corresponde con la salida de <command>cdrecord
- -scanbus</command>.</para>
-
- <para>Para extraer pistas de forma selectiva use la opción
- <option>-t</option>:</para>
-
- <screen>&prompt.root; <userinput>cdda2wav -D 0,1,0 -t 7</userinput></screen>
-
- <para>Esta opción extrae la séptima pista de un CDROM
- de sonido. Si quiere extraer un rango de pistas, por ejemplo las
- pistas de la uno a la siete, declare el rango del siguiente
- modo:</para>
-
- <screen>&prompt.root; <userinput>cdda2wav -D 0,1,0 -t 1+7</userinput></screen>
-
- <para>La herramienta &man.dd.1; le permite también extraer
- pistas de sonido desde unidades ATAPI; consulte la <xref linkend="duplicating-audiocds"/> para más
- información.</para>
-
- </sect2>
-
- <sect2 xml:id="mp3-encoding">
- <title>Codificación de MP3</title>
-
- <para>Hoy por hoy el codificador de MP3 por antonomasia es
- <application>lame</application>.
- Puede encontrar <application>lame</application> en
- <package>audio/lame</package>.</para>
-
- <para>Partiendo de ficheros WAV previamente extraidos la
- siguiente orden convierte
- <filename>audio01.wav</filename> en
- <filename>audio01.mp3</filename>:</para>
-
- <screen>&prompt.root; <userinput>lame -h -b 128 \
---tt "Título de copla o cantar" \
---ta "Grupo, solista o coral sinfónica" \
---tl "Título del álbum" \
---ty "2001" \
---tc "Autor de la extracción y paso a MP3" \
---tg "Estilo" \
-audio01.wav audio01.mp3</userinput></screen>
-
- <para>Los 128&nbsp;kbits pasan por se el estándar de ratio
- de bits de los MP3, aunque puede que usted sea de los que prefieren
- calidades más altas, 160 o incluso 192. A mayor ratio
- de bits, más espacio en disco necesitará, aunque
- la calidad también será mayor. La opción
- <option>-h</option> usa el modo «más calidad pero
- algo más lento». Las opciones que empiezan por
- <option>--t</option> indican etiquetas ID3, que suelen contener
- información de la canción que contiene el fichero
- MP3. Tiene información sobre otras opciones de
- codificación en la página de manual de
- <application>lame</application>.</para>
- </sect2>
-
- <sect2 xml:id="mp3-decoding">
- <title>Decodificación de MP3</title>
-
- <para>Para grabar un CD de sonido desde ficheros MP3 hay
- que convertirlos a formato WAV no comprimido. Tanto
- <application>XMMS</application> como
- <application>mpg123</application> soportan la conversión
- de MP3 a un formato de fichero no comprimido.</para>
-
- <para>Escritura a disco desde <application>XMMS</application>:</para>
-
- <procedure>
- <step>
- <para>Arranque <application>XMMS</application>.</para>
- </step>
-
- <step>
- <para>Botón derecho del raón en la
- ventana para acceder al menú de
- <application>XMMS</application>.</para>
- </step>
-
- <step>
- <para>Elija <literal>Preferences</literal> en
- <literal>Options</literal>.</para>
- </step>
-
- <step>
- <para>Cambie el «Output Plugin» a «Disk Writer
- Plugin».</para>
- </step>
-
- <step>
- <para>Pulse <literal>Configure</literal>.</para>
- </step>
-
- <step>
- <para>Elija un directorio en el que guardar los ficheros
- descomprimidos.</para>
- </step>
-
- <step>
- <para>Cargue el fichero MP3 en <application>XMMS</application>
- de la forma habitual, pero asegúrese de tener el
- volumen al 100% y las opciones de ecualización
- desactivadas.</para>
- </step>
-
- <step>
- <para>Pulse <literal>Play</literal> &mdash; parecerá
- que <application>XMMS</application> está reproduciendo
- música pero no sonará nada. Lo que está
- haciendo es volcar el MP3 a un fichero.</para>
- </step>
-
- <step>
- <para>Recuerde que antes de poder volver a escuchar ficheros
- MP3 de nuevo tendrá que devolver el «Plugin de
- salida» por omisión a la posición
- inicial.</para>
- </step>
- </procedure>
-
- <para>Escritura de la salida estándar en <application>mpg123</application>:</para>
-
- <procedure>
- <step>
- <para>Ejecute <command>mpg123 -s audio01.mp3
- &gt; audio01.pcm</command></para>
- </step>
- </procedure>
-
- <para><application>XMMS</application> genera un fichero WAV,
- mientras que <application>mpg123</application> convierte MP3 a
- datos de sonido raw PCM. Puede usar
- <application>cdrecord</application> con ambos formatos para crear
- CD de sonido. Tendrá que usar &man.burncd.8; para raw PCM.
- Si lo que tiene son ficheros WAV escuchará un ligero clic
- al principio de cada pista: se trata de la cabecera del fichero
- WAV. Puede eliminar esta cabecera mediante
- <application>SoX</application> (que puede instalar como port desde
- <package>audio/sox</package> o si lo prefiere como
- package):</para>
-
- <screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 pista.wav pista.raw</userinput></screen>
-
- <para>Consulte la <xref linkend="creating-cds"/> para más
- información sobre el uso de grabadoras de CD en
- &os;.</para>
- </sect2>
- </sect1>
-
-
- <sect1 xml:id="video-playback">
- <info><title>Reproducción de vídeo</title>
- <authorgroup>
- <author><personname><firstname>Ross</firstname><surname>Lippert</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
-
- <para>La reproducción de vídeo es un área muy
- nueva y en la que se producen grandes cambios a gran velocidad.
- Tenga paciencia. Aquí no va a ser todo tan sencillo como al
- configurar el sonido.</para>
-
- <para>Antes de comenzar es imprescindible que sepa con certeza
- cuál es el modelo de su tarjeta gráfica y qué
- chip usa. Tanto <application>&xorg;</application> como
- <application>&xfree86;</application> soportan gran cantidad de
- tarjetas gráficas, pero de pocas se puede decir que den
- un buen rendiemiento de reproducción. Puede consultar una
- lista de extensiones que el servidor X puede hacer funcionar en
- su tarjeta ejecutando &man.xdpyinfo.1; desde una sesión
- X11.</para>
-
- <para>Le recomendamos que tenga a mano un fichero MPEG no muy
- grande para usarlo en las pruebas que haga con los diversos
- reproductores y opciones. Algunos reproductores de DVD
- buscarán por omisión soportes DVD en
- <filename>/dev/dvd</filename> (algunos incluso tienen fijado en
- el código el nombre de dicha unidad) seguramente le
- resultará útil ejecutar los siguientes enlaces
- simbólicos:</para>
-
- <screen>&prompt.root; <userinput>ln -sf /dev/acd0 /dev/dvd</userinput>
-&prompt.root; <userinput>ln -sf /dev/acd0 /dev/rdvd</userinput></screen>
-
- <para>Tenga en cuenta que debido al diseño de &man.devfs.5;
- los enlaces creados a mano no sobrevivirán a un reinicio
- del sistema. Para que así suceda tras cada reinicio debe
- añadir las siguientes líneas a
- <filename>/etc/devfs.conf</filename>:</para>
-
- <programlisting>link acd0 dvd
-link acd0 rdvd</programlisting>
-
- <para>Además, el descifrado de DVD (una tarea que hará
- necesario llamar a funciones especiales de los DVD-ROM)
- requiere permisos de escritura en unidades DVD.</para>
-
- <para>Le recomendamos que aumente la memoria compartida del
- interfaz X11, para lo cual tendrá que incremente los
- valores asignados a varias &man.sysctl.8;:</para>
-
- <programlisting>kern.ipc.shmmax=67108864
-kern.ipc.shmall=32768</programlisting>
-
- <sect2 xml:id="video-interface">
- <title>Cómo determinar las características de video</title>
-
- <indexterm><primary>XVideo</primary></indexterm>
- <indexterm><primary>SDL</primary></indexterm>
- <indexterm><primary>DGA</primary></indexterm>
-
- <para>Hay varias formas de reproducir vídeo en X11, pero cuál
- de ellas sea la que funcione depende en gran medida del
- hardware que intervenga. Cada uno de los métodos que
- se describen más son mejores o peores según en
- qué hardware se ejecute. Además el procesamiento de
- video en X11 es un asunto que está recibiendo mucha
- atención últimamente y en cada nueva versión
- de <application>&xorg;</application> y de
- <application>&xfree86;</application> no es extraño encontrar
- avances significativos.</para>
-
- <para>Veamos una lista de interfaces de vídeo muy comunes:</para>
-
- <orderedlist>
- <listitem>
- <para>X11: salida normal de X11 utilizando memoria compartida.</para>
- </listitem>
- <listitem>
- <para>XVideo: una extensión del interfaz X11 que permite la
- reproducción de vídeo en las ventanas de X11.</para>
- </listitem>
- <listitem>
- <para>SDL: Simple Directmedia Layer.</para>
- </listitem>
- <listitem>
- <para>DGA: Direct Graphics Access (<literal>acceso directo
- a gráficos</literal>.</para>
- </listitem>
- <listitem>
- <para>SVGAlib: capa de consola de gráficos a bajo nivel.</para>
- </listitem>
- </orderedlist>
-
- <sect3 xml:id="video-interface-xvideo">
- <title>XVideo</title>
-
- <para><application>&xorg;</application> y
- <application>&xfree86; 4.X</application> tienen una extensión
- llamada <emphasis>XVideo</emphasis> (también conocida como Xvideo,
- Xv o xv) que permite reproducir vídeo en ventanas del sistema
- X11 a través de un tipo de aceleración especial.
- Dicha extensión ofrece una calidad de reproducción
- muy alta incluso en máquinas muy cortas de recursos.</para>
-
- <para>Utilice <command>xvinfo</command> para saber qué
- extensión está utilizando:</para>
-
- <screen>&prompt.user; <userinput>xvinfo</userinput></screen>
-
- <para>XVideo is supported for your card if the result looks like:</para>
-<screen>X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
- "XV_COLORKEY" (range 0 to 16777215)
- client settable attribute
- client gettable attribute (current value is 2110)
- "XV_BRIGHTNESS" (range -128 to 127)
- client settable attribute
- client gettable attribute (current value is 0)
- "XV_CONTRAST" (range 0 to 255)
- client settable attribute
- client gettable attribute (current value is 128)
- "XV_SATURATION" (range 0 to 255)
- client settable attribute
- client gettable attribute (current value is 128)
- "XV_HUE" (range -180 to 180)
- client settable attribute
- client gettable attribute (current value is 0)
- maximum XvImage size: 1024 x 1024
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
- id: 0x30323449 (I420)
- guid: 49343230-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
- id: 0x36315652 (RV16)
- guid: 52563135-0000-0000-0000-000000000000
- bits per pixel: 16
- number of planes: 1
- type: RGB (packed)
- depth: 0
- red, green, blue masks: 0x1f, 0x3e0, 0x7c00
- id: 0x35315652 (RV15)
- guid: 52563136-0000-0000-0000-000000000000
- bits per pixel: 16
- number of planes: 1
- type: RGB (packed)
- depth: 0
- red, green, blue masks: 0x1f, 0x7e0, 0xf800
- id: 0x31313259 (Y211)
- guid: 59323131-0000-0010-8000-00aa00389b71
- bits per pixel: 6
- number of planes: 3
- type: YUV (packed)
- id: 0x0
- guid: 00000000-0000-0000-0000-000000000000
- bits per pixel: 0
- number of planes: 0
- type: RGB (packed)
- depth: 1
- red, green, blue masks: 0x0, 0x0, 0x0</screen>
-
- <para>Tenga en cuenta que los formatos que aparecen en el listado
- (YUV2, YUV12, etc) no aparecen en todas las implementaciones de
- de XVideo y su ausencia puede despistar a algunos
- reproductores.</para>
-
- <para>Si el resultado se parece mucho a esto</para>
-<screen>X-Video Extension version 2.2
-screen #0
-no adaptors present</screen>
-
- <para>lo más probable es que su tarjeta no soporte XVideo.</para>
-
- <para>Si su tarjeta gráfica no soporta XVideo lo único
- que significa es que para su sistema será más
- complicado alcanzar los requisitos computacionales necesarios
- para el procesamiento de vídeo. Dependiendo de la tarjeta
- gráfica y el procesador que tenga es posible que de todos
- modos pueda salvar la papeleta. Consulte la sección sobre
- recursos avanzados en la <xref linkend="video-further-reading"/>.</para>
-
- </sect3>
-
- <sect3 xml:id="video-interface-SDL">
- <title>Simple Directmedia Layer</title>
-
- <para>SDL (Simple Directmedia Layer) se creó pensando en una
- capa que permitiera aplicaciones fáciles de portar entre las
- plataformas &microsoft.windows;, BeOS y &unix; y que permitiera
- al mismo tiempo un uso eficiente del sonido y el vídeo. La
- capa SDL ofrece abstracción de hardware a bajo nivel, lo que
- a veces puee ser más eficiente que la propia
- interfaz X11.</para>
-
- <para>SDL está en <package>devel/sdl12</package>.</para>
-
- </sect3>
-
- <sect3 xml:id="video-interface-DGA">
- <title>Direct Graphics Access</title>
-
- <para>«Direct Graphics Access» es una extensión
- de X11 que permite que un programa sortée el servidor X y
- acceda directamente al «framebuffer». Utiliza memoria
- de bajo nivel, así es imprescindible que se ejecute como
- <systemitem class="username">root</systemitem>.</para>
-
- <para>Puede probar y analizar el rendimiento de la extensión
- DGA con &man.dga.1;. Al ejecutar <command>dga</command> la pantalla
- cambia de color cada vez que pulsa una tecla. Para salir de la
- aplicación pulse <keycap>q</keycap>.</para>
-
- </sect3>
-
- </sect2>
-
- <sect2 xml:id="video-ports">
- <title>Ports y packages relacionados con el vídeo</title>
-
- <indexterm><primary>video ports</primary></indexterm>
- <indexterm><primary>video packages</primary></indexterm>
-
- <para>Esta sección expone el software existente en la
- Colección de Ports de &os; que puede usar para la
- reproducción de vídeo. La reproducción
- de vídeo es un área del desarrollo de software
- donde hay muchísima actividad, de manera que las
- características de más de una de las aplicaciones
- que vamos a describir pueden ser distintas.</para>
-
- <para>Lo primero que hay que conocer es el importante detalle de
- que la mayoría de las aplicaciones de vídeo
- que funcionan en &os; se desarrollaron para Linux. Muchas de
- esas aplicaciones todavía están en versiones
- beta. Estos son algunos de los problemas que puede encontrarse
- durante el uso de software de vídeo en &os;:</para>
-
- <orderedlist>
-
- <listitem>
- <para>Una aplicación no puede reproducir un fichero
- que ha generado otra aplicación distinta.</para>
- </listitem>
-
- <listitem>
- <para>Una aplicación no puede reproducir un fichero
- que ella misma a generado.</para>
- </listitem>
-
- <listitem>
- <para>La misma aplicación ejecutándose en dos
- máquinas distintas, compilada en cada una de esas
- máquinas; la reproducción del mismo fichero
- da resultados diferentes.</para>
- </listitem>
-
- <listitem>
- <para>El uso de un filtro aparentemente trivial como es
- redimensionar una imagen aplicando una escala da como fruto un
- resultado horroroso debido a que la rutina encargada de
- aplicarla es defectuosa.</para>
- </listitem>
-
- <listitem>
- <para>Que una aplicación de volcados de memoria («core
- dumps»).</para>
- </listitem>
-
- <listitem>
- <para>La documentación no se instala con el port, pero
- sí que existe en la web o en el directorio
- <filename>work</filename> del port.</para>
- </listitem>
-
- </orderedlist>
-
- <para>La mayoría de estas aplicaciones muestra
- síntomas evidente de «Linuxismo», es decir,
- hay problemas derivados del modo en el que se implementan las
- bibliotecas en las distribuciones de Linux, o del hecho de que
- ciertas características del kernel de Linux han sido
- dadas por omnipresentes por los autores de las aplicaciones. Estos
- problemas no siempre han sido advertidas y solucionadas de algún
- modo por los responsables de los ports, lo que puede desembocar
- en problemas como:</para>
-
- <orderedlist>
-
- <listitem>
- <para>El uso de <filename>/proc/cpuinfo</filename> para detectar
- las características del procesador.</para>
- </listitem>
-
- <listitem>
- <para>El uso erróneo de los hilos puede causar que
- ciertos programas se cuelguen al intentar cerrarse en lugar
- de cerrarse correctamente.</para>
- </listitem>
-
- <listitem>
- <para>Software que aún no está en la
- Colección de Ports de &os; usado frecuentemente con
- la aplicación.</para>
- </listitem>
-
- </orderedlist>
-
- <para>Hasta ahora los autores de las aplicaciones han colaborado
- de buen grado con los responsables de los ports para hacer
- más sencillo el trabajo de portar estas aplicaciones
- a &os;.</para>
-
- <sect3 xml:id="video-mplayer">
- <title>MPlayer</title>
-
- <para><application>MPlayer</application> es un reproductor de
- vídeo desarrollado muy recientemente y con un desarrollo
- rapidísimo. Los objetivos del equipo
- <application>MPlayer</application> son la velocidad y la flexibilidad
- en Linux y otros sistemas Unix. El proyecto comenzó
- cuando el fundador del equipo se cansó de padecer
- el pobre rendimiento de los reproductores de vídeo
- que había disponibles en ese momento. Hay quien dice
- que el interfaz gráfico fue sacrificado en pos de
- un diseño más ligero, aunque una vez que
- se acostumbre a las opciones desde la línea de
- órdenes y a los atajos de teclado todo irá
- como la seda.</para>
-
- <sect4 xml:id="video-mplayer-building">
- <title>Compilación de MPlayer</title>
- <indexterm><primary>MPlayer</primary>
- <secondary>making</secondary></indexterm>
-
- <para>Encontrará <application>MPlayer</application> en <package>multimedia/mplayer</package>.
- <application>MPlayer</application> ejecuta una serie de
- pruebas de hardware durante el proceso de compilación,
- dando como resultado un binario que no tiene por qué
- funcionar en otros sistemas. Recuerde, por tanto, compilar
- la aplicación como port y no utilice el package
- binario. Además hay múltiples parámetros
- que puede pasarle a <command>make</command>, tal y como
- verá al comenzar la compilación:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/multimedia/mplayer</userinput>
-&prompt.root; <userinput>make</userinput>
-N - O - T - E
-
-Take a careful look into the Makefile in order
-to learn how to tune mplayer towards you personal preferences!
-For example,
-make WITH_GTK1
-builds MPlayer with GTK1-GUI support.
-If you want to use the GUI, you can either install
-/usr/ports/multimedia/mplayer-skins
-or download official skin collections from
-http://www.mplayerhq.hu/homepage/dload.html
-</screen>
-
- <para>Las opciones por omisión del port deberían
- bastar para la mayoría de los usuarios, aunque si
- va a necesitar el codec XviD tendrá que especificar
- <varname>WITH_XVID</varname> en la línea de
- órdenes. La unidad de DVD por defecto se puede
- definir con la opción
- <varname>WITH_DVD_DEVICE</varname>si la opción por omisión,
- <filename>/dev/acd0</filename>, no le sirve.</para>
-
- <para>En el momento de escribir esto el port de
- <application>MPlayer</application> genera la documentación
- en formato HTML y dos ejecutables:
- <command>mplayer</command> y
- <command>mencoder</command>, que es una herramienta para
- recodificar vídeo.</para>
-
- <para>La documentación en HTML de
- <application>MPlayer</application> es muy informativa. Si el
- lector no cubre todas sus dudas sobre hardware de vídeo
- e interfaces con el contenido de este capítulo la
- documentación de <application>MPlayer</application>
- es el sitio donde debe buscar. Si quiere más información
- sobre el soporte de vídeo en &unix; el mejor sitio para
- consultar es, sin duda alguna, la documentación de
- <application>MPlayer</application>.</para>
-
- </sect4>
-
- <sect4 xml:id="video-mplayer-using">
- <title>Uso de MPlayer</title>
- <indexterm><primary>MPlayer</primary>
- <secondary>use</secondary></indexterm>
-
- <para>Los usuarios de <application>MPlayer</application> deben
- crear un subdirectorio <filename>.mplayer</filename> en su
- «home». Para crear este directorio (necesario
- para el funcionamiento de la aplicación) teclée
- lo siguiente:</para>
-
-<screen>&prompt.user; <userinput>cd /usr/ports/multimedia/mplayer</userinput>
-&prompt.user; <userinput>make install-user</userinput></screen>
-
- <para>Las opciones de <command>mplayer</command> para la línea
- de órdenes se detallan en la página de manual. Si
- necesita todavía más detalles consulte la
- documentación en HTML. En esta sección se
- va a explicar solamente lo más básico.</para>
-
- <para>Para reproducir el fichero
- <filename>ficherodeprueba.avi</filename>,
- mediante una de las diversas interfaces de vídeo utilice la
- opción <option>-vo</option>:</para>
-
- <screen>&prompt.user; <userinput>mplayer -vo xv ficherodeprueba.avi</userinput></screen>
- <screen>&prompt.user; <userinput>mplayer -vo sdl ficherodeprueba.avi</userinput></screen>
- <screen>&prompt.user; <userinput>mplayer -vo x11 ficherodeprueba.avi</userinput></screen>
- <screen>&prompt.root; <userinput>mplayer -vo dga ficherodeprueba.avi</userinput></screen>
- <screen>&prompt.root; <userinput>mplayer -vo 'sdl:dga' ficherodeprueba.avi</userinput></screen>
-
- <para>Merece la pena que pruebe todas, puesto que el rendimiento
- relativo depende en gran medida de muchos factores y será
- muy distinto el resultado dependiendo del hardware.</para>
-
- <para>Si quiere reproducir un DVD sustituya
- <filename>ficherodeprueba.avi</filename> por <option>dvd://<replaceable>N</replaceable> -dvd-device
- <replaceable>DISPOSITIVO</replaceable></option>, donde
- <replaceable>N</replaceable> es
- el número de título que quiere reproducir y
- <filename>DISPOSITIVO</filename> es el
- nodo de dispositivo del DVD-ROM. Veamos un ejemplo: para reproducir el
- título 3 desde <filename>/dev/dvd</filename>
- ejecutaremos:</para>
-
- <screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen>
-
- <note>
- <para>La unidad de DVD por omisión puede definirse
- durante la compilación del port de
- <application>MPlayer</application> con la opción
- <varname>WITH_DVD_DEVICE</varname>. Por defecto apunta a
- <filename>/dev/acd0</filename>. Tiene todos los
- detalles en el
- <filename>Makefile</filename> del port.</para>
- </note>
-
- <para>Consulte los atajos de teclado para parar la
- reproducción, ponerla en pausa, etc. consulte la
- salida de <command>mplayer -h</command> o mejor aún
- lése la página de manual.</para>
-
- <para>Hay otras opciones que le resultarán de interés
- para la reproducción:
- <option>-fs -zoom</option>, para la reproducción a pantalla
- completa y <option>-framedrop</option>, que mejora el
- rendimiento.</para>
-
- <para>Para evitar que la línea de órdenes se
- haga demasiado larga puede crear un fichero
- <filename>.mplayer/config</filename> e introducir en él
- las opciones que quiera usar desde el arranque de la
- aplicación:</para>
-<programlisting>vo=xv
-fs=yes
-zoom=yes</programlisting>
-
- <para>Para terminar, puede usar <command>mplayer</command>
- para extraer un título de un DVD a un fichero
- <filename>.vob</filename>. Por ejemplo, si quiere extraer
- el segundo título de un DVD escriba esto:</para>
-
- <screen>&prompt.root; <userinput>mplayer -dumpstream -dumpfile salida.vob dvd://2 -dvd-device /dev/dvd</userinput></screen>
-
- <para>El fichero de salida, <filename>salida.vob</filename>,
- un MPEG y puede manipularlo con las aplicaciones que se
- describen en esta sección.</para>
-
- </sect4>
- <sect4 xml:id="video-mencoder">
- <title>mencoder</title>
- <indexterm>
- <primary>mencoder</primary>
- </indexterm>
-
- <para>Antes de empezar a usar
- <command>mencoder</command> le recomendamos que se familiarice
- con las opciones que se detallan en la documentación
- HTML. Hay también una página de manual, pero no
- es de mucha utilidad sin la documentación HTML. Hay una
- ingente cantidad de formas de mejorar la calidad, reducir el
- ratio de bits y cambiar formatos; alguno de esos pequeños
- trucos pueden marcar la diferencia entre un buen y un mal
- rendimiento. Le mostramos un par de ejemplos por los que
- puede empezar. El primero es una simple copia:</para>
-
- <screen>&prompt.user; <userinput>mencoder entrada.avi -oac copy -ovc copy -o salida.avi</userinput></screen>
-
- <para>Ciertas combinaciones erróneas de opciones en la
- línea de órdenes pueden dar como fruto un fichero
- de salida que no puede reproducir ni siquiera el propio
- <command>mplayer</command>, así que si lo que quiere es
- extraer datos a un fichero siga usando tranquilamente la opción
- <option>-dumpfile</option> de
- <command>mplayer</command>.</para>
-
- <para>Para convertir
- <filename>entrada.avi</filename> con
- codificación MPEG4 y audio con codificación MPEG3
- (necesitará <package>audio/lame</package>):</para>
-
- <screen>&prompt.user; <userinput>mencoder entrada.avi -oac mp3lame -lameopts br=192 \
- -ovc lavc -lavcopts vcodec=mpeg4:vhq -o salida.avi</userinput></screen>
-
- <para>El fichero de salida puede verse con <command>mplayer</command>
- y con <command>xine</command>.</para>
-
- <para>Si sustituye
- <filename>entrada.avi</filename>
- por <option>dvd://1 -dvd-device /dev/dvd</option> y lo ejecuta
- como <systemitem class="username">root</systemitem> puede recodificar un título
- de DVD directamente. Es posible que el resultado no sea
- muy satisfactorio tras los primeros intentos, así que
- le recomendamos que vuelque el título a un fichero
- y haga todas las pruebas que necesite sobre ese fichero.</para>
- </sect4>
-
- </sect3>
-
- <sect3 xml:id="video-xine">
- <title>El reproductor de vídeo xine</title>
-
- <para>El reproductor de vídeo
- <application>xine</application> es un ambicioso proyecto que
- tiene como meta ofrecer no solamente una aplicación de
- vídeo «todo en uno», sino crear una
- biblioteca base reutilizable y un ejecutable modular que
- puede ampliarse mediante «plugins». Existe como
- package y también como port: <package>multimedia/xine</package>.</para>
-
- <para>El reproductor <application>xine</application> está
- todavía en mantillas, pero sus primeros pasos están
- siendo muy interesantes. <application>xine</application> requiere
- o una CPU rápida o una tarjeta gráfica, o bien
- soporte para la extensión XVideo. El GUI es intuitivo, aunque
- un tanto pedestre.</para>
-
- <para>En el momento de escribir esto
- <application>xine</application> no incorpora ningún
- módulo de entrada que sirva para reproducir DVD codificados
- con CSS. Hay versiones compiladas por terceros que tienen módulos
- que lo permiten, pero ninguna de ellas está en la
- Colección de Ports de &os;.</para>
-
- <para>Comparado con <application>MPlayer</application>
- <application>xine</application> deja las cosas más hechas
- para el usuario, pero al mismo tiempo pone más difícil
- el control exhaustivo sobre todo lo que pasa. El reproductor
- <application>xine</application> da un mejor rendimiento
- en interfaces XVideo.</para>
-
- <para>Por omisión <application>xine</application> arranca
- con un intefaz gráfico de usuario. Los menús
- pueden usarse para abrir un fichero en concreto:</para>
-
- <screen>&prompt.user; <userinput>xine</userinput></screen>
-
- <para>También puede invocar la aplicación desde la
- línea de órdenes para que reproduzca un fichero
- inmediatamente y sin utilizar el GUI:</para>
-
- <screen>&prompt.user; <userinput>xine -g -p fichero.avi</userinput></screen>
-
- </sect3>
-
- <sect3 xml:id="video-ports-transcode">
- <title>Las herramientas transcode</title>
-
- <para><application>transcode</application> no es un reproductor,
- sino una suite de herramientas para recodificar (también
- se podría usar la palabra «transcodificar», de
- ahí su nombre) ficheros de sonido y de vídeo.
- Con <application>transcode</application> es posible fundir ficheros
- de video y reparar ficheros deteriorados desde la línea de
- órdenes y en las interfaces de flujo
- <filename>stdin/stdout</filename>.</para>
-
- <para>Puede configurar gran cantidad de opciones en el
- momento de la compilación de <package>multimedia/transcode</package>; le
- recomendamos que use la siguiente línea de
- órdenes para compilar
- <application>transcode</application>:</para>
-
- <screen>&prompt.root; <userinput>make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
-WITH_MJPEG=yes -DWITH_XVID=yes</userinput></screen>
-
- <para>La configuración que le proponemos deberí
- satisfacer a la mayoría de los usuarios.</para>
-
- <para>Veamos un ejemplo ilustrativo de las posibilidades de
- <command>transcode</command>: convertir un fichero DivX
- en un fichero PAL MPEG-1 (PAL VCD):</para>
-
- <screen>&prompt.user; <userinput>transcode -i input.avi -V --export_prof vcd-pal -o output_vcd</userinput>
-&prompt.user; <userinput>mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa</userinput></screen>
-
- <para>Puede reproducir el fichero MPEG resultante,
- <filename>output_vcd.mpg</filename>,
- con <application>MPlayer</application>. Si quiere también
- puede grabar el fichero en un CD-R y tendrá un VideoCD,
- aunque para eso tendrá que instalar <package>multimedia/vcdimager</package> y <package>sysutils/cdrdao</package>.</para>
-
- <para>Consulte la página de manual de <command>transcode</command>,
- pero no olvide consultar también el <link xlink:href="http://www.transcoding.org/cgi-bin/transcode">wiki de
- transcode</link>, en el que encontrará
- más información y muchos ejemplos.</para>
- </sect3>
-
- </sect2>
-
- <sect2 xml:id="video-further-reading">
- <title>Lecturas adicionales</title>
-
- <para>El desarrollo de las diversas aplicaciones de
- vídeo disponibles en &os; avanza
- rápidamente. Es muy posible que en un futuro
- cercano la mayoría de los problemas de los que
- hemos hablado aquí hayan sido resueltos. Mientras
- tanto quien quiera exprimir las capacidades de &os; en
- las áreas del sonido y el vídeo tendrán
- que recopilar la información repartida en varias
- FAQ y tutoriales y utilizar unos cuantos programas
- diferentes. En esta sección se le proponen al
- lector interesado varias fuentes de información
- adicional.</para>
-
- <para>La
- <link xlink:href="http://www.mplayerhq.hu/DOCS/">documentación
- de MPlayer</link> contiene una gran cantidad de información
- técnica. Cualquiera que quiera alcanzar un alto grado
- de conocimiento en vídeo sobre &unix; debe consultar
- esa documentación. La lista de correo de
- <application>MPlayer</application> es sumamente hostil hacia
- quien no se ha molestado en leer la documentación
- <emphasis>antes</emphasis> de preguntar, así que si
- va a enviar informes de errores a esa lista, por favor,
- <emphasis>léase la documentación.</emphasis>.</para>
-
- <para>El texto
- <link xlink:href="http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html"> xine HOWTO</link>
- contiene un capítulo sobre mejora del rendimiento que
- afecta a todos los reproductores.</para>
-
- <para>Hay unas cuantas aplicaciones muy prometedoras que el lector
- debería al menos probar:</para>
-
- <itemizedlist>
-
- <listitem>
- <para><link xlink:href="http://avifile.sourceforge.net/">Avifile</link>, que
- encontrará en los ports:<package>multimedia/avifile</package>.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.dtek.chalmers.se/groups/dvd/">Ogle</link>,
- también en la colección de ports: <package>multimedia/ogle</package>.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://xtheater.sourceforge.net/">Xtheater</link></para>
- </listitem>
-
- <listitem>
- <para><package>multimedia/dvdauthor</package>, una aplicación
- libre para la producción de contenidos en DVD.</para>
- </listitem>
- </itemizedlist>
-
- </sect2>
- </sect1>
-
-
- <sect1 xml:id="tvcard">
- <info><title>Configuración de tarjetas de TV</title>
- <authorgroup>
- <author><personname><firstname>Josef</firstname><surname>El-Rayes</surname></personname><contrib>Texto original de </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Ampliado y adaptado por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>TV cards</primary>
- </indexterm>
-
- <sect2>
- <title>Introducción</title>
-
- <para>Las tarjetas de TV le permiten ver en su sistema
- emisiones de TV tradicionales o incluso por cable. La
- mayoría aceptan vídeo compuesto mediante
- RCA o una entrada de S-video; algunas de estas tarjetas
- incorporan también un sintonizador de radio FM.</para>
-
- <para>&os; puede utilizar tarjetas de TV PCI que tengan el chip
- Brooktree Bt848/849/878/879 o el chip de captura de vídeo
- Conexant CN-878/Fusion 878a gracias al controlador
- &man.bktr.4;. Asegúrese de que la tarjeta tiene un
- sintonizador que esté soportado: consulte la lista de
- sintonizadores soportados que encontrará en la página
- de manual de &man.bktr.4;.</para>
- </sect2>
-
- <sect2>
- <title>Añadir el controlador</title>
-
- <para>Poder usar la tarjeta tendrá que cargar el
- controlador &man.bktr.4;. Una forma de hacerlo es
- añdir la siguiente línea al fichero
- <filename>/boot/loader.conf</filename>:</para>
-
- <programlisting>bktr_load="YES"</programlisting>
-
- <para>También puede hacerlo compilando estáticamente
- el soporte para la tarjeta de TV en su kernel; añada
- las siguientes líneas al fichero de configuración
- de su kernel:</para>
-
- <programlisting>device bktr
-device iicbus
-device iicbb
-device smbus</programlisting>
-
- <para>Es necesario incluir todas esas lineas adicionales porque
- los componentes de la tarjeta están conectados entre
- sí por un bus I2C. Hecho esto compile e instale su
- nuevo kernel.</para>
-
- <para>Una vez añadido el soporte de la tarjeta al sistema
- tendrá que reiniciar. Durante el arranque deberían
- aparecer rastros de su tarjeta de TV. Veamos un ejemplo:</para>
-
- <programlisting>bktr0: &lt;BrookTree 848A&gt; mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
-iicbb0: &lt;I2C bit-banging driver&gt; on bti2c0
-iicbus0: &lt;Philips I2C bus&gt; on iicbb0 master-only
-iicbus1: &lt;Philips I2C bus&gt; on iicbb0 master-only
-smbus0: &lt;System Management Bus&gt; on bti2c0
-bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
-
- <para>Es obvio que estos mensajes serán distintos
- según sea el hardware del que se trate.
- Asegúrese de que el sistema detecta correctamente
- el sintonizador. Se puede sobreescribir alguno de los
- parámetros detectados por el sistema mediante
- MIB &man.sysctl.8; y opciones del fichero de configuración
- del kernel. Si por ejemplo quiere obligar al sintonizador
- para que se comporte como un Phillips SECAM añada
- lo siguiente al fichero de configuración de su
- kernel:</para>
-
- <programlisting>options OVERRIDE_TUNER=6</programlisting>
-
- <para>Puede utilizar directamente &man.sysctl.8;:</para>
-
- <screen>&prompt.root; <userinput>sysctl hw.bt848.tuner=6</userinput></screen>
-
- <para>Consulte en &man.bktr.4; y en
- <filename>/usr/src/sys/conf/NOTES</filename> si necesita
- más detalles sobre las opciones disponibles.</para>
- </sect2>
-
- <sect2>
- <title>Aplicaciones útiles</title>
-
- <para>Tendrá que instalar una de estas aplicaciones
- para poder utilizar su tarjeta de TV:</para>
-
- <itemizedlist>
- <listitem>
- <para><package>multimedia/fxtv</package>
- ofrece «TV en una ventana» y captura de
- imagen/sonido/vídeo.</para>
- </listitem>
- <listitem>
- <para><package>multimedia/xawtv</package>:
- otra aplicación de TV; ofrece lo mismo que
- <application>fxtv</application>.</para>
- </listitem>
- <listitem>
- <para><package>misc/alevt</package> decodifica
- y reproduce videotexto y teletexto.</para>
- </listitem>
- <listitem>
- <para><package>audio/xmradio</package> permite
- utilizar el sintonizador de radio FM que incorporan algunas
- tarjetas de TV.</para>
- </listitem>
- <listitem>
- <para><package>audio/wmtune</package>, una
- aplicación de escritorio muy útil para
- el uso de sintonizadores de radio.</para>
- </listitem>
- </itemizedlist>
-
- <para>Hay más aplicaciones útiles en la Colección de
- de Ports de &os;.</para>
- </sect2>
-
- <sect2>
- <title>Solución de problemas</title>
-
- <para>Si tiene algún problema con su tarjeta de TV compruebe
- en primer lugar que el chip de captura de vídeo y el
- sintonizador realmente funcionan con el controlador
- &man.bktr.4; y si ha utilizado las opciones de configuración
- más adecuadas. Si necesita más ayuda o necesita
- respuestas sobre su tarjeta de TV puede recurrir a la lista
- de correo &a.multimedia.name;.</para>
- </sect2>
- </sect1>
-
-
- <sect1 xml:id="scanners">
- <info><title>Escáneres de imágenes</title>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>image scanners</primary>
- </indexterm>
-
- <sect2>
- <title>Introducción</title>
-
- <para>El acceso a escáneres de imágenes en &os;
- funciona gracias a la <acronym role="Application Programming Interface">API</acronym>
- <application>SANE</application> (siglas de «Scanner Access Now
- Easy», «el acceso a escáneres ahora es
- fácil»), disponible en la Colección de Ports
- de &os;. <application>SANE</application> utiliza también
- ciertos controladores de &os; para acceder al hardware del
- escáner.</para>
-
- <para>&os; puede utilizar tanto escáneres SCSI como USB.
- Asegúrese de que el suyo funciona con
- <application>SANE</application> antes de intentar ningún
- tipo de configuración. <application>SANE</application>
- tiene una lista de <link xlink:href="http://www.sane-project.org/sane-supported-devices.html">dispositivos
- soportados</link> donde encontrará información
- actualizada sobre hasta dónde funciona el escáner
- y su estatus. La página de manual de &man.uscanner.4;
- incluye una listas de escáneres USB que funcionan con
- <application>SANE</application>.</para>
- </sect2>
-
- <sect2>
- <title>Configuración del kernel</title>
-
- <para>Como ya se ha dicho tanto los interfaces USB como las
- SCSI funcionan. Según sea el interfaz de su
- escáner necesitará un tipo diferente de
- controlador:</para>
-
- <sect3 xml:id="scanners-kernel-usb">
- <title>Interfaz USB</title>
-
- <para>El kernel <filename>GENERIC</filename> incluye por
- omisión los controladores de dispositivo necesarios
- para poder usar escáneres USB. Si va a personalizar
- su kernel asegúrese de que esto está en el
- fichero de configuración del mismo:</para>
-
- <programlisting>device usb
-device uhci
-device ohci
-device uscanner</programlisting>
-
- <para>Según cual sea el chipset de su placa base
- tendrá que usar <literal>device uhci</literal> o
- <literal>device ohci</literal>, aunque si tiene ambos
- no tendrá problemas por eso.</para>
-
- <para>Si por cualquier motivo no quiere recompilar su
- kernel y su kernel no es el
- <filename>GENERIC</filename> puede cargar el módulo
- controlador de dispositivo &man.uscanner.4; con
- &man.kldload.8;:</para>
-
- <screen>&prompt.root; <userinput>kldload uscanner</userinput></screen>
-
- <para>Si quiere cargar este módulo cada vez que arranque
- el sistema debe añadir la siguiente
- línea a
- <filename>/boot/loader.conf</filename>:</para>
-
- <programlisting>uscanner_load="YES"</programlisting>
-
- <para>Tras reiniciar con el kernel correcto (o una vez
- que el módulo esté cargado) conecte su
- escáner USB. Debe aparecer en el «buffer»
- de mensajes del sistema (&man.dmesg.8;) un mensaje una
- línea como la siguiente:</para>
-
- <screen>uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2</screen>
-
- <para>La línea del ejemplo muestra que nuestro
- escáner está utilizando el nodo de
- dispositivo<filename>/dev/uscanner0</filename>.</para>
- </sect3>
-
- <sect3>
- <title>Interfaz SCSI</title>
-
- <para>Si su escáner tiene un interfaz SCSI es importante
- saber qué controladora SCSI incorpora.
- El chipset SCSI que tenga influirá en la
- configuración del kernel que tenga que
- personalizar. El kernel <filename>GENERIC</filename>
- tiene controladores de dispositivo para las controladoras
- SCSI más comunes. Consulte el fichero
- <filename>NOTES</filename> y añada la
- línea correcta al fichero de configuración
- de su kernel. Tendrá que añadir
- también la siguiente línea:</para>
-
- <programlisting>device scbus
-device pass</programlisting>
-
- <para>Una vez compilado e instalado el kernel correctamente
- tiene ya que ver sus nuevos dispositivos en el
- «buffer» de mensajes del sistema:</para>
-
- <screen>pass2 at aic0 bus 0 target 2 lun 0
-pass2: &lt;AGFA SNAPSCAN 600 1.10&gt; Fixed Scanner SCSI-2 device
-pass2: 3.300MB/s transfers</screen>
-
- <para>Si su escáner estaba apagado durante el arranque
- puede forzar manualmente la detección si ejecuta una
- búsqueda de buses SCSI con &man.camcontrol.8;:</para>
-
- <screen>&prompt.root; <userinput>camcontrol rescan all</userinput>
-Re-scan of bus 0 was successful
-Re-scan of bus 1 was successful
-Re-scan of bus 2 was successful
-Re-scan of bus 3 was successful</screen>
-
- <para>El escáner aparecerá en la lista de
- dispositivos SCSI:</para>
-
- <screen>&prompt.root; <userinput>camcontrol devlist</userinput>
-&lt;IBM DDRS-34560 S97B&gt; at scbus0 target 5 lun 0 (pass0,da0)
-&lt;IBM DDRS-34560 S97B&gt; at scbus0 target 6 lun 0 (pass1,da1)
-&lt;AGFA SNAPSCAN 600 1.10&gt; at scbus1 target 2 lun 0 (pass3)
-&lt;PHILIPS CDD3610 CD-R/RW 1.00&gt; at scbus2 target 0 lun 0 (pass2,cd0)</screen>
-
- <para>Tiene todos los detalles sobre los dispositivos
- SCSI en las páginas de manual de
- &man.scsi.4; y &man.camcontrol.8;.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Configuración de SANE</title>
-
- <para>El sistema <application>SANE</application> se divide
- en dos partes: los «backends» (<package>graphics/sane-backends</package>) y los
- «frontends» (<package>graphics/sane-frontends</package>). Los
- «backends» facilitan el acceso al escáner
- propiamente dicho. La
- <link xlink:href="http://www.sane-project.org/sane-supported-devices.html">lista
- de dispositivos que funcionan con </link>
- <application>SANE</application> le dirá qué
- «backend» hará funcionar su escáner
- de imágenes. No hay más remedio que identificar
- correctamente el «backend» de su escáner
- para poder usarlo. Los «frontends» ofrecen
- una interfaz gráfica para escanear
- (<application>xscanimage</application>).</para>
-
- <para>Lo primero que hay que hacer es instalar el port
- o package de <package>graphics/sane-backends</package>. Después
- ejecute la orden <command>sane-find-scanner</command>
- para comprobar el funcionamiento de la detección
- de escáneres del sistema
- <application>SANE</application>:</para>
-
- <screen>&prompt.root; <userinput>sane-find-scanner -q</userinput>
-found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3</screen>
-
- <para>En la salida de la orden anterior se le mostrará
- el tipo de interfaz del escáner y el nodo de dispositivo
- a través del cual el sistema accede a él. Es
- posible que no aparezcan la marca y el modelo, pero eso no
- tiene importancia.</para>
-
- <note>
- <para>Algunos escáneres USB necesitan que les instale un
- «firmware»; esto se explica en la página
- de manual del «backend» correspondiente. También
- debe leer las páginas de manual &man.sane-find-scanner.1;
- y &man.sane.7;.</para>
- </note>
-
- <para>Ahora hay que comprobar que el «frontend» de
- escaneo puede identificar el escáner. Por omisión
- los «backends» de
- <application>SANE</application> incorporan una herramienta de
- línea de órdenes llamada &man.scanimage.1;, que
- le mostrará una lista de dispositivos e incluso una
- captura de imagen desde la shell. La opción
- <option>-L</option> muestra una lista de escáners:</para>
-
- <screen>&prompt.root; <userinput>scanimage -L</userinput>
-device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner</screen>
-
- <para>Si el software no lanza ningún mensaje, o si
- el mensaje indica que no se han encontrado escáneres
- significa que &man.scanimage.1; no puede identificar su
- escáner. Si este es el caso tendrá que
- editar el fichero de configuración del
- «backend»y definir en él el
- escáner que quiera utilizar. Encontrará
- todos los ficheros de configuración de los
- «backends» en el directorio <filename>/usr/local/etc/sane.d/</filename>. Este
- problema con la identificación del hardware
- es relativamente frecuente con ciertos modelos de
- escáneres USB.</para>
-
- <para>Por ejemplo, con el escáner que hemos usado en
- la <xref linkend="scanners-kernel-usb"/> la orden
- <command>sane-find-scanner</command> nos da la siguiente
- información:</para>
-
- <screen>&prompt.root; <userinput>sane-find-scanner -q</userinput>
-found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0</screen>
-
- <para>El escáner ha sido detectado sin problemas, utiliza el
- interfaz USB y está conectado al nodo de dispositivo
- <filename>/dev/uscanner0</filename> . Ahora comprobaremos
- que podemos identificar correctamente el escáner:</para>
-
- <screen>&prompt.root; <userinput>scanimage -L</userinput>
-
-No scanners were identified. If you were expecting something different,
-check that the scanner is plugged in, turned on and detected by the
-sane-find-scanner tool (if appropriate). Please read the documentation
-which came with this software (README, FAQ, manpages).</screen>
-
- <para>No hemos podido identificar el escáner, así
- que hemos de editar el fichero
- <filename>/usr/local/etc/sane.d/epson.conf</filename>. Estamos
- usando el modelo de escáner &epson.perfection; 1650,
- así que ya sabemos que el escáner utilizará
- el «backend» <literal>epson</literal>. Lea
- atentamente los comentarios que hay en los ficheros de
- configuración de los «backends». Lo que
- hay que hacer es muy sencillo: basta con comentar las
- líneas en las que aparecen interfaces que no sean el
- perfecto para su escáner. En nuestro caso comentaremos
- todas las líneas que comiencen por
- <literal>scsi</literal> puesto que nuestro escáner
- tiene interfaz USB. Después de esto hay que
- añadir una lína al final del fichero declarando
- el interfaz y el nodo de dispositivo que se van a usar. En
- el caso del ejemplo esto es lo que añadimos:</para>
-
- <programlisting>usb /dev/uscanner0</programlisting>
-
- <para>Por favor, lea los comentarios que encontrará
- en el fichero de configuración del «backend»
- y la pángina de manual de del «backend»
- si necesita más información sobre la
- sintaxis que debe usar. Hecho esto podemos verificar si
- ya podemos identificar el escáner:</para>
-
- <screen>&prompt.root; <userinput>scanimage -L</userinput>
-device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner</screen>
-
- <para>Hemos identificado nuestro escáner USB. Ni tiene
- importancia si la marca y modelo que hemos visto no coinciden
- con nuestro escáner. Lo único realmente
- importante es el campo
- <literal>`epson:/dev/uscanner0'</literal>, que nos da
- el nombre correcto del «backend» y el
- nodo de dispositivo correcto.</para>
-
- <para>Una vez que <command>scanimage -L</command> llega a ver
- al escáner hemos terminado con la configuración.
- El dispositivo está listo para escanear
- imángenes.</para>
-
- <para>&man.scanimage.1; permite ejecutar una captura de
- imágen desde la línea de órdenes,
- pero siempre es mejor utilizar un interfaz gráfico de
- usuario para estas tareas.
- <application>SANE</application> ofrece un interfaz
- gráfico simple pero eficiente:
- <application>xscanimage</application>
- (<package>graphics/sane-frontends</package>).</para>
-
- <para>Otro «frontend» gráfico para
- escanear que se ha hecho muy popular es
- <application>Xsane</application> (<package>graphics/xsane</package>). Este
- «frontend» tiene características muy
- avanzadas como varios modos de escaneo (fotocopia, fax, etc.),
- corrección de color, escaneo de imágenes por
- lotes, etc. Ambas aplicaciones pueden utilizarse además
- como «plugins» de
- <application>GIMP</application>.</para>
- </sect2>
-
- <sect2>
- <title>Dar acceso al escáner a otros usuarios</title>
-
- <para>Todo lo que se ha mostrado en esta sección
- se ha ejecutado con privilegios de
- <systemitem class="username">root</systemitem>. Lo normal es que haya otros usuarios
- que tengan que tener acceso al escáner. Un usuario
- que quiera usar el escáner tiene que tener acceso
- de lectura y escritura al nodo de dispositivo que usa
- el escáner. Por ejemplo, nuestro escáner
- USB utiliza el nodo de dispositivo
- <filename>/dev/uscanner0</filename> propiedad del grupo
- <systemitem class="groupname">operator</systemitem>. Al añadir al usuario
- <systemitem class="username"><replaceable>joe</replaceable></systemitem> al
- grupo <systemitem class="groupname">operator</systemitem> éste podrá
- acceder al esc&acute;ner:</para>
-
- <screen>&prompt.root; <userinput>pw groupmod operator -m joe</userinput></screen>
-
- <para>Para más información sobre el uso de
- &man.pw.8; lea su página de manual. Tendrá
- también que configurar correctamente los permisos de
- escritura (0660 o 0664) en el nodo de dispositivo
- <filename>/dev/uscanner0</filename>; por omisión los
- miembros del grupo <systemitem class="groupname">operator</systemitem> sólo
- tienen acceso de lectura en este nodo de dispositivo.
- Añada las siguientes líneas al fichero
- lines to the <filename>/etc/devfs.rules</filename>:</para>
-
- <programlisting>[system=5]
-add path uscanner0 mode 660</programlisting>
-
- <para>Ahora añada lo siguiente a
- <filename>/etc/rc.conf</filename> y reinicie la
- máquina:</para>
-
- <programlisting>devfs_system_ruleset="system"</programlisting>
-
- <para>Para más información sobre lo que acaba de
- leer consulte la página de manual de
- &man.devfs.8;.</para>
-
- <note>
- <para>Por seguridad debería pensarse dos veces
- el hecho mismo de añadir cualquier usuario
- a un grupo y muy especialmente al grupo
- <systemitem class="groupname">operator</systemitem>.</para>
- </note>
- </sect2>
- </sect1>
-
-
-
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/network-servers/chapter.xml b/es_ES.ISO8859-1/books/handbook/network-servers/chapter.xml
deleted file mode 100644
index 4d6206c79a..0000000000
--- a/es_ES.ISO8859-1/books/handbook/network-servers/chapter.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/network-servers/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="network-servers">
- <info><title>Servidores de red</title>
- <authorgroup>
- <author><personname><firstname>Murray</firstname><surname>Stokely</surname></personname><contrib>Reorganizado por </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <sect1 xml:id="network-servers-synopsis">
- <title>*</title>
-
- <para>Pendiente de traducción. Este capítulo
- incluye también parte del contenido del <xref linkend="advanced-networking"/>, <quote>networking</quote>
- avanzado.</para>
-
- </sect1>
-
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.xml b/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.xml
deleted file mode 100755
index 235fe2bf1d..0000000000
--- a/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.xml
+++ /dev/null
@@ -1,509 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/pgpkeys/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.xml,v 1.2 2004/10/08 19:17:35 jesusr Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="pgpkeys">
- <title>PGP keys</title>
-
- <para>En caso de que necesites verificar una firma o enviar un mail
- encriptado a alguno de los responsables o miembros del core team,
- aquí tienes una serie de claves para uso.</para>
-
-
- <sect1>
- <title>Responsables</title>
-
-
- <sect2>
- <title>Responsable de Seguridad de FreeBSD <email>security-officer@freebsd.org</email></title>
-
- <programlisting>
-FreeBSD Security Officer &lt;security-officer@freebsd.org&gt;
-Fingerprint = 41 08 4E BB DB 41 60 71 F9 E5 0E 98 73 AF 3F 11
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3i
-
-mQCNAzF7MY4AAAEEAK7qBgPuBejER5HQbQlsOldk3ZVWXlRj54raz3IbuAUrDrQL
-h3g57T9QY++f3Mot2LAf5lDJbsMfWrtwPrPwCCFRYQd6XH778a+l4ju5axyjrt/L
-Ciw9RrOC+WaPv3lIdLuqYge2QRC1LvKACIPNbIcgbnLeRGLovFUuHi5z0oilAAUR
-tDdGcmVlQlNEIFNlY3VyaXR5IE9mZmljZXIgPHNlY3VyaXR5LW9mZmljZXJAZnJl
-ZWJzZC5vcmc+iQCVAwUQMX6yrOJgpPLZnQjrAQHyowQA1Nv2AY8vJIrdp2ttV6RU
-tZBYnI7gTO3sFC2bhIHsCvfVU3JphfqWQ7AnTXcD2yPjGcchUfc/EcL1tSlqW4y7
-PMP4GHZp9vHog1NAsgLC9Y1P/1cOeuhZ0pDpZZ5zxTo6TQcCBjQA6KhiBFP4TJql
-3olFfPBh3B/Tu3dqmEbSWpuJAJUDBRAxez3C9RVb+45ULV0BAak8A/9JIG/jRJaz
-QbKom6wMw852C/Z0qBLJy7KdN30099zMjQYeC9PnlkZ0USjQ4TSpC8UerYv6IfhV
-nNY6gyF2Hx4CbEFlopnfA1c4yxtXKti1kSN6wBy/ki3SmqtfDhPQ4Q31p63cSe5A
-3aoHcjvWuqPLpW4ba2uHVKGP3g7SSt6AOYkAlQMFEDF8mz0ff6kIA1j8vQEBmZcD
-/REaUPDRx6qr1XRQlMs6pfgNKEwnKmcUzQLCvKBnYYGmD5ydPLxCPSFnPcPthaUb
-5zVgMTjfjS2fkEiRrua4duGRgqN4xY7VRAsIQeMSITBOZeBZZf2oa9Ntidr5PumS
-9uQ9bvdfWMpsemk2MaRG9BSoy5Wvy8VxROYYUwpT8Cf2iQCVAwUQMXsyqWtaZ42B
-sqd5AQHKjAQAvolI30Nyu3IyTfNeCb/DvOe9tlOn/o+VUDNJiE/PuBe1s2Y94a/P
-BfcohpKC2kza3NiW6lLTp00OWQsuu0QAPc02vYOyseZWy4y3Phnw60pWzLcFdemT
-0GiYS5Xm1o9nAhPFciybn9j1q8UadIlIq0wbqWgdInBT8YI/l4f5sf6JAJUDBRAx
-ezKXVS4eLnPSiKUBAc5OBACIXTlKqQC3B53qt7bNMV46m81fuw1PhKaJEI033mCD
-ovzyEFFQeOyRXeu25Jg9Bq0Sn37ynISucHSmt2tUD5W0+p1MUGyTqnfqejMUWBzO
-v4Xhp6a8RtDdUMBOTtro16iulGiRrCKxzVgEl4i+9Z0ZiE6BWlg5AetoF5n3mGk1
-lw==
-=ipyA
------END PGP PUBLIC KEY BLOCK-----</programlisting>
-
- </sect2>
-
- <sect2>
- <title>&a.imp;</title>
-
- <programlisting>
-Warner Losh &lt;imp@village.org&gt;
- aka &lt;imp@freebsd.org&gt;
-Fingerprint = D4 31 FD B9 F7 90 17 E8 37 C5 E7 7F CF A6 C1 B9
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzDzTiAAAAEEAK8D7KWEbVFUrmlqhUEnAvphNIqHEbqqT8s+c5f5c2uHtlcH
-V4mV2TlUaDSVBN4+/D70oHmZc4IgiQwMPCWRrSezg9z/MaKlWhaslc8YT6Xc1q+o
-EP/fAdKUrq49H0QQbkQk6Ks5wKW6v9AOvdmsS6ZJEcet6d9G4dxynu/2qPVhAAUR
-tCBNLiBXYXJuZXIgTG9zaCA8aW1wQHZpbGxhZ2Uub3JnPokAlQMFEDM/SK1VLh4u
-c9KIpQEBFPsD/1n0YuuUPvD4CismZ9bx9M84y5sxLolgFEfP9Ux196ZSeaPpkA0g
-C9YX/IyIy5VHh3372SDWN5iVSDYPwtCmZziwIV2YxzPtZw0nUu82P/Fn8ynlCSWB
-5povLZmgrWijTJdnUWI0ApVBUTQoiW5MyrNN51H3HLWXGoXMgQFZXKWYiQCVAwUQ
-MzmhkfUVW/uOVC1dAQG3+AP/T1HL/5EYF0ij0yQmNTzt1cLt0b1e3N3zN/wPFFWs
-BfrQ+nsv1zw7cEgxLtktk73wBGM9jUIdJu8phgLtl5a0m9UjBq5oxrJaNJr6UTxN
-a+sFkapTLT1g84UFUO/+8qRB12v+hZr2WeXMYjHAFUT18mp3xwjW9DUV+2fW1Wag
-YDKJAJUDBRAzOYK1s1pi61mfMj0BARBbA/930CHswOF0HIr+4YYUs1ejDnZ2J3zn
-icTZhl9uAfEQq++Xor1x476j67Z9fESxyHltUxCmwxsJ1uOJRwzjyEoMlyFrIN4C
-dE0C8g8BF+sRTt7VLURLERvlBvFrVZueXSnXvmMoWFnqpSpt3EmN6TNaLe8Cm87a
-k6EvQy0dpnkPKokAlQMFEDD9Lorccp7v9qj1YQEBrRUD/3N4cCMWjzsIFp2Vh9y+
-RzUrblyF84tJyA7Rr1p+A7dxf7je3Zx5QMEXosWL1WGnS5vC9YH2WZwv6sCU61gU
-rSy9z8KHlBEHh+Z6fdRMrjd9byPf+n3cktT0NhS23oXB1ZhNZcB2KKhVPlNctMqO
-3gTYx+Nlo6xqjR+J2NnBYU8p =7fQV
------END PGP PUBLIC KEY BLOCK-----</programlisting>
-
- </sect2>
- </sect1>
-
- <sect1>
- <title>Miembros del Core Team</title>
-
-
- <sect2>
- <title>&a.asami;</title>
-
- <programlisting>
-Satoshi Asami &lt;asami@cs.berkeley.edu&gt;
- aka &lt;asami@FreeBSD.ORG&gt;
-Fingerprint = EB 3C 68 9E FB 6C EB 3F DB 2E 0F 10 8F CE 79 CA
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzPVyoQAAAEEAL7W+kipxB171Z4SVyyL9skaA7hG3eRsSOWk7lfvfUBLtPog
-f3OKwrApoc/jwLf4+Qpdzv5DLEt/6Hd/clskhJ+q1gMNHyZ5ABmUxrTRRNvJMTrb
-3fPU3oZj7sL/MyiFaT1zF8EaMP/iS2ZtcFsbYOqGeA8E/58uk4NA0SoeCNiJAAUR
-tCVTYXRvc2hpIEFzYW1pIDxhc2FtaUBjcy5iZXJrZWxleS5lZHU+iQCVAwUQM/AT
-+EqGN2HYnOMZAQF11QP/eSXb2FuTb1yX5yoo1Im8YnIk1SEgCGbyEbOMMBznVNDy
-5g2TAD0ofLxPxy5Vodjg8rf+lfMVtO5amUH6aNcORXRncE83T10JmeM6JEp0T6jw
-zOHKz8jRzygYLBayGsNIJ4BGxa4LeaGxJpO1ZEvRlNkPH/YEXK5oQmq9/DlrtYOJ
-AEUDBRAz42JT8ng6GBbVvu0BAU8nAYCsJ8PiJpRUGlrz6rxjX8hqM1v3vqFHLcG+
-G52nVMBSy+RZBgzsYIPwI5EZtWAKb22JAJUDBRAz4QBWdbtuOHaj97EBAaQPA/46
-+NLUp+Wubl90JoonoXocwAg88tvAUVSzsxPXj0lvypAiSI2AJKsmn+5PuQ+/IoQy
-lywRsxiQ5GD7C72SZ1yw2WI9DWFeAi+qa4b8n9fcLYrnHpyCY+zxEpu4pam8FJ7H
-JocEUZz5HRoKKOLHErzXDiuTkkm72b1glmCqAQvnB4kAlQMFEDPZ3gyDQNEqHgjY
-iQEBFfUEALu2C0uo+1Z7C5+xshWRYY5xNCzK20O6bANVJ+CO2fih96KhwsMof3lw
-fDso5HJSwgFd8WT/sR+Wwzz6BAE5UtgsQq5GcsdYQuGI1yIlCYUpDp5sgswNm+OA
-bX5a+r4F/ZJqrqT1J56Mer0VVsNfe5nIRsjd/rnFAFVfjcQtaQmjiQCVAwUQM9uV
-mcdm8Q+/vPRJAQELHgP9GqNiMpLQlZig17fDnCJ73P0e5t/hRLFehZDlmEI2TK7j
-Yeqbw078nZgyyuljZ7YsbstRIsWVCxobX5eH1kX+hIxuUqCAkCsWUY4abG89kHJr
-XGQn6X1CX7xbZ+b6b9jLK+bJKFcLSfyqR3M2eCyscSiZYkWKQ5l3FYvbUzkeb6K0
-IVNhdG9zaGkgQXNhbWkgPGFzYW1pQEZyZWVCU0QuT1JHPg==
-=39SC
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
-
- <sect2>
- <title>&a.jmb;</title>
-
- <programlisting>
-Jonathan M. Bresler &lt;jmb@FreeBSD.org&gt;
-f16 Fingerprint16 = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGPfreeware 5.0i for non-commercial use
-
-mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s
-o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB
-nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR
-tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNbtI
-gAHbXdKX5jjdAQHamQP+OQr10QRknamIPmuHmFYJZ0jU9XPIvTTMuOiUYLcXlTdn
-GyTUuzhbEywgtOldW2V5iA8platXThtqC68NsnN/xQfHA5xmFXVbayNKn8H5stDY
-2s/4+CZ06mmJfqYmONF1RCbUk/M84rVT3Gn2tydsxFh4Pm32lf4WREZWRiLqmw+J
-AJUDBRA0DfF99RVb+45ULV0BAcZ0BACCydiSUG1VR0a5DBcHdtin2iZMPsJUPRqJ
-tWvP6VeI8OFpNWQ4LW6ETAvn35HxV2kCcQMyht1kMD+KEJz7r8Vb94TS7KtZnNvk
-2D1XUx8Locj6xel5c/Lnzlnnp7Bp1XbJj2u/NzCaZQ0eYBdP/k7RLYBYHQQln5x7
-BOuiRJNVU4kAlQMFEDQLcShVLh4uc9KIpQEBJv4D/3mDrD0MM9EYOVuyXik3UGVI
-8quYNA9ErVcLdt10NjYc16VI2HOnYVgPRag3Wt7W8wlXShpokfC/vCNt7f5JgRf8
-h2a1/MjQxtlD+4/Js8k7GLa53oLon6YQYk32IEKexoLPwIRO4L2BHWa3GzHJJSP2
-aTR/Ep90/pLdAOu/oJDUiQCVAwUQMqyL0LNaYutZnzI9AQF25QP9GFXhBrz2tiWz
-2+0gWbpcGNnyZbfsVjF6ojGDdmsjJMyWCGw49XR/vPKYIJY9EYo4t49GIajRkISQ
-NNiIz22fBAjT2uY9YlvnTJ9NJleMfHr4dybo7oEKYMWWijQzGjqf2m8wf9OaaofE
-KwBX6nxcRbKsxm/BVLKczGYl3XtjkcuJAJUDBRA1ol5TZWCprDT5+dUBATzXA/9h
-/ZUuhoRKTWViaistGJfWi26FB/Km5nDQBr/Erw3XksQCMwTLyEugg6dahQ1u9Y5E
-5tKPxbB69eF+7JXVHE/z3zizR6VL3sdRx74TPacPsdhZRjChEQc0htLLYAPkJrFP
-VAzAlSlm7qd+MXf8fJovQs6xPtZJXukQukPNlhqZ94kAPwMFEDSH/kF4tXKgazlt
-bxECfk4AoO+VaFVfguUkWX10pPSSfvPyPKqiAJ4xn8RSIe1ttmnqkkDMhLh00mKj
-lLQuSm9uYXRoYW4gTS4gQnJlc2xlciA8Sm9uYXRoYW4uQnJlc2xlckBVU2kubmV0
-PokAlQMFEDXbdSkB213Sl+Y43QEBV/4D/RLJNTrtAqJ1ATxXWv9g8Cr3/YF0GTmx
-5dIrJOpBup7eSSmiM/BL9Is4YMsoVbXCI/8TqA67TMICvq35PZU4wboQB8DqBAr+
-gQ8578M7Ekw1OAF6JXY6AF2P8k7hMcVBcVOACELPT/NyPNByG5QRDoNmlsokJaWU
-/2ls4QSBZZlb
-=zbCw
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
-
- <sect2>
- <title>&a.ache;</title>
-
- <programlisting>
-Andrey A. Chernov &lt;ache@FreeBSD.org&gt;
- aka &lt;ache@nagual.pp.ru&gt;
-Key fingerprint = 33 03 9F 48 33 7B 4A 15 63 48 88 0A C4 97 FD 49
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAiqUMGQAAAEEAPGhcD6A2Buey5LYz0sphDLpVgOZc/bb9UHAbaGKUAGXmafs
-Dcb2HnsuYGgX/zrQXuCi/wIGtXcZWB97APtKOhFsZnPinDR5n/dde/mw9FnuhwqD
-m+rKSL1HlN0z/Msa5y7g16760wHhSR6NoBSEG5wQAHIMMq7Q0uJgpPLZnQjrAAUT
-tCVBbmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucHAucnU+iQCVAwUQM2Ez
-u+JgpPLZnQjrAQEyugP8DPnS8ixJ5OeuYgPFQf5sy6l+LrB6hyaS+lgsUPahWjNY
-cnaDmfda/q/BV5d4+y5rlQe/pjnYG7/yQuAR3jhlXz8XDrqlBOnW9AtYjDt5rMfJ
-aGFTGXAPGZ6k6zQZE0/YurT8ia3qjvuZm3Fw4NJrHRx7ETHRvVJDvxA6Ggsvmr20
-JEFuZHJleSBBLiBDaGVybm92IDxhY2hlQEZyZWVCU0Qub3JnPokAlQMFEDR5uVbi
-YKTy2Z0I6wEBLgED/2mn+hw4/3peLx0Sb9LNx//NfCCkVefSf2G9Qwhx6dvwbX7h
-mFca97h7BQN4GubU1Z5Ffs6TeamSBrotBYGmOCwvJ6S9WigF9YHQIQ3B4LEjskAt
-pcjU583y42zM11kkvEuQU2Gde61daIylJyOxsgpjSWpkxq50fgY2kLMfgl/ftCZB
-bmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuaWV0enNjaGUubmV0PokAlQMFEDR5svDi
-YKTy2Z0I6wEBOTQD/0OTCAXIjuak363mjERvzSkVsNtIH9hA1l0w6Z95+iH0fHrW
-xXKT0vBZE0y0Em+S3cotLL0bMmVE3F3D3GyxhBVmgzjyx0NYNoiQjYdi+6g/PV30
-Cn4vOO6hBBpSyI6vY6qGNqcsawuRtHNvK/53MpOfKwSlICEBYQimcZhkci+EtCJB
-bmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucnU+iQCVAwUQMcm5HeJgpPLZ
-nQjrAQHwvQP9GdmAf1gdcuayHEgNkc11macPH11cwWjYjzA2YoecFMGV7iqKK8QY
-rr1MjbGXf8DAG8Ubfm0QbI8Lj8iG3NgqIru0c72UuHGSn/APfGGG0AtPX5UK/k7B
-gI0Ca2po6NA5nrSp8tDsdEz/4gyea84RXl2prtTf5Jj07hflbRstGXK0MkFuZHJl
-eSBBLiBDaGVybm92LCBCbGFjayBNYWdlIDxhY2hlQGFzdHJhbC5tc2suc3U+iQCV
-AwUQMCsAo5/rGryoL8h3AQHq1QQAidyNFqA9hvrmMcjpY7csJVFlGvj574Wj4GPa
-o3pZeuQaMBmsWqaXLYnWU/Aldb6kTz6+nRcQX50zFH0THSPfApwEW7yybSTI5apJ
-mWT3qhKN2vmLNg2yNzhqLTzHLD1lH3i1pfQq8WevrNfjLUco5S/VuekTma/osnzC
-Cw7fQzCJAJUDBRAwKvwoa1pnjYGyp3kBARihBACoXr3qfG65hFCyKJISmjOvaoGr
-anxUIkeDS0yQdTHzhQ+dwB1OhhK15E0Nwr0MKajLMm90n6+Zdb5y/FIjpPriu8dI
-rlHrWZlewa88eEDM+Q/NxT1iYg+HaKDAE171jmLpSpCL0MiJtO0i36L3ekVD7Hv8
-vffOZHPSHirIzJOZTYkAlQMFEDAau6zFLUdtDb+QbQEBQX8D/AxwkYeFaYxZYMFO
-DHIvSk23hAsjCmUA2Uil1FeWAusb+o8xRfPDc7TnosrIifJqbF5+fcHCG5VSTGlh
-Bhd18YWUeabf/h9O2BsQX55yWRuB2x3diJ1xI/VVdG+rxlMCmE4ZR1Tl9x+Mtun9
-KqKVpB39VlkCBYQ3hlgNt/TJUY4riQCVAwUQMBHMmyJRltlmbQBRAQFQkwP/YC3a
-hs3ZMMoriOlt3ZxGNUUPTF7rIER3j+c7mqGG46dEnDB5sUrkzacpoLX5sj1tGR3b
-vz9a4vmk1Av3KFNNvrZZ3/BZFGpq3mCTiAC9zsyNYQ8L0AfGIUO5goCIjqwOTNQI
-AOpNsJ5S+nMAkQB4YmmNlI6GTb3D18zfhPZ6uciJAJUCBRAwD0sl4uW74fteFRkB
-AWsAA/9NYqBRBKbmltQDpyK4+jBAYjkXBJmARFXKJYTlnTgOHMpZqoVyW96xnaa5
-MzxEiu7ZWm5oL10QDIp1krkBP2KcmvfSMMHb5aGCCQc2/P8NlfXAuHtNGzYiI0UA
-Iwi8ih/S1liVfvnqF9uV3d3koE7VsQ9OA4Qo0ZL2ggW+/gEaYIkAlQMFEDAOz6qx
-/IyHe3rl4QEBIvYD/jIr8Xqo/2I5gncghSeFR01n0vELFIvaF4cHofGzyzBpYsfA
-+6pgFI1IM+LUF3kbUkAY/2uSf9U5ECcaMCTWCwVgJVO+oG075SHEM4buhrzutZiM
-1dTyTaepaPpTyRMUUx9ZMMYJs7sbqLId1eDwrJxUPhrBNvf/w2W2sYHSY8cdiQCV
-AwUQMAzqgHcdkq6JcsfBAQGTxwQAtgeLFi2rhSOdllpDXUwz+SS6bEjFTWgRsWFM
-y9QnOcqryw7LyuFmWein4jasjY033JsODfWQPiPVNA3UEnXVg9+n8AvNMPO8JkRv
-Cn1eNg0VaJy9J368uArio93agd2Yf/R5r+QEuPjIssVk8hdcy/luEhSiXWf6bLMV
-HEA0J+OJAJUDBRAwDUi+4mCk8tmdCOsBAatBBACHB+qtW880seRCDZLjl/bT1b14
-5po60U7u6a3PEBkY0NA72tWDQuRPF/Cn/0+VdFNxQUsgkrbwaJWOoi0KQsvlOm3R
-rsxKbn9uvEKLxExyKH3pxp76kvz/lEWwEeKvBK+84Pb1lzpG3W7u2XDfi3VQPTi3
-5SZMAHc6C0Ct/mjNlYkAlQMFEDAMrPD7wj+NsTMUOQEBJckD/ik4WsZzm2qOx9Fw
-erGq7Zwchc+Jq1YeN5PxpzqSf4AG7+7dFIn+oe6X2FcIzgbYY+IfmgJIHEVjDHH5
-+uAXyb6l4iKc89eQawO3t88pfHLJWbTzmnvgz2cMrxt94HRvgkHfvcpGEgbyldq6
-EB33OunazFcfZFRIcXk1sfyLDvYE
-=1ahV
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
-
- <sect2>
- <title>&a.jkh;</title>
-
- <programlisting>
-Jordan K. Hubbard &lt;jkh@FreeBSD.org&gt;
-Fingerprint = 3C F2 27 7E 4A 6C 09 0A 4B C9 47 CD 4F 4D 0B 20
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ
-jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk
-tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR
-tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokBFQMFEDXCTXQM
-j46yp4IfPQEBwO8IAIN0J09AXBf86dFUTFGcAMrEQqOF5IL+KGorAjzuYxERhKfD
-ZV7jA+sCQqxkWfcVcE20kVyVYqzZIkio9a5zXP6TwA247JkPt54S1PmMDYHNlRIY
-laXlNoji+4q3HP2DfHqXRT2859rYpm/fG/v6pWkos5voPKcZ2OFEp9W+Ap88oqw+
-5rx4VetZNJq1Epmis4INj6XqNqj85+MOOIYE+f445ohDM6B/Mxazd6cHFGGIR+az
-VjZ6lCDMLjzhB5+FqfrDLYuMjqkMTR5z9DL+psUvPlCkYbQ11NEWtEmiIWjUcNJN
-GCxGzv5bXk0XPu3ADwbPkFE2usW1cSM7AQFiwuyJAJUDBRAxe+Q9a1pnjYGyp3kB
-AV7XA/oCSL/Cc2USpQ2ckwkGpyvIkYBPszIcabSNJAzm2hsU9Qa6WOPxD8olDddB
-uJNiW/gznPC4NsQ0N8Zr4IqRX/TTDVf04WhLmd8AN9SOrVv2q0BKgU6fLuk979tJ
-utrewH6PR2qBOjAaR0FJNk4pcYAHeT+e7KaKy96YFvWKIyDvc4kAlQMFEDF8ldof
-f6kIA1j8vQEBDH4D/0Zm0oNlpXrAE1EOFrmp43HURHbij8n0Gra1w9sbfo4PV+/H
-U8ojTdWLy6r0+prH7NODCkgtIQNpqLuqM8PF2pPtUJj9HwTmSqfaT/LMztfPA6PQ
-csyT7xxdXl0+4xTDl1avGSJfYsI8XCAy85cTs+PQwuyzugE/iykJO1Bnj/paiQCV
-AwUQMXvlBvUVW/uOVC1dAQF2fQP/RfYC6RrpFTZHjo2qsUHSRk0vmsYfwG5NHP5y
-oQBMsaQJeSckN4n2JOgR4T75U4vS62aFxgPLJP3lOHkU2Vc7xhAuBvsbGr5RP8c5
-LvPOeUEyz6ZArp1KUHrtcM2iK1FBOmY4dOYphWyWMkDgYExabqlrAq7FKZftpq/C
-BiMRuaw=
-=C/Jw
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
-
- <sect2>
- <title>&a.phk;</title>
-
- <programlisting>
-Poul-Henning Kamp &lt;phk@FreeBSD.org&gt;
-Fingerprint = A3 F3 88 28 2F 9B 99 A2 49 F4 E2 FA 5A 78 8B 3E
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAzAdpMIAAAEEALHDgrFUwhZtb7PbXg3upELoDVEUPFRwnmpJH1rRqyROUGcI
-ooVe7u+FQlIs5OsXK8ECs/5Wpe2UrZSzHvjwBYOND5H42YtI5UULZLRCo5bFfTVA
-K9Rpo5icfTsYihrzU2nmnycwFMk+jYXyT/ZDYWDP/BM9iLjj0x9/qQgDWPy9AAUR
-tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDQQ0aZ1
-u244dqP3sQEBu4ID/jXFFeJgs2MdTDNOZM/FbfDhI4qxAbYUsqS3+Ra16yd8Wd/A
-jV+IHJE2NomFWl8UrUjCGinXiwzPgK1OfFJrS9Og1wQLvAl0X84BA8MTP9BQr4w7
-6I/RbksgUSrVCIO8MJwlydjSPocWGBeXlVjbZxXzyuJk7H+TG+zuI5BuBcNIiQCV
-AwUQMwYr2rNaYutZnzI9AQHiIQP/XxtBWFXaBRgVLEhRNpS07YdU+LsZGlLOZehN
-9L4UnJFHQQPNOpMey2gF7Y95aBOw5/1xS5vlQpwmRFCntWsm/gqdzK6rulfr1r5A
-y94LO5TAC6ucNu396Y4vo1TyD1STnRC466KlvmtQtAtFGgXlORWLL9URLzcRFd1h
-D0yXd9aJAJUDBRAxfo19a1pnjYGyp3kBAQqyA/4v64vP3l1F0Sadn6ias761hkz/
-SMdTuLzILmofSCC4o4KWMjiWJHs2Soo41QlZi1+xMHzV32JKiwFlGtPHqL+EHyXy
-Q4H3vmf9/1KF+0XCaMtgI0wWUMziPSTJK8xXbRRmMDK/0F4TnVVaUhnmf+h5K7O6
-XdmejDTa0X/NWcicmIkAlQMFEDF8lef1FVv7jlQtXQEBcnwD/0ro1PpUtlkLmreD
-tsGTkNa7MFLegrYRvDDrHOwPZH152W2jPUncY+eArQJakeHiTDmJNpFagLZglhE0
-bqJyca+UwCXX+6upAclWHEBMg2byiWMMqyPVEEnpUoHM1sIkgdNWlfQAmipRBfYh
-2LyCgWvR8CbtwPYIFvUmGgB3MR87iQCVAwUQMUseXB9/qQgDWPy9AQGPkwP/WEDy
-El2Gkvua9COtMAifot2vTwuvWWpNopIEx0Ivey4aVbRLD90gGCJw8OGDEtqFPcNV
-8aIiy3fYVKXGZZjvCKd7zRfhNmQn0eLDcymq2OX3aPrMc2rRlkT4Jx425ukR1gsO
-qiQAgw91aWhY8dlw/EKzk8ojm52x4VgXaBACMjaJAJUDBRAxOUOg72G56RHVjtUB
-AbL4A/9HOn5Qa0lq9tKI/HkSdc5fGQD/66VdCBAb292RbB7CS/EM07MdbcqRRYIa
-0+0gwQ3OdsWPdCVgH5RIhp/WiC+UPkR1cY8N9Mg2kTwJfZZfNqN+BgWlgRMPN27C
-OhYNl8Q33Nl9CpBLrZWABF44jPeT0EvvTzP/5ZQ7T75EsYKYiYkAlQMFEDDmryQA
-8tkJ67sbQQEBPdsEALCj6v1OBuJLLJTlxmmrkqAZPVzt5QdeO3Eqa2tcPWcU0nqP
-vHYMzZcZ7oFg58NZsWrhSQQDIB5e+K65Q/h6dC7W/aDskZd64jxtEznX2kt0/MOr
-8OdsDis1K2f9KQftrAx81KmVwW4Tqtzl7NWTDXt44fMOtibCwVq8v2DFkTJy
-=JKbP
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
-
- <sect2>
- <title>&a.rich;</title>
-
- <programlisting>
-Rich Murphey &lt;rich@FreeBSD.org&gt;
-fingerprint = AF A0 60 C4 84 D6 0C 73 D1 EF C0 E9 9D 21 DB E4
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAy97V+MAAAEEALiNM3FCwm3qrCe81E20UOSlNclOWfZHNAyOyj1ahHeINvo1
-FBF2Gd5Lbj0y8SLMno5yJ6P4F4r+x3jwHZrzAIwMs/lxDXRtB0VeVWnlj6a3Rezs
-wbfaTeSVyh5JohEcKdoYiMG5wjATOwK/NAwIPthB1RzRjnEeer3HI3ZYNEOpAAUR
-tCRSaWNoIE11cnBoZXkgPHJpY2hAbGFtcHJleS51dG1iLmVkdT6JAJUDBRAve15W
-vccjdlg0Q6kBAZTZBACcNd/LiVnMFURPrO4pVRn1sVQeokVX7izeWQ7siE31Iy7g
-Sb97WRLEYDi686osaGfsuKNA87Rm+q5F+jxeUV4w4szoqp60gGvCbD0KCB2hWraP
-/2s2qdVAxhfcoTin/Qp1ZWvXxFF7imGA/IjYIfB42VkaRYu6BwLEm3YAGfGcSw==
-=QoiM
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
-
- <sect2>
- <title>&a.jdp;</title>
-
- <programlisting>
-John D. Polstra &lt;jdp@polstra.com&gt;
-Fingerprint = 54 3A 90 59 6B A4 9D 61 BF 1D 03 09 35 8D F6 0D
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzMElMEAAAEEALizp6ZW9QifQgWoFmG3cXhzQ1+Gt+a4S1adC/TdHdBvw1M/
-I6Ok7TC0dKF8blW3VRgeHo4F3XhGn+n9MqIdboh4HJC5Iiy63m98sVLJSwyGO4oM
-dkEGyyCLxqP6h/DU/tzNBdqFzetGtYvU4ftt3RO0a506cr2CHcdm8Q+/vPRJAAUR
-tCFKb2huIEQuIFBvbHN0cmEgPGpkcEBwb2xzdHJhLmNvbT6JAJUDBRAzBNBE9RVb
-+45ULV0BAWgiA/0WWO3+c3qlptPCHJ3DFm6gG/qNKsY94agL/mHOr0fxMP5l2qKX
-O6a1bWkvGoYq0EwoKGFfn0QeHiCl6jVi3CdBX+W7bObMcoi+foqZ6zluOWBC1Jdk
-WQ5/DeqQGYXqbYjqO8voCScTAPge3XlMwVpMZTv24u+nYxtLkE0ZcwtY9IkAlQMF
-EDMEt/DHZvEPv7z0SQEBXh8D/2egM5ckIRpGz9kcFTDClgdWWtlgwC1iI2p9gEhq
-aufy+FUJlZS4GSQLWB0BlrTmDC9HuyQ+KZqKFRbVZLyzkH7WFs4zDmwQryLV5wkN
-C4BRRBXZfWy8s4+zT2WQD1aPO+ZsgRauYLkJgTvXTPU2JCN62Nsd8R7bJS5tuHEm
-7HGmiQCVAwUQMwSvHB9/qQgDWPy9AQFAhAQAgJ1AlbKITrEoJ0+pLIsov3eQ348m
-SVHEBGIkU3Xznjr8NzT9aYtq4TIzt8jplqP3QoV1ka1yYpZf0NjvfZ+ffYp/sIaU
-wPbEpgtmHnVWJAebMbNs/Ad1w8GDvxEt9IaCbMJGZnHmfnEqOBIxF7VBDPHHoJxM
-V31K/PIoYsHAy5w=
-=cHFa
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
-
- <sect2>
- <title>&a.guido;</title>
-
- <programlisting>
-Guido van Rooij &lt;guido@gvr.win.tue.nl&gt;
-Fingerprint = 16 79 09 F3 C0 E4 28 A7 32 62 FA F6 60 31 C0 ED
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzGeO84AAAEEAKKAY91Na//DXwlUusr9GVESSlVwVP6DyH1wcZXhfN1fyZHq
-SwhMCEdHYoojQds+VqD1iiZQvv1RLByBgj622PDAPN4+Z49HjGs7YbZsUNuQqPPU
-wRPpP6ty69x1hPKq1sQIB5MS4radpCM+4wbZbhxv7l4rP3RWUbNaYutZnzI9AAUR
-tCZHdWlkbyB2YW4gUm9vaWogPGd1aWRvQGd2ci53aW4udHVlLm5sPokAlQMFEDMG
-Hcgff6kIA1j8vQEBbYgD/jm9xHuUuY+iXDkOzpCXBYACYEZDV913MjtyBAmaVqYo
-Rh5HFimkGXe+rCo78Aau0hc57fFMTsJqnuWEqVt3GRq28hSK1FOZ7ni9/XibHcmN
-rt2yugl3hYpClijo4nrDL1NxibbamkGW/vFGcljS0jqXz6NDVbGx5Oo7HBByxByz
-iQCVAwUQMhmtVjt/x7zOdmsfAQFuVQQApsVUTigT5YWjQA9Nd5Z0+a/oVtZpyw5Z
-OljLJP3vqJdMa6TidhfcatjHbFTve5x1dmjFgMX/MQTd8zf/+Xccy/PX4+lnKNpP
-eSf1Y4aK+E8KHmBGd6GzX6CIboyGYLS9e3kGnN06F2AQtaLyJFgQ71wRaGuyKmQG
-FwTn7jiKb1aJAJUDBRAyEOLXPt3iN6QQUSEBATwQA/9jqu0Nbk154+Pn+9mJX/YT
-fYR2UqK/5FKCqgL5Nt/Deg2re0zMD1f8F9Dj6vuAAxq8hnOkIHKlWolMjkRKkzJi
-mSPEWl3AuHJ31k948J8it4f8kq/o44usIA2KKVMlI63Q/rmNdfWCyiYQEVGcRbTm
-GTdZIHYCOgV5dOo4ebFqgYkAlQMFEDIE1nMEJn15jgpJ0QEBW6kEAKqN8XSgzTqf
-CrxFXT07MlHhfdbKUTNUoboxCGCLNW05vf1A8F5fdE5i14LiwkldWIzPxWD+Sa3L
-fNPCfCZTaCiyGcLyTzVfBHA18MBAOOX6JiTpdcm22jLGUWBf/aJK3yz/nfbWntd/
-LRHysIdVp29lP5BF+J9/Lzbb/9LxP1taiQCVAwUQMgRXZ44CzbsJWQz9AQFf7gP/
-Qa2FS5S6RYKG3rYanWADVe/ikFV2lxuM1azlWbsmljXvKVWGe6cV693nS5lGGAjx
-lbd2ADwXjlkNhv45HLWFm9PEveO9Jjr6tMuXVt8N2pxiX+1PLUN9CtphTIU7Yfjn
-s6ryZZfwGHSfIxNGi5ua2SoXhg0svaYnxHxXmOtH24iJAJUDBRAyAkpV8qaAEa3W
-TBkBARfQBAC+S3kbulEAN3SI7/A+A/dtl9DfZezT9C4SRBGsl2clQFMGIXmMQ/7v
-7lLXrKQ7U2zVbgNfU8smw5h2vBIL6f1PyexSmc3mz9JY4er8KeZpcf6H0rSkHl+i
-d7TF0GvuTdNPFO8hc9En+GG6QHOqbkB4NRZ6cwtfwUMhk2FHXBnjF4kAlQMFEDH5
-FFukUJAsCdPmTQEBe74EAMBsxDnbD9cuI5MfF/QeTNEG4BIVUZtAkDme4Eg7zvsP
-d3DeJKCGeNjiCWYrRTCGwaCWzMQk+/+MOmdkI6Oml+AIurJLoHceHS9jP1izdP7f
-N2jkdeJSBsixunbQWtUElSgOQQ4iF5kqwBhxtOfEP/L9QsoydRMR1yB6WPD75H7V
-iQCVAwUQMZ9YNGtaZ42Bsqd5AQH0PAQAhpVlAc3ZM/KOTywBSh8zWKVlSk3q/zGn
-k7hJmFThnlhH1723+WmXE8aAPJi+VXOWJUFQgwELJ6R8jSU2qvk2m1VWyYSqRKvc
-VRQMqT2wjss0GE1Ngg7tMrkRHT0il7E2xxIb8vMrIwmdkbTfYqBUhhGnsWPHZHq7
-MoA1/b+rK7CJAJUDBRAxnvXh3IDyptUyfLkBAYTDA/4mEKlIP/EUX2Zmxgrd/JQB
-hqcQlkTrBAaDOnOqe/4oewMKR7yaMpztYhJs97i03Vu3fgoLhDspE55ooEeHj0r4
-cOdiWfYDsjSFUYSPNVhW4OSruMA3c29ynMqNHD7hpr3rcCPUi7J2RncocOcCjjK2
-BQb/9IAUNeK4C9gPxMEZLokAlQMFEDGeO86zWmLrWZ8yPQEBEEID/2fPEUrSX3Yk
-j5TJPFZ9MNX0lEo7AHYjnJgEbNI4pYm6C3PnMlsYfCSQDHuXmRQHAOWSdwOLvCkN
-F8eDaF3M6u0urgeVJ+KVUnTz2+LZoZs12XSZKCte0HxjbvPpWMTTrYyimGezH79C
-mgDVjsHaYOx3EXF0nnDmtXurGioEmW1J
-=mSvM
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
-
- <sect2>
- <title>&a.peter;</title>
-
- <programlisting>
-Peter Wemm &lt;peter@FreeBSD.org&gt;
- aka &lt;peter@spinner.dialix.com&gt;
- aka &lt;peter@haywire.dialix.com&gt;
- aka &lt;peter@perth.dialix.oz.au&gt;
-Key fingerprint = 47 05 04 CA 4C EE F8 93 F6 DB 02 92 6D F5 58 8A
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAy9/FJwAAAEEALxs9dE9tFd0Ru1TXdq301KfEoe5uYKKuldHRBOacG2Wny6/
-W3Ill57hOi2+xmq5X/mHkapywxvy4cyLdt31i4GEKDvxpDvEzAYcy2n9dIup/eg2
-kEhRBX9G5k/LKM4NQsRIieaIEGGgCZRm0lINqw495aZYrPpO4EqGN2HYnOMZAAUT
-tCVQZXRlciBXZW1tIDxwZXRlckBoYXl3aXJlLmRpYWxpeC5jb20+iQCVAwUQMwWT
-cXW7bjh2o/exAQEFkQP+LIx5zKlYp1uR24xGApMFNrNtjh+iDIWnxxb2M2Kb6x4G
-9z6OmbUCoDTGrX9SSL2Usm2RD0BZfyv9D9QRWC2TSOPkPRqQgIycc11vgbLolJJN
-eixqsxlFeKLGEx9eRQCCbo3dQIUjc2yaOe484QamhsK1nL5xpoNWI1P9zIOpDiGJ
-AJUDBRAxsRPqSoY3Ydic4xkBAbWLA/9q1Fdnnk4unpGQsG31Qbtr4AzaQD5m/JHI
-4gRmSmbj6luJMgNG3fpO06Gd/Z7uxyCJB8pTst2a8C/ljOYZxWT+5uSzkQXeMi5c
-YcI1sZbUpkHtmqPW623hr1PB3ZLA1TIcTbQW+NzJsxQ1Pc6XG9fGkT9WXQW3Xhet
-AP+juVTAhLQlUGV0ZXIgV2VtbSA8cGV0ZXJAcGVydGguZGlhbGl4Lm96LmF1PokA
-lQMFEDGxFCFKhjdh2JzjGQEB6XkD/2HOwfuFrnQUtdwFPUkgtEqNeSr64jQ3Maz8
-xgEtbaw/ym1PbhbCk311UWQq4+izZE2xktHTFClJfaMnxVIfboPyuiSF99KHiWnf
-/Gspet0S7m/+RXIwZi1qSqvAanxMiA7kKgFSCmchzas8TQcyyXHtn/gl9v0khJkb
-/fv3R20btB5QZXRlciBXZW1tIDxwZXRlckBGcmVlQlNELm9yZz6JAJUDBRAxsRJd
-SoY3Ydic4xkBAZJUA/4i/NWHz5LIH/R4IF/3V3LleFyMFr5EPFY0/4mcv2v+ju9g
-brOEM/xd4LlPrx1XqPeZ74JQ6K9mHR64RhKR7ZJJ9A+12yr5dVqihe911KyLKab9
-4qZUHYi36WQu2VtLGnw/t8Jg44fQSzbBF5q9iTzcfNOYhRkSD3BdDrC3llywO7Ql
-UGV0ZXIgV2VtbSA8cGV0ZXJAc3Bpbm5lci5kaWFsaXguY29tPokAlQMFEDGxEi1K
-hjdh2JzjGQEBdA4EAKmNFlj8RF9HQsoI3UabnvYqAWN5wCwEB4u+Zf8zq6OHic23
-TzoK1SPlmSdBE1dXXQGS6aiDkLT+xOdeewNs7nfUIcH/DBjSuklAOJzKliXPQW7E
-kuKNwy4eq5bl+j3HB27i+WBXhn6OaNNQY674LGaR41EGq44Wo5ATcIicig/z
-=gv+h
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
-
- <sect2>
- <title>&a.joerg;</title>
-
- <programlisting>
-Type Bits/KeyID Date User ID
-pub 1024/76A3F7B1 1996/04/27 Joerg Wunsch &lt;joerg_wunsch@uriah.heep.sax.de&gt;
- Key fingerprint = DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E
- Joerg Wunsch &lt;joerg_wunsch@interface-business.de&gt;
- Joerg Wunsch &lt;j@uriah.heep.sax.de&gt;
- Joerg Wunsch &lt;j@interface-business.de&gt;
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAzGCFeAAAAEEAKmRBU2Nvc7nZy1Ouid61HunA/5hF4O91cXm71/KPaT7dskz
-q5sFXvPJPpawwvqHPHfEbAK42ZaywyFp59L1GaYj87Pda+PlAYRJyY2DJl5/7JPe
-ziq+7B8MdvbX6D526sdmcR+jPXPbHznASjkx9DPmK+7TgFujyXW7bjh2o/exAAUR
-tC1Kb2VyZyBXdW5zY2ggPGpvZXJnX3d1bnNjaEB1cmlhaC5oZWVwLnNheC5kZT6J
-AJUDBRA0FFkBs1pi61mfMj0BAfDCA/oCfkjrhvRwRCpSL8klJ1YDoUJdmw+v4nJc
-pw3OpYXbwKOPLClsE7K3KCQscHel7auf91nrekAwbrXv9Clp0TegYeAQNjw5vZ9f
-L6UZ5l3fH8E2GGA7+kqgNWs1KxAnG5GdUvJ9viyrWm8dqWRGo+loDWlZ12L2OgAD
-fp7jVZTI1okAlQMFEDQPrLoff6kIA1j8vQEB2XQEAK/+SsQPCT/X4RB/PBbxUr28
-GpGJMn3AafAaA3plYw3nb4ONbqEw9tJtofAn4UeGraiWw8nHYR2DAzoAjR6OzuX3
-TtUV+57BIzrTPHcNkb6h8fPuHU+dFzR+LNoPaGJsFeov6w+Ug6qS9wa5FGDAgaRo
-LHSyBxcRVoCbOEaS5S5EiQCVAwUQM5BktWVgqaw0+fnVAQGKPwP+OiWho3Zm2GKp
-lEjiZ5zx3y8upzb+r1Qutb08jr2Ewja04hLg0fCrt6Ad3DoVqxe4POghIpmHM4O4
-tcW92THQil70CLzfCxtfUc6eDzoP3krD1/Gwpm2hGrmYA9b/ez9+r2vKBbnUhPmC
-glx5pf1IzHU9R2XyQz9Xu7FI2baOSZqJAJUDBRAyCIWZdbtuOHaj97EBAVMzA/41
-VIph36l+yO9WGKkEB+NYbYOz2W/kyi74kXLvLdTXcRYFaCSZORSsQKPGNMrPZUoL
-oAKxE25AoCgl5towqr/sCcu0A0MMvJddUvlQ2T+ylSpGmWchqoXCN7FdGyxrZ5zz
-xzLIvtcio6kaHd76XxyJpltCASupdD53nEtxnu8sRrQxSm9lcmcgV3Vuc2NoIDxq
-b2VyZ193dW5zY2hAaW50ZXJmYWNlLWJ1c2luZXNzLmRlPokAlQMFEDIIhfR1u244
-dqP3sQEBWoID/RhBm+qtW+hu2fqAj9d8CVgEKJugrxZIpXuCKFvO+bCgQtogt9EX
-+TJh4s8UUdcFkyEIu8CT2C3Rrr1grvckfxvrTgzSzvtYyv1072X3GkVY+SlUMBMA
-rdl1qNW23oT7Q558ajnsaL065XJ5m7HacgTTikiofYG8i1s7TrsEeq6PtCJKb2Vy
-ZyBXdW5zY2ggPGpAdXJpYWguaGVlcC5zYXguZGU+iQCVAwUQMaS91D4gHQUlG9CZ
-AQGYOwQAhPpiobK3d/fz+jWrbQgjkoO+j39glYGXb22+6iuEprFRs/ufKYtjljNT
-NK3B4DWSkyIPawcuO4Lotijp6jke2bsjFSSashGWcsJlpnwsv7EeFItT3oWTTTQQ
-ItPbtNyLW6M6xB+jLGtaAvJqfOlzgO9BLfHuA2LY+WvbVW447SWJAJUDBRAxqWRs
-dbtuOHaj97EBAXDBA/49rzZB5akkTSbt/gNd38OJgC+H8N5da25vV9dD3KoAvXfW
-fw7OxIsxvQ/Ab+rJmukrrWxPdsC+1WU1+1rGa4PvJp/VJRDes2awGrn+iO7/cQoS
-IVziC27JpcbvjLvLVcBIiy1yT/RvJ+87a3jPRHt3VFGcpFh4KykxxSNiyGygl4kA
-lQMFEDGCUB31FVv7jlQtXQEB5KgD/iIJZe5lFkPr2B/Cr7BKMVBot1/JSu05NsHg
-JZ3uK15w4mVtNPZcFi/dKbn+qRM6LKDFe/GF0HZD/ZD1FJt8yQjzF2w340B+F2GG
-EOwnClqZDtEAqnIBzM/ECQQqH+6Bi8gpkFZrFgg5eON7ikqmusDnOlYStM/CBfgp
-SbR8kDmFtCZKb2VyZyBXdW5zY2ggPGpAaW50ZXJmYWNlLWJ1c2luZXNzLmRlPokA
-lQMFEDHioSdlYKmsNPn51QEByz8D/10uMrwP7MdaXnptd1XNFhpaAPYTVAOcaKlY
-OGI/LLR9PiU3FbqXO+7INhaxFjBxa0Tw/p4au5Lq1+Mx81edHniJZNS8tz3I3goi
-jIC3+jn2gnVAWnK5UZUTUVUn/JLVk/oSaIJNIMMDaw4J9xPVVkb+Fh1A+XqtPsVa
-YESrNp0+iQCVAwUQMwXkzcdm8Q+/vPRJAQEA4QQAgNNX1HFgXrMetDb+w6yEGQDk
-JCDAY9b6mA2HNeKLQAhsoZl4HwA1+iuQaCgo3lyFC+1Sf097OUTs74z5X1vCedqV
-oFw9CxI3xuctt3pJCbbN68flOlnq0WdYouWWGlFwLlh5PEy//VtwX9lqgsizlhzi
-t+fX6BT4BgKi5baDhrWJAJUDBRAyCKveD9eCJxX4hUkBAebMA/9mRPy6K6i7TX2R
-jUKSl2p5oYrXPk12Zsw4ijuktslxzQhOCyMSCGK2UEC4UM9MXp1H1JZQxN/DcfnM
-7VaUt+Ve0wZ6DC9gBSHJ1hKVxHe5XTj26mIr4rcXNy2XEDMK9QsnBxIAZnBVTjSO
-LdhqqSMp3ULLOpBlRL2RYrqi27IXr4kAlQMFEDGpbnd1u244dqP3sQEBJnQD/RVS
-Azgf4uorv3fpbosI0LE3LUufAYGBSJNJnskeKyudZkNkI5zGGDwVneH/cSkKT4OR
-ooeqcTBxKeMaMuXPVl30QahgNwWjfuTvl5OZ8orsQGGWIn5FhqYXsKkjEGxIOBOf
-vvlVQ0UbcR0N2+5F6Mb5GqrXZpIesn7jFJpkQKPU
-=97h7
------END PGP PUBLIC KEY BLOCK-----</programlisting>
- </sect2>
- </sect1>
- </chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/ports/chapter.xml b/es_ES.ISO8859-1/books/handbook/ports/chapter.xml
deleted file mode 100755
index 2570c6cf06..0000000000
--- a/es_ES.ISO8859-1/books/handbook/ports/chapter.xml
+++ /dev/null
@@ -1,1516 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/ports/chapter.xml
- %SRCID% 1.284
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/ports/chapter.xml,v 1.2 2004/10/08 21:26:03 jesusr Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="ports">
- <title>Instalación de aplicaciones: «packages» y ports</title>
-
- <sect1 xml:id="ports-synopsis">
- <title>Sinopsis</title>
-
- <indexterm><primary>ports</primary></indexterm>
- <indexterm><primary>packages</primary></indexterm>
-
- <para>&os; viene con una excelente colección de herramientas
- de sistema como parte del sistema base. A pesar de esto, existe gran
- cantidad de cosas que uno requiere hacer para poner las cosas realmente en
- marcha, para lo cual se necesita instalar software adicional de
- terceros.
- &os; ofrece dos tecnologías complementarias para instalar
- software de terceros en nuestro sistema: la Colección de Ports de
- &os; y «packages»(paquetes) binarios. Cualquiera de los dos
- sistemas puede usarse para instalar las versiones más recientes,
- de forma local o directamente desde la red.</para>
-
- <para>Después de leer este capítulo usted
- sabrá:</para>
-
- <itemizedlist>
- <listitem>
- <para>Cómo instalar packages binarios de software
- de terceros.</para>
- </listitem>
- <listitem>
- <para>Cómo compilar software de terceros desde la
- Colección de Ports.</para>
- </listitem>
- <listitem>
- <para>Cómo eliminar packages o ports instalados
- previamente.</para>
- </listitem>
- <listitem>
- <para>Cómo sobreescribir los valores por omisión
- que utiliza la colección de ports.</para>
- </listitem>
- <listitem>
- <para>Cómo encontrar la aplicación adecuada.</para>
- </listitem>
- <listitem>
- <para>Cómo actualizar aplicaciones.</para>
- </listitem>
-
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="ports-overview">
- <title>Aproximación a la instalación de software</title>
-
- <para>Si ha usado un sistema &unix; con anterioridad sabrá que el
- procedimiento típico para instalar software de terceros es algo
- similar a esto:</para>
-
- <procedure>
- <step>
- <para>Descargar el software, que puede distribuirse en formato de
- código fuente o binario.</para>
- </step>
-
- <step>
- <para>Desempaquetar el software de su formato de distribución
- (normalmente en un «tarball» comprimido con &man.compress.1;,
- &man.gzip.1; o &man.bzip2.1;).</para>
- </step>
-
- <step>
- <para>Consultar la documentación (quizás un fichero
- <filename>INSTALL</filename> o
- <filename>README</filename>, o los ficheros del subdirectorio
- <filename>doc/</filename>) para ver como instalar el software.</para>
- </step>
-
- <step>
- <para>Si el software se distribuye como fuente, compilarlo. Esto
- puede requerir que editemos el fichero <filename>Makefile</filename>
- o que ejecutemos el «script»
- <command>configure</command>, entre otras cosas.</para>
- </step>
-
- <step>
- <para>Instalar y probar el software.</para>
- </step>
- </procedure>
-
- <para>Y esto solamente si todo marcha bien. Si está instalando un
- software que no ha sido portado específicamente para &os;, puede
- que sea necesario editar el código para que funcione
- correctamente.
- </para>
-
- <para>Si lo desea puede continuar instalando software de la forma
- «tradicional» en &os;, aunque &os; dispone de
- dos tecnologías que le pueden ahorrar gran cantidad de tiempo y
- esfuerzo: los packages y los ports. En el momento de escribir esto
- existen más de &os.numports; aplicaciones de terceros.</para>
-
- <para>En cualquier aplicación el paquete de &os;
- es un solo fichero que tiene que descargar. Los paquetes contienen
- copia de los programas binarios precompilados de la aplicación,
- así como cualquier fichero de configuración o
- documentación. Los paquetes descargados se pueden
- manipular con las herramientas de gestión de paquetes de &os;:
- &man.pkg.add.1;, &man.pkg.delete.1;,
- &man.pkg.info.1;, etc. Instalar una aplicación nueva puede
- realizarse con una sola orden.</para>
-
- <para>Un port de &os; es una colección de ficheros
- diseñada para automatizar el proceso de
- compilación desde el código fuente.</para>
-
- <para>Recuerde que existen ciertos pasos que deberá llevar a cabo
- para compilar un programa por usted mismo (descargar,
- desempaquetar, parchear, compilar e instalar). Los ficheros que
- conforman un port permiten que el sistema se encargue de todo esto.
- Usted ejecuta un conjunto simple de órdenes
- y el código fuente se descarga, desempaqueta, parchea,
- compila e instala.</para>
-
- <para>De hecho el sistema de ports también se puede usar para crear
- paquetes que posteriormente se pueden manipular con
- <command>pkg_add</command> y las
- demás utilidades de gestión de packages que veremos en
- breve.</para>
-
- <para>Tanto el sistema de ports como el de paquetes entienden las
- <emphasis>dependencias</emphasis>. Suponga que desea instalar una
- aplicación que depende de que una biblioteca
- específica esté instalada. Tanto la biblioteca como la
- aplicación existen en &os; como paquete o port. Si utiliza
- <command>pkg_add</command> o el sistema de ports para instalar
- la aplicación ambos notarán que la biblioteca no
- está instalada y procederán a instalarla antes que
- nada.</para>
-
- <para>Dado que ambas tecnologís son similares quizás se
- pregunte por qué &os; se toma la molestía de contar con
- ambas. Los Packages y los Ports tienen sus propias ventajas,
- así que cuál utilizar dependerá de su
- elección en cada momento.</para>
-
- <itemizedlist>
- <title>Ventajas de los Paquetes</title>
-
- <listitem>
- <para>El fichero tarball de un package es normalmente más
- pequeño que el tarball con el código fuente de
- la aplicación.</para>
- </listitem>
-
- <listitem>
- <para>Los paquetes no requieren compilación.
- En el caso de aplicaciones grandes, como
- <application>Mozilla</application>,
- <application>KDE</application>, o
- <application>GNOME</application> este detalle puede ser importante,
- especialmente si usa un equipo lento.</para>
- </listitem>
-
- <listitem>
- <para>Los paquetes no requieren que comprenda el proceso que envuelve
- el compilar software bajo &os;.</para>
- </listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>Ventajas de los Ports</title>
-
- <listitem>
- <para>Normalmente los paquetes se compilan con opciones conservadoras,
- en virtud del gran número de equipos donde se
- instalarán. Al instalar como port puede usted editar las
- preferencias para (por ejemplo) generar código
- específico para un procesador
- Pentium IV o Athlon.</para>
- </listitem>
-
- <listitem>
- <para>Algunas aplicaciones tienen opciones sobre lo que pueden y lo
- que no pueden hacer. Por ejemplo
- <application>Apache</application> se puede configurar con
- una gran variedad de opciones. Al compilarlo desde los
- ports usted no tiene por que aceptar las opciones
- predefinidas, puede seleccionar que opciones desea.</para>
-
- <para>En algunos casos existen varios paquetes para la misma
- aplicación con diferentes opciones. Por ejemplo,
- <application>Ghostscript</application> está disponible
- como paquete
- <filename>ghostscript</filename> y como paquete
- <filename>ghostscript-nox11</filename>, dependiendo de si usted
- cuenta o no con servidor X11. En este caso decidir puede ser
- sencillo e incluso pueden facilitarse packages con ambas opciones,
- pero elegir se puede volver un problema si hay más de
- una o dos opciones de compilación.</para>
- </listitem>
-
- <listitem>
- <para>Las condiciones de la licencia de algunas aplicaciones
- prohiben la distribución de binarios. Solo permiten la
- distribución del código fuente.</para>
- </listitem>
-
- <listitem>
- <para>Existe gente que no confía en los binarios. Al
- menos puede usted (en teoría) revisar el código fuente
- y localizar problemas potenciales.</para>
- </listitem>
-
- <listitem>
- <para>Si tiene parches locales necesitará el código
- fuente para poder aplicarlos.</para>
- </listitem>
-
- <listitem>
- <para>Hay gente a la que le gusta tener el código fuente para
- poder leerlo en ratos de ocio, modificarlo, tomar partes prestadas
- (cuando la licencia lo permite, claro está), etc.</para>
- </listitem>
- </itemizedlist>
-
- <para>Para tener constancia de los ports actualizados, suscríbase
- a la &a.ports; y a la &a.ports-bugs;.</para>
-
- <warning>
- <para>&nbsp;Antes de instalar cualquier aplicación
- consulte <uri xlink:href="http://vuxml.freebsd.org">http://vuxml.freebsd.org</uri> para
- comprobar los posibles problemas de seguridad relacionados con
- ella.</para>
-
- <para>También puede instalar <package>security/portaudit</package> que automáticamente
- comprobará las vulnerabilidades conocidas de todas las
- aplicaciones instaladas; también lo comprobará antes de
- compilar cualquier port. Mientras tanto, puede usar
- <command>portaudit -F -a</command> después de instalar
- algunos packages.</para>
- </warning>
-
- <para>El resto de este capítulo le explicará cómo
- usar los ports y los packages para instalar software de terceros en
- &os;.</para>
- </sect1>
-
- <sect1 xml:id="ports-finding-applications">
- <title>Cómo encontrar aplicaciones</title>
-
- <para>Antes de poder instalar cualquier software debe saber qué
- es lo que quiere instalar y cómo se llama la
- aplicación.</para>
-
- <para>La lista de software disponible para &os; crece constantemente.
- Afortunadamente existen varias formas de localizar lo que busca:</para>
-
- <itemizedlist>
- <listitem>
- <para>El sitio web de &os; mantiene una lista (actualizada y que
- admite búsquedas) de todas las
- aplicaciones disponibles para &os; en la dirección
- <link xlink:href="http://www.freebsd.org/ports/index.html">http://www.FreeBSD.org/ports/
- </link>. Esta base esta dividida en categorías, y puede
- buscar por nombre (si lo sabe) o bien listar las aplicaciones
- disponibles en cierta categoría.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>FreshPorts</primary></indexterm>
-
- <para>Dan Langille mantiene FreshPorts en
- <uri xlink:href="http://www.FreshPorts.org/">http://www.FreshPorts.org/</uri>.
- FreshPorts verifica los cambios en las aplicaciones del árbol
- de ports, y le permite «seguir» uno o más
- ports, sobre los que le enviarán un correo cada vez
- que se actualicen.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>FreshMeat</primary></indexterm>
-
- <para>Si no conoce el nombre de la aplicación que desea
- pruebe a usar un sitio como FreshMeat (<link xlink:href="http://www.freshmeat.net/">http://www.freshmeat.net/</link>)
- para encontrar una aplicación; después consulte
- el sitio web de &os; para ver si la aplicación ha sido
- portada.</para>
- </listitem>
-
- <listitem>
- <para>Si sabe el nombre exacto del port y solo necesita saber
- en qué categoria está puede usar
- &man.whereis.1;. Simplemente escriba <command>whereis
- fichero</command>, donde
- <replaceable>fichero</replaceable> es el programa que quiera
- instalar. Si está en su sistema, le dirá dónde
- está:</para>
-
- <screen>&prompt.root; <userinput>whereis lsof</userinput>
-lsof: /usr/ports/sysutils/lsof</screen>
-
- <para>Esto nos dice que <command>lsof</command> (una utilidad de
- sistema) está en el directorio
- <filename>/usr/ports/sysutils/lsof</filename>.</para></listitem>
-
- <listitem>
- <para>Otra forma de encontrar un port en particular es usando
- el mecanismo de búsqueda integrado en la colección de
- ports. Para poder usar esta opción de búsqueda
- debe estar en el directorio <filename>/usr/ports</filename>. Una
- vez en ese directorio ejecute <command>make search
- name=nombre-del-programa</command>, donde
- <replaceable>nombre-del-programa</replaceable> es el nombre
- del programa que desea encontrar. Por ejemplo, si busca
- <command>lsof</command>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
-&prompt.root; <userinput>make search name=lsof</userinput>
-Port: lsof-4.56.4
-Path: /usr/ports/sysutils/lsof
-Info: Lists information about open files (similar to fstat(1))
-Maint: obrien@FreeBSD.org
-Index: sysutils
-B-deps:
-R-deps: </screen>
-
- <para>Debe prestar especial atención a la línea
- «Path:»de la salida, porque es la que indica
- dónde puede encontrar el port. El resto de información
- no se necesita para instalar el port.</para>
-
- <para>Si quiere hacer una búsqueda más a fondo
- utilice <command>make
- search key=cadena</command> donde
- <replaceable>cadena</replaceable> es el término que busca.
- Podrá buscar nombres de ports, comentarios,
- descripciones y dependencias; también se puede usar
- para encontrar ports que tengan relación con
- algún tema en particular si no conoce el nombre del
- programa que busca.</para>
-
- <para>En ambos casos la cadena de búsqueda no distingue entre
- mayúsculas y minúsculas. Buscar «LSOF»
- dará los mismos resultados que buscar
- «lsof».</para>
- </listitem>
-
- </itemizedlist>
-
- </sect1>
-
- <sect1 xml:id="packages-using">
- <info><title>Uso del sistema de packages</title>
- <authorgroup>
- <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <sect2>
- <title>Instalar un package</title>
- <indexterm>
- <primary>packages</primary>
- <secondary>installing</secondary>
- </indexterm>
-
- <indexterm>
- <primary><command>pkg_add</command></primary>
- </indexterm>
- <para>Puede usar &man.pkg.add.1; para instalar un
- package de &os; desde un fichero local o desde
- un servidor remoto vía red.</para>
-
- <example>
- <title>Descarga de un paquete manualmente e instalación en
- nuestro sistema</title>
-
- <screen>&prompt.root; <userinput>ftp -a ftp2.FreeBSD.org</userinput>
-Connected to ftp2.FreeBSD.org.
-220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
-331 Guest login ok, send your email address as password.
-230-
-230- This machine is in Vienna, VA, USA, hosted by Verio.
-230- Questions? E-mail freebsd@vienna.verio.net.
-230-
-230-
-230 Guest login ok, access restrictions apply.
-Remote system type is UNIX.
-Using binary mode to transfer files.
-<prompt>ftp&gt;</prompt> <userinput>cd /pub/FreeBSD/ports/packages/sysutils/</userinput>
-250 CWD command successful.
-<prompt>ftp&gt;</prompt> <userinput>get lsof-4.56.4.tgz</userinput>
-local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
-200 PORT command successful.
-150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
-100% |**************************************************| 92375 00:00 ETA
-226 Transfer complete.
-92375 bytes received in 5.60 seconds (16.11 KB/s)
-<prompt>ftp&gt;</prompt> <userinput>exit</userinput>
-&prompt.root; <userinput>pkg_add lsof-4.56.4.tgz</userinput></screen>
- </example>
-
- <para>Si no tiene una fuente local de packages (por ejemplo
- un CDROM de &os;) probablemente la mejor
- opción sea utilizar el argumento <option>-r</option> de
- &man.pkg.add.1;, que hará que determine
- automáticamente el formato del objeto correcto, para
- posteriormente descargarlo e instalarlo desde un FTP.</para>
-
- <indexterm>
- <primary><command>pkg_add</command></primary></indexterm>
- <screen>&prompt.root; <userinput>pkg_add -r lsof</userinput></screen>
-
- <para>En el ejemplo anterior el package correspondiente se
- descargará e instalará sin intervención
- del usuario. Si desea utilizar una réplica
- («mirror») de packages que no sea el sitio principal
- de &os; solo tiene configurar la variable de entorno
- <envar>PACKAGESITE</envar> correctamente para
- sobreescribir el sitio predefinido. &man.pkg.add.1; utiliza
- &man.fetch.1; para descargar los ficheros, tomando como
- referencia varias variables de entorno, como
- <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar> y
- <envar>FTP_PASSWORD</envar>. Quizás deba modificar alguna de
- estas si se encuentra detrás de un cortafuegos, o usa un
- proxy FTP/HTTP. Consulte &man.fetch.3; si quiere ver una lista
- completa. Observe también que en el ejemplo anterior
- usamos <literal>lsof</literal> en vez de
- <literal>lsof-4.56.4</literal>.
- Cuando usamos la opción de descarga remota no es
- necesario especificar la versión del paquete.
- &man.pkg.add.1; descargará automáticamente la
- última versión de la aplicación.</para>
-
- <note>
- <para>&man.pkg.add.1; descargará la última
- versión de su aplicación si usa &os.current; o
- &os.stable;, pero si usa una versión -RELEASE,
- descargará la versión del package que se
- construyó con dicha versión. Es posible configurar
- esto sobreescribiendo la variable de entorno
- <envar>PACKAGESITE</envar>.</para>
- </note>
-
- <para>Los packages se destribuyen en formatos
- <filename>.tgz</filename> y <filename>.tbz</filename>.
- Puede encontrarlos en <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/</uri>,
- o en la distribución de &os; en CD-ROM. Todos los
- CDs en el set de 4 CDs de &os; (y en el PowerPak, etc.)
- contienen packages en el directorio
- <filename>/packages</filename>. La estructura de los
- packages es similar a la del arbol de
- <filename>/usr/ports</filename>. Cada categoría
- tiene su propio directorio, y todos los paquetes se pueden
- encontrar dentro del directorio <filename>All</filename>.
- </para>
-
- <para>La estructura del directorio de packageckages es idéntica a la
- de los ports, y funcionan como un todo para conformar el sistema de
- paquetes/ports.
- </para>
-
- </sect2>
-
- <sect2>
- <title>Eliminar un package</title>
- <indexterm>
- <primary><command>pkg_delete</command></primary>
- </indexterm>
- <indexterm>
- <primary>packages</primary>
- <secondary>deleting</secondary>
- </indexterm>
- <para>Para eliminar un package instalado en el sistema utilice
- &man.pkg.delete.1;.</para>
-
- <screen>&prompt.root; <userinput>pkg_delete xchat-1.7.1</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Miscelánea</title>
- <para>Toda la información de los packages se guarda en
- <filename>/var/db/pkg</filename>. Ahíl encontrará
- la lista completa de paquetes instalados y las descripciones de
- los mismos.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="ports-using">
- <title>Uso de la colección de ports</title>
-
- <para>La siguiente sección incluye las instrucciones
- básicas para instalar o eliminar programas mediante la
- Colección de Ports de su sistema.</para>
-
- <sect2 xml:id="ports-tree">
- <title>Cómo obtener la Colección de Ports</title>
-
- <para>Para poder instalar ports primero debe hacerse, obviamente, con
- la Colección de Ports&mdash;; en esencia está compuesta
- por <filename>Makefiles</filename>, parches y ficheros con la
- descripción de los ports y está en
- <filename>/usr/ports</filename>.</para>
-
- <para>Cuando instaló su sistema &os; el programa
- <application>sysinstall</application> le preguntó si
- querí instalar la Colección de Ports.
- Si contestó que no siga estas instrucciones:</para>
-
- <procedure>
- <title>Mediante CVSup</title>
-
- <para>Este es un método rápido de conseguir y
- mantener una copia de la Colección de Ports al dia mediante
- el protocolo <application>CVSup</application>. Si quiere saber
- más sobre <application>CVSup</application> consulte <link linkend="cvsup">Uso de CVSup</link>.</para>
-
- <note>
- <para>La implementación del protocolo
- <application>CVSup</application> que se incluye en &os; se llama
- <application>csup</application>. Apareció en &os;&nbsp;6.2.
- Los usuarios de releases anteriores de &os; puden instalar <package>net/csup</package> como port o package.</para>
- </note>
-
- <para>Asegúrese de que <filename>/usr/ports</filename>
- está vacío antes de ejecutar <application>csup</application>
- por primera vez. Si ya tiene la Colección de Ports porque la
- ha instalado por otros medios <application>csup</application>
- no purgará los parches de ports eliminados.</para>
-
- <step>
- <para>Ejecute <command>csup</command>:</para>
-
- <screen>&prompt.root; <userinput>csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile</userinput></screen>
-
- <para>Cambie
- <replaceable>cvsup.FreeBSD.org</replaceable> por algún
- otro servidor <application>CVSup</application> que tenga cerca.
- Consulte <link linkend="cvsup-mirrors">Réplicas CVSup</link> (<xref linkend="cvsup-mirrors"/>), donde encontrará una lista
- completa de las réplicas CVSup.</para>
-
- <note>
- <para>Puede usar una versión de
- <filename>ports-supfile</filename> confeccionada a su gusto,
- por ejemplo para evitar tener que indicarle el nombre del
- servidor <application>CVSup</application> a mano.</para>
-
- <procedure>
- <step>
- <para>Haga lo siguiente: como <systemitem class="username">root</systemitem> copie
- <filename>/usr/share/examples/cvsup/ports-supfile</filename>
- en otro sitio, por ejemplo
- <filename>/root</filename> o su directorio /home.</para>
- </step>
-
- <step>
- <para>Edite <filename>ports-supfile</filename>.</para>
- </step>
-
- <step>
- <para>Reemplace
- <replaceable>CHANGE_THIS.FreeBSD.org</replaceable>
- por un servidor <application>CVSup</application> que
- esté cerca de donde esté usted. Consulte
- <link linkend="cvsup-mirrors">Réplicas
- CVSup</link> (<xref linkend="cvsup-mirrors"/>) si necesita
- ver una lista completa de las mismas.</para>
- </step>
-
- <step>
- <para>Ejecute <command>csup</command>del siguiente
- modo:</para>
-
- <screen>&prompt.root; <userinput>csup -L 2 /root/ports-supfile</userinput></screen>
- </step>
- </procedure>
- </note>
- </step>
-
- <step>
- <para>Al ejecutar &man.csup.1; descargará y
- aplicará todos los cambios recientes que haya sufrido
- la Colección de Ports, pero tenga en cuenta que no
- actualizará ninguno de los ports que ya tenga instalados
- en su sistema.</para>
- </step>
- </procedure>
-
- <procedure>
- <title>Mediante portsnap</title>
-
- <para><application>Portsnap</application> es un método
- alternativo de distribuir la Colección de Ports. Se
- incluyó por primera vez en &os;&nbsp;6.0. Puede
- instalar &man.portsnap.8; en versiones anteriores de &os;
- como port (<package>ports-mgmt/portsnap</package>) o como
- package:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r portsnap</userinput></screen>
-
- <step>
- <para>Puede saltarse esta paso a partir de &os;&nbsp;6.1-RELEASE
- y en versiones recientes de
- <application>Portsnap</application> (port o package).
- <filename>/usr/ports</filename> se creará
- automáticamente la primera vez que ejecute
- &man.portsnap.8;. En versiones anteriores de
- <application>portsnap</application> había que crear
- un <filename>/usr/ports</filename> vacío si
- no existía previamente:</para>
-
- <screen>&prompt.root; <userinput>mkdir /usr/ports</userinput></screen>
- </step>
-
- <step>
- <para>Descargue una instantánea comprimida de la
- Colección de Ports en
- <filename>/var/db/portsnap</filename>. Hecho esto
- puede desconectar de Internet si quiere.</para>
-
- <screen>&prompt.root; <userinput>portsnap fetch</userinput></screen>
- </step>
-
- <step>
- <para>Si está ejecutando <application>Portsnap</application> por
- vez primera debe extraer la instantánea en <filename>/usr/ports</filename>:
- </para>
-
- <screen>&prompt.root; <userinput>portsnap extract</userinput></screen>
-
- <para>Si ya tiene un <filename>/usr/ports</filename> y solamente está
- actualizando su árbol de ports ejecute lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>portsnap update</userinput></screen>
- </step>
-
- </procedure>
-
-
-
- <procedure>
- <title>Mediante Sysinstall</title>
-
- <para>Este método implica el uso de
- <application>sysinstall</application> para
- instalar la Colección de Ports.</para>
-
- <step>
- <para>Como usuario <systemitem class="username">root</systemitem> ejecute
- <command>sysinstall</command>
- (<command>/stand/sysinstall</command> en cualquier versión
- previa a &os;&nbsp;5.2); del siguiente modo:</para>
-
- <screen>&prompt.root; <userinput>sysinstall</userinput></screen>
- </step>
-
- <step>
- <para>Posiciónese en la opción
- <guimenuitem>Configure</guimenuitem>
- y pulse <keycap>Intro</keycap>.</para>
- </step>
-
- <step>
- <para>Seleccione la opción
- <guimenuitem>Distributions</guimenuitem>
- y pulse <keycap>Intro</keycap>.</para>
- </step>
-
- <step>
- <para>Seleccione la opción <guimenuitem>ports</guimenuitem>
- y pulse la <keycap>barra espaciadora</keycap>.</para>
- </step>
-
- <step>
- <para>Seleccione el medio de instalación deseado (CDROM,
- FTP, etc.)</para>
- </step>
-
- <step>
- <para>Diríjase a la opción
- <guimenuitem>Exit</guimenuitem> y
- pulse <keycap>Intro</keycap>.</para>
- </step>
-
- <step>
- <para>Pulse <keycap>X</keycap> para salir de
- <application>sysinstall</application>.</para>
- </step>
- </procedure>
- </sect2>
-
- <sect2 xml:id="ports-skeleton">
- <title>Instalación de ports</title>
-
- <indexterm>
- <primary>ports</primary>
- <secondary>installing</secondary>
- </indexterm>
- <para>Al hablar de la Colección de Ports lo primero que
- hay que explicar es a qué nos referimos cuando hablamos de
- un «esqueleto» (skeleton). El esqueleto de un
- port es un conjunto mínimo de ficheros que
- indican a &os; cómo compilar e instalar un programa.
- Cada esqueleto incluye:</para>
-
- <itemizedlist>
- <listitem>
- <para>Un <filename>Makefile</filename>. Este
- <filename>Makefile</filename> contiene diversas sentencias
- que le indican al sistema cómo compilarlo y dónde
- instalarlo en su sistema.</para>
- </listitem>
-
- <listitem>
- <para>Un fichero <filename>distinfo</filename>. Este fichero
- contiene información sobre los ficheros que se debe
- descargar para poder compilar el programa, así como el
- identificador «checksum», que se usa para comprobar
- mediante &man.md5.1; que la descarga ha sido correcta y que el
- la integridad del fichero está garantizada.</para>
- </listitem>
-
- <listitem>
- <para>Un directorio <filename>files</filename>. Este directorio
- contiene los parches necesarios para compilar e instalar
- el programa en su sistema &os;. Básicamente los parches
- son pequeños ficheros que especifican cambios en ficheros
- concretos. Su formato es en texto plano y suelen decir cosas
- como «borra la línea 10» o
- «Cambia la línea 26 por esto».
- Estos parches también se conocen como
- «diffs» ya que se generan con
- &man.diff.1;.</para>
-
- <para>Es posible que este directorio tambié contenga
- algún otro fichero necesario para compilar e instalar
- el port.</para>
- </listitem>
-
- <listitem>
- <para>Un fichero <filename>pkg-descr</filename>. Es una
- descripción más detallada del programa.
- En algunas ocasiones ocupa varias líneas.</para>
- </listitem>
-
- <listitem>
- <para>Un fichero <filename>pkg-plist</filename>. Es una lista de
- todos los ficheros que instalará el port.
- También le indica al sistema de ports qué ficheros
- eliminar durante la desinstalación del programa.</para>
- </listitem>
- </itemizedlist>
-
- <para>Algunos ports tienen otros ficheros, como
- <filename>pkg-message</filename>. El sistema de ports los usa para
- gestionar situaciones especiales. Si desea conocer los detalles,
- incluso sobre los ports en general, consulte el libro <link xlink:href="http://www.FreeBSD.org/doc/en_EN.ISO8859-1/books/porters-handbook/index.html">&os; Porter's Handbook</link>.</para>
-
- <para>El port incluye las instrucciones necesarias para obtener
- software a partir del código fuente, pero no incluye el
- código. Puede obtener el código desde un CDROM
- o desde Internet. El código se distribuye del modo
- que el autor estime oportuno. Normalmente es un fichero tar
- comprimido con gzip, pero puede comprimirse con otra herramienta o
- incluso no estar comprimido. El código del programa,
- venga como venga, se llama «distfile». A
- continuación veremos los dos métodos de
- instalación de un port.</para>
-
- <note>
- <para>Debe ser el usuario <systemitem class="username">root</systemitem> para
- instalar ports.</para>
- </note>
-
- <warning>
- <para>&nbsp;Antes de instalar cualquier port asegúrese de tener
- la Colección de Ports actualizada y de comprobar en <uri xlink:href="http://vuxml.freebsd.org/">http://vuxml.freebsd.org/</uri> la existencia de posibles
- problemas de seguridad que pudiera tener el port.</para>
-
- <para>Puede realizar la comprobación de seguridad
- con <application>portaudit</application> antes de instalar
- cualquier aplicación. Esta herramienta está
- en la Colección de Ports (<package>security/portaudit</package>). Le rogamos
- que al menos considere ejecutar
- <command>portaudit -F</command> antes de instalar un port nuevo
- para que descargue la nueva base de datos de vulnerabilidades.
- Durante la comprobación diaria de seguridad
- actualizará la base de datos y hará una
- auditoría del sistema. Para más información
- lea las páginas de manúal de
- &man.portaudit.1; y &man.periodic.8;.</para>
- </warning>
-
-
- <para>La Colección de Ports asume que tiene usted conexión
- con Internet. Si no es así tendrá que disponer de una
- copia del distfile en <filename>/usr/ports/distfiles</filename>.</para>
-
- <para>El primer paso es ubicarse en el directorio del port que desea
- instalar:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen>
-
- <para>Una vez en el directorio <filename>lsof</filename> puede
- ver el esqueleto del port. El siguiente paso es compilar el
- port. Solamente tiene que teclear
- <command>make</command> en el prompt. Una vez hecho
- verá algo como esto:</para>
-
- <screen>&prompt.root; <userinput>make</userinput>
-&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
-&gt;&gt; Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
-===&gt; Extracting for lsof-4.57
-...
-[La salida de la descompresión se ha eliminado]
-...
-&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
-===&gt; Patching for lsof-4.57
-===&gt; Applying FreeBSD patches for lsof-4.57
-===&gt; Configuring for lsof-4.57
-...
-[La salida de la configuración se ha eliminado]
-...
-===&gt; Building for lsof-4.57
-...
-[La salida de la compilación se ha eliminado]
-...
-&prompt.root;</screen>
-
- <para>Una vez que acabe la compilación
- se le devolverá el control del prompt. El siguiente
- paso es instalar el port. Para ello bastará con que
- añada una palabra a la orden
- <command>make</command>: esa palabra es
- <buildtarget>install</buildtarget>:</para>
-
-
- <screen>&prompt.root; <userinput>make install</userinput>
-===&gt; Installing for lsof-4.57
-...
-[La salida de la instalación se ha eliminado]
-...
-===&gt; Generating temporary packing list
-===&gt; Compressing manual pages for lsof-4.57
-===&gt; Registering installation for lsof-4.57
-===&gt; SECURITY NOTE:
- This port has installed the following binaries which execute with
- increased privileges.
-&prompt.root;</screen>
-
- <para>Una vez que vuelva usted al prompt podrá ejecutar la
- aplicación que acaba de instalar. Dado que
- <command>lsof</command> es un programa que se ejecuta con
- privilegios altos se le ha mostrado una advertencia de
- seguridad. Durante la compilación e instalación
- es posible que hayan aparecido otros.</para>
-
- <para>Le recomendamos que borre el directorio que contiene todos
- los ficheros temporales necesarios durante la compilación.
- No solo consume valioso espacio en disco sino que puede dar
- problemas cuando vaya a actualizar el port a una versión
- más reciente.</para>
-
- <screen>&prompt.root; <userinput>make clean</userinput>
-===&gt; Cleaning for lsof-4.57
-&prompt.root;</screen>
-
- <note>
- <para>Puede ahorrarse teclear dos pasos si para instalar un port
- teclea <command>make
- install clean</command> en lugar de
- <command>make</command>,
- <command>make install</command> y
- <command>make clean</command>
- como tres pasos separados.</para>
- </note>
-
- <note>
- <para>Algunas shells mantienen una caché de
- órdenes disponibles en los directorios que aparecen
- en la variable de entorno
- <envar>PATH</envar> con el fin de acelerar las operaciones
- de búsqueda de ejecutables de esas órdenes.
- Si usa una de esas shells tendrá que utilizar la
- orden <command>rehash</command> tras instalar un port o
- no podrá ejecutar aplicaciones recién
- instaladas. Esta orden funciona en shells como
- <command>tcsh</command>. Utilice <command>hash -r</command>
- en shells <command>sh</command>. Para más
- información consulte la documentación de
- su shell.</para>
- </note>
-
- <para>Algunos DVD-ROM de terceros, como el &os; Toolkit
- de <link xlink:href="http://www.freebsdmall.com/">&os;
- Mall</link> contienen distfiles. Puede usarlos con la Colección
- de Ports. Monte el DVD-ROM en <filename>/cdrom</filename>. Si
- utiliza un punto de montaje diferente asigne a
- <varname>CD_MOUNTPTS</varname> el valor adecuado. Los
- distfiles se irán copiando automáticamente
- a medida que vayan siendo necesarios.</para>
-
- <note>
- <para>Por favor, tenga en cuenta que la licencia de unos
- cuantos ports muy concretos no permite su distribución
- en CD-ROM. Puede deberse a que es necesario rellenar un
- formulario de registro antes de descargarlo, porque la
- redistribución no esté permitida o por otra
- razón. Si quiere instalar un port que no está
- en el CD-ROM tendrá que tener salida a Internet.</para>
- </note>
-
- <para>El sistema de ports utiliza &man.fetch.1; para descargar
- ficheros; en este proceso intervienen varias variables de
- entorno, como <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>,
- y <envar>FTP_PASSWORD</envar>. Si está detrás de
- un cortafuegos tendrá que asignar valores a una o
- más de estas variables, así como si necesita
- utilizar un proxy FTP/HTTP. Consulte &man.fetch.3;, donde
- econtrará una lista detallada.</para>
-
- <para>La opción <command>make
- fetch</command> se creó para
- los usuarios que no disponen de conexión contínua.
- Ejecute esta orden en el directorio raíz
- (<filename>/usr/ports</filename>) y se descargarán todos
- los ficheros necesarios. Esta orden también funciona en
- directorios situados más abajo, por ejemplo
- <filename>/usr/ports/net</filename>. Tenga en cuenta que si un
- port depende de librerías u otros ports éstos
- distfiles <emphasis>no</emphasis> se descargarán, a
- menos que reemplace <buildtarget>fetch</buildtarget> por
- <buildtarget>fetch-recursive</buildtarget>, que se encargará
- de descargar todas las dependencias de cada port.</para>
-
- <note><para>Si quiere compilar todos los ports de una
- categoría y de una sola vez ejecutando la orden
- <command>make</command> en el directorio raíz, de muy
- similar manera que lo que se acaba de ver con
- <command>makefetch</command>. Tenga en
- cuenta que esto es bastante peligroso porque algunos ports no
- pueden coexistir. También se dan casos de ports que
- instalan instalan dos ficheros diferentes con el mismo
- nombre.</para></note>
-
- <para>En algunos casos (raros) el usuario tendrá que
- descargar los tarball de un sitio que no es el que se guarda
- en la variable de entorno <varname>MASTER_SITES</varname>
- (el sitio desde el que se descargan todos los demás
- normalmente). Puede sobreescribir la opción
- <varname>MASTER_SITES</varname> con la siguiente
- orden:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/directory</userinput>
-&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
-ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
-
- <para>En este ejemplo vamos a darle a la opción
- <varname>MASTER_SITES</varname> el valor <systemitem class="fqdomainname">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</systemitem>.</para>
-
- <note><para>Algunos ports permiten (o incluso exigen) que se le
- faciliten opciones de compilación para activar o desactivar
- partes de la aplicación que no se necesiten, determinadas
- opciones de seguridad, etc. Casos típicos de esto son
- <package>www/mozilla</package>, <package>security/gpgme</package>, and <package>mail/sylpheed-claws</package>. Cuando debe
- usted tomar este tipo de decisiones se le muestra un mensaje
- con las opciones disponibles.</para></note>
-
-
- <sect3>
- <title>Sobreescribir directorios por omisión de ports</title>
-
- <para>Algunas veces es útil (u obligatorio) utilizar un
- directorio de trabajo o un «target» distinto al
- que tenemos por omisión. Las variables de entorno
- <varname>WRKDIRPREFIX</varname> y <varname>PREFIX</varname>
- pueden sobreescribirse según nuestra conveniencia. Veamos
- un ejemplo:</para>
-
- <screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/ejemplo/ports install</userinput></screen>
-
- <para>compilará el port en
- <filename>/usr/home/ejemplo/ports</filename> y lo instalará
- en <filename>/usr/local</filename>.</para>
-
- <screen>&prompt.root; <userinput>make PREFIX=/usr/home/ejemplo/local install</userinput></screen>
-
- <para>lo compilará en <filename>/usr/ports</filename> y lo
- instalará en
- <filename>/usr/home/ejemplo/local</filename>.</para>
-
- <para>Y por supuesto,</para>
-
- <screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen>
-
- <para>combinará ambas; (ocupa demasiado para mostrarlo en una
- página, pero la idea general queda clara).</para>
-
- <para>Puede asignar valores a estas variables del mismo modo
- que a cualquier otra de su entorno. Consulte la
- documentación de su shell para más
- información.</para>
- </sect3>
-
- <sect3>
- <title>Uso de <command>imake</command></title>
-
- <para>Algunos ports que usan <command>imake</command>
- (un componente del Sistema X Window) no funcionan correctamente
- con <varname>PREFIX</varname> e insistirán en instalarse
- en <filename>/usr/X11R6</filename>. Del mismo modo
- algunos ports de Perl ignoran <varname>PREFIX</varname> y se
- instalan en el árbol de Perl. Hacer que estos ports
- respeten <varname>PREFIX</varname> es difícil y a veces
- imposible.</para>
- </sect3>
-
- <sect3>
- <title>Reconfigurar ports</title>
-
- <para>Al compilar ciertos ports se le presentará un
- menú basado en ncurses en el cual podrá elegir
- entre más o menos opciones de compilación. No es
- raro que los usuarios quieran volver a usar ese menú para
- añadir, quitar o cambiar opciones una vez que el port ya
- está compilado. Hay bastantes formas de hacerlo. Una
- manera es entrar al directorio que contiene el port y teclear
- <command>make
- config</command>, que hará que se
- le presente de nuevo el menú con las opciones que estuvieran
- seleccionadas previamente. Otra opción es usar la orden
- <command>make showconfig</command>, que
- le mostrará todas las opciones de configuración del
- port. Hay otra opción más, <command>make
- rmconfig</command>, que borrará
- todas las opciones que estuvieran seleccionadas y le permitirá
- por tanto empezar desde cero. Todas estas opciones y muchas
- más las encontrará descritas con gran detalle en
- &man.ports.7;.</para>
- </sect3>
-
-
- </sect2>
-
- <sect2 xml:id="ports-removing">
- <title>Cómo desinstalar ports</title>
-
- <indexterm>
- <primary>ports</primary>
- <secondary>removing</secondary>
- </indexterm>
- <para>Ahora que sabe instalar ports probablemente quiera saber
- cómo eliminarlos; puede que haya instalado alguno y
- posteriormente se haya dado cuenta de que ha instalado el port
- incorrecto. Vamos a desinstalar el port del ejemplo anterior
- (que, para todos aquellos que no estaban atentos, era
- <command>lsof</command>). Igual que al instalar ports, lo primero
- que debemos hacer es ubicarnos en el directorio del port que
- deseamos eliminar del sistema, en nuestro caso
- <filename>/usr/ports/sysutils/lsof</filename>. Los ports se
- desinstalan exactamente igual que los packages; esto se
- explica en la <link linkend="packages-using">sección de packages</link>) utilizando
- la orden &man.pkg.delete.1;:</para>
-
- <screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen>
- </sect2>
-
-
- <sect2 xml:id="ports-upgrading">
- <title>Actualización de ports</title>
-
- <indexterm>
- <primary>ports</primary>
- <secondary>upgrading</secondary>
- </indexterm>
- <para>Antes de nada necesita ver una lista de ports instalados de
- los cuales exista una nueva versión en la Colección
- de Ports. Utilice &man.pkg.version.1;:</para>
-
- <screen>&prompt.root; <userinput>pkg_version -v</userinput></screen>
-
- <sect3 xml:id="ports-file-updating">
- <title><filename>/usr/ports/UPDATING</filename></title>
-
- <para>Una vez actualizada la Colección de Ports (y
- <emphasis>antes</emphasis> de intentar actualizar ningún
- port) debe consultar
- <filename>/usr/ports/UPDATING</filename>. Este fichero describe
- todas las novedades, problemas que pueden encontrarse y pasos que
- deben seguir los usuarios al actualizar un port; hay cambios de
- formato, cambios de ubicación de ficheros de
- configuración o incompatibilidades con versiones
- anteriores.</para>
-
- <para>Si <filename>UPDATING</filename> se contradice de cualquier modo
- con lo que lea aquí tenga muy encuenta que lo que aparezca en
- <filename>UPDATING</filename> tiene prioridad absoluta.</para>
- </sect3>
-
- <sect3 xml:id="portupgrade">
- <title>Actualización de ports con portupgrade</title>
-
- <indexterm>
- <primary>portupgrade</primary>
- </indexterm>
-
- <para>La aplicación <application>portupgrade</application>
- se diseñó para actualizar fácilmente los ports
- instalados en un sistema. Puede instalarla desde el port <package>ports-mgmt/portupgrade</package>. La
- instalación es como al de cualquier otro port, use la orden
- <command>make install
- clean</command> command:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portupgrade</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>Compruebe la lista de ports instalados con <command>pkgdb
- -F</command> y arregle todas las inconsistencias que aparezcan. Le
- recomendamos que haga esta comprobación de forma regular y
- siempre antes de una actualización.</para>
-
- <para>Si ejecuta <command>portupgrade -a</command>
- <application>portupgrade</application> intentará actualizar
- todos y cada uno de los ports instalados en su sistema. Utilice el
- parámetro <option>-i</option> si quiere que le pida
- confirmación antes de actualizar cada uno de los ports.</para>
-
- <screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>
-
- <para>Si solamente quiere actualizar una sola aplicación (y no
- absolutamente todos los ports) utilice la orden <command>portupgrade
- nombre-de-aplicación</command>.
- Añada el modificador <option>-R</option> si quiere que
- <application>portupgrade</application> actualice antes todos los
- ports de los que depende la aplicación en cuestión.</para>
-
- <screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>
-
- <para>Si quiere usar packages en lugar de ports use el modificador
- <option>-P</option> flag. Con esta opción
- <application>portupgrade</application> busca en los directorios
- locales que aparezcan en <envar>PKG_PATH</envar> o descarga los
- packages desde un sitio remoto si es que no los encuentra en
- local. Si es imposible encontrar los packages ni en local ni en
- remoto&nbsp;<application>portupgrade</application> utilizará
- ports. Si no quiere usar ports pase lo que pase utilice el
- modificador <option>-PP</option>.</para>
-
- <screen>&prompt.root; <userinput>portupgrade -PP gnome2</userinput></screen>
-
- <para>Si quiere solamente descargar los distfiles (o los packages,
- usando <option>-P</option>) sin compilar ni instalar nada,
- use <option>-F</option>. Para más información
- consulte &man.portupgrade.1;.</para>
- </sect3>
-
- <sect3 xml:id="portmanager">
- <title>Actualización de ports con portmanager</title>
-
- <indexterm>
- <primary>portmanager</primary>
- </indexterm>
-
- <para><application>Portmanager</application> es otra aplicación
- pensada para la actualización sencilla de ports instalados
- en el sistema. Puede encontrarla en
- <package>ports-mgmt/portmanager</package>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portmanager</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>Puede actualizar todos los ports que tenga instalados con
- una sola orden:</para>
-
- <screen>&prompt.root; <userinput>portmanager -u</userinput></screen>
-
- <para>Si usa el modificador <option>-ui</option> se le pedirá
- confirmación a cada paso que <application>Portmanager</application>
- vaya a dar. <application>Portmanager</application> también
- puede usarse para instalar nuevos ports. A diferencia del habitual
- <command>make install clean</command>
- actualizará todos los ports que dependan antes de compilar e
- instalar ese port que queramos instalar.</para>
-
- <screen>&prompt.root; <userinput>portmanager x11/gnome2</userinput></screen>
-
- <para>Si aparecen problemas con las dependencias del port que quiere
- instalar puede usar <application>Portmanager</application> para
- recompilar todos ello en el orden correcto. Una vez que acabe el
- port que estaba dando problemas será también
- recompilado.</para>
-
- <screen>&prompt.root; <userinput>portmanager graphics/gimp -f</userinput></screen>
-
- <para>Para más información consulte &man.portmanager.1;.</para>
- </sect3>
-
- <sect3 xml:id="portmaster">
- <title>Actualización de ports con portmaster</title>
-
- <indexterm>
- <primary>portmaster</primary>
- </indexterm>
-
- <para><application>Portmaster</application> es otra aplicación
- para actualizar ports. <application>Portmaster</application> se
- diseñó para que utilizara las herramientas del sistema
- «base» (es decir, no depende de otros ports) y utiliza
- la información que se almacena en el directorio
- <filename>/var/db/pkg/</filename> para determinar
- qué port es el que hay que actualizar. Puede encontrarlo en
- <package>ports-mgmt/portmaster</package>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portmaster</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para><application>Portmaster</application> agrupa los ports en cuatro
- categorías:</para>
-
- <itemizedlist>
- <listitem>
- <para>«Root ports» (no tienen dependencias, ningún port depende de ellos)</para>
- </listitem>
- <listitem>
- <para>«Trunk ports» (no tienen dependencias, otros ports dependen de ellos)</para>
- </listitem>
- <listitem>
- <para>«Branch ports» (tienen dependencias, otros ports dependen de ellos)</para>
- </listitem>
- <listitem>
- <para>«Leaf ports» (tienen dependencias, ningún port depende de ellos)</para>
- </listitem>
- </itemizedlist>
-
- <para>Puede ver una lista de los ports instalados y
- buscar actualizaciones para ellos usando el modificador
- <option>-L</option> :</para>
-
-<screen>&prompt.root; <userinput>portmaster -L</userinput>
-===&gt;&gt;&gt; Root ports (No dependencies, not depended on)
-===&gt;&gt;&gt; ispell-3.2.06_18
-===&gt;&gt;&gt; screen-4.0.3
- ===&gt;&gt;&gt; New version available: screen-4.0.3_1
-===&gt;&gt;&gt; tcpflow-0.21_1
-===&gt;&gt;&gt; 7 root ports
-...
-===&gt;&gt;&gt; Branch ports (Have dependencies, are depended on)
-===&gt;&gt;&gt; apache-2.2.3
- ===&gt;&gt;&gt; New version available: apache-2.2.8
-...
-===&gt;&gt;&gt; Leaf ports (Have dependencies, not depended on)
-===&gt;&gt;&gt; automake-1.9.6_2
-===&gt;&gt;&gt; bash-3.1.17
- ===&gt;&gt;&gt; New version available: bash-3.2.33
-...
-===&gt;&gt;&gt; 32 leaf ports
-
-===&gt;&gt;&gt; 137 total installed ports
- ===&gt;&gt;&gt; 83 have new versions available
-</screen>
-
- <para>Con la siguiente orden puede actualizar todos los ports
- del sistema:</para>
-
- <screen>&prompt.root; <userinput>portmaster -a</userinput></screen>
-
- <note><para>Por omisión <application>Portmaster</application>
- guardará una copia de seguridad (un package) de cada port
- antes de borrarlo. Si la instalación de la nueva versión
- funciona <application>Portmaster</application> borrará el package.
- Si utiliza <option>-b</option> le dirá a
- <application>Portmaster</application> que no borre automáticamente
- el package. Si usa el modificador <option>-i</option> arrancará
- <application>Portmaster</application> en modo interactivo, lo que significa
- que le pedirá confirmación antes de actualizar cada
- port.</para></note>
-
- <para>Si se encuentra con errores durante el proceso de
- actualización puede utilizar el modificador
- <option>-f</option> para actualizar o recompilar todos
- los ports:</para>
-
- <screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
-
- <para>También puede usar
- <application>Portmaster</application> para
- instalar nuevos ports en el sistema, actualizando todas sus
- dependencias antes de compilar e instalar el nuevo port:</para>
-
- <screen>&prompt.root; <userinput>portmaster shells/bash</userinput></screen>
-
- <para>Por favor, consulte &man.portmaster.8; para más
- información.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="ports-disk-space">
- <title>Los ports y el espacio en disco</title>
-
- <indexterm>
- <primary>ports</primary>
- <secondary>disk-space</secondary>
- </indexterm>
- <para>Usar la Colección de Ports consume mucho espacio de
- disco según pasa el tiempo. Por culpa de la tendencia del
- árbol de ports a crecer sin parar le recomendamos
- que después de compilar e instalar sofware desde los ports
- recuerde limpiar los directorios temporales <filename>work</filename> mediante la orden
- <command>make clean</command>. Puede
- limpiar de un plumazo los directorios temporales de toda la
- Colección de Ports con la siguiente orden:</para>
-
- <screen>&prompt.root; <userinput>portsclean -C</userinput></screen>
-
- <para>Rápidamente acumulará gran cantidad de viejas
- distribuciones de código en
- <filename>distfiles</filename>. Puede borrarlos
- a mano, pero también puede usar la siguiente orden para
- borrar todos los distfiles que no tengan relación con
- ningún port:</para>
-
- <screen>&prompt.root; <userinput>portsclean -D</userinput></screen>
-
- <para>También puede borrar todos los distfiles sin relación
- con ningún port instalado en el sistema:</para>
-
- <screen>&prompt.root; <userinput>portsclean -DD</userinput></screen>
-
- <note>
- <para><command>portsclean</command> forma parte de la
- «suite» <application>portupgrade</application>.</para>
- </note>
-
- <para>No olvide borrar los ports instalados una vez que deja de
- necesitarlos. Hay una herramienta muy útil para ayudar
- a automatizar esta tarea:
- <package>ports-mgmt/pkg_cutleaves</package>.</para>
-
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="ports-nextsteps">
- <title>Después de instalar un port</title>
-
- <para>Una vez que ha instalado una nueva aplicación normalmente
- deberáa leer toda la documentación que incluya, editar los
- ficheros de configuración necesarios, asegurarse de que la
- aplicación se ejecute al arrancar el sistema (si es un
- d&aelig;mon)etc.</para>
-
- <para>Obviamente los pasos exactos para configurar cada aplicación
- son distintos de una a otra. De cualquier forma, si acaba de instalar
- aplicación y se pregunta
- «?Y ahora qué?» estos consejos puede que le
- ayuden:</para>
-
- <itemizedlist>
- <listitem>
- <para>Use &man.pkg.info.1; para ver qué ficheros se instalaron
- y dónde. Por ejemplo, si instalón
- el paquete Un-Package 1.0.0, lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>pkg_info -L un-package-1.0.0 | less</userinput></screen>
-
- <para>mostrará los ficheros instalados por el paquete. Preste
- especial atención a los ficheros en el directorio
- <filename>man/</filename>, que son las páginas de ayuda y los
- del directorio <filename>etc/</filename>, que contiene los ficheros
- de configuración; bajo el directorio <filename>doc/</filename>
- podrá encontrar información más
- detallada.</para>
-
- <para>Si no está seguro de qué versión del
- paquete ha instalado, teclée:</para>
-
- <screen>&prompt.root; <userinput>pkg_info | grep -i un-package</userinput></screen>
-
- <para>y verá todos los paquetes que se llaman
- <replaceable>un-package</replaceable>. Reemplace
- <replaceable>un-package</replaceable> en la línea de
- órdenes que tenga que usar en su caso.</para>
- </listitem>
-
- <listitem>
- <para>Una vez que ha identificado las páginas de manual
- de la aplicación revíselas mediante &man.man.1;.
- Revise también los ficheros de configuración,
- así como cualquier otro tipo de documentación
- que venga con el software.</para>
- </listitem>
-
- <listitem>
- <para>Si la aplicación tiene sitio web visítelo.
- Es muy posible que encuentre más documentación,
- listas de preguntas frecuentes (FAQ), etc. Si no sabe cuál
- puede ser la dirección del sitio web examine la
- salida de la orden</para>
-
- <screen>&prompt.root; <userinput>pkg_info un-package-1.0.0</userinput></screen>
-
- <para>a veces incluye una línea <literal>WWW:</literal>, que
- contiene la dirección del sitio web de la
- aplicación.</para>
- </listitem>
- <listitem>
- <para>Los ports que deben arrancar con el sistema (como los
- servidores de Internet) normalmente instalaran un
- «script» de
- ejemplo en <filename>/usr/local/etc/rc.d</filename>. Debe
- revisar este «script» para comprobar que todo sea
- correcto, editarlo o renombrarlo si fuera necesario. Consulte
- <link linkend="configtuning-starting-services">Cómo arrancar
- servicios</link> para más información.</para>
-
- </listitem>
-
- </itemizedlist>
- </sect1>
- <sect1 xml:id="ports-broken">
- <title>Ports que no funcionan</title>
-
- <para>Si encuentra un port que no funciona hay varias cosas
- que puede hacer:</para>
-
- <orderedlist>
- <listitem>
- <para>Consulte en la
- <link xlink:href="http://www.freebsd.org/support.html#gnats">Base
- de datos de informes de error</link> si ya se ha publicado
- un parche que lo solucione. Si es el caso puede aplicar
- aplicar el parche en su sistema.</para>
- </listitem>
-
- <listitem>
- <para>Pida ayuda al responsable del mantenimiento
- (conocido como «mantainer») del port.
- Teclée <command>make maintainer</command> o
- consulte el
- <filename>Makefile</filename> del port si no sabe cuál
- es la dirección de correo del «mantainer».
- Recuerde que debe incluir el nombre y la versión del
- port. Envíe la línea que contiene
- <literal>&dollar;&os;:</literal> al principio del
- <filename>Makefile</filename> del port y salida
- con el error que obtiene al intentar usar la
- aplicación.</para>
-
- <note>
- <para>Algunos ports no son responsabilidad de un individuo
- sino de <link xlink:href="http://www.freebsd.org/doc/en_US.ISO-8859-1/articles/mailing-list-faq/article.html">una lista de correo.</link>
- Muchas, aunque no todas, tienen un aspecto parecido a
- <email role="nolink">freebsd-nombredelalista@FreeBSD.org</email>.
- Por favor, téngalo en cuenta cuando envie ese correo
- sobre el port que no funciona.</para>
-
- <para>Hay un caso especial: Los ports que tienen como
- «mantainer»
- <email role="nolink">freebsd-ports@FreeBSD.org</email> en
- realidad no son responsabilidad de nadie. Los parches
- y el soporte, en caso de existir, vienen de la comunidad de
- usuarios y desarrolladores que están suscritos
- a la lista. Por cierto, siempre hacen falta más
- voluntarios.</para>
- </note>
-
- <para>Si no recibe respuesta utilice &man.send-pr.1; para
- enviar un informe de errores. Consulte
- <link xlink:href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/problem-reports/article.html">Cómo escribir informes de error</link>)
- <footnote><para>
- Hay traducción al castellano de este artículo.
- Está aquí: <uri xlink:href="http://www.freebsd.org/doc/es_ES.ISO8859-1/articles/problem-reports/article">http://www.freebsd.org/doc/es_ES.ISO8859-1/articles/problem-reports/article</uri>
- </para></footnote>
- </para>
- </listitem>
-
-
-
- <listitem>
- <para><emphasis>Arreglarlo</emphasis>. El «Porter's
- Handbook» incluye información detallada
- sobre la infraestructura de los ports, así que
- puede arreglar un port roto o incluso enviar su propio
- port.</para>
- </listitem>
-
-
- <listitem>
- <para>Descargue el paquete de algún sitio FTP. El
- servidor «principal» de la colección
- de paquetes está en el
- <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">directorio
- de paquetes</link> de
- <systemitem class="fqdomainname">ftp.FreeBSD.org</systemitem>
- <emphasis>pero asegúrese de mirar antes en la
- réplica más próxima</emphasis>.
- Esta es una forma de instalar aplicaciones más
- fácil y más rápida.
- Instale el paquete mediante &man.pkg.add.1;.</para>
- </listitem>
- </orderedlist>
- </sect1>
-
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml b/es_ES.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
deleted file mode 100755
index 020a56e492..0000000000
--- a/es_ES.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
+++ /dev/null
@@ -1,3142 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="ppp-and-slip">
- <info><title>PPP y SLIP</title>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Reestructurado, reorganizado, y actualizado por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect1>
- <title>Sinopsis</title>
- <indexterm xml:id="ppp-ppp">
- <primary>PPP</primary>
- </indexterm>
- <indexterm xml:id="ppp-slip">
- <primary>SLIP</primary>
- </indexterm>
-
- <para>FreeBSD cuenta con un gran numero de formas para conectar una
- computadora a otra. Para establecer una red o una conección a
- Internet por medio de un módem, o bien, permitir a otras
- computadoras conectarse por medio de este, se requiere del uso de
- PPP o SLIP. Este capítulo describe en detalle como configurar
- los servicios de comunicación para llevar esto a cabo.</para>
-
- <para>Una vez que haya leido este capítulo, usted sabrá:</para>
-
- <itemizedlist>
- <listitem>
- <para>Como configurar User PPP.</para>
- </listitem>
- <listitem>
- <para>Como configurar Kernel PPP.</para>
- </listitem>
- <listitem>
- <para>Como configurar <acronym>PPPoE</acronym> (PPP over Ethernet*).
- </para>
- </listitem>
- <listitem>
- <para>Como configurar <acronym>PPPoA</acronym> (PPP over ATM*).</para>
- </listitem>
- <listitem>
- <para>Como instalar y configurar un cliente y servidor SLIP.</para>
- </listitem>
- </itemizedlist>
-
- <para>N. de T.: En estricto sentido esto se refiere a
- contar con la conexión por medio de un dispositivo Ethernet,
- o bien ATM, pero debido a que usted encontrará estos
- metodos en su sistema, como PPPoE o bien PPPoA, se han
- dejado los conceptos <quote>literales</quote> del documento original.
- Espero que no sea un problema.</para>
-
- <para>Antes de leer este capítulo, usted debiese:</para>
-
- <itemizedlist>
- <listitem>
- <para>Estar familiarizado con la terminología básica de
- redes.</para>
- </listitem>
- <listitem>
- <para>Comprender lo básico y el propósito de una
- conección por módem SLIP y/o PPP.</para>
- </listitem>
- </itemizedlist>
-
- <para>Puede ser que usted se pregunte cual es la principal diferencia
- entre User PPP y kernel PPP. La respuesta es sencilla; el método
- User PPP procesa la entrada y salida de datos en userland (ver nota
- siguiente) en lugar de hacerlo en el kernel.
- Esto es algo desgastante, en términos del manejo de datos
- entre userland y el kernel, pero permite, por mucho, un mejor
- desempeño e implementación de PPP.
- User PPP utiliza el dispositivo <filename>tun</filename> para
- comunicarse con el mundo exterior, mientras que kernel&mdash;ppp,
- utiliza el dispositivo <filename>ppp</filename>.</para>
-
- <para>En el desarrollo de este capítulo, se hará referencia
- a User PPP, simplemente como <emphasis>ppp</emphasis>, a menos de que
- sea necesaria hacer una distinción entre este y otro software
- de PPP, como es el caso de <command>pppd</command>. Así mismo,
- si en el desarrollo del capítulo no se señala lo
- contrario, todos los comandos explicados, deberán ser ejecutados
- como <systemitem class="username">root</systemitem>.</para>
-
- <para>N. de T. : Cuando se habla de "userland"
- se hace referencia a todo aquello que *no* forma parte del kernel y que
- en el caso de código de programa, se ejecuta en modo usuario, ya
- que el código del kernel se ejecuta en modo kernel, supervisor,
- o bien en modo privilegiado de ejecución. En lo sucesivo este
- término será utilizado tal cual.</para>
- </sect1>
-
- <sect1 xml:id="userppp">
- <info><title>Uso de User PPP</title>
- <authorgroup>
- <author><personname><firstname>Brian</firstname><surname>Somers</surname></personname><contrib>Originalmente contribuido por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Nik</firstname><surname>Clayton</surname></personname><contrib>Con apoyo de </contrib></author>
- <author><personname><firstname>Dirk</firstname><surname>Fr&ouml;mberg</surname></personname></author>
- <author><personname><firstname>Peter</firstname><surname>Childs</surname></personname></author>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Actualizado y reestructurado por</contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect2>
- <title>User PPP</title>
-
- <sect3>
- <title>Aclaraciones</title>
-
- <para>Este documento asume que usted cuenta con lo siguiente:</para>
-
- <itemizedlist>
- <listitem>
- <indexterm xml:id="ppp-isp">
- <primary>ISP</primary>
- </indexterm>
-
- <indexterm xml:id="ppp-ppp2">
- <primary>PPP</primary>
- </indexterm>
-
- <para>Una cuenta activa con un Proveedor del Servicio de Internet
- (ISP&mdash;por sus siglas en inglées), que usted
- utliza para conectarse.</para>
- </listitem>
-
- <listitem>
- <para>Adicionalmente, un módem o algún otro
- dispositivo, conectado a su sistema, y configurado
- correctamente, que le permite realizar la conexión
- con su ISP.</para>
- </listitem>
-
- <listitem>
- <para>El número telefónico de su proveedor.</para>
- </listitem>
-
- <listitem>
- <indexterm xml:id="ppp-pap">
- <primary>PAP</primary>
- </indexterm>
-
- <indexterm xml:id="ppp-chap">
- <primary>CHAP</primary>
- </indexterm>
-
- <indexterm xml:id="ppp-unix">
- <primary>Unix</primary>
- </indexterm>
-
- <indexterm xml:id="ppp-login">
- <primary>login name</primary>
- </indexterm>
-
- <indexterm xml:id="ppp-password">
- <primary>password</primary>
- </indexterm>
-
- <para>Su nombre de usuario y contraseña. (Ya sea un nombre
- de usuario y/o contraseña estilo UNIX, o bien para uso
- por medio de PAP o CHAP)</para>
- </listitem>
-
- <listitem>
- <indexterm xml:id="ppp-nameserver">
- <primary>Servidor DNS</primary>
- </indexterm>
-
- <para>La dirección IP de uno o más servidores
- de nombres (DNS). Normalmente, estos serán provistos
- por su proveedor de Internet. Si su proveedor no le ha
- dado esta información, puede utilizar la opción
- <command>enable dns</command> en su fichero
- <filename>ppp.conf</filename>, para indicarle a
- <application>ppp</application> que configure el DNS por
- usted. Esta característica depende del sistema de
- negociación de DNS que mantenga su proveedor de
- Internet.</para>
- </listitem>
- </itemizedlist>
-
- <para>La siguiente información puede ser que haya sido
- provista por su proveedor de servicios de internet, pero
- no es completamente necesaria:</para>
-
- <itemizedlist>
- <listitem>
- <para>La dirección IP del gateway (pasarela de salida)
- de su PSI. El gateway es la máquina a la cual usted
- se conectará y será la
- <emphasis>ruta por default</emphasis>. Si usted no cuenta
- con esta información, puede inventar uno y al intentar
- conectarse, el servidor de su PSI, este nos indicará
- cual es el valor correcto.</para>
-
- <para>Esta dirección IP, es referida por
- <application>ppp</application> como
- <literal>HISADDR</literal>.</para>
- </listitem>
-
- <listitem>
- <para>La mascara de red (netmask) que debe utilizar. Si su PSI no
- le ha provisto de una, puede utilizar sin problema <systemitem class="netmask">255.255.255.255</systemitem>.</para>
- </listitem>
-
- <listitem>
- <indexterm xml:id="ppp-statis-ip">
- <primary>Dirección IP estática</primary>
- </indexterm>
-
- <para>Si su PSI, le ha provisto de una dirección de IP
- estática y un nombre de host, puede capturarla. De otra
- forma podemos dejar que el servidor asigne cualquier IP que
- corresponda.</para>
- </listitem>
- </itemizedlist>
-
- <para>Si usted no cuenta con alguna de la información que hemos
- comentado, le recomendamos contactar con su PSI para requerirla.</para>
-
- <note>
- <para>En el transcurso de la presente sección, algunos
- ejemplos muestran el contenido de archivos de configuración
- los cuales presentan una numeración. Estos números
- sirven como ayuda y referencia a cada línea, pero estos no
- deben de estar presentes en el archivo original. Una sangría
- adecuada, así como espacios adecuados, también son
- de suma importancia.</para>
- </note>
-
- </sect3>
-
- <sect3>
- <title>Preparando el Kernel</title>
-
- <para>Como se comento anteriormente, la aplicación
- <application>ppp</application> utiliza el dispositivo
- <filename>tun</filename>. Si este dispositivo no ha sido
- compilado dentro del kernel, <application>ppp</application>
- lo cargará como módulo cuando sea requerido. El
- dispositivo tun es dinámico, de tal forma que se
- generara de acuerdo a la demanda que tenga (usted no esta
- limitado por el kernel).</para>
-
- <note><para>Vale la pena hacer notar que el controlador tun, crea los
- dispositivos de acuerdo a sus necesidades, por lo que el comando
- <command>ifconfig -a</command>, no necesariamente mostrará
- los dispositivos <filename>tun</filename>.</para></note>
-
- </sect3>
-
- <sect3>
- <title>Verificando el dispositivo <filename>tun</filename></title>
-
- <para>Bajo circunstancias normales, la mayoría de los usuarios
- sólo utilizaran un dispositivo <filename>tun</filename>
- (<filename>/dev/tun0</filename>). En lo sucesivo podemos hacer
- referencia a <filename>tun0</filename> con la expresión
- <filename>tunN</filename> donde <literal>N</literal>
- es el número que corresponde en su sistema.</para>
-
- <para>Para instalaciones de FreeBSD que no tienen el habilitado el DEVFS
- la existencia de <filename>tun0</filename> debe ser verificada
- (esto no es necesario si se cuenta habilitada la opción DEVFS
- ya que los nodos de dispositivos seán creados en función
- a las necesidades).</para>
-
- <para>La forma más sencilla de verificar si el dispositivo
- <filename>tun0</filename> se encuentra configurado
- correctamente, es la de rehacer el dispositivo. Para hacer esto
- simplemente siga los siguientes pasos:</para>
-
- <screen>&prompt.root; <userinput>cd /dev</userinput>
-&prompt.root; <userinput>sh MAKEDEV tun0</userinput></screen>
-
- <para>Si usted necesita 16 dispositivos tun en su kernel, deberá
- crearlos. Esto puede hacerse de la siguiente manera:</para>
-
- <screen>&prompt.root; <userinput>cd /dev</userinput>
-&prompt.root; <userinput>sh MAKEDEV tun15</userinput></screen>
- </sect3>
-
- <sect3>
- <title>Configuración de la Resolución de Nombres</title>
-
- <indexterm xml:id="ppp-resolver">
- <primary>resolver</primary>
- </indexterm>
- <indexterm xml:id="ppp-hostname">
- <primary><command>hostname</command></primary>
- </indexterm>
- <indexterm xml:id="ppp-hosts">
- <primary><filename>hosts</filename></primary>
- </indexterm>
- <para>La resolución es la parte del sistema que busca una
- dirección IP en los nombres de servidores (host) y
- viceversa. Puede ser configurado para que busque en "mapas" que
- describen la IP del servidor en uno de dos lugares, el primero
- es un archivo llamado <filename>/etc/hosts</filename>.
- Lea &man.hosts.5; para más información al
- respecto. El segundo es el Servicio de Nombres de Dominio de
- Internet (DNS-Internet Domain Name Service), el cual es una
- base de datos de distribución. Para mayor información
- con respecto a los DNS, referirse a dns.</para>
-
- <para>La resolución de nombres es un sistema que por medio de
- llamadas, realiza el mapeo de nombres, pero es necesario inidicarle donde
- debe buscar la información. Para versiones de FreeBSD anteriores
- a la 5.0, esto es hecho al editar el archivo <filename>/etc/host.conf</filename>.
- La versión 5.0 de FreeBSD utiliza el archivo <filename>/etc/nsswitch.conf</filename>.</para>
-
- <sect4>
- <title>Edición del archivo <filename>/etc/host.conf</filename></title>
-
- <para>Para versiones de FreeBSD anteriores a la 5.0, este archivo
- debe contener las siguientes dos líneas (en este orden):</para>
-
- <programlisting>hosts
-bind</programlisting>
-
- <para>Esto le indica a la resolución que busque en primer
- término en el archivo <filename>/etc/hosts</filename>, y
- posteriormente en el DNS, si el nombre no fué localizado</para>
- </sect4>
-
- <sect4>
- <title>Editando el archivo <filename>/etc/nsswitch.conf</filename></title>
-
- <para>Para versiones de FreeBSD 5.0 y posteriores, este archivo debe
- contener, al menos, la siguiente línea:</para>
-
- <programlisting>hosts: files, dns</programlisting>
-
- <para>Esto le indica a la resolución de nombres, que
- busque en primer lugar en el archivo <filename>/etc/hosts</filename>,
- y en caso de que el nombre no haya sido localizado, busque en
- el DNS.</para>
- </sect4>
-
- <sect4>
- <title>Editando el archivo <filename>/etc/hosts</filename></title>
-
- <para>Este archivo puede contener direcciones IP, así como
- el nombre de las máquinas de su red local. Como mínimo
- debe contar con la información de la máquina que
- correrá ppp. Asumiendo que su ordenador se llama
- <systemitem class="fqdomainname">foo.bar.com</systemitem> con la dirección
- IP <systemitem class="ipaddress">10.0.0.1</systemitem>, el archivo
- <filename>/etc/hosts</filename> debiese contener:</para>
-
- <programlisting>127.0.0.1 localhost.bar.com localhost
-::1 localhost.bar.com localhost
-10.0.0.1 foo.bar.com foo</programlisting>
-
- <para>Las primeras dos líneas definen el alias del
- <systemitem>localhost</systemitem>, como sinónimo de la maquina
- actual. Independientemente de su propia dirección IP, la
- dirección IP en estas líneas siempre debe ser <systemitem class="ipaddress">127.0.0.1</systemitem> y <systemitem class="ipaddress">::1</systemitem>.
- La última línea especifica el nombre <systemitem class="fqdomainname">
- foo.bar.com</systemitem> (asi como <systemitem>foo</systemitem> para acortarlo), para
- la dirección <systemitem class="ipaddress">10.0.0.1</systemitem>.</para>
-
- <note>
- <para>La dirección <systemitem class="ipaddress">127.0.0.1</systemitem> y el nombre
- <systemitem>localhost</systemitem> son conocidos como direcciones "loopback"
- las cuales hacen un "loopback" (salto de regreso) a la maquina local.</para>
- </note>
-
- <para>Si su proveedor de Internet, le asigna una dirección IP
- fija, asín como un nombre, y usted no lo utiliza como nombre
- del host, añada esto también al archivo
- <filename>/etc/hosts</filename>.</para>
- </sect4>
-
- <sect4>
- <title>Editando el archivo <filename>/etc/resolv.conf</filename></title>
-
- <para>El archivo <filename>/etc/resolv.conf</filename>, le indica a la
- resolución de nombres, como comportarse. Normalmente deberá
- de incluir la(s) siguiente(s) línea(s):</para>
-
- <programlisting>domain <replaceable>ejemplo.com</replaceable>
-nameserver <replaceable>x.x.x.x</replaceable>
-nameserver <replaceable>y.y.y.y</replaceable></programlisting>
-
- <para>Donde <replaceable>x.x.x.x</replaceable> y
- <replaceable>y.y.y.y</replaceable> deben reemplazarse con las direcciones
- <acronym>IP</acronym> de los servidores DNS, de su
- <acronym>ISP</acronym>. Puede ser que esta información se la
- hayan entregado al suscribirse o no, pero una rápida llamada a su
- <acronym>ISP</acronym> debe resolver esto.</para>
-
- <para>Tambié puede configurar su sistema, de tal forma que
- &man.syslog.3; provee de un login para su conección por
- <application>PPP</application>. Sólo añada:</para>
-
- <programlisting>
- !ppp
- *.* /var/log/ppp.log</programlisting>
-
- <para>al fichero <filename>/etc/syslog.conf</filename>. En la
- mayoría de los casos esto funciona bien.</para>
-
- </sect4>
- </sect3>
-
- <sect3>
- <title>Configuración Automática de
- <application>PPP</application></title>
-
- <indexterm><primary>PPP</primary><secondary>configuración</secondary></indexterm>
- <para>Ambos, <command>ppp</command> así como <command>pppd</command>
- (la implementación del kernel para PPP), utilizan la
- configuración de los archivos localizados en el directorio
- <filename>/etc/ppp</filename>.
- Ejemplos para ppp, pueden encontrarse en:
- <filename>/usr/share/examples/ppp/</filename>.</para>
-
- <para>Para efecto de configurar correctamente <command>ppp</command>, es
- necesario editar varios ficheros, dependiendo de sus necesidades. La
- manera en que edite dichos archivos, depende en la forma que utilice su
- PSI (Proveedor de Servicios de Internet) para brindarle conexión,
- ya sea por medio de una dirección IP estática o bien una IP
- dinámica (ya sea que cada vez que se conecta obtiene una nueva
- dirección).</para>
-
- <sect4 xml:id="userppp-staticIP">
- <title>PPP y direcciones de IP estáticas (fijas)</title>
-
- <indexterm><primary>PPP</primary><secondary> con dirección IP fija</secondary></indexterm>
- <para>Será necesario editar el archivo de configuración;
- <filename>/etc/ppp/ppp.conf</filename>. Y deberá quedar de una
- manera similar al ejemplo que se describe a continuación.</para>
-
- <note>
- <para>Las líneas que terminan con <literal>:</literal>, deben
- comenzar en la primer columna del archivo &mdash; el resto de las
- líneas deberán utilizar sangría como se muestra,
- utilizando espacios o bien el tabulador. La mayor parte de la
- información que requiere ingresar aqui, se mostro en el
- marcado manual anterior.</para>
- </note>
-
- <programlisting>1 default:
-2 set log Phase Chat LCP IPCP CCP tun command
-3 ident user-ppp VERSION (built COMPILATIONDATE)
-4 set device /dev/cuaa0
-5 set speed 115200
-6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
-7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
-8 set timeout 180
-9 enable dns
-10
-11 provider:
-12 set phone "(123) 456 7890"
-13 set authname foo
-14 set authkey bar
-15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
-16 set timeout 300
-17 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.255 0.0.0.0
-18 add default HISADDR</programlisting>
-
- <variablelist>
- <varlistentry>
- <term>Línea 1:</term>
-
- <listitem>
- <para>Identifica la entrada por omisión a utilizar.
- Los comandos descritos en esta parte, serán ejecutados de
- manera automática cuando se ejecute ppp.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 2:</term>
-
- <listitem>
- <para>Habilita los par&acute;metros de acceso. Cuando la
- configuración trabaja sin problemas, esta línea
- deberá quedar de la siguiente forma:
-
- <programlisting>set log phase tun</programlisting>
-
- para efecto de evitar avisos masivos del sistema (logs).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 3:</term>
-
- <listitem>
- <para>Esta línea le indica a PPP como identificarse ante el puerto.
- PPP se identifica, si tiene algun problema para efecto de establecer
- la conexión, en esta identificación, PPP provee de
- cierta información que puede resultar util para detectar el
- probelma.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 4:</term>
-
- <listitem>
- <para>Le indica a PPP cual es el dispositivo a utilizar para realizar
- la conexión, o bien al que esta conectado el módem.
- El dispositivo <filename>COM1</filename> es
- <filename>/dev/cuaa0</filename> y
- <filename>COM2</filename> es
- <filename>/dev/cuaa1</filename>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 5:</term>
-
- <listitem>
- <para>Establece la velocidad a utilizar en la conexión.
- Si la velocidad de 115200 no trabaja correctamente (la cual
- deberia con cualquier módem normal), intente con una
- velocidad inferior, como puede ser 38400.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Líneas 6 y 7:</term>
-
- <listitem>
- <indexterm><primary>PPP</primary><secondary>user PPP</secondary></indexterm>
-
- <para>La cadena de inicialización. El modo User PPP, utiliza
- y espera enviar-recibir, la información utilizando una
- sintaxis similar a la descrita en el programa &man.chat.8;. Favor
- de consultar la página de ayuda para conocer las opciones
- de este lenguaje.</para>
-
- <para>Nota: Este comando continua en la siguiente línea, para
- facilitar su lectura. Cualquier comando en el archivo
- <filename>ppp.conf</filename> puede utilizar este formato, siempre
- y cuando el último caracter de la línea sea una
- diagonal invertida "\".</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 8:</term>
-
- <listitem>
- <para>Establece el tiempo de espera que debe tratar de realizar la
- conexión. Por omisión se establecen 180 segundos, por
- lo que esta línea se deja por pura estética.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 9:</term>
-
- <listitem>
- <para>Esta línea le indica a PPP, que solicite confirmación
- al puerto, sobre la configuración de la resolución local.
- Si usted esta corriendo un servidor local de nombres, deberá
- comentar o eliminar esta línea.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 10:</term>
-
- <listitem>
- <para>Una línea en blanco, para facilitar la lectura. Las
- líneas en blanco son ignoradas por PPP.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 11:</term>
-
- <listitem>
- <para>Identifica el incio de datos para un <quote>proveedor</quote>
- determinado, de servicios de internet. Este podrá ser cambiado
- por el nombre de su <acronym>ISP</acronym>, de tal forma que en lo
- sucesivo utilice la opción <option>load ISP</option>, para
- iniciar una sesión.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 12:</term>
-
- <listitem>
- <para>Indica el numero telefónico del proveedor.
- Pueden indicarse varios numeros a utilizar, utilizando el signo
- de dos puntos (<literal>:</literal>) o bien la barra
- (<literal>|</literal>) como separador. La diferencia entre
- estos dos separadores, es detallada en el &man.ppp.8;. Pero
- en resumen, se puede decir que si se desean utilizar varios
- numeros de manera aleatoria se debe utilizar los dos puntos,
- pero si se desea siempre utilizar el primer numero y en caso
- de falla el siguiente y así sucesivamente, se debe utilizar
- la barra. Es importante que todo lo que se refiere a numeros
- telefonicos, este entre comillas como se muestra. Es
- importante que si piensa usar espacios en los numeros, haga
- uso de estas comillas (<literal>"</literal>). La falta de
- estas pueden ocasionar un simple error.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Líneas 13 y 14:</term>
-
- <listitem>
- <para>Identifica el nombre de usuario y su contraseña. Cuando
- uno se conecta utilizando un login de tipo Unix, estos valores hacen
- referencia al comando <command>set login</command>, utilizando las
- variables \U y \P. Cuando la conexión es utilizando algún
- metodo como PAP o CHAP, estos valores, son utilizados al momento de la
- autentificación.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 15:</term>
-
- <listitem>
- <indexterm><primary>PAP</primary></indexterm>
- <indexterm><primary>CHAP</primary></indexterm>
- <para>Si usted esta utilizando el metodo PAP o CHAP, no habrá
- un login en este punto, y esta línea deberá ser
- comentada (utilizando el símbolo <literal>#</literal> al
- principio de la línea) o bien eliminada por completo.
- Vea la parte
- <link linkend="userppp-PAPnCHAP">Autentificación con PAP y CHAP
- </link> para más detalles.</para>
-
- <para>La cadena de acceso (login), utiliza la misma sintáxis que
- se utiliza en la cadena de marcado. En este ejemplo, la cadena sirve
- para un servicio, en el cual el inicio de sesión se ve algo
- así como lo siguiente:</para>
-
- <screen>Proveedor de servicios X
-login: <replaceable>foo</replaceable>
-password: <replaceable>bar</replaceable>
-protocol: ppp</screen>
-
- <para>Es recomendable editar el script, para que se ajuste a sus propias
- necesidades. Cuando cree este script por primera vez, asegurese de
- haber habilitado la parte que se refiere a al acceso por medio de
- <quote>chat</quote>, para efecto de poder dar seguimiento al curso de
- la conexión y la resolución de la misma.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 16:</term>
-
- <listitem>
- <indexterm><primary>timeout</primary></indexterm>
-
- <para>Establece el tiempo por defecto en el que se perderá la
- conexión (en segundos). En este caso la conexión
- será cortada de forma automática, después de
- 300 segundos de inactividad. Si no desea habilitar esta función
- establezca este valor en cero o bien utilice el comando en línea
- <option>-ddial</option>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 17:</term>
- <listitem>
- <indexterm><primary>ISP</primary></indexterm>
-
- <para>Indica la dirección de la interfaz. La cadena que aparece
- como <replaceable>x.x.x.x.</replaceable>, debe se cambiada por la
- dirección asignada por su PSI. La línea que aparece como
- <replaceable>y.y.y.y.</replaceable>, debe se substituida por la
- direcció IP especificada por su PSI, como servidor de salida o
- pasarela (gateway)(la maquina a la cual se va a conectar). Si su PSI
- no le ha indicado una dirección de este tipo, puede utilizar
- <systemitem class="netmask">10.0.0.2/0</systemitem>. Si usted necesita utilizar
- una dirección <quote>aleatoria</quote>, asegurese de crear el
- fichero <filename>/etc/ppp/ppp.linkup</filename>, siguiendo las
- instrucciones de <link linkend="userppp-dynamicIP">PPP y las
- direcciones de IP Dinámicas</link>, para su llenado. Si esta
- línea es omitida, <command>ppp</command>, no podrá
- ejecutarse en el modo <option>-auto</option>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 18:</term>
-
- <listitem>
- <para>Añade una ruta por omisión al servidor de salida
- de su PSI. La palabra especial <literal>HISADDR</literal> se
- reemplaza con la dirección del gateway indicado por su PSI,
- que esta en la línea 9, de otra forma <literal>HISADDR</literal>
- no será inicializado.</para>
-
- <para>Si no desea ejecutar <command>ppp</command> en modo
- <option>-auto</option>, esta línea deberá pasar al
- archivo <filename>ppp.linkup</filename>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>No hay necesidad de editar el archivo <filename>ppp.linkup</filename>
- si usted cuenta con una dirección IP estática y se esta
- ejecutando ppp en modo <option>-auto</option>, en virtud de que para
- efecto de realizar la conexión sus mapas de ruteo debe estar
- correctas. De cualquier forma puede ser que usted desee ejecutar
- algun programa/comando, posterior a la conexión. Este es
- explicado con más detalle posteriormente, cuando se vea el
- ejemplo de sendmail.</para>
-
- <para>Ejemplo de los archivos de configuración, se pueden
- encontrar en el directorio; <filename>/usr/share/examples/ppp</filename>.
- </para>
- </sect4>
-
- <sect4 xml:id="userppp-dynamicIP">
- <title>PPP y direcciones de IP Dinámicas (Variables)</title>
- <indexterm>
- <primary>PPP</primary>
- <secondary>con direcciones IP dinámica</secondary>
- </indexterm>
- <indexterm>
- <primary>IPCP</primary>
- </indexterm>
- <para>Si su proveedor de servicios, no le asigna una dirección de IP
- fija, será necesario configurar a <command>ppp</command>, de tal
- forma que al momento de realizar la conexión, negocie tanto la
- dirección local, como la remota. Esto se lleva a cabo al
- <quote>adivinar</quote> una dirección IP y permitiendo a
- <command>ppp</command> que la establezca correctamente, usando el
- Protocolo de Configuración de IP (IPCP), una vez que se ha
- conectado. La configuración que debe tener el archivo
- <filename>ppp.conf</filename>, es la misma que la utilizada en
- <link linkend="userppp-staticIP">PPP y direcciones de IP fijas</link>,
- salvo el siguiente cambio:</para>
-
- <programlisting>17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255</programlisting>
-
- <para>Una vez más, no debe incluir el numero de línea, este
- sólo es una referencia. Así mismo deberá existir
- sangrado, de cuando menos 1 espacio.</para>
-
- <variablelist>
- <varlistentry>
- <term>Línea 17:</term>
-
- <listitem>
- <para>El numero siguiente a la diagonal (<literal>/</literal>), es el
- numero de bits de la dirección en la cual ppp insistirá
- en conectarse. Puede ser que usted desee utilizar numeros de IP que
- sean más apropiados, para ajustar a sus necesiadades, pero el
- ejemplo descrito anteriormente siempre podrá utilizarse.</para>
-
- <para>El último argumento (<literal>0.0.0.0</literal>), le
- indica a PPP, que inicie las negociaciones, utilizando como
- dirección <systemitem class="ipaddress">0.0.0.0</systemitem>, en lugar de
- que utilice <systemitem class="ipaddress">10.0.0.1</systemitem>, lo cual es
- necesario con algunos proveedores. No utilice la dirección
- <literal>0.0.0.0</literal> como el primer argumento, para el comando
- <command>set ifaddr</command>, ya que impide que PPP configure de
- forma correcta el sistema, cuando se utiliza en modo
- <option>-auto</option>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Si usted no esta ejecutando PPP en modo <option>-auto</option>,
- deberá editar su archivo <filename>/etc/ppp/ppp.linkup</filename>.
- El archivo <filename>ppp.linkup</filename>, es utilizado una vez que se
- ha realizado la conexión. En este punto, <command>ppp</command>
- habrá negociado una dirección de interfaz, y será
- posible ahora, añadir las entradas para la las tablas de ruteo:
- </para>
-
- <programlisting>1 provider:
-2 add default HISADDR</programlisting>
-
- <variablelist>
- <varlistentry>
- <term>Línea 1:</term>
-
- <listitem>
- <para>Al establecer (<command>ppp</command>) una conexión,
- buscará en <filename>ppp.linkup</filename> una entrada, de
- acuerdo a las siguientes reglas. Primero, tratar de encontrar una
- entrada que sea igual a la utilizada en el archivo
- <filename>ppp.conf</filename>. Si esto falla, buscar una IP con la
- dirección de nuestro gateway. Esta entrada es una etiqueta
- de tipo IP, de cuatro-octetos. Si aun después de esto no se
- ha detectado la entrada correcta, buscar la entrada
- <literal>MYADDR</literal>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 2:</term>
-
- <listitem>
- <para>Esta línea le indica a <command>ppp</command> que
- añada una ruta por omisión, que este dirigida hacia
- <literal>HISADDR</literal>.
- <literal>HISADDR</literal> será reemplazada, con la IP del
- gateway, como se negocio por IPCP.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Para ver un detalle más preciso de esto, puede consultar
- la entrada de <literal>pmdemand</literal> en los archivos de ejemplo
- <filename>/usr/share/examples/ppp/ppp.conf.sample</filename> así
- como <filename>/usr/share/examples/ppp/ppp.linkup.sample</filename>.</para>
- </sect4>
-
- <sect4>
- <title>Recibiendo Llamadas Externas</title>
- <indexterm><primary>PPP</primary><secondary>recibiendo
- llamdas externas</secondary></indexterm>
- <para>Cuando se configure <application>ppp</application>, para recibir
- llamadas externas, en una maquina conectada a un LAN (Red de Area Local),
- debe decidir si se va a permitir el envío de paquetes a la LAN. Si
- es así, debe asignar un numero de IP de su red local y utilizar el
- comando <command>enable proxy</command> en el archivo de configuracion
- <filename>/etc/ppp/ppp.conf</filename>. También deberá
- asegurarse que en su archivo <filename>/etc/rc.conf</filename> cuente
- con la línea:</para>
-
- <programlisting>gateway_enable="YES"</programlisting>
-
- <sect5>
- <title>?Qué getty utilizar?</title>
-
- <para>El enlace
- Configurando FreeBSD para Servicios de Marcado provee de una buena
- descripció, sobre la configuración de estos servicios,
- basado en &man.getty.8;.</para>
-
- <para>Una alternativa para el comando <command>getty</command>
- es <link xlink:href="http://www.leo.org/~doering/mgetty/index.html">mgetty
- </link>, el cual es una versión más inteligente de getty
- diseñada para servicios de marcado telefonico.</para>
-
- <para>Una de las principales ventajas de <command>mgetty</command> es
- que, de hecho <emphasis>platica</emphasis> con los modems, esto es,
- significativo, ya que si el puerto esta desactivado en su
- <filename>/etc/ttys</filename> el modem no responderá el
- llamado.</para>
-
- <para>Las últimas versiones de <command>mgetty</command>
- (de la 0.99beta y sucesivas), también cuentan con soporte
- para la detección automática de llamados de PPP,
- permitiendo el acceso a servidores de una manera más sencilla
- (sin uso de tanto scripts).</para>
-
- <para>Puede referirse a <link linkend="userppp-mgetty">Mgetty y
- AutoPPP</link> para más información con respecto
- al comando <command>mgetty</command>.</para>
- </sect5>
-
- <sect5>
- <title>Permisos de <application>PPP</application></title>
-
- <para>El comando <command>ppp</command> normalmente debe ser ejecutado
- por root (superusuario). Si de cualquier forma, usted desea permitir
- que <command>ppp</command> pueda ser ejecutado en modo servidor, por
- un usuario regular, como se describe a continuación,
- deberá otorgar los permisos necesarios a ese usuario al
- añadirlo al grupo <systemitem class="username">network</systemitem>, en el fichero
- <filename>/etc/groups</filename>.</para>
-
- <para>También será necesario darle acceso a una o
- más partes del archivo de configuración, haciendo
- uso del comando <command>allow</command>, como se ve
- a continuación:</para>
-
- <programlisting>allow users fred mary</programlisting>
-
- <para>Si el comando es utilizado en la sección
- <literal>default</literal>, esto le dará a el(los)
- usuario(s) especificado(s), acceso a todo.</para>
- </sect5>
-
- <sect5>
- <title>Shells de PPP para Usuarios de IP Dinámica</title>
- <indexterm><primary>PPP shells</primary></indexterm>
-
- <para>Cree un fichero llamado:
- <filename>/etc/ppp/ppp-shell</filename> y que contenga
- lo siguiente:</para>
-
- <programlisting>#!/bin/sh
-IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
-CALLEDAS="$IDENT"
-TTY=`tty`
-
-if [ x$IDENT = xdialup ]; then
- IDENT=`basename $TTY`
-fi
-
-echo "PPP for $CALLEDAS on $TTY"
-echo "Starting PPP for $IDENT"
-
-exec /usr/sbin/ppp -direct $IDENT</programlisting>
-
- <para>Este script deberá ser ejecutable. Ahora cree un
- enláce simbólico llamado <filename>ppp-dialup</filename>
- a este script, utilizando los siguientes comandos:</para>
-
- <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen>
-
- <para>Deberá utilizar este script como
- <emphasis>shell</emphasis> para todos los usuarios que realicen
- conexión.
- Este es un ejemplo del fichero <filename>/etc/password</filename>
- para un usuario con acceso a PPP, con nombre de usuario
- <systemitem class="username">pchilds</systemitem> (recuerde no editar directamente el
- fichero password, utilice <command>vipw</command>).</para>
-
- <programlisting>pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting>
-
- <para>Cree un directorio llamado <filename>/home/ppp</filename> que
- contenga los siguentes archivos de 0 bytes:</para>
-
- <screen>-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
--r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts</screen>
-
- <para>los cuales impiden que <filename>/etc/motd</filename> sea
- desplegado.</para>
- </sect5>
-
- <sect5>
- <title>Shells de PPP para Usuarios de IP Estática</title>
- <indexterm><primary>PPP shells</primary></indexterm>
-
- <para>Cree el fichero <filename>ppp-shell</filename> al igual
- que el mencionado con anterioridad, y por cada cuenta donde
- se tenga asignada una IP estática, cree un enlace
- simbólico al fichero <filename>ppp-shell</filename>.</para>
-
- <para>Por ejemplo, si usted cuenta con tres usuarios que utilicen
- este servicio; <systemitem class="username">fred</systemitem>, <systemitem class="username">sam</systemitem>
- y <systemitem class="username">mary</systemitem>, los cuales redirecciona a una red de
- clase C, habria que hacer lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred</userinput>
-&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam</userinput>
-&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary</userinput></screen>
-
- <para>Cada uno de los usuarios señalados, deberán
- de contar con el enlace a su shell-script como se indicó
- (por ejemplo, el usuario <systemitem class="username">mary</systemitem>, debe contar
- con su enlace al fichero <filename>/etc/ppp/ppp-mary</filename>).</para>
- </sect5>
-
- <sect5>
- <title>Configurando <filename>ppp.conf</filename> para Usuarios
- de IP-Dinámica</title>
-
- <para>El archivo <filename>/etc/ppp/ppp.conf</filename> deberá
- contener algo similar a lo siguiente:</para>
-
- <programlisting>default:
- set debug phase lcp chat
- set timeout 0
-
-ttyd0:
- set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
- enable proxy
-
-ttyd1:
- set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
- enable proxy</programlisting>
-
- <note>
- <para>Tomar en cuenta el sangrado, ya que es importante.</para>
- </note>
-
- <para>La sección <literal>default:</literal> es cargada
- para cada sesión. Para cada línea que exista y
- habilite el marcado, en el fichero <filename>/etc/ttys</filename>,
- se deberá crear una entrada similar a la línea
- <literal>ttyd0:</literal> mencionada arriba. Cada línea
- debera contar con su propia dirección IP, de sus direcciones
- IP disponibles para asignar dinámicamente.</para>
- </sect5>
-
- <sect5>
- <title>Configurando <filename>ppp.conf</filename> para Usuarios
- de IP Estática</title>
-
- <para>Junto con el contenido del fichero de ejemplo
- <filename>/usr/share/examples/ppp/ppp.conf</filename> mencionado
- anteriormente, deberá agregar una sección para cada
- usuario asignado estáticamente.
- Continuaremos con nuestro ejemplo con los usuarios
- <systemitem class="username">fred</systemitem>, <systemitem class="username">sam</systemitem> y
- <systemitem class="username">mary</systemitem>.</para>
-
- <programlisting>fred:
- set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
-
-sam:
- set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
-
-mary:
- set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255</programlisting>
-
- <para>El archivo <filename>/etc/ppp/ppp.linkup</filename>
- deberá de contener también información
- del ruteo, para cada IP estática, si es necesario. Las
- líneas a continuación añadirán una
- ruta a la dirección <systemitem class="ipaddress">203.14.101.0</systemitem>
- de clase C, por medio del ppp link del cliente.</para>
-
- <programlisting>fred:
- add 203.14.101.0 netmask 255.255.255.0 HISADDR
-
-sam:
- add 203.14.102.0 netmask 255.255.255.0 HISADDR
-
-mary:
- add 203.14.103.0 netmask 255.255.255.0 HISADDR</programlisting>
- </sect5>
- </sect4>
-
- <sect4>
- <title>Algo más de <command>mgetty</command>, AutoPPP, y
- Extensiones MS</title>
-
- <sect5 xml:id="userppp-mgetty">
- <title><command>mgetty</command> y AutoPPP</title>
- <indexterm>
- <primary><command>mgetty</command></primary>
- </indexterm>
- <indexterm><primary>AutoPPP</primary></indexterm>
- <indexterm><primary>LCP</primary></indexterm>
-
- <para>Configurando y compilando <command>mgetty</command> con
- la opción <literal>AUTO_PPP</literal> habilitada, permite
- a <command>mgetty</command> detectar la fase LCP de conexiones PPP
- y automáticamente enviarlo a un shel de ppp. Aun con esto,
- y debido a que no se ingresa el nombre de usuario y contraseña,
- es necesario autntificarse por medio de PAP o CHAP.</para>
-
- <para>Esta sección asume que el usuaio ha configurado,
- compilado e instalado correctamente una versión de
- <command>mgetty</command>, con la opción
- <literal>Auto_PPP</literal> (v0.99beta o posterior).</para>
-
- <para>Asegurese de que su fichero
- <filename>/usr/local/etc/mgetty+sendfax/login.conf</filename>
- contiene la siguiente línea en él:</para>
-
- <programlisting>/AutoPPP/ - - /etc/ppp/ppp-pap-dialup</programlisting>
-
- <para>Esto le indicará a <command>mgetty</command> que ejecute
- el script <filename>ppp-pap-dialup</filename>, para efecto de detectar
- conexiones de tipo PPP.</para>
-
- <para>Cree un fichero llamado
- <filename>/etc/ppp/ppp-pap-dialup</filename> que contenga
- las siguientes líneas (el fichero deberá
- ser ejecutable):</para>
-
-
- <programlisting>#!/bin/sh
-exec /usr/sbin/ppp -direct pap$IDENT</programlisting>
-
- <para>Para cada línea de marcado habilitada en
- <filename>/etc/ttys</filename>, cree la entrada
- correspondiente en <filename>/etc/ppp/ppp.conf</filename>.
- Esto co-existirá pacíficamente con las
- definiciaones que se hayan hecho, de acuerdo a lo mostrado
- en la parte de arriba.</para>
-
- <programlisting>pap:
- enable pap
- set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
- enable proxy</programlisting>
-
- <para>Cada usuario que ingrese al sistema utilizando este
- metodo, deberá de contar con su clave de usuario,
- así como su contraseña, en el archivo
- <filename>/etc/ppp/ppp.secret</filename>, o bien agrege
- la siguiente opción, para efecto de que se pueda realizar
- la autentificación por medio de PAP, directamente
- del fichero <filename>/etc/password</filename>.</para>
-
- <programlisting>enable passwdauth</programlisting>
-
- <para>Si desea asignar una dirección IP fija a
- algunos usuarios, puede especificar el número como
- un tercer argumento en el fichero
- <filename>/etc/ppp/ppp.secrets</filename>. Vea el archivo
- <filename>/usr/share/examples/ppp/ppp.secret.sample</filename>
- para obtener ejemplos más detallados de esto.</para>
- </sect5>
-
- <sect5>
- <title>Extensiones de MS</title>
- <indexterm><primary>DNS</primary></indexterm>
- <indexterm><primary>NetBIOS</primary></indexterm>
- <indexterm><primary>PPP</primary><secondary>Extensiones Microsoft</secondary></indexterm>
- <para>Es posible configurar PPP, para efecto de que
- brinde a DNS y a NetBIOS, direcciones de servidores
- de nombres de forma automática.</para>
-
- <para>Para efecto de habilitar estas extensiones con PPP
- versión 1.x, las siguientes líneas
- deberán añadirse a la sección relevante
- de <filename>/etc/ppp/ppp.conf</filename>.</para>
-
- <programlisting>enable msext
-set ns 203.14.100.1 203.14.100.2
-set nbns 203.14.100.5</programlisting>
-
- <para>Y para versiones de PPP 2 y posteriores:</para>
-
- <programlisting>accept dns
-set dns 203.14.100.1 203.14.100.2
-set nbns 203.14.100.5</programlisting>
-
- <para>Esto le indicará a los clientes, las direcciones
- del servidor primario y secundario y el servidor-host para
- NetBIOS.</para>
-
- <para>Si la línea <literal>set dns</literal>, es omitida
- en versiones 2 y posteriores, PPP utilizará los valores
- que encuentre en <filename>/etc/resolv.conf</filename>.</para>
- </sect5>
- </sect4>
-
- <sect4 xml:id="userppp-PAPnCHAP">
- <title>Autentificación por medio de PAP y CHAP</title>
- <indexterm><primary>PAP</primary></indexterm>
- <indexterm><primary>CHAP</primary></indexterm>
- <para>Algunos proveedores de internet tienen su sistema
- configurado para que cada usuario al conecatrse sean
- autentificados por medio de PAP o CHAP. Si este es el caso,
- al momento de realizar la conexion, no aparecerá
- un <prompt>login:</prompt>, sino que comenzará a
- comunicarse PPP inmediatamente.</para>
-
- <para>El metodo PAP es menos seguro que CHAP, pero la seguridad
- normalmente no se toma mucho en cuenta en este tipo de
- conexiones, en funcion de que al enviarse la información
- de contraseña en texto plano, por medio de una
- línea serial, no deja mucho espacio para que los
- crackers <quote>husmeen</quote>.</para>
-
- <para>Haciendo referencia a lo que vimos de
- <link linkend="userppp-staticIP">PPP y Direcciones de IP
- Fijas</link> o bien <link linkend="userppp-dynamicIP">PPP y Direcciones
- de IP Dinámicas</link>, habría que aplicar los
- siguientes cambios:</para>
-
- <programlisting>7 set login
-&hellip;
-12 set authname <replaceable>MiNombreDeUsuario</replaceable>
-13 set authkey <replaceable>MiContraseña</replaceable></programlisting>
-
- <variablelist>
- <varlistentry>
- <term>Línea 7:</term>
-
- <listitem>
- <para>Su PSI normalmente requerirá que usted ingrese
- al sistema, cuando se utiliza PAP o CHAP. Por esta
- razón debemos deshabilitar la línea que
- corresponde a <quote>set login</quote>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 12:</term>
-
- <listitem>
- <para>Esta línea especifíca a PAP/CHAP su nombre
- de usuario. Usted deberá cambiar el valor a quedar el
- nombre correcto en el campo;
- <replaceable>MiNombreDeUsuario</replaceable>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Línea 13:</term>
- <listitem>
- <indexterm><primary>MiContraseña</primary></indexterm>
-
- <para>Esta línea especifíca su contraseña
- de PAP/CHAP. Es necesario que usted cambie el valor a quedar
- el dato correcto, en el campo;
- <replaceable>MiContraseña</replaceable>. Quizás
- sea recomendable que añada una línea a quedar:</para>
-
- <programlisting>15 accept PAP</programlisting>
-
- <para>o</para>
-
- <programlisting>15 accept CHAP</programlisting>
-
- <para>la intención de esto es para hacerlo obvio,
- aunque en realidad PAP y CHAP son aceptadas por
- omisión.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect4>
-
- <sect4>
- <title>Cambiando la configuración de <command>ppp</command>
- sobre la marcha (al vuelo)</title>
-
- <para>Es posible hablar con el programa <command>ppp</command>
- mientras se esta ejecutando en segundo plano, pero sólo
- si se ha habilitado un puerto de diagnóstico. Para
- hacer esto, añada lo siguiente a su
- configuración:</para>
-
- <programlisting>set server /var/run/ppp-tun<replaceable>%d</replaceable> DiagnosticPassword 0177</programlisting>
-
- <para>Esto le indicará a PPP que preste
- atención al socket del dominio-Unix, solicitando a
- los usuarios su contraseña, antes de permitir el acceso.
- La variable <literal>%d</literal> deberá ser reemplazada
- por el numero de dispositivo <filename>tun</filename> que
- este utilizando (ej. <filename>tun0</filename>).</para>
-
- <para>Una vez que se a configurado el socket, se puede utilizar
- &man.pppctl.8; en scripts que deseen manipular el programa.
- </para>
- </sect4>
- </sect3>
-
- <sect3 xml:id="userppp-final">
- <title>Configuración Final del Sistema</title>
- <indexterm><primary>PPP</primary><secondary>configuración</secondary></indexterm>
-
- <para>Ahora usted cuenta con un <command>ppp</command> configurado,
- pero es necesario hacer algunas cosas, antes de que este disponible
- para trabajar. Todas ellas giran entorno a la edición del
- fichero <filename>/etc/rc.conf</filename>.</para>
-
- <para>En primer lugar es importante que se asegure que ha asignado
- un nombre a su maquina. Esto se hace asignandolo en la línea
- de <literal>hostname=</literal>, por ejemplo:</para>
-
- <programlisting>hostname="foo.ejemplo.com"</programlisting>
-
- <para>Si su Proveedor de Servicios de Internet (PSI), le ha
- provisto de una dirección fija y un nombre de host, es
- recomendable que utilice este como su
- <literal>hostname</literal>.</para>
-
- <para>Localice la línea que se refiera a sus dispositivos
- de red, la cual es <literal>network_interfaces</literal>.
- Si desea configurar su sistema para marcar a su PSI a petición,
- asegurese de que el dispositivo <filename>tun0</filename> este
- en la lista, de otra forma eliminelo.</para>
-
- <programlisting>network_interfaces="lo0 tun0" ifconfig_tun0=</programlisting>
-
- <note>
- <para>La variable <literal>ifconfig_tun0</literal> debe permanecer
- en blanco (vacia), y deberá crearse un fichero llamado
- <filename>/etc/start_if.tun0</filename> que contenga la siguiente
- línea:</para>
-
- <programlisting>ppp -auto MiSistema</programlisting>
-
- <para>Este script se ejecuta cuando se esta configurando la red,
- inicializando el demonio de ppp de modo automático. Si
- usted cuenta con una LAN (red de área local), de la cual
- esta maquina sea la pasarela (gateway), es tambien recomendable
- que utilice la opción <option>-alias</option>. Referirse
- a la página de ayuda (man) para mayores detalles.</para>
- </note>
-
- <para>Especifique el programa router a <literal>NO</literal>, con
- la siguiente línea en su fichero
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>router_enable="NO"</programlisting>
-
- <indexterm>
- <primary><application>routed</application></primary>
- </indexterm>
- <para>Es importante que el demonio <command>routed</command>
- no se inicialice por default, en virtud de que
- <command>routed</command> tiende a eliminar las variables
- creadas por <command>ppp</command>.</para>
-
- <para>Probablemente valga la pena asegurarse de que la
- línea <literal>sendmail_flags</literal>, no incluya
- la opción <option>-q</option>, ya que de ser así
- <command>sendmail</command> intentará localizar los
- parámetros de la red de vex en cuando, ocasionando que realice
- llamados al exterior. Puede intentar esto:</para>
-
- <programlisting>sendmail_flags="-bd"</programlisting>
-
- <indexterm>
- <primary><application>sendmail</application></primary>
- </indexterm>
- <para>La parte negativa de esta conifguración es que tiene
- que forzar a <command>sendmail</command> a re-examinar los llamados
- del servidor de correo, cada vez que <command>ppp</command> realiza
- una conexión, con el siguiente comando:</para>
-
- <screen>&prompt.root; <userinput>/usr/sbin/sendmail -q</userinput></screen>
-
- <para>Puede utilizar el comando <command>!bg</command> en el fichero
- <filename>ppp.linkup</filename> para hacer esto de manera
- automática:</para>
-
- <programlisting>1 provider:
-2 delete ALL
-3 add 0 0 HISADDR
-4 !bg sendmail -bd -q30m</programlisting>
-
- <indexterm><primary>SMTP</primary></indexterm>
- <para>Si usted no desea hacer esto, es posible establecer un
- <quote>dfilter</quote> (filtro), para bloquear el tráfico al
- servidor de salida de correo (SMTP). Favor de referirse a los archivos
- de ejemplos para mayor detalle al respecto.</para>
-
- <para>Ahora lo único que queda pendiente de hacerse es
- reiniciar el equipo. Una vez reiniciado el equipo, puede teclear:</para>
-
- <screen>&prompt.root; <userinput>ppp</userinput></screen>
-
- <para>y posteriormente <command>dial proveedor</command> para iniciar
- la sesión, o bien si desea que <command>ppp</command> inicie la
- sesión automáticamente, cuando haya una petición de salida
- (y no haya creado el fichero <filename>start_if.tun0</filename>), puede
- teclear:</para>
-
- <screen>&prompt.root; <userinput>ppp -auto proveedor</userinput></screen>
- </sect3>
-
- <sect3>
- <title>Summario</title>
-
- <para>A manera de recapitulación, podemos decir que para
- configurar ppp por primera ocasión, debemos:</para>
-
- <para>Por parte del Cliente:</para>
-
- <procedure>
- <step>
- <para>Asegurese de que existe el dispositivo <filename>tun</filename>
- dentro de su kernel.</para>
- </step>
-
- <step>
- <para>Asegurses de que el dispositivo
- <filename>tunX</filename>, se encuentra
- disponible, bajo el directorio <filename>/dev</filename>.</para>
- </step>
-
- <step>
- <para>Cree una entrada en su fichero
- <filename>/etc/ppp/ppp.conf</filename>. Con el fichero de ejemplo
- <filename>pmdemand</filename> debe ser suficiente para la mayoria de
- proveedores.</para>
- </step>
-
- <step>
- <para>Si cuenta con una dirección de IP dinámica, cree
- una entrada en el fichero <filename>/etc/ppp/ppp.linkup</filename>
- .</para>
- </step>
-
- <step>
- <para>Actualice su fichero <filename>/etc/rc.conf</filename>.</para>
- </step>
-
- <step>
- <para>Cree un archivo script llamado <filename>start_if.tun0</filename>
- si requiere servicio de conexión a solicitud.</para>
- </step>
- </procedure>
-
- <para>Por parte del Servidor:</para>
-
- <procedure>
- <step>
- <para>Asegurese de que dentro de su kernel exista el dispositivo
- <filename>tun</filename>.</para>
- </step>
-
- <step>
- <para>Asegurses de que el dispositivo
- <filename>tunX</filename>, se encuentra
- disponible, bajo el directorio <filename>/dev</filename>.</para>
- </step>
-
- <step>
- <para>Cree una entrada en el fichero <filename>/etc/passwd</filename>
- (usando el programa &man.vipw.8;).</para>
- </step>
-
- <step>
- <para>Cree un perfil en el directorio home de este usuario, que ejecute
- <command>ppp -direct direct-server</command> o algo
- similar.</para>
- </step>
-
- <step>
- <para>Cree una entrada en el fichero
- <filename>/etc/ppp/ppp.conf</filename>. El fichero de ejemplo
- <filename>direct-server</filename> debe ser suficiente para
- darse una idea.</para>
- </step>
-
- <step>
- <para>Cree una entrada en el fichero
- <filename>/etc/ppp/ppp.linkup</filename>.</para>
- </step>
-
- <step>
- <para>Actualice su fichero <filename>/etc/rc.conf</filename>.</para>
- </step>
- </procedure>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="ppp">
- <info><title>Uso de Kernel PPP</title>
- <authorgroup>
- <author><personname><firstname>Gennady B.</firstname><surname>Sorokopud</surname></personname><contrib>Partes originalmente desarrolladas por </contrib></author>
- <author><personname><firstname>Robert</firstname><surname>Huff</surname></personname></author>
- </authorgroup>
- </info>
-
-
-
- <sect2>
- <title>Configurando Kernel PPP</title>
- <indexterm><primary>PPP</primary><secondary>kernel PPP</secondary></indexterm>
-
- <para>Antes de comenzar a configurar PPP en su maquina,
- asegurese de <command>pppd</command> se localiza en
- <filename>/usr/sbin</filename> y de que existe el directorio
- <filename>/etc/ppp</filename>.</para>
-
- <para><command>pppd</command> puede trabajar de dos maneras</para>
-
- <orderedlist>
- <listitem>
- <para>Como un <quote>cliente</quote> &mdash; cuando desea conectar
- su maquina al mundo exterior utilizando PPP, por medio de una
- conexión serial o bien una línea de modem.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>PPP</primary><secondary>servidor</secondary></indexterm>
-
- <para>como un <quote>servidor</quote> &mdash; cuando su maquina esta
- conectada a una red y es utilizada para que otras maquinas se
- conecten utilizando ppp.</para>
- </listitem>
- </orderedlist>
-
- <para>En ambos casos, será necesario configurar un
- fichero de opciones (<filename>/etc/ppp/options</filename> o bien
- <filename>~/.ppprc</filename> si se cuenta con más de un
- usuario que utilizará ppp en la misma maquina.</para>
-
- <para>También deberá de contar con un software para
- hacer la conexión por medio de módem (de
- preferencia kermit), de manera que pueda hacer la conexión
- con un host remoto.</para>
- </sect2>
-
- <sect2>
- <info><title>Uso de <command>pppd</command> como Cliente</title>
- <authorgroup>
- <author><personname><firstname>Trev</firstname><surname>Roydhouse</surname></personname><contrib>Basedo en información provista por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>PPP</primary><secondary>cliente</secondary></indexterm>
- <indexterm><primary>Cisco</primary></indexterm>
- <para>El siguiente archivo de configuración
- <filename>/etc/ppp/options</filename> puede utilizarse para
- realizar la conexión a una terminal CISCO, por medio
- de PPP.</para>
-
- <programlisting>crtscts # habilita el flujo de controls de hardware
-modem # línea de control del modem
-noipdefault # el servidor PPP remoto asignará la dirección IP
- # si el servidor no envia una dirección IP durante IPCP
- # remueva esta opción.
-passive # espere por los paquetes LCP
-domain ppp.foo.com # escriba su nombre de dominio aqui
-
-:&lt;remote_ip&gt; # escriba la IP del host remoto aqui
- # este será utilizado para el ruteo de paquetes por medio
- # de PPP, si no especifica esta opción, cambie la
- # línea a quedar &lt;local_ip&gt;:&lt;remote_ip&gt;
-
-defaultroute # establezca esta opción si el servidor su ruteador
- # por default</programlisting>
-
- <para>Para conectarse:</para>
-
- <indexterm><primary>kermit</primary></indexterm>
- <indexterm><primary>modem</primary></indexterm>
- <procedure>
- <step>
- <para>Realice el llamado al host remoto, utilizando kermit
- (o cualquier otra aplicación de este tipo), ingrese su
- nombre de usuario y contraseña (o cualquier info que
- sea necesaria para habilitar PPP en el host remoto).</para>
- </step>
-
- <step>
- <para>Salga de kermit (sin colgar la línea).</para>
- </step>
-
- <step>
- <para>Ingrese lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>/usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200</userinput></screen>
-
- <para>Asegurese de utilizar el dispositivo y la velocidad adecuados.</para>
- </step>
- </procedure>
-
- <para>Ahora su computadora esta conectada por medio de PPP. Si la
- conexión falla, puede añadir la opción
- <option>debug</option> en el fichero <filename>/etc/ppp/options</filename>
- de tal forma que pueda verificar la que esta ocurriendo y pueda
- resolver el problema.</para>
-
- <para>El siguiente script; <filename>/etc/ppp/pppup</filename>
- realizará los 3 pasos de forma automática:</para>
-
- <programlisting>#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-kermit -y /etc/ppp/kermit.dial
-pppd /dev/tty01 19200</programlisting>
-
- <indexterm><primary>kermit</primary></indexterm>
- <para>El fichero <filename>/etc/ppp/kermit.dial</filename> es un
- script de kermit, uqe realiza el marcado y negocia la
- autorización necesaria con el host remoto (un ejemplo de
- este script se encuentra al final de este documento).</para>
-
- <para>Utilice el siguiente script, llamado
- <filename>/etc/ppp/pppdown</filename> para desconectar la
- línea PPP:</para>
-
- <programlisting>#!/bin/sh
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ X${pid} != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill -TERM ${pid}
-fi
-
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-/sbin/ifconfig ppp0 down
-/sbin/ifconfig ppp0 delete
-kermit -y /etc/ppp/kermit.hup
-/etc/ppp/ppptest</programlisting>
-
- <para>Verifique que su PPP aun se esta ejecutando, por medio de
- <filename>/usr/etc/ppp/ppptest</filename>, que deberá verse
- algo similar a esto:</para>
-
- <programlisting>#!/bin/sh
-pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
-if [ X${pid} != "X" ] ; then
- echo 'pppd running: PID=' ${pid-NONE}
-else
- echo 'No pppd running.'
-fi
-set -x
-netstat -n -I ppp0
-ifconfig ppp0</programlisting>
-
- <para>Para colgar el módem, ejecute
- <filename>/etc/ppp/kermit.hup</filename>, que deberá
- contener:</para>
-
- <programlisting>set line /dev/tty01 ; aqui va el dispositivo del modem
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-echo \13
-exit</programlisting>
-
- <para>He aqui un metodo alterno, donde se utiliza <command>chat</command>
- en lugar de utilizar <command>kermit</command>.</para>
-
- <para>Los siguientes dos ficheros deben ser suficiente, para realizar
- una conexión por medio de <command>pppd</command>.</para>
-
- <programlisting>/dev/cuaa1 115200
-
-crtscts # habilita el control de flujo por medio de hardware
-modem # línea de control del módem
-connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
-noipdefault # el servidor remoto debe asignar la dirección IP.
- # si el servidor no asigna una IP durante la negociación
- # IPCP , remueva esta línea y espere por los
-passive # paquetes LCP
-domain &lt;your.domain&gt; # aqui va su dominio
-
-: # escriba la IP del host remoto aqui
- # si no ha especificado la opción noipdefault
- # cambie esta línea a quedar &lt;local_ip&gt;:&lt;remote_ip&gt;
-
-defaultroute # escriba esto, si desea que el servidor PPP sea su
- # router por default</programlisting>
-
- <para><filename>/etc/ppp/login.chat.script</filename>:</para>
-
- <note>
- <para>Lo siguiente debe ir en una sola línea.</para>
- </note>
-
- <programlisting>ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT&lt;numero.de.telefono&gt;
- CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: &lt;nombre.usuario&gt;
- TIMEOUT 5 sword: &lt;contraseña&gt;</programlisting>
-
- <para>Una vez que estos ficheros han sido modificados correctamente e
- instalados, todo lo que necesita es ejecutar el comando
- <command>pppd</command>, algo como:</para>
-
- <screen>&prompt.root; <userinput>pppd</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Uso de <command>pppd</command> como Servidor</title>
-
- <para>El fichero <filename>/etc/ppp/options</filename> debe
- contener algo similar a lo siguiente:</para>
-
- <programlisting>crtscts # control de flujo por Hardware
-netmask 255.255.255.0 # mascara de red (no es requisito)
-192.114.208.20:192.114.208.165 # direcciones ip del host local y remoto
- # la dirección ip local debe ser
- # diferente a la que le haya asignado a su
- # dispositivo de red ethernet (u otro)
- # la dirección ip remota que será
- # asignada a la maquina remota
-domain ppp.foo.com # su dominio
-passive # espera por LCP
-modem # línea de modem</programlisting>
-
- <para>El siguiengte script, llamado <filename>/etc/ppp/pppserv</filename>
- habilitará <application>pppd</application>, para que actue como
- servidor:</para>
-
- <programlisting>#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-# reset ppp interface
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-# enable autoanswer mode
-kermit -y /etc/ppp/kermit.ans
-
-# run ppp
-pppd /dev/tty01 19200</programlisting>
-
- <para>Utilice el script <filename>/etc/ppp/pppservdown</filename>
- para detener el servidor:</para>
-
- <programlisting>#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-kermit -y /etc/ppp/kermit.noans</programlisting>
-
- <para>El siguiente script de kermit
- (<filename>/etc/ppp/kermit.ans</filename>) habilita/deshabilita
- el modo de autorespuesta en su módem. Y debe verse algo similar
- a lo siguiente:</para>
-
- <programlisting>set line /dev/tty01
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-inp 5 OK
-echo \13
-out ATS0=1\13 ; cambiar esto a quedar out ATS0=0\13 si desea deshabilitar el modo
- ; de autorespuesta
-inp 5 OK
-echo \13
-exit</programlisting>
-
- <para>Un script llamado <filename>/etc/ppp/kermit.dial</filename> es
- utilizado para llamar y autentificarse en un host remoto. Es
- necesario que edite este fichero, de acuerdo a sus necesidades.
- Escriba su nombre de usuario (login) y contraseña (password)
- en este fichero, también será necesario cambiar su
- metodo de conexión, de acuerdo a lo que se ajuste a sus
- necesidades.</para>
-
- <programlisting>;
-; ingrese el dispositivo que esta apuntando a su módem:
-;
-set line /dev/tty01
-;
-; escriba la velocidad del módem:
-;
-set speed 19200
-set file type binary ; full 8 bit file xfer
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-set modem hayes
-set dial hangup off
-set carrier auto ; Posteriormente SET CARRIER si es necesario
-set dial display on ; despues SET DIAL si es necesario
-set input echo on
-set input timeout proceed
-set input case ignore
-def \%x 0
-goto slhup
-
-:slcmd ; cambio a modo de comando
-echo Put the modem in command mode.
-clear ; Limpieza del buffer de entrada
-pause 1
-output +++
-input 1 OK\13\10 ; esperar para OK
-if success goto slhup
-output \13
-pause 1
-output at\13
-input 1 OK\13\10
-if fail goto slcmd ; si el modem no responde Ok, intentar de nuevo
-
-:slhup ; colgar el teléfono
-clear ; Limpieza del buffer de entrada
-pause 1
-echo Hanging up the phone.
-output ath0\13
-input 2 OK\13\10
-if fail goto slcmd ; si no hay un OK como respuesta, poner el modem en modo de comando
-
-:sldial ; marcar el numero telefonico
-pause 1
-echo Dialing.
-output atdt9,550311\13\10 ; escriba el numero de telefono
-assign \%x 0 ; asignar cero al contador
-
-:look
-clear ; Limpieza del buffer de entrada
-increment \%x ; Conteo de segundos
-input 1 {CONNECT }
-if success goto sllogin
-reinput 1 {NO CARRIER\13\10}
-if success goto sldial
-reinput 1 {NO DIALTONE\13\10}
-if success goto slnodial
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if &lt; \%x 60 goto look
-else goto slhup
-
-:sllogin ; login
-assign \%x 0 ; asignar cero al contador
-pause 1
-echo Looking for login prompt.
-
-:slloop
-increment \%x ; Conteo de segundos
-clear ; Limpieza del buffer de entrada
-output \13
-;
-; escriba su login prompt aqui:
-;
-input 1 {Username: }
-if success goto sluid
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if &lt; \%x 10 goto slloop ; intentar 10 veces para obtener un login
-else goto slhup ; colgar y empezar de nuevo si a la decima falla
-
-:sluid
-;
-; escriba su nombre de usuario:
-;
-output ppp-login\13
-input 1 {Password: }
-;
-; escriba su contraseña:
-;
-output ppp-password\13
-input 1 {Entering SLIP mode.}
-echo
-quit
-
-:slnodial
-echo \7No dialtone. Check the telephone line!\7
-exit 1
-
-; local variables:
-; mode: csh
-; comment-start: "; "
-; comment-start-skip: "; "
-; end:</programlisting>
- </sect2>
- </sect1>
-
- <sect1 xml:id="pppoe">
- <info><title>Uso de <application>PPP</application> sobre Ethernet (PPPoE)</title>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Contribuido (tomado de http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html) por </contrib></author>
- </authorgroup>
-
- </info>
-
-
- <indexterm><primary>PPP</primary><secondary>sobre Ethernet</secondary></indexterm>
- <indexterm>
- <primary>PPPoE</primary>
- <see>PPP, sobre Ethernet</see>
- </indexterm>
-
- <para>En esta sección veremos como configurar PPP
- sobre una red Ethernet (<acronym>PPPoE</acronym>).</para>
-
- <sect2>
- <title>Configurando el kernel</title>
-
- <para>Ya no es necesario realizar una configuración especial
- para que nuestro kernel cuente con soporte para PPPoE. Siempre y
- cuando el soporte de redes necesario se encuentre en él,
- <application>ppp</application> se encargará de cargarlo
- de una manera dinámica.</para>
- </sect2>
-
- <sect2>
- <title>Editando el fichero <filename>ppp.conf</filename></title>
-
- <para>He aqui un ejemplo de un fichero de configuración
- <filename>ppp.conf</filename> completamente funcional:</para>
-
- <programlisting>default:
- set log Phase tun command # puede añadir más dispositivos si lo desea
- set ifaddr 10.0.0.1/0 10.0.0.2/0
-
-nombre_del_proveedor_del_servicio_de_internet:
- set device PPPoE:<replaceable>xl1</replaceable> # sustituya xl1 con su dispositivo ethernet
- set authname SuNombreDeUsuario
- set authkey SuContraseña
- set dial
- set login
- add default HISADDR</programlisting>
-
- </sect2>
-
- <sect2>
- <title>Ejecutando <application>PPP</application></title>
-
- <para>Estando en modo <systemitem class="username">superusuario</systemitem> (root)
- puede ejecutar:</para>
-
- <screen>&prompt.root; <userinput>ppp -ddial nombre_del_proveedor_de_inet</userinput></screen>
-
- </sect2>
-
- <sect2>
- <title>Ejecutando <application>PPP</application> al inicio de sesión</title>
-
- <para>Añada las siguientes líneas a su archivo
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>ppp_enable="YES"
-ppp_mode="ddial"
-ppp_nat="YES" # siempre y cuando desee habilitar nat para su red local
-ppp_profile="nombre_del_proveedor_de_inet"</programlisting>
- </sect2>
-
- <sect2>
- <title>Diferenciando el uso del Servicio de PPPoE</title>
-
- <para>En ocasiones es necesario utilizar una pequeña marca para
- diferenciar el servicio que vamos a utilizar para establecer la
- conexión. Las marcas (<quote>tags</quote>)de servicio son
- utilizadas para distinguir entre diferentes servidores de una red,
- a los que nos podemos conectar utilizando PPPoE.</para>
-
- <para>Su proveedor de internet debe haberle provisto de la
- información necesaria para crear esta marca. Si esto
- no fué así, puede solicitar a su proveedor que
- le brinde esta información.</para>
-
- <para>Como último recurso, puede intentar el método
- sugerido por el programa
- <link xlink:href="http://www.roaringpenguin.com/pppoe/">Roarging Penguin
- PPPoE</link>, que puede encontrarse en la
- <link linkend="ports"> colección de ports</link>. Al
- utilizar este programa debe tener en mente, que este puede
- desconfigurar su módem por completo, por esta razón
- piense biena antes de utilizarlo. Simplemente instale el programa
- controlador del módem, provisto por su porveedor.
- Posteriormente, debe acceder al menú de <literal>Sistema</literal>
- del programa. El nombre de su perfil debe aparecer listado. Que
- normalmente es <emphasis>ISP</emphasis>.</para>
-
- <para>El nombre del perfil (marca del servicio) será utilizada por
- la configuración de PPPoE en el fichero de configuración
- <filename>ppp.conf</filename> como el proveedor para la opción
- del comando <command>set device</command> (puede ver la página de
- ayuda &man.ppp.8; para más detalles). Esto debe verse algo
- similar a lo siguiente:</para>
-
- <programlisting>set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>ISP</replaceable></programlisting>
-
- <para>No olvide cambiar <replaceable>x11</replaceable> por el
- dispositivo Ethernet que este utilizando.</para>
- <para>No olvide cambiar <replaceable>ISP</replaceable> por el nombre
- del perfil que le fué descrito anteriormente (por lo general
- el nombre de su Proveedor de Servicio de Internet).</para>
-
- <para>Para información adicional consulte:</para>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="http://renaud.waldura.com/doc/freebsd/pppoe/">Cheaper
- Broadband with FreeBSD on DSL</link> por Renauld Waldura.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2 xml:id="ppp-3com">
-
- <title>Uso de PPPoE en Casa con un Modem Dual ADSL 3Com</title>
-
- <para>Este módem no sigue el estandar establecido en el <link xlink:href="http://www.faqs.org/rfcs/rfc2516.html">RFC 2516</link>
- (<emphasis>Un metodo que describe el uso de PPP por medio de un
- dispositivo Ethernet (PPoE)</emphasis>, escrito por L. Mamakos, K. Lidl,
- J. Evarts, D. Carrel, D. Simone y R. Wheeler). En su lugar, el
- código de diferentes tipos de paquetes ha sido utilizado
- para el manejo del entorno Ethernet. Si cree que esto es incorrecto
- y que se debiera ajustar a las especificaciones de PPPoE, por favor
- comentelo en <link xlink:href="http://www.3com.com/">3Com</link>.</para>
-
- <para>Para poder hacer que FreeBSD sea capaz de comunicarse con
- este dispositivo, se debe establecer un control de sistema (sysctl).
- Esto puede hacerse de forma automática al momento del
- arranque, editando el fichero <filename>/etc/sysctl.conf</filename>:
- </para>
-
- <programlisting>net.graph.nonstandard_pppoe=1</programlisting>
-
- <para>o bien pude hacerse desde la línea de comandos, para un
- efecto inmediato, por medio del comando
- <command>sysctl -w net.graph.nonstandard_pppoe=1</command>.</para>
-
- <para>Desafortunadamente y dado que esto implica una
- configuración general del sistema, por lo que no es
- posible comunicarnos con un dispositivo cliente &mdash; servidor
- que utilice PPPoE y con un módem casero 3Com
- ADSL, al mismo tiempo.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="pppoa">
- <title>Uso de <application>PPP</application> sobre ATM (PPPoA)</title>
- <indexterm><primary>PPP</primary><secondary>sobre ATM</secondary></indexterm>
- <indexterm>
- <primary>PPPoA</primary>
- <see>PPP, sobre ATM</see>
- </indexterm>
-
- <para>Lo siguiente describe como configurar PPP utilizando ATM, alias
- PPPoA. PPPoA es una alternativa muy común entre proveedores de
- DSL en Europa.</para>
-
- <sect2>
- <title>Uso de PPPoA con un Alcatel Speedtouch USB</title>
-
- <para>El soporte bajo FreeBSD para este dispositivo se puede encontrar
- como un port, por que el firmware es distribuido bajo <link xlink:href="http://www.alcatel.com/consumer/dsl/disclaimer_lx.htm">
- la licencia de Alcatel</link>.</para>
-
- <para>Para instalar este software, simplemente utilice la
- <link linkend="ports">colección de ports</link>. Instale el
- port <package>net/pppoa</package> y siga las
- instrucciones provistas por el port.</para>
- </sect2>
-
- <sect2>
- <title>Uso de mpd</title>
-
- <para>Puede usar <application>mpd</application> para conectarse a una gran
- variedad de servicios, en particular servicios pptp. Puede encontrar
- <application>mpd</application> en la colección de ports, bajo
- <package>net/mpd</package>.</para>
-
- <para>Primero debe instalar el port, y posteriormente configurar
- <application>mpd</application> para que se ajuste a sus necesidades y
- a la configuración del proveedor. El port instala un conjunto
- de ficheros de configuración de ejemplo, que estan bien
- documentados en
- <filename>PREFIX/etc/mpd/</filename>. Note
- que <emphasis>PREFIX</emphasis> se refiere al directorio donde sus
- ports son instalados, que normalmente es en
- <filename>/usr/local</filename>. Una guía completa en formato
- HTML, esta disponible una vez que se ha instalado el port. Esta se
- localiza en
- <filename>PREFIX/share/mpd/</filename>.
- Aqui tenemos un ejemplo simple de configuración para conectarse
- a un servicio ADSL con <application>mpd</application>. La
- configuración se divide en dos ficheros, primero tenemos el
- fichero <filename>mpd.conf</filename>.</para>
-
- <programlisting>default:
- load adsl
-
- adsl:
- new -i ng0 adsl adsl
- set bundle authname <replaceable>usuario</replaceable> <co xml:id="co-mpd-ex-user"/>
- set bundle password <replaceable>contraseña</replaceable> <co xml:id="co-mpd-ex-pass"/>
- set bundle disable multilink
-
- set link no pap actcomp protocomp
- set link disable chap
- set link accept chap
- set link keep-alive 30 10
-
- set ipcp no vjcomp
- set ipcp ranges 0.0.0.0/0 0.0.0.0/0
-
- set iface route default
- set iface disable on-demand
- set iface enable proxy-arp
- set iface idle 0
-
- open</programlisting>
-
- <calloutlist>
- <callout arearefs="co-mpd-ex-user">
- <para>El nombre de usuario para autentificar con su proveedor.</para>
- </callout>
- <callout arearefs="co-mpd-ex-pass">
- <para>La contraseña para autentificar con su proveedor.</para>
- </callout>
- </calloutlist>
-
- <para>El fichero <filename>mpd.links</filename> contiene información
- a cerca de la, o las conecciones, que desee establecer. Un ejemplo de
- <filename>mpd.links</filename> y que sea acompañante del ejemplo
- anterior, se muestra a continuación.</para>
-
- <programlisting>adsl:
- set link type pptp
- set pptp mode active
- set pptp enable originate incoming outcall
- set pptp self 10.0.0.140
- set pptp peer 10.0.0.138</programlisting>
-
- <para>La conexión es fácil de inicializarla, al ingresar los
- siguientes comandos como <systemitem class="username">root</systemitem>.</para>
-
- <screen>&prompt.root; <userinput>mpd -b</userinput> <replaceable>adsl</replaceable></screen>
-
- <para>El estatus de la conexión la puede ver con el comando.</para>
-
- <screen>&prompt.user; <userinput>ifconfig ng0</userinput>
- : flags=88d1&lt;UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST&gt; mtu 1500
- inet 216.136.204.117 --&gt; 204.152.186.171 netmask 0xffffffff</screen>
-
- <para>Usar <application>mpd</application> es la forma recomendada para
- conectarse con servicios ADSL con &os;.</para>
- </sect2>
-
- <sect2>
- <title>Uso de pptpclient</title>
-
- <para>También es posible usar FreeBSD para conectarse a otros
- servicios PPPoA por medio de <package>net/pptpclient</package>.</para>
-
- <para>Para conectarse por medio de <package>net/pptpclient</package> a un servicio DSL, instale el
- port o paquete y edite el fichero
- <filename>/etc/ppp/ppp.conf</filename>. Debe ser
- <systemitem class="username">root</systemitem> para hacer estas operaciones. Un ejemplo de
- la sección de <filename>ppp.conf</filename>, se muestra a
- continuación. Para mayor información sobre las
- opciones de <filename>ppp.conf</filename>, consulte la página de
- ayuda de <application>ppp</application>; &man.ppp.8;.</para>
-
- <programlisting>adsl:
- set log phase chat lcp ipcp ccp tun command
- set timeout 0
- enable dns
- set authname <replaceable>usuario</replaceable> <co xml:id="co-pptp-ex-user"/>
- set authkey <replaceable>contraseña</replaceable> <co xml:id="co-pptp-ex-pass"/>
- set ifaddr 0 0
- add default HISADDR</programlisting>
-
- <calloutlist>
- <callout arearefs="co-pptp-ex-user">
- <para>Nombre de usuario de la cuenta DSL.</para>
- </callout>
- <callout arearefs="co-pptp-ex-pass">
- <para>La contraseña de su cuenta.</para>
- </callout>
- </calloutlist>
-
- <warning>
- <para>Debido a que debe poner su contraseña en el fichero
- <filename>ppp.conf</filename> en texto plano, debe asegurarse que nadie
- tenga acceso de lectura a este fichero. Los siguientes comandos se
- aseguran de que el fichero solo pueda se leido por
- <systemitem class="username">root</systemitem>. Ve las páginas de ayuda &man.chmod.1;
- y &man.chown.8; para mayor información.</para>
-
- <screen>&prompt.root; <userinput>chown root:wheel /etc/ppp/ppp.conf</userinput>
- &prompt.root; <userinput>chmod 600 /etc/ppp/ppp.conf</userinput></screen>
- </warning>
-
- <para>Esto abrirá una sesion por medio de PPP con su ruteador DSL.
- Los módems Ethernet DSL cuentan con una dirección IP de
- LAN preconfigurada a la cual se puede conectar. En el caso del Alcatel
- Speedtouch, esta dirección es <systemitem class="ipaddress">10.0.0.138</systemitem>. La documentación de su equipo
- debe indicarle que dirección utiliza. Para abrir el
- <quote>tunel</quote> e iniciar la sesión
- <application>ppp</application>, ejecute el siguiente comando.</para>
-
- <screen>&prompt.root; <userinput>pptp dirección proveedor</userinput></screen>
-
- <tip>
- <para>Puede añadir un símbolo de ampersand
- (<quote>&amp;</quote>) al final de este comando, ya que
- <application>pptp</application> no retorna al shell por default.</para>
- </tip>
-
- <para>Un dispositivo virtual <filename>tun</filename> será
- creado, para interactuar con los procesos de
- <application>pptp</application> y <application>ppp</application>.
- Una vez que regrese al shell puede examinar la conexión por
- medio del siguiente comando.</para>
-
- <screen>&prompt.user; <userinput>ifconfig tun0</userinput>
- tun0: flags=8051&lt;UP,POINTOPOINT,RUNNING,MULTICAST&gt; mtu 1500
- inet 216.136.204.21 --&gt; 204.152.186.171 netmask 0xffffff00
- Opened by PID 918</screen>
-
- <para>Si no le es posible conectarse, verifique la configuración de
- su ruteador, que normalmente es accesible por medio de
- <application>telnet</application> o de su navegador web. Si aun no puede
- conectarse examine la salida que da el comando
- <application>pptp</application> y el contenido del fichero de registro
- (log) de <application>ppp</application>;
- <filename>/var/log/ppp.log</filename>.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="slip">
- <info><title>Uso de SLIP</title>
- <authorgroup>
- <author><personname><firstname>Satoshi</firstname><surname>Asami</surname></personname><contrib>Contribución Original por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Guy</firstname><surname>Helmer</surname></personname><contrib>Con comentarios por </contrib></author>
- <author><personname><firstname>Piero</firstname><surname>Serini</surname></personname></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>SLIP</primary></indexterm>
-
- <sect2 xml:id="slipc">
- <title>Configurando un cliente SLIP</title>
- <indexterm><primary>SLIP</primary><secondary>cliente</secondary></indexterm>
- <para>Lo siguiente es una forma de configurar FreeBSD para que utilice
- SLIP, en un red con dirección estática. Para
- direcciones dinámicas (esto es, donde su dirección
- cambia cada vez que se conecta), probablemente sea necesario
- realizar algunos ajustes que complican la configuración.</para>
-
- <para>En primer término, es necesario determinar a que puerto
- serial esta conectado nuestro módem. Mucha gente opta por}
- contar con un enláce simbólico, tal como
- <filename>/dev//modem</filename>, que apunta al nombre
- real del dispositivo,
- <filename>/dev/cuaaN</filename>. Esto permite abstenerse de
- usar el nombre real del dispositivo, en caso de que sea necesario
- cambiar de puerto nuestro módem. Lo cual puede ser de mucha
- ayuda, ya que puede ser un fastidio tener que editar un monton de
- ficheros en <filename>/etc</filename> y ficheros de tipo
- <filename>.kermrc</filename> en todo el sistema!.</para>
-
- <note>
- <para><filename>/dev/cuaa0</filename> es
- <filename>COM1</filename>, <filename>cuaa1</filename> es
- <filename>COM2</filename>, etc.</para>
- </note>
-
- <para>Asegurese de contar con la siguiente opción en la
- configuración de su kernel:</para>
-
- <programlisting>pseudo-device sl 1</programlisting>
-
- <para>Esta opción esta incluida en el archivo del kernel
- <filename>GENERIC</filename>, así que no debe haber
- problema, claro esta, a menos que lo haya borrado
- intencionalmente.</para>
-
- <sect3>
- <title>Cosas Que Tiene Que Hacer Solo Una Vez</title>
-
- <procedure>
- <step>
- <para>Añada el nombre de su maquina, gateway, servidores
- de nombre a su fichero <filename>/etc/hosts</filename>. Este es
- un ejemplo de mi fichero:</para>
-
- <programlisting>127.0.0.1 localhost loghost
-136.152.64.181 water.CS.Example.EDU water.CS water
-136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
-128.32.136.9 ns1.Example.EDU ns1
-128.32.136.12 ns2.Example.EDU ns2</programlisting>
- </step>
-
- <step>
- <para>Asegurese de que cuenta con la opción <option>hosts</option>
- antes de la opción <option>bind</option>, en su fichero
- <filename>/etc/host.conf</filename>. De lo contrario pueden ocurrir
- cosas graciosas en su sistema.</para>
- </step>
-
- <step>
- <para>Edite el fichero <filename>/etc/rc.conf</filename>.</para>
-
- <orderedlist>
- <listitem>
- <para>Especifique su nombre host al editar la línea que dice:
- </para>
-
- <programlisting>hostname=<quote>minombre.mi.dominio</quote></programlisting>
-
- <para>El nombre completo de su sistema para internet, debe ser
- escrito en este punto.</para>
- </listitem>
-
- <listitem>
- <para>Añada el dispositivo <filename>sl0</filename> a la
- lista de dispositivos de red, al cambiar la línea que dice:</para>
-
- <programlisting>network_interfaces="lo0"</programlisting>
-
- <para>a quedar:</para>
-
- <programlisting>network_interfaces=<quote>lo0 sl0</quote></programlisting>
- </listitem>
-
- <listitem>
- <para>Añada los parámetros de inicialización
- del dispositivo sl0, al añadir la línea:</para>
-
- <programlisting>ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"</programlisting>
- </listitem>
-
- <listitem>
- <indexterm><primary>default route</primary></indexterm>
-
- <para>Especificque cual será su ruteador por omisión
- al editar la línea:</para>
-
- <programlisting>defaultrouter=<quote>NO</quote></programlisting>
-
- <para>a quedar:</para>
-
- <programlisting>defaultrouter=<quote>slip-gateway</quote></programlisting>
- </listitem>
- </orderedlist>
- </step>
-
- <step>
- <para>Edite su fichero <filename>/etc/resolv.conf</filename> (si no existe
- debe crearlo), a que contenga lo siguiente:</para>
-
- <programlisting>domain CS.Ejemplo.EDU
-nameserver 128.32.136.9
-nameserver 128.32.136.12</programlisting>
-
- <indexterm><primary>nameserver</primary></indexterm>
- <indexterm><primary>domain (nombre de dominio)</primary></indexterm>
- <para>Como puede ver, lo anterior define el nombre de host, de su
- servidor de nombres. Claro esta, el nombre de dominio y las
- direcciones IP, dependen de su sistema específico.</para>
- </step>
-
- <step>
- <para>Establezca la contraseña del superusuario
- <systemitem class="username">root</systemitem> y de su símil
- <systemitem class="username">toor</systemitem> (y de cualquier otro usuario
- que aun no cuente con la misma).</para>
- </step>
-
- <step>
- <para>Reinicie su sistema y asegurese que cuenta con el
- nombre de host (hostname) correcto.</para>
- </step>
- </procedure>
- </sect3>
-
- <sect3>
- <title>Haciendo una Conexión con SLIP</title>
- <indexterm><primary>SLIP</primary><secondary>conectando con</secondary></indexterm>
- <procedure>
- <step>
- <para>Marque el número, teclee en el signo de comando
- <command>slip</command>, ingrese el nombre y la contraseña.
- Lo que se requiere ingresar, depende de su sistema. Si utiliza
- <application>kermit</application>, puede utilizar un script similar
- al siguiente:</para>
-
- <programlisting># kermit setup
-set modem hayes
-set line /dev/modem
-set speed 115200
-set parity none
-set flow rts/cts
-set terminal bytesize 8
-set file type binary
-# El siguiente macro se encarga de llamar e ingresar al sistema
-define slip dial 643-9600, input 10 =&gt;, if failure stop, -
-output slip\x0d, input 10 Username:, if failure stop, -
-output silvia\x0d, input 10 Password:, if failure stop, -
-output ***\x0d, echo \x0aCONNECTED\x0a</programlisting>
-
- <para>Claro esta, que debe cambiar el nombre y contraseñ
- a quedar de acuerdo a sus necesidades. Después de hacer
- esto, puede simplemente teclear <command>slip</command> en el
- símbolo de sistema (prompt) de kermit, para realizar
- la conexión.</para>
-
- <note>
- <para>El dejar su contraseña en texto plano, en
- cualquier parte del sistema, generalmente es una
- <emphasis>mala</emphasis> idea. Hágalo bajo su
- propio riesgo.</para>
- </note>
- </step>
-
- <step>
- <para>Dejé a kermit en ese punto trabajando (puede
- suspenderlo tecleando
- <keycombo>
- <keycap>Ctrl</keycap>
- <keycap>z</keycap>
- </keycombo>) y como <systemitem class="username">root</systemitem>, teclee:</para>
-
- <screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen>
-
- <para>Si puede hacer <command>ping</command> a cualquier host
- que se encuentre del otro lado del ruteador, usted esta
- conectado!. Si esto no funciona, puede intentar como
- argumento del comando <command>slattach</command>, la
- opción <option>-a</option> en lugar de utilizar la
- optción <option>-c</option>.</para>
- </step>
- </procedure>
- </sect3>
-
- <sect3>
- <title>Como Terminar la Conexión</title>
-
- <para>Para terminar la conexión haga lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>kill -INT `cat /var/run/slattach.modem.pid`</userinput></screen>
-
- <para>esto terminaraá <command>slattach</command>. Recuerde que
- para hacer esto, usted debe estar firmado como superusuario (root).
- Posteriormente dirijase a kermit (puede hacer esto con
- <command>fg</command> si lo envio a segundo plano) y salga (tecleando
- <command>q</command>).</para>
-
- <para>La página de ayuda de <command>slattach</command> indica que
- debe utilizar el comando <command>ifconfig sl0 down</command>, para
- marcar como terminado el uso del dispositivo, pero tal parece que
- esto no hace una gran diferencia para mi.
- (<command>ifconfig sl0</command> da el mismo resultado.)</para>
-
- <para>En algunas ocasiones, puede que su módem se niegue a
- cortar la comunicación (el mio lo hace a veces). Si ese es
- el caso, simplemente inicie de nuevo kermit y vuelva a salir.
- Normalmente en el segundo intento hay exito.</para>
- </sect3>
-
- <sect3>
- <title>Problemas Comunes</title>
-
- <para>Si esto no funciona, sientase libre de preguntarme. Lo siguiente es
- una recapitulación de los problemas que más comunmente
- se presentan:</para>
-
- <itemizedlist>
- <listitem>
- <para>El no utilizar la opción <option>-c</option> o
- <option>-a</option> con el comando
- <command>slattach</command> (Esto debiera se fatal, pero algunos
- usuarios han reportado que esto ha solucionado sus problemas.</para>
- </listitem>
-
- <listitem>
- <para>Usar la opción <option>s10</option> en vez de usar la
- opción <option>sl0</option> (puede ser difícil ver la
- diferencia con algunos tipos de letras).</para>
- </listitem>
-
- <listitem>
- <para>Intente <command>ifconfig sl0</command> para visualizar
- el estatus de sus dispositivos de red. Por ejemplo, puede ser que
- obtenga algo similiar a lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>ifconfig sl0</userinput>
-sl0: flags=10&lt;POINTOPOINT&gt;
- inet 136.152.64.181 --&gt; 136.152.64.1 netmask ffffff00</screen>
- </listitem>
-
- <listitem>
- <para>También el comando <command>netstat -r</command> le
- mostrará la tabla de ruteo, en caso de que obtenga el
- mensaje <quote>no route to te host</quote>, al hacer
- <command>ping</command>. Un ejemplo de esto se muestra
- a continuación:</para>
-
- <screen>&prompt.root; <userinput>netstat -r</userinput>
-Routing tables
-Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
-
-(root node)
-(root node)
-
-Route Tree for Protocol Family inet:
-(root node) =&gt;
-default inr-3.Example.EDU UG 8 224515 sl0 - -
-localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
-inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
-water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
-(root node)</screen>
-
- <para>Esto es después de que el sistema ha estado conectado
- por un tiempo. Los numeros pueden variar en su sistema.</para>
- </listitem>
- </itemizedlist>
- </sect3>
- </sect2>
-
- <sect2 xml:id="slips">
- <title>Estableciendo un Servidor SLIP</title>
- <indexterm><primary>SLIP</primary><secondary>servidor</secondary></indexterm>
-
- <para>Este documento provee sugerencias, para establecer un servidor
- de SLIP, bajo FreeBSD, lo que generalmente significa configurar su
- sistema, para que de manera automática inicie los servicios, al
- firmarse usuarios&mdash;clientes remotos en su sistema.</para>
-
- <!--
- <note>El siguiente es un comentario de renuncia de responsabilidades, y
- debido a su importancia, se mantiene el texto original.</note>
- -->
-
- <!--Inicio de la traduccion
- Renuncia de responsabilidades, sin que necesariamente sea relevante
- <para> El autor ha escrito este documento, basado en sus experiencias,
- de cualquier forma, puediendo ser que las necesiadades de su sistema
- sean diferentes, puede ser que este documento no responda a todas
- sus preguntas, y el autor no es responsable si usted daña su
- sistema o bien, pierde información, al intentar lo descrito
- en este documento.</para>
- -->
-
- <!-- Inicia el documento original-->
-
- <!-- Disclaimer is not necessarily relevant
- <para> The author has written this document based
- on his experience; however, as your system and needs may be
- different, this document may not answer all of your questions, and
- the author cannot be responsible if you damage your system or lose
- data due to attempting to follow the suggestions here.</para>
- -->
-
- <sect3 xml:id="slips-prereqs">
- <title>Prerequisitos</title>
- <indexterm><primary>redes TCP/IP</primary></indexterm>
-
- <para>Esta sección es de naturaleza muy técnica, así
- que contar con antecedentes sobre esto es requerido. Este documento
- supone que usted cuenta con conocimientos sobre el protocolo de
- redes TCP/IP, y particularmente, redes y direcciones de nodos, mascaras
- de red, subneteo, ruteo y protocolos de ruteo, tal como RIP. El
- configurar servicios SLIP, en un servidor, requiere un conocimiento de
- estos conceptos, y si usted no esta familiarizado con estos, puede
- leer una copia, ya sea del libro de Craig Hunt; <emphasis>TCP/IP
- Networking Administration</emphasis>, publicado por O'Reilly &amp;
- Associates, Inc. (Numero ISBN 0-937175-82-X), o alguno de los libros
- de Douglas Comer, sobre protocolos TCP/IP.</para>
-
- <indexterm><primary>módem</primary></indexterm>
-
- <para>Se da por un hecho, que usted ha instalado y configurado
- correctamente su(s) módem(s), así como la
- configuración de su sistema, para efecto de utilizar el
- mismo para realizar la conexión. Si usted no lo ha hecho,
- por favor lea el tutorial sobre configuración de estos
- servicios; si cuenta con un navegador para la World-Wide Web,
- puede ver los tutoriales disponibles en <link xlink:href="../../../../index.html">http://www.FreeBSD.org/</link>.</para>
-
- <para>Puede ser que también desee revisar las páginas de
- ayuda (<emphasis>man</emphasis>), &man.sio.4; para información
- referente a los controladores de dispositivos de puertos en serie, y
- &man.ttys.5;, &man.gettytab.5;, &man.getty.8;, &amp; &man.init.8;, para
- ver información relevante, sobre la configuración de su
- sistema, para efecto de que acepte accesos (logins) por medio de un
- módem, y quizás &man.stty.1; para información
- sobre los parámetros de configuración de puertos en
- serie (tal como <literal>clocal</literal>, que se utiliza para
- la conexión directa por medio de puertos seriales).</para>
- </sect3>
-
- <sect3>
- <title>Echemos un Vistazo</title>
-
- <para>En su configuración típica, el desarrollo de
- FreeBSD como un servidor SLIP, funciona de la siguiente manera:
- un Usuario SLIP, se conecta del Servidor SLIP FreeBSD e ingresa al
- sistema con una identificación especial, que utiliza
- <command>/usr/sbin/sliplogin</command> como shell del usuario. El
- programa <command>sliplogin</command> busca en el fichero
- <filename>/etc/sliphome/slip.hosts</filename> la línea que
- haya sido creada especialmente para el usuario, conecta la
- línea serial a una interfaz SLIP disponible y posteriormente
- ejecuta el script <filename>/etc/sliphome/slip.login</filename>, para
- configurar la interfaz SLIP.</para>
-
- <sect4>
- <title>Un Ejemplo de Acceso al Servidor SLIP</title>
-
- <para>Por ejemplo si la clave de acceso de un usuario SLIP
- fuese <systemitem class="username">Shelmerg</systemitem>, la entrada del usuario
- <systemitem class="username">Shelmerg</systemitem>, en el fichero
- <filename>/etc/master.passwd</filename> se vera algo similar
- a lo siguiente:</para>
-
- <programlisting>Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting>
-
- <para>Cuando <systemitem class="username">Shelmerg</systemitem> accese al sistema, el
- comando <command>sliplogin</command>, buscará en el
- fichero <filename>/etc/sliphome/slip.hosts</filename>, una
- línea, en la cual el ID (identificación) del
- usuario coincida, por ejemplo, puede ser que en el fichero
- <filename>/etc/sliphome/slip.hosts</filename> exista una
- línea simliar a la siguiente:</para>
-
- <programlisting>Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>
-
- <para>El comando <command>sliplogin</command> encontrará
- la línea que coincida, enganchará la línea
- serial a cualquier interfaz SLIP disponible y posteriormente
- ejecutará <filename>/etc/sliphome/slip.login</filename>
- de manera similar a:</para>
-
- <programlisting>/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>
-
- <para>Si todo marcha bien, <filename>/etc/sliphome/slip.login</filename>
- creará una configuración, por medio de
- <command>ifconfig</command>, para la interfaz SLIP, a la cual
- <command>sliplogin</command> se ha adjuntado (la interfaz slip 0,
- que era el primer parámetro dado en la lista de
- <filename>slip.login</filename>), para establecer la
- dirección local IP (<systemitem>dc-slip</systemitem>), la
- interfaz de la direción IP Remota (<systemitem>sl-helmer</systemitem>),
- la submascara de red para la interfaz SLIP (<systemitem class="netmask">0xfffffc00</systemitem>) y cualquier otra opción
- adicional (<literal>autocomp</literal>). Si algo no va del todo
- bien, normalmente <command>sliplogin</command> guarda bastante
- información para depurar, por medio del
- <literal>demonio</literal> (<literal>daemon</literal>) syslog, que
- usualmente guarda dicha infomración en
- <filename>/var/log/messages</filename> (vea la página de
- ayuda &man.syslogd.8; así como &man.syslog.conf.5; y quizas
- el fichero <filename>/etc/syslog.conf</filename>, para ver que
- es lo que <command>syslogd</command> esta almacenando y donde es
- que lo almacena.</para>
-
- <para>OK, basta de ejemplos &mdash; entremos de lleno en la
- configuración del sistema.</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Configuración del Kernel</title>
- <indexterm><primary>kernel</primary><secondary>configuración</secondary></indexterm>
- <para>El kernel de FreeBSD, por omisión, cuenta con 2
- dispositivos SLIP definidos (<filename>sl0</filename> y
- <filename>sl1</filename>); usted puede utilizar
- <command>netstat -i</command>, para verificar si estos
- dispositivos se encuentran en el kernel de su sistema.</para>
-
- <para>Un ejemplo del resultado de <command>netstat -i</command>:</para>
-
- <screen>Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
-ed0 1500 &lt;Link&gt;0.0.c0.2c.5f.4a 291311 0 174209 0 133
-ed0 1500 138.247.224 ivory 291311 0 174209 0 133
-lo0 65535 &lt;Link&gt; 79 0 79 0 0
-lo0 65535 loop localhost 79 0 79 0 0
-sl0* 296 &lt;Link&gt; 0 0 0 0 0
-sl1* 296 &lt;Link&gt; 0 0 0 0 0</screen>
-
- <para>En este ejemplo vemos que existen dos
- dispositivos SLIP en el kernel, que son;
- <filename>sl0</filename> y
- <filename>sl1</filename> (el asterisco que aparece después
- de <literal>sl0</literal> y <literal>sl1</literal> indica
- que los dispositivos no estan <quote>trabajando</quote>.)</para>
-
- <para>Aun cuando el kernel cuente con los dispositivos, por
- omisión el kernel de FreeBSD, no viene configurado para
- enviar paquetes (de hecho su sistema FreeBSD no trabajara como
- ruteador, por default) esto en base a los requerimientos para
- Internet, establecidos por los RFCs ( vea 1009 [Requerimentos para
- Pasarelas (Gateway) en Internet], 1122 [Requerimientos para hosts
- de Internet &mdash; Capas de comunicación] y quizás
- 1127 [RFC sobre Una Perspectiva de los Requerimientos de Hosts]).
- Si usted desea que su servidor SLIP sobre FreeBSD, opere como un
- ruteador, será necesario que edite el fichero
- <filename>/etc/rc.conf</filename> y cambie la opción
- <literal>gateway_enable</literal>, a quedar <option>YES</option>,
- esto habilitará esta función.</para>
-
- <para>Será necesario que reinicie su sistema, para efecto de que
- estos cambios surtan efecto.</para>
-
- <para>Al verificar su fichero de configuración del kernel
- (<filename>/sys/i386/conf/GENERIC</filename>), podrá
- notar que cerca del final, hay una línea como la siguiente:</para>
-
- <programlisting>pseudo-device sl 2</programlisting>
-
- <indexterm><primary>SLIP</primary></indexterm>
- <para>Esta línea es la que define el numero de
- dispositivos SLIP disponibles en el kernel; el numero al final
- de la línea es el numero máximo de conecciones SLIP
- que puede manejar el servidor simultaneamente.</para>
-
- <para>Para ayuda con relación a la configuración y
- compilación del kernel en su sistema FreeBSD, por favor
- refierase <xref linkend="kernelconfig"/> al apartado
- correspondiente.</para>
- </sect3>
-
- <sect3>
- <title>Configuración de Sliplogin</title>
-
- <para>Como se menciono anteriormente, existen tres ficheros en el
- directorio <filename>/etc/sliphome</filename>, que son parte de
- la configuración de <filename>/usr/sbin/sliplogin</filename>
- (vea la pagina de ayuda &man.sliplogin.8; de para ver la ayuda
- del comando <command>sliplogin</command>):
- <filename>slip.hosts</filename>, que es el fichero que define a
- los usuarios SLIP, así como sus direcciones IP
- correspondientes; <filename>slip.login</filename>, que
- normalmente es utilizado para configurar la interfaz de SLIP; y
- (opcionalmente) <filename>slip.logout</filename>, que hace lo opuesto a
- <filename>slip.login</filename>, cuando la conexión serial
- ha terminado.</para>
-
- <sect4>
- <title>Configuració de <filename>slip.hosts</filename></title>
-
- <para>El fichero <filename>/etc/sliphome/slip.hosts</filename>
- contiene líneas, que al menos cuentan con cuatro partes,
- separadas por espacios en blanco:</para>
-
- <itemizedlist>
- <listitem>
- <para>Identificador (nombre) del usuario SLIP</para>
- </listitem>
-
- <listitem>
- <para>Dirección Local (local para el servidor SLIP) de la
- liga a SLIP</para>
- </listitem>
-
- <listitem>
- <para>Dirección Remota de la liga a SLIP</para>
- </listitem>
-
- <listitem>
- <para>Mascara de red</para>
- </listitem>
- </itemizedlist>
-
- <para>Las direcciones local y remota, pueden ser nombres del host
- (la resolución de los mismos, es llevada a cabo, por medio de
- <filename>/etc/hosts</filename> o por el servidor de nombres de
- dominio (DNS), dependiendo de lo que haya especificado en el
- fichero <filename>/etc/host.conf</filename>), y la mascara de red
- puede ser un nombre, que puede ser resuelto revisando
- <filename>/etc/networks</filename>. En un sistema de ejemplo, el
- fichero <filename>/etc/sliphome/slip.hosts</filename>, puede verse
- así:</para>
-
- <programlisting>#
-# login local-addr remote-addr mask opt1 opt2
-# (normal,compress,noicmp)
-#
-Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting>
-
- <para>Al final de la línea puede ver que existen
- una o más opciones.</para>
-
- <itemizedlist>
- <listitem>
- <para><option>normal</option> &mdash; sin compresión
- de los encabezados.</para>
- </listitem>
-
- <listitem>
- <para><option>compress</option> &mdash; compresión de
- los encabezados.</para>
- </listitem>
-
- <listitem>
- <para><option>autocomp</option> &mdash; compresión
- automática, si el host remoto lo permite.</para>
- </listitem>
-
- <listitem>
- <para><option>noicmp</option> &mdash; deshabilitar los
- paquetes ICMP (de tal forma que cualquier paquete enviado
- por <quote>ping</quote> seráa rechazado, en lugar de
- ocupar de su ancho de banda).</para>
- </listitem>
- </itemizedlist>
-
- <indexterm><primary>SLIP</primary></indexterm>
- <indexterm><primary>Redes por TCP/IP</primary></indexterm>
- <para>La elección sobre la dirección local y remota
- depende si usted va a utilizar una conexión TCP/IP dedicada
- o bien si va a utilizar una conexión por medio de
- <quote>proxy ARP</quote> en su servidor SLIP (no es correcto
- <quote>proxy ARP</quote>, pero es la terminología utilizada
- en esta sección para describirlo). Si usted no esta seguro
- que metodo manejar o como asignar la dirección IP, por favor
- refierase a alguno de los libros sobre TCP/IP, que se
- mencionan en los Prerequisitos de SLIP (<xref linkend="slips-prereqs"/>)
- y/o consulte al administrador de IP de su red.</para>
-
- <indexterm>
- <primary><command>gated</command></primary>
- </indexterm>
- <para>Si usted piensa subnetear para los diferentes clientes
- SLIP, será necesario que la dirección de la
- subred (subnet), salga de la dirección IP que tenga
- asignada su red, y el numero de cada cliente, del numero que
- asigne a su subred. Posteriormente puede que sea necesario, o
- bien configurar una ruta estática a la subred SLIP, por
- medio de su servidor SLIP en su ruteador más
- cercano por IP.</para>
-
- <indexterm><primary>Ethernet</primary></indexterm>
- <para>De otra forma, si usted piensa utilizar un metodo
- <quote>proxy ARP</quote>, será necesario que a sus
- clientes SLIP, se les asigne una dirección IP, que se
- encuentre dentro del rango que este utilizando para su
- subred Ethernet, y tambié será necesario que
- haga algunos ajustes en los ficheros script
- <filename>/etc/sliphome/slip.login</filename> y en
- <filename>/etc/sliphome/slip.logout</filename>, para que
- usen &man.arp.8;, para que maneje la tabla ARP del servidor
- SLIP y llamados del proxy-ARP.</para>
- </sect4>
-
- <sect4>
- <title><filename>slip.login</filename> Configuración</title>
-
- <para>El típico fichero <filename>/etc/sliphome/slip.login</filename>
- se ve de la siguiente manera:</para>
-
- <programlisting>#!/bin/sh -
-#
-# @(#)slip.login 5.1 (Berkeley) 7/1/90
-
-#
-# generic login file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 inet $4 $5 netmask $6</programlisting>
-
- <para>This <filename>slip.login</filename> file merely runs
- <command>ifconfig</command> for the appropriate SLIP interface
- with the local and remote addresses and network mask of the
- SLIP interface.</para>
-
- <para>If you have decided to use the <quote>proxy ARP</quote>
- method (instead of using a separate subnet for your SLIP
- clients), your <filename>/etc/sliphome/slip.login</filename>
- file will need to look something like this:</para>
-
- <programlisting>#!/bin/sh -
-#
-# @(#)slip.login 5.1 (Berkeley) 7/1/90
-
-#
-# generic login file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 inet $4 $5 netmask $6
-# Answer ARP requests for the SLIP client with our Ethernet addr
-/usr/sbin/arp -s $5 00:11:22:33:44:55 pub</programlisting>
-
- <para>La línea adicional, <command>arp -s &dollar;5 00:11:22:33:44:55
- pub</command> del script <filename>slip.login</filename>, crea una
- entrada ARP en la tabla del servidor SLIP. Esta entrada le indica al
- servidor SLIP que debe responder con la dirección MAC de su
- dispositivo Ethernet, cuando cualquier otro nodo IP en la red,
- solicite información a la IP del cliente SLIP.</para>
-
- <indexterm><primary>Ethernet</primary><secondary>dirección MAC</secondary></indexterm>
- <para>Al tomar en cuenta el ejemplo anterior, es importante que
- sustituya la dirección Ethernet MAC (<systemitem class="etheraddress">00:11:22:33:44:55</systemitem>), con la dirección
- que corresponde a su tarjeta de red, o definitivamente su
- <quote>proxy ARP</quote> no va a funcionar!. Para efecto de
- conocer cual es la dirección MAC del dispositivo
- Ethernet (tarjeta de red), de su servidor SLIP, puede ejecutar
- el comando <command>netstat -i</command>, el cual tendrá
- como resultado algo similar a lo siguiente:</para>
-
- <screen>ed0 1500 &lt;Link&gt;0.2.c1.28.5f.4a 191923 0 129457 0 116</screen>
-
- <para>Esto indica que la dirección MAC de su
- dispositivo Ethernet, en este sistema es
- <systemitem class="etheraddress">00:02:c1:28:5f:4a</systemitem>
- &mdash; los puntos que aparecen en la salida del comando
- <command>netstat -i</command> deben cambiarse por dos puntos,
- así mismo deberá de anteponerse un cero, a cada
- dígito hexadecimal que aparezca sólo (no en pares),
- de tal forma que convirtamos la dirección en lo que
- &man.arp.8; requiere para trabajar; vea la página de ayuda
- &man.arp.8;, para ver información completa sobre su
- uso.</para>
-
- <note>
- <para>Recuerde que cuando cree los ficheros
- <filename>/etc/sliphome/slip.login</filename> y
- <filename>/etc/sliphome/slip.logout</filename>, deben
- contar con permisos de ejecución
- (<command>chmod 755 /etc/sliphome/slip.login
- /etc/sliphome/slip.logout</command>), de otra forma
- estos scripts no podrán llevar a cabo su función.</para>
- </note>
- </sect4>
-
- <sect4>
- <title>Configuración de <filename>slip.logout</filename></title>
-
- <para>El fichero <filename>/etc/sliphome/slip.logout</filename>
- no es indispensable (a menos que vaya a utilizar
- <quote>proxy ARP</quote>), pero si aun así decide crearlo,
- el siguiente es un ejemplo básico del script
- <filename>slip.logout</filename> :</para>
-
- <programlisting>#!/bin/sh -
-#
-# slip.logout
-
-#
-# logout file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 down</programlisting>
-
- <para>Si usted esta utilizando <quote>proxy ARP</quote>, es
- recomendable que le indique a
- <filename>/etc/sliphome/slip.logout</filename>, que desea
- eliminar la entrada ARP, para el cliente SLIP:</para>
-
- <programlisting>#!/bin/sh -
-#
-# @(#)slip.logout
-
-#
-# logout file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 down
-# Dejar de solicitar respuesta ARP al cliente SLIP
-/usr/sbin/arp -d $5</programlisting>
-
- <para>El comando <command>arp -d &dollar;5</command>, elimina la
- entrada ARP, que <filename>slip.login</filename> de
- <quote>proxy ARP</quote> añadió al cliente SLIP
- al ingresar al sistema.</para>
-
- <para>Para esta más seguros: asegurese de que el fichero
- <filename>/etc/sliphome/slip.logout</filename> cuenta con los
- permisos adecuados para su ejecución, una vez que lo ha
- creado (ej. <command>chmod 755 /etc/sliphome/slip.logout</command>)
- .</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Consideraciones sobre el Enrutamiento</title>
- <indexterm>
- <primary>SLIP</primary>
- <secondary>enrutamiento</secondary>
- </indexterm>
- <para>Si usted no esta utilizando el metodo <quote>proxy ARP</quote>,
- para efecto de rutear los paquetes entre sus clientes SLIP y el
- resto de la red (y quizás Internet), deberá de
- hacer una de las siguientes dos acciones, o bien añadir
- direcciones estáticas, a su(s) ruteador(es) más
- cercanos, para que se reenvien los paquetes de la subred de sus
- clientes SLIP, por medio de su servidor SLIP, o bien tendrá
- que instalar y configurar <command>gated</command> en su servidor
- SLIP (que corre FreeBSD!), de tal forma que le indique a su(s)
- ruteador(es), por medio del protocolo correcto, a cerca de su
- subred SLIP.</para>
-
- <sect4>
- <title>Direcciones de Enrutamiento Estáticas</title>
- <indexterm><primary>direcciones estáticas</primary></indexterm>
- <para>Añadir direcciones estáticas de enrutamiento puede
- ser un problema (o imposible si usted no cuenta con la autoridad
- para hacerlo...). Si usted cuenta con una red de ruteo-múltiple
- en su organización, algunos ruteadores, tales como los
- fabricados por Cisco y Proteon, puede ser que no sea suficiente
- con el hecho de configurar las rutas estáticas de su subred
- SLIP, sino que sea necesario indicar que rutas utilizar para
- informar a cerca de otras rutas, así que algo de experiencia
- así como determinación para la resolución de
- problemas serán necesarias para poner la ruta basada-en-
- ruteo-estático a trabajar.</para>
- </sect4>
-
- <sect4>
- <title>Ejecutando <command>gated</command></title>
- <indexterm>
- <primary><application>gated</application></primary>
- </indexterm>
- <para>Una alternativa para los dolores de cabeza que pueden dar
- las redes con ruteo estático, es intalar
- <command>gated</command> en su servidor SLIP bajo FreeBSD
- y configurarlo, para que utilice los protocolos de ruteo apropiados
- (RIP/OSPF/BGP/EGP) para informar a otros ruteadores, a cerca de su
- subred SLIP. Una vez que lo ha compilado e instalado, deberá
- crear el fichero <filename>/etc/gated.conf</filename>, que
- configurará a <command>gated</command>; aqui hay un ejemplo,
- similar al que el autor utilizó en un servidor SLIP FreeBSD:
- </para>
-
- <note>
- <para><command>gated</command> es un software propietario y su
- código fuente no estará disponible al público
- más (más información en el sitio <link xlink:href="http://www.gated.org/">gated</link>). Esta sección
- solo existe para asegurarse de la compatibilidad con aquellos que
- usan la versió antigua.</para>
- </note>
-
-
- <programlisting>#
-# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
-# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
-#
-#
-# tracing options
-#
-traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
-
-rip yes {
- interface sl noripout noripin ;
- interface ed ripin ripout version 1 ;
- traceoptions route ;
-} ;
-
-#
-# Turn on a bunch of tracing info for the interface to the kernel:
-kernel {
- traceoptions remnants request routes info interface ;
-} ;
-
-#
-# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
-#
-
-export proto rip interface ed {
- proto direct {
- <replaceable>xxx.xxx.yy</replaceable> mask 255.255.252.0 metric 1; # SLIP connections
- } ;
-} ;
-
-#
-# Accept routes from RIP via ed Ethernet interfaces
-
-import proto rip interface ed {
- all ;
-} ;</programlisting>
-
- <indexterm><primary>RIP</primary></indexterm>
- <para>En el ejemplo anterior, el fichero de configuración
- <filename>gated.conf</filename> transmite información sobre
- la subred SLIP <replaceable>xxx.xxx.yy</replaceable>, por medio
- de RIP al dispositivo Ethernet; si usted esta utilizando un
- dispositivo de red, diferente de <filename>ed</filename>, será
- necesario que modifique el parámetro <filename>ed</filename>
- por el correspondiente. En este ejemplo, el fichero también
- realiza una busqueda por el fichero
- <filename>/var/tmp/gated.output</filename>, que es un fichero que nos
- sirve para depurar cualquier error que se presente en
- la actividad de <command>gated</command>; usted puede desactivar la
- opción de depuración (debug), si es que
- <command>gated</command> esta funcionando correctamente. Será
- necesario que modifique <replaceable>xxx.xxx.yy.</replaceable>, a quedar
- con la dirección correcta de su subred SLIP (asegurese de
- modificar también la máscara de red, en la cláusula
- <literal>proto direct</literal> también).</para>
-
- <para>Una vez que ha instalado y configurado <command>gated</command> en
- su sistema, necesitará indicarle a FreeBSD que al iniciar el
- sistema, ejecute el script para <command>gated</command>, en lugar de
- ejecutar <command>routed</command>. La forma más fácil de
- hacer esto, es editar las variables de <varname>route</varname> y
- <varname>router_flags</varname>, en el fichero
- <filename>/etc/rc.conf</filename>. Por favor vea la página de
- ayuda de <command>gated</command>, para ver información sobre
- los parámetros de la línea&mdash;de&mdash;comandos.</para>
- </sect4>
- </sect3>
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/preface/preface.xml b/es_ES.ISO8859-1/books/handbook/preface/preface.xml
deleted file mode 100644
index 55f453c03a..0000000000
--- a/es_ES.ISO8859-1/books/handbook/preface/preface.xml
+++ /dev/null
@@ -1,735 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- $FreeBSD$
-
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/preface/chapter.xml
- %SRCID% 1.39
-
--->
-<preface xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="book-preface">
- <title>Prefacio</title>
-
- <bridgehead xml:id="preface-audience" renderas="sect1">A quién va
- dirigido este texto</bridgehead>
-
- <para>La primera sección de este libro está pensada
- para guiar a los recién llegados a &os; durante el proceso
- de instalación y presentarles los conceptos y convenciones
- que dan entidad a &unix;. Para sacar provecho de esta sección
- lo único que el lector necesitará son ganas de
- explorar y habilidad para ir interiorizando nuevos conceptos a
- medida que le van planteando.</para>
-
- <para>La siguiente sección, la segunda, mucho más
- extensa, es una referencia completa de todo tipo de temas de
- interés para administradores de sistemas &os;. Es posible
- que alguno de esos capítulos requiera que previamente
- lea otros textos; si es el caso esto se anuncia en la sinopsis
- situada al principio de cada capítulo.</para>
-
- <para>Hay una lista de fuentes de información adicionales en el <xref linkend="bibliography"/>.</para>
-
- <bridgehead xml:id="preface-changes-from2" renderas="sect1">Cambios desde la
- segunda edición</bridgehead>
-
- <para>Esta tercera edición es la culminación de
- más de dos años de trabajo de los miembros
- del FreeBSD Documentation Project. Estos son los cambios
- más importantes que encontrará en esta
- nueva edición:</para>
-
- <itemizedlist>
- <listitem>
- <para><xref linkend="config-tuning"/>, configuración
- y adaptación del sistema, ha sido ampliado con
- nuevos datos sobre el sistema de gestión de
- energía y recursos ACPI, la utilidad del
- sistema <command>cron</command> y más
- opciones de personalización del kernel.</para>
- </listitem>
-
- <listitem>
- <para><xref linkend="security"/>, seguridad, ha sido
- ampliado con información sobre redes privadas
- virtuales (VPN), listas de control de accesos al
- sistema de ficheros (más conocidas por ACL) e
- información sobre avisos de seguridad.</para>
- </listitem>
-
- <listitem>
- <para><xref linkend="mac"/>, Mandatory Access Control (MAC),
- es un capítulo nuevo. En él se expone
- qué es MAC y de qué forma puede utilizarse
- en FreeBSD como complemento de la seguridad del sistema.</para>
- </listitem>
-
- <listitem>
- <para><xref linkend="disks"/>, almacenamiento, se ha
- ampliado con información sobre dispositivos USB
- de almacenamiento, instantáneas (<quote>snapshots</quote>)
- de sistemas de ficheros, sistemas de ficheros basados
- en ficheros y en red, y particiones de disco
- cifradas.</para>
- </listitem>
-
- <listitem>
- <para><xref linkend="vinum-vinum"/>, Vinum, es un
- capítulo nuevo. Describe el uso de Vinum, un gestor
- de volúmenes lógicos que permite disponer de
- discos lógicos independientes de dispositivo,
- así como de RAID-0, RAID-1 y RAID-5 por
- software.</para>
- </listitem>
-
- <listitem>
- <para>Se ha añadido una sección de
- depuración de problemas al <xref linkend="ppp-and-slip"/>, PPP y SLIP.</para>
- </listitem>
-
- <listitem>
- <para><xref linkend="mail"/>, correo electrónico,
- ha sido ampliado con información sobre el
- uso de MTA alternativos, autentificación
- SMTP, UUCP, <application>fetchmail</application>,
- <application>procmail</application> así como
- otros temas avanzados relacionados con el correo.</para>
- </listitem>
-
- <listitem>
- <para><xref linkend="network-servers"/>, servidores de red,
- es un capítulo nuevo. En él se
- incluye información sobre la configuración
- de <application>Apache HTTP Server</application>,
- <application>ftpd</application> y cómo
- configurar <application>Samba</application> para
- su uso con clientes &microsoft; &windows;. Ciertas
- partes de <xref linkend="advanced-networking"/>, <quote>networking</quote> avanzado,
- se han trasladado a este capítulo para
- dar más solidez al contenido.</para>
- </listitem>
-
- <listitem>
- <para><xref linkend="advanced-networking"/>,
- <quote>networking</quote> avanzado, incluye en
- esta edición nuevos datos sobre el uso de
- dispositivos &bluetooth; en &os;, la configuración
- de redes <quote>wireless</quote> y el <quote>networking</quote>
- ATM (Asynchronous Transfer Mode).</para>
- </listitem>
-
- <listitem>
- <para>Se ha creado un glosario para disponer de una
- ubicación centralizada donde encontrar
- definiciones de términos técnicos que
- se utilizan a lo largo del libro.</para>
- </listitem>
-
- <listitem>
- <para>Las tablas e imágenes que aparecen en
- el libro han experimentado diversas mejoras
- est&acute;ticas.</para>
- </listitem>
- </itemizedlist>
-
- <bridgehead xml:id="preface-changes" renderas="sect1">Cambios desde
- la primera edición</bridgehead>
-
- <para>La segunda edición fue la culminación
- de más de dos años de trabajo de los miembros
- del FreeBSD Documentation Project. Estos son los principales
- cambios que encontrará en esta edición:</para>
-
-<!-- Talk a little about justification and other stylesheet changes? -->
-
- <itemizedlist>
- <listitem>
- <para>Se ha creado un índice completo.</para>
- </listitem>
- <listitem>
- <para>Todos los esquemas ASCII han sido reemplazados
- por diagramas gráficos.</para>
- </listitem>
- <listitem>
- <para>Se ha añadido una sinopsis estándar
- a cada capítulo donde se ofrece un breve sumario
- del contenido del capítulo y qué se
- espera que sepa el lector para poder sacarle
- provecho.</para>
- </listitem>
- <listitem>
- <para>Se ha reorganizado de forma lógica el contenido
- en tres partes: <quote>primeros pasos</quote>,
- <quote>administración del sistema </quote> y
- <quote>apéndices</quote>.</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="install"/>
- (<quote>instalación de &os;</quote>) ha sido
- reescrito completamente e incluye gran cantidad de
- capturas de pantalla para facilitar su comprensión
- a los nuevos usuarios.</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="basics"/>
- (<quote>conceptos básicos de &unix;</quote>)
- se ha ampliado con más información sobre
- procesos, d&aelig;mons y señales.</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="ports"/>
- (<quote>instalación de aplicaciones</quote>)
- incluye información sobre la gestión
- de paquetes binarios.</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="x11"/>, (<quote>El sistema X Window</quote>)
- ha sido reescrito totalmente, con especial énfasis
- en el uso de modernas tecnologías de escritorio
- como <application>KDE</application> y <application>GNOME</application>
- en &xfree86; 4.X.</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="boot"/> (<quote>El proceso de arranque de &os;</quote>)
- ha sido ampliado.</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="disks"/> (<quote>Almacenamiento</quote>)
- ha sido el fruto de refundir el contenido de lo eran
- dos capítulos sobre <quote>discos</quote> y
- <quote>copias de seguridad</quote>. Pensamos que
- estos temas eran más fáciles de entender
- si se trataban en un mismo capítulo. Se ha
- añadido también una sección
- sobre RAID (tanto hardware como software).</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="serialcomms"/> (<quote>communicaciones serie</quote>)
- ha sido reorganizado y actualizado completamente
- con información sobre &os; 4.X y 5.X.</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="ppp-and-slip"/> (<quote>PPP y SLIP</quote>)
- ha sido actualizado en gran parte.</para>
- </listitem>
- <listitem>
- <para>Se han añadido muchas secciones nuevas al <xref linkend="advanced-networking"/>
- (<quote>Networking avanzado</quote>).</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="mail"/> (<quote>correo electrónico</quote>
- incluye ahora más información
- sobre la configuración de
- <application>sendmail</application>.</para>
- </listitem>
- <listitem>
- <para>El <xref linkend="linuxemu"/> (<quote>compatibilidad con&linux;</quote>)
- se ha ampliado con información sobre
- la instalación de
- <application>&oracle;</application> y
- <application>&sap.r3;</application>.</para>
- </listitem>
- <listitem>
- <para>En esta segunda edición se incluyen
- también estos nuevos contenidos:</para>
- <itemizedlist>
- <listitem>
- <para>Configuración y adaptación
- del sistema (<xref linkend="config-tuning"/>).</para>
- </listitem>
- <listitem>
- <para>Multimedia (<xref linkend="multimedia"/>)</para>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
-
- <bridgehead xml:id="preface-overview" renderas="sect1">Cómo se
- organiza este libro</bridgehead>
-
- <para>Este libro se divide en cinco secciones lógicamente
- distintas. La primera, <emphasis>primeros pasos</emphasis>,
- trata sobre la instalación y el uso más
- básico de &os;. Está pensada para que el
- lector los recorra en secuencialmente, aunque puede
- saltarse algunos si tratan sobre temas que le resulten
- familiares. La segunda sección,
- <emphasis>Tareas comunes</emphasis>, está dedicada
- a las características de &os; que suelen utilizarse
- con más frecuencia. Esta sección, así
- como las siguientes, pueden leerse en cualquier orden. Cada
- capítulo comienza con una sinopsis sucinta en
- la que se describe el contenido del capítulo y qué
- es lo que se espera que sepa el lector antes de leerlo. Esto
- se hace para dar ocasión al lector ocasional a que elija
- el capítulo que más pueda interesarle. La
- tercera sección, <emphasis>Administración del
- sistema</emphasis>, trata sobre diversos aspectos de la
- administración del sistema. La cuarta sección,
- <emphasis>Redes y comunicaciones</emphasis>, está
- dedicada al <quote>networking</quote> y temas relacionados
- con los servidores. La quinta sección dispone de
- apéndices con información de referencia.</para>
-
- <variablelist>
-
-<!-- Part I - Introduction -->
-
- <varlistentry>
- <term><emphasis><xref linkend="introduction"/>, Presentación</emphasis></term>
- <listitem>
- <para>Este capítulo, como su nombre indica, presenta
- &os; al usuario. En él se cuenta la historia del
- Proyecto &os;, sus objetivos y su modelo de desarrollo.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="install"/>, Instalación</emphasis></term>
- <listitem>
- <para>Guía al usuario a través de un proceso
- completo de instalación. Se explican también
- algunos aspectos avanzados como la instalación
- a través de una consola serie.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="basics"/>, Conceptos básicos
- de &unix;</emphasis></term>
- <listitem>
- <para>Se explican los comandos más básicos y
- el funcionamiento del sistema operativo &os;. Si ya se
- tiene experiencia con &linux; u otro tipo de &unix;
- posiblemente sea este un capítulo que no deba
- leerse.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="ports"/>, Instalación de
- aplicaciones</emphasis></term>
- <listitem>
- <para>Se explica la instalación de software desarrollado
- por personas ajenas al proyecto, tanto mediante la innovadora
- <quote>Colección de Ports</quote> de &os; como mediante
- paquetes binarios estándar (<quote>packages</quote>).</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="x11"/>, El sistema X Window</emphasis></term>
- <listitem>
- <para>Describe el sistema X Windows en general y su
- uso en &os; en particular. Describe también
- entornos de escritorio de uso común como
- <application>KDE</application> y <application>GNOME</application>.</para>
- </listitem>
- </varlistentry>
-
-<!-- Part II Common Tasks -->
-
- <varlistentry>
- <term><emphasis><xref linkend="desktop"/>, Aplicaciones de escritorio</emphasis></term>
- <listitem>
- <para>Se enumeran algunas aplicaciones de escritorio muy comunes,
- como navegadores web y suites ofimáticas, y cómo
- instalar estas aplicaciones en &os;.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="multimedia"/>, Multimedia</emphasis></term>
- <listitem>
- <para>Trata sobre la configuración la reproducción
- de sonido y vídeo en su sistema. Describe también
- algunas aplicaciones de sonido y vídeo.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="kernelconfig"/>, Configuración
- del kernel de &os;</emphasis></term>
- <listitem>
- <para>Explica bajo qué circunstancias tendrá
- que configurar un nuevo kernel y facilita instrucciones
- detalladas para la configuración, compilación
- e instalación de un kernel personalizado.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="printing"/>, Imprimir</emphasis></term>
- <listitem>
- <para>Describe la gestión de impresoras en &os;,
- abarcando aspectos diversos como las páginas
- <quote>banner</quote>, las cuentas de impresión
- así como la configuración inicial.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="linuxemu"/>, Compatibilidad binaria
- con &linux;</emphasis></term>
- <listitem>
- <para>Describe las características de compatibilidad
- con &linux; de &os;. Incluye también instrucciones
- detalladas de instalación de varias aplicaciones
- &linux; muy populares, como
- <application>&oracle;</application>, <application>&sap.r3;</application>
- y <application>&mathematica;</application>.</para>
- </listitem>
- </varlistentry>
-
-<!-- Part III - System Administration -->
-
- <varlistentry>
- <term><emphasis><xref linkend="config-tuning"/>, Configuración
- y adaptación del sistema</emphasis></term>
- <listitem>
- <para>Describe los parámetros que los administradores
- de sistemas tienen a su alcance para hacer que &os;
- rinda al máximo. Describe también
- los diversos ficheros de configuración que
- se usan en &os; y dónde están.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="boot"/>, El proceso de arranque
- en &os;</emphasis></term>
- <listitem>
- <para>Describe el proceso de arranque de &os; y explica
- cómo controlar este proceso mediante opciones
- de configuración.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="users"/>, Usuarios y administración
- básica de cuentas</emphasis></term>
- <listitem>
- <para>Describe la creación y gestión de
- cuentas de usuario. Trata también sobre la
- limitación de recursos que puede aplicarse
- sobre los mismos, así como otras tareas
- administrativas.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="security"/>, Seguridad</emphasis></term>
- <listitem>
- <para>Describe las abudantes herramientas diferentes que pueden
- ayudar a que su sistema &os; esté y permanezca seguro.
- Entre ellas encontrará a Kerberos, IPsec y OpenSSH.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="jails"/>, Jaulas</emphasis></term>
- <listitem>
- <para>Describe el uso de jaulas en &os; y el avance que este
- <quote>framework</quote> supone respecto al tradicional uso
- de chroot que se hacía en &os;.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="mac"/>, Mandatory Access Control</emphasis></term>
- <listitem>
- <para>Explica qué es Mandatory Access Control (MAC) y
- cómo puede usarse este mecanismo para hacer más
- seguro &os;</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="audit"/>, Auditoría de
- eventos de seguridad</emphasis></term>
- <listitem>
- <para>Describe qué es la auditoría de eventos
- en &os; cómo instalarla y configurarla y cómo
- pueden inspeccionarse y monitorizarse dichas auditorías.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis><xref linkend="disks"/>, Almacenamiento</emphasis></term>
- <listitem>
- <para>Describe cómo gestionar medios de almacenamiento
- y sistemas de ficheros en &os;, tanto discos físicos,
- arreglos RAID, medios ópticos o en cinta, como
- discos en memoria y sistemas de ficheros en red.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="GEOM"/>, GEOM</emphasis></term>
- <listitem>
- <para>Trata sobre el <quote>framework</quote> <quote>GEOM</quote>
- de &os; y cómo configurar con él alguno
- de los diversos niveles de RAID que admite.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="vinum-vinum"/>, Vinum</emphasis></term>
- <listitem>
- <para>Describe cómo usar Vinum, un gestor de
- volúmenes lógicos que permite tanto el
- uso de discos lógicos independientes de dispositivo,
- como RAID-0, RAID-1 y RAID-5 por software.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="virtualization"/>, Virtualización</emphasis></term>
- <listitem>
- <para>Describe los sistemas de virtualización disponibles
- en &os; y cómo utilizarlos.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="l10n"/>, Localización</emphasis></term>
- <listitem>
- <para>Describe el uso en &os; de idiomas distintos del
- inglés. Trata tanto la localización del
- sistema como de las aplicaciones.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="cutting-edge"/>, Lo último de
- lo último</emphasis></term>
- <listitem>
- <para>Explica las diferencias existentes entre FreeBSD-STABLE,
- FreeBSD-CURRENT y las releases de &os;. Describe
- también qué tipos de usuario pueden
- beneficiarse de seguir el desarrollo contínuo
- del sistema en su propia máquina y muestra el
- proceso a seguir.</para>
- </listitem>
- </varlistentry>
-
-<!-- Part IV - Network Communications -->
-
- <varlistentry>
- <term><emphasis><xref linkend="serialcomms"/>, Comunicaciones serie</emphasis></term>
- <listitem>
- <para>Explica cómo conectar terminales serie y
- módems a su sistema &os; tanto para conexiones
- entrantes como salientes.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="ppp-and-slip"/>, PPP y SLIP</emphasis></term>
- <listitem>
- <para>Describe cómo usar en &os; PPP, SLIP o PPP sobre
- Ethernet para conexiones a sistemas remotos.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="mail"/>, Correo electrónico</emphasis></term>
- <listitem>
- <para>Detalla los distintos elementos que componen un servidor
- de correo electrónico y explica diversos aspectos
- sencillos de la configuración del servidor de correo
- más extendido:
- <application>sendmail</application>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="network-servers"/>, Servidores de red</emphasis></term>
- <listitem>
- <para>En este capítulo encontrará instrucciones
- detalladas y ficheros de configuración de ejemplo que
- le permitirán configurar su sistema &os; como servidor
- NFS, servidor de nombres, servidor NIS o de sincronización
- de hora.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="firewalls"/>, Cortafuegos</emphasis></term>
- <listitem>
- <para>Explica la filosofía que sustenta los
- cortafuegos por software y facilita información
- detallada sobre la configuración de los distintos
- cortafuegos disponibles en &os;.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="advanced-networking"/>, <quote>Networking</quote>
- avanzado</emphasis></term>
- <listitem>
- <para>Describe diversos temas relacionados con el
- <quote>networking</quote>, desde compartir la conexión
- a Internet con otras máquinas de su LAN a diversos
- aspectos avanzados del encaminamiento de tráfico,
- pasando por las redes <quote>wireless</quote>,
- &bluetooth;, ATM, IPv6 y mucho más.</para>
- </listitem>
- </varlistentry>
-
-<!-- Part V - Appendices -->
-
- <varlistentry>
- <term><emphasis><xref linkend="mirrors"/>, Cómo conseguir &os;</emphasis></term>
- <listitem>
- <para>Enumera las diferentes fuentes desde la que puede
- conseguirse &os; en CDROM o DVD, así como los
- numerosos sitios de Internet desde los que puede descargar
- e instalar &os;.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="bibliography"/>, Bibliografía </emphasis></term>
- <listitem>
- <para>Este libro toca tantos temas que es muy posible que
- el lector se quede a falta de una explicación
- más detallada. En la bibliografía
- muchos libros estupendos relacionados con el contenido de
- este texto.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="eresources"/>, Recursos en Internet</emphasis></term>
- <listitem>
- <para>Describe los abundantes foros de que disponen los usuarios
- de &os; para enviar preguntas y participar en conversaciones
- técnicas sobre &os;.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis><xref linkend="pgpkeys"/>, PGP Keys</emphasis></term>
- <listitem>
- <para>Lista las claves públicas PGP de varios
- desarrolladores de &os;.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <bridgehead xml:id="preface-conv" renderas="sect1">Convenciones usadas
- en este libro</bridgehead>
-
- <para>Con el ánimo de mantener la consistencia y
- facilitar la lectura del texto se siguen varias convenciones
- a lo largo del libro.</para>
-
- <bridgehead xml:id="preface-conv-typographic" renderas="sect2">Convenciones
- tipográficas</bridgehead>
-
- <variablelist>
- <varlistentry>
- <term><emphasis>Cursiva</emphasis></term>
- <listitem>
- <para>Se usa un tipo de letra<emphasis>cursiva</emphasis>
- cuando se citan nombres de fichero, URL, texto en el que
- se quiere hacer énfasis y cuando un término
- técnico aparece por primera vez en el texto.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>Tipografía de máquina de
- escribir</literal></term>
- <listitem>
- <para>Se usa un tipo de letra <literal>de máquina
- de escribir</literal>
- cuando se muestran mensajes de error, comandos,
- variables de entorno, nombres de <quote>ports</quote>,
- nombres de máquina, nombres de usuario o de
- grupo, nombres de dispositivo, variables y cuando
- Se usa un tipo de letra <literal>monospaced</literal>
- cuando se muestran mensajes de error, comandos,
- variables de entorno, nombres de <quote>ports</quote>,
- nombres de máquina, nombres de usuario o de
- grupo, nombres de dispositivo, variables y cuando
- se muestran fragmentos de código.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><application>Negrita</application></term>
- <listitem>
- <para>Se usa un tipo de letra <application>negrita</application>
- en el nombre de aplicaciones, comandos y cuando se
- muestran claves.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
-<!-- Var list -->
- <bridgehead xml:id="preface-conv-commands" renderas="sect2">Datos que introduce el usuario</bridgehead>
-
- <para>Las claves se muestran en <keycap>negrita</keycap> para
- distinguirlas de cualquier otro texto. Las combinaciones de
- teclas que implican que sean pulsadas simultáneamente
- se muestran con el símbolo `<literal>+</literal>' entre
- una y otra, como en:</para>
-
- <para>
- <keycombo action="simul">
- <keycap>Ctrl</keycap>
- <keycap>Alt</keycap>
- <keycap>Supr</keycap>
- </keycombo>
- </para>
-
- <para>Esto significa que el usuario debe pulsar las teclas
- <keycap>Ctrl</keycap>,
- <keycap>Ctrl</keycap>, <keycap>Alt</keycap> y <keycap>Supr</keycap>
- al mismo tiempo.</para>
-
- <para>Las teclas que deben pulsarse secuencialmente se separan con
- comas, como en este ejemplo:</para>
-
- <para>
- <keycombo action="simul">
- <keycap>Ctrl</keycap>
- <keycap>X</keycap>
- </keycombo>,
- <keycombo action="simul">
- <keycap>Ctrl</keycap>
- <keycap>S</keycap>
- </keycombo>
- </para>
-
- <para>Esto significa que el usuario debe pulsar simultáneamente
- las teclas <keycap>Ctrl</keycap> y <keycap>X</keycap> y después
- pulsar simultáneamente <keycap>Ctrl</keycap> y
- <keycap>S</keycap>.</para>
-
-<!-- How to type in key stokes, etc.. -->
- <bridgehead xml:id="preface-conv-examples" renderas="sect2">Ejemplos</bridgehead>
-
- <para>Un comienzo como <filename>E:\&gt;</filename>
- indica un ejemplo de comando de &ms-dos;. A menos que se
- especifique otra cosa, estos comandos deben ejecutarse en una
- terminal <quote>Command Prompt</quote> de un sistema &microsoft.windows;
- moderno.</para>
-
- <screen><prompt>E:\&gt;</prompt> <userinput>tools\fdimage floppies\kern.flp A:</userinput></screen>
-
- <para>Si hay un &prompt.root; indica que el comando debe ejecutarse
- como superusuario en &os;. Puede acceder al sistema como
- <systemitem class="username">root</systemitem> y ejecutar el comando o bien con su
- usuario habitual y utilizar &man.su.1; para disponer de privilegios
- de superusuario.</para>
-
- <screen>&prompt.root; <userinput>dd if=kern.flp of=/dev/fd0</userinput></screen>
-
- <para>Si el ejemplo comienza con un &prompt.user; indica que
- el comando puede ejecutarse en una cuenta de usuario normal. Salvo
- que se indique otra cosa se usa la sintaxis de C-shell para
- asignar valores a variables de entorno u otros comandos.</para>
-
- <screen>&prompt.user; <userinput>top</userinput></screen>
-
- <bridgehead xml:id="preface-acknowledgements" renderas="sect1">Agradecimientos</bridgehead>
-
- <para>Este libro representa el esfuerzo de muchos cientos de
- personas del mundo entero. Tanto si fue en forma de correción
- de errores de contenido como gramaticales, o bien fue un
- capítulo entero lo que enviaron, toda contribución
- ha sido muy valiosa.</para>
-
- <para>Varias compañías han colaborado en el
- desarrollo de este documento pagando a tiempo completo
- a varios autores, financiando la publicación, etc. En
- especial BSDi (posteriormente adquirida por <link xlink:href="http://www.windriver.com">Wind River Systems</link>)
- pagaron a varios miembros del &os; Documentation Project por
- trabajar en la mejora lo que fue la primera edición
- de este libro, que apareció en marzo de 2000
- (ISBN 1-57176-241-8). Además de esto, Wind River Systems
- aportó el dinero para que otros autores pudieran
- realizar gran cantidad de mejoras en la estructura de creación
- de material listo para impresión y para pudieran
- añadir nuevos capítulos. Este trabajo culminó
- con la publicación de la segunda edición impresa
- en noviembre de 2001 (ISBN 1-57176-303-1). En 2003 y 2004 <link xlink:href="http://www.freebsdmall.com">FreeBSD Mall, Inc</link>,
- pagó a varios autores para que se dedicaran a lo que será
- la tercera edición.</para>
-
-</preface>
diff --git a/es_ES.ISO8859-1/books/handbook/printing/chapter.xml b/es_ES.ISO8859-1/books/handbook/printing/chapter.xml
deleted file mode 100755
index b2517984ee..0000000000
--- a/es_ES.ISO8859-1/books/handbook/printing/chapter.xml
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/printing/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="printing">
- <info><title>Imprimir</title>
- <authorgroup>
- <author><personname><firstname>Sean</firstname><surname>Kelly</surname></personname><contrib>Escrito por </contrib></author>
- <!-- 30 Sept 1995 -->
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Reestructurado y actualizado por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect1>
- <title>Sinopsis</title>
- <indexterm><primary>Sistema de cola LPD</primary></indexterm>
- <indexterm><primary>imprimir</primary></indexterm>
-
- <para>&os; puede utilizarse para imprimir en una gran variedad
- de impresoras, desde las antiguas impresoras de matriciales hasta
- las más modernas impresoras laser y todo lo que existe entre
- unas y otras, con lo que podrá imprimir con una calidad muy
- alta desde cualquier aplicación.</para>
-
- <para>&os; puede usarse también como
- servidor de impresión en red; &os; puede
- recibir peticiones de impresión de una gran cantidad de
- sistemas, bien sean &os;, &windows; y &macos;.
- &os; se encarga de los trabajos se vayan imprimiendo uno tras
- otro y puede mantener estadísticas sobre qué
- usuarios y qué máquinas están imprimiendo
- más, generar páginas de «encabezado»
- para colocarlas antes de cada trabajo y distinguir así
- de quién es la impresión, etc.</para>
-
- <para>Tras leer el presente capítulo sabrá usted:</para>
-
- <itemizedlist>
- <listitem>
- <para>Cómo configurar la cola de impresión en &os;.</para>
- </listitem>
-
- <listitem>
- <para>Cómo instalar filtros de impresión para gestionar
- diversos trabajos especiales como la conversión de documentos
- a formatos aptos para su impresora.</para>
- </listitem>
-
- <listitem>
- <para>Cómo habilitar encabezados en sus impresiones.</para>
- </listitem>
-
- <listitem>
- <para>Cómo imprimir en impresoras conectadas a otras máquinas.</para>
- </listitem>
-
- <listitem>
- <para>Cómo imprimir en impresoras conectadas directamente a la red.</para>
- </listitem>
-
- <listitem>
- <para>Cómo controlar restricciones de impresión,
- como por ejemplo limitaciones del tamaño de trabajos o
- evitar que ciertos usuarios puedan imprimir.</para>
- </listitem>
-
- <listitem>
- <para>Cómo mantener estadísticas de impresión
- y cuentas de usuario de impresión.</para>
- </listitem>
-
- <listitem>
- <para>Cómo solucionar los problemas de impresión
- más comunes.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo usted debería:</para>
-
- <itemizedlist>
- <listitem>
- <para>Saber cómo compilar e instalar un kernel
- personalizado (<xref linkend="kernelconfig"/>).</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="printing-intro-spooler">
- <title>Introducción</title>
-
- <para>Si quiere utilizar impresoras con &os; debe
- configurarlas de forma que funcionen con el sistema de cola de
- impresión de Berkeley, también conocido como
- sistema de cola <application>LPD</application>. Es el sistema
- de control de impresión estándar en &os;. Este
- capítulo trata sobre el sistema <application>LPD</application>,
- al que en adelante nos referiremos simplemente como
- <application>LPD</application>, y le introducirá
- en la configuración del mismo.</para>
-
- <para>Si está familiarizado con el sistema de cola de
- impresión <application>LPD</application>, o bien con
- algún otro sistema de impresión, puede pasar a la
- sección <link linkend="printing-intro-setup">Configuración del sistema de
- cola de impresión</link>.</para>
-
- <para><application>LPD</application> se encarga de controlar
- todo lo relacionado con la impresión, lo que en consecuencia
- implica encargarse de lo siguiente:</para>
-
- <itemizedlist>
- <listitem>
- <para>Controlar el acceso a las impresoras conectadas directamente
- al sistema y a impresoras conectadas a otras
- máquinas de la red.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>trabajos de impresión</primary></indexterm>
-
- <para>Permitir que ciertos usuarios puedan enviar ficheros para
- su impresión; estos envíos reciben el nombre de
- <emphasis>trabajos</emphasis>
- (<quote>jobs</quote>).</para>
- </listitem>
-
- <listitem>
- <para>Evita que usuarios diferentes accedan a la impresora al
- mismo tiempo manteniendo un orden estricto en la cola de
- impresión de cada impresora.</para>
- </listitem>
-
- <listitem>
- <para>Imprimir <emphasis>encabezados</emphasis>
- de forma que los usuarios puedan distinguir
- fácilmente los trabajos que han impreso.</para>
- </listitem>
-
- <listitem>
- <para>Se ocupa de los parámetros para impresoras
- conectadas a puertos serie.</para>
- </listitem>
-
- <listitem>
- <para>Enviar trabajos de impresión a través
- de una red a la cola <application>LPD</application> de una
- máquina remota.</para>
- </listitem>
-
- <listitem>
- <para>Ejecutar filtros especiales para formatear
- trabajos que requieren la gestión de lenguajes
- de impresión o impresoras de diferentes
- características.</para>
- </listitem>
-
- <listitem>
- <para>Mantener un registro del uso de la impresora.</para>
- </listitem>
- </itemizedlist>
-
- <para>Gracias al fichero de configuración
- (<filename>/etc/printcap</filename>) y mediante programas
- especiales de filtrado puede hacerse que el sistema
- <application>LPD</application> cumpla todas las tareas citadas o
- si lo prefiere solo unas cuantas; además puede hacerlo
- en una gran variedad de impresoras.</para>
-
- <sect2 xml:id="printing-intro-why">
- <title>?Por qué utilizar una cola de impresión?</title>
-
- <para>Si es usted la única persona que usa el sistema
- se estará por qué preocuparse de utilizar un sistema
- de cola de impresión si es evidente que no necesita
- restricciones de acceso, encabezados ni cuentas de
- impresión. Puede utilizar el acceso directo a
- impresión, pero debería utilizar una cola
- de impresión por las siguientes razones:</para>
-
- <itemizedlist>
- <listitem>
- <para>El sistema <application>LPD</application> ejecuta los trabajos
- en segundo plano, esto es, no tiene que esperar a que la
- impresora procese los datos para seguir trabajando.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>TeX</primary></indexterm>
-
- <para><application>LPD</application> puede procesar un
- trabajo de forma que pase por filtros, añadir cabeceras
- de fecha y hora o convertir un fichero de formato especial
- (por ejemplo &tex; DVI) a un formato que la impresora entienda
- y que no tenga usted que ocuparse de ello
- manualmente.</para>
- </listitem>
-
- <listitem>
- <para>Muchos programas, tanto libres como comerciales,
- desde los que se puede imprimir están hechos pensando
- en que haya disponible un sistema de impresión.
- Una vez que configure un sistema de colas podrá utilizar
- software que ya tiene instalado y preparar el campo para
- el que instale en el futuro.</para>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
-
- <sect1 xml:id="printing-intro-setup">
- <title>Configuración básica</title>
-
- <para>Pendiente de traducción.</para>
-
-
- </sect1>
-
-
-
- <sect1 xml:id="printing-advanced">
- <title>Configuración avanzada de impresoras</title>
-
- <para>Pendiente de traducción</para>
-
- </sect1>
-
- <sect1 xml:id="printing-using">
- <title>Cómo utilizar impresoras</title>
-
- <para>Pendiente de traducción.</para>
- </sect1>
-
- <sect1 xml:id="printing-lpd-alternatives">
- <title>Alternativas a LPD</title>
-
- <para>Pendiente de traducción</para>
-
- </sect1>
-
-
- <sect1 xml:id="printing-troubleshooting">
- <title>Solución de problemas</title>
-
- <para>Pendiente de traducción</para>
-
- </sect1>
-
-
-
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/security/chapter.xml b/es_ES.ISO8859-1/books/handbook/security/chapter.xml
deleted file mode 100755
index 45cb57f875..0000000000
--- a/es_ES.ISO8859-1/books/handbook/security/chapter.xml
+++ /dev/null
@@ -1,5603 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/security/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security">
- <info><title>Seguridad</title>
- <authorgroup>
- <author><personname><firstname>Matthew</firstname><surname>Dillon</surname></personname><contrib>Gran parte del contenido de este capítulo
- procede de la página de manual de security(7), de </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>seguridad</primary></indexterm>
-
- <sect1 xml:id="security-synopsis">
- <title>Sinopsis</title>
-
- <para>Este capítulo contiene una introducción
- básica a los conceptos de seguridad del sistema, unas
- cuantas normas básicas de uso y algunos avanzados del
- tema en &os;. Muchos de los temas expuestos se aplican a la
- seguridad del sistema y de Internet en general.
- Internet ya no es aquél lugar <quote>amistoso</quote>
- en el que todo el mundo se comportaba como un buen ciudadano.
- Si quiere proteger sus datos, su propiedad intelectual, su tiempo
- y muchas más cosas de manos malintencionadas debe hacer
- que su sistema sea seguro.</para>
-
- <para>&os; proporciona un variado arsenal de utilidades y mecanismos para
- asegurar la integridad y la seguridad de su sistema y red.</para>
-
- <para>Después de leer este capítulo:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>conocerá conceptos básicos de la seguridad
- relacionados con &os;.
- </para>
- </listitem>
-
- <listitem>
- <para>Tendrá información sobre los diversos mecanismos
- de cifrado disponibles en &os;, entre los cuales están
- <acronym>DES</acronym> y <acronym>MD5</acronym>.
- </para>
- </listitem>
-
- <listitem>
- <para>Sabrá cómo configurar la autentificación
- de contraseñas de un solo uso.</para>
- </listitem>
-
- <listitem>
- <para>Sabrá cómo configurar <acronym>TCP</acronym>
- Wrappers y usarlos con
- <command>inetd</command>.</para>
- </listitem>
-
- <listitem>
- <para>Sabrá cómo instalar
- <application>KerberosIV</application> en versiones de &os;
- anteriores a 5.0.</para>
- </listitem>
-
- <listitem>
- <para>Sabrá cómo instalar
- <application>Kerberos5</application> en versiones de &os;
- posteriores a 5.0.</para>
- </listitem>
-
- <listitem>
- <para>Podrá configurar IPsec y crear una
- <acronym>VPN</acronym> entre
- máquinas &os;/&windows;.</para>
- </listitem>
-
- <listitem>
- <para>Sabrá cómo configurar y utilizar
- <application>OpenSSH</application>,
- la implementación de <acronym>SSH</acronym> en &os;.</para>
- </listitem>
-
- <listitem>
- <para>Sabrá en qué consisten las
- <acronym>ACL</acronym> del sistema de ficheros y cómo
- utilizarlas.</para>
- </listitem>
-
- <listitem>
- <para>Sabrá cómo usar
- <application>Portaudit</application>, con la que podrá
- auditar el software que instale desde la
- desde la colección de ports.</para>
- </listitem>
-
- <listitem>
- <para>Sabrá cómo sacar partido de los avisos de
- seguridad que publica &os;.</para>
- </listitem>
-
- <listitem>
- <para>Podrá hacerse una idea clara de en qué consiste
- la contabilidad de procesos y de cómo activarla en
- &os;.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo:</para>
-
- <itemizedlist>
- <listitem>
- <para>Comprender conceptos básicos de &os; e Internet.</para>
- </listitem>
- </itemizedlist>
-
- <para>En otras secciones de este manual se cubren aspectos adicionales
- sobre seguridad. Por ejemplo, MAC (controles de acceso obligatorio)
- se explica en el <xref linkend="mac"/> y los cortafuegos en el
- <xref linkend="firewalls"/>.</para>
- </sect1>
-
- <sect1 xml:id="security-intro">
- <title>Introducción</title>
-
- <para>La seguridad es un trabajo que que comienza y termina en el
- administrador de sistema. Aunque que los sistemas multiusuario
- BSD &unix; posean una seguridad inherente, el trabajo de construir y
- mantener mecanismos de seguridad adicionales para que los
- usuarios sean aún más <quote>honestos</quote> es
- probablemente una de las mayores tareas de la administración
- de sistemas. Los sistemas son tan seguros como uno los haga, y
- no hay que olvidar que los problemas de seguridad compiten con la
- comodidad a la que tendemos los humanos. Los sistemas &unix;
- son capaces de ejecutar una gran cantidad de procesos
- simultáneamente, muchos de los cuales son servidores, lo que
- significa que las entidades externas pueden conectarse y
- <quote>hablar</quote> con ellos. Del mismo modo que las
- minicomputadoras de ayer se convirtieron en los sistemas de
- escritorio de hoy en día, la seguridad se va convirtiendo
- en un problemas más y más acuciante.</para>
-
- <para>La seguridad bien entendida se implementa en capas, a la manera de
- una <quote>cebolla</quote>. Básicamente lo que se hace es
- crear la mayor cantidad posible de capas de seguridad, para más
- tarde monitorizar el sistema en busca de intrusos. No es conveniente
- exagerar la seguridad, ya que interferiría con la
- detección, y la detección es uno de los aspectos
- más importantes de cualquier mecanismo de seguridad.
- Por ejemplo, no tiene mucho sentido activar la bandera
- <literal>schg</literal> (consulte &man.chflags.1;) en cada binario del
- sistema, ya que aunque protegería en cierto modo los binarios,
- haría que cualquier cambio que pudiera realizar un atacante
- una vez dentro del sistema fuera más difícil de detectar
- o incluso hacerlo del todo imposible.</para>
-
- <para>La seguridad del sistema depende también de estar preparados
- para distintos tipos de ataque, incluyendo intentos de
- <quote>tirar</quote> la máquina o dejarla en un estado
- inutilizable, pero que no impliquen intentos de comprometer el usuario
- <systemitem class="username">root</systemitem> Los problemas de seguridad pueden
- dividirse en diferentes categorías:</para>
-
- <orderedlist>
- <listitem>
- <para>Ataques de denegación de servicio (DoS).</para>
- </listitem>
-
- <listitem>
- <para>Comprometer cuentas de usuarios.</para>
- </listitem>
-
- <listitem>
- <para>Comprometer root a través de servidores accesibles.
- </para>
- </listitem>
-
- <listitem>
- <para>Comprometer root desde cuentas de usuario.</para>
- </listitem>
-
- <listitem>
- <para>Creación de puertas traseras
- (<quote>Backdoors</quote>).</para>
- </listitem>
- </orderedlist>
-
- <indexterm>
- <primary>Ataques DoS</primary>
- <see>Denegación de servicio (DoS)</see>
- </indexterm>
- <indexterm>
- <primary>seguridad</primary>
- <secondary>Ataques DoS</secondary>
- <see>Denegación de servicios (DoS)</see>
- </indexterm>
- <indexterm><primary>Denegacion de servicio (DoS)</primary></indexterm>
-
- <para>Un ataque de denegación de servicio es una acción que
- priva al sistema de los recursos requeridos para su funcionamiento
- normal. Generalmente, los ataques DoS son mecanismos de fuerza bruta
- que intentan <quote>tumbar</quote> el sistema o hacerlo inutilizable
- sobrecargando la capacidad de sus servidores o de la pila de red.
- Algunos ataques DoS intentan aprovechar errores en la pila de red
- para <quote>tumbar</quote> el sistema con un solo paquete.
- Estos últimos únicamente pueden solucionarse aplicando
- al kernel una actualización que subsane el error.
- Los ataques a servidores muchas veces pueden solucionarse configurando
- las opciones apropiadas para limitar la carga del sistema en
- condiciones adversas. Los ataques de fuerza bruta a redes
- son más complicados. Los ataques con paquetes enmascarados,
- por ejemplo, son casi imposibles de detener, a menos que desconecte
- el sistema de Internet. Puede ser que no <quote>tiren</quote> el
- sistema, pero saturarán la conexión a Internet.</para>
-
- <indexterm>
- <primary>seguridad</primary>
- <secondary>compromiso de cuentas</secondary>
- </indexterm>
-
- <para>Comprometer una cuenta de usuario es mucho más común
- que un ataque DoS. Muchos administradores de sistemas
- todavía ejecutan servidores estándar
- <application>telnetd</application>, <application>rlogind</application>,
- <application>rshd</application> y <application>ftpd</application> en
- sus máquinas.
- Estos servidores, por defecto no operan a través de conexiones
- cifradas. El resultado es que se si se tiene una base de usuarios de
- tamaño medio, tarde o temprando la contraseña de uno
- (o más) de sus usuarios será descubierta durante
- sus accesos al sistema desde ubicaciones remotas.(que es, por otra
- parte, la forma más común y más cómoda
- de acceder a un sistema). El administrador de sistemas atento
- analizará sus logs de acceso remoto en busca de direcciones
- origen spspechosas, incluso entre los accesos al sistema.</para>
-
- <para>Se debe asumir <emphasis>siempre</emphasis> que, una vez que
- el atacante tiene acceso a una cuenta de usuario, el atacante
- puede comprometer la cuenta <systemitem class="username">root</systemitem>. En realidad
- en un sistema bien mantenido y asegurado el acceso a una cuenta de
- usuario no necesariamente da al atacante acceso a
- <systemitem class="username">root</systemitem>. Esta precisión es importante
- porque sin acceso a <systemitem class="username">root</systemitem> el atacante
- difícilmente podrá esconder sus huellas; podrá,
- como mucho, hacer poco más que sembrar el caos en los ficheros
- del usuario o <quote>tirar</quote> la máquina.
- Comprometer cuentas de usuario es muy común porque los
- usuarios tienden a no tomar las precauciones que toma el
- administrador.</para>
-
- <indexterm>
- <primary>seguridad</primary>
- <secondary>puertas traseras</secondary>
- </indexterm>
-
- <para>Los administradores de sistemas deben tener presente que
- existen muchas formas potenciales de comprometer la cuenta
- <systemitem class="username">root</systemitem> de una máquina. El atacante puede
- conocer la contraseña de <systemitem class="username">root</systemitem>, el
- atacante puede encontrar un error en un servidor que se ejecuta
- como root y ser capaz de comprometer <systemitem class="username">root</systemitem> a
- través de una conexión de red a ese servidor; puede
- ser que el atacante sepa de la existencia de un error en un
- programa suid-root que le permita comprometer
- <systemitem class="username">root</systemitem> una vez dentro de una cuenta de usuario.
- Si un atacante encuentra la manera de comprometer la cuenta
- <systemitem class="username">root</systemitem> de una máquina puede que no
- necesite instalar una puerta trasera. Muchos de
- los agujeros <systemitem class="username">root</systemitem> encontrados y cerrados hasta
- la fecha implican una cantidad considerable de trabajo para el atacante
- limpiando todo después del ataque, así que
- la mayoría de los atacantes instalan puertas traseras.
- Una puerta trasera facilita al atacante una forma sencilla de
- recuperar el acceso de <systemitem class="username">root</systemitem> al sistema,
- pero también proporciona al administrador de sistemas
- inteligente una forma de detectar la intrusión. Si hace
- imposible a un atacante la instalación de una puerta
- trasera puede estar actuando en detrimento de su seguridad, porque
- no cerrará el agujero que el atacante encontró
- para accder al sistema la primera vez que lo hizo.</para>
-
- <para>Las medidas de seguridad se implementan en un modelo
- multicapa (tipo <quote>cebolla</quote>), que puede categorizarse
- del siguiente modo:</para>
-
- <orderedlist>
- <listitem>
- <para>Asegurar <systemitem class="username">root</systemitem> y cuentas
- administrativas.</para>
- </listitem>
-
- <listitem>
- <para>Asegurar los servidores que se ejecuten como
- <systemitem class="username">root</systemitem> los binarios suid/sgid.</para>
- </listitem>
-
- <listitem>
- <para>Asegurar cuentas de usuario.</para>
- </listitem>
-
- <listitem>
- <para>Asegurar el fichero de contraseñas.</para>
- </listitem>
-
- <listitem>
- <para>Asegurar el núcleo del kernel, los dispositivos
- en bruto y el sistema de ficheros.</para>
- </listitem>
-
- <listitem>
- <para>Detección rápida de cambios
- hechos al sistema.</para>
- </listitem>
-
- <listitem>
- <para>Paranoia.</para>
- </listitem>
- </orderedlist>
-
- <para>La siguiente sección de este capítulo tratará
- los puntos de arriba con mayor profundidad.</para>
- </sect1>
-
- <sect1 xml:id="securing-freebsd">
- <title>Asegurar &os;</title>
- <indexterm>
- <primary>seguridad</primary>
- <secondary>asegurar &os;</secondary>
- </indexterm>
-
- <note>
- <title>Orden vs. protocolo</title>
- <para>En este capítulo usaremos el texto en
- <application>negrita</application> para referirnos a una orden o
- aplicación, y una fuente en <command>cursiva</command> para
- referirnos a órdenes específicas. Usaremos un tipo normal
- para los protocolos. Esta diferencia tipográfica nos
- será útil por ejemplo con ssh, que es tanto un
- protocolo como una orden.</para>
- </note>
-
- <para>Las siguientes secciones cubren los métodos a seguir para
- asegurar su sistema &os; que se mencionados en la
- <link linkend="security-intro"> sección anterior</link> de este
- capítulo.</para>
-
- <sect2 xml:id="securing-root-and-staff">
- <title>Asegurar la cuenta <systemitem class="username">root</systemitem> y las
- cuentas administrativas</title>
- <indexterm>
- <primary><command>su</command></primary>
- </indexterm>
-
- <para>En primer lugar, no se moleste en asegurar las cuentas
- administrativas (o <quote>staff</quote>) si no ha asegurado la
- cuenta <systemitem class="username">root</systemitem>.
- La mayoría de los sistemas tienen una contraseña
- asignada para la cuenta <systemitem class="username">root</systemitem>. Lo primero que
- se hace es asumir que la contraseña está
- <emphasis>siempre</emphasis> amenazada.
- Esto no significa que deba eliminar la contraseña. La
- contraseña es casi siempre necesaria para el acceso por
- consola a la máquina; significa que no se debe permitir
- el uso de la contraseña fuera de la consola o, mejor
- aún, mediante &man.su.1;. Por ejemplo,
- asegúrese de que sus ptys aparezcan como
- <emphasis>inseguras</emphasis> en el fichero
- <filename>/etc/ttys</filename>, con lo que hará que
- los accesos como <systemitem class="username">root</systemitem> vía
- <command>telnet</command> o <command>rlogin</command> no sean
- posibles.
- Si utiliza otros tipos de login como
- <application>sshd</application> asegúrese de que
- los accesos al sistema como <systemitem class="username">root</systemitem>
- estén también deshabilitados.
- Para ello edite su
- <filename>/etc/ssh/sshd_config</filename> y asegúrese de
- que <literal>PermitRootLogin</literal> esté puesto a
- <literal>NO</literal>. Estudie cada método de acceso:
- hay servicios como FTP que frecuentemente son origen de grietas
- en la estructura del sistema. El acceso directo como usuario
- <systemitem class="username">root</systemitem> sólamente debe permitirse
- a través de la consola.</para>
- <indexterm>
- <primary><systemitem class="groupname">wheel</systemitem></primary>
- </indexterm>
-
- <para>Es evidente que, como administrador del sistema, debe usted
- tener la posibilidad de acceder a <systemitem class="username">root</systemitem>,
- así que tendrá que abrir algunos agujeros, pero
- debe asegurarse de que estos agujeros necesiten contraseñas
- adicionales para verificar su correcto uso. Puede hacer
- que <systemitem class="username">root</systemitem> sea accesible añadiendo
- cuentas administrativas al grupo
- <systemitem class="groupname">wheel</systemitem> (en
- <filename>/etc/group</filename>). El personal que administra los
- sistemas que aparezcan en el grupo
- en el grupo <systemitem class="groupname">wheel</systemitem> pueden hacer
- <command>su</command> a <systemitem class="username">root</systemitem>.
- Nunca debe de proporcionar al personal administrativo el acceso
- nativo a <systemitem class="groupname">wheel</systemitem> poniéndolos
- en el grupo <systemitem class="groupname">wheel</systemitem> en su entrada de
- contraseña. Las cuentas administrativas deben colocarse
- en un grupo <systemitem class="groupname">staff</systemitem>, y agregarse
- después al grupo <systemitem class="groupname">wheel</systemitem> en
- <filename>/etc/group</filename>. Sólo aquellos
- administradores que realmente necesiten acceder a
- <systemitem class="username">root</systemitem> deben pertenecer al grupo
- <systemitem class="groupname">wheel</systemitem>. También es posible,
- mediante un método de autentificación como
- Kerberos, usar el fichero <filename>.k5login</filename> en
- la cuenta <systemitem class="username">root</systemitem> para permitir un
- &man.ksu.1; a <systemitem class="username">root</systemitem> sin tener que
- colocar a nadie en el grupo
- <systemitem class="groupname">wheel</systemitem>. Puede ser una mejor solución,
- ya que el mecanismo <systemitem class="groupname">wheel</systemitem> aún
- permite a un atacante comprometer <systemitem class="username">root</systemitem>
- si el intruso ha conseguido el fichero de contraseñas
- y puede comprometer una cuenta de administración.
- Recurrir al mecanismo <systemitem class="groupname">wheel</systemitem> es mejor que
- no tener nada, pero no es necesariamente la opción
- más segura.</para>
-
- <!-- XXX:
- This will need updating depending on the outcome of PR bin/71147.
- Personally I know what I'd like to see, which puts this in definite
- need of a rewrite, but we'll have to wait and see. ceri@
- -->
-
- <para>Una manera indirecta de asegurar las cuentas de staff y
- el acceso a <systemitem class="username">root</systemitem> es utilizar un método
- de acceso alternativo: es lo que se conoce como
- <quote>estrellar</quote> las contraseñas cifradas de las
- cuentas administrativas. Use &man.vipw.8; para reemplazar
- cada contraseña cifrada por un sólo caracter
- asterisco (<quote><literal>*</literal></quote>). Esto
- actualizará
- <filename>/etc/master.passwd</filename> y la base de datos de
- usuario/contraseña y deshabilitará los accesos
- al sistema validados mediante
- contraseñas.</para>
-
- <para>Veamos una cuenta administrativa típica:</para>
-
- <programlisting>foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh</programlisting>
-
- <para>y cómo debería quedar:</para>
-
- <programlisting>foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh</programlisting>
-
- <para>Este cambio evitará que se efectúen logins normales,
- ya que la contraseña cifrada nunca se corresponderá
- con <quote><literal>*</literal></quote>. Hecho esto, el personal
- de administración tendrá que usar otro mecanismo
- de validación como &man.kerberos.1; o
- &man.ssh.1; que use un par de llave pública/privada.
- Si decide usar algo como Kerberos tendrá que asegurar
- la máquina que ejecuta los servidores Kerberos
- y su estación de trabajo. Si usa un par de llave
- pública/privada con ssh, debe asegurar la
- máquina <emphasis>desde</emphasis> desde la que se hace el
- login (normalmente nuestra estación de trabajo). Puede
- añadir una capa adicional de protección al par de
- llaves protegiéndolas con contraseña al crearlo
- con &man.ssh-keygen.1;.
- El <quote>estrellado</quote> de las contraseñas
- administrativas también garantiza que dicho personal
- sólo pueda entrar a través de métodos de
- acceso que haya usted configurado. Así obligará
- al personal administrativo a usar conexiones seguras, cifradas,
- en todas sus sesiones, lo que cierra un importante agujero
- de seguridad al que recurren muchos intrusos: usar un
- sniffer (olfateador) de red desde una máquina que le
- permita hacer tal cosa.</para>
-
- <para>Los mecanismos de seguridad más indirectos también
- asumen que está validando su identidad desde un servidor
- más restrictivo un servidor menos restrictivo.
- Por ejemplo, si su máquina principal ejecuta toda clase de
- servidores su estación de trabajo no debe ejecutar ninguno.
- Para que su estación de trabajo sea razonablemente segura
- debe ejecutar los mínimos servidores posibles, si es posible
- ninguno, y debe usar un salvapantallas protegido por
- contraseña. Es evidente que un atancante con acceso
- físico al sistema puede romper cualquier barrera de seguridad
- que se disponga. Es un problema a tener en cuenta, pero la
- mayoría de las intrusiones tienen lugar de forma remota,
- a través de la red, por parte de gente que no tiene acceso
- físico a su estación de trabajo ni a sus
- servidores.</para>
- <indexterm><primary>KerberosIV</primary></indexterm>
-
- <para>Usar Kerberos le ofrece también el poder
- de deshabilitar o cambiar la contraseña para una cuenta
- administrativa en un lugar, y que tenga un efecto inmediato en todas
- las máquinas en las cuales ese administrador pueda
- tener una cuenta. Si una de esas cuentas se ve comprometida
- la posibilidad para cambiar instantáneamente su
- contraseña en todas las máquinas no debe ser
- desestimada. Con contraseñas distintas, el cambio
- de una contraseña en N máquinas puede ser un
- problema. También puede imponer restricciones de
- re-contraseñas con Kerberos: no sólo se puede
- hacer un ticket de Kerberos que expire después de un
- tiempo, sino que el sistema Kerberos puede requerir al usuario
- que escoja una nueva contraseña después de cierto
- tiempo (digamos una vez al mes).</para>
- </sect2>
-
- <sect2>
- <title>Asegurar servidores que se ejecutan como
- <systemitem class="username">root</systemitem>
- y binarios SUID/SGID</title>
-
- <indexterm>
- <primary><command>ntalk</command></primary>
- </indexterm>
- <indexterm>
- <primary><command>comsat</command></primary>
- </indexterm>
- <indexterm>
- <primary><command>finger</command></primary>
- </indexterm>
- <indexterm>
- <primary>cajas de arena <quote>sandboxes</quote></primary>
- </indexterm>
- <indexterm>
- <primary><application>sshd</application></primary>
- </indexterm>
- <indexterm>
- <primary><application>telnetd</application></primary>
- </indexterm>
- <indexterm>
- <primary><application>rshd</application></primary>
- </indexterm>
- <indexterm>
- <primary><application>rlogind</application></primary>
- </indexterm>
-
- <para>Un administrador de sistemas prudente sólo
- ejecutará los servidores que necesita, ni uno más
- ni uno menos. Dese cuenta de que los servidores ajenos son
- los más propensos a contener errores. Por ejemplo,
- ejecutando una versión desfasada de
- <application>imapd</application> o
- <application>popper</application> es como dar una entrada universal
- de <systemitem class="username">root</systemitem> al mundo entero.
- Nunca ejecute un servidor que no haya revisado cuidadosamente.
- Muchos servidores no necesitan ejecutarse como
- <systemitem class="username">root</systemitem>. Por ejemplo, los d&aelig;mons
- <application>ntalk</application>,
- <application>comsat</application> y
- <application>finger</application> pueden ejecutarse en una
- <firstterm>caja de arena (sandbox)</firstterm> especial de usuario.
- Una caja de arena no es perfecta, a menos que pase por muchos
- problemas, pero la aproximación de cebolla a la seguridad
- prevalece aún y todo: Si alguien es capaz de penetrar a
- través de un servidor ejecutándose en una caja
- de arena, todavía tendrá que salir de la caja de
- arena. Cuantas más capas tenga que romper el atacante
- menor será la posibilidad de éxito que tenga.
- Se han encontrado vías de entrada a
- <systemitem class="username">root</systemitem> en virtualmente todos los servidores
- que se haya ejecutado como <systemitem class="username">root</systemitem>,
- incluyendo servidores básicos del sistema.
- Si está tiene una máquina a través de
- la cual la gente sólo entra por
- <application>sshd</application>, y nunca entra por
- <application>telnetd</application>,
- <application>rshd</application>, o
- <application>rlogind</application>
- <emphasis>apague esos servicios</emphasis>.</para>
-
- <para>&os; ejecuta por defecto
- <application>ntalkd</application>,
- <application>comsat</application> y
- <application>finger</application> en una caja de arena.
- Otro programa que puede ser candidato para ejecutarse en una
- caja de arena es &man.named.8;.
- <filename>/etc/defaults/rc.conf</filename> contiene las directrices
- necesarias (con comentarios) para usar <application>named</application>
- en una caja de arena. Dependiendo de si
- está instalando un nuevo sistema o actualizando un sistema
- ya existente, las cuentas especiales de usuario que usan
- estas cajas de arena puede que no estén instaladas.
- El administrador de sistemas prudente debe investigar e
- implementar cajas de arena para servidores siempre que sea
- posible.</para>
- <indexterm>
- <primary><application>sendmail</application></primary>
- </indexterm>
-
- <para>Existen numerosos servidores que no se suelen
- ejecutar en cajas de arena:
- <application>sendmail</application>,
- <application>imapd</application>, <application>ftpd</application>,
- y otros. Existen alternativas para algunos de ellos, pero
- instalarlas puede requerir más trabajo del que tal vez
- esté dispuesto a realizar (el factor comodidad ataca de
- nuevo). Tal vez tenga que ejecutar estos servidores como
- <systemitem class="username">root</systemitem> y depender de otros mecanismos para
- detectar intrusiones que puedan tener lugar a través de
- ellos.</para>
-
- <para>Los otros grandes agujeros potenciales de
- <systemitem class="username">root</systemitem> que encontramos en un sistema son los
- binarios suid-root y sgid. La mayoría
- de estos binarios, como <application>rlogin</application>,
- están en <filename>/bin</filename>, <filename>/sbin</filename>,
- <filename>/usr/bin</filename> o <filename>/usr/sbin</filename>.
- Aunque no hay nada absolutamente seguro los binarios suid y sgid
- del sistema por defecto pueden considerarse razonablemente
- seguros. Aún así, de vez en cuando aparecen
- agujeros <systemitem class="username">root</systemitem> en estos binarios.
- En 1998 se encontró un agujero
- <systemitem class="username">root</systemitem> en
- <literal>Xlib</literal>, que hacía a
- <application>xterm</application> (que suele ser suid)
- vulnerable. Es mejor prevenir que curar, y el administrador de
- sistemas prudente restringirá los binarios suid, que
- sólo el personal de administración debe ejecutar,
- a un grupo especial al que sólo dicho personal pueda acceder,
- y deshacerse de cualquier binario suid
- (<command>chmod 000</command>) que no se use.
- Un servidor sin pantalla generalmente no necesita un binario
- <application>xterm</application>. Los binarios sgid pueden ser
- igual de peligrosos. Si un intruso logra comprometer un binario
- sgid-kmem, el intruso podría leer
- <filename>/dev/kmem</filename> y llegar a leer el fichero
- cifrado de contraseñas, poniendo en compromiso potencial
- cualquier cuenta con contraseña. Por otra parte, un intruso
- que comprometa el grupo <literal>kmem</literal> puede monitorizar
- las pulsaciones de teclado que se envien a través de ptys,
- incluyendo las ptys a las que acceden usuarios que emplean
- métodos seguros. Un intruso que comprometa el grupo
- <systemitem class="groupname">tty</systemitem> puede escribir en la pty de casi
- cualquier usuario. Si un usuario ejecuta un programa de terminal
- o un emulador capaz de simular un teclado, el intruso podría
- generar un flujo de datos que provoque que la terminal del
- usuario muestre una orden en pantalla, orden que el usuario
- ejecutará.</para>
- </sect2>
-
- <sect2 xml:id="secure-users">
- <title>Asegurar las cuentas de usuario</title>
-
- <para>Las cuentas de usuario suelen ser las más
- difíciles de asegurar. Aunque puede imponer restricciones
- de acceso draconianas a su personal administrativo y
- <quote>estrellar</quote> sus contraseñas, tal vez no pueda
- hacerlo con todas las cuentas de todos sus usuarios. Si mantiene
- el control en un grado suficiente quizás lo logre y sea
- capaz de hacer que las cuentas de sus usuarios sean seguras. Si no,
- tendrá que ser más cuidadoso (aún) en la
- monitorización de esas cuentas. Usar ssh y Kerberos en
- cuentas de usuario da más problemas debido al soporte
- técnico y administrativo que requerirá, pero sigue
- siendo mejor solución que un fichero de
- contraseñas cifradas.</para>
- </sect2>
-
- <sect2>
- <title>Asegurar el fichero de contraseñas</title>
-
- <para>La única manera segura es ponerle <literal>*</literal>
- a tantas contraseñas como sea posible y utilizar ssh o
- Kerberos para acceder a esas cuentas. Aunque el fichero
- cifrado de contraseñas (<filename>/etc/spwd.db</filename>)
- sólo puede ser legible para <systemitem class="username">root</systemitem>, puede
- que un intruso consiga acceso de lectura a ese fichero, incluso sin
- haber alcanzado el acceso de escritura como root.</para>
-
- <para>Sus <quote>scripts</quote> de seguridad deben buscar siempre
- cambios en el fichero de contraseñas
- (consulte <link linkend="security-integrity">Revisión de
- integridad de ficheros</link> más abajo) e informar de
- ellos.</para>
- </sect2>
-
- <sect2>
- <title>Asegurar el Kernel, dispositivos en bruto y el sistema
- sistema de ficheros</title>
-
- <para>Si un atacante compromete <systemitem class="username">root</systemitem> puede
- hacer cualquier cosa, pero hay ciertas cosas que puede usted
- preparar para <quote>curarse en salud</quote>. Por ejemplo,
- la mayoría de los kernel modernos tienen un dispositivo
- de los Kernels modernos tienen un integrado un
- dispositivo de paquetes. En &os; se llama
- <filename>bpf</filename>. Un intruso típico
- tratará de ejecutar un <quote>sniffer</quote> de paquetes
- en una máquina comprometida. No debería darle a
- ese intruso tal recurso, y la mayoría de los sistemas no
- necesitan el dispositivo
- <filename>bpf</filename>.</para>
-
- <indexterm>
- <primary><command>sysctl</command></primary>
- </indexterm>
- <para>Pero si desactiva el dispositivo <filename>bpf</filename>
- todavía tendrá que preocuparse por
- <filename>/dev/mem</filename> y
- <filename>/dev/kmem</filename>.
- Desde ellos el intruso podría en dispositivos de disco
- en bruto. También hay que tener muy en cuenta
- una opción del kernel llamada cargador de módulos,
- &man.kldload.8;. Un intruso con iniciativa puede usar un
- módulo KLD para instalar su propio dispositivo
- <filename>bpf</filename>, u otro dispositivo
- que le permita el <quote>sniffing</quote> en un kernel en
- ejecución. Para prevenir estos problemas debe ejecutar el
- kernel en un nivel de seguridad mayor, al menos en securelevel 1.
- Puede configurar el securelevel mediante una <command>sysctl</command>
- en la variable <varname>kern.securelevel</varname>.
- Una vez que tiene su securelevel a 1, los accesos de
- escritura a dispositivos en bruto se
- denegarán y se impondrán las banderas especiales
- <literal>schg</literal>.
- También debe cerciorarse de activar la bandera
- <literal>schg</literal> en binarios críticos para el arranque,
- directorios y scripts (dicho de otro modo, todo aquello que se
- ejecuta <emphasis>antes</emphasis> de que se active el
- securelevel). Puede ser que todo esto sea una exageración,
- sobre todo teniendo en cuenta que la actualización del sistema
- se complica bastante a medida que se incrementa el nivel de
- seguridad. Puede ejecutar el sistema a un nivel de seguridad
- superior pero no activar la bandera <literal>schg</literal>
- en cada fichero y directorio del sistema. Otra posibilidad es
- montar <filename>/</filename> y <filename>/usr</filename> como
- sólo lectura. Recuerde que siendo demasiado draconiano
- en aquello que busca proteger puede dificultar mucho la
- detección de una intrusión.</para>
- </sect2>
-
- <sect2 xml:id="security-integrity">
- <title>Revisión de integridad de ficheros: binarios,
- ficheros de configuración, etc.</title>
-
- <para>Cuando se piensa de proteccón, sólo se puede
- proteger la configuración central del sistema y los ficheros
- de control hasta el momento en el que el factor comodidad salta
- a la palestra. Por ejemplo, si usa
- <command>chflags</command> para activar el bit <literal>schg</literal>
- en la mayoría de los ficheros de <filename>/</filename>
- y <filename>/usr</filename> probablemente sea contraproducente;
- puede proteger los ficheros haciéndolo, pero también
- cierra una vía de detección. La última capa
- de su modelo de seguridad tipo cebolla es quizás la
- más importante: la detección. El resto de su
- estructura de seguridad será inútil (o peor
- aún, le proporcionará un sentimiento de seguridad
- totalmente infundado) si no puede detectar posibles intrusiones.
- La mitad del trabajo de la cebolla es alentar al atacante, en lugar
- de detenerlo, para darle a la parte de la ecuación de
- detección una oportunidad de atraparlo con las manos en la
- masa.</para>
-
- <para>La mejor manera de detectar una intrusión es buscar
- ficheros modificados, perdidos, o cuya presencia o estado sea
- inesperado. La mejor forma de buscar ficheros modificados es
- desde otro sistema (que muchas veces es centralizado) con acceso
- restringido.
- Escribir sus <quote>scripts</quote> de seguridad en un sistema
- <quote>extraseguro</quote> y con acceso restringido los hace casi
- invisibles a posibles atacantes, y esto es algo muy importante.
- potenciales, y esto es importante. Para poderle sacar el
- máximo partido debe proporcionar a esa máquina con
- acceso restringido un acceso preferente al contenido de las otras
- máquinas de su entorno; suele hacerse mediante la
- importación vía NFS de sólo lectura de las
- demás máquinas, o configurando pares de llaves ssh
- para acceder a las otras máquinas desde la que tiene el
- acceso restringido. Si exceptuamos el tráfico de red, NFS
- es el método menos visible y le permite monitorizar los
- sistemas de ficheros de cada máquina cliente de forma
- prácticamente indetectable. Si su servidor de acceso
- restringido está conectado a las máquinas clientes
- a través de un concentrador o a través de varias
- capas de encaminamiento el método NFS puede ser muy inseguro,
- por lo que ssh puede ser la mejor opción, incluso con
- las huellas de auditoría que ssh va dejando.</para>
-
- <para>Una vez que le da a una máquina de acceso restringido
- (al menos) acceso de lectura a los sistemas cliente que va
- a monitorizar, tendrá que escribir <quote>scripts</quote>
- para efectuar la monitorización. Si va a usar un montaje
- NFS puede escribir <quote>scripts</quote> utilizando simples
- herramientas del sistema como
- &man.find.1; y &man.md5.1;. Es aconsejable ejecutar MD5
- físicamente en los ficheros de las máquinas cliente
- al menos una vez al día, y comprobar los ficheros de control
- (los que hay en <filename>/etc</filename> y
- <filename>/usr/local/etc</filename>) con una frecuencia incluso
- mayor. Si aparecen discrepancias al compararlos con la
- información basada en MD5 que la máquina de acceso
- restringido usa como base debe hacer una comprobación
- inmediata y profunda. Un buen <quote>script</quote> también
- debe buscar binarios que sean suid sin razón aparente, y
- ficheros nuevos o borrados en particiones del sistema como
- <filename>/</filename> y <filename>/usr</filename>.</para>
-
- <para>Si usa ssh en lugar de NFS será mucho más
- complicado escribir el <quote>script</quote> de seguridad.
- En esencia, tiene que pasar por <command>scp</command> los
- <quote>scripts</quote> a la máquina cliente para poder
- ejecutarlos, haciéndolos visibles; por seguridad,
- también tendrá que pasar vía
- <command>scp</command> los binarios (por ejemplo find) que
- utilizan dichos <quote>scripts</quote>. El cliente
- <application>ssh</application> de la máquina cliente
- puede estar ya bajo el control del intruso. Con todo y con eso,
- puede ser necesario usar ssh si trabaja sobre enlaces inseguros,
- también es mucho más difícil de manejar.</para>
-
- <para>Un buen <quote>script</quote> de seguridad buscará
- también cambios en la configuración de los ficheros
- de acceso de usuarios y miembros del personal de
- administración:
- <filename>.rhosts</filename>, <filename>.shosts</filename>,
- <filename>.ssh/authorized_keys</filename>, etc; en resumen,
- ficheros fuera del rango de revisión
- <literal>MD5</literal>.</para>
-
- <para>Si tiene que vérselas con una cantidad enorme de
- espacio en disco para usuarios le llevará mucho tiempo
- recorrer cada fichero de cada partición. En su caso
- sería una buena idea configurar mediante opciones de
- montaje la deshabilitación de binarios y dispositivos
- suid en esas particiones. Revise las opciones
- <literal>nodev</literal> y <literal>nosuid</literal> de
- &man.mount.8;. Debería comprobarlos de todas maneras
- al menos una vez por semana, ya que el objeto de esta capa es
- detectar intrusiones, efectivas o no.</para>
-
- <para>La contabilidad de procesos (vea &man.accton.8;) es una
- opción con una carga relativamente ligera para el sistema
- operativo, y puede ayudarle como mecanismo de
- evaluación tras una intrusión. Es especialmente
- útil para rastrear cómo consiguión realmente
- acceder el intruso al sistema (asumiendo que el fichero
- esté intacto después de la intrusión).</para>
-
- <para>Los <quote>scripts</quote> de seguridad deben procesar los
- logs, y los propios logs deben generarse de la forma más
- segura posible: un syslog remoto puede ser muy
- útil. Un intruso trata de cubrir sus huellas, los logs
- son un recurso crítico cuando el administrador de sistemas
- intenta determinar la hora y el método de la intrusión
- inicial. La ejecución de la consola del sistema en un
- puerto serie y recolectar la información de forma
- periódica en una máquina segura de
- monitorización de consolas es una forma de cumplir esta
- tarea.</para>
- </sect2>
-
- <sect2>
- <title>Paranoia</title>
-
- <para>Un poco de paranoia nunca está de más.
- Como norma, un administrador de sistemas puede añadir
- cualquier tipo de mecanismo de seguridad siempre y cuando no
- afecte a la comodidad, y puede añadir mecanismos de seguridad
- que <emphasis>sí</emphasis> afecten a la comodidad
- si tiene una buena razón para hacerlo. Más
- aún, un administrador de seguridad debe mezclar
- un poco de ambas cosas: si sigue al pie de la letra las
- recomendaciones que se dan en este documento también
- está sirviendo en bandeja de plata al posible atancante
- su metodología. Ese posible atacante también
- tiene acceso a este documento.</para>
- </sect2>
-
- <sect2>
- <title>Ataques de denegación de servicio</title>
- <indexterm><primary>Ataques de denegación de
- servicio (DoS)</primary></indexterm>
-
- <para>Esta sección cubre ataques de denegación de
- servicio. Un ataque DoS suele consistir en un ataque mediante
- paquetes. NO hay mucho que pueda hacerse contra un ataque
- mediante paquetes falsificados (<quote>spoofed</quote>) que busque
- saturar su red, pero puede limitar el daño
- asegurándose de que los ataques no tiren sus servidores.</para>
-
- <orderedlist>
- <listitem>
- <para>Limitación de forks en el servidor.</para>
- </listitem>
-
- <listitem>
- <para>Limitación de ataques <quote>springboard</quote>
- (ataques de respuesta ICMP, ping broadcast, etc.)</para>
- </listitem>
-
- <listitem>
- <para>Caché de rutas del kernel.</para>
- </listitem>
- </orderedlist>
-
- <para>Un típico ataque DoS contra un servidor con instancias
- (forks) sería tratar de provocar que el servidor consuma
- procesos, descriptores de fichero y memoria hasta tirar la
- máquina.
- <application>inetd</application> (consulte &man.inetd.8;)
- dispone de varias opciones para limitar este tipo de ataque.
- Recuerde que aunque es posible evitar que una máquina
- caiga, generalmente no es posible evitar que un servicio sea
- vea interrumpido a causa el ataque. Consulte la página
- de manual de <application>inetd</application> atentamente y
- sobre todo estudie las las opciones
- <option>-c</option>, <option>-C</option>,
- y <option>-R</option>. Observe que los ataques con direcciones IP
- falsificadas sortearán la opción <option>-C</option> de
- <application>inetd</application>, así que debe usar una
- combinación de opciones. Algunos servidores
- autónomos (<quote>standalone</quote>) cuentan con
- parámetros de autolimitación de instancias.</para>
-
- <para><application>Sendmail</application> tiene la opción
- <option>-OMaxDaemonChildren</option>, que tiende a funcionar
- mucho mejor que las opciones de límite
- de carga de sendmail debido al retraso que provoca la carga.
- Debe especificar un parámetro
- <literal>MaxDaemonChildren</literal> al inicio de
- <application>sendmail</application> que sea lo suficientemente alto
- como para gestionar la carga esperada, pero no tan alto que la
- computadora no pueda absorber tal número de
- <application>sendmails</application> sin caerse de boca.
- También es prudente ejecutar sendmail en modo de cola
- (<option>-ODeliveryMode=queued</option>) y ejecutar el
- d&aelig;mon (<command>sendmail -bd</command>)
- de manera independiente de las ejecuciones de cola
- (<command>sendmail -q15m</command>). Si a pesar de todo necesita
- entregas en tiempo real puede ejecutar la cola a un intervalo
- menor, como <option>-q1m</option>, pero asegúrese de
- especificar una opción <literal>MaxDaemonChildren</literal>
- razonable para <emphasis>ese</emphasis> sendmail y así
- evitar fallos en cascada.</para>
-
- <para><application>Syslogd</application> puede recibir ataques directos
- y se recomienda encarecidamente que utilice la opción
- <option>-s</option> siempre que sea posible, y si no la opción
- <option>-a</option>.</para>
-
- <para>También debe ser extremadamente cuidadoso con servicios
- de conexión inversa como el ident inverso de
- <application>TCP Wrapper</application>, que puede recibir ataques
- directos. No se suele usar el ident inverso de
- <application>TCP Wrapper</application> por esa misma
- razón.</para>
-
- <para>Es una muy buena idea proteger los servicios internos
- de acceso externo protegiéndolos vía con un cortafuegos
- en los routers de frontera. La idea es prevenir ataques de
- saturación desde el exterior de la LAN, y no tanto para
- proteger servicios internos de compromisos
- <systemitem class="username">root</systemitem> basados en red.
- Configure siempre un cortafuegos exclusivo, esto es,
- <quote>restringir todo <emphasis>menos</emphasis> los puertos
- A, B, C, D y M-Z</quote>. De esta manera restringirá
- todos sus puertos con números bajos excepto ciertos
- servicios específicos como
- <application>named</application> (si es el servidor primario de
- una zona), <application>ntalkd</application>,
- <application>sendmail</application>, y otros servicios accesibles
- desde Internet. Si configura el cortafuegos de la otra
- manera (como un cortafuegos inclusivo o permisivo), tiene grandes
- posibilidades de que olvide <quote>cerrar</quote> un
- par de servicios, o de que agregue un nuevo servicio interno y
- olvide actualizar el cortafuegos. Puede incluso abrir el rango
- de números de puerto altos en el cortafuegos para permitir
- operaciones de tipo permisivo sin comprometer sus puertos
- bajos. Recuerde también que &os; le permite controlar
- el rango de números de puerto utilizados para asignación
- dinámica a través de las numerosas
- <varname>net.inet.ip.portrange</varname> de
- <command>sysctl</command>
- (<command>sysctl -a | fgrep portrange</command>), lo cual
- también facilita la complejidad de la configuración
- de su cortafuegos. Por ejemplo, puede utilizar un rango normal
- primero/último de 4000 ó 5000, y un rango de puerto
- alto de 49152 a 65535; bloquée todo por debajo de
- 4000 (excepto para ciertos puertos específicos
- accesibles desde Internet, por supuesto).</para>
-
- <indexterm><primary>ICMP_BANDLIM</primary></indexterm>
-
- <para>Otro ataque DoS común es llamado ataque
- <quote>springboard</quote>: atacar un servidor de forma que
- genere respuestas que lo sobrecarguen, sobrecarguen la red local
- o alguna otra máquina. Los ataques más
- comunes de este tipo son los
- <emphasis>ataques ICMP ping broadcast</emphasis>.
- El atacante falsifica paquetes ping enviados a la dirección
- broadcast de su LAN simulando que la dirección IP origen
- es la de la máquina que desean atacar. Si sus routers
- de frontera no están configurados para lidiar con pings a
- direcciones de broadcast su LAN termina generando suficientes
- respuestas a la dirección origen falsificada como para saturar
- a la víctima, especialmente cuando el atacante utiliza
- el mismo truco en varias docenas de direcciones broadcast en
- varias docenas de redes diferentes a la vez. Se han medido
- ataques de broadcast de más de ciento veinte megabits.
- Un segundo tipo de ataque <quote>springboard</quote> bastante
- común se da contra el sistema de informe de error de ICMP.
- Un atacante puede saturar la conexión entrante de red de un
- servidor mediante la construcción de paquetes que generen
- respuestas de error ICMP, provocando que el servidor sature su
- conexión saliente de red con respuestas ICMP. Este tipo
- de ataque también puede tumbar el servidor agotando sus
- <quote>mbufs</quote>, especialmente si el servidor no puede
- drenar lo suficientemente rápido las respuestas ICMP que
- genera. El kernel de &os; tiene una opción de
- compilación llamada <option>ICMP_BANDLIM</option>,
- que limita la efectividad de este tipo de ataques.
- La última gran categoría de ataques
- <quote>springboard</quote> está relacionada con
- ciertos servicios de <application>inetd</application>, como
- el servicio de eco udp. El atacante simplemente imita un paquete
- UDP con el puerdo de eco del servidor A como dirección de
- origen, y el puerto eco del servidor B como dirección de
- destino, estando ambos servidores en la misma LAN. Un atacante
- puede sobrecargar ambos servidores y la propia LAN inyectando
- simplemente un par de paquetes. Existen problemas similares
- con el puerto
- <application>chargen</application>. Un administrador de sistemas
- competente apagará todos estos servicios internos de
- verificación de inetd.</para>
-
- <para>Los ataques con paquetes falsificados pueden utilizarse
- también para sobrecargar la caché de rutas del kernel.
- Consulte los parámetros de <command>sysctl</command>
- <varname>net.inet.ip.rtexpire</varname>,
- <varname>rtminexpire</varname>, y
- <varname>rtmaxcache</varname>.
- Un ataque de paquetes falsificados que utiliza una dirección
- IP origen aleatoria provocará que el kernel genere una
- ruta temporal en caché en su tabla de rutas, visible con
- <command>netstat -rna | fgrep W3</command>. Estas rutas
- suelen expiran en 1600 segundos más o menos. Si el
- kernel detecta que la tabla de rutas en caché es ya
- demasiado grande reducirá dinámicamente
- <varname>rtexpire</varname>, pero nunca la reducirá a un
- valor que sea menor que <varname>rtminexpire</varname>.
- Esto nos presenta dos problemas:</para>
-
- <orderedlist>
- <listitem>
- <para>El kernel no reacciona con suficiente rapidez cuando
- un servidor ligeramente cargado es atacado.</para>
- </listitem>
-
- <listitem>
- <para>El <varname>rtminexpire</varname> no es lo suficientemente
- bajo para que el kernel sobreviva a un ataque sostenido.</para>
- </listitem>
- </orderedlist>
-
- <para>Si sus servidores están conectados a Internet mediante
- mediante una línea T3 o superior puede ser prudente corregir
- manualmente
- <varname>rtexpire</varname> y <varname>rtminexpire</varname>
- por medio de &man.sysctl.8;. Nunca ponga ambos parámetros
- a cero (a menos que desée estrellar la máquina).
- Configurar ambos parámetros a 2 segundos debería
- bastar para proteger de ataques la tabla de rutas.</para>
- </sect2>
-
- <sect2>
- <title>Otros aspectos del acceso con Kerberos y SSH</title>
- <indexterm><primary><command>ssh</command></primary></indexterm>
- <indexterm><primary>KerberosIV</primary></indexterm>
-
- <para>Existen un par de detalles con respecto a
- Kerberos y ssh que debe analizar sy pretende usarlos.
- Kerberos V es un excelente protocolo de
- protocolo de autentificación, pero hay errores en la
- versión kerberizada de <application>telnet</application>
- y <application>rlogin</application> que las hacen
- inapropiadas para gestionar flujos binarios.
- Ademé Kerberos no cifra por defecto una
- sesión a menos que utilice la opción
- <option>-x</option>. <application>ssh</application> cifra todo
- por defecto.</para>
-
-
- <para>ssh funciona bastante bien en todos los casos, con la sola
- salvedad de que por defecto reenvía llaves de cifrado.
- Esto significa que si usted tiene una estación de trabajo
- segura, que contiene llaves que le dan acceso al resto del sistema,
- y hace ssh a una máquina insegura, sus llaves se pueden
- utilizar. Las llaves en sí no se exponen, pero ssh
- crea un puerto de reenvío durante el login, y si un
- atacante ha comprometido el <systemitem class="username">root</systemitem>
- de la máquina insegura, puede utilizar ese puerto
- para usar sus llaves y obtener acceso a cualquier otra
- máquina que sus llaves abran.</para>
-
- <para>Le recomendamos que, siempre que sea posible, use ssh
- combinado con Kerberos en los login de su personal de
- administración.
- para logins de staff. Puede compilar
- <application>ssh</application> con soporte de Kerberos.
- Esto reducirá su dependencia de llaves ssh expuestas,
- al mismo tiempo que protege las contraseñas vía
- Kerberos. Las llaves ssh deben usarse sólamente para
- tareas automáticas desde máquinas seguras
- (algo que Kerberos no hace por incompatibilidad). Recomendamos
- también que desactive el reenvío de llaves
- en la configuración de ssh, o que use la
- opción <literal>from=IP/DOMAIN</literal> que ssh incluye
- en <filename>authorized_keys</filename>; así la llave
- sólo podrá ser utilizada por entidades que se
- validen desde máquinas
- específicas.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="crypt">
- <info><title>DES, MD5 y Crypt</title>
- <authorgroup>
- <author><personname><firstname>Bill</firstname><surname>Swingle</surname></personname><contrib>Secciones reescritas y actualizadas por </contrib></author>
- </authorgroup>
-
- </info>
-
-
- <indexterm>
- <primary>seguridad</primary>
- <secondary>crypt</secondary>
- </indexterm>
-
- <indexterm><primary>crypt</primary></indexterm>
- <indexterm><primary>DES</primary></indexterm>
- <indexterm><primary>MD5</primary></indexterm>
-
- <para>Cada usuario de un sistema &unix; tiene una contraseña
- asociada a su cuenta. Parece obvio que estas contraseñas
- sólo deben ser conocidas por el usuario y por el sistema
- operativo. Para que estas contraseñas permanezcan en secreto
- se cifran con lo que se conoce como un
- <quote>hash de una pasada</quote>, esto es, sólo pueden ser
- fácilmente cifradas pero no descifradas. En otras palabras,
- lo que acabamos de decir es tan obvio que ni siguiera es verdad:
- el propio sistema operativo no sabe cuál es
- <emphasis>realmente</emphasis> la contraseña.
- Lo único que conoce es la versión
- <emphasis>cifrada</emphasis> de la contrasenña.
- La única manera de obtener la
- contraseña en <quote>texto plano</quote> es por medio
- de una búsqueda de fuerza bruta en el espacio de
- contraseñas posibles.</para>
-
- <para>Por desgracia la única manera segura de cifrar
- contraseñas cuando &unix; empezó a hacerlo estaba
- basada en DES, (<quote>Data Encryption Standard</quote>,
- <quote>estándar de cifrado de datos</quote>).
- Esto no era un gran problema para usuarios residentes en los EEUU,
- pero el código fuente de &os; no se podía exportar desde
- los EEUU, así que &os; hubo de buscar una forma de complir
- las leyes de EEUU y al mismo tiempo mantener la compatibilidad con
- otras variantes de &unix; que
- que todavía utilizaban DES.</para>
-
- <para>La solución fué dividir las bibliotecas de cifrado
- para que los usuarios de EEUU pudieran instalar las bibliotecas DES
- pero los usuarios del resto del mundo tuvieran un método
- de cifrado que pudiera ser exportado. Así es como &os;
- comenzó a usar MD5 como su método de cifrado por
- defecto. MD5 se considera más seguro que DES, así
- que se mantiene la opción de poder instalar DES por motivos
- de compatibilidad.</para>
-
- <sect2>
- <title>Cómo reconocer su mecanismo de cifrado</title>
-
- <para>En versiones anteriores a &os;&nbsp;4.4
- <filename>libcrypt.a</filename> era un enlace
- simbólico que apuntaba a la biblioteca que se usaba para el
- cifrado. En &os;&nbsp;4.4 se cambió
- <filename>libcrypt.a</filename> para ofrecer una biblioteca hash
- configurable de validación de contraseñas.
- Actualmente la biblioteca permite funciones hash DES, MD5 y
- Blowfish. &os; utiliza por defecto MD5 para cifrar
- contraseñas.</para>
-
- <para>Es muy sencillo identificar qué método usa &os;
- para cifrar. Una forma es examinando las contraseñas
- cifradas en <filename>/etc/master.passwd</filename>.
- Las contraseñas cifradas con el hash MD5 son más
- largas que las cifradas con el hash DES, y también
- comienzan por los caracteres
- <literal>&dollar;1&dollar;</literal>. Las contraseñas
- que comienzan por <literal>&dollar;2a&dollar;</literal> están
- cifradas con la función hash de Blowfish. Las
- contraseñas DES no tienen ninguna
- característica particular, pero son más cortas que
- las contraseñas MD5, y están codificadas en un
- alfabeto de 64 caracteres que no incluye el caracter
- <literal>&dollar;</literal>; es por esto que una cadena
- relativamente corta que comience con un signo de
- dólar es muy probablemente una contraseña
- DES.</para>
-
- <para>El formato de contraseña a usar en nuevas
- contraseñas se define en
- <filename>/etc/login.conf</filename> mediante
- <literal>passwd_format</literal>, pudiendo tener los valores
- <literal>des</literal>, <literal>md5</literal> o
- <literal>blf</literal>. Consulte la página de manual
- &man.login.conf.5; para más información.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="one-time-passwords">
- <title>Contraseñas de un solo uso</title>
- <indexterm><primary>Contraseñas de un solo uso</primary></indexterm>
- <indexterm>
- <primary>seguridad</primary>
- <secondary>Contraseñas de un solo uso</secondary>
- </indexterm>
-
- <para>S/Key es un esquema de contraseña de un solo uso
- basado en una función de hash de sentido único.
- &os; utiliza el
- hash MD4 por compatibilidad, pero otros sistemas usan
- MD5 y DES-MAC. S/Key forma parte del sistema base de &os;
- desde la versión 1.1.5 y se usa también en
- un número creciente de otros sistemas operativos. S/Key
- es una marca registrada de Bell Communications Research, Inc.</para>
-
- <para>A partir de la versión 5.0 de &os; S/Key fué
- reemplazado por su equivalente OPIE (<quote>One-time Passwords
- In Everything</quote>, <quote>Contraseñas de un solo
- uso para todo</quote>). OPIE usa por defecto hash MD5.</para>
-
- <para>En esta sección se explican tres tipos de
- contraseña. La primera es la típica
- contraseña al estilo &unix; o Kerberos; las llamaremos
- <quote>contraseñas &unix;</quote>.
- El segundo tipo es la contraseña de un solo uso,
- que se genera con el programa <command>key</command> de S/Key o
- con &man.opiekey.1; de OPIE, y que aceptan los programas
- <command>keyinit</command>, &man.opiepasswd.1;, y el prompt de
- login; llamaremos a esta una
- <quote>contraseña de un solo uso</quote>.
- El último tipo de contraseña es la contraseña
- secreta que le da usted a los programas
- <command>key</command>/<command>opiekey</command> (y a veces
- <command>keyinit</command>/<command>opiepasswd</command>), que
- se usa para generar contraseñas de un solo uso;
- a estas las llamaremos <quote>contraseñas secretas</quote>,
- o simplemente <quote>contraseña</quote>.</para>
-
- <para>La contraseña secreta no tiene nada que ver con su
- contraseña &unix;; pueden ser la misma, pero no es
- recomendable. Las contraseñas secretas S/Key y OPIE no
- están limitadas a 8 caracteres como las contraseñas
- &unix; antiguas<footnote><para>En &os; la contraseña del
- login estándar puede ser de hasta 128 caracteres de
- longitud.</para></footnote>, pueden ser tan largas como se quiera.
- Las contraseñas con frases de seis o siete palabras muy largas
- son bastante comunes. El funcionamiento del sistema S/Key o el
- OPIE es en gran parte completamente independiente del sistema de
- contraseñas &unix;.</para>
-
- <para>Además de la contraseña hay dos datos que son
- importantes para S/Key y OPIE. Uno es lo que se conoce como
- <quote>semilla</quote> o <quote>llave</quote>, que consiste en dos
- letras y cinco dígitos. El otro dato importante se llama
- la <quote>cuenta de iteración</quote>, que es un número
- entre 1 y 100. S/Key genera la contraseña de un solo
- uso concatenando la semilla y la contraseña secreta,
- aplica el hash MD4/MD5 tantas veces como especifique la cuenta de
- iteración y convierte el resultado en seis palabras
- cortas en inglés. Estas seis palabras en inglés
- son su contraseña de un solo uso. El sistema de
- autentificación (principalmente PAM) mantiene un registro del
- uso de contraseñas de un solo uso, y el usuario
- puede validarse si el hash de la contraseña que proporciona
- es igual a la contraseña previa. Como se utiliza un
- hash de sentido único es imposible generar futuras
- contraseñas de un solo uso si una contraseña
- que ya ha sido usada fuera capturada;
- la cuenta de iteración se reduce después de cada login
- correcto para sincronizar al usuario con el programa login.
- Cuanto la iteración llega a 1, S/Key y OPIE deben
- reinicializar.</para>
-
- <para>Hay tres programas involucrados en cada uno de estos
- sistemas. Los programas <command>key</command> y
- <command>opiekey</command> aceptan una cuenta iterativa,
- una semilla y una contraseña secreta, y generan
- una contraseña de un solo uso o una lista consecutiva
- de contraseñas de un solo uso. Los programas
- <command>keyinit</command> y <command>opiepasswd</command>
- se usan respectivamente para inicializar S/Key y OPIE,
- y para cambiar contraseñas, cuentas iterativas o
- semillas; toman ya sea una frase secreta, o una cuenta
- iterativa y una contraseña de un solo uso. Los
- programas <command>keyinfo</command> y <command>opieinfo</command>
- examinan los ficheros de credenciales correspondientes
- (<filename>/etc/skeykeys</filename> o
- <filename>/etc/opiekeys</filename>) e imprimen la cuenta
- iterativa y semilla del usuario invocante.</para>
-
- <para>Explicaremos cuatro tipos de operaciones diferentes.
- La primera es usar <command>keyinit</command> o
- <command>opiepasswd</command> a través de una conexión
- segura para configurar contraseñas de un solo uso por
- primera vez, o para cambiar su contraseña o semilla.
- La segunda operación es utilizar <command>keyinit</command>
- o <command>opiepasswd</command> a través de una conexión
- insegura, además de usar <command>key</command> u
- <command>opiekey</command> sobre una conexión segura para
- hacer lo mismo. La tercera es usar
- <command>key</command>/<command>opiekey</command> para conectarse a
- través de una conexión insegura. La cuarta es usar
- <command>opiekey</command> o <command>key</command> para generar
- numerosas llaves, que pueden ser escritas para llevarlas con usted
- al ir a algún lugar desde el que no se puedan hacer conexiones
- seguras a ningún sitio.</para>
-
- <sect2>
- <title>Inicialización de conexiones seguras</title>
-
- <para>Para inicializar S/Key por primera vez cambie su contraseña,
- o cambie su semilla mientras está conectado a través de
- una conexión segura (esto es, en la consola de una
- máquina o vía <application>ssh</application>); use
- <command>keyinit</command> sin ningún parámetro:</para>
-
- <screen>&prompt.user; <userinput>keyinit</userinput>
-Adding unfurl:
-Reminder - Only use this method if you are directly connected.
-If you are using telnet or rlogin exit with no password and use keyinit -s.
-Enter secret password:
-Again secret password:
-
-ID unfurl s/key is 99 to17757
-DEFY CLUB PRO NASH LACE SOFT</screen>
-
- <para>En OPIE se utiliza <command>opiepasswd</command>:</para>
-
- <screen>&prompt.user; <userinput>opiepasswd -c</userinput>
-[grimreaper] ~ $ opiepasswd -f -c
-Adding unfurl:
-Only use this method from the console; NEVER from remote. If you are using
-telnet, xterm, or a dial-in, type ^C now or exit with no password.
-Then run opiepasswd without the -c parameter.
-Using MD5 to compute responses.
-Enter new secret pass phrase:
-Again new secret pass phrase:
-ID unfurl OTP key is 499 to4268
-MOS MALL GOAT ARM AVID COED
-</screen>
-
- <para>En <prompt>Enter new secret pass phrase:</prompt> o
- <prompt>Enter secret password:</prompt>, debe introducir
- una contraseña o frase. Recuerde que no es la
- contraseña que utilizará para entrar, se usará
- para generar sus llaves de un solo uso. La línea
- <quote>ID</quote> da los parámetros de su instancia
- en particular: su nombre de login, la cuenta iterativa y
- semilla. En el momento del login el sistema recordará estos
- parámetros y los presentará de nuevo para que
- no tenga que recordarlos. La última línea proporciona
- las contraseéas de un solo uso que
- corresponden a esos parámetros y su contraseña
- secreta; si fuera a hacer login de manera inmediata,
- debería usar esta contraseña de una sola vez.</para>
- </sect2>
-
- <sect2>
- <title>Inicialización de conexiones inseguras</title>
-
- <para>Para inicializar o cambiar su contraseña secreta
- a través de una conexión insegura, necesitará
- tener alguna conexión segura a algún lugar
- donde pueda ejecutar <command>key</command> u
- <command>opiekey</command>; puede ser gracias a un accesorio de
- escritorio o en una &macintosh;, o un prompt de shell en una
- máquina en la que confíe. Necesitará
- también una cuenta iterativa (100 probablemente sea un
- buen valor), y puede usar su propia semilla, o usar una generada
- aleatoriamente. Siguiendo con la conexión insegura
- (hacia la máquina que está inicializando), ejecute
- <command>keyinit -s</command>:</para>
-
- <screen>&prompt.user; <userinput>keyinit -s</userinput>
-Updating unfurl:
-Old key: to17758
-Reminder you need the 6 English words from the key command.
-Enter sequence count from 1 to 9999: <userinput>100</userinput>
-Enter new key [default to17759]:
-s/key 100 to 17759
-s/key access password:
-s/key access password:<userinput>CURE MIKE BANE HIM RACY GORE</userinput>
-</screen>
-
- <para>En OPIE debe usar <command>opiepasswd</command>:</para>
-
- <screen>&prompt.user; <userinput>opiepasswd</userinput>
-
-Updating unfurl:
-You need the response from an OTP generator.
-Old secret pass phrase:
- otp-md5 498 to4268 ext
- Response: GAME GAG WELT OUT DOWN CHAT
-New secret pass phrase:
- otp-md5 499 to4269
- Response: LINE PAP MILK NELL BUOY TROY
-
-ID mark OTP key is 499 gr4269
-LINE PAP MILK NELL BUOY TROY
-</screen>
-
- <para>Para aceptar la semilla por defecto (la que
- el programa <command>keyinit</command> llama
- <literal>key</literal>, <quote>llave</quote>, para terminar de
- complicar las cosas), pulse <keycap>Enter</keycap>.
- Antes de introducir una una contraseña de acceso
- cambie a su conexión o accesorio de escritorio S/Key y
- dele el mismo parámetro:</para>
-
- <screen>&prompt.user; <userinput>key 100 to17759</userinput>
-Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password: <userinput>&lt;secret password&gt;</userinput>
-CURE MIKE BANE HIM RACY GORE</screen>
-
- <para>O para OPIE:</para>
-
- <screen>&prompt.user; <userinput>opiekey 498 to4268</userinput>
-Using the MD5 algorithm to compute response.
-Reminder: Don't use opiekey from telnet or dial-in sessions.
-Enter secret pass phrase:
-GAME GAG WELT OUT DOWN CHAT
-</screen>
-
- <para>Vuelva a la conexión insegura y copie la
- contraseña de un solo uso generada al programa
- que quiera usar.</para>
- </sect2>
-
- <sect2>
- <title>Generación una sola contraseña de un solo
- uso</title>
-
- <para>Una vez que ha inicializado S/Key u OPIE, cuando haga login
- verá un <quote>prompt</quote> parecido al siguiente:</para>
-
-<screen>&prompt.user; <userinput>telnet ejemplo.com</userinput>
-Trying 10.0.0.1...
-Connected to ejemplo.com
-Escape character is '^]'.
-
-FreeBSD/i386 (ejemplo.com) (ttypa)
-
-login: <userinput>&lt;username&gt;</userinput>
-s/key 97 fw13894
-Password: </screen>
-
- <para>O, en el caso de OPIE:</para>
-
-<screen>&prompt.user; <userinput>telnet ejemplo.com</userinput>
-Trying 10.0.0.1...
-Connected to ejemplo.com
-Escape character is '^]'.
-
-FreeBSD/i386 (ejemplo.com) (ttypa)
-
-login: <userinput>&lt;nombre_de_usuario&gt;</userinput>
-otp-md5 498 gr4269 ext
-Password: </screen>
-
- <para>Como una nota aparte, el <quote>prompt</quote> de S/Key y OPIE
- cuenta con una opción útil (que no se muestra
- aquí): si pulsa <keycap>Enter</keycap> en el
- <quote>prompt</quote> de contraseña el
- <quote>prompt</quote> activará el eco para que pueda ver
- en pantalla lo que teclea. Esto puede ser extremadamente
- útil si está tecleando una contraseña a
- a mano o desde un la lista impresa.</para>
-
- <indexterm><primary>MS-DOS</primary></indexterm>
- <indexterm><primary>Windows</primary></indexterm>
- <indexterm><primary>MacOS</primary></indexterm>
-
- <para>Ahora necesitará generar su contraseña de un
- sólo uso para responder a este <quote>prompt</quote> de
- login. Debe hacerlo en un sistema digno de confianza y en el que
- pueda ejecutar <command>key</command> u <command>opiekey</command>.
- Existen versiones DOS, &windows; y también para &macos;.
- Ambos usarán la cuenta iterativa y la semilla como opciones
- de línea de órdenes. Puede cortarlas y pegarlas desde el
- <quote>prompt</quote> de login de la máquina en la
- que se está identificando.</para>
-
- <para>En el sistema de confianza:</para>
-
- <screen>&prompt.user; <userinput>key 97 fw13894</userinput>
-Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password:
-WELD LIP ACTS ENDS ME HAAG</screen>
-
- <para>Con OPIE:</para>
-
- <screen>&prompt.user; <userinput>opiekey 498 to4268</userinput>
-Using the MD5 algorithm to compute response.
-Reminder: Don't use opiekey from telnet or dial-in sessions.
-Enter secret pass phrase:
-GAME GAG WELT OUT DOWN CHAT</screen>
-
- <para>Ahora que tiene su contraseña de un solo uso puede
- proceder con el login:</para>
-
- <screen>login: <userinput>&lt;nombre_de_usuario&gt;</userinput>
-s/key 97 fw13894
-Password: <userinput>&lt;Enter para activar el eco&gt;</userinput>
-s/key 97 fw13894
-Password [echo on]: WELD LIP ACTS ENDS ME HAAG
-Last login: Tue Mar 21 11:56:41 from 10.0.0.2 ... </screen>
-
- </sect2>
-
- <sect2>
- <title>Generación de múltiples contraseñas
- de un solo uso</title>
-
- <para>A veces usted hay que ir a lugares donde no hay
- acceso a una máquina de fiar o a una conexión
- segura. En estos casos, puede utilizar
- <command>key</command> y <command>opiekey</command> para
- generar previamente numerosas contraseñas de un solo uso
- para, una vez impresas, llevárselas a donde hagan falta.
- Por ejemplo:</para>
-
- <screen>&prompt.user; <userinput>key -n 5 30 zz99999</userinput>
-Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password: <userinput>&lt;secret password&gt;</userinput>
-26: SODA RUDE LEA LIND BUDD SILT
-27: JILT SPY DUTY GLOW COWL ROT
-28: THEM OW COLA RUNT BONG SCOT
-29: COT MASH BARR BRIM NAN FLAG
-30: CAN KNEE CAST NAME FOLK BILK</screen>
-
- <para>O para OPIE:</para>
-
- <screen>&prompt.user; <userinput>opiekey -n 5 30 zz99999</userinput>
-Using the MD5 algorithm to compute response.
-Reminder: Don't use opiekey from telnet or dial-in sessions.
-Enter secret pass phrase: <userinput>&lt;secret password&gt;</userinput>
-26: JOAN BORE FOSS DES NAY QUIT
-27: LATE BIAS SLAY FOLK MUCH TRIG
-28: SALT TIN ANTI LOON NEAL USE
-29: RIO ODIN GO BYE FURY TIC
-30: GREW JIVE SAN GIRD BOIL PHI</screen>
-
- <para>El <option>-n 5</option> pide cinco llaves en secuencia, la
- opción <option>30</option> especifica que ese debe ser el
- último número de iteración. Observe que se
- imprimen en el orden <emphasis>inverso</emphasis> de uso.
- Si es realmente paranoico escriba los resultados a mano; si no,
- puede enviar la salida a <command>lpr</command>. Observe que
- cada línea muestra la cuenta iterativa y la
- contraseña de un solo uso; puede ir tachando las
- contraseñas según las vaya utilizando.</para>
- </sect2>
-
- <sect2>
- <title>Restricción del uso de contraseñas &unix;</title>
-
- <para>S/Key puede implantar restricciones en el uso de contraseñas
- &unix; basándose en el nombre de equipo, nombre de usuario,
- puerto de terminal o dirección IP de una sesión de
- login. Consulte el fichero de configuración
- <filename>/etc/skey.access</filename>. La página de manual
- de &man.skey.access.5; contiene más información sobre el
- formato del fichero y detalla también algunas precauciones
- de seguridad que hay que tener en cuenta antes de basar nuestra
- seguridad en este fichero.</para>
-
- <para>Si <filename>/etc/skey.access</filename> no existiera
- (por defecto es así en sistemas &os;&nbsp;4.X) todos los
- usuarios podrán disponer de contraseñas &unix;.
- Si el fichero existe se exigirá a todos los usuarios
- el uso de S/Key, a menos que se configure de otro modo en
- <filename>skey.access</filename>. En todos los casos las
- contraseñas &unix; son admiten en consola.</para>
-
- <para>Aquí hay un ejemplo del fichero de configuración
- <filename>skey.access</filename> que muestra las tres formas más
- comunes de configuración:</para>
-
- <programlisting>permit internet 192.168.0.0 255.255.0.0
-permit user fnord
-permit port ttyd0</programlisting>
-
- <para>La primera línea (<literal>permit internet</literal>)
- permite a usuarios cuyas direcciones IP origen (las cuales son
- vulnerables a una falsificación) concuerden con los valores
- y máscara especificados utilizar contraseñas &unix;.
- Esto no debe usarse como mecanismo de seguridad, sino como
- medio de recordarle a los usuarios autorizados que están
- usando una red insegura y necesitan utilizar S/Key para
- la validación.</para>
-
- <para>La segunda línea (<literal>permit user</literal>)
- permite al nombre de usuario especificado, en este caso
- <systemitem class="username">fnord</systemitem>, utilizar contraseñas &unix;
- en cualquier momento. Hablando en general, esto solo debe ser
- usado por gente que no puede usar el programa <command>key</command>,
- como aquellos con terminales tontas o refractarios al
- aprendizaje.</para>
-
- <para>La tercera línea (<literal>permit port</literal>)
- permite a todos los usuarios validados en la línea de
- terminal especificada utilizar contraseñas &unix;;
- esto puede usarse para usuarios que se conectan mediante
- <quote>dial-ups</quote>.</para>
-
- <para>OPIE puede restringir el uso de contraseñas &unix;
- basándose en la dirección IP de una sesión
- de login igual que lo haría S/Key. El fichero que gestiona
- esto es <filename>/etc/opieaccess</filename>, que está
- incluído por defecto en sistemas &os;&nbsp;5.0 o posteriores.
- Revise &man.opieaccess.5; para más información sobre
- este fichero y qué consideraciones de seguridad debe tener
- presentes a la hora de usarlo.</para>
-
- <para>Veamos un ejemplo de <filename>opieaccess</filename>:</para>
-
- <programlisting>permit 192.168.0.0 255.255.0.0</programlisting>
-
- <para>Esta línea permite a usuarios cuya dirección
- IP de origen (vulnerable a falsificación) concuerde
- con los valores y máscara especificados, utilizar
- contraseñas &unix; en cualquier momento.</para>
-
- <para>Si no concuerda ninguna regla en <filename>opieaccess</filename>
- se niegan por defecto los logins no-OPIE.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="tcpwrappers">
- <info><title>TCP Wrappers</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por: </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm><primary>TCP Wrappers</primary></indexterm>
-
- <para>Cualquiera que esté familiarizado con &man.inetd.8;
- probablemente haya oído hablar de
- <acronym>TCP</acronym> Wrappers, pero poca gente parece comprender
- completamente su utilidad en un entorno de red. Parece que
- todos quieren instalar un cortafuegos para manejar conexiones
- de red. Aunque un cortafuegos tiene una amplia variedad de
- usos hay cosas que un cortafuegos no es capaz de gestionar,
- como el envío de texto como respuesta al creador de la
- conexión. El software <acronym>TCP</acronym> hace esto
- y más. En las siguientes secciones se explicarán
- unas cuantas opciones de
- <acronym>TCP</acronym> Wrappers y, cuando sea necesario, se
- mostrarán ejemplos de configuraciones.</para>
-
- <para>El software <acronym>TCP</acronym> Wrappers extiende
- las habilidades de <command>inetd</command> para ofrecer
- soporte para cada servidor d&aelig;mon bajo su control.
- Utilizando este método es posible proveer soporte de
- logs, devolver mensajes a conexiones, permitir a un d&aelig;mon
- aceptar solamente conexiones internas, etc. Aunque algunas de estas
- opciones pueden conseguirse gracias a un cortafuegos, no sólo
- añadirá una capa extra de seguridad, sino que irá
- más allá del nivel de control ue un cortafuegos
- puede ofrecerle.</para>
-
- <para>Las brillantes capacidades de <acronym>TCP</acronym> Wrappers
- no deben considerarse una alternativa a un buen cortafuegos.
- <acronym>TCP</acronym> Wrappers puede usarse conjuntamente con un
- cortafuegos u otro sistema de de seguridad, pues ofrece una capa
- extra de protección para el sistema.</para>
-
- <para>Ya que es una extensión de la configuración
- de <command>inetd</command>, se da por hecho que el lector ha
- leído la sección
- <link linkend="network-inetd">configuración de inetd</link>.</para>
-
- <note>
- <para>Aunque los programas ejecutados por &man.inetd.8; no son
- exactamente <quote>d&aelig;mons</quote> tradicionalmente han
- recibido ese nombre. D&aelig;mon es, por tanto, el término
- que usaremos en esta sección.</para>
- </note>
-
- <sect2>
- <title>Configuración inicial</title>
-
- <para>El único requisito para usar
- <acronym>TCP</acronym> Wrappers en &os; es que el servidor
- <command>inetd</command> se inicie desde
- <filename>rc.conf</filename> con la opción
- <option>-Ww</option> (es la configuración
- por defecto). Por descontado, se presupone que
- <filename>/etc/hosts.allow</filename> estará correctamente
- configurado, pero &man.syslogd.8; enviará mensajes
- a los logs del sistema si no es así.</para>
-
- <note>
- <para>A diferencia de otras implementaciones de <acronym>TCP</acronym>
- Wrappers, se ha dejado de usar
- <filename>hosts.deny</filename>. Todas las opciones de
- configuración deben ir en
- <filename>/etc/hosts.allow</filename>.</para>
- </note>
-
- <para>En la configuración más simple las
- políticas de conexión de d&aelig;mons están
- configuradas ya sea a permitir o bloquear, dependiendo de
- las opciones en <filename>/etc/hosts.allow</filename>.
- La configuración por defecto en &os; consiste en
- permitir una conexión a cada d&aelig;mon iniciado por
- <command>inetd</command>. Es posible modificar esta
- configuración, pero explicaremos cómo hacerlo
- después de exponer la configuración
- básica.</para>
-
- <para>La configuración básica tiene la estructura
- <literal>d&aelig;mon : dirección : acción</literal>,
- donde <literal>d&aelig;mon</literal> es el nombre de d&aelig;mon
- que inicia <command>inetd</command>. La
- <literal>dirección</literal> puede ser un nombre
- de equipo válido, una dirección IP o
- IPv6 encerrada en corchetes ([&nbsp;]). El campo
- acción puede ser permitir o denegar para el
- dar el acceso apropiado. Tenga presente que la
- configuración funciona en base a la primera
- regla cuya semántica concuerde;
- esto significa que el fichero de configuración se
- lee en orden ascendente hasta que concuerde una regla.
- Cuando se encuentra una concordancia se aplica la regla
- y el proceso se detendrá.</para>
-
- <para>Existen muchas otras opciones pero estas se
- explican en una sección posterior. Una línea
- de configuración simple puede generarse mediante datos
- así de simples. Por ejemplo, para permitir conexiones
- <acronym>POP</acronym>3 mediante el d&aelig;mon
- <package>mail/qpopper</package>, añada
- las siguientes líneas a
- <filename>hosts.allow</filename>:</para>
-
- <programlisting># This line is required for POP3 connections:
-qpopper : ALL : allow</programlisting>
-
- <para>Despues de añadir esta línea tendrá que
- reiniciar <command>inetd</command>. Use &man.kill.1; o use el
- parámetro <parameter>restart</parameter> de
- <filename>/etc/rc.d/inetd</filename>.</para>
- </sect2>
-
- <sect2>
- <title>Configuración avanzada</title>
-
- <para>Las opciones avanzadas de <acronym>TCP</acronym> Wrappers
- le permiten un mayor control sobre la gestión de
- conexiones. En algunos casos puede convenir el enío de
- un comentario a ciertos equipos o conexiones de d&aelig;mons.
- En otros casos, quizás se deba registrar una entrada en
- un log o enviar un correo al administrador. Otro tipo de
- situaciones pueden requerir el uso de un servicio
- solamente para conexiones locales. Todo esto es posible gracias
- al uso de unas opciones de configuración conocidas
- como <literal>comodines</literal>, caracteres de expansión
- y ejecución de órdenes externas. Las siguientes dos
- secciones intentarán cubrir estas situaciones.</para>
-
- <sect3>
- <title>Órdenes externas</title>
-
- <para>Imaginemos una situación en la que una
- conexión debe ser denegada pero se debe mandar un motivo
- a quien intentó establecer esa conexión.
- ?Cómo? Mediante la opción
- <option>twist</option>. Ante un intento de conexión se
- invoca a <option>twist</option>, que ejecuta una orden de shell
- o un <quote>script</quote>. Tiene un ejemplo en el fichero
- <filename>hosts.allow</filename>:</para>
-
- <programlisting># The rest of the daemons are protected.
-ALL : ALL \
- : severity auth.info \
- : twist /bin/echo "No se permite utilizar %d desde %h."</programlisting>
-
- <para>Este ejemplo muestra que el mensaje,
- <quote>No se permite utilizar <literal>d&aelig;mon</literal>
- desde <literal>nombre de equipo</literal>.</quote> se
- enviará en el caso de cualquier d&aelig;mon no configurado
- previamente en el fichero de acceso.
- Esto es extremadamente útil para enviar una respuesta
- al creador de la conexión justo después de
- que la conexión establecida es rechazada. Observe que
- cualquier mensaje que se desee enviar <emphasis>debe ir</emphasis>
- entre comillas <literal>"</literal>; esta regla no tiene
- excepciones.</para>
-
- <warning>
- <para> Es posible lanzar un ataque de denegación
- de servicio al servidor si un atacante o grupo de
- atacantes pueden llegar a sobrecargar estos d&aelig;mons
- con peticiones de conexión.</para>
- </warning>
-
- <para>Otra posibilidad en estos casos es usar la opción
- <option>spawn</option>. Igual que <option>twist</option>,
- <option>spawn</option> niega implícitamente la
- conexión, y puede usarse para ejecutar órdenes de
- shell externos o <quote>scripts</quote>. A diferencia de
- <option>twist</option>, <option>spawn</option> no
- enviará una respuesta al origen de la conexión.
- Veamos un ejemplo; observe la siguiente línea de
- configuración:</para>
-
- <programlisting># No permitimos conexiones desde ejemplo.com:
-ALL : .ejemplo.com \
- : spawn (/bin/echo %a desde %h intento acceder a %d &gt;&gt; \
- /var/log/connections.log) \
- : deny</programlisting>
-
- <para>Esto denegará todos los intentos de conexión
- desde el dominio <systemitem class="fqdomainname">*.ejemplo.com</systemitem>;
- simultáneamente creará una entrada con
- el nombre del equipo, dirección <acronym>IP</acronym>
- y el d&aelig;mon al que intentó conectarse al fichero
- <filename>/var/log/connections.log</filename>.</para>
-
- <para>Además de la sustitución de caracteres ya
- expuesta más arriba (por ejemplo %a) existen unas
- cuantas más. Si quiere ver la lista completa consulte
- la página de manual &man.hosts.access.5;.</para>
- </sect3>
-
- <sect3>
- <title>Opciones comodín</title>
-
- <para>Hasta ahora se ha usado <literal>ALL</literal> en todos
- los ejemplos, pero hay otras opciones interesantes para
- extender un poco más la funcionalidad. Por ejemplo,
- <literal>ALL</literal> puede usarse para concordar con cualquier
- instancia ya sea un d&aelig;mon, dominio o
- dirección <acronym>IP</acronym>. Otro comodín
- es <literal>PARANOID</literal>, que puede utilizarse para
- concordar con cualquier equipo que presente una
- dirección <acronym>IP</acronym> que pueda estar
- falsificada. En otras palabras, <literal>paranoid</literal>
- puede usarse para definir una acción a tomar
- siempre que tenga lugar una conexión desde una
- dirección <acronym>IP</acronym> que difiera de su
- nombre de equipo. Quizás todo se vea más claro
- con el siguiente ejemplo:</para>
-
- <programlisting># Bloquear peticiones posiblemente falsificadas a sendmail:
-sendmail : PARANOID : deny</programlisting>
-
- <para>En ese ejemplo todas las peticiones de conexión
- a <command>sendmail</command> que tengan una
- dirección <acronym>IP</acronym> que varíe
- de su nombre de equipo serán denegadas.</para>
-
- <caution>
- <para>Utilizando <literal>PARANOID</literal> puede bloquear el
- acceso a servidores si el cliente o el servidor
- tiene una configuración de
- <acronym>DNS</acronym> incorrecta. Recomendamos al
- administrador la máxima cautela en su uso.</para>
- </caution>
-
- <para>Consulte &man.hosts.access.5; si quiere saber más
- sobre los comodines y sus posibilidades de uso.</para>
-
- <para>Si quiere que cualquiera de los ejemplos citados
- funcione debe comentar la primera línea de
- <filename>hosts.allow</filename> (tal y como se dijo
- al principio de la sección.</para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="kerberosIV">
- <info><title><application>KerberosIV</application></title>
- <authorgroup>
- <author><personname><firstname>Mark</firstname><surname>Murray</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Mark</firstname><surname>Dapoz</surname></personname><contrib>Basado en un texto de </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Kerberos es un sistema/protocolo de red agregado que permite
- a los usuarios identificarse a través de los servicios de un
- servidor seguro. Los servicios como login remoto, copia remota, copias
- de ficheros de un sistema a otro y otras tantas tareas arriesgadas
- pasan a ser considerablemente seguras y más controlables.</para>
-
- <para>Las siguientes instrucciones pueden usarse como una guía
- para configurar Kerberos tal y como se distribuye con &os;. De todas
- maneras, debe consultar diversas páginas de manual para
- conocer todos los detalles.</para>
-
- <sect2>
- <title>Instalación de <application>KerberosIV</application></title>
-
- <indexterm><primary>MIT</primary></indexterm>
- <indexterm>
- <primary>KerberosIV</primary>
- <secondary>instalación</secondary>
- </indexterm>
- <para>Kerberos es un componente opcional de &os;. La manera
- más fácil de instalar este software es
- seleccionando la distribución <literal>krb4</literal> o
- <literal>krb5</literal> en <application>sysinstall</application>
- durante la instalación inicial de &os;. Desde ahí
- instalará la implementación de Kerberos
- <quote>eBones</quote> (KerberosIV) o
- <quote>Heimdal</quote> (Kerberos5).
- Estas implementaciones se incluyen porque a que han sido
- desarrolladas fuera de EEUU y Canadá, lo que las
- convertía en accesibles para administradores de sistemas
- del resto del mundo durante la época restrictiva de control
- control de exportaciones de código
- criptográfico desde EEUU.</para>
-
- <para>También puede instalar la implementación de
- Kerberos del MIT desde la colección de ports
- (<package>security/krb5</package>).</para>
- </sect2>
-
- <sect2>
- <title>Creación de la base de datos inicial</title>
-
- <para>Esto solo debe hacerse en el servidor Kerberos. Lo primero
- es asegurarse de que no tiene bases de datos de Kerberos
- anteriores. Entre al directorio <filename>/etc/kerberosIV</filename>
- y asegúrese de que solo estén los siguientes
- ficheros:</para>
-
- <screen>&prompt.root; <userinput>cd /etc/kerberosIV</userinput>
-&prompt.root; <userinput>ls</userinput>
-README krb.conf krb.realms</screen>
-
- <para>Si existe cualquier otro fichero (como
- <filename>principal.*</filename>
- o <filename>master_key</filename>) utilice
- <command>kdb_destroy</command> para destruir la base
- de datos antigua de Kerberos. Si Kerberos no está
- funcionando simplemente borre los ficheros sobrantes.</para>
-
- <para>Edite <filename>krb.conf</filename>
- y <filename>krb.realms</filename> para definir su dominio
- Kerberos. En nuestro ejemplo el dominio será
- <literal>EJEMPLO.COM</literal> y el servidor es
- <systemitem class="fqdomainname">grunt.ejemplo.com</systemitem>.
- Editamos o creamos <filename>krb.conf</filename>:</para>
-
- <screen>&prompt.root; <userinput>cat krb.conf</userinput>
-EJEMPLO.COM
-EJEMPLO.COM grunt.ejemplo.com admin server
-CS.BERKELEY.EDU okeeffe.berkeley.edu
-ATHENA.MIT.EDU kerberos.mit.edu
-ATHENA.MIT.EDU kerberos-1.mit.edu
-ATHENA.MIT.EDU kerberos-2.mit.edu
-ATHENA.MIT.EDU kerberos-3.mit.edu
-LCS.MIT.EDU kerberos.lcs.mit.edu
-TELECOM.MIT.EDU bitsy.mit.edu
-ARC.NASA.GOV trident.arc.nasa.gov</screen>
-
- <para>Los demás dominios no deben estar forzosamente en la
- configuración. Los hemos incluido como ejemplo de
- cómo puede hacerse que una máquina trabaje con
- múltiples dominios. Si quiere mantener todo simple puede
- abstenerse de incluirlos.</para>
-
- <para>La primera línea es el dominio en el que el
- sistema funcionará. Las demás líneas
- contienen entradas dominio/equipo. El primer componente de cada
- línea es un dominio y el segundo es un equipo de ese
- dominio, que actúa como
- <quote>centro de distribución de llaves</quote>.
- Las palabras <literal>admin server</literal> que siguen al
- nombre de equipo significan que ese equipo también
- ofrece un servidor de base da datos administrativo.
- Si quiere consultar una explicación más completa de
- estos términos consulte las páginas de manual de
- de Kerberos.</para>
-
- <para>Ahora añadiremos
- <systemitem class="fqdomainname">grunt.ejemplo.com</systemitem> al dominio
- <literal>EJEMPLO.COM</literal> y también una entrada
- para poner todos los equipos en el dominio
- <systemitem class="fqdomainname">.ejemplo.com</systemitem> Kerberos
- <literal>EJEMPLO.COM</literal>. Puede actualizar su
- <filename>krb.realms</filename> del siguiente modo:</para>
-
- <screen>&prompt.root; <userinput>cat krb.realms</userinput>
-grunt.ejemplo.com EJEMPLO.COM
-.ejemplo.com EJEMPLO.COM
-.berkeley.edu CS.BERKELEY.EDU
-.MIT.EDU ATHENA.MIT.EDU
-.mit.edu ATHENA.MIT.EDU</screen>
-
- <para>Igual que en caso previo, no tiene por qué incluir
- los demás dominios. Se han incluido para mostrar
- cómo puede usar una máquina en múltiples
- dominios. Puede eliminarlos y simplificar la
- configuración.</para>
-
- <para>La primera línea pone al sistema
- <emphasis>específico</emphasis>
- en el dominio nombrado. El resto de las líneas muestran
- cómo asignar por defecto sistemas de un subdominio
- a un dominio Kerberos.</para>
-
- <para>Ya podemos crear la base de datos. Solo se ejecuta en el
- servidor Kerberos (o centro de distribución de
- llaves). Ejecute <command>kdb_init</command>:</para>
-
- <screen>&prompt.root; <userinput>kdb_init</userinput>
-<prompt>Realm name [default ATHENA.MIT.EDU ]:</prompt> <userinput>EJEMPLO.COM</userinput>
-You will be prompted for the database Master Password.
-It is important that you NOT FORGET this password.
-
-<prompt>Enter Kerberos master key:</prompt> </screen>
-
- <para>Ahora tendremos que guardar la llave para que los servidores en
- la máquina local puedan recogerla. Utilice
- <command>kstash</command>:</para>
-
- <screen>&prompt.root; <userinput>kstash</userinput>
-
-<prompt>Enter Kerberos master key:</prompt>
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!</screen>
-
- <para>Esto guarda la contraseña cifrada
- maestra en <filename>/etc/kerberosIV/master_key</filename>.</para>
- </sect2>
-
- <sect2>
- <title>Puesta en marcha del sistema</title>
-
- <indexterm>
- <primary>KerberosIV</primary>
- <secondary>encendido inicial</secondary>
- </indexterm>
-
- <para>Tendrá que añadir a la base de datos dos
- entradas en concreto para <emphasis>cada</emphasis> sistema
- que vaya a usar Kerberos: <literal>kpasswd</literal> y
- <literal>rcmd</literal>. Se hacen para cada sistema individualmente
- cada sistema, y el campo <quote>instance</quote> es el nombre
- individual del sistema.</para>
-
- <para>Estos d&aelig;mons <application>kpasswd</application> y
- <application>rcmd</application> permiten a otros sistemas
- cambiar contraseñas de Kerberos y ejecutar órdenes
- como &man.rcp.1;, &man.rlogin.1; y &man.rsh.1;.</para>
-
- <para>Ahora vamos a añadir estas entradas:</para>
-
- <screen>&prompt.root; <userinput>kdb_edit</userinput>
-Opening database...
-
-<prompt>Enter Kerberos master key:</prompt>
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Previous or default values are in [brackets] ,
-enter return to leave the same, or new value.
-
-<prompt>Principal name:</prompt> <userinput>passwd</userinput>
-<prompt>Instance:</prompt> <userinput>grunt</userinput>
-
-&lt;Not found&gt;, <prompt>Create [y] ?</prompt> <userinput>y</userinput>
-
-Principal: passwd, Instance: grunt, kdc_key_ver: 1
-<prompt>New Password:</prompt> &lt;---- tecleo aleatorio
-Verifying password
-
-<prompt>New Password:</prompt> &lt;---- tecleo aleatorio
-
-<prompt>Random password [y] ?</prompt> <userinput>y</userinput>
-
-Principal's new key version = 1
-<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt>
-<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt>
-<prompt>Attributes [ 0 ] ?</prompt>
-Edit O.K.
-<prompt>Principal name:</prompt> <userinput>rcmd</userinput>
-<prompt>Instance:</prompt> <userinput>grunt</userinput>
-
-&lt;Not found&gt;, <prompt>Create [y] ?</prompt>
-
-Principal: rcmd, Instance: grunt, kdc_key_ver: 1
-<prompt>New Password:</prompt> &lt;---- tecleo aleatorio
-Verifying password
-
-<prompt>New Password:</prompt> &lt;---- tecleo aleatorio
-
-<prompt>Random password [y] ?</prompt>
-
-Principal's new key version = 1
-<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt>
-<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt>
-<prompt>Attributes [ 0 ] ?</prompt>
-Edit O.K.
-<prompt>Principal name:</prompt> &lt;---- si introduce datos nulos saldrá del programa</screen>
- </sect2>
-
- <sect2>
- <title>Creación del fichero del servidor</title>
-
- <para>Ahora tendremos que extraer todas las instancias que definen
- los servicios en cada máquina; para ello usaremos
- <command>ext_srvtab</command>. Esto creará un
- fichero que debe ser copiado o movido <emphasis>por medios
- seguros</emphasis> al directorio
- <filename>/etc/kerberosIV</filename> de cada
- cliente Kerberos. Este fichero debe existir en todos los
- servidores y clientes dada su importancia clave para el
- funcionamiento de Kerberos.</para>
-
-
- <screen>&prompt.root; <userinput>ext_srvtab grunt</userinput>
-<prompt>Enter Kerberos master key:</prompt>
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Generating 'grunt-new-srvtab'....</screen>
-
- <para>Esta orden solo genera un fichero temporal al que tendrá
- que cambiar el nombre a <filename>srvtab</filename> para que todos
- los servidores puedan recogerlo. Utilice
- &man.mv.1; para moverlo al lugar correcto en el sistema
- original:</para>
-
- <screen>&prompt.root; <userinput>mv grunt-new-srvtab srvtab</userinput></screen>
-
- <para>Si el fichero es para un sistema cliente y la red no puede
- considerarse segura copie el
- <filename>cliente-new-srvtab</filename>
- en un medio extraíble y transpórtelo por medios
- físicos seguros. Asegúrese de cambiar su nombre a
- <filename>srvtab</filename> en el directorio
- <filename>/etc/kerberosIV</filename> del cliente, y
- asegúrese también de que tiene modo 600:</para>
-
- <screen>&prompt.root; <userinput>mv grumble-new-srvtab srvtab</userinput>
-&prompt.root; <userinput>chmod 600 srvtab</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Añadir entradas a la base de datos</title>
-
- <para>Ahora tenemos que añadir entradas de usuarios a la
- base de datos. Primero vamos a crear una entrada para el usuario
- <systemitem class="username">jane</systemitem>. Para ello usaremos
- <command>kdb_edit</command>:</para>
-
- <screen>&prompt.root; <userinput>kdb_edit</userinput>
-Opening database...
-
-<prompt>Enter Kerberos master key:</prompt>
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Previous or default values are in [brackets] ,
-enter return to leave the same, or new value.
-
-<prompt>Principal name:</prompt> <userinput>jane</userinput>
-<prompt>Instance:</prompt>
-
-&lt;Not found&gt;, <prompt>Create [y] ?</prompt> <userinput>y</userinput>
-
-Principal: jane, Instance: , kdc_key_ver: 1
-<prompt>New Password:</prompt> &lt;---- introduzca una constraseña segura
-Verifying password
-
-<prompt>New Password:</prompt> &lt;---- introduzca de nuevo la contraseña
-Principal's new key version = 1
-<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt>
-<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt>
-<prompt>Attributes [ 0 ] ?</prompt>
-Edit O.K.
-<prompt>Principal name:</prompt> &lt;---- si introduce datos nulos saldrá del programa</screen>
- </sect2>
-
- <sect2>
- <title>Prueba del sistema</title>
-
- <para>Primero tenemos que iniciar los d&aelig;mons de Kerberos.
- Tenga en cuenta que si su <filename>/etc/rc.conf</filename>
- está configurado correctamente el inicio tendrá
- ligar cuando reinicie el sistema. Esta prueba solo es necesaria
- en el servidor Kerberos; los clientes Kerberos tomarán
- lo que necesiten automáticamente desde el directorio
- <filename>/etc/kerberosIV</filename>.</para>
-
- <screen>&prompt.root; <userinput>kerberos &amp;</userinput>
-Kerberos server starting
-Sleep forever on error
-Log file is /var/log/kerberos.log
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-
-Current Kerberos master key version is 1
-Local realm: EJEMPLO.COM
-&prompt.root; <userinput>kadmind -n &amp;</userinput>
-KADM Server KADM0.0A initializing
-Please do not use 'kill -9' to kill this job, use a
-regular kill instead
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!</screen>
-
- <para>Ahora podemos probar a usar <command>kinit</command>
- para obtener un ticket para el ID <systemitem class="username">jane</systemitem>
- que creamos antes:</para>
-
- <screen>&prompt.user; <userinput>kinit jane</userinput>
-MIT Project Athena (grunt.ejemplo.com)
-Kerberos Initialization for "jane"
-<prompt>Password:</prompt> </screen>
-
- <para>Pruebe a listar los tokens con <command>klist</command> para ver
- si realmente están:</para>
-
- <screen>&prompt.user; <userinput>klist</userinput>
-Ticket file: /tmp/tkt245
-Principal: jane@EJEMPLO.COM
-
- Issued Expires Principal
-Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EJEMPLO.COM@EJEMPLO.COM</screen>
-
- <para>Ahora trate de cambiar la contraseña usando
- &man.passwd.1; para comprobar si el d&aelig;mon
- <application>kpasswd</application> está autorizado
- a acceder a la base de datos Kerberos:</para>
-
- <screen>&prompt.user; <userinput>passwd</userinput>
-realm EJEMPLO.COM
-<prompt>Old password for jane:</prompt>
-<prompt>New Password for jane:</prompt>
-Verifying password
-<prompt>New Password for jane:</prompt>
-Password changed.</screen>
- </sect2>
-
- <sect2>
- <title>Añadir privilegios de <command>su</command></title>
-
- <para>Kerberos nos permite dar a <emphasis>cada</emphasis>
- usuario que necesite privilegios de <systemitem class="username">root</systemitem>
- su <emphasis>propia</emphasis> contraseña para &man.su.1;.
- Podemos agregar un ID que esté autorizado a ejecutar
- &man.su.1; <systemitem class="username">root</systemitem>. Esto se controla
- con una instancia de <systemitem class="username">root</systemitem>
- asociada con un usuario. Vamos a crear una entrada
- <literal>jane.root</literal> en la base de datos, para lo que
- recurrimos a <command>kdb_edit</command>:</para>
-
- <screen>&prompt.root; <userinput>kdb_edit</userinput>
-Opening database...
-
-<prompt>Enter Kerberos master key:</prompt>
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Previous or default values are in [brackets] ,
-enter return to leave the same, or new value.
-
-<prompt>Principal name:</prompt> <userinput>jane</userinput>
-<prompt>Instance:</prompt> <userinput>root</userinput>
-
-&lt;Not found&gt;, Create [y] ? y
-
-Principal: jane, Instance: root, kdc_key_ver: 1
-<prompt>New Password:</prompt> &lt;---- introduzca una contraseña SEGURA
-Verifying password
-
-<prompt>New Password:</prompt> &lt;---- introduzca otra vez la constraseña
-
-Principal's new key version = 1
-<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt>
-<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> <userinput>12</userinput> &lt;--- Keep this short!
-<prompt>Attributes [ 0 ] ?</prompt>
-Edit O.K.
-<prompt>Principal name:</prompt> &lt;---- si introduce datos nulos saldrá del programa</screen>
-
- <para>Ahora trate de obtener los tokens para comprobar que
- todo funciona:</para>
-
- <screen>&prompt.root; <userinput>kinit jane.root</userinput>
-MIT Project Athena (grunt.ejemplo.com)
-Kerberos Initialization for "jane.root"
-<prompt>Password:</prompt></screen>
-
- <para>Hemos de agregar al usuario al
- <filename>.klogin</filename> de <systemitem class="username">root</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>cat /root/.klogin</userinput>
-jane.root@EJEMPLO.COM</screen>
-
- <para>Ahora trate de hacer &man.su.1;:</para>
-
- <screen>&prompt.user; <userinput>su</userinput>
-<prompt>Password:</prompt></screen>
-
- <para>y eche un vistazo a qué tokens tenemos:</para>
-
- <screen>&prompt.root; <userinput>klist</userinput>
-Ticket file: /tmp/tkt_root_245
-Principal: jane.root@EJEMPLO.COM
-
- Issued Expires Principal
-May 2 20:43:12 May 3 04:43:12 krbtgt.EJEMPLO.COM@EJEMPLO.COM</screen>
- </sect2>
-
- <sect2>
- <title>Uso de otras órdenes</title>
-
- <para>En un ejemplo anterior creamos un usuario llamado
- <literal>jane</literal> con una instancia <literal>root</literal>.
- Nos basamos en un usuario con el mismo nombre del
- <quote>principal</quote> (<literal>jane</literal>),
- el procedimiento por defecto en Kerberos:
- <literal>&lt;principal&gt;.&lt;instancia&gt;</literal> con la
- estructura
- <literal>&lt;nombre de usuario&gt;.</literal><systemitem class="username">root</systemitem>
- permitirá que <literal>&lt;nombre de usuario&gt;</literal>
- haga &man.su.1; a <systemitem class="username">root</systemitem> si existen
- las entradas necesarias en el
- <filename>.klogin</filename> que hay en el directorio home de
- <systemitem class="username">root</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>cat /root/.klogin</userinput>
-jane.root@EJEMPLO.COM</screen>
-
- <para>De la misma manera, si un usuario tiene en su directorio home
- lo siguiente:</para>
-
- <screen>&prompt.user; <userinput>cat ~/.klogin</userinput>
-jane@EJEMPLO.COM
-jack@EJEMPLO.COM</screen>
-
- <para>significa que cualquier usuario del dominio
- <literal>EJEMPLO.COM</literal> que se identifique como
- <systemitem class="username">jane</systemitem> o como <systemitem class="username">jack</systemitem>
- (vía <command>kinit</command>, ver más arriba)
- podrá acceder a la cuenta de <systemitem class="username">jane</systemitem> o
- a los ficheros de este sistema (<systemitem>grunt</systemitem>) vía
- &man.rlogin.1;, &man.rsh.1; o
- &man.rcp.1;.</para>
-
- <para>Veamos por ejemplo cómo <systemitem class="username">jane</systemitem> se
- se identifica en otro sistema mediante Kerberos:</para>
-
- <screen>&prompt.user; <userinput>kinit</userinput>
-MIT Project Athena (grunt.ejemplo.com)
-<prompt>Password:</prompt>
-&prompt.user; <userinput>rlogin grunt</userinput>
-Last login: Mon May 1 21:14:47 from grumble
-Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
- The Regents of the University of California. All rights reserved.
-
-FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
-
- <para>Aquí <systemitem class="username">jack</systemitem> se identifica con la
- cuenta de <systemitem class="username">jane</systemitem> en la misma
- máquina (<systemitem class="username">jane</systemitem> tiene configurado
- su fichero <filename>.klogin</filename> como se ha mostrado
- antes, y la persona encargada de la administración de
- Kerberos ha configurado un usuario principal
- <emphasis>jack</emphasis> con una instancia nula):</para>
-
- <screen>&prompt.user; <userinput>kinit</userinput>
-&prompt.user; <userinput>rlogin grunt -l jane</userinput>
-MIT Project Athena (grunt.ejemplo.com)
-<prompt>Password:</prompt>
-Last login: Mon May 1 21:16:55 from grumble
-Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
- The Regents of the University of California. All rights reserved.
-FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
- </sect2>
- </sect1>
-
- <sect1 xml:id="kerberos5">
- <info><title><application>Kerberos5</application></title>
- <authorgroup>
- <author><personname><firstname>Tillman</firstname><surname>Hodgson</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Mark</firstname><surname>Murray</surname></personname><contrib>Basado en un texto de </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Cada versión de &os; posterior a &os;-5.1 incluye
- soporte solamente para <application>Kerberos5</application>.
- Por esta razón <application>Kerberos5</application> es
- la única versión incluida. Su configuración
- es similar en muchos aspectos a la de
- <application>KerberosIV</application>.
- La siguiente información solo atañe a
- <application>Kerberos5</application> en versiones de
- &os;-5.0 o posteriores. Los usuarios que deséen
- utilizar <application>KerberosIV</application> pueden
- instalar el port
- <package>security/krb4</package>.</para>
-
- <para><application>Kerberos</application> es un sistema/protocolo
- agregado para red que permite a los usuarios validar su identidad
- a través de los servicios de un servidor seguro.
- Los servicios como login remoto, copia remota, copias
- de fichero de un sistema a otro y otras tareas generalmente
- consideradas poco seguras pasan a ser considerablemente
- seguras y más controlables.</para>
-
- <para><application>Kerberos</application> puede describirse como
- un sistema proxy identificador/verificador. También
- puede describirse como un sistema confiable de autentificación
- de terceros.
- <application>Kerberos</application> solamente ofrece una
- función: la validación segura de usuarios a
- través de una red. No proporciona funciones de
- autorización (es decir, lo que los usuarios tienen
- permitido hacer) o funciones de auditoría (lo que esos
- usuarios hicieron). Después de que un servidor y un
- cliente han usado <application>Kerberos</application> para
- demostrar su identidad pueden también cifrar todas sus
- sus comunicaciones, asegurando de este modo su intimidad y la
- integridad de sus datos durante su uso del sistema.</para>
-
- <para>Es, por tanto, altamente recomendable que se use
- <application>Kerberos</application>
- <emphasis>además</emphasis> de otros métodos de
- seguridad que ofrezcan servicios de autorización
- y auditoría.</para>
-
- <para>Puede usar las siguientes instrucciones como una guía
- para configurar <application>Kerberos</application> tal y como se
- distribuye en &os;. De todas maneras, debería consultar
- las páginas de manual adecuadas para tener toda la
- información.</para>
-
- <para>Vamos a mostrar una instalación
- <application>Kerberos</application>, para lo cual usaremos
- los siguientes espacios de nombres:</para>
-
- <itemizedlist>
- <listitem>
- <para>El dominio <acronym>DNS</acronym> (<quote>zona</quote>)
- será ejemplo.org.</para>
- </listitem>
-
- <listitem>
- <para>El dominio <application>Kerberos</application> (realm)
- será EJEMPLO.ORG.</para>
- </listitem>
- </itemizedlist>
-
- <note>
- <para>Debe utilizar nombres de dominio reales al
- configurar <application>Kerberos</application> incluso si
- pretende ejecutarlo internamente. Esto le evitará problemas
- de <acronym>DNS</acronym> y asegura la interoperación
- con otros dominios <application>Kerberos</application>.</para>
- </note>
-
- <sect2>
- <title>Historia</title>
- <indexterm>
- <primary>Kerberos5</primary>
- <secondary>historia</secondary>
- </indexterm>
-
- <para><application>Kerberos</application> fué creado
- en el Massachusetts Institute of Technology
- (<acronym>MIT</acronym>) como una solución
- a los problemas de seguridad de la red.
- El protocolo <application>Kerberos</application> utiliza
- criptografía fuerte para que un cliente pueda
- demostrar su identidad en un servidor (y viceversa) a
- través de una conexión de red insegura.</para>
-
- <para><application>Kerberos</application> es el nombre de un
- protocolo de autentificación vía red y un adjetivo
- para describir programas que implementan el programa
- (<application>Kerberos</application> telnet, por ejemplo,
- conocido también como el
- <quote>telnet kerberizado</quote>).
- La versión actual del protocolo es la 5, descrita en
- <acronym>RFC</acronym>&nbsp;1510.</para>
-
- <para>Existen diversas implementaciones libres de este protocolo,
- cubriendo un amplio rango de sistemas operativos.
- El <acronym>MIT</acronym>, donde <application>Kerberos</application>
- fué desarrollado, continúa desarrollando su
- propio paquete <application>Kerberos</application>.
- Suele usarse en los EEUU como producto criptográfico
- y como tal ha sufrido las regulaciones de exportación
- de los EEUU. El
- <application>Kerberos</application> del <acronym>MIT</acronym>
- existe como un port en
- (<package>security/krb5</package>). Heimdal
- <application>Kerberos</application> es otra implementación
- de la versión 5, y fué desarrollada de forma
- intencionada fuera de los <acronym>EEUU</acronym> para sortear las
- regulaciones de exportación (y por eso puede incluirse
- en versiones no comerciales de &unix;). La distribución
- Heimdal <application>Kerberos</application> está en el
- port (<package>security/heimdal</package>), y
- se incluye una instalación mínima en el sistema
- base de &os;.</para>
-
- <para>Para alcanzar la mayor audiencia estas instrucciones asumen
- el uso de la distribución Heimdal incluída en &os;.</para>
-
- </sect2>
-
- <sect2>
- <title>Configuración de un <acronym>KDC</acronym> Heimdal</title>
- <indexterm>
- <primary>Kerberos5</primary>
- <secondary>Centro de distribución de llaves</secondary>
- </indexterm>
-
- <para>El centro de distribución de llaves (<acronym>KDC</acronym>,
- Key Distribution Center) es el servicio centralizado de
- validación que proporciona
- <application>Kerberos</application>: es el sistema que emite
- tickets <application>Kerberos</application>.
- El <acronym>KDC</acronym> goza del estátus de ser
- considerado como <quote>confiable</quote> por las demás
- computadoras del dominio <application>Kerberos</application>,
- y por eso tiene consideraciones de seguridad más
- elevadas.</para>
-
- <para>Tenga en cuenta que, aunque la ejecución del servidor
- <application>Kerberos</application> requiere muy pocos recursos,
- se recomienda el uso de una máquina dedicada a
- <acronym>KDC</acronym> por razones de seguridad.</para>
-
- <para>Para empezar a configurar un <acronym>KDC</acronym> asegúrese
- de que su <filename>/etc/rc.conf</filename> contenga la
- configuración adecuada para actuar como <acronym>KDC</acronym>
- (tal vez deba ajustar algunas rutas para que cuadren con su
- sistema):</para>
-
- <programlisting>kerberos5_server_enable="YES"
-kadmind5_server_enable="YES"
-kerberos_stash="YES"</programlisting>
-
- <note>
- <para><option>kerberos_stash</option> solo existe en
- &os;&nbsp;4.X.</para>
- </note>
-
- <para>A continuación configuraremos el fichero de
- configuración de <application>Kerberos</application>,
- <filename>/etc/krb5.conf</filename>:</para>
-
- <programlisting>[libdefaults]
- default_realm = EJEMPLO.ORG [realms]
- EXAMPLE.ORG = {
- kdc = kerberos.ejemplo.org
- admin_server = kerberos.ejemplo.org
- }
-[domain_realm]
- .ejemplo.org = EJEMPLO.ORG</programlisting>
-
- <para>Tenga en cuenta que este <filename>/etc/krb5.conf</filename>
- implica que su <acronym>KDC</acronym> tendrá el nombre
- de equipo completo calificado de
- <systemitem class="fqdomainname">kerberos.ejemplo.org</systemitem>.
- Necesitará añadir una entrada CNAME (alias) a su
- fichero de zona si su <acronym>KDC</acronym> tiene un
- nombre de equipo diferente.</para>
-
- <note>
- <para>En grandes redes con un servidor <acronym>DNS</acronym>
- <acronym>BIND</acronym> bien configurado, el ejemplo
- de arriba puede quedar del siguiente modo:</para>
-
- <programlisting>[libdefaults]
- default_realm = EJEMPLO.ORG</programlisting>
-
- <para>Con las siguientes líneas agregadas al
- fichero de zona <systemitem class="fqdomainname">ejemplo.org</systemitem>:</para>
-
- <programlisting>_kerberos._udp IN SRV 01 00 88 kerberos.ejemplo.org.
-_kerberos._tcp IN SRV 01 00 88 kerberos.ejemplo.org.
-_kpasswd._udp IN SRV 01 00 464 kerberos.ejemplo.org.
-_kerberos-adm._tcp IN SRV 01 00 749 kerberos.ejemplo.org.
-_kerberos IN TXT EJEMPLO.ORG</programlisting></note>
-
- <note>
- <para>Para que los clientes sean capaces de encontrar los
- servicios <application>Kerberos</application>
- <emphasis>debe</emphasis> tener ya sea un
- <filename>/etc/krb5.conf</filename> configurado o
- un <filename>/etc/krb5.conf</filename> configurado de forma
- mínima <emphasis>y</emphasis> un servidor DNS
- configurado correctamente.</para>
- </note>
-
- <para>A continuación crearemos la base de datos
- <application>Kerberos</application>. Esta base de datos contiene
- las llaves de todos los principales cifradas con una
- contraseña maestra. No es necesario que recuerde
- esta contraseña, pues se almacenará en
- <filename>/var/heimdal/m-key</filename>. Para crear la llave
- maestra ejecute <command>kstash</command> e introduzca una
- contraseña.</para>
-
- <para>Una vez que se ha creado la llave maestra puede inicializar
- la base de datos usando el programa <command>kadmin</command>
- con la opción <literal>-l</literal> (que significa
- <quote>local</quote>). Esta opción le dice a
- <command>kadmin</command> que modifique los ficheros de la base
- de datos directamente en lugar de ir a través del servicio
- de red <command>kadmind</command>. Esto gestiona el problema del
- huevo y la gallina de tratar de conectar a la base de datos
- antes de que ésta exista. Una vez que tiene el
- <quote>prompt</quote> de <command>kadmin</command>, utilice
- <command>init</command> para crear su base de datos de
- dominios iniciales.</para>
-
- <para>Para terminar, mientras está todavía en
- <command>kadmin</command> puede crear su primer principal
- mediante <command>add</command>. Utilice las opciones por
- defecto por ahora, más tarde puede cambiarlas mediante
- <command>modify</command>. Recuerde que puede usar
- <literal>?</literal> en cualquier <quote>prompt</quote> para
- consultar las opciones disponibles.</para>
-
- <para>Veamos un ejemplo de sesión de creación de una
- base de datos:</para>
-
- <screen>&prompt.root; <userinput>kstash</userinput>
-Master key: <userinput>xxxxxxxx</userinput>
-Verifying password - Master key: <userinput>xxxxxxxx</userinput>
-
-&prompt.root; <userinput>kadmin -l</userinput>
-kadmin&gt; <userinput>init EJEMPLO.ORG</userinput>
-Realm max ticket life [unlimited]:
-kadmin&gt; <userinput>add tillman</userinput>
-Max ticket life [unlimited]:
-Max renewable life [unlimited]:
-Attributes []:
-Password: <userinput>xxxxxxxx</userinput>
-Verifying password - Password: <userinput>xxxxxxxx</userinput></screen>
-
- <para>Ahora puede arrancar los servicios <acronym>KDC</acronym>.
- Ejecute <command>/etc/rc.d/kerberos start</command> y
- <command>/etc/rc.d/kadmind start</command> para levantar dichos
- servicios. Recuerde que no tendrá ningún
- d&aelig;mon kerberizado ejecutándose pero debe
- poder confirmar que <acronym>KDC</acronym> funciona por el
- procedimiento de obtener y listar un boleto del principal
- (usuario) que acaba de crear en la línea de órdenes de
- <acronym>KDC</acronym>:</para>
-
- <screen>&prompt.user; <userinput>k5init tillman</userinput>
-tillman@EJEMPLO.ORG's Password:
-
-&prompt.user; <userinput>k5list</userinput>
-Credentials cache: FILE:<filename>/tmp/krb5cc_500</filename>
- Principal: tillman@EJEMPLO.ORG
-
- Issued Expires Principal
-Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EJEMPLO.ORG@EJEMPLO.ORG</screen>
-
- </sect2>
-
- <sect2>
- <title>Creación de un servidor
- <application>Kerberos</application> con servicios
- Heimdal</title>
-
- <indexterm>
- <primary>Kerberos5</primary>
- <secondary>habilitación de servicios</secondary>
- </indexterm>
-
- <para>Antes de nada necesitaremos una copia del fichero de
- configuración de <application>Kerberos</application>,
- <filename>/etc/krb5.conf</filename>. Cópielo al cliente
- desde <acronym>KDC</acronym> de forma segura (mediante
- &man.scp.1;, o usando un disquete).</para>
-
- <para>A continuación necesitará un fichero
- <filename>/etc/krb5.keytab</filename>.
- Esta es la mayor diferencia entre un servidor que proporciona
- d&aelig;mons habilitados con <application>Kerberos</application>
- y una estación de trabajo: el servidor debe
- tener un fichero <filename>keytab</filename>. Dicho fichero
- contiene las llaves de equipo del servidor, las cuales
- le permiten a él y al <acronym>KDC</acronym>
- verificar la identidad entre ellos. Deben transmitirse
- al servidor de forma segura ya que la seguridad del servidor
- puede verse comprometida si la llave se hace pública.
- Por decirlo más claro, transferirla como texto plano a
- través de la red (por ejemplo por
- <acronym>FTP</acronym>) es una <emphasis>pésima
- idea</emphasis>.</para>
-
- <para>Lo normal es que transmita su <filename>keytab</filename>
- al servidor mediante el programa <command>kadmin</command>.
- Esto es práctico porque también debe crear
- el principal del equipo (el <acronym>KDC</acronym> que aparece
- al final de <filename>krb5.keytab</filename>)
- usando <command>kadmin</command>.</para>
-
- <para>Tenga en cuenta que ya debe disponer de un ticket, y que
- este ticket debe poder usar el interfaz
- <command>kadmin</command> en <filename>kadmind.acl</filename>.
- Consulte la sección
- <quote>administración remota</quote> en la página
- info de Heimdal (<command>info heimdal</command>), donde se
- exponen los detalles de diseño de las listas de control de
- acceso. Si no quiere habilitar acceso remoto
- <command>kadmin</command>, puede conectarse de forma segura al
- <acronym>KDC</acronym> (por medio de consola
- local, &man.ssh.1; o &man.telnet.1;
- <application>Kerberos</application>) y administrar en local
- mediante <command>kadmin -l</command>.</para>
-
- <para>Después de instalar el fichero
- <filename>/etc/krb5.conf</filename> puede usar
- <command>kadmin</command> desde el servidor
- <application>Kerberos</application>.
- <command>add --random-key</command> le permitirá
- añadir el principal del equipo servidor, y
- <command>ext</command> le permitirá extraer el principal
- del equipo servidor a su propio keybat. Por ejemplo:</para>
-
- <screen>&prompt.root; <userinput>kadmin</userinput>
-kadmin&gt;<userinput> add --random-key host/myserver.ejemplo.org</userinput>
-Max ticket life [unlimited]:
-Max renewable life [unlimited]:
-Attributes []:
-kadmin&gt;<userinput> ext host/miservidor.ejemplo.org</userinput>
-kadmin&gt;<userinput> exit</userinput></screen>
-
- <para>Tenga en cuenta que <command>ext</command>
- (contracción de <quote>extract</quote>) almacena la
- llave extraída por defecto en
- en <filename>/etc/krb5.keytab</filename>.</para>
-
- <para>Si no tiene <command>kadmind</command>
- ejecutándose en
- <acronym>KDC</acronym> (posiblemente por razones de seguridad)
- y por lo tanto carece de acceso remoto a <command>kadmin</command>
- puede añadir el principal de equipo
- (<systemitem class="username">host/miservidor.EJEMPLO.ORG</systemitem>) directamente
- en el <acronym>KDC</acronym> y entonces extraerlo a un fichero
- temporal (para evitar sobreescribir
- <filename>/etc/krb5.keytab</filename> en el
- <acronym>KDC</acronym>) mediante algo parecido a esto:</para>
-
- <screen>&prompt.root; <userinput>kadmin</userinput>
-kadmin&gt;<userinput> ext --keytab=/tmp/ejemplo.keytab host/miservidor.ejemplo.org</userinput>
-kadmin&gt;<userinput> exit</userinput></screen>
-
- <para>Puede entonces copiar de forma segura el keytab al
- servidor (usando <command>scp</command> o un diquete).
- Asegúrese de usar un nombre de keytab diferente
- para evitar sobreescribir el keytab en el
- <acronym>KDC</acronym>.</para>
-
- <para>Su servidor puede comunicarse con el
- <acronym>KDC</acronym> (gracias a su fichero
- <filename>krb5.conf</filename>) y puede probar su propia
- identidad (gracias al fichero <filename>krb5.keytab</filename>).
- Ahora está listo para que usted habilite algunos
- servicios <application>Kerberos</application>.
- En este ejemplo habilitaremos el servicio <command>telnet</command>
- poniendo una línea como esta en su
- <filename>/etc/inetd.conf</filename> y reiniciando el
- servicio &man.inetd.8; con
- <command>/etc/rc.d/inetd restart</command>:</para>
-
- <programlisting>telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user</programlisting>
-
- <para>La parte crítica es <command>-a</command>,
- de autentificación de usuario. Consulte
- la página de manual &man.telnetd.8; para
- más información.</para>
-
- </sect2>
-
- <sect2>
- <title><application>Kerberos</application> con un cliente
- Heimdal</title>
-
- <indexterm>
- <primary>Kerberos5</primary>
- <secondary>configurar clientes</secondary>
- </indexterm>
-
- <para>Configurar una computadora cliente es extremadamente
- fácil. Lo único que necesita es el
- fichero de configuración de
- <application>Kerberos</application> que encontrará
- en <filename>/etc/krb5.conf</filename>.
- Simplemente cópielo de forma segura a la computadora
- cliente desde el <acronym>KDC</acronym>.</para>
-
- <para>Pruebe su computadora cliente mediante
- <command>kinit</command>, <command>klist</command>, y
- <command>kdestroy</command> desde el cliente para obtener,
- mostrar y luego borrar un ticket para el principal que
- creó antes. Debería poder usar aplicaciones
- <application>Kerberos</application> para conectarse a
- servidores habilitados con <application>Kerberos</application>,
- aunque si no funciona y tiene problemas al intentar obtener
- el boleto lo más probable es que el problema
- esté en el servidor y no en el cliente o el
- <acronym>KDC</acronym>.</para>
-
- <para>Al probar una aplicación como <command>telnet</command>,
- trate de usar un <quote>sniffer</quote> de paquetes
- ( como &man.tcpdump.1;) para confirmar que su contraseña
- no viaja en claro por la red.
- Trate de usar <command>telnet</command> con la opción
- <literal>-x</literal>, que cifra el flujo de datos por
- entero (algo parecido a lo que hace
- <command>ssh</command>).</para>
-
- <para>Las aplicaciones clientes <application>Kerberos</application>
- principales (llamadas tradicionalmente <command>kinit</command>,
- <command>klist</command>, <command>kdestroy</command> y
- <command>kpasswd</command>) están incluidas en
- la instalación base de &os;. Tenga en cuenta que
- en las versiones de &os; anteriores a 5.0 reciben los nombres de
- <command>k5init</command>,
- <command>k5list</command>, <command>k5destroy</command>,
- <command>k5passwd</command> y <command>k5stash</command>.</para>
-
- <para>También se instalan por defecto diversas aplicaciones
- <application>Kerberos</application> que no entran dentro de
- la categoría de <quote>imprescindibles</quote>.
- Es aquí donde la naturaleza
- <quote>mínima</quote> de la instalación base de
- Heimdal salta a la palestra: <command>telnet</command> es el
- único servicio <application>Kerberos</application>
- habilitado.</para>
-
- <para>El port Heimdal añade algunas de las aplicaciones
- cliente que faltan: versiones <application>Kerberos</application>
- de <command>ftp</command>, <command>rsh</command>,
- <command>rcp</command>, <command>rlogin</command> y algunos
- otros programas menos comunes. El port del <acronym>MIT</acronym>
- también contiene una suite completa de aplicaciones
- cliente de <application>Kerberos</application>.</para>
-
- </sect2>
-
- <sect2>
- <title>Ficheros de configuración de usuario: <filename>.k5login</filename> y <filename>.k5users</filename></title>
-
- <indexterm>
- <primary><filename>.k5login</filename></primary>
- </indexterm>
-
- <indexterm>
- <primary><filename>.k5users</filename></primary>
- </indexterm>
-
- <para>Suele ser habitual que los usuarios de un dominio
- <application>Kerberos</application> (o <quote>principales</quote>)
- tengan su usuario
- (por ejemplo <systemitem class="username">tillman@EJEMPLO.ORG</systemitem>) mapeado
- a una cuenta de usuario local (por ejemplo un usuario llamado
- llamado <systemitem class="username">tillman</systemitem>). Las aplicaciones cliente
- como <command>telnet</command> normalmente no requieren un
- nombre de usuario o un principal.</para>
-
- <para>Es posible que de vez en cuando quiera dar acceso a una
- una cuenta de usuario local a alguien que no tiene un
- principal <application>Kerberos</application>.
- Por ejemplo, <systemitem class="username">tillman@EJEMPLO.ORG</systemitem> puede
- necesitar acceso a la cuenta de usuario local
- <systemitem class="username">webdevelopers</systemitem>.
- Otros principales tal vez necesiten acceso a esas
- cuentas locales.</para>
-
- <para>Los ficheros <filename>.k5login</filename> y
- <filename>.k5users</filename>, ubicados en el directorio
- home del usuario, pueden usarse de un modo similar a
- una combinación potente de
- <filename>.hosts</filename> y <filename>.rhosts</filename>.
- Por ejemplo, si pusiera un fichero
- <filename>.k5login</filename> con el siguiente
- contenido</para>
-
- <screen>tillman@example.org
-jdoe@example.org</screen>
-
- <para>en el directorio home del usuario local
- <systemitem class="username">webdevelopers</systemitem> ambos
- principales listados tendrían acceso a esa cuenta
- sin requerir una contraseña compartida.</para>
-
- <para>Le recomendamos encarecidamente la lectura de las
- páginas de manual de estas órdenes. Recuerde que
- la página de manual de
- <command>ksu</command> abarca
- <filename>.k5users</filename>.</para>
-
- </sect2>
-
- <sect2>
- <title><application>Kerberos</application> Sugerencias, trucos y
- solución de problemas</title>
-
- <indexterm>
- <primary>Kerberos5</primary>
- <secondary>solución de problemas</secondary>
- </indexterm>
-
- <itemizedlist>
- <listitem>
- <para>Tanto si utiliza el port de Heimdal o
- el <application>Kerberos</application>
- del <acronym>MIT</acronym> asegúrese de que su
- variable de entorno <envar>PATH</envar> liste las
- versiones de <application>Kerberos</application> de las
- aplicaciones cliente antes que las versiones del
- sistema.</para>
- </listitem>
-
- <listitem>
- <para>?Todas las computadoras de su dominio Kerberos
- tienen la hora sincronizada? Si no, la autentificación
- puede fallar.
- <xref linkend="network-ntp"/> describe como sincronizar
- los relojes utilizando <acronym>NTP</acronym>.</para>
- </listitem>
-
- <listitem>
- <para><acronym>MIT</acronym> y Heimdal conviven bien, con la
- excepción de <command>kadmin</command>, protocolo
- no está estandarizado.</para>
- </listitem>
-
- <listitem>
- <para>Si cambia su nombre de equipo debe cambiar también
- el <quote>apellido</quote> de su principal y actualizar su
- keytab. Esto también se aplica a entradas especiales
- en keytab como el principal <systemitem class="username">www/</systemitem>
- que usa el <package>www/mod_auth_kerb</package>
- de Apache.</para>
- </listitem>
-
- <listitem>
- <para>Todos los equipos en su dominio Kerberos deben poder
- resolverse (tanto en la forma normal normal como en la
- inversa) en el <acronym>DNS</acronym> (o en
- <filename>/etc/hosts</filename> como mínimo).
- Los CNAME funcionarán, pero los registros A y PTR
- deben ser correctos y estar en su sitio. El mensaje de error
- que recibirá de no hacerlo así no es muy
- intuitivo:
- <errorname>Kerberos5 refuses authentication because Read req
- failed: Key table entry not found</errorname>.</para>
- </listitem>
-
- <listitem>
- <para>Algunos sistemas operativos que puede usar como clientes
- de su <acronym>KDC</acronym> no activan
- los permisos para <command>ksu</command> como
- setuid <systemitem class="username">root</systemitem>. Esto hará que
- <command>ksu</command> no funcione, lo cual es muy seguro
- pero un tanto molesto. Tenga en cuenta que no se debe a
- un error de <acronym>KDC</acronym>.</para>
- </listitem>
-
- <listitem>
- <para>Si desea permitir que un principal tenga un ticket con
- una validez más larga que el valor por defecto de diez
- horas en <application>Kerberos</application> del
- <acronym>MIT</acronym> debe usar
- <command>modify_principal</command> en <command>kadmin</command>
- para cambiar <quote>maxlife</quote> tanto del principal en
- cuestión como del <systemitem class="username">krbtgt</systemitem> del
- principal. Hecho esto,
- el principal puede utilizar la opción
- <literal>-l</literal> con <command>kinit</command> para
- solicitar un boleto con más tiempo de vida.</para>
- </listitem>
-
- <listitem>
- <note><para>Si ejecuta un <quote>sniffer</quote> de paquetes en su
- <acronym>KDC</acronym> para ayudar con la resolución
- de problemas y ejecuta <command>kinit</command> desde una
- estación de trabajo puede encontrarse con que su
- <acronym>TGT</acronym> se envía inmediatamente
- después de ejecutar <command>kinit</command>:
- <emphasis>incluso antes de que escriba su
- contraseña</emphasis> La explicación es que el
- servidor <application>Kerberos</application> transmite
- tranquilamente un <acronym>TGT</acronym> (Ticket Granting
- Ticket) a cualquier petición no autorizada; de todas
- maneras, cada <acronym>TGT</acronym> está cifrado
- en una llave derivada de la contraseña del usuario.
- Por tanto, cuando un usuario teclea su contraseña
- no la está enviando al <acronym>KDC</acronym>,
- se está usando para descifrar el <acronym>TGT</acronym>
- que <command>kinit</command> ya obtuvo. Si el proceso de
- descifrado termina en un ticket válido con
- una marca de tiempo válida, el usuario tiene
- credenciales <application>Kerberos</application> válidas.
- Estas credenciales incluyen una llave de sesión para
- establecer comunicaciones seguras con el servidor
- <application>Kerberos</application> en el futuro, así
- como el TGT en sí, que se cifra con la llave del propio
- servidor <application>Kerberos</application>.
- Esta segunda capa de cifrado es invisible para el usuario, pero
- es lo que permite al servidor <application>Kerberos</application>
- verificar la autenticidad de cada
- <acronym>TGT</acronym>.</para></note>
- </listitem>
-
- <listitem>
- <para>Si desea utilizar tickets con un tiempo largo de vida (una
- semana, por ejemplo) y está utilizando
- <application>OpenSSH</application>
- para conectarse a la máquina donde se almacena su
- boleto asgúrese de que
- <application>Kerberos</application>
- <option>TicketCleanup</option> esté configurado a
- <literal>no</literal> en su <filename>sshd_config</filename>
- o de lo contrario sus tickets serán eliminados cuando
- termine la sesión.</para>
- </listitem>
-
- <listitem>
- <para>Recuerde que los principales de equipos también
- pueden tener tener un tiempo de vida más largo.
- Si su principal de usuario tiene un tiempo de vida de una
- semana pero el equipo al que se conecta tiene un
- tiempo de vida de nueve horas, tendrá un principal de
- equipo expirado en su caché, y la caché de
- ticket no funcionará como esperaba.</para>
- </listitem>
-
- <listitem>
- <para>Cuando esté configurando un fichero
- <filename>krb5.dict</filename> pensando específicamente
- en prevenir el uso de contraseñas defectuosas (la
- página de manual de
- de <command>kadmind</command> trata el tema brevemente), recuerde
- que solamente se aplica a principales que tienen una
- política de contraseñas asignada. El formato
- de los ficheros <filename>krb5.dict</filename> es simple:
- una cadena de texto por línea. Puede serle
- útil crear un enlace simbólico a
- <filename>/usr/share/dict/words</filename>.</para>
- </listitem>
- </itemizedlist>
-
- </sect2>
-
- <sect2>
- <title>Diferencias con el port del <acronym>MIT</acronym></title>
-
- <para>Las diferencias más grandes entre las instalaciones
- <acronym>MIT</acronym> y Heimdal están relacionadas
- con <command>kadmin</command>, que tiene un conjunto
- diferente (pero equivalente) de órdenes y utiliza un protocolo
- diferente. Esto tiene implicaciones muy grandes si su
- <acronym>KDC</acronym> es <acronym>MIT</acronym>, ya que no
- podrá utilizar el programa <command>kadmin</command>
- de Heimdal para administrar remotamente su <acronym>KDC</acronym>
- (o viceversa).</para>
-
- <para>Las aplicaciones cliente pueden también disponer de
- diferentes opciones de línea de órdenes para
- lograr lo mismo. Le recomendamos seguir las instrucciones de
- la página web de <application>Kerberos</application>
- del <acronym>MIT</acronym>
- (<uri xlink:href="http://web.mit.edu/Kerberos/www/">http://web.mit.edu/Kerberos/www/</uri>).
- Sea cuidadoso con los parches: el port
- del <acronym>MIT</acronym> se instala por defecto en
- <filename>/usr/local/</filename>, y las
- aplicaciones <quote>normales</quote> del sistema pueden
- ser ejecutadas en lugar de las del <acronym>MIT</acronym>
- si su variable de entorno <envar>PATH</envar> lista antes los
- directorios del sistema.</para>
-
- <note><para>Si usa el port del <acronym>MIT</acronym>
- <package>security/krb5</package>
- proporcionado por &os; asegúrese de leer el fichero
- <filename>/usr/local/share/doc/krb5/README.FreeBSD</filename>
- instalado por el port si quiere entender por qué los
- login vía <command>telnetd</command> y
- <command>klogind</command> se comportan de un modo un tanto
- extraño. Más importante aún, corregir la
- conducta de <quote>permisos incorrectos en el fichero
- caché</quote> requiere que el binario
- <command>login.krb5</command> se use para la
- validación para que pueda cambiar correctamente los
- permisos de propiedad de credenciales reenviadas.</para></note>
-
- </sect2>
-
- <sect2>
- <title>Mitigación de limitaciones encontradas en
- <application>Kerberos</application></title>
-
- <indexterm>
- <primary>Kerberos5</primary>
- <secondary>limitaciones y deficiencias</secondary>
- </indexterm>
-
- <sect3>
- <title><application>Kerberos</application> es un enfoque
- <quote>todo o nada</quote></title>
-
- <para>Cada servicio habilitado en la red debe modificarse
- para funcionar con <application>Kerberos</application> (o
- debe ser asegurado contra ataques de red) o de lo
- contrario las credenciales de usuario pueden robarse y
- reutilizarse. Un ejemplo de esto podría ser que
- <application>Kerberos</application> habilite todos los shells
- remotos ( vía <command>rsh</command> y
- <command>telnet</command>, por ejemplo) pero que no cubra
- el servidor de correo <acronym>POP3</acronym>, que
- envía contraseñas en texto plano.</para>
-
- </sect3>
-
- <sect3>
- <title><application>Kerberos</application> está pensado
- para estaciones de trabajo monousuario</title>
-
- <para>En un entorno multiusuario
- <application>Kerberos</application> es menos seguro.
- Esto se debe a que almacena los tickets en el
- directorio <filename>/tmp</filename>, que puede
- ser leído por todos los usuarios. Si un
- usuario está compartiendo una computadora con
- varias personas (esto es, si utiliza un sistema
- multiusuario) es posible que los tickets sean robados
- (copiados) por otro usuario.</para>
-
- <para>Esto puede solventarse con la opción de línea
- de órdenes <literal>-c</literal> nombre-de-fichero o
- (mejor aún) la variable de entorno
- <envar>KRB5CCNAME</envar>, pero raramente se hace.
- Si almacena los tickets en el directorio home de los
- usuarios y utiliza sin mucha complicación los permisos
- de fichero puede mitigar este problema.</para>
-
- </sect3>
-
- <sect3>
- <title>El KDC es el punto crítico de fallo</title>
-
- <para>Por motivos de diseño el <acronym>KDC</acronym>
- es tan seguro como la base de datos principal de
- contraseñas que contiene. El
- <acronym>KDC</acronym> no debe ejecutar ningún
- otro servicio ejecutándose en él y debe ser
- físicamente seguro. El peligro es grande debido a que
- <application>Kerberos</application> almacena todas las
- contraseñas cifradas con la misma llave
- (la llave <quote>maestra</quote>, que a su vez se guarda
- como un fichero en el
- <acronym>KDC</acronym>).</para>
-
- <para>De todos modos una llave maestra comprometida no es
- algo tan terrible como parece a primera vista. La llave maestra
- solo se usa para cifrar la base de datos
- <application>Kerberos</application> y como semilla para el
- generador de números aleatorios. Mientras sea seguro
- el acceso a su <acronym>KDC</acronym> un atancante no puede
- hacer demasiado con la llave maestra.</para>
-
- <para>Además, si el <acronym>KDC</acronym> no está
- disponible (quizás debido a un ataque de denegación
- de servicio o problemas de red) no se podrán utilizar
- los servicios de red ya que no se puede efectuar la
- validación, lo que hace que esta sea una buena forma de
- lanzar un ataque de denegación de servicio.
- Este problema puede aliviarse con múltiples
- <acronym>KDC</acronym>s (un maestro y uno o más esclavos)
- y con una implementación cautelosa de secundarios o
- autentificación de respaldo (para esto
- <acronym>PAM</acronym> es excelente).</para>
-
- </sect3>
-
- <sect3>
- <title>Limitaciones de <application>Kerberos</application></title>
-
- <para><application>Kerberos</application> le permite a usuarios,
- equipos y servicios validarse entre sí, pero no
- dispone de ningún mecanismo para autentificar el
- <acronym>KDC</acronym> a los usuarios, equipos o servicios.
- Esto significa que una versión
- (por ejemplo) <quote>troyanizada</quote>
- <command>kinit</command> puede grabar todos los usuarios y sus
- contraseñas. Puede usar
- <package>security/tripwire</package> o
- alguna otra herramienta de revisión de integridad
- de sistemas de ficheros para intentar evitar problemas como
- este.</para>
-
- </sect3>
- </sect2>
-
- <sect2>
- <title>Recursos y más información</title>
-
- <indexterm>
- <primary>Kerberos5</primary>
- <secondary>recursos externos</secondary>
- </indexterm>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="http://www.faqs.org/faqs/Kerberos-faq/general/preamble.html">
- Las preguntas frecuentes (FAQ) de
- <application>Kerberos</application></link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://web.mit.edu/Kerberos/www/dialogue.html">Designing an
- Authentication System: a Dialog in Four Scenes</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ietf.org/rfc/rfc1510.txt?number=1510">RFC 1510,
- The <application>Kerberos</application> Network Authentication Service
- (V5)</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://web.mit.edu/Kerberos/www/">Página web de <application>Kerberos</application>
- del <acronym>MIT</acronym></link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.pdc.kth.se/heimdal/">Página web de
- <application>Kerberos</application> Heimdal</link></para>
- </listitem>
-
- </itemizedlist>
- </sect2>
- </sect1>
-
- <sect1 xml:id="openssl">
- <info><title>OpenSSL</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Escrito por: </contrib></author>
- </authorgroup>
- </info>
-
- <indexterm>
- <primary>seguridad</primary>
- <secondary>OpenSSL</secondary>
- </indexterm>
-
- <para>El conjunto de herramientas <application>OpenSSL</application>
- es una característica de &os; que muchos usuarios
- pasan por alto. <application>OpenSSL</application> ofrece una
- capa de cifrada de transporte sobre la capa normal de
- comunicación, permitiendo la combinación con
- con muchas aplicaciones y servicios de red.</para>
-
- <para>Algunos usos de <application>OpenSSL</application> son
- la validación cifrada de clientes de correo, las
- transacciones basadas en web como pagos con tarjetas de
- crédito, etc. Muchos ports, como
- <package>www/apache13-ssl</package> y
- <package>mail/sylpheed-claws</package>
- ofrecen soporte de compilación para
- <application>OpenSSL</application>.</para>
-
- <note>
- <para>En la mayoría de los casos la colección
- de ports tratará de compilar el port
- <package>security/openssl</package> a menos
- que la variable de make <varname>WITH_OPENSSL_BASE</varname>
- sea puesta explícitamente a <quote>yes</quote>.</para>
- </note>
-
- <para>La versión de <application>OpenSSL</application>
- incluida en &os; soporta los protocolos de seguridad
- de red Secure Sockets Layer v2/v3 (SSLv2/SSLv3) y
- Transport Layer Security v1 (TLSv1) y puede utilizarse como
- biblioteca criptográfica general.</para>
-
- <note>
- <para><application>OpenSSL</application> soporta el
- algoritmo <acronym>IDEA</acronym> pero estáa deshabilitado
- por defecto debido a patentes en vigor en los Estados Unidos.
- Si quiere usarlo debe revisar la licencia, y si las
- restricciones le parecen aceptables active la variable
- <varname>MAKE_IDEA</varname> en
- <filename>make.conf</filename>.</para>
- </note>
-
- <para>Uno de los usos más comunes de
- <application>OpenSSL</application> es ofrecer certificados para
- usar con aplicaciones de software. Estos certificados aseguran
- que las credenciales de la compañia o individuo son
- válidos y no son fraudulentos. Si el certificado en
- cuestión no ha sido verificado por uno de las diversas
- <quote>autoridades certificadoras</quote>
- o <acronym>CA</acronym>, suele generarse una advertencia al respecto.
- Una autoridad de certificados es una compañia, como
- <link xlink:href="http://www.verisign.com">VeriSign</link>, que
- firma certificados para validar credenciales de individuos
- o compañias. Este proceso tiene un costo asociado y no es
- un requisito imprescindible para usar certificados, aunque
- puede darle un poco de tranquilidad a los usuarios
- más paranóicos.</para>
-
- <sect2>
- <title>Generación de certificados</title>
-
- <indexterm>
- <primary>OpenSSL</primary>
- <secondary>generación de certificados</secondary>
- </indexterm>
-
- <para>Para generar un certificado ejecute lo siguiente:</para>
-
- <screen>&prompt.root; <userinput>openssl req -new -nodes -out req.pem -keyout cert.pem</userinput>
-Generating a 1024 bit RSA private key
-................++++++
-.......................................++++++
-writing new private key to 'cert.pem'
------
-You are about to be asked to enter information that will be incorporated
-into your certificate request.
-What you are about to enter is what is called a Distinguished Name or a DN.
-There are quite a few fields but you can leave some blank
-For some fields there will be a default value,
-If you enter '.', the field will be left blank.
------
-Country Name (2 letter code) [AU]:<userinput>US</userinput>
-State or Province Name (full name) [Some-State]:<userinput>PA</userinput>
-Locality Name (eg, city) []:<userinput>Pittsburgh</userinput>
-Organization Name (eg, company) [Internet Widgits Pty Ltd]:<userinput>Mi compañía</userinput>
-Organizational Unit Name (eg, section) []:<userinput>Administrador de sistemas</userinput>
-Common Name (eg, YOUR name) []:<userinput>localhost.ejemplo.org</userinput>
-Email Address []:<userinput>trhodes@FreeBSD.org</userinput>
-
-Please enter the following 'extra' attributes
-to be sent with your certificate request
-A challenge password []:<userinput>UNA CONTRASEÑA</userinput>
-An optional company name []:<userinput>Otro nombre</userinput></screen>
-
- <para>Tenga en cuenta que la respuesta directamente después
- de <quote>prompt</quote> <quote>Common Name</quote> muestra un
- nombre de dominio. Este <quote>prompt</quote> requiere que se
- introduzca un nombre de servidor para usarlo en la
- verificación; si escribe cualquier otra cosa
- producirá un certificado inválido.
- Otras opciones, por ejemplo el tiempo
- de expiración, alternan algoritmos de cifrado,
- etc. Puede ver una lista completa en la página
- de manual de &man.openssl.1;.</para>
-
- <para>Debería tener dos ficheros en el directorio
- donde ha ejecutado la orden anterior. La petición
- de certificado,
- <filename>req.pem</filename>, es lo que debe enviar a una
- autoridad certificadora para que valide las credenciales que
- introdujo; firmará la petición y le devolverá
- el certificado. El segundo fichero es
- <filename>cert.pem</filename> y es la llave privada para
- el certificado, que debe proteger a toda costa; si cae en
- malas manos podrí usarse para suplantarle a usted o a
- sus servidores.</para>
-
- <para>Si no necesita la firma de una <acronym>CA</acronym>
- puede crear y firmar usted mismo su certificado.
- Primero, genere la llave <acronym>RSA</acronym>:</para>
-
- <screen>&prompt.root; <userinput>openssl dsaparam -rand -genkey -out myRSA.key 1024</userinput></screen>
-
- <para>A continuación genere la llave <acronym>CA</acronym>:</para>
-
- <screen>&prompt.root; <userinput>openssl gendsa -des3 -out myca.key myRSA.key</userinput></screen>
-
- <para>Utilice esta llave para crear el certificado:</para>
-
- <screen>&prompt.root; <userinput>openssl req -new -x509 -days 365 -key myca.key -out new.crt</userinput></screen>
-
- <para>Deberín aparecer dos nuevos ficheros en su directorio:
- un fichero de firma de autoridad de certificados
- (<filename>myca.key</filename>) y el certificado en sí,
- <filename>new.crt</filename>. Deben ubicarse en un directorio,
- que se recomienda que sea
- <filename>/etc</filename>, que es legible
- solo para <systemitem class="username">root</systemitem>. Para terminar, es recomendable
- asignar permisos 0700 para el fichero con
- <command>chmod</command>.</para>
- </sect2>
-
- <sect2>
- <title>Uso de certificados; un ejemplo</title>
-
- <para>?Qué pueden hacer estos ficheros?
- Cifrar conexiones al <acronym>MTA</acronym>
- <application>Sendmail</application> es un buen sitio para
- usarlos. De este modo eliminará el uso de validación
- mediante texto en claro para los usuarios que envían
- correo a través del <acronym>MTA</acronym>
- local.</para>
-
- <note>
- <para>No es el mejor uso en el mundo, ya que algunos
- <acronym>MUA</acronym>s enviarán al usuario un
- mensaje de error si no tiene instalados localmente los
- certificados. Consulte la documentación
- para más datos sobre la
- instalación de certificados.</para>
- </note>
-
- <para>Debe añadir las siguientes líneas
- en su fichero local <filename>.mc</filename>:</para>
-
- <programlisting>dnl SSL Options
-define(`confCACERT_PATH',`/etc/certs')dnl
-define(`confCACERT',`/etc/certs/new.crt')dnl
-define(`confSERVER_CERT',`/etc/certs/new.crt')dnl
-define(`confSERVER_KEY',`/etc/certs/myca.key')dnl
-define(`confTLS_SRV_OPTIONS', `V')dnl</programlisting>
-
- <para><filename>/etc/certs/</filename>
- es el directorio destinado a almacenamiento de
- los ficheros de certificado y llave en local.
- El último requisito es una reconstrucción
- del fichero <filename>.cf</filename> local. Solo tiene que
- teclear <command>make</command>
- <parameter>install</parameter> en el directorio
- <filename>/etc/mail</filename>.
- A continuación ejecute un <command>make</command>
- <parameter>restart</parameter>, que debería reiniciar el
- d&aelig;mon <application>Sendmail</application>.</para>
-
- <para>Si todo fué bien no habrá mensajes de error
- en el fichero <filename>/var/log/maillog</filename>
- y <application>Sendmail</application> aparecerá en
- la lista de procesos.</para>
-
- <para>Puede probarlo todo de una forma muy sencilla;
- conéctese al servidor de correo mediante
- &man.telnet.1;:</para>
-
- <screen>&prompt.root; <userinput>telnet ejemplo.com 25</userinput>
-Trying 192.0.34.166...
-Connected to <systemitem class="fqdomainname">ejemplo.com</systemitem>.
-Escape character is '^]'.
-220 <systemitem class="fqdomainname">ejemplo.com</systemitem> ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
-<userinput>ehlo ejemplo.com</userinput>
-250-ejemplo.com Hello ejemplo.com [192.0.34.166], pleased to meet you
-250-ENHANCEDSTATUSCODES
-250-PIPELINING
-250-8BITMIME
-250-SIZE
-250-DSN
-250-ETRN
-250-AUTH LOGIN PLAIN
-250-STARTTLS
-250-DELIVERBY
-250 HELP
-<userinput>quit</userinput>
-221 2.0.0 <systemitem class="fqdomainname">ejemplo.com</systemitem> closing connection
-Connection closed by foreign host.</screen>
-
- <para>Si la línea <quote>STARTTLS</quote> aparece en la
- salida, todo está funcionando correctamente.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="ipsec">
- <info><title>VPN sobre IPsec</title>
- <authorgroup>
- <author><personname><firstname>Nik</firstname><surname>Clayton</surname></personname><affiliation>
- <address><email>nik@FreeBSD.org</email></address>
- </affiliation><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>IPsec</primary>
- </indexterm>
-
- <para>Creación de una VPN entre dos redes, a través de
- Internet, mediante puertas de enlace
- (<quote>gateways</quote>) &os;.</para>
-
- <sect2>
- <info><title>Qué es IPsec</title>
- <authorgroup>
- <author><personname><firstname>Hiten M.</firstname><surname>Pandya</surname></personname><affiliation>
- <address><email>hmp@FreeBSD.org</email></address>
- </affiliation><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Esta sección le guiará a través del
- proceso de configuración de IPsec, y de su uso en un
- entorno consistente en máquinas &os; y
- <application>&microsoft.windows; 2000/XP</application>, para
- hacer que se comuniquen de manera segura. Para configurar
- IPsec es necesario que esté familiarizado con los
- conceptos de construcción de un kernel personalizado
- (consulte el <xref linkend="kernelconfig"/>).</para>
-
- <para><emphasis>IPsec</emphasis> es un protocolo que está
- sobre la capa del protocolo de Internet (IP). Le permite
- a dos o más equipos comunicarse de forma segura (de ahí
- el nombre). La <quote>pila de red</quote> IPsec de &os;
- se basa en la implementación
- <link xlink:href="http://www.kame.net/">KAME</link>, que incluye
- soporte para las dos familias de protocolos, IPv4 e IPv6.</para>
-
- <note>
- <para>FreeBSD 5.X contiene una pila IPsec <quote>acelerada
- por hardware</quote>, conocida como <quote>Fast
- IPsec</quote>, que fué obtenida de OpenBSD.
- Emplea hardware criptográfico (cuando es posible)
- a través del subsistema &man.crypto.4; para
- optimizar el rendimiento de IPsec. Este subsistema es
- nuevo, y no soporta todas las opciones disponibles en la
- versión KAME de IPsec. Para poder habilitar IPsec
- acelerado por hardware debe añadir las siguientes
- opciones al fichero de configuración de su kernel:</para>
-
- <indexterm>
- <primary>opciones de kernel</primary>
- <secondary>FAST_IPSEC</secondary>
- </indexterm>
-
- <screen>
-options FAST_IPSEC # new IPsec (cannot define w/ IPSEC)
- </screen>
-
- <para>Tenga en cuenta que no es posible utilizar el subsistema
- <quote>Fast IPsec</quote> y la implementación
- KAME de IPsec en la misma computadora. Consulte la
- página de manual &man.fast.ipsec.4; para más
- información.</para>
-
- </note>
-
- <indexterm>
- <primary>IPsec</primary>
- <secondary>ESP</secondary>
- </indexterm>
-
- <indexterm>
- <primary>IPsec</primary>
- <secondary>AH</secondary>
- </indexterm>
-
- <para>IPsec consta de dos sub-protocolos:</para>
-
- <itemizedlist>
- <listitem>
- <para><emphasis>Encapsulated Security Payload
- (ESP)</emphasis>, que protege los datos del paquete IP
- de interferencias de terceros, cifrando el contenido
- utilizando algoritmos de criptografía simétrica
- (como Blowfish, 3DES).</para>
- </listitem>
- <listitem>
- <para><emphasis>Authentication Header (AH)</emphasis>, que
- protege la cabecera del paquete IP de interferencias de
- terceros así como contra la falsificación
- (<quote>spoofing</quote>), calculando una suma de
- comprobación criptográfica y aplicando a
- los campos de cabecera IP una función hash segura.
- Detrás de todo esto va una cabecera adicional que
- contiene el hash para permitir la validación de
- la información que contiene el paquete.</para>
- </listitem>
- </itemizedlist>
-
- <para><acronym>ESP</acronym> y <acronym>AH</acronym> pueden
- utilizarse conjunta o separadamente, dependiendo del
- entorno.</para>
-
- <indexterm>
- <primary>VPN</primary>
- </indexterm>
-
- <indexterm>
- <primary>Red privada virtual</primary>
- <see>VPN</see>
- </indexterm>
-
- <para>IPsec puede utilizarse para cifrar directamente el
- tráfico entre dos equipos (conocido como
- <emphasis>modo de transporte</emphasis>) o para construir
- <quote>túneles virtuales</quote> entre dos subredes,
- que pueden usarse para comunicación segura
- entre dos redes corporativas (conocido como <emphasis>modo
- de túnel</emphasis>). Este último es muy
- conocido como una <emphasis>red privada virtual (Virtual
- Private Network, o VPN)</emphasis>. &man.ipsec.4; contiene
- información detallada sobre el subsistema IPsec de
- &os;.</para>
-
- <para>Si quiere añdir soporte IPsec a su kernel debe
- incluir las siguientes opciones al fichero de configuración
- de su kernel:</para>
-
- <indexterm>
- <primary>opciones de kernel</primary>
- <secondary>IPSEC</secondary>
- </indexterm>
-
- <indexterm>
- <primary>opciones de kernel</primary>
- <secondary>IPSEC_ESP</secondary>
- </indexterm>
-
- <screen>
-options IPSEC #IP security
-options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
- </screen>
-
- <indexterm>
- <primary>opciones de kernel</primary>
- <secondary>IPSEC_DEBUG</secondary>
- </indexterm>
-
- <para>Si quiere soporte para la depuración de
- errores no olvide la siguiente opción:</para>
-
- <screen>
-options IPSEC_DEBUG #debug for IP security
- </screen>
- </sect2>
-
- <sect2>
- <title>El Problema</title>
-
- <para>No existe un estándar para lo que constituye una VPN.
- Las VPN pueden implementarse utilizando numerosas
- tecnologías diferentes, cada una de las cuales tiene sus
- pros y sus contras. Esta sección presenta un
- escenario, y las estrategias usadas para implementar una VPN
- para este escenario.</para>
- </sect2>
-
- <sect2>
- <title>El escenario: dos redes, conectadas por Internet, que
- queremos que se comporten como una sola</title>
-
- <indexterm>
- <primary>VPN</primary>
- <secondary>creación</secondary>
- </indexterm>
-
- <para>Este es el punto de partida:</para>
-
- <itemizedlist>
- <listitem>
- <para>Usted tiene al menos dos sitios</para>
- </listitem>
- <listitem>
- <para>Ambos sitios utilizan IP internamente</para>
- </listitem>
- <listitem>
- <para>Ambos sitios están conectados a Internet, a
- través de una puerta de enlace &os;.</para>
- </listitem>
- <listitem>
- <para>La puerta de enlace de cada red tiene al menos una
- dirección IP pública.</para>
- </listitem>
- <listitem>
- <para>Las direcciones internas de las dos redes pueden ser
- direcciones IP públicas o privadas, no importa.
- Puede ejecutar NAT en la máquina que hace de
- puerta de enlace si es necesario.</para>
- </listitem>
- <listitem>
- <para>Las direcciones IP internas de las dos redes
- <emphasis>no colisionan</emphasis>. Aunque espero
- que sea teóricamente posible utilizar una
- combinación de tecnología VPN y NAT
- para hacer funcionar todo esto sospecho que
- configurarlo sería una pesadilla.</para>
- </listitem>
- </itemizedlist>
-
- <para>Si lo que intenta es conectar dos redes y ambas usan el
- mismo rango de direcciones IP privadas (por ejemplo las dos usan
- <systemitem class="ipaddress">192.168.1.x</systemitem>)debería renumerar
- una de las dos redes.</para>
-
- <para>La topología de red se parecería a esto:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="security/ipsec-network" align="center"/>
- </imageobject>
-
- <textobject>
-<literallayout class="monospaced">Network #1 [ Internal Hosts ] Private Net, 192.168.1.2-254
- [ Win9x/NT/2K ]
- [ UNIX ]
- |
- |
- .---[fxp1]---. Private IP, 192.168.1.1
- | FreeBSD |
- `---[fxp0]---' Public IP, A.B.C.D
- |
- |
- -=-=- Internet -=-=-
- |
- |
- .---[fxp0]---. Public IP, W.X.Y.Z
- | FreeBSD |
- `---[fxp1]---' Private IP, 192.168.2.1
- |
- |
-Network #2 [ Internal Hosts ]
- [ Win9x/NT/2K ] Private Net, 192.168.2.2-254
- [ UNIX ]</literallayout>
- </textobject>
- </mediaobject>
-
- <para>Observe las dos direcciones IP públicas. Usaré
- letras para referirme a ellas en el resto de este artículo.
- El cualquier lugar que vea esas letras en este artículo
- reemplácelas con su propia dirección IP pública.
- Observe también que internamente las dos máquinas
- que hacen de puerta de enlace tienen la dirección IP .1,
- y que las dos redes tienen direcciones IP privadas diferentes
- (<systemitem class="ipaddress">192.168.1.x</systemitem> y <systemitem class="ipaddress">192.168.2.x</systemitem> respectivamente). Todas las
- máquinas de las redes privadas están configuradas para
- utilizar la máquina <systemitem class="ipaddress">.1</systemitem>
- como su puerta de enlace por defecto.</para>
-
- <para>La intención es que, desde el punto de vista de la
- red, cada red debe ver las máquinas en la otra red como
- si estuvieran directamente conectadas al mismo router (aunque
- aunque sea un router ligeramente lento con una tendencia
- ocasional a tirar paquetes).</para>
-
- <para>Esto significa que (por ejemplo), la máquina
- <systemitem class="ipaddress">192.168.1.20</systemitem> debe ser
- capaz de ejecutar</para>
-
- <programlisting>ping 192.168.2.34</programlisting>
-
- <para>y recibir de forma transparente una respuesta. Las
- máquinas &windows; deben ser capaces de ver las
- máquinas de la otra red, acceder a sus ficheros
- compartidos, etc, exactamente igual que cuando acceden a
- las máquinas de la red local.</para>
-
- <para>Y todo debe hacerse de forma segura. Esto significa que el
- tráfico entre las dos redes tiene que ser
- cifrado.</para>
-
- <para>La creación de una VPN entre estas dos redes es un
- proceso que requiere varios pasos. Las etapas son estas:</para>
-
- <orderedlist>
- <listitem>
- <para>Crear un enlace de red <quote>virtual</quote> entre las dos
- redes, a través de Internet. Probarlo usando herramientas
- como &man.ping.8; para asegurarse de que funcione.</para>
- </listitem>
-
- <listitem>
- <para>Aplicar políticas de seguridad para asegurarse
- de que el tráfico entre las dos redes sea cifrado
- y descifrado de forma transparente. Comprobarlo mediante
- herramientas como &man.tcpdump.1; para asegurarse de que
- el tráfico esté siendo efectivamente
- cifrado.</para>
- </listitem>
-
- <listitem>
- <para>Configurar software adicional en las puertas de
- enlace &os; para permitir a las máquinas &windows;
- verse entre ellas a través de la VPN.</para>
- </listitem>
- </orderedlist>
-
- <sect3>
- <title>Paso 1: Creación y prueba de un enlace de
- red <quote>virtual</quote></title>
-
- <para>Suponga que está en la puerta de enlace de la red
- red #1 (con dirección IP pública <systemitem class="ipaddress">A.B.C.D</systemitem>, dirección IP privada
- <systemitem class="ipaddress">192.168.1.1</systemitem>), y ejecuta
- <command>ping 192.168.2.1</command>, que es la dirección
- privada de la máquina con dirección IP
- <systemitem class="ipaddress">W.X.Y.Z</systemitem>. ?Qué
- hace falta para esto?</para>
-
- <orderedlist>
- <listitem>
- <para>La puerta de enlace necesita saber cómo alcanzar
- a <systemitem class="ipaddress">192.168.2.1</systemitem>. En otras
- palabras, necesita tener una ruta hasta <systemitem class="ipaddress">192.168.2.1</systemitem>.</para>
- </listitem>
- <listitem>
- <para>Las direcciones IP privadas, como las que están
- en el rango <systemitem class="ipaddress">192.168.x</systemitem>
- no deberían aparecer en Internet. Por eso, cada paquete
- que mande a <systemitem class="ipaddress">192.168.2.1</systemitem>
- necesitará encerrarse dentro de otro paquete.
- Este paquete debe tener todas las características
- de haber sido enviado desde
- <systemitem class="ipaddress">A.B.C.D</systemitem>,
- y tendrá que ser enviado a <systemitem class="ipaddress">W.X.Y.Z</systemitem>. Este proceso recibe el nombre
- de <firstterm>encapsulado</firstterm>.</para>
- </listitem>
- <listitem>
- <para>Una vez que este paquete llega a
- <systemitem class="ipaddress">W.X.Y.Z</systemitem> necesitará
- ser <quote>desencapsulado</quote>, y entregado a
- <systemitem class="ipaddress">192.168.2.1</systemitem>.</para>
- </listitem>
- </orderedlist>
-
- <para>Puede verlo como si necesitara un <quote>túnel</quote>
- entre las dos redes. Las dos <quote>bocas del túnel</quote>
- son las direcciones IP <systemitem class="ipaddress">A.B.C.D</systemitem> y
- <systemitem class="ipaddress">W.X.Y.Z</systemitem>, y debe hacer que el
- túnel sepa cuáles serán las direcciones
- IP privadas que tendrán permitido el paso a través
- de él. El túnel se usa para transferir tráfico
- con direcciones IP privadas a través de la Internet
- pública.</para>
-
- <para>Este túnel se crea mediante la interfaz genérica,
- o dispositivo <filename>gif</filename> en &os;. Como
- puede imaginarse la interfaz <filename>gif</filename>
- de cada puerta de enlace debe configurarse con cuatro
- direcciones IP: dos para las direcciones IP públicas,
- y dos para las direcciones IP privadas.</para>
-
- <para>El soporte para el dispositivo gif debe compilarse en el
- kernel de &os; en ambas máquinas añadiendo
- la línea</para>
-
- <programlisting>device gif</programlisting>
-
- <para>a los ficheros de configuración del kernel de
- ambas máquinas, compilarlo, instalarlo y reiniciar.</para>
-
- <para>La configuración del túnel es un proceso
- que consta de dos partes. Primero se le debe decir al
- túnel cuáles son las direcciones IP exteriores
- (o públicas) mediante &man.gifconfig.8;. Después
- configure las direcciones IP con &man.ifconfig.8;.</para>
-
- <note>
- <para>En &os;&nbsp;5.X las funciones de &man.gifconfig.8;
- se han incluido en &man.ifconfig.8;.</para></note>
-
- <para>En la puerta de enlace de la red #1 debe ejecutar
- las siguientes dos órdenes para configurar el
- túnel.</para>
-
- <programlisting>gifconfig gif0 A.B.C.D W.X.Y.Z
-ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff
- </programlisting>
-
- <para>En la otra puerta de enlace ejecute las mismas
- órdenes, pero con el orden las direcciones IP
- invertido.</para>
-
- <programlisting>gifconfig gif0 W.X.Y.Z A.B.C.D
-ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff
- </programlisting>
-
- <para>Ahora ejecute:</para>
-
- <programlisting>gifconfig gif0</programlisting>
-
- <para>y podrá ver la configuración. Por ejemplo, en la
- puerta de enlace de la red #1 vería algo parecido
- a esto:</para>
-
- <screen>&prompt.root; <userinput>gifconfig gif0</userinput>
-gif0: flags=8011&lt;UP,POINTTOPOINT,MULTICAST&gt; mtu 1280
-inet 192.168.1.1 --&gt; 192.168.2.1 netmask 0xffffffff
-physical address inet A.B.C.D --&gt; W.X.Y.Z
- </screen>
-
- <para>Como puede ver se ha creado un túnel entre las direcciones
- físicas <systemitem class="ipaddress">A.B.C.D</systemitem> y
- <systemitem class="ipaddress">W.X.Y.Z</systemitem>, y el tráfico
- que puede pasar a través del túnel es entre
- <systemitem class="ipaddress">192.168.1.1</systemitem> y
- <systemitem class="ipaddress">192.168.2.1</systemitem>.</para>
-
- <para>Esto también habrá agregado una entrada en
- la tabla de rutas de ambas máquinas, que puede
- examinar con <command>netstat -rn</command>.
- Esta salida es de la puerta de enlace de la red #1.</para>
-
- <screen>&prompt.root; <userinput>netstat -rn</userinput>
-Routing tables
-
-Internet:
-Destination Gateway Flags Refs Use Netif Expire
-...
-192.168.2.1 192.168.1.1 UH 0 0 gif0
-...
- </screen>
-
- <para>Como el valor de <quote>Flags</quote> lo indica, esta
- es una ruta de equipo, lo que significa que cada puerta de
- enlace sabe como alcanzar la otra puerta de enlace, pero no saben
- cómo llegar al resto de sus respectivas redes. Ese
- problema se solucionará en breve.</para>
-
- <para>Es posible que disponga de un cortafuegos en ambas
- máquinas, por lo que tendrá que buscar la
- forma de que el tráfico de la VPN pueda entrar y
- salir limpiamente. Puede permitir todo el tráfico
- de ambas redes, o puede que quiera incluir reglas en el
- cortafuegos para que protejan ambos extremos de la VPN uno
- del otro.</para>
-
- <para>Las pruebas se simplifican enormemente si configura
- el cortafuegos para permitir todo el tráfico a
- través de la VPN. Siempre puede ajustar las cosas
- después. Si utiliza &man.ipfw.8; en las puertas de
- enlace una orden similar a</para>
-
- <programlisting>ipfw add 1 allow ip from any to any via gif0</programlisting>
-
- <para>permitirá todo el tráfico entre los dos
- extremos de la VPN, sin afectar al resto de reglas del
- cortafuegos. Obviamente tendrá que ejecutar esta orden
- en ambas puertas de enlace.</para>
-
- <para>Esto es suficiente para permitir a cada puerta de enlace
- hacer un ping entre ellas. En
- <systemitem class="ipaddress">192.168.1.1</systemitem> deberí poder
- ejecutar</para>
-
- <programlisting>ping 192.168.2.1</programlisting>
-
- <para>y obtener una respuesta; es obvio que debería poder
- hacer los mismo en la otra puerte de enlace.</para>
-
- <para>Aún no podrá acceder a las máquinas
- internas de las redes. El problema está en el
- encaminamiento: aunque las puertas de enlace saben
- cómo alcanzarse mútuamente no saben cómo
- llegar a la red que hay detrás de la otra.</para>
-
- <para>Para resolver este problema debe añadir una ruta
- estática en cada puerta de enlace. La orden
- en la primera puerta de enlace podría ser:</para>
-
- <programlisting>route add 192.168.2.0 192.168.2.1 netmask 0xffffff00
- </programlisting>
-
- <para>Esto significa <quote>Para alcanzar los equipos en
- la red <systemitem class="ipaddress">192.168.2.0</systemitem>, envía
- los paquetes al equipo
- <systemitem class="ipaddress">192.168.2.1</systemitem></quote>.
- Necesitará ejecutar una orden similar en la otra
- puerta de enlace, pero obviamente con las direcciones
- <systemitem class="ipaddress">192.168.1.x</systemitem>.</para>
-
- <para>El tráfico IP de equipos en una red no será
- capaz de alcanzar equipos en la otra red.</para>
-
- <para>Ya tiene dos tercios de una VPN, puesto que ya es
- <quote>virtual</quote> y es una <quote>red</quote>.
- Todavía no es privada. Puede comprobarlo con
- &man.ping.8; y &man.tcpdump.1;. Abra una sesión en
- la puerta de enlace y ejecute</para>
-
- <programlisting>tcpdump dst host 192.168.2.1</programlisting>
-
- <para>En otra sesión en el mismo equipo ejecute</para>
-
- <programlisting>ping 192.168.2.1</programlisting>
-
- <para>Verá algo muy parecido a esto:</para>
-
- <programlisting>
-16:10:24.018080 192.168.1.1 &gt; 192.168.2.1: icmp: echo request
-16:10:24.018109 192.168.1.1 &gt; 192.168.2.1: icmp: echo reply
-16:10:25.018814 192.168.1.1 &gt; 192.168.2.1: icmp: echo request
-16:10:25.018847 192.168.1.1 &gt; 192.168.2.1: icmp: echo reply
-16:10:26.028896 192.168.1.1 &gt; 192.168.2.1: icmp: echo request
-16:10:26.029112 192.168.1.1 &gt; 192.168.2.1: icmp: echo reply
- </programlisting>
-
- <para>Como puede ver los mensajes ICMP van y vienen sin
- cifrar. Si usa el parámetro <option>-s</option>
- en &man.tcpdump.1; para tomar más bytes de datos de
- estos paquetes verá más información.</para>
-
- <para>Obviamente esto es inaceptable. La siguiente sección
- explicará cómo asegurar el enlace entre las dos
- redes para que todo el tráfico se cifre
- automáticamente.</para>
-
- <itemizedlist>
- <title>Sumario:</title>
- <listitem>
- <para>Configure ambos kernel con <quote>pseudo-device
- gif</quote>.</para>
- </listitem>
- <listitem>
- <para>Edite <filename>/etc/rc.conf</filename> en la puerta de
- enlace #1 y añada las siguientes líneas
- (reemplazando las direcciones IP según sea necesario).</para>
- <programlisting>gifconfig_gif0="A.B.C.D W.X.Y.Z"
-ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff"
-static_routes="vpn"
-route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00"
- </programlisting>
- </listitem>
-
- <listitem>
- <para>Edite la configuración de su cortafuegos
- (<filename>/etc/rc.firewall</filename>, o lo que corresponda)
- en ambos equipos y añada</para>
-
- <programlisting>ipfw add 1 allow ip from any to any via gif0</programlisting>
- </listitem>
- <listitem>
- <para>Haga los cambios oportunos en el
- <filename>/etc/rc.conf</filename> de la puerta de
- enlace #2, invirtiendo el orden de las direcciones IP.</para>
- </listitem>
- </itemizedlist>
- </sect3>
-
- <sect3>
- <title>Paso 2: Asegurar el enlace</title>
-
- <para>Para asegurar el enlace usaremos IPsec. IPsec ofrece un
- mecanismo para que dos equipos coincidan en una llave de
- cifrado, y usar esta llave para cifrar los datos
- entre los dos equipos.</para>
-
- <para>Existen dos áreas de configuración a
- tener en cuenta:</para>
-
- <orderedlist>
- <listitem>
- <para>Debe existir un mecanismo para que los dos equipos
- se pongan de acuerdo en el mecanismo de cifrado que van a
- utilizar. Una vez que los dos equipos se han puesto de
- acuerdo dice que existe una
- <quote>asociación de seguridad</quote> entre
- ellos.</para>
- </listitem>
- <listitem>
- <para>Debe existir un mecanismo para especificar que tráfico
- debe ser cifrado. Obviamente, usted no querrá
- cifrar todo su tráfico saliente: solo querrá
- cifrar el tráfico que es parte de la VPN. Las
- reglas con las que determinará qué tráfico
- será cifrado se llaman <quote>políticas
- de seguridad</quote>.</para>
- </listitem>
- </orderedlist>
-
- <para>Tanto las asociaciones de seguridad como las
- políticas de seguridad son responsabilidad del kernel,
- pero pueden ser modificadas desde el espacio de usuario.
- Antes de poder hacerlo, tendrá que configurar el kernel
- para que incluya IPsec y el protocolo ESP
- (Encapsulated Security Payload). Incluya en el fichero de
- configuración de su kernel lo siguiente:</para>
-
- <indexterm>
- <primary>opciones de kernel</primary>
- <secondary>IPSEC</secondary>
- </indexterm>
-
- <programlisting>options IPSEC
-options IPSEC_ESP
- </programlisting>
-
- <para>Recompile y resintale su kernel y reinicie. Como se dijo
- anteriormente, tendrá que hacer lo mismo en el kernel
- de las dos puertas de enlace.</para>
-
- <indexterm>
- <primary>IKE</primary>
- </indexterm>
-
- <para>Tiene dos opciones cuando se trata de configurar
- asociaciones de seguridad. Puede configurarlas a mano en
- los dos equipos, lo que significa elegir el algoritmo de
- cifrado, las llaves de cifrado, etc, o puede utilizar
- alguno de los d&aelig;mons que implementan el protocolo
- de intercambio de llaves de Internet (IKE, Internet Key
- Exchange).</para>
-
- <para>Le recomiendo la segunda opción. Aparte de
- otras consideraciones es más fácil de
- configurar.</para>
-
- <indexterm>
- <primary>IPsec</primary>
- <secondary>políticas de seguridad</secondary>
- </indexterm>
-
- <indexterm>
- <primary><command>setkey</command></primary>
- </indexterm>
-
- <para>La edición y despliegue se efectúa con
- &man.setkey.8;. Todo esto se entiende mejor con una
- analogía. <command>setkey</command> es a las tablas
- de políticas de seguridad del kernel lo que &man.route.8;
- es a las tablas de rutas del kernel.
- También puede usar <command>setkey</command>
- ver las asociaciones de seguridad en vigor, siguiendo con
- la analogía, igual que puede usar
- <command>netstat -r</command>.</para>
-
- <para>Existen numerosos d&aelig;mons que pueden encargarse de
- la gestión de asociaciones de seguridad en &os;. En
- este texto se muestra cómo usar uno de ellos,
- racoon (que puede instalar desde
- <package>security/racoon</package> en la
- colección de ports de &os;.</para>
-
- <indexterm>
- <primary>racoon</primary>
- </indexterm>
-
- <para>El software <package>security/racoon</package>
- debe ejecutarse en las dos puertas de enlace. En cada equipo
- debe configurar la dirección IP del otro extremo de la
- VPN y una llave secreta (que usted puede y debe elegir, y debe ser
- la misma en ambas puertas de enlace).</para>
-
- <para>Los dos d&aelig;mons entran en contacto uno con otro, y confirman
- que son quienes dicen ser (utilizando la llave secreta que usted
- configuró). Los d&aelig;mons generan una nueva llave
- secreta, y la utilizan para cifrar el tráfico que discurre a
- través de la VPN. Periódicamente cambian esta
- llave, para que incluso si un atacante comprometiera una
- de las llaves (lo cual es teóricamente cercano a
- imposible) no le serviriía de mucho: para cuando el
- atacante haya <quote>crackeado</quote> la llave los d&aelig;mons
- ya habrán escogido una nueva.</para>
-
- <para>El fichero de configuración de racoon
- está en <filename>${PREFIX}/etc/racoon</filename>.
- No debería tener que hacer demasiados cambios a ese
- fichero. El otro componente de la configuración de
- racoon (que <emphasis>sí</emphasis> tendrá que
- modificar) es la <quote>llave pre-compartida</quote>.</para>
-
- <para>La configuración por defecto de racoon
- espera encontrarla en
- <filename>${PREFIX}/etc/racoon/psk.txt</filename>.
- Es importante saber que la llave precompartida <emphasis>no</emphasis>
- es la llave que se utilizará para cifrar el
- tráfico a través del enlace VPN; solamente es una
- muestra que permite a los d&aelig;mons que administran las
- llaves confiar el uno en el otro.</para>
-
- <para><filename>psk.txt</filename> contiene una línea
- por cada sitio remoto con el que esté tratando. En
- nuestro ejemplo, donde existen dos sitios, cada fichero
- <filename>psk.txt</filename> contendrá una línea
- (porque cada extremo de la VPN solo está tratando
- con un sitio en el otro extremo).</para>
-
- <para>En la puerta de enlace #1 esta línea debería
- parecerse a esta:</para>
-
- <programlisting>W.X.Y.Z secreto</programlisting>
-
- <para>Esto es, la dirección IP
- <emphasis>pública</emphasis> del extremo remoto, un
- espacio en blanco, y una cadena de texto que es el secreto
- en sí.
- en el extremo remoto, espacio en blanco, y un texto de cadena que
- proporcina el secreto. Obviamente, no debe utilizar
- <quote>secret</quote> como su llave; aplique aquí las
- reglas y recomendaciones habituales para la elección de
- contraseñas.</para>
-
- <para>En la puerta de enlace #2 la línea se parecería
- a esta</para>
-
- <programlisting>A.B.C.D secreto</programlisting>
-
- <para>Esto es, la dirección IP pública del
- extremo remoto, y la misma llave secreta.
- <filename>psk.txt</filename> debe tener modo
- <literal>0600</literal> (es decir, modo de solo
- lectura/escritura para <systemitem class="username">root</systemitem>) antes de
- que ejecute racoon.</para>
-
- <para>Debe ejecutar racoon en ambas puertas de enlace.
- También tendrá que añadir algunas reglas
- a su cortafuegos para permitir el tráfico IKE, que se
- transporta sobre UDP al puerto ISAKMP (Internet Security
- Association Key Management Protocol). Esto debe estar
- al principio de las reglas de su cortafuegos.</para>
-
- <programlisting>ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
-ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
- </programlisting>
-
- <para>Una vez que ejecute racoon puede tratar de hacer un
- ping a una puerta de enlace desde la otra. La conexión
- todavía no está cifrada porque aún no se
- han creado las asociaciones de seguridad entre los dos
- equipos: esto puede llevar un poco de tiempo; es posible que
- advierta un pequeño retraso antes de los ping empiecen
- responder.</para>
-
- <para>Una vez creadas las asociaciones de seguridad
- puede verlas utilizando &man.setkey.8;. Ejecute</para>
-
- <programlisting>setkey -D</programlisting>
-
- <para>en cualquiera de los equipos para comprobar la información
- de la asociación de seguridad.</para>
-
- <para>Ya está resuelta la mitad del problema. La otra mitad es
- configurar sus políticas de seguridad.</para>
-
- <para>Queremos crear una política de seguridad sensata,
- así que vamos a revisar lo que tenemos configurado
- hasta el momento. Esta revisión abarca ambos extremos
- del enlace.</para>
-
- <para>Cada paquete IP que usted manda tiene una cabecera que
- contiene datos acerca del paquete. La cabecera incluye la
- dirección IP de destino y del origen. Como ya sabemos,
- las direcciones IP privadas como el rango
- <systemitem class="ipaddress">192.168.x.y</systemitem> no deberían
- aparezcan en Internet. Dado que es a través de Internet
- por donde los queremos transmitir los debemos encapsular dentro
- de otro paquete. Este paquete debe contener tanto la dirección
- IP de destino y origen públicas sustituidas por las
- direcciones privadas.</para>
-
- <para>Así que si su paquete saliente empezó
- pareciendose a este:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="security/ipsec-out-pkt" align="center"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">
- .----------------------.
- | Src: 192.168.1.1 |
- | Dst: 192.168.2.1 |
- | &lt;other header info&gt; |
- +----------------------+
- | &lt;packet data&gt; |
- `----------------------'</literallayout>
- </textobject>
- </mediaobject>
-
- <para>tras el encapsulado se parecerá bastante a este:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="security/ipsec-encap-pkt" align="center"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">
- .--------------------------.
- | Src: A.B.C.D |
- | Dst: W.X.Y.Z |
- | &lt;other header info&gt; |
- +--------------------------+
- | .----------------------. |
- | | Src: 192.168.1.1 | |
- | | Dst: 192.168.2.1 | |
- | | &lt;other header info&gt; | |
- | +----------------------+ |
- | | &lt;packet data&gt; | |
- | `----------------------' |
- `--------------------------'</literallayout>
- </textobject>
- </mediaobject>
-
- <para>El dispositivo <filename>gif</filename> se encarga
- del encapsulado. Como puede ver el paquete tiene una
- dirección IP real en el exterior, y nuestro paquete
- original ha sido envuelto como dato dentro del paquete que
- enviaremos a través de Internet.</para>
-
- <para>Obviamente, queremos que todo el tráfico entre
- las VPN vaya cifrado. Pongamos esto último en
- palabras para comprenderlo mejor:</para>
-
- <para><quote>Si un paquete sale desde <systemitem class="ipaddress">A.B.C.D</systemitem>, y tiene como destino
- <systemitem class="ipaddress">W.X.Y.Z</systemitem>, cífralo
- utilizando las asociaciones de seguridad necesarias.</quote></para>
-
- <para><quote>Si un paquete llega desde <systemitem class="ipaddress">W.X.Y.Z</systemitem>, y tiene como destino
- <systemitem class="ipaddress">A.B.C.D</systemitem>, descífralo
- utilizando las asociaciones de seguridad necesarias.</quote></para>
-
- <para>Este planteamiento se aproxima bastante, pero no es
- exactamente lo que queremos hacer. Si lo hiciera así
- todo el tráfico desde y hacia
- <systemitem class="ipaddress">W.X.Y.Z</systemitem>, incluso el tráfico
- que no forma parte de la VPN, será cifrado; esto no es lo que
- queremos. La política correcta es la siguiente:</para>
-
- <para><quote>Si un paquete sale desde <systemitem class="ipaddress">A.B.C.D</systemitem>, y está
- encapsulando a otro paquete, y tiene como destino
- <systemitem class="ipaddress">W.X.Y.Z</systemitem>, cífralo
- utilizando las asociaciones de seguridad necesarias.</quote></para>
-
- <para><quote>Si un paquete llega desde <systemitem class="ipaddress">W.X.Y.Z</systemitem>, y está
- encapsulando a otro paquete, y tiene como destino
- <systemitem class="ipaddress">A.B.C.D</systemitem>, descífralo
- utilizando las asociaciones de seguridad necesarias.</quote></para>
-
- <para>Un cambio sutil, pero necesario.</para>
-
- <para>Las políticas de seguridad también se
- imponen utilizando &man.setkey.8;. &man.setkey.8; proporciona
- un lenguaje de configuración para definir la
- política. Puede introducir las instrucciones de
- configuración a través de la entrada estándar
- (stdin), o puede usar la opción
- <option>-f</option> para especificar un fichero que
- contenga las instrucciones de configuración.</para>
-
- <para>La configuración en la puerta de enlace #1 (que
- tiene la dirección IP pública
- <systemitem class="ipaddress">A.B.C.D</systemitem>) para forzar que todo
- el tráfico saliente hacia
- <systemitem class="ipaddress">W.X.Y.Z</systemitem> vaya cifrado es:</para>
-
- <programlisting>
-spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;
- </programlisting>
-
- <para>Ponga estas órdenes en un fichero (por ejemplo
- <filename>/etc/ipsec.conf</filename>) y ejecute</para>
-
- <screen>&prompt.root; <userinput>setkey -f /etc/ipsec.conf</userinput></screen>
-
- <para><option>spdadd</option> le dice a &man.setkey.8; que
- queremos añadir una regla a la base de datos de
- políticas de seguridad. El resto de la línea
- especifica qué paquetes se ajustarán a esta
- política.
- <systemitem class="ipaddress">A.B.C.D/32</systemitem> y
- <systemitem class="ipaddress">W.X.Y.Z/32</systemitem> son las direcciones IP
- y máscaras de red que identifican la red o equipos a los
- que se aplicará esta política. En nuestro caso
- queremos aplicarla al tráfico entre estos dos equipos.
- <option>-P out</option> dice que esta política se aplica
- a paquetes salientes, e <option>ipsec</option> hace que el
- paquete sea asegurado.</para>
-
- <para>La segunda línea especifica cómo será
- cifrado este paquete. <option>esp</option> es el
- protocolo que se utilizará, mientras que
- <option>tunnel</option> indica que el paquete será
- después encapsulado en un paquete IPsec. El uso repetido de
- <systemitem class="ipaddress">A.B.C.D</systemitem> y
- <systemitem class="ipaddress">W.X.Y.Z</systemitem> se utiliza para
- seleccionar la asociación de seguridad a usar, y
- por último <option>require</option> exige que los
- paquetes deben cifrarse si concuerdan con esta
- regla.</para>
-
- <para>Esta regla solo concuerda con paquetes salientes.
- Necesitará una regla similar para los paquetes
- entrantes.</para>
-
- <programlisting>spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;</programlisting>
-
- <para>Observe el <option>in</option> en lugar del <option>out</option>
- en este caso, y la inversión necesaria de las direcciones
- IP.</para>
-
- <para>La otra puerta de enlace (que tiene la dirección
- IP pública <systemitem class="ipaddress">W.X.Y.Z</systemitem>)
- necesitará reglas similares.</para>
-
- <programlisting>spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
-spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;</programlisting>
-
- <para>Finalmente, necesita añadir reglas a su cortafuegos
- para permitir la circulación de paquetes ESP e IPENCAP
- de ida y vuelta. Tendrá que añadir reglas como
- estas a ambos equipos.</para>
-
- <programlisting>ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
-ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
-ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
-ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
- </programlisting>
-
- <para>Debido a que las reglas son simétricas puede utilizar
- las mismas reglas en ambas puertas de enlace.</para>
-
- <para>Los paquetes salientes tendrán ahora este aspecto:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="security/ipsec-crypt-pkt" align="center"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">
- .------------------------------. --------------------------.
- | Src: A.B.C.D | |
- | Dst: W.X.Y.Z | |
- | &lt;other header info&gt; | | Encrypted
- +------------------------------+ | packet.
- | .--------------------------. | -------------. | contents
- | | Src: A.B.C.D | | | | are
- | | Dst: W.X.Y.Z | | | | completely
- | | &lt;other header info&gt; | | | |- secure
- | +--------------------------+ | | Encap'd | from third
- | | .----------------------. | | -. | packet | party
- | | | Src: 192.168.1.1 | | | | Original |- with real | snooping
- | | | Dst: 192.168.2.1 | | | | packet, | IP addr |
- | | | &lt;other header info&gt; | | | |- private | |
- | | +----------------------+ | | | IP addr | |
- | | | &lt;packet data&gt; | | | | | |
- | | `----------------------' | | -' | |
- | `--------------------------' | -------------' |
- `------------------------------' --------------------------'
- </literallayout>
- </textobject>
- </mediaobject>
-
- <para>Cuando los paquetes llegan al otro extremo de la VPN
- serán descifrados (utilizando las
- asociaciones de seguridad que han sido negociadas por racoon).
- Después entrarán al interfaz
- <filename>gif</filename>, que desenvuelve la segunda capa,
- hasta que nos quedamos con paquete má interno, que puede
- entonces viajar a la red interna.</para>
-
- <para>Puede revisar la seguridad utilizando la misma prueba de
- &man.ping.8; anterior. Primero, inicie una sesión en
- la puerta de enlace <systemitem class="ipaddress">A.B.C.D</systemitem>,
- y ejecute:</para>
-
- <programlisting>tcpdump dst host 192.168.2.1</programlisting>
-
- <para>En otra sesión en la misma máquina ejecute</para>
-
- <programlisting>ping 192.168.2.1</programlisting>
-
- <para>Debería ver algo similar a lo siguiente:</para>
-
- <programlisting>XXX tcpdump output</programlisting>
-
- <para>ahora, como puede ver, &man.tcpdump.1; muestra los paquetes ESP.
- Si trata de examinarlos con la opción <option>-s</option>
- verá basura (aparentemente), debido al
- cifrado.</para>
-
- <para>Felicidades. Acaba de configurar una VPN entre dos sitios
- remotos.</para>
-
- <itemizedlist>
- <title>Sumario</title>
- <listitem>
- <para>Configure ambos kernel con:</para>
-
- <programlisting>options IPSEC
-options IPSEC_ESP
- </programlisting>
- </listitem>
- <listitem>
- <para>Instale <package>security/racoon</package>.
- Edite <filename>${PREFIX}/etc/racoon/psk.txt</filename> en ambas
- puertas de enlace añadiendo una entrada para la
- dirección IP del equipo remoto y una llave secreta que
- ambos conozcan. Asegúrese de que este fichero esté
- en modo 0600.</para>
- </listitem>
- <listitem>
- <para>Añada las siguientes líneas a
- <filename>/etc/rc.conf</filename> en ambos equipos:</para>
-
- <programlisting>ipsec_enable="YES"
-ipsec_file="/etc/ipsec.conf"
- </programlisting>
- </listitem>
- <listitem>
- <para>Crée en ambos equipos un
- <filename>/etc/ipsec.conf</filename> que contenga las
- líneas spdadd necesarias. En la puerta de enlace
- #1 sería:</para>
-
- <programlisting>
-spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec
- esp/tunnel/A.B.C.D-W.X.Y.Z/require;
-spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec
- esp/tunnel/W.X.Y.Z-A.B.C.D/require;
-</programlisting>
-
- <para>En la puerta de enlace #2 sería:</para>
-
-<programlisting>
-spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec
- esp/tunnel/W.X.Y.Z-A.B.C.D/require;
-spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec
- esp/tunnel/A.B.C.D-W.X.Y.Z/require;
-</programlisting>
- </listitem>
- <listitem>
- <para>Añada a su(s) cortafuegos las reglas necesarias para
- que permita(n) el paso de tráfico IKE, ESP e
- IPENCAP en ambos equipos:</para>
-
- <programlisting>
-ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
-ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
-ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
-ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
-ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
-ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
- </programlisting>
- </listitem>
- </itemizedlist>
-
- <para>Los dos pasos previos deben bastar para levantar la VPN.
- Las máquinas en cada red seán capaces de
- dirigirse una a otra utilizando direcciones IP, y todo el
- tráfico a través del enlace será cifrado de
- forma automática y segura.</para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="openssh">
- <info><title>OpenSSH</title>
- <authorgroup>
- <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Escrito por </contrib></author>
- <!-- 21 April 2001 -->
- </authorgroup>
- </info>
-
-
- <indexterm><primary>OpenSSH</primary></indexterm>
- <indexterm>
- <primary>seguridad</primary>
- <secondary>OpenSSH</secondary>
- </indexterm>
-
- <para><application>OpenSSH</application> es un conjunto de herramientas
- de conectividad que se usan para acceder a sistemas remotos de
- forma segura. Puede usarse como sustituto directo de
- <command>rlogin</command>,
- <command>rsh</command>, <command>rcp</command> y
- <command>telnet</command>. Además cualquier otra conexión
- TCP/IP puede reenviarse o enviarse a través de un túnel a
- través de SSH.
- <application>OpenSSH</application> cifra todo el tráfico para
- eliminar de forma efectiva el espionaje, el secuestro de conexiones, y
- otros ataques en la capa de red.</para>
-
- <para><application>OpenSSH</application> está a cargo del proyecto
- OpenBSD, y está basado en SSH v1.2.12, con todos los errores
- recientes corregidos y todas las actualizaciones correspondientes.
- Es compatible con los protocolos SSH 1 y 2.
- <application>OpenSSH</application> forma parte del sistema base desde
- &os;&nbsp;4.0.</para>
-
- <sect2>
- <title>Ventajas de utilizar OpenSSH</title>
-
- <para>Normalmente, al utilizar &man.telnet.1; o &man.rlogin.1;
- los datos se envían a través de la red en limpio,
- es decir, sin cifrar. Cualquier <quote>sniffer</quote> de red
- entre el cliente y el servidor puede robar la información
- de usuario/contraseña o los datos transferidos durante
- su sesión. <application>OpenSSH</application> ofrece
- diversos métodos de validación y cifrado para
- evitar que sucedan estas cosas.</para>
- </sect2>
-
- <sect2>
- <title>Habilitar sshd</title>
- <indexterm>
- <primary>OpenSSH</primary>
- <secondary>habilitar</secondary>
- </indexterm>
-
- <para>El d&aelig;mon <application>sshd</application> está
- habilitado por defecto &os;&nbsp;4.X y puede elegir habilitarlo
- o no durante la instalación en &os;&nbsp;5.X. Si quiere
- saber si está habilitado revise si la siguiente
- línea está en <filename>rc.conf</filename>:</para>
-
- <screen>sshd_enable="YES"</screen>
-
- <para>Esta línea cargará &man.sshd.8;, el programa
- d&aelig;mon de <application>OpenSSH</application>, en el arranque
- de su sistema. Puede ejecutar el d&aelig;mon
- <application>sshd</application> tecleando
- <command>sshd</command> en la línea de órdenes.</para>
- </sect2>
-
- <sect2>
- <title>Cliente SSH</title>
- <indexterm>
- <primary>OpenSSH</primary>
- <secondary>cliente</secondary>
- </indexterm>
-
- <para>&man.ssh.1; funciona de manera
- similar a &man.rlogin.1;.</para>
-
- <screen>&prompt.root; <userinput>ssh user@example.com</userinput>
-Host key not found from the list of known hosts.
-Are you sure you want to continue connecting (yes/no)? <userinput>yes</userinput>
-Host 'ejemplo.com' added to the list of known hosts.
-usuario@ejemplo.com's password: <userinput>*******</userinput></screen>
-
- <para>El login continuará como lo haría si fuera
- una sesión de <command>rlogin</command> o
- <command>telnet</command>. SSH utiliza un sistema de huellas de
- llaves para verificar la autenticidad del servidor cuando el
- cliente se conecta. Se le pide al usuario que introduzca
- <literal>yes</literal> solamente la primera vez que se
- conecta. Todos los intentos futuros de login se verifican
- contra la huella de la llave guardada la primera vez.
- El cliente SSH le alertará si la huella guardada difiere
- de la huella recibida en futuros intentos de acceso al sistema.
- Las huellas se guardan en
- <filename>~/.ssh/known_hosts</filename>, y en
- <filename>~/.ssh/known_hosts2</filename> las huellas
- SSH v2.</para>
-
- <para>Por defecto las versiones recientes de
- los servidores <application>OpenSSH</application> solamente
- aceptan conexiones SSH v2. El cliente utilizará la
- versión 2 si es posible y pasará como
- respaldo a la versión 1. El cliente puede también
- ser obligado a utilizar una u otra pasándole
- <option>-1</option> o <option>-2</option>, respectivamente para
- la versión 1 y la versión 2. Se mantiene la
- compatibilidad del cliente con la versión 1 para
- mantener la compatibilidad con versiones antiguas.</para>
- </sect2>
-
- <sect2>
- <title>Copia segura</title>
- <indexterm>
- <primary>OpenSSH</primary>
- <secondary>copia segura</secondary>
- </indexterm>
- <indexterm><primary><command>scp</command></primary></indexterm>
-
- <para>&man.scp.1; funciona de manera muy similar a &man.rcp.1;;
- copia un fichero desde o hacia un sistema remoto, con la
- diferencia de que lo hace de una forma segura.</para>
-
- <screen>&prompt.root; <userinput> scp usuario@ejemplo.com:/COPYRIGHT COPYRIGHT</userinput>
-usuario@ejemplo.com's password: <userinput>*******</userinput>
-COPYRIGHT 100% |*****************************| 4735
-00:00
-&prompt.root;</screen>
-
- <para>Ya que la huella se guardó en este equipo durante
- el ejemplo anterior se verifica ahora al utilizar
- &man.scp.1;.</para>
-
- <para>Los argumentos de &man.scp.1; son similares
- a &man.cp.1;, con el fichero o ficheros como primer
- argumento, y el destino como segundo. Ya que el fichero
- se transfiere a través de la red, a través de
- SSH, uno o más argumentos tienen la estructura
- <option>user@host:&lt;ruta_al_fichero_remoto&gt;</option>.</para>
-
- </sect2>
-
- <sect2>
- <title>Configuración</title>
- <indexterm>
- <primary>OpenSSH</primary>
- <secondary>configuración</secondary>
- </indexterm>
-
- <para>Los ficheros de configuración del sistema
- tanto para el d&aelig;mon <application>OpenSSH</application>
- como para el cliente están en
- <filename>/etc/ssh</filename>.</para>
-
- <para><filename>ssh_config</filename> contiene las opciones
- del cliente, mientras que <filename>sshd_config</filename>
- configura el d&aelig;mon.</para>
-
- <para>Además las opciones <option>sshd_program</option>
- (<filename>/usr/sbin/sshd</filename> por defecto),
- y <option>sshd_flags</option> de <filename>rc.conf</filename>
- ofrecer más niveles de configuración.</para>
- </sect2>
-
- <sect2 xml:id="security-ssh-keygen">
- <title>ssh-keygen</title>
-
- <para>&man.ssh-keygen.1; le permite validar a un usuario sin
- pedirle la contraseña:</para>
-
- <screen>&prompt.user; <userinput>ssh-keygen -t dsa</userinput>
-Generating public/private dsa key pair.
-Enter file in which to save the key (/home/user/.ssh/id_dsa):
-Created directory '/home/user/.ssh'.
-Enter passphrase (empty for no passphrase):
-Enter same passphrase again:
-Your identification has been saved in /home/user/.ssh/id_dsa.
-Your public key has been saved in /home/user/.ssh/id_dsa.pub.
-The key fingerprint is:
-bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 usuario@host.ejemplo.com
-</screen>
-
- <para>&man.ssh-keygen.1; creará un par de llaves
- pública y privada para usar en la validación.
- La llave privada se guarda en
- <filename>~/.ssh/id_dsa</filename> o en
- <filename>~/.ssh/id_rsa</filename>, mientras que la llave
- pública se guarda en <filename>~/.ssh/id_dsa.pub</filename>
- o en <filename>~/.ssh/id_rsa.pub</filename>, respectivamente para
- llaves DSA y RSA. La llave pública debe guardarse en
- el <filename>~/.ssh/authorized_keys</filename> de la
- máquina remota para que la configuración funcione.
- Las llaves RSA versión 1 deben guardarse en
- <filename>~/.ssh/authorized_keys</filename>.</para>
-
- <para>De este modo permitirá conexiones a la máquina
- remota mediante llaves SSH en lugar de contraseñas.</para>
-
- <para>Si usa una contraseña al ejecutar &man.ssh-keygen.1;, se
- le pedirá al usuario una contraseña cada
- vez que quiera utilizar la llave privada. &man.ssh-agent.1;
- puede evitar la molestia de introducir repetidamente
- frases largas. esto se explica má adelante, en la
- <xref linkend="security-ssh-agent"/>.</para>
-
- <warning><para>Las opciones y ficheros pueden ser
- diferentes según la versión de
- <application>OpenSSH</application> que tenga en su sistema; para
- evitar problemas consulte la página de manual
- &man.ssh-keygen.1;.</para></warning>
- </sect2>
-
- <sect2 xml:id="security-ssh-agent">
- <title>ssh-agent y ssh-add</title>
-
- <para>&man.ssh-agent.1; y &man.ssh-add.1; ofrecen
- métodos para que las llaves <application>SSH</application>
- se puedan cargar en memoria, permitiendo eliminar la necesidad de
- teclear la contraseña cada vez que haga falta.</para>
-
- <para>&man.ssh-agent.1; gestionará la
- validación utilizando la llave (o llaves) privada que
- le cargue. &man.ssh-agent.1; se usa para lanzar otras
- aplicaciones. En el nivel más básico
- puede generar una shell o a un nivel más avanzado un
- gestor de ventanas.</para>
-
- <para>Para usar &man.ssh-agent.1; en una shell necesitará
- primero ser invocado como argumento por una shell. Segundo,
- añada la identidad ejecutando &man.ssh-add.1; y facilitando
- la contraseña de la llave privada. Completados estos
- pasos el usuario puede hacer &man.ssh.1; a cualquier equipo
- que tenga instalada la llave pública correspondiente.
- Por ejemplo:</para>
-
- <screen>&prompt.user; ssh-agent <replaceable>csh</replaceable>
-&prompt.user; ssh-add
-Enter passphrase for /home/user/.ssh/id_dsa:
-Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
-&prompt.user;</screen>
-
- <para>Para utilizar &man.ssh-agent.1; en X11 tendrá que
- incluir una llamada a &man.ssh-agent.1; en
- <filename>~/.xinitrc</filename>. De este modo ofrecerá
- los servicios de &man.ssh-agent.1; a todos los programas
- lanzados en X11. Veamos un ejemplo de
- <filename>~/.xinitrc</filename>:</para>
-
- <programlisting>exec ssh-agent <replaceable>startxfce4</replaceable></programlisting>
-
- <para>Esto lanzaría &man.ssh-agent.1;, que a su
- vez lanzaría <application>XFCE</application> cada
- vez que inicie X11. Hecho esto y una vez reiniciado X11
- para aplicar los cambios puede ejecutar &man.ssh-add.1; para
- cargar todas sus llaves SSH.</para>
- </sect2>
-
- <sect2 xml:id="security-ssh-tunneling">
- <title>Túneles SSH</title>
- <indexterm>
- <primary>OpenSSH</primary>
- <secondary>túneles</secondary>
- </indexterm>
-
- <para><application>OpenSSH</application> permite crear un túnel
- en el que encapsular otro protocolo en una sesión
- cifrada.</para>
-
- <para>La siguiente orden le dice a &man.ssh.1; que cree un
- túnel para <application>telnet</application>:</para>
-
- <screen>&prompt.user; <userinput>ssh -2 -N -f -L 5023:localhost:23 usuario@foo.ejemplo.com</userinput>
-&prompt.user;</screen>
-
- <para>Veamos las opciones que se le han suministrado a
- <command>ssh</command>:</para>
-
- <variablelist>
- <varlistentry>
- <term><option>-2</option></term>
-
- <listitem>
- <para>Obliga a <command>ssh</command> a utilizar la
- versión 2 del protocolo. (No la use si
- está trabajando con servidores SSH antiguos)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-N</option></term>
-
- <listitem>
- <para>Indica que no se ejecutará una orden remota, o
- solamente túnel. Si se omite,
- <command>ssh</command> iniciaría una sesión
- normal.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-f</option></term>
-
- <listitem>
- <para>Obliga a <command>ssh</command> a ejecutarse
- en segundo plano.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-L</option></term>
-
- <listitem>
- <para>Indica un túnel local según el esquema
- <replaceable>puerto local:equipo remoto:puerto remoto</replaceable>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>usuario@foo.ejemplo.com</option></term>
-
- <listitem>
- <para>El servidor SSH remoto.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
-
- <para>Un túnel SSH crea un socket que escucha
- en <systemitem>localhost</systemitem> en el puerto especificado.
- Luego reenvía cualquier conexión
- recibida en el puerto/equipo local vía la
- conexión SSH al puerto o equipo remoto especificado.</para>
-
- <para>En el ejemplo el puerto <replaceable>5023</replaceable> en
- <systemitem>localhost</systemitem> se reenvía al puerto
- <replaceable>23</replaceable> del <systemitem>localhost</systemitem>
- de la máquina remota. Ya que <replaceable>23</replaceable>
- es <application>telnet</application>, esto crearía una
- sesión <application>telnet</application> segura a
- través de un túnel SSH.</para>
-
- <para>Puede usar esto para encapsular cualquier otro
- protocolo TCP inseguro como SMTP, POP3, FTP, etc.</para>
-
- <example>
- <title>Uso de SSH para crear un túnel seguro para SMTP</title>
-
- <screen>&prompt.user; <userinput>ssh -2 -N -f -L 5025:localhost:25 usuario@correo.ejemplo.com</userinput>
-usuario@correo.ejemplo.com's password: <userinput>*****</userinput>
-&prompt.user; <userinput>telnet localhost 5025</userinput>
-Trying 127.0.0.1...
-Connected to localhost.
-Escape character is '^]'.
-220 correo.ejemplo.com ESMTP</screen>
-
- <para>Puede usar esta técnica junto con &man.ssh-keygen.1;
- y cuentas adicionales de usuario para crear un entorno
- más transparente, esto es, más cómodo.
- Puede usar llaves en lugar de teclear contraseñas y
- puede ejecutar los túneles de varios usuarios.</para>
- </example>
-
- <sect3>
- <title>Ejemplos prácticos de túneles SSH</title>
-
- <sect4>
- <title>Acceso seguro a un servidor POP3</title>
-
- <para>En el trabajo hay un servidor SSH que acepta
- conexiones desde el exterior. En la misma red de la
- oficina reside un servidor de correo que ejecuta un
- servidor POP3. La red, o ruta de red entre su casa y
- oficina puede o no ser completamente de fiar. Debido
- a esto necesita revisar su correo electrónico
- de forma segura. La solución es crear una
- conexión SSH al servidor SSH de su oficina y
- llegar por un túnel al servidor de correo.</para>
-
- <screen>&prompt.user; <userinput>ssh -2 -N -f -L 2110:correo.ejemplo.com:110 usuario@servidor-ssh.ejemplo.com</userinput>
-usuario@servidor-ssh.ejemplo.com's password: <userinput>******</userinput></screen>
-
- <para>cuando el túnel esté funcionando
- haga que su cliente de correo envíe peticiones
- POP3 a <systemitem>localhost</systemitem> en el puerto 2110.
- La conexión será reenviada de forma totalmente
- segura a traveés del túnel a
- <systemitem>correo.ejemplo.com</systemitem>.</para>
- </sect4>
-
- <sect4>
- <title>Saltarse un cortafuegos draconiano</title>
-
- <para>Algunos administradores de red imponen reglas de
- cortafuegos extremadamente draconianas, filtrando no
- solo las conexiones entrantes, sino también
- las salientes. Tal vez solo se le otorgue acceso
- a máquinas remotas a través de los puertos 22
- y 80 para ssh y navegar en web.</para>
-
- <para>Tal vez quiera acceder a otros servicios
- (que tal vez ni siquiera estén relacionados con el
- trabajo), como un servidor Ogg Vorbis para escuchar
- música. Si ese servidor Ogg Vorbis transmite en
- un puerto que no sea el 22 o el 80 no podrá tener
- acceso a él.</para>
-
- <para>La solución es crear una conexión SSH
- fuera del cortafuegos de su red y utilizarla para hacer un
- túnel al servidor Ogg Vorbis.</para>
-
- <screen>&prompt.user; <userinput>ssh -2 -N -f -L 8888:musica.ejemplo.com:8000 usuario@sistema-no-filtrado.ejemplo.org</userinput>
-usuario@sistema-no-filtrado.ejemplo.org's password: <userinput>*******</userinput></screen>
-
- <para>Haga que el programa con el que suele escuchar
- música haga peticiones a
- <systemitem>localhost</systemitem> puerto 8888, que será
- reenviado a <systemitem>musica.ejemplo.com</systemitem>
- puerto 8000, evadiendo con éxito el cortafuegos.</para>
- </sect4>
- </sect3>
- </sect2>
-
- <sect2>
- <title>La opción de usuarios <varname>AllowUsers</varname></title>
-
- <para>Limitar qué usuarios pueden entrar y desde dónde
- suele ser razonable. La opción
- <literal>AllowUsers</literal> le permite configurarlo, por
- ejemplo, para permitir entrar solamente al usuario
- <systemitem class="username">root</systemitem> desde
- <systemitem class="ipaddress">192.168.1.32</systemitem>. Puede hacerlo
- con algo parecido a esto en
- <filename>/etc/ssh/sshd_config</filename>:</para>
-
- <programlisting>AllowUsers root@192.168.1.32</programlisting>
-
- <para>Para permitir al usuario <systemitem class="username">admin</systemitem> la
- entrada desde cualquier lugar, solamente introduzca el nombre
- de usuario:</para>
-
- <programlisting>AllowUsers admin</programlisting>
-
- <para>Puede listar múltiples usuarios en la misma
- línea:</para>
-
-
- <programlisting>AllowUsers root@192.168.1.32 admin</programlisting>
-
- <note>
- <para>Es importante que incluya a cada usuario que necesite entrar
- a esta máquina o no podrán entrar.</para>
- </note>
-
- <para>Después de hacer los cambios a b
- <filename>/etc/ssh/sshd_config</filename> debe decirle a
- &man.sshd.8; que cargue de nuevo sus ficheros de
- configuración ejecutando:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/sshd reload</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Lecturas complementarias</title>
- <para><link xlink:href="http://www.openssh.com/">OpenSSH</link></para>
- <para>&man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
- &man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5;</para>
- <para>&man.sshd.8; &man.sftp-server.8; &man.sshd.config.5;</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="fs-acl">
- <info><title>Listas de control de acceso a sistemas de ficheros</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Contribuido por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>ACL</primary>
- </indexterm>
-
- <para>Además de otras mejoras del sistema de ficheros como
- las instantáneas (<quote>snapshots</quote>), &os; 5.0 y
- siguientes ofrecen las ACL (<quote>Access Control Lists</quote>,
- listas de control de acceso) como un elemento más de
- seguridad.</para>
-
- <para>Las listas de control de acceso extienden el modelo de
- permisos estándar de &unix; de una manera altamente
- compatible (&posix;.1e). Esta opción permite al
- administrador usar con gran provecho un modelo de seguridad
- más sofisticado.</para>
-
- <para>Para habilitar soporte de <acronym>ACL</acronym> en sistemas
- de ficheros <acronym>UFS</acronym> la siguiente opción:</para>
-
- <programlisting>options UFS_ACL</programlisting>
-
- <para>debe ser compilada en el kernel. Si esta opción
- no ha sido compilada, se mostrará un mensaje de advertencia
- si se intenta montar un sistema de ficheros que soporte
- <acronym>ACL</acronym>. Esta opción viene incluida
- en el kernel <filename>GENERIC</filename>.
- Las <acronym>ACL</acronym> dependen de los atributos extendidos
- habilitados en el sistema de ficheros. Los atributos extendidos
- están incluidos por defecto en la nueva generación
- de sistemas de ficheros &unix; <acronym>UFS2</acronym>.</para>
-
- <note><para>Los atributos extendidos pueden usarse también
- en <acronym>UFS1</acronym> pero requieren una carga de trabajo
- mucho más elevada que en <acronym>UFS2</acronym>.
- El rendimiento de los atributos extendidos es, también,
- notablemente mayor en <acronym>UFS2</acronym>. Por todo esto
- si quiere usar ACL le recomendamos encarecidamente que use
- <acronym>UFS2</acronym>.</para></note>
-
- <para>Las<acronym>ACL</acronym> se habilitadan mediante una bandera
- administrativa durante el montaje, <option>acls</option>, en el fichero
- <filename>/etc/fstab</filename>. La bandera de montaje puede
- también activarse de forma permanente mediante
- &man.tunefs.8; para modificar una bandera de superbloque
- <acronym>ACLs</acronym> en la cabecera del sistema de ficheros.
- En general es preferible usar la bandera de superbloque por
- varios motivos:</para>
-
- <itemizedlist>
- <listitem>
- <para>La bandera de montaje <acronym>ACL</acronym> no puede cambiarse
- por un remontaje (&man.mount.8; <option>-u</option>), sino con un
- completo &man.umount.8; y un &man.mount.8;. Esto significa
- que no se pueden habilitar las <acronym>ACL</acronym> en el sistema
- de ficheros raíz después del arranque. También
- significa que no se puede cambiar la disposición de un
- de ficheros una vez que se ha comenzado a usar.</para>
- </listitem>
-
- <listitem>
- <para>Activar la bandera de superbloque provocará que el sistema
- de ficheros se monte siempre con las <acronym>ACL</acronym>
- habilitadas incluso si no existe una entrada en
- <filename>fstab</filename> o si los dispositivos se reordenan.
- Esto es así para prevenir un montaje accidental del
- sistema de ficheros sin tener las <acronym>ACL</acronym> habilitadas,
- que podría resultar en que se impongan de forma inadecuada las
- <acronym>ACL</acronym>, y en consecuencia problema de
- seguridad.</para>
- </listitem>
- </itemizedlist>
-
- <note><para>Podemos cambiar el comportamiento de las
- <acronym>ACL</acronym> para permitirle a la bandera ser habilitada
- sin un &man.mount.8; completo, pero puede salirle el tiro por la
- culata si activa las <acronym>ACL</acronym>, luego las desactiva,
- y después las vuelve a activar sin configurar desde cero las
- atributos extendidos. En general, una vez que se han deshabilitado
- las <acronym>ACL</acronym> en un sistema de ficheros no deben
- dehabilitarse, ya que la protección de ficheros resultante
- puede no ser compatible las que esperan los usuarios del sistema,
- y al volver a activar las <acronym>ACL</acronym> volver a asignar
- las <acronym>ACL</acronym> a ficheros cuyos permisos hubieran sido
- cambiados, lo que puede desenbocar en un escenario
- impredecible.</para></note>
-
- <para>Los sistemas de ficheros con <acronym>ACL</acronym> habilitadas
- tienen un signo <literal>+</literal> (más) al visualizar
- sus configuraciones de permisos. Por ejemplo:</para>
-
- <programlisting>drwx------ 2 robert robert 512 Dec 27 11:54 private
-drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directorio1
-drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directorio2
-drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directorio3
-drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html</programlisting>
-
- <para>Aquí vemos que los directorios
- <filename>directorio1</filename>,
- <filename>directorio2</filename>, y <filename>directorio3</filename>
- están usando <acronym>ACL</acronym>.
- El directorio <filename>public_html</filename> no.</para>
-
- <sect2>
- <title>Uso de <acronym>ACL</acronym></title>
-
- <para>Las <acronym>ACL</acronym>s del sistema de ficheros pueden
- comprobarse con &man.getfacl.1;. Por ejemplo,
- para ver las configuraciones de <acronym>ACL</acronym> del
- fichero <filename>test</filename>, uno podría
- usar lo siguiente:</para>
-
- <screen>&prompt.user; <userinput>getfacl test</userinput>
- #file:test
- #owner:1001
- #group:1001
- user::rw-
- group::r--
- other::r--</screen>
-
- <para>Para cambiar las configuraciones de las <acronym>ACL</acronym> en
- este fichero use &man.setfacl.1;. Observe:</para>
-
- <screen>&prompt.user; <userinput>setfacl -k test</userinput></screen>
-
- <para>La bandera <option>-k</option> eliminará todas
- las <acronym>ACL</acronym>s definidas para un fichero o sistema
- ficheros. El método preferible sería utilizar
- <option>-b</option>, ya que deja los campos básicos
- imprescindibles para que las <acronym>ACL</acronym> sigan
- funcionando.</para>
-
- <screen>&prompt.user; <userinput>setfacl -m u:trhodes:rwx,group:web:r--,o::--- test</userinput></screen>
-
- <para>La opción <option>-m</option> se usa para modificar
- las entradas por defecto de las <acronym>ACL</acronym>.
- Debido a que no había entradas predefinidas puesto que
- fueron eliminadas por la orden anterior, restauraremos las
- opciones por defecto y asignará las opciones listadas.
- Tenga en cuenta que si añade un nuevo usuario o grupo
- aparecerá el error <errorname>Invalid argument</errorname>
- en la salida estándar
- <filename>stdout</filename>.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="security-portaudit">
- <info><title>Monitorización de fallos de seguridad de aplicaciones</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>Portaudit</primary>
- </indexterm>
-
- <para>En estos últimos años el mundo de la seguridad
- ha hecho grandes avances en cuanto a la gestión de las
- vulnerabilidades. La amenaza de asaltos a los sistemas se
- incrementa cuando se instalan y configuran aplicaciones de
- muy diversas procedencias en virtualmente cualquier sistema
- operativo disponible.</para>
-
- <para>La evaluación de vulnerabilidades es un factor
- clave en la seguridad; aunque &os; libere avisos de seguridad
- relacionados con el sistema base, llevar la gestión
- de vulnerabilidades hasta cada aplicación que se puede
- instalar en &os; va mucho más allá de la capacidad
- del proyecto &os;. A pesar de esto existe una forma de
- mitigar las vulnerabilidades de esas aplicaciones y advertir
- a los administradores sobre los problemas de seguridad a
- medida que se detectan. <application>Portaudit</application>
- existe para hacer ese trabajo.</para>
-
- <para>El port <package role="port">security/portaudit</package>
- consulta una base de datos, actualizada y mantenida por el
- equipo de seguridad y por los desarrolladores de &os; en busca de
- incidentes de seguridad que hayan sido detectados.</para>
-
- <para>Si quiere usar <application>Portaudit</application>
- instálelo desde la colección de ports:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/security/portaudit &amp;&amp; make install clean</userinput></screen>
-
- <para>Durante el proceso de instalación los ficheros
- de configuración de &man.periodic.8; se actualizan
- haciendo que <application>Portaudit</application>
- aparezca en el mensaje sobre la seguridad del sistema que diariamente
- Recuerde que ese correo (que se envia a la cuenta
- <systemitem class="username">root</systemitem> es muy importante y debería
- leerlo. No hay ninguna
- configuración que deba modificar o crear.</para>
-
- <para>Después de la instalación un administrador debe
- actualizar la base de datos alojada en local en
- <filename>/var/db/portaudit</filename>
- mediante:</para>
-
- <screen>&prompt.root; <userinput>portaudit -F</userinput></screen>
-
- <note>
- <para>La base de datos será actualizada
- automáticamente durante la ejecución de
- &man.periodic.8;; así que la orden anterior es
- totalmente opcional. Solo se necesita para los siguientes
- ejemplos.</para>
- </note>
-
- <para>Si quiere comproblar si entre las aplicaciones que haya
- instalado desde el árbol de ports en su sistema hay
- problemas de seguridad sólo tiene que ejecutar lo
- siguiente:</para>
-
- <screen>&prompt.root; <userinput>portaudit -a</userinput></screen>
-
- <para>Este es un ejemplo de la salida:</para>
-
- <programlisting>Affected package: cups-base-1.1.22.0_1
-Type of problem: cups-base -- HPGL buffer overflow vulnerability.
-Reference: &lt;http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html&gt;
-
-1 problem(s) in your installed packages found.
-
-You are advised to update or deinstall the affected package(s) immediately.</programlisting>
-
- <para>El administrador del sistema obtendrá mucha más
- información sobre el problema de seguridad dirigiendo su
- navegador web a la <acronym>URL</acronym> que aparece en el
- mensaje. Esto incluye versiones afectadas (por versión de
- port de &os;), junto con otros sitios web que contengan advertencias
- de seguridad.</para>
-
- <para>En pocas palabras, <application>Portaudit</application> es un
- programa muy poderoso y extremadamente útil cuando se
- combina con el port <application>Portupgrade</application>.</para>
- </sect1>
-
- <sect1 xml:id="security-advisories">
- <info><title>&os; Security Advisories</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>Advertencias de seguridad en FreeBSD</primary>
- </indexterm>
-
- <para>Como muchos sistemas operativos con calidad de producción,
- &os; publica <quote>Security Advisories</quote> (advertencias de
- seguridad. Estas advertencias suelen enviarse por correo a las
- listas de seguridad e incluidas en la Errata solamente después
- de que la versión apropiada haya sido corregida. Esta
- sección tiene como fin explicar en qué consiste una
- advertencia de seguridad, cómo entenderla y qué
- medidas hay que tomar para parchear el sistema.</para>
-
- <sect2>
- <title>?Qué aspecto tiene una advertencia de
- seguridad?</title>
-
- <para>Las advertencias de seguridad de &os; tienen un aspecto
- similar a la que se muestra aquí. Fué enviada a la
- lista de correo &a.security-notifications.name;.</para>
-
- <programlisting>=============================================================================
-&os;-SA-XX:XX.UTIL Security Advisory
- The &os; Project
-
-Topic: denial of service due to some problem<co xml:id="co-topic"/>
-
-Category: core<co xml:id="co-category"/>
-Module: sys<co xml:id="co-module"/>
-Announced: 2003-09-23<co xml:id="co-announce"/>
-Credits: Person@EMAIL-ADDRESS<co xml:id="co-credit"/>
-Affects: All releases of &os;<co xml:id="co-affects"/>
- &os; 4-STABLE prior to the correction date
-Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE)
- 2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6)
- 2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15)
- 2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8)
- 2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18)
- 2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21)
- 2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33)
- 2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43)
- 2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)<co xml:id="co-corrected"/>
-&os; only: NO<co xml:id="co-only"/>
-
-For general information regarding FreeBSD Security Advisories,
-including descriptions of the fields above, security branches, and the
-following sections, please visit
-http://www.FreeBSD.org/security/.
-
-I. Background<co xml:id="co-backround"/>
-
-
-II. Problem Description<co xml:id="co-descript"/>
-
-
-III. Impact<co xml:id="co-impact"/>
-
-
-IV. Workaround<co xml:id="co-workaround"/>
-
-
-V. Solution<co xml:id="co-solution"/>
-
-
-VI. Correction details<co xml:id="co-details"/>
-
-
-VII. References<co xml:id="co-ref"/></programlisting>
-
-
- <calloutlist>
- <callout arearefs="co-topic">
- <para>El campo <literal>Topic</literal> indica cuál es
- exactamente el problema. Básicamente es la
- introducción de la advertencia de seguridad actual
- e indica el uso malintencionado que puede darse a la
- vulnerabilidad.</para>
- </callout>
-
- <callout arearefs="co-category">
- <para><literal>Category</literal> se refiere a la parte afectada del
- sistema, que puede ser
- <literal>core</literal>, <literal>contrib</literal> o
- <literal>ports</literal>. La categoría
- <literal>core</literal> significa que la vulnerabilidad afecta
- a un componente central del sistema operativo &os;. La
- categoría <literal>contrib</literal> significa que la
- vulnerabilidad afecta a software que no ha sido desarrollado por
- el proyecto &os;, como <application>sendmail</application>.
- La categoría <literal>ports</literal> indica que la
- vulnerabilidad afecta a software incluido en la colección
- de ports.</para>
- </callout>
-
- <callout arearefs="co-module">
- <para>El campo <literal>Module</literal> se refiere a la
- ubicación del componente, por ejemplo
- <literal>sys</literal>. En este ejemplo vemos que está
- afectado el módulo <literal>sys</literal>;
- por lo tanto esta vulnerabilidad afecta a componentes
- utilizados dentro del kernel.</para>
- </callout>
-
- <callout arearefs="co-announce">
- <para>El campo <literal>Announced</literal> refleja la fecha
- de publicación de la advertencia de seguridad fué
- publicada o anunciada al mundo. Esto significa que el equipo
- de seguridad ha verificado que el que el problema existe y que
- se ha incluido un parche que soluciona el problema en el
- repositorio de código fuente de &os;.</para>
- </callout>
-
- <callout arearefs="co-credit">
- <para>El campo <literal>Credits</literal> le da el crédito al
- individuo u organización que descubrió y reportó
- la vulnerabilidad.</para>
- </callout>
-
- <callout arearefs="co-affects">
- <para>El campo <literal>Affects</literal> explica a qué
- versiones de &os; afecta esta vulnerabilidad. En el caso del
- kernel una rápida revisión de la salida de
- <command>ident</command> en los ficheros afectados
- ayudará a determinar la versión. En el caso de
- de los ports el número de versión aparece
- después del nombre del port en
- <filename>/var/db/pkg</filename>. Si el sistema no se
- sincroniza con el repositorio <acronym>CVS</acronym> de
- &os; y se reconstruye diariamente, existe la posibilidad de
- que esté afectado por el problema de seguridad.</para>
- </callout>
-
- <callout arearefs="co-corrected">
- <para>El campo <literal>Corrected</literal> indica la fecha, hora,
- zona horaria y versión de &os; en que fué
- corregido.</para>
- </callout>
-
- <callout arearefs="co-only">
- <para>El campo <literal>&os; only</literal> indica si la
- vulnerabilidad afecta solamente a &os; o si afecta
- también a otros sistemas operativos.</para>
- </callout>
-
- <callout arearefs="co-backround">
- <para>El campo <literal>Background</literal> informa acerca de
- qué es exactamente la aplicación afectada.
- La mayor parte de las veces se refiere a por qué la
- aplicación existe en &os;, para qué se usa y
- un poco de información de cómo llegó
- llegó a ocupar el lugar que ocupa en el sistema o el
- árbol de ports.</para>
- </callout>
-
- <callout arearefs="co-descript">
- <para>El campo <literal>Problem Description</literal> explica el
- problema de seguridad en profundidad. Puede incluir
- información del código erróneo,
- o incluso cómo puede usarse maliciosamente el error
- para abrir un agujero de seguridad.</para>
- </callout>
-
- <callout arearefs="co-impact">
- <para>El campo <literal>Impact</literal> describe el tipo de
- impacto que el problema pueda tener en un sistema. Por ejemplo,
- esto puede ser desde un ataque de denegación de servicio,
- hasta una escalada de privilegios de usuario, o incluso
- ofrecer al atacante acceso de superusuario.</para>
- </callout>
-
- <callout arearefs="co-workaround">
- <para>El campo <literal>Workaround</literal> ofrece una
- solución temoral posible para los administradores
- de sistemas que tal vez no puedan actualizar el sistema.
- Esto puede deberse a la falta de tiempo, disponibilidad de
- de red, o a muchas otras razones. A pesar de todo la
- la seguridad no se debe tomar a la ligera y un sistema
- afectado debe parchearse al menos aplicar una
- solución temporal para el agujero de
- seguridad.</para>
- </callout>
-
- <callout arearefs="co-solution">
- <para>El campo <literal>Solution</literal> ofrece instrucciones
- para parchear el sistema afectado. Este es un método paso
- a paso, probado y verificado para parchear un sistema y que
- trabaje seguro.</para>
- </callout>
-
- <callout arearefs="co-details">
- <para>El campo <literal>Correction Details</literal> despliega
- la rama del <acronym>CVS</acronym> o el nombre de la
- versión con los puntos cambiados a guiones bajos.
- También muestra el número de revisión de
- los ficheros afectados dentro de cada rama.</para>
- </callout>
-
- <callout arearefs="co-ref">
- <para>El campo <literal>References</literal> suele ofrecer fuentes
- adicionales de información:
- <acronym>URL</acronym>, libros, listas de correo y grupos
- de noticias.</para>
- </callout>
- </calloutlist>
- </sect2>
- </sect1>
-
- <sect1 xml:id="security-accounting">
- <info><title>Contabilidad de procesos</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Texto de </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>Contabilidad de procesos</primary>
- </indexterm>
-
- <para>La contabilidad de procesos es un método de
- seguridad en el cual un administrador puede mantener un
- seguimiento de los recursos del sistema utilizados,
- su distribución entre los usuarios, ofrecer
- monitorización del sistema y seguir la pista
- mínimamente a las órdenes de usuario.</para>
-
- <para>Esto en realidad tiene sus puntos positivos y negativos.
- Uno de los positivos es que una intrusión puede
- minimizarse en el momento de producirse. Uno negativo
- es la cantidad de logs generados por la contabilidad de
- procesos y el espacio de disco que requieren. Esta
- sección guiará al administrador a
- través de los fundamentos de la contabilidad de
- procesos.</para>
-
- <sect2>
- <title>Cómo habilitar y utilizar la contabilidad
- de procesos</title>
-
- <para>Antes de poder usar la contabilidad de procesos
- tendrá que habilitarla. Ejecute la
- siguiente orden:</para>
-
- <screen>&prompt.root; <userinput>touch /var/account/acct</userinput>
-
-&prompt.root; <userinput>accton /var/account/acct</userinput>
-
-&prompt.root; <userinput>echo 'accounting_enable="YES"' &gt;&gt; /etc/rc.conf</userinput></screen>
-
- <para>Una vez habilitada, la contabilidad de procesos
- empezará a seguir el rastro de estadísticas
- de la <acronym>CPU</acronym>, órdenes, etc. Todos los logs
- de contabilidad están en un formato ilegible
- para humanos, pero accesibles para &man.sa.8;.
- Si se ejecuta sin opciones, <command>sa</command>
- imprimirá información sobre el número
- de llamadas por usuario, el tiempo total transcurrido expresado
- en minutos, el tiempo total de <acronym>CPU</acronym> y de usuario
- en minutos, el número medio de operaciones de E/S,
- etc.</para>
-
- <para>Para ver información acerca de las órdenes
- que se están ejecutados puede usar la
- &man.lastcomm.1;. <command>lastcomm</command> imprime
- órdenes ejecutadas por los usuarios en &man.ttys.5;
- específicas. Veamos un ejemplo:</para>
-
- <screen>&prompt.root; <userinput>lastcomm ls
- trhodes ttyp1</userinput></screen>
-
- <para>Imprimiría todas las veces (conocidas) que
- el usuario <systemitem class="username">trhodes</systemitem> ha usado
- <command>ls</command> en la terminal
- ttyp1.</para>
-
- <para>Hay muchas más opciones que pueden serle muy
- útiles. Si quiere conocerlas consulte
- las páginas de manual &man.lastcomm.1;, &man.acct.5;
- y &man.sa.8;.</para>
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.xml b/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.xml
deleted file mode 100755
index e2474bf213..0000000000
--- a/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.xml
+++ /dev/null
@@ -1,2781 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.xml,v 1.4 2004/10/08 19:06:36 jesusr Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="serialcomms">
- <title>Comunicaciones serie</title>
-
- <sect1 xml:id="serial-synopsis">
- <title>Sinopsis</title>
-
- <indexterm><primary>serial communications</primary></indexterm>
- <para>&unix; siempre ha tenido soporte para comunicación
- serie. De hecho, las primeras máquinas &unix; dependían
- de líneas serie para tener interacción con el usuario. Las
- cosas han cambiado mucho desde esos días cuando la
- <quote>terminal</quote> promedio consistía de una terminal
- serie de 10-caracteres-por-segundo, impresora y teclado. Este
- capítulo cubrirá algunas de las maneras en las que
- FreeBSD utiliza comunicaciones serie.</para>
-
- <para>Despues de leer este capítulo, usted entenderá:</para>
- <itemizedlist>
- <listitem><para>Como conectar terminales a su sistema
- FreeBSD.</para></listitem>
- <listitem><para>Como utilizar un modem para marcar a
- equipos remotos.</para></listitem>
- <listitem><para>Como permitir a usuarios remotos entrar
- a su sistema con un modem.</para></listitem>
- <listitem><para>Como arrancar su sistema desde una
- consola serie.</para></listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo usted debería:</para>
- <itemizedlist>
- <listitem><para>Saber como configurar e instalar un nuevo kernel (<xref linkend="kernelconfig"/>).</para></listitem>
- <listitem><para>Entender procesos y permisos &unix; (<xref linkend="basics"/>).</para></listitem>
- <listitem><para>Tener acceso al manual técnico para el
- hardware serie (modem o tarjeta multipuerto) que le gustaría
- utilizar con FreeBSD.</para></listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="serial">
- <title>Introducción</title>
-
- <!-- XXX Write me! -->
-
- <sect2 xml:id="serial-terminology">
- <title>Terminología</title>
-
- <variablelist>
- <varlistentry>
- <term>bps</term>
- <listitem>
- <indexterm><primary>bits-por-second</primary></indexterm>
-
- <para>Bits por segundo &mdash; la tasa a la cual los datos
- son transmitidos</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>DTE</term>
- <listitem>
- <indexterm><primary>DTE</primary></indexterm>
-
- <para>Data Terminal Equipment (Equipo terminal de datos) &mdash;
- por ejemplo, su computadora</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>DCE</term>
- <listitem>
- <indexterm><primary>DCE</primary></indexterm>
-
- <para>Data Communications Equipment (Equipo de
- comunicación de datos) &mdash; su modem</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>RS-232</term>
- <listitem>
- <indexterm><primary>RS-232C cables</primary></indexterm>
-
- <para>Estándar EIA para hardware de comunicación
- serie</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Cuando se habla de tasa de comunicación de datos,
- ésta sección no usa el término
- <quote>baud</quote>. Baud se refiere al número de estados de
- transición eléctricos que pueden realizarse en un
- periodo de tiempo, mientras que <quote>bps</quote> (bits por segundo)
- es el término <emphasis>correcto</emphasis> a usar (al menos
- parece no molestar demasiado a los más aferrados).</para>
- </sect2>
-
- <sect2 xml:id="serial-cables-ports">
- <title>Cables y puertos</title>
-
- <para>Para conectar un modem o terminal a su sistema FreeBSD
- necesitará un puerto serie en su computadora y el cable
- apropiado para conectar a su dispositivo serie. Si ya está
- familiarizado con su hardware y el cable que requiere, puede
- saltarse esta sección.</para>
-
- <sect3 xml:id="term-cables">
- <title>Cables</title>
-
- <para>Existen diferentes tipos de cables serie. Los dos tipos
- más comunes para nuestros propósitos son cables
- null-modem y cables RS-232 estándar (<quote>normal</quote>).
- La documentación de su hardware debería describir
- el tipo de cable requerido.</para>
-
- <sect4 xml:id="term-cables-null">
- <title>Cables null-modem</title>
-
- <indexterm>
- <primary>null-modem cable</primary>
- </indexterm>
- <para>Un cable null-modem pasa algunas señales, como
- <quote>tierra</quote>, normalmente, pero cambia otras
- señales. Por ejemplo, el pin <quote>envío de
- datos</quote> en un extremo va al pin <quote>recepción de
- datos</quote> en el otro.</para>
-
- <para>Si le gusta fabricar sus propios cables, puede construir
- un cable null-modem
- para utilizar con terminales. Esta tabla muestra los nombres
- de señal y números de pin en un conector DB-25.
- </para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="5">
- <thead>
- <row>
- <entry>Señal</entry>
- <entry>Pin #</entry>
- <entry/>
- <entry>Pin #</entry>
- <entry>Señal</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>SG</entry>
- <entry>7</entry>
- <entry>conecta a</entry>
- <entry>7</entry>
- <entry>SG</entry>
- </row>
-
- <row>
- <entry>TD</entry>
- <entry>2</entry>
- <entry>conecta a</entry>
- <entry>3</entry>
- <entry>RD</entry>
- </row>
-
- <row>
- <entry>RD</entry>
- <entry>3</entry>
- <entry>conecta to</entry>
- <entry>2</entry>
- <entry>TD</entry>
- </row>
-
- <row>
- <entry>RTS</entry>
- <entry>4</entry>
- <entry>conecta a</entry>
- <entry>5</entry>
- <entry>CTS</entry>
- </row>
-
- <row>
- <entry>CTS</entry>
- <entry>5</entry>
- <entry>conecta a</entry>
- <entry>4</entry>
- <entry>RTS</entry>
- </row>
-
- <row>
- <entry>DTR</entry>
- <entry>20</entry>
- <entry>conecta a</entry>
- <entry>6</entry>
- <entry>DSR</entry>
- </row>
-
- <row>
- <entry>DCD</entry>
- <entry>8</entry>
- <entry/>
- <entry>6</entry>
- <entry>DSR</entry>
- </row>
-
- <row>
- <entry>DSR</entry>
- <entry>6</entry>
- <entry>conecta a</entry>
- <entry>20</entry>
- <entry>DTR</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <note>
- <para>Conectar <quote>Data Set Ready</quote> (DSR) y
- <quote>Data Carrier Detect</quote> (DCD) intérnamente
- en la capucha del conector, y entonces a <quote>Data
- Terminal Ready</quote> (DTR) en la capucha remota.</para>
- </note>
- </sect4>
-
- <sect4 xml:id="term-cables-std">
- <title>Cables estándard RS-232C</title>
- <indexterm><primary>RS-232C cables</primary></indexterm>
-
- <para>Un cable serie estándar pasa todas las señales
- RS-232C normalmente. Esto es, el pin <quote>envío de
- datos</quote> en un extremo va al pin <quote>envío de
- datos</quote> en el otro extremo. Este es el tipo de cable a
- utilizar para conectar un modem a su sistema FreeBSD, y
- también es apropiado para algunas terminales.</para>
- </sect4>
- </sect3>
-
- <sect3 xml:id="term-ports">
- <title>Puertos</title>
-
- <para>Puertos serie son los dispositivos a través de los
- cuales los datos son transferidos entre una computadora FreeBSD
- y la terminal. Esta sección describe los tipos de puertos
- que existen y como son referidos en FreeBSD.</para>
-
- <sect4 xml:id="term-portkinds">
- <title>Tipos de puertos</title>
-
- <para>Existen varios tipos de puertos serie. antes de comprar o
- construir un cable, necesita asegurarse que coincida con los
- puertos en su terminal y en su sistema FreeBSD.</para>
-
- <para>La mayoría de las terminales tienen puertos DB25.
- Computadoras personales, incluyendo PCs corriendo FreeBSD,
- tienen puertos DB25 o DB9. Si tiene una tarjeta multipuertos
- serie para su PC, tal vez tenga puertos RJ-12 o RJ-45.</para>
-
- <para>Vea la documentación que acompaña su hardware
- para las especificaciones sobre el tipo de puerto en uso. Una
- inspección visual del puerto también funciona en
- la mayoría de los casos.</para>
- </sect4>
-
- <sect4 xml:id="term-portnames">
- <title>Nombres de puerto</title>
-
- <para>En FreeBSD, se accesa cada puerto serie a través de
- una entrada en el directorio <filename>/dev</filename>. Existen
- dos tipos de entradas:</para>
-
- <itemizedlist>
- <listitem>
- <para>Puertos de llamada-entrante
- son llamados <filename>/dev/ttydN</filename>
- donde <replaceable>N</replaceable> es el número de
- puerto, iniciando desde cero. Generalmente, los puertos de
- llamada-entrante se utilizan para terminales. Los puertos
- de llamada-entrante requieren que la línea
- serie especifique la señal data carrier detect (DCD)
- para funcionar correctamente.</para>
- </listitem>
-
- <listitem>
- <para>Puertos de llamada-saliente
- son llamados <filename>/dev/cuaaN</filename>.
- Usualmente no se utilizan los puertos de llamada-saliente
- para terminales, solo para modems. Puede utilizar el puerto
- de llamada-saliente si el cable serie o la terminal no
- soporta la señal de carrier detect.</para>
- </listitem>
- </itemizedlist>
-
- <para>Si tiene conectada una terminal al primer puerto serie
- (<filename>COM1</filename> en &ms-dos;), entonces usará
- <filename>/dev/ttyd0</filename> para referirse a la terminal. Si
- la terminal está en el segundo puerto serie (también
- conocido como <filename>COM2</filename>), utilice
- <filename>/dev/ttyd1</filename>, y así sucesivamente.
- </para>
-
- </sect4>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Configuración del kernel</title>
-
- <para>FreeBSD soporta cuatro puertos serie por omisión.
- en el mundo &ms-dos; éstos son conocidos como
- <filename>COM1</filename>,
- <filename>COM2</filename>,
- <filename>COM3</filename>, y
- <filename>COM4</filename>. FreeBSD actualmente soporta
- tarjetas de interfaz serie <quote>tontas</quote>, como la
- BocaBoard 1008 y 2016, así como tarjetas multipuerto
- más inteligentes como las fabricadas por Digiboard
- y Stallion Technologies. De cualquier manera, el kernel por
- omisión solo busca por los puertos COM estándares.
- </para>
-
- <para>Para ver si su kernel reconoce cualquiera de sus puertos serie,
- mire los mensajes mientras el kernel esta arrancando, o utilice el
- comando <command>/sbin/dmesg</command> para repetir los mensajes de
- arranque del kernel. En particular busque por mensajes que inicien
- con el caracter <literal>sio</literal>.</para>
-
- <tip><para>Para ver solamente los mensajes que contienen
- la palabra <literal>sio</literal>, use el comando:</para>
-
- <screen>&prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen>
- </tip>
-
- <para>Por ejemplo, en un sistema con cuatro puertos serie, éstos
- son los mensajes de arranque del kernel específicos de puerto
- serie:</para>
-
- <screen>sio0 at 0x3f8-0x3ff irq 4 on isa
-sio0: type 16550A
-sio1 at 0x2f8-0x2ff irq 3 on isa
-sio1: type 16550A
-sio2 at 0x3e8-0x3ef irq 5 on isa
-sio2: type 16550A
-sio3 at 0x2e8-0x2ef irq 9 on isa
-sio3: type 16550A</screen>
-
- <para>Si su kernel no reconoce todos sus puertos serie,
- probablemente necesitará configurar un kernel
- FreeBSD personalizado para su sistema. Para información
- detallada sobre configurar su kernel, por favor vea <xref linkend="kernelconfig"/>.</para>
-
- <para>Las líneas de dispositivo relevantes para su fichero
- de configuración del kernel podrín verse de esta
- manera, para FreeBSD&nbsp;4.X:</para>
-
- <programlisting>device sio0 at isa? port IO_COM1 irq 4
-device sio1 at isa? port IO_COM2 irq 3
-device sio2 at isa? port IO_COM3 irq 5
-device sio3 at isa? port IO_COM4 irq 9</programlisting>
-
-
- <para>y de esta manera, para FreeBSD&nbsp;5.X:</para>
-
- <programlisting>device sio</programlisting>
-
- <para>Puede comentar o remover completamente líneas de
- dispositivos que no tenga en el caso de FreeBSD&nbsp;4.X;
- para FreeBSD&nbsp;5.X tiene que editar su fichero
- <filename>/boot/device.hints</filename> para configurar
- sus puertos serie. Por favor diríjase a la página
- de manual &man.sio.4; para mayor información sobre
- puertos serie y configuración de tarjetas multipuertos.
- Tenga cuidado si está utilizando un fichero de
- configuración que fué usado anteriomente para una
- versión diferente de FreeBSD porque las banderas de
- dispositivo y la sintaxis han cambiado entre versiones.</para>
-
- <note>
- <para><literal>port IO_COM1</literal> es una substitución para
- <literal>port 0x3f8</literal>, <literal>IO_COM2</literal> es
- <literal>0x2f8</literal>, <literal>IO_COM3</literal> es
- <literal>0x3e8</literal>, y <literal>IO_COM4</literal> es
- <literal>0x2e8</literal>, las cuales son direcciones de puerto
- comunes para sus respectivos puertos serie; interrupciones 4,3,5 y
- 9 son peticiones comunes de líneas de interrupción.
- Note también que puertos serie regulares
- <emphasis>no pueden</emphasis> compartir interrupciones en PCs con
- bus ISA (las tarjetas multipuerto tienen electrónicos que
- les permiten a los 16550A's compartir una o dos líneas de
- peticiones de interrupción).</para>
- </note>
-
- </sect2>
-
- <sect2>
- <title>Archivos especiales de dispositivo</title>
-
- <para>La mayoría de dispositivos en el kernel son accesados
- a través de <quote>ficheros especiales de dispositivo</quote>,
- los cuales están localizados en el directorio
- <filename>/dev</filename>. Los dispositivos
- <filename>sio</filename> son accesados a través de los
- dispositivos
- <filename>/dev/ttydN</filename> (dial-in)
- y <filename>/dev/cuaaN</filename>
- (call-out). FreeBSD provee también dispositivos de
- inicialización
- (<filename>/dev/ttyidN</filename> y
- <filename>/dev/cuaiaN</filename>) y
- dispositivos de bloqueo
- (<filename>/dev/ttyldN</filename> y
- <filename>/dev/cualaN</filename>).
- Los dispotivos de inicialización son utilizados para
- inicializar los parámetros de comunicación de puerto
- cada vez que un puerto es abierto, como
- <literal>crtscts</literal> para modems que utilizan
- señalización <literal>RTS/CTS</literal> para
- control de flujo. Los dispositivos de bloqueo son utilizados
- para bloquear banderas en puertos y prevenir que usuarios o
- programas cambien ciertos parámetros; vea las páginas
- de manual &man.termios.4;, &man.sio.4;, y &man.stty.1; para
- información de las propiedades de terminales, bloqueo
- e inicialización de dispositivos y aplicación de
- opciones de terminal, respectivamente.</para>
-
- <sect3>
- <title>Creando ficheros de dispositivo especiales</title>
-
- <note><para>FreeBSD&nbsp;5.0 incluye el sistema de
- ficheros &man.devfs.5; el cual crea automáticamente
- nodos de dispositivos según se necesiten.
- si está corriendo una versión de FreeBSD
- con <literal>devfs</literal> habilitado entonces puede
- saltarse esta sección.</para></note>
-
- <para>Un script de shell llamado <command>MAKEDEV</command>
- en el directorio <filename>/dev</filename> administra los
- ficheros especiales de dispositivo. Para utilizar
- <command>MAKEDEV</command> para crear un fichero especial de
- dispositivo dial-up para <filename>COM1</filename> (port 0),
- <command>cd</command> a <filename>/dev</filename> y ejecute
- el comando <command>MAKEDEV ttyd0</command>. De la misma
- manera, para crear ficheros especiales de dispositivo para
- <filename>COM2</filename> (port 1), utilice
- <command>MAKEDEV ttyd1</command>.</para>
-
- <para><command>MAKEDEV</command> no crea solamente el
- fichero especial de dispositivo
- <filename>/dev/ttydN</filename>
- también crea los nodos
- <filename>/dev/cuaaN</filename>,
- <filename>/dev/cuaiaN</filename>,
- <filename>/dev/cualaN</filename>,
- <filename>/dev/ttyldN</filename>,
- y
- <filename>/dev/ttyidN</filename>.</para>
-
- <para>Despues de crear ficheros especiales de dispositivo nuevos,
- asegúrese de revisar los permisos en los ficheros
- (especialmente los ficheros <filename>/dev/cua*</filename>)
- para asegurarse que solamente los usuarios que deben tener
- acceso a esos ficheros especiales de dispositivo puedan leer
- y escribir en ellos &mdash; probablemente no desee permitir
- al usuario promedio utilizar sus modems para marcar al exterior.
- Los permisos por omisión en los ficheros
- <filename>/dev/cua*</filename> deberían ser suficientes:
- </para>
-
- <screen>crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cuaa1
-crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuaia1
-crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
-
- <para>Estos permisos permiten al usuario <systemitem class="username">uucp</systemitem> y
- usuarios en el grupo <systemitem class="username">dialer</systemitem> utilizar
- dispositivos call-out.</para>
- </sect3>
- </sect2>
-
-
- <sect2 xml:id="serial-hw-config">
- <title>Configuración de puerto serie</title>
-
- <indexterm><primary><filename>ttyd</filename></primary></indexterm>
- <indexterm><primary><filename>cuaa</filename></primary></indexterm>
-
- <para>El dispositivo <filename>ttydN</filename>
- (o <filename>cuaaN</filename>) es el
- dispositivo regular que usted deseará abrir para sus
- aplicaciones. Cuando un proceso abre el dispositivo, tendrá un
- conjunto por omisión de propiedades de terminal E/S. Puede ver
- estas propiedades con el comando</para>
-
- <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen>
-
- <para>Cuando cambia las propiedades de este dispositivo, las propiedades
- son efectivas hasta que el dispositivo es cerrado. Cuando es reabierto
- regresa a las propiedades por omisión. Para realizar cambios
- al conjunto por omisión, usted puede abrir y ajustar las
- propiedades del dispositivo de <quote>estado inicial</quote> . Por
- ejemplo, para activar el modo <option>CLOCAL</option>,
- comunicación de 8 bits y control de flujo
- <option>XON/XOFF</option> por omisión para
- <filename>ttyd5</filename>, teclée:</para>
-
- <screen>&prompt.root; <userinput>stty -f /dev/ttyid5 clocal cs8 ixon ixoff</userinput></screen>
-
- <indexterm>
- <primary>rc files</primary>
- <secondary><filename>rc.serial</filename></secondary>
- </indexterm>
-
- <!-- XXX; /etc/rc.serial is gone in 5.1.
- How do you set default parameters for these devices in 5.X ? -->
-
- <para>La inicialización para todo el sistema de los
- dispositivos serie es controlada en <filename>/etc/rc.serial</filename>.
- Este fichero afecta las propiedades por omisión de
- dispositivos serie.</para>
-
- <para>Para prevenir que ciertas propiedades sean cambiadas
- por una aplicación, haga ajustes al dispositivo
- <quote>bloquear estado</quote>. Por ejemplo, para confinar
- la velocidad en <filename>ttyd5</filename> a 57600&nbsp;bps,
- teclée:</para>
-
- <screen>&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput></screen>
-
- <para>Ahora, una aplicación que abra
- <filename>ttyd5</filename> y trate de cambiar la velocidad
- del puerto se mantendrá con 57600&nbsp;bps.</para>
-
- <indexterm>
- <primary><command>MAKEDEV</command></primary>
- </indexterm>
- <para>Naturalmente, debería crear los dispositivos de estado
- inicial y bloqueo de estado escribible únicamente para la
- cuenta <systemitem class="username">root</systemitem> .</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="term">
- <info><title>Terminales</title>
- <authorgroup>
- <author><personname><firstname>Sean</firstname><surname>Kelly</surname></personname><contrib>Contribuido por</contrib></author>
- <!-- 28 July 1996 -->
- </authorgroup>
- </info>
-
-
- <indexterm><primary>terminals</primary></indexterm>
-
- <para>Las terminales proveen una manera conveniente y de bajo coste
- de accesar su sistema FreeBSD cuando no se encuentra en la
- consola de la computadora o en una red conectada. Esta
- sección describe como utilizar terminales con FreeBSD.</para>
-
- <sect2 xml:id="term-uses">
- <title>Usos y tipos de terminales</title>
-
- <para>Los sistemas originales &unix; no tenín consolas.
- En su lugar la gente se firmaba y corría programas a
- través de terminales conectadas a los puertos serie de la
- computadora. Es bastante similar a usar un modem y un programa de
- terminal para marcar hacia un sistema remoto para hacer trabajo en
- modo texto.</para>
-
- <para>Las PCs actuales tienen consolas con gráficos de
- alta calidad, pero la habilidad para establecer una sesión en
- un puerto serie todavía existe en casi cualquier sistema
- operativo &unix; al día de hoy; FreeBSD no es la
- excepción. Utilizando una terminal conectada a un puerto
- serie libre, usted puede accesar y correr cualquier programa de
- texto que podría correr normalmente en la consola o
- en una ventana <command>xterm</command> en el sistema X Window.</para>
-
- <para>Para el usuario corporativo, se pueden conectar muchas terminales
- a un sistema FreeBSD y ponerlas en los escritorios de sus empleados.
- Para un usuario casero, una computadora de reserva, como una IBM PC
- más antigua o una &macintosh;, puede ser una terminal cableada
- a una computadora más poderosa corriendo FreeBSD. Puede
- convertir lo que de otra manera sería una computadora de un
- solo usuario en un poderoso sistema de usuarios múltiples.
- </para>
-
- <para>Para FreeBSD, existen tres clases de terminales:</para>
-
- <itemizedlist>
- <listitem>
- <para><link linkend="term-dumb">Terminales tontas</link></para>
- </listitem>
-
- <listitem>
- <para><link linkend="term-pcs">PCs actuando como terminales</link></para>
- </listitem>
-
- <listitem>
- <para><link linkend="term-x">Terminales X</link></para>
- </listitem>
- </itemizedlist>
-
- <para>Las subsecciones siguientes describen cada tipo.</para>
-
- <sect3 xml:id="term-dumb">
- <title>Terminales tontas</title>
-
- <para>Terminales tontas son piezas de hardware especializadas que
- le permiten conectar a computadoras a través de líneas
- serie. Son llamadas <quote>tontas</quote> porque solo tienen
- poder computacional suficiente para desplegar, enviar y recibir
- texto. No puede ejecutar ningún programa en ellas. Es la
- computadora a la cual se conectan la que tiene todo el poder para
- correr editores de texto, compiladores, correo electrónico,
- juegos, y demás.</para>
-
- <para>Existen cientos de tipos de terminales tontas hechas por
- muchos fabricantes, incluyendo VT-100 de Digital Equipment
- Corporation y WY-75 de Wyse. Cualquier tipo funcionará con
- FreeBSD. Algunas terminales superiores pueden incluso desplegar
- gráficos, pero solo ciertos paquetes de software pueden
- tomar ventaja de estas funciones avanzadas.</para>
-
- <para>Las terminales tontas son populares en ambientes de trabajo
- donde los trabajadores no necesitan acceso a aplicaciones
- gráficas como las que provee el sistema X Window.</para>
- </sect3>
-
- <sect3 xml:id="term-pcs">
- <title>PCs actuando como terminales</title>
-
- <para>Si una <link linkend="term-dumb">terminal tonta</link> tiene
- apenas la habilidad para desplegar, enviar y recibir texto, entonces
- ciertamente cualquier computadora personal de reserva puede ser una
- terminal tonta. Todo lo que necesita es el cable apropiado y
- algún software de <emphasis>emulación de
- terminal</emphasis> para correr en la computadora.</para>
-
- <para>Tal configuración es popular en hogares. Por ejemplo, si
- su consorte se encuentra ocupado trabajando en la consola de
- su sistema FreeBSD, usted puede realizar algún trabajo en
- modo texto al mismo tiempo desde una computadora personal menos
- poderosa conectada como una terminal al sistema FreeBSD.</para>
- </sect3>
-
- <sect3 xml:id="term-x">
- <title>Terminales X</title>
-
- <para>Las terminales X son el tipo más sofisticado de
- terminal disponible. En lugar de conectar a un puerto serie,
- usualmente se conectan a una red como Ethernet. En lugar de
- ser relegadas a aplicaciones de modo texto pueden desplegar
- aplicaciones X.</para>
-
- <para>Hemos introducido terminales X solo por complementar. Sin
- embargo, este capítulo <emphasis>no</emphasis> cubre
- instalación, configuración o uso de terminales
- X.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="term-config">
- <title>Configuración</title>
-
- <para>Esta sección describe lo que necesita para configurar en
- su sistema FreeBSD y permitirle habilitar sesiones de entrada en una
- terminal. Asume que ya tiene configurado su kernel para soportar el
- puerto serie al cual la terminal está conectada&mdash;y
- que la tiene conectada.</para>
-
- <para>Recuerde del <xref linkend="boot"/> que
- el proceso <command>init</command> es responsable del control
- e inicialización de todos los procesos al inicio del
- sistema. Una de las tareas ejecutadas por
- <command>init</command> es leer el
- fichero <filename>/etc/ttys</filename> e iniciar un proceso
- <command>getty</command> en las terminales disponibles.
- El proceso <command>getty</command> es responsable de leer
- un nombre de entrada e iniciar el programa <command>login</command> .</para>
-
- <para>Así, para configurar terminales para su sistema
- FreeBSD los siguientes pasos deben hacerse como <systemitem class="username">root</systemitem>:</para>
-
- <procedure>
- <step>
- <para>Agregue una línea a <filename>/etc/ttys</filename> para
- la entrada en el directorio <filename>/dev</filename> para el
- puerto serie si todavía no se encuentra ahí.</para>
- </step>
-
- <step>
- <para>Especifique que <command>/usr/libexec/getty</command> sea
- ejecutado en el puerto, y especifique el tipo apropiado de
- <replaceable>getty</replaceable> desde el fichero
- <filename>/etc/gettytab</filename> .</para>
- </step>
-
- <step>
- <para>Especifique el tipo de terminal por omisión.</para>
- </step>
-
- <step>
- <para>Ponga el puerto a <quote>on.</quote></para>
- </step>
-
- <step>
- <para>Especifique si el puerto debe ser o no
- <quote>seguro.</quote></para>
- </step>
-
- <step>
- <para>Obligue a <command>init</command> a releer el fichero
- <filename>/etc/ttys</filename> .</para>
- </step>
- </procedure>
-
- <para>Como un paso opcional, tal vez desee crear un tipo
- <replaceable>getty</replaceable> personalizado para utilizar en el
- paso 2 mediante una entrada en <filename>/etc/gettytab</filename>.
- Este capítulo no explica como realizarlo; por lo que se le
- exhorta a leer las páginas de manual &man.gettytab.5; y
- &man.getty.8; para mayor información.</para>
-
- <sect3 xml:id="term-etcttys">
- <title>Agregando una entrada a <filename>/etc/ttys</filename></title>
-
- <para>El fichero <filename>/etc/ttys</filename> lista todos los
- puertos en su sistema FreeBSD donde quiere permitir logins. Por
- ejemplo, la primera consola virtual <filename>ttyv0</filename> tiene
- una entrada en este fichero. Puede firmarse en la consola utilizando
- esta entrada. Este fichero también contiene entradas para las
- otras consolas virtuales, puertos serie y pseudo-ttys. Para una
- terminal conectada por cable, solo liste la entrada <filename>/dev</filename>
- del puerto serie sin la parte de <filename>/dev</filename> (por ejemplo,
- <filename>/dev/ttyv0</filename> debería estar listado como
- <filename>ttyv0</filename>).</para>
-
- <para>Una instalación por omisión de FreeBSD
- incluye un fichero <filename>/etc/ttys</filename> con soporte
- para los primeros cuatro puertos serie: <filename>ttyd0</filename>
- hasta <filename>ttyd3</filename>. Si está conectando una
- terminal a uno de esos puertos, no necesita agregar otra entrada.</para>
-
- <example xml:id="ex-etc-ttys">
- <title>Agregando entradas de terminal a
- <filename>/etc/ttys</filename></title>
-
- <para>Suponga que quisiéramos conectar dos terminales
- al sistema: una Wyse-50 y una vieja IBM PC 286 corriendo
- el software de terminal <application>Procomm</application>
- emulando una terminal VT-100. Conectamos la Wyse al segundo
- puerto serie y la 286 al sexto puerto serie (un puerto
- en una tarjeta multipuerto serie). Las entradas correspondiente
- en el fichero <filename>/etc/ttys</filename> se verían
- como esto:</para>
-
- <programlisting>ttyd1<co xml:id="co-ttys-line1col1"/> "/usr/libexec/getty std.38400"<co xml:id="co-ttys-line1col2"/> wy50<co xml:id="co-ttys-line1col3"/> on<co xml:id="co-ttys-line1col4"/> insecure<co xml:id="co-ttys-line1col5"/>
-ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
- </programlisting>
-
- <calloutlist>
- <callout arearefs="co-ttys-line1col1">
- <para>El primer campo normalmente especifica el nombre
- de fichero especial de la terminal como es hallado
- en <filename>/dev</filename>.</para>
- </callout>
- <callout arearefs="co-ttys-line1col2">
-
- <para>El segundo campo es el comando a ejecutar por
- esta línea, el cual es usualmente &man.getty.8;.
- <command>getty</command> inicializa y abre la línea,
- establece la velocidad, pregunta por un nombre de usuario
- y entonces ejecuta el programa &man.login.1; .</para>
-
- <para>El programa <command>getty</command> acepta un
- parámetro (opcional) en su línea de
- comando, el tipo <replaceable>getty</replaceable>. Un
- tipo <replaceable>getty</replaceable> configura características
- en la línea de terminal, como tasa de bps y
- paridad. El programa <command>getty</command> lee
- estas características desde el fichero
- <filename>/etc/gettytab</filename>.</para>
-
- <para>El fichero <filename>/etc/gettytab</filename>
- contiene muchas entradas para líneas de terminal
- viejas y nuevas. En la mayoría de los casos, las
- entradas que empiezan con el texto <literal>std</literal>
- funcionarán para terminales conectadas físicamente.
- Estas entradas ignoran la paridad.
- Existe una entrada <literal>std</literal> por cada
- tasa de bps de 110 a 115200. Por supuesto puede agregar
- sus propias entradas a este fichero. La página de
- manual &man.gettytab.5; provee mayor información.</para>
-
- <para>Al establecer el tipo <replaceable>getty</replaceable>
- en el fichero <filename>/etc/ttys</filename>, asegúrese
- que las propiedades de comunicaciones en la terminal
- concuerden.</para>
-
- <para>Para nuestro ejemplo, la Wyse-50 no usa paridad
- y conecta a 38400&nbsp;bps. La 286&nbsp;PC no usa paridad y
- conecta a 19200&nbsp;bps.</para>
-
- </callout>
-
- <callout arearefs="co-ttys-line1col3">
-
- <para>El tercer campo es el tipo de terminal usualmente
- conectado a esa línea tty. Para puertos dial-up,
- <literal>unknown</literal> o
- <literal>dialup</literal> son usados típicamente
- en este campo puesto que los usuarios pueden marcar
- prácticamente con cualquier tipo de terminal o
- de software. Para terminales conectadas físicamente,
- el tipo de terminal no cambia, así que puede
- poner un tipo de terminal real del fichero de base
- de datos &man.termcap.5; en este campo.</para>
-
- <para>Para nuestro ejemplo, la Wyse-50 utiliza el
- tipo de terminal real mientras que la PC 286
- corriendo <application>Procomm</application> será
- puesta a emular una VT-100. </para>
-
- </callout>
-
- <callout arearefs="co-ttys-line1col4">
- <para>El cuarto campo especifica si el puerto debe
- habilitarse. Poniendo <literal>on</literal> aquí
- provocará que el proceso <command>init</command> inicie
- el programa en el segundo campo, <command>getty</command>.
- Si pone <literal>off</literal> en este campo, no habrá
- <command>getty</command>, y por consecuencia ningun login
- en el puerto.</para>
- </callout>
-
- <callout arearefs="co-ttys-line1col5">
- <para>El último campo es utilizado para especificar
- si el puerto es seguro. Marcar un puerto como seguro
- significa que se confía en él lo suficiente
- para permitir que la cuenta <systemitem class="username">root</systemitem>
- (o cualquier cuenta con un ID de usuario 0) se firme
- desde ese puerto. Los puertos inseguros no permiten
- entradas de <systemitem class="username">root</systemitem>.
- En un puerto inseguro, los usuarios deben firmarse desde
- cuentas sin privilegios y entonces utilizar &man.su.1;
- o un mecanismo similar para acceder a privilegios de
- superusuario.</para>
-
- <para>Es altamente recomendable que utilize
- <quote>insecure</quote> incluso para terminales
- que se encuentran detrás de puertas con
- llave. Es muy sencillo entrar y usar <command>su</command> si
- necesita privilegios de superusuario.</para>
- </callout>
- </calloutlist>
- </example>
- </sect3>
-
- <sect3 xml:id="term-hup">
- <title>Forzar <command>init</command> a que relea
- <filename>/etc/ttys</filename></title>
-
- <para>Despues de realizar los cambios necesarios al fichero
- <filename>/etc/ttys</filename> debería
- mandar una señal SIGHUP (hangup) al proceso <command>init</command>
- para forzarlo a releer su fichero de configuración.
- Por ejemplo:</para>
-
- <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
-
- <note>
- <para><command>init</command> siempre es el primer proceso
- que corre en un sistema, por lo tanto siempre tendrá
- el PID 1.</para>
- </note>
-
- <para>Si todo está puesto correctamente, todos los cables
- en su lugar, y las terminales están encendidas,
- entonces un proceso <command>getty</command> debe estar
- corriendo en cada terminal y debería ver prompts
- de entrada en sus terminales en este punto.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="term-debug">
- <title>Determinando errores en su conexión</title>
-
- <para>Incluso con la más meticulosa etención al detalle, algo
- puede salir mal mientras se configura una terminal. Esta es una lista de
- síntomas y algunos arreglos sugeridos.</para>
-
- <sect3>
- <title>No aparece prompt de login</title>
-
- <para>Asegúrese que la terminal está conectada y
- encendida, asegúrese que se encuentra ejecutando un
- software de emulación de terminal en el puerto serie
- correcto.</para>
-
- <para>Asegúrese que el cable está conectado firmemente
- tanto a la terminal como a la computadora FreeBSD. Asegúrese
- que es el tipo correcto de cable.</para>
-
- <para>Asegúrese que la terminal y FreeBSD concuerdan en la tasa
- de bps y propiedades de paridad. Si tiene una terminal de desplegado
- de video, asegúrese que los controles de contraste y brillo
- estén encendidos. Si es una terminal de impresión, asegúrese
- que papel y tinta se encuentren en forma.</para>
-
- <para>Asegúrese que un proceso <command>getty</command> esté
- corriendo y sirviendo la terminal. Por ejemplo, para obtener una lista
- de procesos <command>getty</command> con
- <command>ps</command>, teclée:</para>
-
- <screen>&prompt.root; <userinput>ps -axww|grep getty</userinput></screen>
-
- <para>Debería ver una entrada para la terminal.
- Por ejemplo, el siguiente desplegado muestra que un
- <command>getty</command> está corriendo en el
- segundo puerto serie <literal>ttyd1</literal> y está
- utilizando la entrada
- <literal>std.38400</literal> en
- <filename>/etc/gettytab</filename>:</para>
-
- <screen>22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1</screen>
-
- <para>Si no hay un proceso <command>getty</command> corriendo,
- asegúrese que tiene habilitado el puerto en
- <filename>/etc/ttys</filename>.
- Recuerde también ejecutar <command>kill -HUP 1</command>
- despues de modificar el fichero <filename>ttys</filename>.</para>
-
- <para>Si el proceso <command>getty</command> está corriendo
- pero la terminal todavía no despliega un prompt de
- login, o si despliega un prompt pero no le permite escribir,
- su terminal o cable tal vez no soporte inicialización
- por hardware. Trate cambiar la entrada en
- <filename>/etc/ttys</filename> de
- <literal>std.38400</literal> a
- <literal>3wire.38400</literal> recuerde correr
- <command>kill -HUP 1</command> despues de modificar
- <filename>/etc/ttys</filename>. La entrada
- <literal>3wire</literal> es similar a
- <literal>std</literal>, pero ignora la inicialización
- por harware. Tal vez necesite reducir la tasa de baudios
- o habilitar control de flujo por software cuando utilice
- <literal>3wire</literal> para prevenir desbordamientos
- de buffer.</para>
-
- </sect3>
-
- <sect3>
- <title>Si aparece basura en lugar de un prompt de login</title>
-
- <para>Asegúrese que la terminal y FreeBSD concuerdan en la
- tasa de bps y propiedades de paridad. Revise los procesos
- <command>getty</command> para asegurarse que el tipo correcto
- de <replaceable>getty</replaceable> está en uso. Si no
- es así, edite <filename>/etc/ttys</filename> y ejecute
- <command>kill -HUP 1</command>.</para>
-
- </sect3>
-
- <sect3>
- <title>Los caracteres aparecen doble; las contraseñas aparecen cuando se escriben</title>
-
- <para>Cambie la terminal (o el software de emulación de
- terminal) de <quote>half duplex</quote> o <quote>local echo</quote> a
- <quote>full duplex.</quote></para>
-
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="dialup">
- <info><title>Servicio dial-in</title>
- <authorgroup>
- <author><personname><firstname>Guy</firstname><surname>Helmer</surname></personname><contrib>Contribuido por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Sean</firstname><surname>Kelly</surname></personname><contrib>Adiciones por </contrib></author>
- </authorgroup>
- </info>
-
- <indexterm><primary>dial-in service</primary></indexterm>
-
- <para>Configurar su sistema FreeBSD para servicio dial-in es muy
- similar a conectar terminales excepto que en lugar de lidiar con
- terminales se hace con modems.</para>
-
- <sect2>
- <title>Modems externos vs. internos</title>
-
- <para>Los modems externos parecen ser más convenientes para
- dial-up, debido a que los modems externos con frecuencia pueden
- ser configurados semi permanentemente vía parámetros
- almacenados en RAM no volatil y usualmente proveen indicadores
- luminosos que despliegan el estado de señales importantes RS-232.
- Luces parpadeantes impresionan a los visitantes, pero las luces son
- también útiles para ver si un modem se encuentra
- operando adecuádamente.</para>
-
- <para>Los modems internos usualmente carecen de RAM no volatil,
- entonces su configuración puede estar limitada a
- especificar DIP switches. Si su modem interno cuenta con
- algún indicador luminoso de señales, es probablemente
- dificil observar las luces cuando el sistema está cubierto
- y en su lugar.</para>
-
- <sect3>
- <title>Modems y cables</title>
- <indexterm><primary>modem</primary></indexterm>
-
- <para>Si se encuentra utilizando un modem externo, entonces
- necesitará por supuesto un cable adecuado. Un cable
- serie estándar RS-232C debe ser suficiente mientras
- todas las señales normales sean cableadas:</para>
-
- <itemizedlist>
- <listitem>
- <para>Transmitted Data (<acronym>TD</acronym>)</para>
- </listitem>
-
- <listitem>
- <para>Received Data (<acronym>RD</acronym>)</para>
- </listitem>
-
- <listitem>
- <para>Request to Send (<acronym>RTS</acronym>)</para>
- </listitem>
-
- <listitem>
- <para>Clear to Send (<acronym>CTS</acronym>)</para>
- </listitem>
-
- <listitem>
- <para>Data Set Ready (<acronym>DSR</acronym>)</para>
- </listitem>
-
- <listitem>
- <para>Data Terminal Ready (<acronym>DTR</acronym>)</para>
- </listitem>
-
- <listitem>
- <para>Carrier Detect (<acronym>CD</acronym>)</para>
- </listitem>
-
- <listitem>
- <para>Signal Ground (<acronym>SG</acronym>)</para>
- </listitem>
- </itemizedlist>
-
- <para>FreeBSD necesita las señales <acronym>RTS</acronym> y
- <acronym>CTS</acronym> para control de flujo a velocidades
- mayores a 2400&nbsp;bps, la señal <acronym>CD</acronym> para
- detectar cuando una llamada ha sido respondida o la línea ha
- sido colgada, y la señal <acronym>DTR</acronym> para reiniciar el
- modem despues de completar una sesión.
- Algunos cables son hechos sin incluir todas las señales necesarias,
- así que si tiene problemas, como cuando una sesión no
- finaliza cuando la línea es colgada, tal vez el problema se
- deba al cable.</para>
-
- <para>Como otros sistemas operativos tipo &unix;, FreeBSD utiliza
- las señales de hardware para saber cuando una llamada ha sido
- contestada o una línea ha sido colgada y poder colgar
- y reiniciar el modem despues de una llamada. FreeBSD evita
- enviar comandos al modem o esperar por reportes de estado del
- modem. Si está familiarizado con la conexión de
- modems una PC funcionando como BBS, tal ves esto parezca extraño.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Consideraciones de interfaces serie</title>
-
- <para>FreeBSD soporta interfaces de comunicación NS8250-,
- NS16450-, NS16550-, y NS16550A-basado en EIA RS-232C (CCITT V.24).
- Los dispositivos 8250 y 16450 tienen buffers de un solo caracter.
- El dispositivo 16550 brinda un buffer de 16 caracteres, el cual
- permite un mejor desempeño del sistema. (Errores en 16550 simple
- impiden el uso del buffer de 16 caracteres, así que utilice
- 16550A si es posible). Debido a que los dispositivos de buffer de
- un solo caracter requieren más trabajo del sistema operativo
- que los dispotivos de buffer de 16 caracteres, las tarjetas de
- interfaz serie basadas en 16550A son mayormente preferidas.
- Si el sistema tiene muchos puertos serie activos o tendrá
- una carga elevada, las tarjetas basadas en 16550A son mejores para
- comunicaciones con baja tasa de error.</para>
- </sect2>
-
- <sect2>
- <title>Revisión rápida</title>
-
- <indexterm><primary>getty</primary></indexterm>
- <para>Como con las terminales, <command>init</command>
- engendra un proceso <command>getty</command> para cada
- puerto serie configurado para conexiones dial-in.
- Por ejemplo, si un modem está conectado a
- <filename>/dev/ttyd0</filename>, el comando
- <command>ps ax</command> podría mostrar esto:</para>
-
- <screen> 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0</screen>
-
- <para>Cuando un usuario marca la línea del modem y el modem
- conecta, la línea <acronym>CD</acronym> (Carrier Detect)
- es reportada por el modem.
- El kernel
- nota que se ha detectado una portadora y completa la apertura de
- <command>getty</command> del puerto. <command>getty</command>
- manda un prompt <prompt>login:</prompt> a la velocidad inicial
- de línea especificada. <command>getty</command> observa si
- se reciben caracteres válidos, y, en una configuración
- típica, si encuentra basura (probablemente debido a que la
- velocidad de conexión del modem es diferente a la velocidad
- de <command>getty</command>), <command>getty</command> trata de
- ajustar la velocidad de la línea hasta que recibe caracteres
- razonables.</para>
-
- <indexterm>
- <primary><command>/usr/bin/login</command></primary>
- </indexterm>
- <para>Despues que el usuario entra su nombre de
- login, <command>getty</command> ejecuta
- <filename>/usr/bin/login</filename>, que completa
- la entrada preguntando por la contraseña del usuario y entonces
- inicia el shell del usuario.</para>
- </sect2>
-
-
- <sect2>
- <title>Archivos de configuración</title>
-
- <para>Existen tres ficheros de configuración del sistema
- en el directorio <filename>/etc</filename> que probablemente
- necesitará editar para permitir acceso de dial-up a su
- sistema FreeBSD. El primero, <filename>/etc/gettytab</filename>,
- contiene información de configuración para el
- daemon <filename>/usr/libexec/getty</filename>. El segundo,
- <filename>/etc/ttys</filename> contiene información que
- le dice a <filename>/sbin/init</filename> que dispositivos
- <filename>tty</filename> deben tener procesos <command>getty</command>
- corriendo. Por último, puede incluir comandos de inicialización
- de puerto en el script <filename>/etc/rc.serial</filename>.</para>
-
- <para>Existen dos escuelas de pensamiento en relación a modems dial-up
- en &unix;.
- Un grupo gusta de configurar sus modems y sistemas para que sin
- importar a que velocidad un usuario remoto marque, la interfaz local
- RS-232 computadora-a-modem corra a una velocidad fija. El beneficio
- de esta configuración es que el usuario remoto siempre obtiene
- un prompt de login del sistema inmediátamente.
- La desventaja es que el sistema no sabe cual es la tasa de datos
- verdadera del usuario, así que programas a pantalla completa
- como Emacs no ajustarán sus métodos de dibujado de
- pantalla para mejorar sus respuestas en conexiones más lentas.</para>
-
- <para>La otra escuela configura sus modems de interfaz RS-232 para variar
- su velocidad basado en la velocidad de conexión del usuario remoto.
- Por ejemplo, conexiones V.32bis (14.4&nbsp;Kbps) al modem podrían
- hacer al modem correr su interfaz RS-232 a 19.2&nbsp;Kbps, mientras que
- conexiones 2400&nbsp;bps hacen correr la interfaz RS-232 del modem a
- 2400&nbsp;bps. Debido a que <command>getty</command> no entiende
- el reporte de velocidad de conexión de cualquier modem,
- <command>getty</command> brinda un mensaje <prompt>login:</prompt> a una
- velocidad inicial y observa los caracteres que regresan en respuesta.
- Si el usuario recibe basura, se asume que sabe que debe presionar la
- tecla <keycode>Enter</keycode> hasta que reciba un prompt reconocible.
- Si la tasa de datos no concuerda, <command>getty</command> trata todo
- lo que el usuario escriba como <quote>basura</quote>, trata yendo a la
- siguiente velocidad y brinda el prompt <prompt>login:</prompt> de nuevo.
- Este procedimiento puede continuar hasta el cansancio, pero normalmente
- solo toma un teclazo o dos antes que el usuario reciba un prompt
- correcto. Obviamente, esta secuencia de login no parece tan limpia
- como el anterior método de <quote>velocidad fija</quote>, pero
- un usuario en una conexión de velocidad baja podría
- recibir una respuesta interactiva mejor desde programas a pantalla
- completa.</para>
-
- <para>Esta sección tratará de dar información de
- configuración balanceada, pero está cargada hacia tener la
- tasa de datos del modem siguiendo la tasa de conexión.</para>
-
- <sect3>
- <title><filename>/etc/gettytab</filename></title>
-
- <indexterm>
- <primary><filename>/etc/gettytab</filename></primary>
- </indexterm>
- <para><filename>/etc/gettytab</filename> es un fichero tipo
- &man.termcap.5; de información de configuración para
- &man.getty.8;. Por favor vea la página de manual &man.gettytab.5;
- para información completa del formato del fichero y la lista
- de capacidades.</para>
-
- <sect4>
- <title>Configuración de velocidad fija</title>
-
- <para>Si está fijando la tasa de comunicación de datos
- de su modem a una velocidad particular, probablemente no necesitará
- ningún cambio a <filename>/etc/gettytab</filename>.</para>
- </sect4>
-
- <sect4>
- <title>Configuración de velocidad concordante</title>
-
- <para>Necesitará crear una entrada en
- <filename>/etc/gettytab</filename> para darle información a
- <command>getty</command> acerca de las velocidades que desea usar
- para su modem. Si tiene un modem 2400&nbsp;bps, puede probablemente
- utilizar la entrada existente <literal>D2400</literal>.</para>
-
- <programlisting>#
-# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
-#
-D2400|d2400|Fast-Dial-2400:\
- :nx=D1200:tc=2400-baud:
-3|D1200|Fast-Dial-1200:\
- :nx=D300:tc=1200-baud:
-5|D300|Fast-Dial-300:\
- :nx=D2400:tc=300-baud:</programlisting>
-
- <para>Si tiene un modem de mayor velocidad, probablemente necesite
- agregar una entrada en <filename>/etc/gettytab</filename>; aquí
- está una entrada que puede utilizar para un modem 14.4&nbsp;Kbps
- con una velociad de interfaz máxima de 19.2&nbsp;Kbps:</para>
-
- <programlisting>#
-# Additions for a V.32bis Modem
-#
-um|V300|High Speed Modem at 300,8-bit:\
- :nx=V19200:tc=std.300:
-un|V1200|High Speed Modem at 1200,8-bit:\
- :nx=V300:tc=std.1200:
-uo|V2400|High Speed Modem at 2400,8-bit:\
- :nx=V1200:tc=std.2400:
-up|V9600|High Speed Modem at 9600,8-bit:\
- :nx=V2400:tc=std.9600:
-uq|V19200|High Speed Modem at 19200,8-bit:\
- :nx=V9600:tc=std.19200:</programlisting>
-
- <para>esto resultará en una conexión de 8 bits, sin paridad.</para>
-
- <para>El ejemplo de arriba inicia la tasa de comunicaciones a 19.2&nbsp;Kbps
- (para conexiones V.32bis), entonces cicla a través de 9600&nbsp;bps
- (para V.32), 2400&nbsp;bps, 1200&nbsp;bps, 300&nbsp;bps, y de vuelta a
- 19.2&nbsp;Kbps. El ciclado de la tasa de comunicaciones es implementado
- con la capacidad <literal>nx=</literal> (<quote>siguiente tabla</quote>).
- Cada una de las líneas usa una entrada
- <literal>tc=</literal> (<quote>continuación de tabla</quote>) para
- recoger el resto de las propiedades <quote>estándar</quote> para
- una tasa de datos en particular.</para>
-
- <para>Si tiene un modem 28.8&nbsp;Kbps y/o quiere tomar ventaja
- de la compresión en un modem 14.4&nbsp;Kbps, necesita
- utilizar una tasa de comunicaciones mayor a 19.2&nbsp;Kbps. Aquí
- hay un ejemplo de una entrada <filename>gettytab</filename> iniciando
- a 57.6&nbsp;Kbps:</para>
-
- <programlisting>#
-# Additions for a V.32bis or V.34 Modem
-# Starting at 57.6 Kbps
-#
-vm|VH300|Very High Speed Modem at 300,8-bit:\
- :nx=VH57600:tc=std.300:
-vn|VH1200|Very High Speed Modem at 1200,8-bit:\
- :nx=VH300:tc=std.1200:
-vo|VH2400|Very High Speed Modem at 2400,8-bit:\
- :nx=VH1200:tc=std.2400:
-vp|VH9600|Very High Speed Modem at 9600,8-bit:\
- :nx=VH2400:tc=std.9600:
-vq|VH57600|Very High Speed Modem at 57600,8-bit:\
- :nx=VH9600:tc=std.57600:</programlisting>
-
- <para>Si tiene un CPU lento o un sistema muy cargado y no tiene
- puertos serie basados en 16550A, tal vez reciba errores en
- <errorname>sio</errorname>
- <quote>silo</quote> a 57.6&nbsp;Kbps.</para>
- </sect4>
- </sect3>
-
- <sect3 xml:id="dialup-ttys">
- <title><filename>/etc/ttys</filename></title>
- <indexterm>
- <primary><filename>/etc/ttys</filename></primary>
- </indexterm>
-
- <para>La configuración del fichero <filename>/etc/ttys</filename>
- fué cubierto en <xref linkend="ex-etc-ttys"/>.
- La configuración para modems es similar pero debemos
- pasar un argumento diferente a <command>getty</command> y
- especificar un tipo diferente de terminal. El formato general
- tanto para configuración de velocidad fija y velocidad
- concordante es:</para>
-
- <programlisting>ttyd0 "/usr/libexec/getty <replaceable>xxx</replaceable>" dialup on</programlisting>
-
- <para>El primer componente de la línea de arriba es el fichero
- de dispositivo especial para esta entrada &mdash; <literal>ttyd0</literal>
- significa que <filename>/dev/ttyd0</filename> es el fichero que
- <command>getty</command> estará vigilando. El segundo
- componente <literal>"/usr/libexec/getty
- xxx"</literal>
- (<replaceable>xxx</replaceable> será reemplazado por la
- capacidad inicial de <filename>gettytab</filename>) es el proceso
- que <command>init</command> ejecutará en el dispositivo.
- El tercer componente, <literal>dialup</literal>, es el tipo de
- terminal por omisión. El cuarto parámetro,
- <literal>on</literal>, le indica a <command>init</command> que
- la línea es operacional. Puede existir un quinto parámetro,
- <literal>secure</literal>, pero solo debería ser utilizado para
- terminales que estén físicamente seguras (como la consola
- del sistema).</para>
-
- <para>El tipo de terminal por omisión (<literal>dialup</literal>
- en el ejemplo de arriba) puede depender de preferencias locales.
- <literal>dialup</literal> es el tipo de terminal tradicional por
- omisión en líneas dial-up para que los usuarios
- puedan personalizar sus scripts de login para reconocer cuando
- la terminal es <literal>dialup</literal> y ajustar sus tipos de
- terminal automáticamente. De toda maneras, el autor encuentra
- más sencillo especificar en su sitio <literal>vt102</literal>
- como el tipo de terminal por omisión, puesto que los usuarios
- solo utilizan emulación VT102 en sus sistemas remotos.</para>
-
- <para>Despues de realizar los cambios a <filename>/etc/ttys</filename>,
- puede enviar al proceso <command>init</command> una señal <acronym>HUP</acronym>
- para que relea el fichero. Puede utilizar el comando
-
- <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
-
- para mandar la señal. Si esta es su primera vez instalando el
- sistema, tal vez quiera esperar hasta que su(s) modem(s) estén
- configurados y conectados correctamente antes de señalizar a
- <command>init</command>.</para>
-
- <sect4>
- <title>Configuración de velocidad fija</title>
-
- <para>Para una configuración de velocidad
- fija, su entrada <filename>ttys</filename> necesita tener una
- entrada de velocidad fija provista en <command>getty</command>.
- Para un modem cuya velocidad de puerto está fijada en
- 19.2&nbsp;Kbps, la entrada <filename>ttys</filename> podría
- verse así:</para>
-
- <programlisting>ttyd0 "/usr/libexec/getty std.19200" dialup on</programlisting>
-
- <para>Si su modem está fijado a un velocidad de
- datos diferente, sustituya el valor apropiado por
- <literal>std.velocidad</literal>
- en lugar de <literal>std.19200</literal>. Asegúrese
- de usar un tipo válido listado en
- <filename>/etc/gettytab</filename>.</para>
- </sect4>
-
- <sect4>
- <title>Configuración de velocidad concordante</title>
-
- <para>En una configuración de velocidad concordante su entrada
- <filename>ttys</filename> necesita referenciar el inicio de la entrada
- <quote>auto-baud</quote> (sic) en
- <filename>/etc/gettytab</filename>. Por ejemplo, si agregó la
- entrada sugerida arriba para un modem con velocidad concordante que
- inicia a 19.2&nbsp;Kbps (la entrada <filename>gettytab</filename>
- conteniendo el punto de inicio <literal>V19200</literal>), su entrada
- <filename>ttys</filename> podría verse como esta:</para>
-
- <programlisting>ttyd0 "/usr/libexec/getty V19200" dialup on</programlisting>
- </sect4>
- </sect3>
-
- <sect3>
- <title><filename>/etc/rc.serial</filename></title>
- <indexterm>
- <primary>rc files</primary>
- <secondary><filename>rc.serial</filename></secondary>
- </indexterm>
-
- <para>Modems de alta velocidad, como V.32, V.32bis, y V.34,
- necesitan usar control de flujo por hardware (<filename>RTS/CTS</filename>).
- Puede agregar comandos <command>stty</command> a
- <filename>/etc/rc.serial</filename> para activar la bandera
- de control de flujo por hardware en el kernel de FreeBSD para
- los puertos del modem.</para>
-
- <para>Por ejemplo para activar la bandera <literal>termios</literal>
- <varname>crtscts</varname> de dispositivos de inicialización
- dial-in y dial-out en el puerto serie #1
- (<filename>COM2</filename>), las siguientes líneas
- pueden agregarse a
- <filename>/etc/rc.serial</filename>:</para>
- <programlisting># Serial port initial configuration
-stty -f /dev/ttyid1 crtscts
-stty -f /dev/cuaia1 crtscts</programlisting>
-
- </sect3>
- </sect2>
-
- <sect2>
- <title>Propiedades del modem</title>
-
- <para>Si tiene un modem cuyos parámetros pueden ser activados
- permanentemente en RAM no volatil, necesitará utilizar un
- programa de terminal (como Telix en &ms-dos; o <command>tip</command> en
- FreeBSD) para activar los parámetros.
- Conecte al modem usando la misma velocidad de comunicación
- como velocidad inicial que <command>getty</command> usará y
- configure la RAM no volatil del modem para que concuerde con estos
- requerimientos:</para>
-
- <itemizedlist>
- <listitem>
- <para><acronym>CD</acronym> activado cuando esté conectado</para>
- </listitem>
-
- <listitem>
- <para><acronym>DTR</acronym> activado para operación; tirar DTR
- cuelga la línea y reinicia el modem</para>
- </listitem>
-
- <listitem>
- <para><acronym>CTS</acronym> control de flujo de datos transmitidos</para>
- </listitem>
-
- <listitem>
- <para>Deshabilitar control de flujo <acronym>XON/XOFF</acronym></para>
- </listitem>
-
- <listitem>
- <para><acronym>RTS</acronym> control de flujo de datos recibidos</para>
- </listitem>
-
- <listitem>
- <para>Modo silencioso (sin códigos resultantes)</para>
- </listitem>
-
- <listitem>
- <para>Sin eco de comandos</para>
- </listitem>
- </itemizedlist>
-
- <para>Por favor lea la documentación de su modem para saber
- que comandos y/o switches DIP necesita proporcionarle.</para>
-
- <para>Pro ejemplo, para activar los parámetros de arriba
- en un modem &usrobotics; &sportster; 14,400 externo, uno podría
- dar estos comandos al modem:</para>
-
- <programlisting>ATZ
-AT&amp;C1&amp;D2&amp;H1&amp;I0&amp;R2&amp;W</programlisting>
-
- <para>Tal vez quiera también tomar esta oportunidad para
- ajustar otras propiedades en el modem, como si utilizará
- compresión V.42bis y/o MNP5.</para>
-
- <para>El modem &usrobotics; &sportster; 14,400 externo también posee
- switches DIP que necesitan activarse; para otros modems, tal vez pueda
- utilizar estas propiedades como un ejemplo:</para>
-
- <itemizedlist>
- <listitem>
- <para>Switch 1: ARRIBA &mdash; DTR Normal</para>
- </listitem>
-
- <listitem>
- <para>Switch 2: N/A (Códigos resultantes verbales/Códigos resultantes
- numéricos)</para>
- </listitem>
-
- <listitem>
- <para>Switch 3: ARRIBA &mdash; Suprimir códigos resultantes</para>
- </listitem>
-
- <listitem>
- <para>Switch 4: ABAJO &mdash; No eco, comandos offline</para>
- </listitem>
-
- <listitem>
- <para>Switch 5: ARRIBA &mdash; Auto respuesta</para>
- </listitem>
-
- <listitem>
- <para>Switch 6: ARRIBA &mdash; Detección de señal Normal</para>
- </listitem>
-
- <listitem>
- <para>Switch 7: ARRIBA &mdash; Cargar valores NVRAM por omisión</para>
- </listitem>
-
- <listitem>
- <para>Switch 8: N/A (Modo inteligente/Modo tonto)</para>
- </listitem>
- </itemizedlist>
-
- <para>Códigos resultantes deberían ser deshabilitados
- o suprimidos para modems dial-up para evitar problemas que pueden
- ocurrir si <command>getty</command> erroneamente ofrece un prompt
- <prompt>login:</prompt> a un modem que se encuentra en modo de
- comandos y el modem hace eco del comando o regresa un código
- resultante. Esta secuencia puede resultar en una conversación
- larga y tonta entre <command>getty</command> y el modem.</para>
-
- <sect3>
- <title>Configuración de velocidad fija</title>
-
- <para>Para una configuración de velocidad fija necesitará
- configurar el modem para mantener una tasa de datos constante
- modem-a-computadora independiente de la tasa de comunicaciones.
- En un modem &usrobotics; &sportster; 14,400 externo estos comandos
- fijarán la tasa de datos modem-a-computadora a la velocidad
- utilizada para pasar los comandos:</para>
-
- <programlisting>ATZ
-AT&amp;B1&amp;W</programlisting>
- </sect3>
-
- <sect3>
- <title>Configuración de velocidad concordante</title>
-
- <para>Para una configuración de velocidad variable necesitará
- configurar su modem para ajustar la tasa de datos de su puerto serie
- para que coincida con la tasa de llamada entrante. En un modem
- &usrobotics; &sportster; 14,400 externo estos comandos
- fijarán la tasa de corrección de errores de datos a la
- velocidad usada para pasar los comandos, pero le permite a la tasa del
- puerto serie variar para conexiones que no corrigen errores:</para>
-
- <programlisting>ATZ
-AT&amp;B2&amp;W</programlisting>
- </sect3>
-
- <sect3>
- <title>Revisando la configuración del modem</title>
-
- <para>La mayoría de los modems de alta velocidad brindan
- comandos para ver los parámetros actuales de operación
- del modem en un modo entendible para humanos.
- En el modem &usrobotics; &sportster; 14,400 externo, el comando
- <command>ATI5</command> despliega los parámetros que están
- almacenados en la RAM no volatil. Para ver los parámetros reales
- de operación del modem (influenciado por los parámetros
- de los switches DIP del modem), utilice el comando <command>ATZ</command> y
- entonces <command>ATI4</command>.</para>
-
- <para>Si tiene una marca diferente de modem, revise el manual de
- su modem para ver como checar doblemente los parámetros de
- configuración de su modem.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Determinando errores</title>
-
- <para>Aquí hay unos cuantos pasos que puede seguir para revisar
- en sus sistema el modem dial-up.</para>
-
- <sect3>
- <title>Revisando el sistema FreeBSD</title>
-
- <para>Conecte su modem a su sistema FreeBSD, arranque el sistema, y,
- si su modem tiene luces de indicación de estado, mire si el
- indicador <acronym>DTR</acronym> del modem enciende cuando el prompt
- <prompt>login:</prompt> aparece en la consola del sistema
- &mdash; si enciende, eso debería significar que FreeBSD ha
- iniciado un proceso <command>getty</command> en el puerto de
- comunicaciones apropiado y está esperando a que el modem
- acepte la llamada.</para>
-
- <para>Si el indicador <acronym>DTR</acronym> no enciende, entre al
- sistema FreeBSD a travás de la consola y ponga un <command>ps
- ax</command> para ver si FreeBSD está tratando de correr
- un proceso <command>getty</command> en el puerto correcto. Debería
- ver líneas como estas entre los procesos desplegados:</para>
-
- <screen> 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0
- 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1</screen>
-
- <para>Si ve algo diferente, como esto:</para>
-
- <screen> 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0</screen>
-
- <para>y el modem no ha aceptado una llamada todavía, esto
- significa que <command>getty</command> ha completado su apertura
- en el puerto de comunicaciones. Esto puede indicar un problema
- con el cableado o un modem mal configurado, debido a que
- <command>getty</command> no podría abrir el puerto de
- comunicaciones hasta que un <acronym>CD</acronym> (detección
- de señal) sea afirmado por el modem.</para>
-
- <para>si no ve ningún proceso <command>getty</command> esperando
- para abrir el puerto
- <filename>ttydN</filename> deseado,
- revise de nuevo sus entradas en <filename>/etc/ttys</filename> para
- ver si existe algún error ahí. También revise
- el fichero de log <filename>/var/log/messages</filename> para ver
- si existe algún mensaje de <command>init</command> o de
- <command>getty</command> relacionados a cualquier problema.
- Si existe cualquier mensaje, revise nuevamente los ficheros de
- configuración <filename>/etc/ttys</filename> y
- <filename>/etc/gettytab</filename>, así como los ficheros
- especiales de dispositivo <filename>/dev/ttydN</filename>, por
- cualquier error, entradas faltantes, o ficheros especiales de
- dispositivo faltantes.</para>
- </sect3>
-
- <sect3>
- <title>Trate de llamar</title>
-
- <para>Trate de llamar al sistema; asegúrese de usar 8 bits,
- sin paridad, y 1 bit de parada en el sistema remoto.
- Si no obtiene un prompt inmediatamente, o recibe basura, trate
- presionando <keycode>Enter</keycode> una vez por segundo.
- Si continua sin ver un prompt de <prompt>login:</prompt> despues
- de un tiempo, trate enviando un <command>BREAK</command>. Si
- está usando un modem de alta velocidad para realizar la
- marcación, trate marcando de nuevo despues de fijar la
- velociad de interfaz del modem (por medio de <command>AT&amp;B1</command>
- en un modem &usrobotics; &sportster;, por ejemplo).</para>
-
- <para>Si todavía no puede obtener un prompt de <prompt>login:</prompt>,
- revise <filename>/etc/gettytab</filename> de nuevo y revise nuevamente
- que</para>
-
- <itemizedlist>
- <listitem>
- <para>El nombre de capacidad inicial especificado en
- <filename>/etc/ttys</filename> para la línea coincida con
- un nombre de una capacidad en <filename>/etc/gettytab</filename></para>
- </listitem>
-
- <listitem>
- <para>Cada entrada <literal>nx=</literal> coincida con otro
- nombre de capacidad de <filename>gettytab</filename></para>
- </listitem>
-
- <listitem>
- <para>Cada entrada <literal>tc=</literal> coincida con otro
- nombre de capacidad de <filename>gettytab</filename></para>
- </listitem>
- </itemizedlist>
-
- <para>Si marca pero el modem en el sistema FreeBSD no contesta,
- asegúrese que el modem está configurado para
- contestar el teléfono cuando <acronym>DTR</acronym> sea
- detectado. Si el modem parece estar configurado correctamente,
- verifique que <acronym>DTR</acronym> sea detectado revisando
- las luces indicadoras del modem (si tiene alguna).</para>
-
- <para>Si ha revisado todo varias veces y todavía no funciona,
- tome un descanso y regrese a eso depues. Si todavía continua
- sin funcionar, tal vez puede mandar un correo electrónico a
- &a.questions; describiendo su modem y su problema, y las buenas
- personas en la lista tratarán de ayudarle.</para>
- </sect3>
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="dialout">
- <title>Servicio dial-out</title>
- <indexterm><primary>dial-out service</primary></indexterm>
-
- <para>Los siguientes son tips para que su equipo pueda conectarse a
- otra computadora mediante el modem. Esto es apropiado para
- establecer una sesión de terminal con un equipo remoto.</para>
-
- <para>Esto es útil para entrar a una BBS.</para>
-
- <para>Este tipo de conexión puede ser extremadamente útil
- para obtener un fichero del Internet si tiene problemas con PPP. Si
- necesita mandar por FTP algo y PPP no funciona, utilice la sesión
- de terminal para mandarlo por FTP. Entonces use zmodem para transferirlo
- a su máquina.</para>
-
- <sect2>
- <title>¿Mi modem Hayes no está soportado, que puedo hacer?</title>
-
- <para>En realidad, la página de manual para <command>tip</command> no está
- actualizada. Existe un marcador Hayes genérico incluido. Solo
- utilice <literal>at=hayes</literal> en su fichero
- <filename>/etc/remote</filename>.</para>
-
- <para>El controlador Hayes no es lo suficientemente inteligente
- para reconocer algunas de las funciones avanzadas de nuevos
- modems como <literal>BUSY</literal>, <literal>NO DIALTONE</literal>,
- o <literal>CONNECT 115200</literal> y solamente se confundirá.
- Debería apagar esos mensajes cuando utilice <command>tip</command>
- (usando <command>ATX0&amp;W</command>).</para>
-
- <para>También, la pausa de marcado para <command>tip</command> es
- de 60 segundos. Su modem debe utilizar un poco menos, o de otra manera
- tip pensará que existe un problema de comunicación.
- Trate con <command>ATS7=45&amp;W</command>.</para>
-
- <note>
- <para>Así como se envía, <command>tip</command> todavía
- no soporta modems Hayes completamente. La solución es
- editar el fichero <filename>tipconf.h</filename> en el
- directorio <filename>/usr/src/usr.bin/tip/tip</filename>.
- Obviamente necesita las fuentes de la distribución para
- hacer esto.</para>
-
- <para>Edite la línea <literal>#define HAYES 0</literal> a
- <literal>#define HAYES 1</literal>. Entonces haga un <command>make</command>
- y <command>make install</command>. Todo funciona bien despues
- de eso.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="direct-at">
- <title>¿Como se espera que yo entre estos comandos AT?</title>
-
- <indexterm>
- <primary><filename>/etc/remote</filename></primary>
- </indexterm>
- <para>Haga lo que se llama una entrada <quote>directa</quote> en
- su fichero <filename>/etc/remote</filename>. Por ejemplo, si su
- modem está conectado al primer puerto serie, <filename>/dev/cuaa0</filename>,
- entonces ponga la siguiente línea:</para>
-
- <programlisting>cuaa0:dv=/dev/cuaa0:br#19200:pa=none</programlisting>
-
- <para>Utilice la tasa más alta de bps que su modem soporte en la
- capacidad br. Entonces, escriba <command>tip cuaa0</command> y estará
- conectado a su modem.</para>
-
- <para>Si no existe un fichero <filename>/dev/cuaa0</filename> en su sistema,
- haga esto:</para>
-
- <screen>&prompt.root; <userinput>cd /dev</userinput>
-&prompt.root; <userinput>sh MAKEDEV cuaa0</userinput></screen>
-
- <para>O use <command>cu</command> como <systemitem class="username">root</systemitem> con el
- siguiente comando:</para>
-
- <screen>&prompt.root; <userinput>cu -lline -sspeed</userinput></screen>
-
- <para><replaceable>line</replaceable> es el puerto serie
- (ejem.<filename>/dev/cuaa0</filename>) y
- <replaceable>speed</replaceable> es la velocidad
- (ejem.<literal>57600</literal>). Cuando termine de meter los
- comandos AT presione <keycap>~.</keycap> para salir.</para>
- </sect2>
-
- <sect2>
- <title>¡El signo <literal>@</literal> para la capacidad pn no
- funciona!</title>
-
- <para>El signo <literal>@</literal> en la capacidad número de teléfono
- le dice a tip que busque en <filename>/etc/phones</filename> por un
- número de teléfono.
- Pero el signo <literal>@</literal> también es un caracter especial
- en ficheros de capacidad como <filename>/etc/remote</filename>. Escápelo
- con una diagonal invertida:</para>
-
- <programlisting>pn=\@</programlisting>
- </sect2>
-
- <sect2>
- <title>Como puede marcar un número de teléfono. en la línea de comando?</title>
-
- <para>Ponga lo que se llama una entrada <quote>generica</quote> en su
- fichero <filename>/etc/remote</filename>. Por ejemplo:</para>
-
- <programlisting>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:</programlisting>
-
- <para>Entonces puede hacer cosas como:</para>
-
- <screen>&prompt.root; <userinput>tip -115200 5551234</userinput></screen>
-
- <para>Si prefiere <command>cu</command> y no <command>tip</command>,
- use una entrada <literal>cu</literal>:</para>
-
- <programlisting>cu115200|Use cu to dial any number at 115200bps:\
- :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:</programlisting>
-
- <para>y escriba:</para>
-
- <screen>&prompt.root; <userinput>cu 5551234 -s 115200</userinput></screen>
- </sect2>
-
- <sect2>
- <title>¿Tengo que teclear la tasa de bps cada vez que haga eso?</title>
-
- <para>Ponga una entrada para <literal>tip1200</literal> o
- <literal>cu1200</literal>, pero utilice cualquier tasa bps que sea
- apropiada con la capacidad br. <command>tip</command> piensa que
- una buena opción por omisión es 1200&nbsp;bps es por
- eso que busca una entrada <literal>tip1200</literal>. Aunque no tiene
- que usar 1200&nbsp;bps.</para>
- </sect2>
-
- <sect2>
- <title>Acceso a un número de equipos a través de un servidor de terminales</title>
-
- <para>en lugar de esperar hasta que esté conectado y
- teclear <command>CONNECT &lt;host&gt;</command> cada vez, use
- la capacidad de tip <literal>cm</literal>. Por ejemplo, estas
- entradas en <filename>/etc/remote</filename>:</para>
-
- <programlisting>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/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:</programlisting>
-
- <para>Le permitirá teclear <command>tip pain</command> o
- <command>tip muffin</command> para conectar a los equipos pain
- o muffin, y <command>tip deep13</command> para accesar al servidor
- de terminales.</para>
- </sect2>
-
- <sect2>
- <title>¿Puede Tip tratar más de una línea para cada sitio?</title>
-
- <para>Eso es a menudo un problema donde una universidad tiene varias líneas
- de modems y varios miles de estudiantes tratando de usarlas.</para>
-
- <para>Haga una entrada para su universidad en
- <filename>/etc/remote</filename> y use <literal>@</literal> para
- la capacidad <literal>pn</literal> :</para>
-
- <programlisting>big-university:\
- :pn=\@:tc=dialout
-dialout:\
- :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:</programlisting>
-
- <para>Entonces liste los números de teléfonos para la universidad en
- <filename>/etc/phones</filename>:</para>
-
- <programlisting>big-university 5551111
-big-university 5551112
-big-university 5551113
-big-university 5551114</programlisting>
-
- <para><command>tip</command> tratará cada uno en el orden listado,
- entonces se rendirá. Si quiere seguir tratando, ejecute <command>tip</command>
- en un ciclo while.</para>
- </sect2>
-
- <sect2>
- <title>¿Porqué tengo que presionar
- <keycombo action="simul">
- <keycap>Ctrl</keycap>
- <keycap>P</keycap>
- </keycombo>
- dos veces para mandar un
- <keycombo action="simul">
- <keycap>Ctrl</keycap>
- <keycap>P</keycap>
- </keycombo>
- ?</title>
-
- <para><keycombo action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo> es el caracter de <quote>forzado</quote> por omisión, usado para
- decirle a <command>tip</command> que el siguiente caracter es un dato literal.
- Puede establecer el caracter de forzado a cualquier otro
- caracter con el escape <command>~s</command>, el cual significa
- <quote>establecer una variable.</quote></para>
-
- <para>Escriba
- <command>~sforce=single-char</command>
- seguido por una nueva línea. <replaceable>single-char</replaceable>
- es cualquier caracter. Si no especifica
- <replaceable>single-char</replaceable>, entonces el caracter de
- forzado es el caracter nulo, el cual puede
- obtener tecleando
- <keycombo action="simul">
- <keycap>Ctrl</keycap><keycap>2</keycap>
- </keycombo>
- o
- <keycombo action="simul">
- <keycap>Ctrl</keycap><keycap>Espacio</keycap>
- </keycombo>.
- Un buén valor para <replaceable>single-char</replaceable> es
- <keycombo action="simul">
- <keycap>Shift</keycap>
- <keycap>Ctrl</keycap>
- <keycap>6</keycap>
- </keycombo>, es cual solamente es usado
- en algunos servidores de terminales.</para>
-
- <para>Puede hacer que el caracter de forzado sea cualquiera
- que usted quiera especificando lo siguiente en su fichero
- <filename>&dollar;HOME/.tiprc</filename>:</para>
-
- <programlisting>force=&lt;single-char&gt;</programlisting>
- </sect2>
-
- <sect2>
- <title>¿¿De repente todo lo que escribo está en mayúsculas??</title>
-
- <para>Debe haber presionado
- <keycombo action="simul">
- <keycap>Ctrl</keycap>
- <keycap>A</keycap>
- </keycombo>, el<quote>caracter de mayúsculas</quote>
- de <command>tip</command>
- especialmente diseñado para personas
- con teclas caps-lock dañadas. Use <command>~s</command> como se ve
- arriba y establezca la variable <literal>raisechar</literal> a
- algo razonable. De hecho, puede establecerla a la misma del
- caracter de forzado, si nunca espera utilizar ninguna de estas
- funciones.</para>
-
- <para>Aquí hay un ejemplo de fichero
- .tiprc perfecto para usuarios de
- <application>Emacs</application> que necesitan teclear
- <keycombo action="simul">
- <keycap>Ctrl</keycap><keycap>2</keycap>
- </keycombo>
- y
- <keycombo action="simul">
- <keycap>Ctrl</keycap><keycap>A</keycap>
- </keycombo>
- con frecuencia:</para>
-
- <programlisting>force=^^
-raisechar=^^</programlisting>
-
- <para>El ^^ es
- <keycombo action="simul">
- <keycap>Shift</keycap><keycap>Ctrl</keycap><keycap>6</keycap>
- </keycombo>.</para>
-
- </sect2>
-
- <sect2>
- <title>¿Como puedo realizar transferencias de ficheros con <command>tip</command>?</title>
-
- <para>Si esta hablando con otro sistema &unix;, puede mandar y recibir
- ficheros con <command>~p</command> (put) y
- <command>~t</command> (take). Estos comandos ejecutan
- <command>cat</command> y <command>echo</command> en el sistema
- remoto para aceptar y envíar ficheros. La sintaxis
- es:</para>
-
- <cmdsynopsis>
- <command>~p</command>
- <arg choice="plain">fichero-local</arg>
- <arg choice="opt">fichero-remoto</arg>
- </cmdsynopsis>
-
- <cmdsynopsis>
- <command>~t</command>
- <arg choice="plain">fichero-remoto</arg>
- <arg choice="opt">fichero-local</arg>
- </cmdsynopsis>
-
- <para>No existe revisión de errores, así que probablemente
- debería usar otro protocolo, como zmodem.</para>
- </sect2>
-
- <sect2>
- <title>¿Como puedo ejecutar zmodem con <command>tip</command>?</title>
-
- <para>Para recibir ficheros, inicie el programa de envío en
- el extremo remoto. Entonces escriba <command>~C rz</command> para
- empezar a recibirlos localmente.</para>
-
- <para>Para enviar ficheros, inicie el programa de recepción
- el extremo remoto. Entonces escriba
- <command>~C sz files</command>
- para enviarlos
- al sistema remoto.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="serialconsole-setup">
- <info><title>Configurando la consola serie</title>
- <authorgroup>
- <author><personname><firstname>Kazutaka</firstname><surname>YOKOTA</surname></personname><contrib>Contribuido por </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Bill</firstname><surname>Paul</surname></personname><contrib>Basado en un documento de </contrib></author>
- </authorgroup>
- </info>
-
- <indexterm><primary>serial console</primary></indexterm>
-
- <sect2 xml:id="serialconsole-intro">
- <title>Introducción</title>
-
- <para>FreeBSD tiene la habilidad de arrancar en un sistema
- con solo una terminal tonta como consola. Tal configuración
- podría ser útil para dos clases de gente:
- administradores de sistema que quieran instalar FreeBSD en máquinas
- que no tienen teclado o monitor conectado, y desarrolladores
- que quieran corregir errores en el kernel o controladores
- de dispositivos.</para>
-
- <para>Como se describe en <xref linkend="boot"/>, FreeBSD emplea un
- sistema de arranque de tres estados. Los primeros dos estados se
- encuentran en el código del bloque de arranque el cual es
- almacenado al principio del slice en el disco de arranque. El
- bloque de arranque entonces cargará y ejecutará el
- cargador de arranque (<filename>/boot/loader</filename>) como
- la tercera etapa de código.</para>
-
- <para>Para poder configurar la consola serie debe configurar el
- código del bloque de arranque, el código del cargador
- de arranque y el kernel.</para>
-
- </sect2>
-
- <sect2 xml:id="serialconsole-howto-fast">
- <title>Configuracióm de consola serie, versión breve</title>
-
- <para>Esta sección asume que está usando la
- configuración por omisión y solo quiere una
- rápida revisión de la configuración de
- la consola serie.</para>
-
- <procedure>
-
- <step>
- <para>Conecte el cable serie a COM1 y la terminal controladora.</para>
- </step>
-
- <step>
- <para>Para ver todos los mensajes de arranque en la consola
- serie escriba el siguiente comando mientras está
- firmado como superusuario:</para>
- <screen>&prompt.root; echo 'console="comconsole"' &gt;&gt; /boot/loader.conf</screen>
- </step>
-
- <step>
- <para>Edite <filename>/etc/ttys</filename> y cambie
- <literal>dialup</literal> a <literal>vt100</literal> para la entrada
- <literal>ttyd0</literal>. De otra manera una
- contraseña no será requerida para conectar por medio
- de la consola serie, resultando en un agujero de seguridad
- potencial.</para>
- </step>
-
- <step>
- <para>Reinicie el sistema para ver si los cambios tuvieron efecto.</para>
- </step>
-
- </procedure>
-
- <para>Si una configuración diferente es requerida, una
- explicación mas detallada existe en
- <xref linkend="serialconsole-howto"/>.</para>
- </sect2>
-
- <sect2 xml:id="serialconsole-howto">
- <title>Configuración de la consola serie</title>
-
- <procedure>
- <step>
- <para>Prepare un cable serie.</para>
-
- <indexterm><primary>null-modem cable</primary></indexterm>
- <para>Necesitará ya sea un cable null-modem o un cable
- serie estándar y un adaptador null-modem. Vea
- <xref linkend="serial-cables-ports"/> para una discusión
- sobre cables serie.</para>
- </step>
-
- <step>
- <para>Desconecte su teclado.</para>
-
- <para>La mayoría de sistemas PC buscan el teclado durante
- la autoprueba de encendido (POST) y generarán un error
- si el teclado no es detectado. Algunas máquinas se quejan
- fuerte sobre la falta de un teclado y no continuarán
- arrancando hasta que este contectado.</para>
-
- <para>Si su computadora se queja con este error, pero arranca de
- todos modos, entonces no tiene que hacer nada especial. (Algunas
- máquinas con BIOS Phoenix instalado solo mostrarán
- <errorname>Keyboard failed</errorname> y continuarán
- arrancando normalmente.)</para>
-
- <para>Si su computadora se niega a arrancar sin un teclado
- conectado, entonces tendrá que configurar el BIOS para
- que ignore este error (si es posible). Consulte el manual de su
- tarjeta madre para los detalles de como hacer esto.</para>
-
- <tip>
- <para>Poniendo el teclado como <quote>No instalado</quote> en el
- BIOS <emphasis>no</emphasis> significa que no podá usar
- su teclado. Todo lo que hace es decirle al BIOS que no busque
- un teclado al momento de encender, asi no se quejará si
- el teclado no se encuentra conectado. Puede dejar el teclado
- conectado incluso si esta bandera está puesta a
- <quote>No instalado</quote> y el teclado todaía funcionará.</para>
- </tip>
-
- <note>
- <para>Si su sistema tiene un ratón &ps2; es muy probable que
- también tenga que desconectar su ratón junto con
- el teclado. Esto se debe a que los ratones &ps2; comparten
- algún hardware con el teclado y dejandolo conectado puede
- ocasionar que el sistema piense que el teclado sigue conectado.
- Se dice que un sistema Gateway 2000 Pentium 90&nbsp;MHz con un
- AMI BIOS se comporta de esta manera. En general, esto no
- representa un problema puesto que el ratón no es muy
- útil sin el teclado de todas maneras.</para>
- </note>
- </step>
-
- <step>
- <para>Conecte una terminal tonta a <filename>COM1</filename>
- (<filename>sio0</filename>).</para>
-
- <para>Si no tiene una terminal tonta, puede utilizar una PC/XT
- vieja con un programa de modem, o el puerto serie en otro
- equipo &unix;. Si no tiene un <filename>COM1</filename>
- (<filename>sio0</filename>), consiga uno. En este momento,
- no existe manera de seleccionar un puerto diferente a <filename>COM1</filename>
- para los bloques de arranque sin recompilar los bloques de
- arranque. Si ya está utilizando <filename>COM1</filename> para
- otro dispositivo, necesitará remover temporalmente ese
- dispositivo e instalar un nuevo bloque de arranque y kernel una
- vez que tenga a FreeBSD arriba y funcionando. (Se asume que
- <filename>COM1</filename> estará disponible en un
- fichero/computadora/servidor de terminales de todas maneras;
- si realmente necesita <filename>COM1</filename> para algo
- más (y no puede cambiar ese algo a
- <filename>COM2</filename> (<filename>sio1</filename>)),
- entonces probablemente no debería de molestarse con todo
- esto en primer lugar.)</para>
- </step>
-
- <step>
- <para>Asegúrese de que el fichero de configuración de
- su kernel tenga las banderas apropiadas activadas para
- <filename>COM1</filename> (<filename>sio0</filename>).</para>
-
- <para>Las banderas relevantes son:</para>
-
- <variablelist>
- <varlistentry>
- <term><literal>0x10</literal></term>
-
- <listitem>
- <para>Habilita el soporte de consola para esta unidad.
- Las otras banderas de consola son ignoradas a menos que
- ésta está activada. Actualmente, al menos
- una unidad puede tener soporte de consola; la primera (en
- orden de configuración) con esta bandera activada
- es preferida. Esta opción por si sola no hará
- del puerto serie una consola. Active la siguiente bandera
- o utilice la opción <option>-h</option> descrita
- abajo, junto con esta bandera.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>0x20</literal></term>
-
- <listitem>
- <para>Obliga a esta unidad a ser la consola (a menos que
- exista otra consola de mayor prioridad), sin importar
- la opción <option>-h</option> discutida abajo. Esta
- bandera reemplaza la opción <literal>COMCONSOLE</literal>
- en las versiones 2.<replaceable>X</replaceable> de FreeBSD.
- La bandera <literal>0x20</literal> debe ser utilizada junto
- con la bandera <option>0x10</option>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>0x40</literal></term>
-
- <listitem>
- <para>Reserva esta unidad (en conjunto con
- <literal>0x10</literal>) y hace esta unidad
- no disponible para acceso normal. No debería
- activar esta bandera en la unidad de puerto serie
- la cual desee utilizar como la consola serie.
- El único uso de esta bandera es designar
- la unidad para corección de errore remota
- del kernel. Revise <quote>El manual del
- desarrollador</quote> para mayor información sobre
- corrección de errores remotamente.</para>
-
- <note>
- <para>En FreeBSD&nbsp;4.0 o posterior la semántica de
- la bandera <literal>0x40</literal> es ligeramente
- diferente y existe otra bandera para especificar un puerto
- serie para corrección de errores remotamente.
- </para>
- </note>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Ejemplo:</para>
-
- <programlisting>device sio0 at isa? port IO_COM1 flags 0x10 irq 4</programlisting>
-
- <para>Vea la página de manual &man.sio.4; para más
- detalles.</para>
-
- <para>Si las banderas no fueron activadas, necesita correr
- UserConfig (en una consola diferente) o recompilar el
- kernel.</para>
- </step>
-
- <step>
- <para>Cree <filename>boot.config</filename> en el directorio
- raíz de la partición <literal>a</literal> del
- disco de arranque.</para>
-
- <para>Este fichero instruirá al código del bloque de
- arranque como le gustaría arrancar el sistema. Para activar
- la consola serie, necesita una o más de las
- siguientes opciones&mdash; si quiere opciones múltiples
- inclúyalas todas en la misma línea:</para>
-
- <variablelist>
- <varlistentry>
- <term><option>-h</option></term>
-
- <listitem>
- <para>Cambia entre consola interna y serie. Puede usar
- esto para cambiar los dispositivos de consola. Por
- ejemplo, si arranca desde la consola interna
- (video), puede utilizar <option>-h</option> para dirigir el
- cargador de arranque y el kernel a que usen el puerto serie
- como su dispositivo de consola. Alternativamente, si
- arranca desde el puerto serie, puede utilizar
- <option>-h</option> para decirle al cargador de arranque y
- al kernel que usen el video como consola.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-D</option></term>
-
- <listitem>
- <para>Cambia entre configuración de consola
- simple y dual. En la configuración simple la
- consola será ya sea la consola interna
- (video) o el puerto serie, dependiendo del estado de la
- opción <option>-h</option> de arriba. En la
- configuración de consola dual, el video y el
- puerto serie se convertirán en la consola al
- mismo tiempo, sin importar del estado de la opción
- <option>-h</option>. De todas maneras, note que la
- configuración de consola dual toma efecto
- solamente mientras el bloque de arranca está
- corriendo. Una vez que el cargador de arranque toma el
- control, la consola especificada por la
- opción <option>-h</option> se convierte en la
- única consola.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-P</option></term>
-
- <listitem>
- <para>Hace que el bloque de arranque busque el teclado.
- Si no se encuentra un teclado, la opción
- <option>-D</option> y <option>-h</option> son activadas
- automátivamente.</para>
-
- <note>
- <para>Debido a problemas de espacio en la versión
- actual del bloque de arranque, la opción
- <option>-P</option> es capaz de detectar unicamente
- teclados extendidos. Teclados con menos de 101 teclas
- (y carentes de teclas F11 y F12) no pueden ser
- detectados. Algunos teclados en laptops puede que no
- sean correctamente encontrados debido a esta
- limitación. Si este es el caso con su sistema, debe
- abandonar el uso de la opción <option>-P</option>.
- Desafortunádamente no hay una solución para
- este problema.</para>
- </note>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Utilice ya sea la opción <option>-P</option> para
- seleccionar la consola automáticamente, o la opción
- <option>-h</option> para activar la consola serie.</para>
-
- <para>Puede incluir otras opciones descritas en &man.boot.8;
- también.</para>
-
- <para>Las opciones, excepto por <option>-P</option>, serán
- pasadas al cargador de arranque (<filename>/boot/loader</filename>).
- El cargador de arranque determinará si el video interno
- o el puerto serie debería convertirse en la consola
- examinando el estado de la opción <option>-h</option>
- solamente. Esto significa que si especifica la opción
- <option>-D</option> pero no la opción <option>-h</option>
- en <filename>/boot.config</filename>, puede utilizar el puerto
- serie como consola solamente durante el bloque de arranque;
- el cargador de arranque usará el video interno como
- consola.</para>
- </step>
-
- <step>
- <para>Arranque la máquina.</para>
-
- <para>Cuando inicia su equipo FreeBSD, los bloques de arranque
- mostrarán los contenidos de <filename>/boot.config</filename> a
- la consola. Por ejemplo:</para>
-
- <screen>/boot.config: -P
-Keyboard: no</screen>
-
- <para>La segunda línea aparece solamente si pone <option>-P</option>
- en <filename>/boot.config</filename> e indica la presencia/ausencia
- del teclado. Estos mensajes van a la consola serie o a la interna,
- o a ambas, dependiendo de la opción en
- <filename>/boot.config</filename>.</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Opciones</entry>
- <entry>Mensaje va a</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>ninguna</entry>
- <entry>consola interna</entry>
- </row>
-
- <row>
- <entry><option>-h</option></entry>
- <entry>consola serie</entry>
- </row>
-
- <row>
- <entry><option>-D</option></entry>
- <entry>consola serie e interna</entry>
- </row>
-
- <row>
- <entry><option>-Dh</option></entry>
- <entry>consola serie e interna</entry>
- </row>
-
- <row>
- <entry><option>-P</option>, teclado presente</entry>
- <entry>consola interna</entry>
- </row>
-
- <row>
- <entry><option>-P</option>, teclado ausente</entry>
- <entry>consola serie</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Despues de los mensajes de arriba, existirá una pausa
- pequeña antes que los bloques de arranque continuen cargando el
- cargador de arranque y antes de que cualquier mensaje posterior
- sea impreso en la consola. Bajo ciertas circunstancias, no necesita
- interrumpir los bloques de arranque, pero tal vez quiera hacerlo
- para asegurarse que las cosas están configuradas
- corréctamente.</para>
-
- <para>Presione cualquier tecla, diferente a <keycode>Enter</keycode>,
- en la consola para interrumpir el proceso de arranque. Los bloques
- de arranque entonces esperarán una entrada para determinar
- como continuar. Debe ver algo como esto:</para>
-
- <screen>&gt;&gt; FreeBSD/i386 BOOT
-Default: 0:ad(0,a)/boot/loader
-boot:</screen>
-
- <para>Verifique que el mensaje de arriba aparece en la consola
- serie o en la interna o en ambas, de acuerdo a las opciones
- que puso en <filename>/boot.config</filename>. Si el mensaje
- aparece en la consola correcta, presione <keycode>Enter</keycode>
- para continuar el proceso de arranque.</para>
-
- <para>Si quiere usar la consola serie pero no ve el prompt en la
- terminal serie, algo está mal con su configuración.
- Mientras tanto, entre <option>-h</option> y presione Enter/Return
- (si es posible) para decirle al bloque de arranque (y entonces al
- cargador de arranque y al kernel) que elija el puerto serie como
- consola. Una vez que el sistema arranque, regrese y revise que fué
- lo que estuvo mal.</para>
- </step>
- </procedure>
-
- <para>Despues que el cargador de arranque ha cargado y usted se encuentra
- en la tercera etapa del proceso de arranque todavía puede cambiar
- entre la consola interna y la consola serie activando las variables de
- entorno apropiadas en el cargador de arranque.
- Vea <xref linkend="serialconsole-loader"/>.</para>
- </sect2>
-
- <sect2 xml:id="serialconsole-summary">
- <title>Resumen</title>
-
- <para>aquí está el resumen de varias configuraciones
- discutidas en esta sección y la consola seleccionada
- eventualmente.</para>
-
- <sect3>
- <title>Caso 1: Activó las banderas a 0x10 para
- <filename>sio0</filename></title>
-
- <programlisting>device sio0 at isa? port IO_COM1 flags 0x10 irq 4</programlisting>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Opciones en /boot.config</entry>
- <entry>Consola durante bloques de arranque</entry>
- <entry>Consola durante cargador de arranque</entry>
- <entry>Consola en kernel</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>ninguna</entry>
- <entry>interna</entry>
- <entry>interna</entry>
- <entry>interna</entry>
- </row>
-
- <row>
- <entry><option>-h</option></entry>
- <entry>serie</entry>
- <entry>serie</entry>
- <entry>serie</entry>
- </row>
-
- <row>
- <entry><option>-D</option></entry>
- <entry>serie e interna</entry>
- <entry>interna</entry>
- <entry>interna</entry>
- </row>
-
- <row>
- <entry><option>-Dh</option></entry>
- <entry>serie e interna</entry>
- <entry>serie</entry>
- <entry>serie</entry>
- </row>
-
- <row>
- <entry><option>-P</option>, teclado presente</entry>
- <entry>interna</entry>
- <entry>interna</entry>
- <entry>interna</entry>
- </row>
-
- <row>
- <entry><option>-P</option>, teclado ausente</entry>
- <entry>serie e interna</entry>
- <entry>serie</entry>
- <entry>serie</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect3>
-
- <sect3>
- <title>Caso 2: Activó las banderas a 0x30 para sio0</title>
-
- <programlisting>device sio0 at isa? port IO_COM1 flags 0x30 irq 4</programlisting>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Opciones en /boot.config</entry>
- <entry>Consola durante bloques de arranque</entry>
- <entry>Consola durante cargador de arranque</entry>
- <entry>Consola en kernel</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>ninguna</entry>
- <entry>interna</entry>
- <entry>interna</entry>
- <entry>serie</entry>
- </row>
-
- <row>
- <entry><option>-h</option></entry>
- <entry>serie</entry>
- <entry>serie</entry>
- <entry>serie</entry>
- </row>
-
- <row>
- <entry><option>-D</option></entry>
- <entry>serie e interna</entry>
- <entry>interna</entry>
- <entry>serie</entry>
- </row>
-
- <row>
- <entry><option>-Dh</option></entry>
- <entry>serie e interna</entry>
- <entry>serie</entry>
- <entry>serie</entry>
- </row>
-
- <row>
- <entry><option>-P</option>, teclado presente</entry>
- <entry>interna</entry>
- <entry>interna</entry>
- <entry>serie</entry>
- </row>
-
- <row>
- <entry><option>-P</option>, teclado ausente</entry>
- <entry>serie e interna</entry>
- <entry>serie</entry>
- <entry>serie</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect3>
- </sect2>
-
- <sect2 xml:id="serialconsole-tips">
- <title>Consejos para la consola serie</title>
-
- <sect3>
- <title>Configurando un velocidad de puerto serie más rápida</title>
-
- <para>Por omisión, la configuración del puerto
- serie es: 9600 baud, 8 bits, sin paridad, y 1 bit de parada.
- Si desea cambiar la velocidad, necesita recompilar al menos los
- bloques de arranque. Agregue la siguiente línea a
- <filename>/etc/make.conf</filename> y compile nuevos
- bloques de arranque:</para>
-
- <programlisting>BOOT_COMCONSOLE_SPEED=19200</programlisting>
-
- <para>Vea <xref linkend="serialconsole-com2"/> para instrucciones
- detalladas sonre construir e instalar nuevos bloques de
- arranque.</para>
-
- <para>Si la consola serie está configurada de alguna otra
- manera que arrancando con <option>-h</option>, o si la consola
- serie usada por el kernel es diferente de la usada por los
- bloques de arranque, entonces también debe agregar la
- siguiente opción al fichero de configuración del kernel
- y compilar un nuevo kernel:</para>
-
- <programlisting>options CONSPEED=19200</programlisting>
- </sect3>
-
- <sect3 xml:id="serialconsole-com2">
- <title>Usando puertos serie para consola diferentes a <filename>sio0</filename></title>
-
- <para>Utilizar un puerto serie diferente a <filename>sio0</filename>
- como consola requiere cierta recompilación. Si quiere usar
- otro puerto serie por la razón que sea, recompile los
- bloques de arranque, el cargador de arranque y el kernel como
- sigue.</para>
-
- <procedure>
- <step>
- <para>Consiga las fuentes del kernel. (Vea <xref linkend="cutting-edge"/>)</para>
- </step>
-
- <step>
- <para>Edite <filename>/etc/make.conf</filename> y ponga
- <literal>BOOT_COMCONSOLE_PORT</literal> a la dirección
- del puerto que quiera usar (0x3F8, 0x2F8, 0x3E8 o 0x2E8).
- Solamente de <filename>sio0</filename> hasta
- <filename>sio3</filename> (<filename>COM1</filename>
- hasta <filename>COM4</filename>) pueden usarse; tarjetas
- multipuertos serie no funcionarán.
- No se necesita especificar interrupción.</para>
- </step>
-
- <step>
- <para>Cree un fichero personalizado de configuración de kernel
- y agrege las banderas apropiadas para el puerto serie que
- desee utilizar. Por ejemplo, si desea hacer de <filename>sio1</filename>
- (<filename>COM2</filename>) la consola:</para>
-
- <programlisting>device sio1 at isa? port IO_COM2 flags 0x10 irq 3</programlisting>
-
- <para>o</para>
-
- <programlisting>device sio1 at isa? port IO_COM2 flags 0x30 irq 3</programlisting>
-
- <para>Las banderas de consola para otros puertos serie no deben
- activarse.</para>
- </step>
-
- <step>
- <para>Recompile e instale los bloques de arranque y el cargador de arranque:</para>
-
- <screen>&prompt.root; <userinput>cd /sys/boot</userinput>
-&prompt.root; <userinput>make clean</userinput>
-&prompt.root; <userinput>make</userinput>
-&prompt.root; <userinput>make install</userinput></screen>
- </step>
-
- <step>
- <para>Reconstruya e instale el kernel.</para>
- </step>
-
- <step>
- <para>Escriba los bloques de arranque al disco de
- arranque con &man.disklabel.8; y arranque desde
- el nuevo kernel.</para>
- </step>
- </procedure>
- </sect3>
-
- <sect3 xml:id="serialconsole-ddb">
- <title>Accesando DDB Debugger desde la línea serie</title>
-
- <para>Si desea entrar al modo kernel debugger desde una consola
- serie (útil para diagnósticos remotos, !pero
- también peligroso si genera un BREAK ilegítimo
- en el puerto serie!) entonces debe compilar con las siguientes
- opciones:</para>
-
- <programlisting>options BREAK_TO_DEBUGGER
-options DDB</programlisting>
- </sect3>
-
- <sect3>
- <title>Obteniendo un prompt de login en la consola serie</title>
-
- <para>Aunque esto no es requerido, tal vez quiera obtener
- un prompt de <emphasis>login</emphasis> a través de
- una línea serie, ahora que puede ver los mensajes
- de arranque y puede entrar a una sesión en modo
- kernel debug a través de la consola serie. Aquí
- está como hacerlo.</para>
-
- <para>Abra el fichero <filename>/etc/ttys</filename> con un editor
- y localice las líneas:</para>
-
- <programlisting>ttyd0 "/usr/libexec/getty std.9600" unknown off secure
-ttyd1 "/usr/libexec/getty std.9600" unknown off secure
-ttyd2 "/usr/libexec/getty std.9600" unknown off secure
-ttyd3 "/usr/libexec/getty std.9600" unknown off secure</programlisting>
-
- <para><literal>ttyd0</literal> hasta <literal>ttyd3</literal>
- corresponde a <filename>COM1</filename> hasta
- <filename>COM4</filename>. Cambie <literal>off</literal> a
- <literal>on</literal> para el puerto deseado. Si ha cambiado la
- velocidad del puerto serie, necesita cambiar
- <literal>std.9600</literal> para que concuerde con los
- parámetros actuales, ej.
- <literal>std.19200</literal>.</para>
-
- <para>Tal vez tambien desee cambiar el tipo de terminal
- de <literal>unknown</literal> al tipo actual de su
- terminal serie.</para>
-
- <para>Despues de editar el fichero, debe hacer un <command>kill -HUP 1</command>
- para que este cambio surta efecto.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="serialconsole-loader">
- <title>Cambiando la consola desde el cargador de arranque</title>
-
- <para>Secciones anteriores describieron como instalar la consola
- serie manipulando el bloque de arranque. Esta sección muestra
- que puede especificar la consola especificando algunos
- comandos y variables de entorno en el cargador de arranque. Como el
- cargador de arranque es invocado en la tercera etapa del proceso de
- arranque, despues del bloque de arranque, las propiedades en el
- cargador de arranque sobreescribirán las del bloque de
- arranque.</para>
-
- <sect3>
- <title>Instalando la consola serie</title>
-
- <para>Puede facilmente especificarle al cargador de arranque y al kernel
- que utilicen la consola serie escribiendo solamente una línea
- en <filename>/boot/loader.rc</filename>:</para>
-
- <programlisting>set console="comconsole"</programlisting>
-
- <para>Esto tendrá efecto sin importar las opciones del
- bloque de arranque discutidas en la sección previa.</para>
-
- <para>Es mejor que ponga la línea de arriba como la primera
- línea en <filename>/boot/loader.rc</filename> para ver
- los mensajes de arranque en la consola serie tan pronto
- como sea posible.</para>
-
- <para>De igual manera, puede especificar la consola interna como:</para>
-
- <programlisting>set console="vidconsole"</programlisting>
-
- <para>Si no activa la variable de entorno <envar>console</envar>,
- el cargador de arranque, y por consecuencia el kernel,
- utilizarán cualquier consola que esté indicada
- por la opción <option>-h</option> en el bloque de
- arranque.</para>
-
- <para>En versiones 3.2 o posteriores, puede especificar la consola
- en <filename>/boot/loader.conf.local</filename> o
- <filename>/boot/loader.conf</filename>, en lugar de
- <filename>/boot/loader.rc</filename>. En este método su
- <filename>/boot/loader.rc</filename> debe verse como:</para>
-
- <programlisting>include /boot/loader.4th
-start</programlisting>
-
- <para>Entonces, puede crear <filename>/boot/loader.conf.local</filename> y
- ponerle la siguiente línea.</para>
-
- <programlisting>console=comconsole</programlisting>
-
- <para>o</para>
-
- <programlisting>console=vidconsole</programlisting>
-
- <para>Vea &man.loader.conf.5; para mayor información.</para>
-
- <note>
- <para>Hasta el momento, el cargador de arranque no tiene una opción
- equivalente a la opción <option>-P</option> del bloque
- de arranque, y no existe una manera de seleccionar automáticamente
- la consola interna y la consola serie basandose en la presencia
- del teclado.</para>
- </note>
- </sect3>
-
- <sect3>
- <title>Utilizando un puerto serie para la consola diferente a <filename>sio0</filename></title>
-
- <para>Necesita recompilar el cargador de arranque para usar un puerto
- serie diferente a <filename>sio0</filename> para la consola
- serie. Siga el procedimiento descrito en <xref linkend="serialconsole-com2"/>.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="serialconsole-caveats">
- <title>Advertencias</title>
-
- <para>La idea aquí es permitir a las personas configurar servidores
- dedicados que no requieran hardware de gráficos o teclados
- conectados. Desafortunádamente, mientras la mayoría de
- los sistemas le permitirán arrancar sin un teclado, existen
- bastantes que no le permitirán arrancar sin un adaptador de
- gráficos. Máquinas con BIOS AMI pueden configurarse para
- arrancar sin adaptadores de gráficos instalados cambiando
- simplemente la opción <quote>graphics adapter</quote> en la
- configuración del CMOS a <quote>Not installed.</quote></para>
-
- <para>De cualquier manera, muchas máquinas no soportan esta opción
- y se negarán a arrancar si no tiene algún hardware de
- gráficos instalado en el sistema. Con estas máquinas,
- debe dejar algún tipo de tarjeta gráfica instalada,
- (incluso si solamente es una tarjeta mono barata) aunque no tendrá
- que conectarle un monitor. También puede tratar instalando un
- BIOS AMI.</para>
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/txtfiles.ent b/es_ES.ISO8859-1/books/handbook/txtfiles.ent
deleted file mode 100644
index 29553db16a..0000000000
--- a/es_ES.ISO8859-1/books/handbook/txtfiles.ent
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
-
-
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/txtfiles.ent
- %SRCID% 1.2
-
- Crea entidades para cada captura de pantalla .txt que se incluye en
- el Handbook.
-
- Cada entidad recibe un nombre txt.dir.foo, donde dir es el
- directorio en el que se almacena y foo es su nombre propio de fichero
- sin la extensión '.txt'.
-
- Las entidades deberían listarse en orden alfabético.
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/txtfiles.ent,v 1.2 2004/10/08 19:07:46 jesusr Exp $
- Creado a partir del fichero homónimo versión 1.2
--->
-
-<!ENTITY txt.install.adduser1 SYSTEM "install/adduser1.txt">
-<!ENTITY txt.install.adduser2 SYSTEM "install/adduser2.txt">
-<!ENTITY txt.install.adduser3 SYSTEM "install/adduser3.txt">
-<!ENTITY txt.install.boot-mgr SYSTEM "install/boot-mgr.txt">
-<!ENTITY txt.install.console-saver1 SYSTEM "install/console-saver1.txt">
-<!ENTITY txt.install.console-saver2 SYSTEM "install/console-saver2.txt">
-<!ENTITY txt.install.console-saver3 SYSTEM "install/console-saver3.txt">
-<!ENTITY txt.install.console-saver4 SYSTEM "install/console-saver4.txt">
-<!ENTITY txt.install.desktop SYSTEM "install/desktop.txt">
-<!ENTITY txt.install.disklabel-auto SYSTEM "install/disklabel-auto.txt">
-<!ENTITY txt.install.disklabel-ed1 SYSTEM "install/disklabel-ed1.txt">
-<!ENTITY txt.install.disklabel-ed2 SYSTEM "install/disklabel-ed2.txt">
-<!ENTITY txt.install.disklabel-fs SYSTEM "install/disklabel-fs.txt">
-<!ENTITY txt.install.disklabel-root1 SYSTEM "install/disklabel-root1.txt">
-<!ENTITY txt.install.disklabel-root2 SYSTEM "install/disklabel-root2.txt">
-<!ENTITY txt.install.disklabel-root3 SYSTEM "install/disklabel-root3.txt">
-<!ENTITY txt.install.dist-set SYSTEM "install/dist-set.txt">
-<!ENTITY txt.install.dist-set2 SYSTEM "install/dist-set2.txt">
-<!ENTITY txt.install.docmenu1 SYSTEM "install/docmenu1.txt">
-<!ENTITY txt.install.ed0-conf SYSTEM "install/ed0-conf.txt">
-<!ENTITY txt.install.ed0-conf2 SYSTEM "install/ed0-conf2.txt">
-<!ENTITY txt.install.edit-inetd-conf SYSTEM "install/edit-inetd-conf.txt">
-<!ENTITY txt.install.fdisk-drive1 SYSTEM "install/fdisk-drive1.txt">
-<!ENTITY txt.install.fdisk-drive2 SYSTEM "install/fdisk-drive2.txt">
-<!ENTITY txt.install.fdisk-edit1 SYSTEM "install/fdisk-edit1.txt">
-<!ENTITY txt.install.fdisk-edit2 SYSTEM "install/fdisk-edit2.txt">
-<!ENTITY txt.install.ftp-anon1 SYSTEM "install/ftp-anon1.txt">
-<!ENTITY txt.install.ftp-anon2 SYSTEM "install/ftp-anon2.txt">
-<!ENTITY txt.install.hdwrconf SYSTEM "install/hdwrconf.txt">
-<!ENTITY txt.install.keymap SYSTEM "install/keymap.txt">
-<!ENTITY txt.install.main-doc SYSTEM "install/main-doc.txt">
-<!ENTITY txt.install.main-keymap SYSTEM "install/main-keymap.txt">
-<!ENTITY txt.install.main-options SYSTEM "install/main-options.txt">
-<!ENTITY txt.install.main-std SYSTEM "install/main-std.txt">
-<!ENTITY txt.install.main1 SYSTEM "install/main1.txt">
-<!ENTITY txt.install.mainexit SYSTEM "install/mainexit.txt">
-<!ENTITY txt.install.media SYSTEM "install/media.txt">
-<!ENTITY txt.install.mouse1 SYSTEM "install/mouse1.txt">
-<!ENTITY txt.install.mouse2 SYSTEM "install/mouse2.txt">
-<!ENTITY txt.install.mouse3 SYSTEM "install/mouse3.txt">
-<!ENTITY txt.install.mouse4 SYSTEM "install/mouse4.txt">
-<!ENTITY txt.install.mouse5 SYSTEM "install/mouse5.txt">
-<!ENTITY txt.install.mouse6 SYSTEM "install/mouse6.txt">
-<!ENTITY txt.install.nfs-server-edit SYSTEM "install/nfs-server-edit.txt">
-<!ENTITY txt.install.options SYSTEM "install/options.txt">
-<!ENTITY txt.install.pkg-cat SYSTEM "install/pkg-cat.txt">
-<!ENTITY txt.install.pkg-confirm SYSTEM "install/pkg-confirm.txt">
-<!ENTITY txt.install.pkg-install SYSTEM "install/pkg-install.txt">
-<!ENTITY txt.install.pkg-sel SYSTEM "install/pkg-sel.txt">
-<!ENTITY txt.install.probstart SYSTEM "install/probstart.txt">
-<!ENTITY txt.install.security SYSTEM "install/security.txt">
-<!ENTITY txt.install.sysinstall-exit SYSTEM "install/sysinstall-exit.txt">
-<!ENTITY txt.install.timezone1 SYSTEM "install/timezone1.txt">
-<!ENTITY txt.install.timezone2 SYSTEM "install/timezone2.txt">
-<!ENTITY txt.install.timezone3 SYSTEM "install/timezone3.txt">
-<!ENTITY txt.install.userconfig SYSTEM "../../../share/images/books/handbook/install/userconfig.txt">
-<!ENTITY txt.install.userconfig2 SYSTEM "../../../share/images/books/handbook/install/userconfig2.txt">
-<!ENTITY txt.install.xf86setup SYSTEM "install/xf86setup.txt">
diff --git a/es_ES.ISO8859-1/books/handbook/users/chapter.xml b/es_ES.ISO8859-1/books/handbook/users/chapter.xml
deleted file mode 100644
index 5ee34893c6..0000000000
--- a/es_ES.ISO8859-1/books/handbook/users/chapter.xml
+++ /dev/null
@@ -1,1084 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/users/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="users">
- <info><title>Usuarios y administración básica de cuentas</title>
- <authorgroup>
- <author><personname><firstname>Neil</firstname><surname>Blakey-Milner</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <sect1 xml:id="users-synopsis">
- <title>Sinopsis</title>
-
- <para>FreeBSD permite que varios usuarios usen el mismo ordenador.
- Obviamente, sólo uno de estos usuarios puede sentarse frente al
- monitor y al teclado en un momento dado
- <footnote>
- <para>Bueno, a menos que conectes múltiples terminales, pero
- dejaremos ese tema para el <xref linkend="serialcomms"/>.</para>
- </footnote>
- , pero cualquier número de usuarios puede entrar por la red para
- hacer su trabajo. Para usar el sistema cada usuario ha de tener
- una cuenta.</para>
-
- <para>Después de leer este capítulo sabrás:</para>
-
- <itemizedlist>
- <listitem>
- <para>Cuáles son las diferencias entre las distintas cuentas de
- usuario en sistemas FreeBSD.</para>
- </listitem>
-
- <listitem>
- <para>Cómo añadir cuentas.</para>
- </listitem>
-
- <listitem>
- <para>Cómo eliminar cuentas.</para>
- </listitem>
-
- <listitem>
- <para>Cómo cambiar detalles de las cuentas, como el nombre
- completo del usuario, o su shell preferida.</para>
- </listitem>
-
- <listitem>
- <para>Cómo establecer límites por cuenta, para controlar los
- recursos como memoria o tiempo de CPU que las cuentas y grupos
- de cuentas pueden emplear.</para>
- </listitem>
-
- <listitem>
- <para>Cómo usar grupos para facilitar la administración de
- cuentas.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo deberías:</para>
-
- <itemizedlist>
- <listitem>
- <para>Entender los conceptos básicos de Unix y FreeBSD (<xref linkend="basics"/>).</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="users-introduction">
- <title>Introducción</title>
-
- <para>Todos los accesos al sistema se consiguen vía cuentas, y todos
- los procesos son ejecutados por usuarios, por ello la
- administración de usuarios y cuentas es de una gran importancia
- en sistemas FreeBSD.</para>
-
- <para>Cada cuenta en un sistema FreeBSD tiene cierta información
- asociada que la identifica.</para>
-
- <variablelist>
- <varlistentry>
- <term>Nombre de usuario</term>
-
- <listitem>
- <para>El nombre de usuario como se le entraría al prompt
- <prompt>login:</prompt>. Los nombres de usuario han de ser
- únicos en la computadora; no puede haber dos usuarios con el
- mismo nombre de usuario. Existen algunas reglas para la
- creación de nombres de usuario válidos documentadas en
- &man.passwd.5;; típicamente se usarían nombres de usuario de
- a lo sumo ocho caracteres, todos ellos en minúscula.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Contraseña</term>
-
- <listitem>
- <para>Cada cuenta tiene una contraseña asociada. La
- contraseña puede ser vacía, en cuyo caso no se requerirá
- ninguna para acceder al sistema. Esto normalmente es una
- mala idea; cada cuenta debería tener una constraseña no
- vacía.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Identificador de usuario (UID)</term>
-
- <listitem>
- <para>El UID es un numero entre 0 y 65536 que sirve para
- identificar unívocamente al usuario en el sistema.
- Internamente, FreeBSD usa el UID para identificar usuarios y
- cualquier comando de FreeBSD que permita especificar un
- nombre de usuario convertirá éste al UID antes de trabajar
- con él. Esto significa que puedes tener varias cuentas con
- nombres de usuario distintos pero con el mismo UID. En lo
- que a FreeBSD respecta, tales cuentas son un solo usuario.
- Es improbable que alguna vez tengas que hacer algo
- así.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Identificador de grupo (GID)</term>
-
- <listitem>
- <para>El GID es un número entre 0 y 65536 que sirve para
- identificar unívocamente el grupo principal al cual
- pertenece un usuario. Los grupos son un mecanismo para
- controlar el acceso a recursos del sistema en base al GID,
- en vez del UID. Esto puede reducir significativamente el
- tamaño de algunos ficheros de configuración. Un usuario
- puede pertencer a más de un grupo.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Clase de login</term>
-
- <listitem>
- <para>Las clases de login son una extensión al mecanismo de
- grupos que ofrecen una mayor flexibilidad a la hora de
- adaptar el sistema a distintos usuarios.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Tiempo de cambio de contraseña</term>
-
- <listitem>
- <para>Por defecto FreeBSD no obliga a los usuarios a cambiar
- su contraseña periódicamente. Se puede requerir esto a
- determinados usuarios, haciendo que algunos o todos deban
- cambiar sus contraseñas al cabo de cierto periodo de
- tiempo.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Tiempo de expiración de cuentas</term>
-
- <listitem>
- <para>Por defecto las cuentas en FreeBSD no expiran. Si estás
- creando cuentas que sabes que van a tener un tiempo limitado
- de vida, por ejemplo, las cuentas de los estudiantes de una
- escuela, entonces puedes especificar cuándo expiran. Una
- vez vencido su tiempo de expiración una cuenta no puede ser
- usada para entrar en el sistema, si bien sus directorios y
- archivos serán conservados.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Nombre completo de usuario</term>
-
- <listitem>
- <para>El nombre de usuario identifica unívocamente a una
- cuenta para FreeBSD, pero no refleja su verdadero nombre
- necesariamente. Esta información puede ser asociada a la
- cuenta. </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Directorio home</term>
-
- <listitem>
- <para>El directorio home es el camino completo de un
- directorio en el sistema en el que el usuario se hallará
- cuando entre. Una convención usual consiste en poner todos
- los directorios home en
- <filename>/home/nombre_de_usuario</filename>
- o en
- <filename>/usr/home/nombre_de_usuario</filename>.
- Los usuarios guardarían sus archivos personales en sus
- directorios home, y en cualquier directorio que creasen
- allí.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Shell de usuario</term>
-
- <listitem>
- <para>La shell provee el entorno por defecto mediante el cual
- los usuarios interactúan con el sistema. Existen varios
- tipos de shell y los usuarios experimentados tendrán sus
- propias preferencias, que pueden expresarse en la
- configuración de su cuenta.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Existen principalmente tres tipos de cuentas; la cuenta de
- <link linkend="users-superuser">superusuario</link>, las cuentas
- de <link linkend="users-system">usuarios del sistema</link>, y las
- de <link linkend="users-user">usuarios</link>. La cuenta de
- superusuario, normalmente llamada <systemitem class="username">root</systemitem>, se
- usa para administrar el sistema sin limitaciones en los
- privilegios. Los usuarios del sistema utilizan servicios del
- mismo. Finalmente, las cuentas de usuarios son usadas por gente
- real, aquellos que entran, leen correo, etcétera.</para>
- </sect1>
-
- <sect1 xml:id="users-superuser">
- <title>La cuenta superusuario</title>
-
- <indexterm>
- <primary>cuentas</primary>
- <secondary>superusuario (root)</secondary>
- </indexterm>
- <para>La cuenta superusuario, normalmente llamada
- <systemitem class="username">root</systemitem>, viene preconfigurada para facilitar la
- administración del sistema, y no debería ser utilizada para tareas
- cotidianas como enviar o recibir correo, exploración general del
- sistema, o programación.</para>
-
- <para>Esto es así porque el superusuario, a diferencia de las
- cuentas de usuario, puede operar sin límites, y un mal uso de la
- cuenta de superusuario puede conllevar desastres espectaculares.
- Las cuentas de usuario no pueden destruir el sistema por un error,
- por ello es generalmente mejor utilizar cuentas de usuario
- normales cuando sea posible, a no ser que especialmente necesites
- privilegios extra.</para>
-
- <para>Deberías comprobar siempre un par o tres de veces los comandos
- que ejecutas como superusuario, ya que un espacio de más o un
- carácter omitido pueden significar una pérdida de datos
- irreparable.</para>
-
- <para>Así pues, lo primero que deberías hacer después de leer este
- capítulo es crear una cuenta sin privilegios de uso general para
- ti si aún no la tienes. Esto aplica tanto si trabajas en una
- máquina con varios usuarios como si trabajas en una máquina con un
- solo usuario. Más adelante, en este mismo capítulo, explicamos
- cómo crear cuentas adicionales, y cómo cambiar de usuario normal a
- superusuario.</para>
- </sect1>
-
- <sect1 xml:id="users-system">
- <title>Cuentas de sistema</title>
-
- <indexterm>
- <primary>cuentas</primary>
- <secondary>sistema</secondary>
- </indexterm>
- <para>Los usuarios de sistema son aquéllos que corren servicios como
- DNS, correo, servidores web, etc. Esto es así por seguridad; si
- todos los servicios corrieran como superusuario podrían actuar sin
- ninguna restricción.</para>
-
- <indexterm>
- <primary>cuentas</primary>
- <secondary><systemitem class="username">daemon</systemitem></secondary>
- </indexterm>
- <indexterm>
- <primary>cuentas</primary>
- <secondary><systemitem class="username">operator</systemitem></secondary>
- </indexterm>
- <para>Algunos ejemplos de usuarios de sistema son
- <systemitem class="username">daemon</systemitem>, <systemitem class="username">operator</systemitem>,
- <systemitem class="username">bind</systemitem> (para el DNS), y
- <systemitem class="username">news</systemitem>. Con frecuencia, los administradores de
- sistemas crean el usuario <systemitem class="username">httpd</systemitem> para que
- ejecute los servidores web que instalan.</para>
-
- <indexterm>
- <primary>cuentas</primary>
- <secondary><systemitem class="username">nobody</systemitem></secondary>
- </indexterm>
- <para><systemitem class="username">nobody</systemitem> es el usuario de sistema sin
- privelegios genérico. No obstante, es importante tener en cuenta
- que cuantos más servicios use <systemitem class="username">nobody</systemitem>, más
- ficheros y procesos estarán asociados con dicho usuario, y en
- consecuencia más privilegiado será.</para>
- </sect1>
-
- <sect1 xml:id="users-user">
- <title>Cuentas de usuario</title>
-
- <indexterm>
- <primary>cuentas</primary>
- <secondary>usuario</secondary>
- </indexterm>
- <para>Las cuentas de usuario constituyen la principal vía de acceso
- al sistema para la gente real. Estas cuentas aíslan al usuario
- del entorno, impidiendo que pueda dañar al sistema o a otros
- usuarios, y permitiendo a su vez que pueda personalizar su entorno
- sin que esto afecte a otros.</para>
-
- <para>Cada persona que acceda a tu sistema debería tener una sola
- cuenta de usuario. Esto te permite averiguar quién está haciendo
- qué, evita que interfieran las configuraciones de distintos
- usuarios, que unos puedan leer el correo de otros,
- etcétera.</para>
-
- <para>Cada usuario puede configurar su entorno para acomodarlo al
- uso que hace del sistema, utilizando shells, editores, atajos de
- teclado e idioma alternativos.</para>
- </sect1>
-
- <sect1 xml:id="users-modifying">
- <title>Modificación de cuentas</title>
-
- <indexterm>
- <primary>cuentas</primary>
- <secondary>modificar</secondary>
- </indexterm>
-
- <para>Existe una variedad de comandos disponible en el entorno Unix
- para modificar cuentas de usuario. Los comandos más comunes se
- hallan resumidos a continuación, seguidos de ejemplos más
- detallados de su uso.</para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Comando</entry>
- <entry>Resumen</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><command>adduser</command></entry>
- <entry>La aplicación de línea de comandos recomendada para
- añadir nuevos usuarios.</entry>
- </row>
- <row>
- <entry><command>rmuser</command></entry>
- <entry>La aplicación de línea de comandos recomendada para
- eliminar usuarios.</entry>
- </row>
- <row>
- <entry><command>chpass</command></entry>
- <entry>Una herramienta flexible para modificar la base de datos
- de usuarios.</entry>
- </row>
- <row>
- <entry><command>passwd</command></entry>
- <entry>Una herramienta de línea de comandos simple para cambiar
- contraseñas de usuario.</entry>
- </row>
- <row>
- <entry><command>pw</command></entry>
- <entry>Una herramienta potente y flexible para modificar
- cualquier aspecto de las cuentas de usuario.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <sect2 xml:id="users-adduser">
- <title>adduser</title>
-
- <indexterm>
- <primary>cuentas</primary>
- <secondary>añadir</secondary>
- </indexterm>
- <indexterm>
- <primary><command>adduser</command></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/usr/share/skel</filename></primary>
- </indexterm>
- <indexterm><primary>directorio esqueleto</primary></indexterm>
- <para><command>adduser</command> es un programa simple para añadir
- usuarios. Crea entradas en los archivos de sistema
- <filename>passwd</filename> y <filename>group</filename>.
- También crea un directorio home para el nuevo usuario, copia
- allí ficheros de configuración por defecto
- (<quote>dotfiles</quote>) de
- <filename>/usr/share/skel</filename>, y opcionalmente puede
- enviar al usuario un mensaje de bienvenida.</para>
-
- <para>Para crear el fichero inicial de configuración usa
- <command>adduser -s -config_create</command>.
- <footnote>
- <para>La <option>-s</option> hace que <command>adduser</command>
- sea silencioso por defecto. Más tarde usamos <option>-v</option>
- cuando queremos cambiar valores por defecto.</para>
- </footnote>
- A continuación configuramos valores por defecto para
- <application>adduser</application> y creamos nuestra primera
- cuenta de usuario, dado que utilizar <systemitem class="username">root</systemitem>
- para uso normal del sistema es pernicioso y peligroso.</para>
-
- <example>
- <title>Configuración de adduser</title>
-
- <screen>&prompt.root; <userinput>adduser -v</userinput>
-Use option ``-silent'' if you don't want to see all warnings and questions.
-Check /etc/shells
-Check /etc/master.passwd
-Check /etc/group
-Enter your default shell: csh date no sh tcsh zsh [sh]: <userinput>zsh</userinput>
-Your default shell is: zsh -&gt; /usr/local/bin/zsh
-Enter your default HOME partition: [/home]:
-Copy dotfiles from: /usr/share/skel no [/usr/share/skel]:
-Send message from file: /etc/adduser.message no
-[/etc/adduser.message]: <userinput>no</userinput>
-Do not send message
-Use passwords (y/n) [y]: <userinput>y</userinput>
-
-Write your changes to /etc/adduser.conf? (y/n) [n]: <userinput>y</userinput>
-
-Ok, let's go.
-Don't worry about mistakes. I will give you the chance later to correct any input.
-Enter username [a-z0-9_-]: <userinput>jru</userinput>
-Enter full name []: <userinput>J. Random User</userinput>
-Enter shell csh date no sh tcsh zsh [zsh]:
-Enter home directory (full path) [/home/jru]:
-Uid [1001]:
-Enter login class: default []:
-Login group jru [jru]:
-Login group is ``jru''. Invite jru into other groups: guest no
-[no]: <userinput>wheel</userinput>
-Enter password []:
-Enter password again []:
-
-Name: jru
-Password: ****
-Fullname: J. Random User
-Uid: 1001
-Gid: 1001 (jru)
-Class:
-Groups: jru wheel
-HOME: /home/jru
-Shell: /usr/local/bin/zsh
-OK? (y/n) [y]: <userinput>y</userinput>
-Added user ``jru''
-Copy files from /usr/share/skel to /home/jru
-Add another user? (y/n) [y]: <userinput>n</userinput>
-Goodbye!
-&prompt.root;</screen>
- </example>
-
- <para>En resumen, cambiamos la shell por defecto a
- <application>zsh</application> (una shell alternativa incluida
- en la colección de ports), y deshabilitamos el envío de un
- mensaje de bienvenida a nuevos usuarios. Luego grabamos la
- configuración, creamos una cuenta para <systemitem class="username">jru</systemitem>,
- y nos aseguramos de que <systemitem class="username">jru</systemitem> esté en el
- grupo <systemitem class="username">wheel</systemitem> (de modo que puede asumir el
- papel de <systemitem class="username">root</systemitem> vía el comando
- <command>su</command>).</para>
-
- <note>
- <para>La contraseña que escribes no se muestra, tampoco se
- muestran asteriscos. Asegúrate de no entrar dos veces una
- contraseña equivocada.</para>
- </note>
-
- <note>
- <para>Usa <command>adduser</command> sin argumentos en adelante,
- no necesitarás cambiar las opciones por defecto. Si el
- programa te pide modificarlas sal y prueba con la opción
- <option>-s</option>.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="users-rmuser">
- <title><application>rmuser</application></title>
-
- <indexterm><primary><command>rmuser</command></primary></indexterm>
- <indexterm>
- <primary>cuentas</primary>
- <secondary>eliminar</secondary>
- </indexterm>
-
- <para>Puedes usar <command>rmuser</command> para eliminar
- completamente del sistema a un usuario.
- <command>rmuser</command> efectúa los siguientes pasos:</para>
-
- <procedure>
- <step>
- <para>Elimina la entrada del usuario en &man.crontab.1; (si
- tiene alguna).</para>
- </step>
- <step>
- <para>Elimina las tareas &man.at.1; pertenecientes al
- usuario.</para>
- </step>
- <step>
- <para>Mata todos los procesos pertenecientes al
- usuario.</para>
- </step>
- <step>
- <para>Elimina al usuario del fichero local de contraseñas del
- sistema.</para>
- </step>
- <step>
- <para>Borra el directorio home del usuario (si le
- pertenece).</para>
- </step>
- <step>
- <para>Elimina los archivos de correo entrante del usuario de
- <filename>/var/mail</filename>.</para>
- </step>
- <step>
- <para>Borra todos los ficheros del usuario de áreas en las que
- se guardan archivos temporales como
- <filename>/tmp</filename>.</para>
- </step>
- <step>
- <para>Finalmente, elimina el nombre de usuario de todos
- aquellos grupos a los que pertenece en
- <filename>/etc/group</filename>.
-
- <note>
- <para>Si un grupo queda vacío y el nombre del grupo
- coincide con el del usuario, el grupo es eliminado; esto
- complementa la creación de grupos por usuario de
- &man.adduser.8;.</para>
- </note>
- </para>
- </step>
- </procedure>
-
- <para><command>rmuser</command> no puede ser usado para eliminar
- cuentas de superusuario, dado que algo así es casi siempre señal
- de masiva destrucción.</para>
-
- <para>Por defecto existe un modo interactivo que intenta asegurar
- que uno sabe lo que hace.</para>
-
- <example>
- <title>Eliminación interactiva de cuenta con rmuser</title>
-
- <screen>&prompt.root; <userinput>rmuser jru</userinput>
-Matching password entry:
-jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/tcsh
-Is this the entry you wish to remove? <userinput>y</userinput>
-Remove user's home directory (/home/jru)? <userinput>y</userinput>
-Updating password file, updating databases, done.
-Updating group file: trusted (removing group jru -- personal group is empty) done.
-Removing user's incoming mail file /var/mail/jru: done.
-Removing files belonging to jru from /tmp: done.
-Removing files belonging to jru from /var/tmp: done.
-Removing files belonging to jru from /var/tmp/vi.recover: done.
-&prompt.root;</screen>
- </example>
- </sect2>
-
- <sect2 xml:id="users-chpass">
- <title><application>chpass</application></title>
-
- <indexterm><primary><command>chpass</command></primary></indexterm>
- <para><command>chpass</command> cambia información de los usuarios
- en base de datos como contraseñas, shells y datos
- personales.</para>
-
- <para>Los administradores del sistema, como el superusuario, son
- los únicos que pueden modificar la información y contraseñas de
- otros usuarios con <command>chpass</command>.</para>
-
- <para>Cuando no le pasamos más opciones, salvo un nombre de
- usuario opcional, <command>chpass</command> muestra un editor
- con información de usuario. Cuando se sale del editor la base
- de datos de usuarios se actualiza con la nueva
- información.</para>
-
- <example>
- <title>chpass interactivo ejecutado por el superusuario</title>
-
- <screen>#Changing user database information for jru.
-Login: jru
-Password: *
-Uid [#]: 1000
-Gid [# or name]: 1000
-Change [month day year]:
-
-Expire [month day year]:
-Class:
-Home directory: /home/jru
-Shell: /usr/local/bin/tcsh
-Full Name: J. Random User
-Office Location:
-Office Phone:
-Home Phone:
-Other information:</screen>
- </example>
-
- <para>Un usuario normal puede modificar un pequeño subconjunto de
- esta información, y sólo para sí mismo.</para>
-
- <example>
- <title>chpass interactivo ejecutado por un usuario normal</title>
-
- <screen>#Changing user database information for jru.
-Shell: /usr/local/bin/tcsh
-Full Name: J. Random User
-Office Location:
-Office Phone:
-Home Phone:
-Other information:</screen>
- </example>
-
- <note>
- <para><command>chfn</command> y <command>chsh</command> son
- enlaces a <command>chpass</command>, como también lo son
- <command>ypchpass</command>, <command>ypchfn</command>, e
- <command>ypchsh</command>. El soporte para NIS es automático,
- por lo que no es necesario especificar el
- <literal>yp</literal> antes del comando. Si esto te resulta
- algo confuso no te preocupes, NIS será tratado en el <xref linkend="advanced-networking"/>.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="users-passwd">
- <title>passwd</title>
-
- <indexterm><primary><command>passwd</command></primary></indexterm>
- <indexterm>
- <primary>cuentas</primary>
- <secondary>cambiar contraseña</secondary>
- </indexterm>
- <para><command>passwd</command> es el comando que se usa
- normalmente para cambiar tu propia contraseña como usuario o,
- como superusuario, la de otros usuarios.</para>
-
- <note>
- <para>Los usuarios han de introducir su contraseña original
- antes de cambiarla para prevenir que gente no autorizada pueda
- hacerlo cuando no se encuentren en la consola.</para>
- </note>
-
- <example>
- <title>Cambio de tu contraseña</title>
-
- <screen>&prompt.user; <userinput>passwd</userinput>
-Changing local password for jru.
-Old password:
-New password:
-Retype new password:
-passwd: updating the database...
-passwd: done</screen>
- </example>
-
- <example>
- <title>Cambio de la contraseña de otro usuario como superusuario</title>
-
- <screen>&prompt.root; <userinput>passwd jru</userinput>
-Changing local password for jru.
-New password:
-Retype new password:
-passwd: updating the database...
-passwd: done</screen>
- </example>
-
- <note>
- <para>Como ocurre con <command>chpass</command>,
- <command>yppasswd</command> es un enlace a
- <command>passwd</command>, de manera que NIS funciona con
- ambos comandos.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="users-pw">
- <title><application>pw</application></title>
- <indexterm><primary><command>pw</command></primary></indexterm>
-
- <para>&man.pw.8; es una utilidad de línea de comandos para crear,
- eliminar, modificar, y mostrar usuarios y grupos. Hace de
- interfaz a los archivos del sistema de usuarios y grupos.
- <command>pw</command> tiene un conjunto de opciones de línea de
- comandos bastante potente que lo hacen adecuado para su uso en
- scripts de shell, aunque los nuevos usuarios puede que lo
- encuentren algo más complicado que el resto de comandos que
- presentamos aquí.</para>
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="users-limiting">
- <title>Limitar a los usuarios</title>
-
- <indexterm><primary>limitar a los usuarios</primary></indexterm>
- <indexterm>
- <primary>cuentas</primary>
- <secondary>limitar</secondary>
- </indexterm>
- <para>En un sistema multiusuario es probable que no confíes en que
- el sistema no vaya a ser dañado por ningún usuario.</para>
-
- <indexterm><primary>cuotas</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>cuotas</secondary>
- </indexterm>
- <indexterm><primary>cuotas de disco</primary></indexterm>
- <para>Las cuotas de disco permiten al administrador decirle al
- sistema de ficheros qué cantidad de espacio de disco puede
- utilizar un usuario; además, ofrecen una manera rápida de
- comprobar el uso de disco de un usuario sin tener que calcularlo
- cada vez. Las cuotas se estudian en el capítulo de quotas.</para>
-
- <para>El resto de límites de recursos incluyen cantidad de CPU,
- memoria, y otros recursos que el usuario puede utilizar.</para>
-
- <indexterm>
- <primary><filename>/etc/login.conf</filename></primary>
- </indexterm>
- <para>Las clases de login se definen en
- <filename>/etc/login.conf</filename>. La semántica precisa está
- fuera del alcance de esta sección, pero se describe con detalle en
- la página de manual &man.login.conf.5;. Es suficiente decir que
- cada usuario es asignado a una clase de login
- (<literal>default</literal> por defecto), y que cada clase de
- login tiene un conjunto de capacidades asociado. Una capacidad
- de login es un par
- <literal>nombre=valor</literal>,
- donde <replaceable>nombre</replaceable> es un identificador
- conocido y <replaceable>valor</replaceable> una cadena de texto
- arbitraria que se procesa en función del nombre. Establecer
- clases y capacidades de login es bastante sencillo y también se
- describe en &man.login.conf.5;.</para>
-
- <para>Los límites de recursos son diferentes de las capacidades de
- login en dos sentidos. En primer lugar, para cada límite existe
- un límite blando (actual) y uno duro. Un límite blando puede ser
- ajustado por el usuario o una aplicación, pero no puede ser más
- alto que el límite duro. Éste último puede ser disminuido por el
- usuario pero nunca aumentado. En segundo lugar, la mayoría de los
- límites de recursos aplican a un usuario concreto por proceso, no
- globalmente. Nótese, no obstante, que estas diferencias vienen
- impuestas por cómo se tratan los límites específicamente, no por
- la implementación del marco de capacidades de login (es decir, en
- realidad no constituyen un caso especial de capacidades de
- login).</para>
-
- <para>Sin más, a continuación veremos los límites de recursos más
- comúnmente usados (el resto, junto con el resto de capacidades de
- login, puede encontrarse en &man.login.conf.5;).</para>
-
- <variablelist>
- <varlistentry>
- <term><literal>coredumpsize</literal></term>
-
- <listitem>
- <indexterm><primary>coredumpsize</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>coredumpsize</secondary>
- </indexterm>
- <para>El tamaño de un fichero core generado por un programa
- está, por razones obvias, subordinado a otros límites sobre
- uso de disco (p. ej., <literal>filesize</literal>, o cuotas
- de disco). Aun y así, se usa frecuentemente como un método
- menos severo de controlar consumo de espacio de disco, dado
- que los usuarios no generan ficheros core por ellos mismos,
- y a menudo no los borran, activar este límite puede evitar
- que agoten el espacio de disco de que disponen si algún
- programa grande (p. ej., <application>emacs</application>)
- deja de funcionar abruptamente.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>cputime</literal></term>
-
- <listitem>
- <indexterm><primary>cputime</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>cputime</secondary>
- </indexterm>
- <para>Ésta es la máxima cantidad de tiempo de CPU que los
- procesos de un usuario pueden consumir.
-
- <note>
- <para>Éste es un límite sobre el
- <emphasis>tiempo</emphasis> de CPU consumido, no el
- porcentaje de uso de CPU que se muestra en algunos
- campos de &man.top.1; y &man.ps.1;. Un límite de ese
- tipo no es posible a día de hoy, y sería bastante
- inútil: un compilador &mdash;probablemente una tarea
- legítima&mdash; puede usar prácticamente el 100% de la
- CPU durante algún tiempo con facilidad.</para>
- </note>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>filesize</literal></term>
-
- <listitem>
- <indexterm><primary>filesize</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>filesize</secondary>
- </indexterm>
- <para>Éste es el tamaño máximo que puede llegar a tener un
- fichero del usuario. A diferencia de las cuotas de disco, este
- límite se especifica para ficheros individuales, no para
- el conjunto de todos los archivos que posee.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>maxproc</literal></term>
-
- <listitem>
- <indexterm><primary>maxproc</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>maxproc</secondary>
- </indexterm>
- <para>Éste es el máximo número de procesos que un usuario
- puede ejecutar a la vez, incluidos tanto los procesos en
- primer plano como los procesos en segundo plano. Por
- razones obvias, este límite no puede ser mayor que el límite
- de sistema especificado por <varname>kern.maxproc</varname>
- <command>sysctl</command>. Obsérvese también que si
- asignamos un valor demasiado bajo a este límite podemos
- mermar la productividad de un usuario: frecuentemente es
- útil entrar múltiples veces en el sistema o ejecutar
- pipelines. Algunas tareas, como compilar largos programas,
- lanzan múltiples procesos (p. ej., &man.make.1;, &man.cc.1;,
- y demás preprocesadores intermedios).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>memorylocked</literal></term>
-
- <listitem>
- <indexterm><primary>memorylocked</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>memorylocked</secondary>
- </indexterm>
- <para>Ésta es la máxima cantidad de memoria que un proceso
- puede haber solicitado tener bloqueada en memoria principal
- (p. ej., ver &man.mlock.2;). Algunos programas críticos
- para el sistema, como &man.amd.8;, se quedan bloqueados en
- la memoria principal de manera que en caso de ser llevados a
- swap no contribuyan a la basura del sistema si hay algún
- problema.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>memoryuse</literal></term>
-
- <listitem>
- <indexterm><primary>memoryuse</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>memoryuse</secondary>
- </indexterm>
- <para>Ésta es la mayor cantidad de memoria que un proceso
- puede consumir en todo momento. Incluye tanto memoria
- normal como uso de swap. No se trata de un límite para
- restringir el consumo de memoria en general, pero es un buen
- comienzo.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>openfiles</literal></term>
-
- <listitem>
- <indexterm><primary>openfiles</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>openfiles</secondary>
- </indexterm>
- <para>Ésta es la máxima cantidad de archivos que un proceso
- puede tener abiertos. En FreeBSD, los archivos se usan
- tambien para representar sockets y canales IPC; así, cuida
- de no poner este límite demasiado bajo. A nivel de sistema,
- el límite para esto lo define
- <varname>kern.maxfiles</varname>
- <command>sysctl</command>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>sbsize</literal></term>
-
- <listitem>
- <indexterm><primary>sbsize</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>sbsize</secondary>
- </indexterm>
- <para>Éste es el límite de cantidad de memoria de red, y por
- lo tanto mbufs, que un usuario puede consumir. Se originó
- como respuesta a un viejo ataque DoS que creaba muchos
- sockets, pero puede ser usado en general para limitar las
- comunicaciones por red.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>stacksize</literal></term>
-
- <listitem>
- <indexterm><primary>stacksize</primary></indexterm>
- <indexterm>
- <primary>limitar a los usuarios</primary>
- <secondary>stacksize</secondary>
- </indexterm>
- <para>Éste es el tamaño máximo que puede alcanzar la pila de
- un proceso. Por sí solo no es suficiente para limitar la
- cantidad de memoria que puede usar un programa; en
- consecuencia, debería ser usado junto con otros
- límites.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Hay unas pocas cosas más a recordar cuando establecemos
- límites de recursos. A continuación vienen algunas
- recomendaciones, sugerencias, y comentarios varios.</para>
-
- <itemizedlist>
- <listitem>
- <para>Los procesos que se ponen en marcha cuando arranca el
- sistema por <filename>/etc/rc</filename> están asignados a la
- clase de login <literal>daemon</literal>.</para>
- </listitem>
-
- <listitem>
- <para>Aunque el <filename>/etc/login.conf</filename> que viene
- con el sistema tiene valores razonables para la mayoría de los
- límites, sólo tú, el administrador, puedes saber lo que es
- apropiado para tu sistema.</para>
- </listitem>
-
- <listitem>
- <para>A los usuarios del X Window System (X11) probablemente se
- les debería conceder más recursos que al resto. X11 de por sí
- consume muchos recursos, pero además contribuye a que los
- usuarios ejecuten más programas simultáneamente.</para>
- </listitem>
-
- <listitem>
- <para>Recuerda que hay muchos límites que aplican a procesos
- individuales, no al usuario en general. Por ejemplo, poner
- <varname>openfiles</varname> a 50 significa que cada uno de
- los procesos que ejecute un usuario puede abrir a lo máximo 50
- ficheros. Así, la cantidad de ficheros que un usuario puede
- abrir es el valor de <literal>openfiles</literal> multiplicado
- por el valor de <literal>maxproc</literal>. Esto también
- aplica al uso de memoria.</para>
- </listitem>
- </itemizedlist>
-
- <para>Para más información acerca de límites de recursos y clases y
- capacidades de login en general, consulta las páginas de manual
- relevantes: &man.cap.mkdb.1;, &man.getrlimit.2;,
- &man.login.conf.5;.</para>
- </sect1>
-
- <sect1 xml:id="users-personalizing">
- <title>Personalizar a los usuarios</title>
-
- <para>La localización es un entorno establecido por el administrador
- o el usuario para dar soporte a distintos lenguajes, juegos de
- caracteres, estándares sobre fechas y horas, etcétera. Éste tema
- se trata en el capítulo <link linkend="l10n">Localización</link>.</para>
- </sect1>
-
- <sect1 xml:id="users-groups">
- <title>Grupos</title>
-
- <indexterm><primary>grupos</primary></indexterm>
- <indexterm>
- <primary><filename>/etc/group</filename></primary>
- </indexterm>
- <indexterm>
- <primary>cuentas</primary>
- <secondary>grupos</secondary>
- </indexterm>
- <para>Un grupo es simplemente una lista de usuarios. Los grupos se
- identifican por su nombre de grupo y gid (ID de grupo). En
- FreeBSD (y en la mayoría de sistemas Unix), los dos factores que
- tiene en cuenta el núcleo para decidir si un proceso puede hacer
- algo es su ID de usuario y la lista de grupos a los que pertenece.
- A diferencia del ID de usuario, un proceso tiene una lista de
- grupos asociados. En ocasiones encontrarás menciones al "ID de
- grupo" de un usuario o de un proceso; la mayoría de las veces
- referirán simplemente al primero de los grupos de la lista.</para>
-
- <para>La correspondencia entre nombres e IDs de grupo está en
- <filename>/etc/group</filename>. Se trata de un fichero de texto
- plano con cuatro campos separados por el signo dos puntos. El
- primer campo es el nombre de grupo, el segundo la contraseña
- encriptada, el tercero el ID de grupo, y el cuarto la lista de
- miembros separados por comas. Puede ser editado a mano sin
- peligro (¡suponiendo, por supuesto, que no se cometan errores de
- sintaxis!). Para una descripción más completa de la sintaxis, ver
- la página de manual &man.group.5;.</para>
-
- <para>Si no quieres editar <filename>/etc/group</filename>
- manualmente, puedes usar el comando &man.pw.8; para añadir y
- modificar grupos. Por ejemplo, para añadir un grupo llamado
- <systemitem class="groupname">teamtwo</systemitem> y luego confirmar que existe puedes
- usar:</para>
-
- <example>
- <title>Añadir un grupo usando &man.pw.8;</title>
-
- <screen>&prompt.root; <userinput>pw groupadd teamtwo</userinput>
-&prompt.root; <userinput>pw groupshow teamtwo</userinput>
-teamtwo:*:1100:</screen>
- </example>
-
- <para>El número <literal>1100</literal> en el ejemplo anterior es el
- ID de grupo del grupo <systemitem class="groupname">teamtwo</systemitem>. Ahora mismo
- <systemitem class="groupname">teamtwo</systemitem> no tiene miembros, y es por tanto
- bastante inútil. Cambiemos eso invitando a
- <systemitem class="username">jru</systemitem> a formar parte del grupo
- <systemitem class="groupname">teamtwo</systemitem>.</para>
-
- <example>
- <title>Añadir a alguien a un grupo usando &man.pw.8;</title>
-
- <screen>&prompt.root; <userinput>pw groupmod teamtwo -M jru</userinput>
-&prompt.root; <userinput>pw groupshow teamtwo</userinput>
-teamtwo:*:1100:jru</screen>
- </example>
-
- <para>El argumento de la opción <option>-M</option> es una lista con
- los usuarios que son miembros del grupo separados por comas.
- Sabemos de secciones anteriores que el fichero de contraseñas
- también contiene un grupo para cada usuario. El usuario es
- automáticamente añadido a la lista de grupos por el sistema; no
- constará como miembro cuando usemos el comando
- <command>groupshow</command> con &man.pw.8;, pero sí cuando la
- información se consulte con &man.id.1; u otra herramienta similar.
- En otras palabras, &man.pw.8; sólo manipula el fichero
- <filename>/etc/group</filename>; nunca tratará de leer datos
- adicionales de <filename>/etc/passwd</filename>.</para>
-
- <example>
- <title>Determinar pertenencia a grupos con &man.id.1;</title>
-
- <screen>&prompt.user; <userinput>id jru</userinput>
-uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)</screen>
- </example>
-
- <para>Como puedes ver, <systemitem class="username">jru</systemitem> es miembro de los
- grupos <systemitem class="groupname">jru</systemitem> y
- <systemitem class="groupname">teamtwo</systemitem>.</para>
-
- <para>Para más información acerca de &man.pw.8;, consulta su página
- de manual, y para más información acerca del formato de
- <filename>/etc/group</filename>, consulta la página de manual de
- &man.group.5;.</para>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/vinum/chapter.xml b/es_ES.ISO8859-1/books/handbook/vinum/chapter.xml
deleted file mode 100644
index e01fae6ea7..0000000000
--- a/es_ES.ISO8859-1/books/handbook/vinum/chapter.xml
+++ /dev/null
@@ -1,328 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/vinum/chapter.xml
- %SRCID% 0.0
-
- The Vinum Volume Manager
- de Greg Lehey (grog arroba lemis punto com)
-
- Incluido en el Handbook por Hiten Pandya <hiten@uk.FreeBSD.org>
- y Tom Rhodes <trhodes@FreeBSD.org>
-
- para el FreeBSD Documentation Project
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/vinum/chapter.xml,v 1.2 2004/08/25 18:35:22 carvay Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="vinum-vinum">
- <title>El Gestor de Volúmenes Vinum</title>
-
- <sect1 xml:id="vinum-synopsis">
- <title>Sinopsis</title>
-
- <para/>
- </sect1>
-
- <sect1 xml:id="vinum-intro">
- <info><title>Los Discos son Demasiado Pequeños</title>
- <authorgroup>
- <author><personname><firstname>Greg</firstname><surname>Lehey</surname></personname><contrib>Texto Original de </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm><primary>Vinum</primary></indexterm>
- <indexterm><primary>RAID</primary>
- <secondary>Software</secondary></indexterm>
-
- <para/>
-
- </sect1>
-
- <sect1 xml:id="vinum-access-bottlenecks">
- <title>Cuellos de Botella en el Acceso</title>
-
- <para/>
-
- <indexterm>
- <primary>concatenación de discos</primary>
- </indexterm>
- <indexterm>
- <primary>Vinum</primary>
- <secondary>concatenación</secondary>
- </indexterm>
-
-
- <para>
- <figure xml:id="vinum-concat">
- <title>Organización Concatenada</title>
- <mediaobject><imageobject><imagedata fileref="vinum/vinum-concat"/></imageobject></mediaobject>
- </figure>
- </para>
-
- <indexterm>
- <primary><quote>striping</quote> de discos</primary>
- </indexterm>
- <indexterm>
- <primary>Vinum</primary>
- <secondary><quote>striping</quote></secondary>
- </indexterm>
-
-
- <para/>
-
- <para>
- <figure xml:id="vinum-striped">
- <title>Organización con <quote>Striping</quote></title>
- <mediaobject><imageobject><imagedata fileref="vinum/vinum-striped"/></imageobject></mediaobject>
- </figure>
- </para>
- </sect1>
-
- <sect1 xml:id="vinum-data-integrity">
- <title>Integridad de Datos</title>
-
-
- <para/>
- <indexterm>
- <primary>Réplica de discos</primary>
- </indexterm>
- <indexterm>
- <primary>Vinum</primary>
- <secondary>réplicas</secondary>
- </indexterm>
- <indexterm>
- <primary>RAID-1</primary>
- </indexterm>
-
- <para>
- <figure xml:id="vinum-raid5-org">
- <title>Organización en RAID-5</title>
- <mediaobject><imageobject><imagedata fileref="vinum/vinum-raid5-org"/></imageobject></mediaobject>
- </figure>
- </para>
-
- </sect1>
-
- <sect1 xml:id="vinum-objects">
- <title>Objetos Vinum</title>
-
-
- <sect2>
- <title>Consideraciones sobre el Tamaño de los
- Volúmenes</title>
-
- <para/>
- </sect2>
-
- <sect2>
- <title>Almacenamiento Redundante de Datos</title>
- <para>
- </para>
-
- </sect2>
-
- <sect2>
- <title>Cuestiones Relacionadas con el Rendimiento</title>
-
- <para>
- </para>
-
- </sect2>
-
- <sect2>
- <title>Which Plex Organization?</title>
- <para>
- </para>
- </sect2>
- <sect2>
-
-
- <title>Vinum Plex Organizations</title>
-
- <para> </para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="vinum-examples">
- <title>Ejemplos</title>
-
- <para/>
- <sect2>
- <title>El Fichero de Configuración</title>
- <para>
- </para>
-
-
-
- <para>
- <figure xml:id="vinum-simple-vol">
- <title>Un Volumen Vinum Sencillo</title>
- <mediaobject><imageobject><imagedata fileref="vinum/vinum-simple-vol"/></imageobject></mediaobject>
- </figure>
- </para>
-
- </sect2>
-
- <sect2>
- <title>Increased Resilience: Mirroring</title>
-
-
- <para>
- <figure xml:id="vinum-mirrored-vol">
- <title>Un Volumen Vinum Replicado</title>
- <mediaobject><imageobject><imagedata fileref="vinum/vinum-mirrored-vol"/></imageobject></mediaobject>
- </figure>
- </para>
-
- </sect2>
-
- <sect2>
- <title>Optimización del Rendimiento</title>
-
- <para>
- <figure xml:id="vinum-striped-vol">
- <title>Un Volumen Vinum en <quote>Striping</quote></title>
- <mediaobject><imageobject><imagedata fileref="vinum/vinum-striped-vol"/></imageobject></mediaobject>
- </figure>
- </para>
-
- </sect2>
-
- <sect2>
- <title>Resilience and Performance</title>
-
- <para/>
-
-
- <para>
- <figure xml:id="vinum-raid10-vol">
- <title>Un Volumen Vinum Replicado y en
- <quote>Striping</quote></title>
- <mediaobject><imageobject><imagedata fileref="vinum/vinum-raid10-vol"/></imageobject></mediaobject>
- </figure>
- </para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="vinum-object-naming">
- <title>Esquema de Nombres de los Objetos</title>
-
- <para/>
- <itemizedlist>
- <listitem>
- <para>The control devices
- <filename>/dev/vinum/control</filename> and
- <filename>/dev/vinum/controld</filename>, which are used
- by &man.vinum.8; and the Vinum daemon respectively.</para>
- </listitem>
-
-
-
- </itemizedlist>
-
- <sect2>
- <title>Creación de un Sistema de Ficheros</title>
-
-
- <para>
- </para>
-
-
-
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="vinum-config">
- <title>Configuración de Vinum</title>
-
- <para/>
-
-
- <sect2>
- <title>Arranque</title>
-
- <para/>
-
-
- <sect3 xml:id="vinum-rc-startup">
- <title>Arranque Automático</title>
-
- <para/>
-
-
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="vinum-root">
- <title>Uso de Vinum en el Sistema de Ficheros Raíz</title>
-
- <para/>
-
-
-
- <sect2>
- <title>Inicio de Vinum en el Arranque para que Incluya el Sistema de
- Ficheros Raíz</title>
-
- <para> </para>
-
- </sect2>
-
- <sect2>
- <title>Configuración de un Volumen Raíz en Vinum
- Accesible Para la Secuencia de Arranque</title>
-
- <para/>
-
- </sect2>
-
- <sect2>
- <title>Ejemplo de Raíz basado en Vinum</title>
-
- <para/>
-
- </sect2>
-
- <sect2>
- <title>Solución de Problemas</title>
-
- <para/>
-
- <sect3>
- <title>La Secuencia de Arranque Carga Pero el Sistema no Arranca</title>
-
- <para/>
-
- </sect3>
-
- <sect3>
- <title>Sólo se Carga la Secuencia Primaria de Arranca</title>
-
- <para/>
-
- </sect3>
-
- <sect3 xml:id="vinum-root-panic">
- <title>No Hay Arranque, la Secuencia de Arranque da un
- Pánico</title>
-
- <para/>
- </sect3>
-
- </sect2>
-
- <sect2 xml:id="vinum-root-4x">
- <title>Particularidades de Vinum en FreeBSD 4.x</title>
-
- <para/>
-
-
- </sect2>
- </sect1>
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/virtualization/chapter.xml b/es_ES.ISO8859-1/books/handbook/virtualization/chapter.xml
deleted file mode 100644
index c564e000c9..0000000000
--- a/es_ES.ISO8859-1/books/handbook/virtualization/chapter.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/virtualization/chapter.xml
- %SRCID% 0.0
-
- $FreeBSD$
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="virtualization">
- <info><title>Virtualización</title>
- <authorgroup>
- <author><personname><firstname>Murray</firstname><surname>Stokely</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-<!-- 16/feb/2008. Capitulo vacio para evitar romper el build -->
-
-
-
- <sect1 xml:id="virtualization-synopsis">
- <title>*</title>
-
- <para>Pendiente de traducción.</para>
-
- </sect1>
-
-
-</chapter>
diff --git a/es_ES.ISO8859-1/books/handbook/x11/chapter.xml b/es_ES.ISO8859-1/books/handbook/x11/chapter.xml
deleted file mode 100755
index 569c29925d..0000000000
--- a/es_ES.ISO8859-1/books/handbook/x11/chapter.xml
+++ /dev/null
@@ -1,1802 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/x11/chapter.xml
- %SRCID% 1.190
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/x11/chapter.xml,v 1.5 2004/10/09 01:38:16 jesusr Exp $
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="x11">
- <info><title>El sistema X Window</title>
- <authorgroup>
- <author><personname><firstname>Ken</firstname><surname>Tom</surname></personname><contrib>Actualizado al servidor X11 de X.Org por </contrib></author>
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml:id="x11-synopsis">
- <title>Sinopsis</title>
-
- <para>&os; usa X11 para proporcionar una potente interfaz
- gráfica. X11 es una implementación de código
- abierto del sistema X Window que incluye
- <application>&xorg;</application> y
- <application>&xfree86;</application>. En las versiones de
- &os; hasta &os;&nbsp;4.10-RELEASE y &os;&nbsp;5.3-RELEASE el
- sistema X window que se instalará por defecto es
- <application>&xfree86;</application>, el servidor X11
- distribuido por el proyecto &xfree86;. Después de
- &os;&nbsp;5.3-RELEASE el sistema X Window pasó a
- ser <application>&xorg;</application>, el servidor X11
- distribuido por la Fundación X.Org.</para>
-
- <para>Este capítulo cubre la instalación y
- configuración de X11 poniendo énfasis en
- <application>&xorg;</application>. Si quiere
- información sobre la configuración de
- <application>&xfree86;</application> o versiones
- anteriores de &xorg; consulte las versiones archivadas
- del «Handbook» de &os; en <uri xlink:href="http://docs.FreeBSD.org/doc/">http://docs.FreeBSD.org/doc/</uri>.</para>
-
- <para>Para mas información del hardware de vídeo
- que X11 soporta consulte la página web de <link xlink:href="http://www.x.org/">&xorg;</link>.</para>
-
-
- <para>Después de leer este capítulo usted
- sabrá:</para>
-
- <itemizedlist>
- <listitem>
- <para>Cuáles son los diferentes componentes del
- sistema X Window y como interoperan.</para>
- </listitem>
-
- <listitem>
- <para>Cómo instalar y configurar X11.</para>
- </listitem>
-
- <listitem>
- <para>Cómo instalar y usar diferentes gestores
- de ventanas.</para>
- </listitem>
-
- <listitem>
- <para>Cómo usar tipos de letra &truetype; en X11.
- </para>
- </listitem>
-
- <listitem>
- <para>Como preparar su sistema para iniciar la sesión
- de forma gráfica (<application>XDM</application>).</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo debería:</para>
-
- <itemizedlist>
- <listitem>
- <para>Saber cómo instalar software de terceros
- (<xref linkend="ports"/>).</para>
- </listitem>
- </itemizedlist>
-
- <note>
- <para>Este capítulo cubre la instalación y
- configuración de los servidores X11
- <application>&xorg;</application> y
- <application>&xfree86;</application>. La mayoría de los
- ficheros de configuración, órdenes y sintaxis son
- idénticos. En los casos en que haya diferencias se
- mostrará la sintaxis de
- <application>&xorg;</application> y
- <application>&xfree86;</application>.</para>
- </note>
-
- </sect1>
-
- <sect1 xml:id="x-understanding">
- <title>Entender X</title>
-
- <para>Usar X por primera vez puede resultar chocante para alguien
- familiarizado con otros entornos gráficos, como
- &microsoft.windows; o &macos;.</para>
-
- <para>No es necesario entender todos los detalles de los diferentes
- componentes de X y como interactúan, pero un conocimiento
- básico hace posible el sacarle más provecho a la
- potencia de X.</para>
-
- <sect2>
- <title>?Por qué X?</title>
-
- <para>X no es el primer sistema de ventanas escrito para &unix;
- pero es el más popular de todos ellos. El equipo original
- que desarrolló X trabajó en otro sistema de ventanas
- antes de escribir X. Ese sistema se llamó «W»
- (de «Window» que significa ventana en inglés).
- X era solo la siguiente letra en el alfabeto Romano.</para>
-
- <para>X se puede llamar «X»
- «X Window System», «X11» y de otras
- formas. También puede usar el término
- «X Windows» para describir X11 si lo que quiere es
- ofender a algunas personas; si quiere saber más sobre esto
- consulte &man.X.7;.</para>
- </sect2>
-
- <sect2>
- <title>El modelo cliente/servidor de X</title>
-
- <para>X fue diseñado desde el principio pensando en redes
- y adoptó un modelo «cliente-servidor».</para>
-
- <para>En el modelo de X el «servidor X» se ejecuta en la
- máquina que tiene el teclado, monitor y ratón. El servidor
- es responsable de manejar la pantalla, la entrada de datos a
- través del teclado, el ratón, etc. Cada
- aplicación X (como una <application>XTerm</application> o
- <application>&netscape;</application>) es un
- «cliente». Un cliente manda mensajes al servidor como
- «Por favor dibuja una ventana en estas coordenadas» y el
- servidor devuelve mensajes como «El usuario ha pulsado el
- botón OK».</para>
-
- <para>Sí solo hay un ordenador involucrado, como en una
- casa o una pequeña oficina, el servidor X y los clientes
- X seguramente se ejecutarán en el mismo sistema. Sin embargo, es
- perfectamente posible ejecutar el servidor X en un sistema de
- escritorio menos potente y ejecutar las aplicaciones X (los
- clientes) en, por ejemplo, la potente y cara máquina que sirve
- la oficina. En este panorama la comunicación entre el
- cliente X y el servidor tiene lugar a través de la red.</para>
-
- <para>Esto confunde a algunas personas, porque la terminología es
- exactamente opuesta a lo que ellos esperan. Ellos esperan que el
- «servidor X» sea la máquina grande que hay en el
- sótano y que el «cliente X» sea la máquina
- de su mesa.</para>
-
- <para>Es importante que recuerde que el servidor X es la
- máquina con el monitor y el teclado y que los clientes
- X son los programas que muestran las ventanas.</para>
-
- <para>No hay nada en el protocolo que obligue a que el cliente y el
- servidor tengan que usar el mismo sistema operativo o incluso que
- estén en el mismo sistema. Es posible ejecutar un servidor X
- en &microsoft.windows; o en el &macos; de Apple; de hecho hay varias
- aplicaciones libres y comerciales que hacen exactamente eso.</para>
-
- <para>A partir de &os;&nbsp;5.3-RELEASE, el servidor X que se instala
- con &os; es <application>&xorg;</application>, que es libre y
- se distribuye bajo una licencia muy similar a la de &os;.
- También hay servidores X comerciales para &os;.</para>
- </sect2>
-
- <sect2>
- <title>El gestor de ventanas</title>
-
- <para>La filosofía de diseño de X es más parecida
- a la de &unix;: «herramientas, no normas». Esto
- significa que X no impone cómo debe hacerse una tarea. En
- lugar de eso proporciona herramientas al usuario y es responsabilidad
- suya decidir qué hacer con ellas.</para>
-
- <para>Esta filosofía se extiende a X; no impone como deben verse
- las ventanas en la pantalla, cómo moverlas con el ratón,
- qué teclas deberían usarse para moverse entre ventanas
- (por ejemplo <keycombo action="simul">
- <keycap>Alt</keycap>
- <keycap>Tab</keycap>
- </keycombo>, en &microsoft.windows;), cómo deben ser las
- barras de título en cada ventana, si tienen o no botón
- de cierre, etc.</para>
-
- <para>En lugar de eso X delega esta responsabilidad en una
- aplicación llamada «gestor de ventanas». Hay
- docenas de gestores de ventanas disponibles para X:
- <application>AfterStep</application>,
- <application>Blackbox</application>, <application>ctwm</application>,
- <application>Enlightenment</application>,
- <application>fvwm</application>, <application>Sawfish</application>,
- <application>twm</application>,
- <application>Window Maker</application>, etc. Cada uno de estos
- gestores de ventanas tiene un aspecto diferente; algunos soportan
- «escritorios virtuales»; otros permiten personalizar las
- teclas para manejar el escritorio; otros tienen un botón de
- «Inicio» o algo similar; otros tienen
- «diseños modificables», permitiendo un cambio
- completo del aspecto mediante un nuevo diseño. Estos gestores
- de ventanas, y muchos otros, están en la
- categoría <filename>x11-wm</filename> de los ports.</para>
-
- <para>Además, los entornos de escritorio
- <application>KDE</application> y <application>GNOME</application>
- tienen sus propios gestores de ventanas integrados con el
- escritorio.</para>
-
- <para>Cada gestor de ventanas tiene diferentes mecanismos de
- configuración; en algunos debe escribir el fichero de
- configuración a mano, otros tienen herramientas gráficas
- para la mayor parte de la configuración; y al menos uno
- (<application>Sawfish</application>) tiene un fichero de
- configuración escrito en un dialecto del lenguaje Lisp.</para>
-
- <note>
- <title>Política de foco</title>
-
- <para>Otra responsabilidad del gestor de ventanas es la
- «política de foco» del ratón. Todos los
- sistemas de ventanas necesitan algo para elegir una ventana activa
- que recibirá los eventos y también debieran indicar
- claramente qué ventana está activa.
- </para>
-
- <para>Una política muy popular es la de «click to
- focus». Este es el modelo que utiliza
- &microsoft.windows;, en el que una ventana se convierte en activa
- al recibir un clic del ratón.
- </para>
-
- <para>X no tiene ninguna política de foco. En lugar de eso el
- gestor de ventanas controla qué ventana tiene el foco en todo
- momento. Los diferentes gestores de ventanas tienen diferentes
- políticas de foco. Todos soportan la política
- «clic-para-foco» y la mayoría de ellos
- también soportan otros métodos.</para>
-
- <para>Las políticas de foco más populares son:</para>
-
- <variablelist>
- <varlistentry>
- <term>el-foco-sigue-al-ratón
- (<literal>focus-follows-mouse</literal>)</term>
-
- <listitem>
- <para>La ventana que esta bajo el puntero del ratón es
- la ventana que tiene el foco. No es necesario que la ventana
- esté encima de las demás ventanas. El foco se
- cambia al apuntar a otra ventana, aunque no es necesario hacer
- clic en ella.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>foco-descuidado
- <literal>sloppy-focus</literal></term>
-
- <listitem>
- <para>Esta política es una pequeña
- extensión de
- «el-foco-sigue-al-ratón». En
- «el-foco-sigue-al-ratón» si el
- ratón se mueve sobre la ventana raíz (o fondo)
- ninguna ventana tiene el foco y las pulsaciones del
- teclado se perderán. Con la política
- «foco-descuidado» el foco sólo cambia
- cuando el cursor entra en una nueva ventana y no cuando
- sale de la ventana actual.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>click-para-foco
- <literal>click-to-focus</literal></term>
-
- <listitem>
- <para>La ventana activa se selecciona con un clic del
- ratón. La ventana se puede «levantar»
- y aparecer delante de las demás ventanas. Todas las
- pulsaciones de teclado serán redirigidas a esa ventana
- aunque el cursor se mueva a otra ventana.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Muchos gestores de ventanas soportan otras políticas o
- variaciones de estas. Consulte la documentación del propio
- gestor de ventanas.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>Widgets</title>
-
- <para>La idea de X de hacer herramientas en vez de normas
- y se extiende a los «widgets» que se ven en la
- pantalla de cada aplicación.</para>
-
- <para>«Widget» es un término que abarca todos los
- objetos en el interfaz de usuario que pueden pulsarse con el
- ratón manipularse de alguna manera: botones,
- «check boxes», listas, etc. &microsoft.windows; los
- llama «controles».</para>
-
- <para>&microsoft.windows; y &macos; de Apple tienen una política
- de «widgets» muy rígida. Se supone que los
- desarrolladores de aplicaciones comparten el aspecto. En X no se
- consideró imponer un estilo gráfico o un conjunto de
- «widgets» al que adherirse.</para>
-
- <para>Como resultado no se puede esperar que las aplicaciones de X
- tengan un aspecto homogéneo. Hay varios conjuntos de
- «widgets» y variaciones muy populares como el
- «widget» Athena creado en el MIT,
- <application>&motif;</application> (donde los «widgets»
- de &microsoft.windows; fueron modelados, con todos los bordes
- biselados y tres tonos de gris), <application>OpenLook</application>,
- y otros.</para>
-
- <para>Las aplicaciones más modernas de X usan un conjunto
- de «widgets» con mejor aspecto, o Qt, utilizado
- por <application>KDE</application>, o GTK+, que usa el proyecto
- <application>GNOME</application>. Se intenta que el aspecto del
- escritorio de &unix; sea parecido, lo que hace la vida más
- fácil al usuario novato.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="x-install">
- <title>Instalar X11</title>
-
- <para><application>&xorg;</application> es la implementación
- de X11 por omisión en &os;. <application>&xorg;</application>
- está basado en código de
- <application>&xfree86;&nbsp;4.4RC2</application> y X11R6.6.
- La versión de <application>&xorg;</application> que se
- distribuye actualmente en la Colección de Ports de &os; es
- la &xorg.version;.</para>
-
- <para>Para compilar e instalar <application>&xorg;</application>
- desde la colección de ports:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <note>
- <para>Si quiere compilar e instalar <application>&xorg;</application>
- entero, asegúrese de tener como mínimo
- 2GB de espacio disponible.</para>
- </note>
-
-
- <para>Si lo prefiere puede instalar &xorg; con packages. Cuando
- utilice la capacidad de &man.pkg.add.1; para instalar packages
- que descargue remotamente recuerde que no debe escribir el
- número de versión. &man.pkg.add.1; descargará
- automáticamente la última versión de la
- aplicación..</para>
-
- <para>Veamos qué es lo que hay que hacer para descargar e
- instalar el package de
- <application>&xorg;</application>:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r xorg</userinput></screen>
-
- <note><para>El anterior ejemplo instala la distribución X11
- completa, es decir, servidores, clientes, tipos de letra, etc.
- Hay packages y ports con cada uno de esos elementos por
- separado.</para></note>
-
- <para>En el resto del capítulo se explica cómo
- configurar X11 y cómo configurar un entorno de escritorio
- que le resulte productivo.</para>
-
-
- </sect1>
-
- <sect1 xml:id="x-config">
- <info><title>Configuración de X11</title>
- <authorgroup>
- <author><personname><firstname>Christopher</firstname><surname>Shumway</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm><primary>&xorg;</primary></indexterm>
- <indexterm><primary>X11</primary></indexterm>
-
- <sect2>
- <title>Antes de empezar</title>
-
- <para>Antes de configurar X11 necesitará la siguiente
- información sobre el sistema:</para>
-
- <itemizedlist>
- <listitem><para>Especificaciones del monitor</para></listitem>
- <listitem><para>Chipset de la tarjeta de vídeo</para>
- </listitem>
- <listitem><para>Memoria de la tarjeta de vídeo</para>
- </listitem>
- </itemizedlist>
-
- <indexterm><primary>horizontal scan rate</primary></indexterm>
- <indexterm><primary>vertical scan rate</primary></indexterm>
-
- <para>X11 usa las especificaciones del monitor para determinar
- la resolución y la frecuencia de refresco a la que
- funcionará. Estas especificaciones se pueden encontrar
- normalmente en la documentación que viene con el monitor o
- en la web del fabricante. Se necesitan dos rangos de números: la
- frecuencia de refresco horizontal y la vertical.</para>
-
- <para>El chipset de la tarjeta de vídeo define qué
- controlador utilizará X11 para comunicarse con el hardware
- gráfico. Con la mayoría de chipsets es posible
- detectarlo automáticamente pero es útil saberlo en
- caso de que la detección automática no
- funcione.</para>
-
- <para>La memoria de la tarjeta gráfica determina la
- resolución y la profundidad de color a la que el sistema
- funcionará. Es importante saberlo para que el usuario
- conozca las limitaciones del sistema.</para>
-
- </sect2>
-
- <sect2>
- <title>Configurar X11</title>
-
-
-<!--
-
- hemendik
-
- -->
-
-
- <para>A partir de la versión 7.3
- <application>&xorg;</application> puede funcionar sin utilizar
- fichero de configuración; basta con teclear en el
- prompt:</para>
-
- <screen>&prompt.user; <userinput>startx</userinput></screen>
-
- <para>Si no funciona, o si la configuración por
- omisión no es aceptable, hay que configurar X11
- a mano.</para>
-
- <note>
- <para>Ciertos entornos de escritorio como
- <application>GNOME</application>,
- <application>KDE</application> o
- <application>XFce</application> tienen herramientas que permiten
- al usuario configurar fácilmente parámetros
- de la pantalla como la resolución. Si la
- configuración por omisión no sirve y tiene
- idea de instalar un entorno de escritorio puede seguir
- adelante tranquilamente con la instalación del entorno
- de escritorio y utilice la herramienta que el software que
- instale le facilite.</para>
- </note>
-
- <para>La configuración de X11 es un proceso que consta de
- múltiples pasos. El primero es generar un fichero inicial
- de configuración. Como superusuario teclee:</para>
-
- <screen>&prompt.root; <userinput>Xorg -configure</userinput></screen>
-
- <para>Esto generará un fichero de configuración
- bastante esquemático pero completo en
- <filename>/root</filename> llamado
- <filename>xorg.conf.new</filename> (si ha utilizado &man.su.1; o
- ha entrado directamente como superusuario afectará al valor
- que tenga la variable de directorio
- <envar>$HOME</envar>). X11 intentará probar el hardware
- gráfico del sistema y escribir un fichero de
- configuración en el que registrar los controladores de
- dispositivo adecuados para hacer funcionar el harware que haya
- detectado.</para>
-
- <para>El siguiente paso es probar el fichero generado para
- verificar si <application>&xorg;</application>
- puede funcionar con el hardware gráfico del sistema. Para
- ello teclee:</para>
-
- <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new</userinput></screen>
-
- <para>Si aparece una rejilla negra y gris junto con el cursor del
- ratón con forma de X es que la configuración ha
- tenido éxito. Para salir de la prueba pulse
- simultáneamente
- <keycombo action="simul">
- <keycap>Ctrl</keycap>
- <keycap>Alt</keycap>
- <keycap>Retroceso</keycap>
- </keycombo>.</para>
-
- <note><para>Si el ratón no funciona tendrá que
- configurarlo antes de continuar. Consulte la
- <xref linkend="mouse"/> en el capítulo de instalación
- de &os;.</para></note>
-
- <indexterm><primary>X11 tuning</primary></indexterm>
-
- <para>Después modifique el fichero <filename>xorg.conf.new</filename>
- a su gusto. Abra el fichero con un editor de texto (como
- &man.emacs.1; o &man.ee.1;). Primero añada las frecuencias
- del monitor. Estas suelen estar expresadas en frecuencia de refresco
- horizontal y vertical. Estos valores se añaden al fichero
- <filename>xorg.conf.new</filename> en la sección
- <literal>"Monitor"</literal>:</para>
-
- <programlisting>Section "Monitor"
- Identifier "Monitor0"
- VendorName "Monitor Vendor"
- ModelName "Monitor Model"
- HorizSync 30-107
- VertRefresh 48-120
-EndSection</programlisting>
-
-
-
- <para>Las palabras <literal>HorizSync</literal> y
- <literal>VertRefresh</literal> podrían no existir en el
- fichero de configuración. Si no existen es necesario
- añadirlas con la frecuencia horizontal correcta puesta
- después de la palabra <literal>HorizSync</literal> y la
- frecuencia vertical correcta después de la palabra
- <literal>VertRefresh</literal>. En el ejemplo anterior se pusieron
- las frecuencias del monitor.</para>
-
- <para>X permite usar las características DPMS (Energy Star)
- con los monitores que lo soportan. El programa &man.xset.1; controla
- el «timeout», y puede forzar los modos
- «standby», suspendido o apagado. Si desea habilitar las
- características DPMS para su monitor tendrá que
- añadir la siguiente línea en la sección
- <literal>monitor</literal>:</para>
-
-
- <programlisting>
- Option "DPMS"</programlisting>
-
- <indexterm>
- <primary><filename>xorg.conf</filename></primary>
- </indexterm>
-
-
- <para>Agrege a su
- <filename>xorg.conf.new</filename>
- la resolución por omisión y la profundidad de
- color deseada. Esto se define en la sección
- <literal>"Screen"</literal>:</para>
-
- <programlisting>Section "Screen"
- Identifier "Screen0"
- Device "Card0"
- Monitor "Monitor0"
- DefaultDepth 24
- SubSection "Display"
- Viewport 0 0
- Depth 24
- Modes "1024x768"
- EndSubSection
-EndSection</programlisting>
-
-
- <para>La palabra <literal>DefaultDepth</literal> describe la profundidad
- de color a la que arrancará por omisión. Esto puede
- sobrescribirse con el argumento <command>-bpp</command> de
- &man.Xorg.1; (o &man.XFree86.1;). La palabra <literal>Modes</literal>
- describe la resolución a la que funcionará para esa
- profundidad de color. Observe que sólo los modos
- estándar VESA están soportados por el hardware
- gráfico. En el ejemplo anterior la profundidad de color es
- 24 bits por pixel. En esta profundidad de color la resolución
- aceptada es 1024 por 768 pixels.</para>
-
- <para>Para acabar guarde el fichero de configuración y
- pruébelo usando el modo de prueba descrito anteriormente
- </para>
-
- <note>
- <para>Una de las herramientas disponibles para ayudarle con el
- proceso de solución de problemas es el fichero de
- «logs», que contiene información de cada
- dispositivo al que el servidor X11 se conecta. Los
- «logs» (o bitácoras) de
- <application>&xorg;</application> se pueden encontrar en
- <filename>/var/log/Xorg.0.log</filename>
- El nombre exacto del fichero de «log» puede variar
- entre <filename>Xorg.0.log</filename> y
- <filename>Xorg.8.log</filename> y así
- sucesivamente.</para>
- </note>
-
-
- <para>Si todo ha ido bien ha llegado el momento de ubicar el
- fichero de configuración donde &man.Xorg.1; pueda
- encontrarlo. Puede dejarlo en
- <filename>/etc/X11/xorg.conf</filename> o
- <filename>/usr/local/etc/X11/xorg.conf</filename>.</para>
-
- <screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen>
-
- <para>El proceso de configuración de X11 ha concluido.
- Arranque <application>&xorg;</application> mediante
- &man.startx.1;. Puede también arrancar el servidor X11
- utilizando &man.xdm.1;.</para>
-
- <note><para>Existe también una herramienta gráfica de
- configuración en X11, &man.xorgcfg.1;. Permite definir de
- forma interactiva su configuració mediante la elección
- de los controladores y las opciones adecuadas. Este programa
- también puede usarse desde consola mediante la orden
- <command>xorgcfg -textmode</command>. Para más
- información consulte la página de manual de
- &man.xorgcfg.1;.</para>
-
- <para>Puede usar también &man.xorgconfig.1;. Este programa es
- una herramienta orientada a consola que es bastante menos atractiva
- para el usuario, pero que puede funcionar en situaciones en las que
- otras herramientas no sirven.</para></note>
-
-
-
- </sect2>
-
- <sect2>
- <title>Configuración avanzada</title>
-
- <sect3>
- <title>Configuración de chipsets gráficos &intel;
- i810</title>
-
- <indexterm><primary>Intel i810 graphic chipset</primary></indexterm>
-
- <para>Para configurar los chipsets integrados &intel; i810 es
- necesario el interfaz de programación AGP
- <filename>agpart</filename> para que
- X11 pueda usarla. Consulte la página de manual de
- &man.agp.4; para más información.</para>
-
-
- <para>Hecho esto podrá configurar el hardware como cualquier
- otra tarjeta gráfica. Tenga en cuenta que si en un
- sistema que no tenga el controlador &man.agp.4; intenta cargar
- el módulo del kernel con &man.kldload.8; no va a
- funcionar. El controlador tiene necesariamente que estar en el
- kernel desde el mismo momento del arranque, cosa que puede
- obtenerse bien compilando un nuevo kernel, bien utilizando
- <filename>/boot/loader.conf</filename>.</para>
- </sect3>
-
-
-
- <sect3>
- <title>Añadir una pantalla panorámica a nuestro sistema</title>
-
- <indexterm><primary>widescreen flatpanel configuration</primary></indexterm>
-
- <para>A lo largo de esta sección se asumen unos mínimos
- de soltura con ciertos aspectos de configuración avanzada. Si
- Si las herramientas estándar de configuración que se
- han descrito previamente no le ayudan a tener una
- configuración funcional busque en los ficheros de log,
- ahí encontrará información suficiente para
- lograrlo. Tendrá que utilizar un editor de texto a lo
- largo de estas instrucciones.</para>
-
- <para>Los formatos actuales de pantalla panorámica,
- (también conocidas como «Widescreen», WSXGA,
- WSXGA+, WUXGA, WXGA, WXGA+, etc, soportan formatos de
- 16:10 y 10:9 o aspectos-tasa que pueden ser
- problemáticos. Veamos algunos ejemplos de resoluciones de
- pantalla en formatos 16:10:</para>
-
- <itemizedlist>
- <listitem><para>2560x1600</para></listitem>
- <listitem><para>1920x1200</para></listitem>
- <listitem><para>1680x1050</para></listitem>
- <listitem><para>1440x900</para></listitem>
- <listitem><para>1280x800</para></listitem>
- </itemizedlist>
-
- <para>At some point, it will be as easy as adding one of these
- resolutions as a possible <literal>Mode</literal> in the <literal>Section
- "Screen"</literal> as such:</para>
-
- <programlisting>Section "Screen"
-Identifier "Screen0"
-Device "Card0"
-Monitor "Monitor0"
-DefaultDepth 24
-SubSection "Display"
- Viewport 0 0
- Depth 24
- Modes "1680x1050"
-EndSubSection
-EndSection</programlisting>
-
- <para><application>&xorg;</application> se basta y se sobra para
- recabar la información de resolución de su pantalla
- panorámica mediante la información
- I2C/DDC, así que sabe qué frecuencias y
- resoluciones puede manejar el monitor.</para>
-
- <para>Si esas <literal>ModeLines</literal> no existen en los
- controladores tendrá usted que ayudar un poco a
- <application>&xorg;</application>. Lea atentamente el contenido
- de <filename>/var/log/Xorg.0.log</filename>; de él
- podrá extraer suficiente información como para
- crear un <literal>ModeLine</literal> que funcione. Todo lo que
- tiene que hacer es buscar información que se parezca
- a esta:</para>
-
- <programlisting>(II) MGA(0): Supported additional Video Mode:
-(II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm
-(II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0
-(II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0
-(II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz</programlisting>
-
- <para>Esta información se llama información EDID. Para
- crear una <literal>ModeLine</literal> a partir de estos datos solamente
- tiene que poner los números en el orden correcto:</para>
-
- <programlisting>ModeLine &lt;name&gt; &lt;clock&gt; &lt;4 horiz. timings&gt; &lt;4 vert. timings&gt;</programlisting>
-
- <para>Así que la <literal>ModeLine</literal>
- en la <literal>Section "Monitor"</literal> del ejemplo
- tendría este aspecto:</para>
-
- <programlisting>Section "Monitor"
-Identifier "Monitor1"
-VendorName "Bigname"
-ModelName "BestModel"
-ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
-Option "DPMS"
-EndSection</programlisting>
-
- <para>Como ve, con un poco de edición hemos culminado la tarea
- y X debería ya poder arrancar sin problemas en su nuevo
- monitor panorámico.</para>
- </sect3>
-
- </sect2>
- </sect1>
- <sect1 xml:id="x-fonts">
- <info><title>Uso de tipos en X11</title>
- <authorgroup>
- <author><personname><firstname>Murray</firstname><surname>Stokely</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
-
- <sect2 xml:id="type1">
- <title>Tipos Type1</title>
-
- <para>Los tipos que X11 incluye por omisión no son precisamente
- ideales para las aplicaciones típicas. Los tipos grandes para
- presentaciones
- aparecen dentados y con un aspecto poco profesional, mientras
- que los tipos pequeños en
- <application>&netscape;</application> son prácticamente
- ilegibles. Sin embargo hay varios tipos de letra libres
- Type1 de alta calidad (&postscript;) que se pueden usar con
- X11. Por ejemplo los tipos URW
- (<package>x11-fonts/urwfonts</package>) incluyen
- una versión de alta calidad de los tipos estándar Type
- 1 (<trademark class="registered">Times Roman</trademark>,
- (<trademark class="registered">Helvetica</trademark>,
- (<trademark class="registered">Palatino</trademark>, y muchas otras).
- Las Freefonts (<package>x11-fonts/freefonts</package>
- ) incluyen muchas más pero la mayoría están
- pensadas para usarse con software gráfico como el
- <application>Gimp</application> y no son lo bastante completos para
- usarse como tipos de pantalla. Además X11 se
- puede configurar para usar tipos &truetype; con un
- esfuerzo mínimo. Para más detalles sobre esto consulte
- la página del manual &man.X.7; o la
- <link linkend="truetype">sección de tipos &truetype;</link>.</para>
-
- <para>Para instalar los tipos Type1 desde
- los ports ejecute las siguientes órdenes:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>Proceda del mismo modo con los FreeFonts o cualesquiera otras.
- Para que el servidor X las detecte añada la siguiente
- línea al fichero de configuración de X
- (<filename>/etc/X11/xorg.conf</filename>:</para>
-
- <programlisting>FontPath "/usr/X11R6/lib/X11/fonts/URW/"</programlisting>
-
- <para>o bien desde una emulación de terminal durante una
- sesión X ejecute</para>
-
- <screen>&prompt.user; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/URW</userinput>
-&prompt.user; <userinput>xset fp rehash</userinput></screen>
-
- <para>Esto funcionará hasta que la sesión X se cierre a
- menos que lo añada a su fichero de inicio
- (<filename>~/.xinitrc</filename> en el caso de una sesión
- <command>startx</command> normal o <filename>~/.xsession</filename>
- si hace login desde un gestor gráfico como
- <application>XDM</application>). Una tercera forma sería
- usando el nuevo fichero
- <filename>/usr/X11R6/etc/fonts/local.conf</filename>:
- consulte la sección de <link linkend="antialias">anti-aliasing</link>.
- </para>
- </sect2>
-
- <sect2 xml:id="truetype">
- <title>Tipos &truetype;</title>
-
- <indexterm><primary>Tipos TrueType</primary></indexterm>
- <indexterm><primary>fonts</primary>
- <secondary>TrueType</secondary>
- </indexterm>
-
- <para><application>&xorg;</application> se diseñó
- pensando en que utilizara tipos &truetype;. Hay dos
- módulos diferentes que pueden habilitar esta opción. El
- módulo freetype se usa en en este ejemplo porque es más
- consistente con el resto de «back-ends» de
- representación. Para habilitar el módulo freetype debe
- añadir la siguiente línea a la sección
- <literal>"Module"</literal> del fichero
- <filename>/etc/X11/xorg.conf</filename>.</para>
-
- <programlisting>Load "freetype"</programlisting>
-
- <para>Ahora haga un directorio para los tipos &truetype; (por ejemplo
- <filename>/usr/X11R6/lib/X11/fonts/TrueType</filename>) y copie todos
- los tipos &truetype; en este directorio. Recuerde que los
- tipos &truetype; no se pueden coger directamente de
- un &macintosh;; tienen que estar en formato &unix;/&ms-dos;/&windows;
- para usarlas con X11. Una vez que los ficheros
- se hayan copiado en este directorio use
- <application>ttmkfdir</application> para crear un fichero
- <filename>fonts.dir</filename>, para que el representador de tipos
- de X sepa que se han instalado estos ficheros
- nuevos. <command>ttmkfdir</command> forma parte de la Colección
- de Ports de &os;: <package>x11-fonts/ttmkfdir</package>.
- </para>
-
-<screen>&prompt.root; <userinput>cd /usr/local/lib/X11/fonts/TrueType</userinput>
-&prompt.root; <userinput>ttmkfdir -o fonts.dir</userinput></screen>
-
- <para>Ahora añada el directorio &truetype; a la ruta de
- tipos. Esto es igual que lo anteriormente descrito sobre los
- tipos <link linkend="type1">Type1</link>. Ejecute:</para>
-
-<screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/TrueType</userinput>
-&prompt.user; <userinput>xset fp rehash</userinput></screen>
-
-
- <para>o añada una línea <literal>FontPath</literal> en su
- <filename>/etc/X11/xorg.conf</filename>.</para>
-
- <para>Esto es todo. Ahora <application>&netscape;</application>,
- <application>Gimp</application>,
- <application>&staroffice;</application> y el resto de aplicaciones X
- debieran reconocer los tipos &truetype; instalados.
- Los tipos muy pequeños (como el texto en una pantalla con
- alta resolución viendo una página web) y los
- tipos muy grandes (Dentro de
- <application>&staroffice;</application>) se verán
- muchísimo mejor ahora.</para>
- </sect2>
-
- <sect2 xml:id="antialias">
- <info><title>Tipos Anti-Aliasing</title>
- <authorgroup>
- <author><personname><firstname>Joe Marcus</firstname><surname>Clarke</surname></personname><contrib>Actualizado por </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>anti-aliased fonts</primary></indexterm>
- <indexterm><primary>fonts</primary>
- <secondary>anti-aliased</secondary></indexterm>
-
- <para>Los «tipos anti-aliasing» han estado en
- X11 desde
- <application>&xfree86;</application> 4.0.2. Aunque la
- configuración de los tipos era incómoda
- antes de
- <application>&xfree86;</application> 4.3.0. A partir de
- <application>&xfree86;</application> 4.3.0 todos los
- tipos de X11 que se encuentren en
- <filename>/usr/local/lib/X11/fonts/</filename> y
- <filename>~/.fonts/</filename> están disponibles
- automáticamente para aplicaciones que soporten Xft. No todas
- las aplicaciones soportan Xft pero muchas ya tienen soporte
- Xft. Ejemplos de aplicaciones que lo soportan son Qt 2.3 o superior
- (el «toolkit» del escritorio
- <application>KDE</application>), GTK+ 2.0 o superior (el
- «toolkit» del escritorio <application>GNOME</application>
- ) y <application>Mozilla</application> 1.2 o superior.</para>
-
- <para>Para controlar qué tipos
- «anti-aliasing» o configurar las propiedades
- «anti-aliasing» crée (o edite, si ya existe)
- el fichero
- <filename>/usr/local/etc/fonts/local.conf</filename>. Se pueden
- modificar diversas opciones avanzadas del sistema de tipos Xft
- usando este fichero; esta sección describe solo algunas
- posibilidades simples. Para más detalles consulte
- &man.fonts-conf.5;.</para>
-
- <indexterm><primary>XML</primary></indexterm>
-
- <para>Este fichero tiene que estar en formato XML. Preste especial
- atención a las mayúsculas y minúsculas y
- asegúrese de que las etiquetas están cerradas
- correctamente. El fichero empieza con la típica cabecera XML
- seguida de una definición DOCTYPE y después la etiqueta
- <literal>&lt;fontconfig&gt;</literal>:</para>
-
- <programlisting>
- &lt;?xml version="1.0"?&gt;
- &lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;
- &lt;fontconfig&gt;
- </programlisting>
-
- <para>Como se ha dicho antes todos los tipos en
- <filename>/usr/local/lib/X11/fonts/</filename> y en
- <filename>~/.fonts/</filename> están ya disponibles para las
- aplicaciones que soporten Xft. Si usted desea añadir otro
- directorio además de estos dos árboles de directorios
- añada una línea similar a esta en el fichero
- <filename>/usr/local/etc/fonts/local.conf</filename>:</para>
-
- <programlisting>&lt;dir&gt;/ruta/de/mis/tipos&lt;/dir&gt;</programlisting>
-
- <para>Después de añadir los nuevos tipos,
- y en especial los nuevos directorios de tipos,
- debe ejecutar la siguiente orden para
- reconstruir la caché de tipos:</para>
-
- <screen>&prompt.root; <userinput>fc-cache -f</userinput></screen>
-
- <para>Los «tipos anti-aliasing» hacen los bordes
- ligeramente borrosos, lo que hace que el texto muy
- pequeño sea más legible y elimina los escalones del
- texto grande pero puede causar fatiga visual aplicada al texto
- normal. Para excluir los tipos de menos de 14
- puntos del «anti-aliasing» incluya las siguientes
- líneas:</para>
-
- <programlisting> &lt;match target="font"&gt;
- &lt;test name="size" compare="less"&gt;
- &lt;double&gt;14&lt;/double&gt;
- &lt;/test&gt;
- &lt;edit name="antialias" mode="assign"&gt;
- &lt;bool&gt;false&lt;/bool&gt;
- &lt;/edit&gt;
- &lt;/match&gt;
- &lt;match target="font"&gt;
- &lt;test name="pixelsize" compare="less" qual="any"&gt;
- &lt;double&gt;14&lt;/double&gt;
- &lt;/test&gt;
- &lt;edit mode="assign" name="antialias"&gt;
- &lt;bool&gt;false&lt;/bool&gt;
- &lt;/edit&gt;
- &lt;/match&gt;</programlisting>
-
- <indexterm><primary>fonts</primary>
- <secondary>spacing</secondary></indexterm>
-
- <para>El espacio entre algunos tipos también
- podría ser inapropiado con «anti-aliasing», por ejemplo
- en el caso de <application>KDE</application>.
- Una posible solución para esto es forzar que el espacio entre
- los tipos sea 100. Añada las siguientes
- líneas:</para>
-
- <programlisting> &lt;match target="pattern" name="family"&gt;
- &lt;test qual="any" name="family"&gt;
- &lt;string&gt;fixed&lt;/string&gt;
- &lt;/test&gt;
- &lt;edit name="family" mode="assign"&gt;
- &lt;string&gt;mono&lt;/string&gt;
- &lt;/edit&gt;
- &lt;/match&gt;
- &lt;match target="pattern" name="family"&gt;
- &lt;test qual="any" name="family"&gt;
- &lt;string&gt;console&lt;/string&gt;
- &lt;/test&gt;
- &lt;edit name="family" mode="assign"&gt;
- &lt;string&gt;mono&lt;/string&gt;
- &lt;/edit&gt;
- &lt;/match&gt;</programlisting>
-
- <para>(Esto selecciona los otros nombres comunes para
- «tipos fixed» como <literal>"mono"</literal>);
- añada también lo siguiente:</para>
-
- <programlisting> &lt;match target="pattern" name="family"&gt;
- &lt;test qual="any" name="family"&gt;
- &lt;string&gt;mono&lt;/string&gt;
- &lt;/test&gt;
- &lt;edit name="spacing" mode="assign"&gt;
- &lt;int&gt;100&lt;/int&gt;
- &lt;/edit&gt;
- &lt;/match&gt; </programlisting>
-
- <para>Algunos tipos, como Helvetica, podrían
- tener problemas con «anti-aliasing». Normalmente esto
- se manifiesta en tipos que parecen cortados verticalmente por la
- mitad. En el peor de los casos podría causar que el
- funcionamiento de aplicaciones como
- <application>Mozilla</application> se interrumpiese. Para evitar
- esto puede añadir lo siguiente a
- <filename>local.conf</filename>:
- </para>
-
- <programlisting> &lt;match target="pattern" name="family"&gt;
- &lt;test qual="any" name="family"&gt;
- &lt;string&gt;Helvetica&lt;/string&gt;
- &lt;/test&gt;
- &lt;edit name="family" mode="assign"&gt;
- &lt;string&gt;sans-serif&lt;/string&gt;
- &lt;/edit&gt;
- &lt;/match&gt; </programlisting>
-
- <para>Una vez que haya terminado de editar
- <filename>local.conf</filename> asegúrese de que el fichero
- termina con la etiqueta <literal>&lt;/fontconfig&gt;</literal>. Si no
- lo hace los cambios que haya hecho serán ignorados.</para>
-
- <para>Los tipos por omisión que vienen con
- X11 no son los ideales para «anti-aliasing».
- Puede encontrar otros mucho mejores en el port
- <package>x11-fonts/bitstream-vera</package>. Este
- port instalará el fichero
- <filename>/usr/local/etc/fonts/local.conf</filename> si aun no se ha
- creado. Si el fichero existe el port creara el fichero
- <filename>/usr/local/etc/fonts/local.conf-vera</filename>. Combine
- el contenido de este fichero con
- <filename>/usr/local/etc/fonts/local.conf</filename> y los tipos
- Bitstream reemplazarán automáticamente los
- tipos por defecto por X11 Serif, Sans Serif y
- Monospaced.</para>
-
- <para>Por si esto fuera poco los usuarios pueden añadir sus
- propios ajustes mediante sus ficheros personales
- <filename>.fonts.conf</filename>. Los usuarios que deseen hacerlo
- deberán crear un fichero <filename>~/.fonts.conf</filename>.
- Este fichero tiene que estar también en formato XML.</para>
-
- <indexterm><primary>LCD screen</primary></indexterm>
- <indexterm><primary>Fonts</primary>
- <secondary>LCD screen</secondary></indexterm>
-
- <para>Un último punto: con pantallas LCD sería
- deseable un muestreo de subpixel, que consiste en configurar los
- componentes (separados horizontalmente) rojo, verde y azul para
- mejorar la resolución horizontal; los resultados pueden ser
- impresionantes. Para habilitarlo añada la siguiente
- línea a
- <filename>local.conf</filename>:</para>
-
- <programlisting>
- &lt;match target="font"&gt;
- &lt;test qual="all" name="rgba"&gt;
- &lt;const&gt;unknown&lt;/const&gt;
- &lt;/test&gt;
- &lt;edit name="rgba" mode="assign"&gt;
- &lt;const&gt;rgb&lt;/const&gt;
- &lt;/edit&gt;
- &lt;/match&gt;
- </programlisting>
-
- <note><para>Dependiendo del tipo de pantalla <literal>rgb</literal>
- podría ser <literal>bgr</literal> o <literal>vrgb</literal> o
- <literal>vbgr</literal>: experimente y elija cuál de ellos funciona
- mejor.</para></note>
-
- <indexterm><primary>Mozilla</primary></indexterm>
- <indexterm><primary>web browsers</primary>
- <secondary>Mozilla</secondary>
- <see>Mozilla</see></indexterm>
-
- <para>Una vez concluido el proceso «anti-aliasing» se
- debería activar la próxima vez que arranque X, aunque
- los programas necesitan saber como utilizarlo. En
- este momento el «toolkit» Qt es capaz de hacerlo, así
- que <application>KDE</application> entero puede usar
- «tipos anti-aliasing». GTK+ y
- <application>GNOME</application> también pueden usar
- «tipos anti-aliasing» mediante el «applet»
- «Font» (consulte <xref linkend="x11-wm-gnome-antialias"/> para más detalle). Por
- omisión <application>Mozilla</application>
- 1.2 y versiones siguientes usarán automáticamente
- «tipos anti-aliasing». Para deshabilitarlos
- recompile <application>Mozilla</application> usando el
- parámetro <varname>-DWITHOUT_XFT</varname>.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="x-xdm">
- <info><title>El gestor de pantalla X</title>
- <authorgroup>
- <author><personname><firstname>Seth</firstname><surname>Kingsley</surname></personname><contrib>Escrito por </contrib></author>
- </authorgroup>
- </info>
-
- <sect2>
- <title>Descripción</title>
-
- <indexterm><primary>X Display Manager</primary></indexterm>
- <para>El gestor de pantalla X (<application>XDM</application>) es una
- parte opcional del sistema X Window que se usa para la gestión de
- sesiones. Esto es útil en diferentes situaciones, como
- «Terminales X» con escritorios mínimos y grandes
- servidores de red. Como X Window System es independiente
- del protocolo y de la red hay muchas configuraciones posibles para
- ejecutar clientes y servidores X en diferentes equipos conectados a
- una red. <application>XDM</application> dispone de un interfaz
- gráfico para elegir a qué pantalla se quiere
- conectar y pedir la información de autentificación como
- el nombre de usuario y le contraseña.</para>
-
- <para><application>XDM</application> ac6túa como proveedor de la
- misma funcionalidad que &man.getty.8; (consulte
- <xref linkend="term-config"/> para más detalles). Esto quiere
- decir que se encarga de las entradas al sistema en la pantalla a la
- que está conectado y arranca el gestor de sesiones para que lo
- utilice el usuario (normalmente un gestor de ventanas
- X). <application>XDM</application> espera a que el
- programa termine, envía la señal de que el usuario ha
- terminado y que se le
- debería desconectar de la pantalla. En este punto
- <application>XDM</application> puede mostrar las pantallas de entrada
- al sistema y de selección de pantalla para que el siguiente
- usuario intente acceder al sistema.</para>
- </sect2>
-
- <sect2>
- <title>Uso de XDM</title>
-
- <para>El d&aelig;mon <application>XDM</application> está en
- <filename>/usr/local/bin/xdm</filename>. Este programa se puede
- arrancar en cualquier momento como <systemitem class="username">root</systemitem> y
- empezará a gestionar la pantalla X en la máquina
- local. Si se quiere que <application>XDM</application> arranque cada
- vez que la máquina se encienda puede hacerlo añadiendo
- una entrada a <filename>/etc/ttys</filename>. Para más
- información sobre el formato y uso de este fichero consulte la
- <xref linkend="term-etcttys"/>. Por omisión hay una línea en
- <filename>/etc/ttys</filename> que permite arrancar el
- d&aelig;mon <application>XDM</application> en una terminal virtual:
- </para>
-
- <screen>ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure</screen>
-
- <para>Por omisión esta entrada está deshabilitada; para habilitarla
- cambie el campo 5 de <literal>off</literal> a <literal>on</literal> y
- reinicie &man.init.8; usando los pasos descritos en la <xref linkend="term-hup"/>. El primer campo es el nombre de la terminal que
- que gestiona el programa, <literal>ttyv8</literal>. Es decir,
- <application>XDM</application> empezará a
- ejecutarse en la terminal virtual número 9.</para>
- </sect2>
-
- <sect2>
- <title>Configuración de XDM</title>
-
- <para>El directorio de configuración de
- <application>XDM</application> está en
- <filename>/usr/local/lib/X11/xdm</filename>. En este directorio hay
- varios ficheros que se usan para intervenir en el comportamiento y la
- apariencia de <application>XDM</application>. Normalmente tendrá
- estos ficheros:</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Fichero</entry>
- <entry>Descripción</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><filename>Xaccess</filename></entry>
- <entry>Reglas de acceso para clientes.</entry>
- </row>
-
- <row>
- <entry><filename>Xresources</filename></entry>
- <entry>Recursos de X por omisión.</entry>
- </row>
-
- <row>
- <entry><filename>Xservers</filename></entry>
- <entry>Lista de pantallas locales y remotas a gestionar.</entry>
- </row>
-
- <row>
- <entry><filename>Xsession</filename></entry>
- <entry>«script» por omisión para el acceso al
- sistema.</entry>
- </row>
-
- <row>
- <entry><filename>Xsetup_</filename>*</entry>
- <entry>«script» para lanzar aplicaciones antes del
- acceso al sistema.</entry>
- </row>
-
- <row>
- <entry><filename>xdm-config</filename></entry>
- <entry>Configuración de todas las pantallas de
- este equipo.</entry>
- </row>
-
- <row>
- <entry><filename>xdm-errors</filename></entry>
- <entry>Errores generados por el programa servidor.</entry>
- </row>
-
- <row>
- <entry><filename>xdm-pid</filename></entry>
- <entry>El ID de proceso del XDM que está
- funcionando.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>En este directorio también hay unos cuantos programas y
- «scripts» que se usan para arrancar el escritorio cuando
- <application>XDM</application> se está ejecutando.
- El objetivo de cada uno de estos ficheros será descrito
- brevemente. La sintaxis exacta y el uso de todos estos ficheros
- se describe en &man.xdm.1;.</para>
-
- <para>La configuración por omisión es una simple ventana
- rectangular de acceso al sistema con el nombre de la máquina
- en la parte superior en un tipo de letra grande y unos campos para que
- introduzca«Login:» y «Password:» debajo. Este es
- un buen punto de partida para aprender a cambiar el aspecto de las
- pantallas de <application>XDM</application>.</para>
-
- <sect3>
- <title>Xaccess</title>
-
- <para>El protocolo para conectar con las pantallas controladas por
- <application>XDM</application> se llama «X Display Manager Connection
- Protocol» (XDMCP). Este fichero es un conjunto de reglas para
- controlar las conexiones XDMCP desde otros equipos. Por defecto
- permite a cualquier cliente conectar, pero eso no importa a menos
- que <filename>xdm-config</filename> se cambie para escuchar
- conexiones remotas. La configuración básica no
- permite conexiones desde ningún cliente.</para>
- </sect3>
-
- <sect3>
- <title>Xresources</title>
-
- <para>Este es el fichero de opciones por defecto para el selector de
- pantalla y acceso al sistema. Aquí es donde se puede
- modificar la apariencia del programa de «login».
- El formato es idéntico al fichero de opciones por defecto
- descrito en la documentación de X11.</para>
- </sect3>
-
- <sect3>
- <title>Xservers</title>
-
- <para>Una lista de pantallas remotas entre las que elegir.</para>
-
- </sect3>
-
- <sect3>
- <title>Xsession</title>
-
- <para>Este es el «script» de sesión que por
- defecto <application>XDM</application> arrancará
- después de que el usuario acceda al sistema. Normalmente
- cada usuario tendrá una versión personalizada del
- «script» de sesión en
- <filename>~/.xsession</filename> que sobreescribe el
- «script» por defecto.</para>
- </sect3>
-
- <sect3>
- <title>Xsetup_*</title>
-
- <para>Estos se arrancarán automáticamente antes de que
- se muestre el interfaz de selección o de acceso al sistema.
- Hay un «script» por cada gestor de ventanas disponible
- llamados <filename>Xsetup_</filename> seguido por el número
- de pantalla local (por ejemplo <filename>Xsetup_0</filename>).
- Normalmente estos «scripts» arrancan uno o dos
- programas en segundo plano, por ejemplo <command>xconsole</command>.
- </para>
- </sect3>
-
- <sect3>
- <title>xdm-config</title>
-
- <para>Este fichero contiene las opciones por defecto aplicables a
- todas las pantallas que gestiona la instalación.</para>
- </sect3>
-
- <sect3>
- <title>xdm-errors</title>
- <para>Este fichero contiene la salida de los servidores X que
- <application>XDM</application> intente arrancar. Si alguna pantalla
- que <application>XDM</application> intente arrancar se cuelga por
- alguna razón este es un buen sitio para buscar los mensajes
- de error. Estos mensajes también se escriben en el fichero
- <filename>~/.xsession-errors</filename> del usuario en cada
- sesión.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Ejecutar un servidor de pantalla a través de la red
- </title>
-
- <para>Para que otros clientes puedan conectar al servidor de pantalla
- edite las reglas de acceso y habilite la escucha en la
- conexión. Por omisión se aplican restricciones. Si quiere
- que <application>XDM</application> escuche conexiones
- comente la siguiente línea en el fichero
- <filename>xdm-config</filename>:</para>
-
- <screen>! SECURITY: do not listen for XDMCP or Chooser requests
-! Comment out this line if you want to manage X terminals with xdm
-DisplayManager.requestPort: 0</screen>
-
- <para>y después reinicie <application>XDM</application>.
- Recuerde que los comentarios en los ficheros de opciones por defecto
- comienzan con el carácter«!» en
- vez del típico «#». Puede aplicar controles
- más restrictivos. Consulte las opciones de ejemplo en
- <filename>Xaccess</filename> y la página de manual de
- &man.xdm.1;.</para>
- </sect2>
-
- <sect2>
- <title>Alternativas a XDM</title>
-
- <para>Hay algunas alternativas al programa por defecto
- <application>XDM</application>. Una de ellas,
- <application>kdm</application> (que se incluye con
- <application>KDE</application>) se describe más adelante en este
- capítulo. <application>kdm</application> ofrece muchas
- ventajas visuales y funcionalidad para permitir a los usuarios elegir
- su gestor de ventanas en el momento del acceso al sistema.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="x11-wm">
- <info><title>Entornos de escritorio</title>
- <authorgroup>
- <author><personname><firstname>Valentino</firstname><surname>Vaschetto</surname></personname><contrib>Escrito por </contrib></author>
- <!-- Junio 2001 -->
- </authorgroup>
- </info>
-
-
-
- <para>Está sección describe los diferentes entornos de
- escritorio disponibles para X en &os;. Un «entorno de
- escritorio» puede ser cualquier cosa que vaya desde un simple
- gestor de ventanas hasta una completa «suite» de
- aplicaciones de escritorio como <application>KDE</application> o
- <application>GNOME</application>.</para>
-
- <sect2 xml:id="x11-wm-gnome">
- <title>GNOME</title>
-
- <sect3 xml:id="x11-wm-gnome-about">
- <title>Acerca de GNOME</title>
- <indexterm><primary>GNOME</primary></indexterm>
- <para><application>GNOME</application> es un entorno de escritorio
- amigable que permite a los usuarios una configuración
- fácil de sus sistemas. <application>GNOME</application>
- incluye un panel (para iniciar las aplicaciones y mostrar su
- estado), un escritorio (donde pueden colocarse los datos y las
- aplicaciones), un conjunto de herramientas y aplicaciones de
- escritorio estándar y un conjunto de convenciones para
- facilitar la creación de aplicaciones que sean consistentes
- y colaboren unas con otras. Los usuarios de otros sistemas
- operativos o entornos pueden sentirse como en casa utilizando el
- poderoso entorno gráfico <application>GNOME</application>.
- Encontrará más información sobre
- <application>GNOME</application> en &os; en la página
- <link xlink:href="http://www.FreeBSD.org/gnome">del
- Proyecto FreeBSD GNOME</link>.</para>
- </sect3>
-
- <sect3 xml:id="x11-wm-gnome-install">
- <title>Instación de GNOME</title>
-
- <para><application>GNOME</application> puede instalarse
- fácilmente utilizando packages
- precompilados o desde la Colección de Ports:</para>
-
- <para>Para instalar el paquete de <application>GNOME</application>
- desde la red, simplemente teclee:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen>
-
- <para>Para compilar <application>GNOME</application> a partir del
- código fuente, es decir, como port:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>Una vez <application>GNOME</application> esté instalado
- debe indicarle al servidor X como iniciar
- <application>GNOME</application> para convertirlo en el gestor de
- ventanas predeterminado.</para>
-
-
-
-
- <para>La manera más fácil de arrancar
- <application>GNOME</application> es con
- <application>GDM</application>, el gestor de pantalla de GNOME.
- <application>GDM</application>, que se instala con el escritorio
- <application>GNOME</application> al ser parte del mismo (aunque venga
- desactivado por omisión) se activa añadiendo
- <literal>gdm_enable="YES"</literal> a
- <filename>/etc/rc.conf</filename>. Tras reiniciar,
- <application>GNOME</application> arrancará automáticamente
- al acceder al sistema; no es necesario configurar nada
- más.</para>
-
- <para>Puede arrancar <application>GNOME</application> también
- desde la línea de órdenes configurando adecuadamente
- un fichero llamado <filename>.xinitrc</filename>. Si ya tiene un
- <filename>.xinitrc</filename> personalizado tendrá que
- reemplazar la línea que arranca el gestor de ventanas anterior
- por otra que contenga
- <application>/usr/local/bin/gnome-session</application>. Si no ha
- modificado el fichero previamente basta con que teclée lo
- siguiente:</para>
-
-<screen>&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt; ~/.xinitrc</userinput></screen>
-
- <para>Después teclée <command>startx</command> y debería
- iniciarse el entorno de escritorio
- <application>GNOME</application>.</para>
-
- <note><para>Si utiliza un gestor de pantalla antíguo,
- como <application>XDM</application>, lo anteriormente descrito no
- funcionará. Cree un fichero ejecutable
- <filename>.xsession</filename> con la misma orden en
- él. Edite el fichero y sustituya la orden
- para iniciar su actual gestor de ventanas por
- <application>/usr/local/bin/gnome-session</application>:
- </para></note>
-
- <screen>&prompt.user; <userinput>echo "#!/bin/sh" &gt; ~/.xsession</userinput>
-&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt;&gt; ~/.xsession</userinput>
-&prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen>
-
- <para>Otra opción es configurar el gestor de pantalla para que
- permita seleccionar el gestor de ventanas durante el acceso;
- la sección de <link linkend="x11-wm-kde-details">detalles de KDE</link> explica cómo
- hacerlo para <application>kdm</application>, el gestor de pantalla
- de <application>KDE</application>.</para>
- </sect3>
-
-
- <sect3 xml:id="x11-wm-gnome-antialias">
- <title>Tipos «Anti-aliased» en GNOME</title>
-
- <indexterm><primary>GNOME</primary>
- <secondary>anti-aliased fonts</secondary></indexterm>
- <para>X11 soporta «anti-aliasing» a
- través de la extensión «RENDER». Gtk+
- 2.0 y superiores (el «toolkit» utilizado por
- <application>GNOME</application>) disponen de esta funcionalidad.
- La configuración del «anti-aliasing» se describe
- en la <xref linkend="antialias"/>. Una vez configurado el software es
- posible utilizar «anti-aliasing» en el entorno de
- escritorio <application>GNOME</application>. Sólamente tiene
- que ir a
- <menuchoice>
- <guimenu>Applications</guimenu>
- <guisubmenu>Desktop Preferences</guisubmenu>
- <guimenuitem>Font</guimenuitem></menuchoice>,
- y seleccione entre
- <guibutton>Best shapes</guibutton>,
- <guibutton>Best contrast</guibutton>, o
- <guibutton>Subpixel smoothing (LCDs)</guibutton>. En el caso de una
- aplicación Gtk+ que no forme parte del escritorio
- <application>GNOME</application> asigne a la variable de entorno
- <varname>GDK_USE_XFT</varname> un valor de <literal>1</literal> antes de
- arrancar el programa.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="x11-wm-kde">
- <title>KDE</title>
-
- <indexterm><primary>KDE</primary></indexterm>
- <sect3 xml:id="x11-wm-kde-about">
- <title>Acerca de KDE</title>
-
- <para><application>KDE</application> es un entorno de escritorio
- contemporáneo y fácil de usar. Veamos alguna de las cosas
- que <application>KDE</application> brinda al usuario:</para>
-
- <itemizedlist>
- <listitem>
- <para>Un bello escritorio contemporáneo.</para>
- </listitem>
-
- <listitem>
- <para>Un escritorio completamente transparente en red.</para>
- </listitem>
-
- <listitem>
- <para>Un sistema de ayuda integrado que facilita un acceso adecuado y
- consistente a la ayuda durante el uso del escritorio
- <application>KDE</application> y sus aplicaciones.</para>
- </listitem>
-
- <listitem>
- <para>Un aspecto consistente de todas las aplicaciones
- <application>KDE</application>.</para>
- </listitem>
-
- <listitem>
- <para>Menús y barras de herramientas estándares,
- teclas programables, esquemas de color, etc.</para>
- </listitem>
-
- <listitem>
- <para>Internacionalización: <application>KDE</application>
- está disponible en más de 40 idiomas.</para>
- </listitem>
-
- <listitem>
- <para>Un diálogo de configuración del escritorio
- centralizado y consistente.</para>
- </listitem>
-
- <listitem>
- <para>Un gran número de útiles aplicaciones
- <application>KDE</application>.</para>
- </listitem>
- </itemizedlist>
-
- <para><application>KDE</application> incluye un navegador web llamado
- <application>Konqueror</application>, que es un sólido
- competidor del resto de navegadores web existentes en sistemas
- &unix;. Puede encontrar más
- información sobre <application>KDE</application> en el
- <link xlink:href="http://www.kde.org/"> sitio web de KDE</link>. Si quiere
- información específica y recursos sobre
- <application>KDE</application> en &os; consulte el sitio web del
- <link xlink:href="http://freebsd.kde.org/">equipo de KDE en &os;</link>.</para>
-
- <para>Hay dos versiones de <application>KDE</application> en &os;: la
- versión 3 lleva ya bastante tiempo en el sistema y es muy
- estable en todos los sentidos. La versión 4, la nueva
- generación de <application>KDE</application>, también
- está en los ports. Si quiere puede instalar ambas versiones
- simultáneamente.</para>
-
- </sect3>
-
- <sect3 xml:id="x11-wm-kde-install">
- <title>Instalación de KDE</title>
-
- <para>Igual que sucede con <application>GNOME</application> o cualquier
- otro entorno de escritorio puede instalarlo como package o desde la
- Colección de Ports:</para>
-
- <para>Si quiere instalar como package <application>KDE3</application>
- (desde la red) escriba:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r kde</userinput></screen>
-
- <para>Si quiere instalar como package <application>KDE4</application>
- (desde la red) escriba:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r kde4</userinput></screen>
-
-
- <para>&man.pkg.add.1; descargará automáticamente
- la versión más reciente de la aplicación.</para>
-
- <para>Si lo que desea es compilar <application>KDE3</application> desde
- el código fuente utilice el árbol de ports:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde3</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
-
- <para>Si lo que desea es compilar <application>KDE4</application> desde
- el código fuente utilice el árbol de ports:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde4</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
-
- <para>Una vez instalado <application>KDE</application>
- debe indicarle al servidor X cómo iniciar la aplicación
- para que se convierta en el gestor de ventanas por defecto. Edite
- <filename>.xinitrc</filename>:</para>
-
- <para>Para <application>KDE3</application>:</para>
-
-
- <screen>&prompt.user; <userinput>echo "exec startkde" &gt; ~/.xinitrc</userinput></screen>
-
-
-
-
- <para>Para <application>KDE4</application>:</para>
-
-
- <screen>&prompt.user; <userinput>echo "exec /usr/local/kde4/bin/startkde" &gt; ~/.xinitrc</userinput></screen>
-
-
-
-
- <para>A partir de ahora cuando se llame al sistema X Window con
- <command>startx</command> el escritorio será
- <application>KDE</application>.</para>
-
- <para>Si utiliza un gestor de pantalla, como por ejemplo
- <application>xdm</application>, la configuración es
- ligeramente diferente. En vez de lo antedicho edite
- <filename>.xsession</filename>. Las instrucciones para
- <application>kdm</application> se decribirán más
- adelante en este capítulo.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="x11-wm-kde-details">
- <title>Más detalles sobre KDE</title>
-
- <para>Una vez <application>KDE</application> está instalado
- en el sistema la mayoría de las cosas se pueden ir descubriendo
- utilizando las páginas de ayuda o sencillamente a golpe de
- ratón en los diversos menús. Los usuarios de
- &windows; y &mac; se sentiráan como en casa.</para>
-
- <para>La mejor referencia para <application>KDE</application> es
- la documentación «on-line».
- <application>KDE</application>
- incluye su propio navegador, <application>Konqueror</application>,
- docenas de útiles aplicaciones y una extensa
- documentación. El resto de esta sección trata sobre
- cuestiones técnicas que son difíciles de aprender
- mediante una exploración al azar.</para>
-
- <sect3 xml:id="x11-wm-kde-kdm">
- <title>El gestor de pantalla de KDE</title>
-
-
- <indexterm><primary>KDE</primary>
- <secondary>display manager</secondary></indexterm>
- <para>El administrador de un sistemas multiusuario puede querer ofrecer
- a sus usuarios una pantalla de bienvenido que se les presente
- al acceder al sistema. Tal y como se ha explicado previamente puede
- usar <link linkend="x-xdm">XDM</link>. De todos modos
- <application>KDE</application> incluye su propia alternativa,
- alternative, <application>kdm</application>, diseñado pensando
- en ser más atractivo y tener más opciones que ofrecer
- en el momento del acceso al sistema. Más concretamente ofrece
- a los usuarios la posibilidad de elegir mediante un menú
- qué entorno de escritorio
- (<application>KDE</application>,
- <application>GNOME</application>, o cualquier otro) quiere ejecutar
- el usuario una vez validado.</para>
-
- <para>Si quiere activar <application>kdm</application> debe modificar
- la entrada de <literal>ttyv8</literal> en
- <filename>/etc/ttys</filename>. La línea debe quedar
- del siguiente modo:</para>
-
- <para>Si va a usar <application>KDE3</application>:</para>
-
- <programlisting>ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure</programlisting>
-
- <para>En el caso de <application>KDE4</application>:</para>
-
- <programlisting>ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure</programlisting>
-
-
- </sect3>
- </sect2>
-
- <sect2 xml:id="x11-wm-xfce">
- <title>XFce</title>
- <sect3 xml:id="x11-wm-xfce-about">
- <title>Acerca de XFce</title>
-
- <para><application>XFce</application> es un entorno de escritorio
- basado en el «toolkit» GTK utilizado por
- <application>GNOME</application> pero es mucho más ligero y
- está pensado para aquellos que quieran un escritorio
- sencillo, eficiente y fácil de utlizar y configurar.
- Visualmente es muy parecido a <application>CDE</application>, que
- podemos encontrar en sistemas &unix; comerciales. Alguna de las
- caracterésticas de <application>XFce</application> son:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>Un escritorio sencillo y fácil de utilizar.</para>
- </listitem>
-
- <listitem>
- <para>Completamente configurable utilizando el ratón, con
- arrastrar y soltar, etc.</para>
- </listitem>
-
- <listitem>
- <para>Panel principal similar al de
- <application>CDE</application>, con menús,
- «applets» y accesos directos a las
- aplicaciones.</para>
- </listitem>
-
- <listitem>
- <para>Gestor de ventanas integrado, gestor de ficheros, gestor
- de sonido, módulo de compatibilidad con
- <application>GNOME</application>, y muchas cosas más.</para>
- </listitem>
-
- <listitem>
- <para>Aspecto configurable (utiliza GTK).</para>
- </listitem>
-
- <listitem>
- <para>Rápido, ligero y eficiente: ideal para
- máquinas viejas, lentas o máquinas con
- memoria limitada.</para>
- </listitem>
- </itemizedlist>
-
- <para>Puede encontrar más información sobre
- <application>XFce</application> en el
- <link xlink:href="http://www.xfce.org/"> sitio web de XFce</link>.</para>
- </sect3>
-
- <sect3 xml:id="x11-wm-xfce-install">
- <title>Instalar XFce</title>
-
- <para>En el momento de escribir este texto existe un paquete binario
- para <application>XFce</application>. Para instalarlo
- escriba:</para>
-
- <screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen>
-
- <para>También puede compilarlo desde el
- código gracias a la Colección de Ports:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>Para indicar al servidor X que use
- <application>XFce</application> la próxima vez que arranque
- simplemente escriba lo siguiente:</para>
-
- <screen>&prompt.user; <userinput>echo "/usr/X11R6/bin/startxfce4" &gt; ~/.xinitrc</userinput></screen>
-
- <para>La próxima vez que arranque X
- <application>XFce</application> será el escritorio.
- Como antes, si se usa un gestor de pantalla como
- <filename>xdm</filename> cree un <filename>.xsession</filename> tal
- y como se ha descrito en la anterior sección en <link linkend="x11-wm-gnome">GNOME</link>, pero con la orden
- <filename>/usr/local/bin/startxfce4</filename>; puede configurar el
- gestor de pantalla para permitir elegir el escritorio en el momento
- de acceder al sistema tal y como se ha explicado en la
- sección de <link linkend="x11-wm-kde-kdm">kdm</link>.</para>
- </sect3>
- </sect2>
- </sect1>
-
-</chapter>