Capítulo 5
5.1.1 Requisitos de
hardware
5.1.2 Instalación de XFree86
5.1.3 Configuración de XFree86
5.1.4 Introducción de los datos de la tarjeta
gráfica
5.1.5 Funcionamiento de XFree86
5.1.6 Ejecución con problemas
5.3.1 Hardware requerido
5.3.2 Configuración de TCP/IP
5.3.3 Configuración de SLIP
5.3.4 Utilización de dip
Características
avanzadas
Anterior-
Siguiente - Índice
En este capitulo nos introduciremos
en ciertas características avanzadas, pero interesantes de Linux. Se
asume que ya se tiene cierta experiencia en Unix, y se entiende la información
contenida en los capítulos precedentes.
El aspecto más importante que distingue
a Linux de otras implementaciones de Unix es su diseño abierto a nuevas
ideas y su filosofía. Linux no fue desarrollado por un pequeño
equipo de programadores liderado por una empresa con un objetivo comercial.
Fue desarrollado por un grupo creciente de "hackers" quienes aportaban todo
lo que sabían en desarrollo de Unix. Por ello, es enorme la cantidad
de software adicional disponible.
5.1 El
sistema X Window
Anterior-
Siguiente - Índice
X Windows es un enorme entorno gráfico
para sistemas Unix, potente y también complejo. Originalmente fue desarrollado
por el MIT, y desde entonces los desarrolladores de sistemas comerciales han
convertido a las X en un estándar de las plataformas Unix. Prácticamente
todas las estaciones de trabajo Unix del mundo utilizan X Window en alguna de
sus variantes.
Existe, desarrollada por un equipo de
programadores inicialmente liderados por David Wexelblat1, una implementación
gratuita de las X Windows versión 11, release 6 (X11R6) para sistemas
Unix con 80386/80486/Pentium. Esta implementación, llamada XFree862,
se encuentra disponible en Unix x86 como System V/386, 386BSD y por supuesto
Linux. Incluye todos los binarios necesarios, ficheros de soporte, librerías
y utilidades.
Configurar y utilizar a fondo las X Windows
se sale de los objetivos de este libro. Le animamos a leer The X Window System:
A User's Guide, vea el apéndice A para mas información sobre el
libro.
En esta sección, le daremos
una descripción de como instalar y configurar paso a paso XFree86 en
Linux, pero necesitara completar la información con otra disponible en
la documentación propia de XFree86 (documentación que comentaremos
mas adelante). Otra fuente interesante de información es la XFree86 HOWTO.
_____________________________________________
1 Se puede contactar con David en Internet mediante
la dirección dwex@XFree86.org
2 XFree86 es marca registrada de The XFree86
Project, Inc.
5.1.1 Requisitos de hardware
Anterior-
Siguiente - Índice
Al igual que la versión XFree86 3.1 de
Septiembre de 1994, están soportados los siguientes "chipsets".
La documentación que se incluye
con su adaptador de vídeo debería especificar cual es el "chipset"
que utiliza. Si esta a punto de comprarse una nueva tarjeta gráfica,
conviene pedir al vendedor el modelo exacto de tarjeta y "chipset" de vídeo.
Esto supondrá, casi siempre, recurrir al servicio técnico, pero
normalmente los vendedores no pondrán inconvenientes. La mayor parte
de los vendedores de PCs se limitan a decir que sus ordenadores tienen tarjetas
gráficas "SVGA estándar" que "tiene que funcionar" en su sistema.
Explíqueles que su software (nombrando a Linux y XFree86, por supuesto)
no soporta todos los "chipsets" y que usted necesita por eso información
mas detallada.
De todas formas, puede determinar su "chipset"
ejecutando el programa SuperProbe incluido con la distribución de XFree86.
De esto hablamos mas abajo.
Están
soportados los siguientes "chipsets" SVGA:
o Tseng ET3000, ET4000AX, ET4000/W32
o Western Digital/Paradise
PVGA1
o Western Digital WD90C00,
WD90C10, WD90C11, WD90C24, WD90C30, WD90C31, WD90C33
o Genoa GVGA
o Trident TVGA8800CS, TVGA8900B,
TVGA8900C, TVGA8900CL, TVGA9000, TVGA9000i, TVGA9100B, TVGA9200CX, TVGA9320,
TVGA9400CX, TVGA9420
o ATI 18800, 18800-1, 28800-2,
28800-4, 28800-5, 28800-6, 68800-3, 68800-6, 68800AX, 68800LX, 88800
o NCR 77C22, 77C22E, 77C22E+
o Cirrus Logic CLGD5420, CLGD5422,
CLGD5424, CLGD5426, CLGD5428, CLGD5429, CLGD5430, CLGD5434, CLGD6205, CLGD6215,
CLGD6225, CLGD6235, CLGD6420
o Compaq AVGA
o OAK OTI067, OTI077
o Avance Logic AL2101
o MX MX68000, MX680010
o
Vídeo 7/Headland Technologies HT216-32
También están soportados los siguientes, con acelerador:
o 8514/A (y clonicos)
o ATI Mach8, Mach32
o Cirrus CLGD5420, CLGD5422,
CLGD5424, CLGD5426, CLGD5428, CLGD5429, CLGD5430, CLGD5434, CLGD6205, CLGD6215,
CLGD6225, CLGD6235
o S3 86C911, 86C924, 86C801,
86C805, 86C805i, 86C928, 86C864, 86C964
o Western Digital WD90C31,
WD90C33
o Weitek P9000
o IIT AGX-014, AGX-015, AGX-016
o
Tseng ET4000/W32, ET4000/W32i, ET4000/W32p
Todas las tarjetas gráficas que usan
estos "chipsets" están soportadas, incluso para bus local Vesa o PCI.
El soporte incluye los modos monocromáticos
y de 256 colores, con la excepción de Avance Logic, MX y Vídeo
7, que están soportadas solo en 256 colores. Si su tarjeta gráfica
tiene suficiente memoria DRAM, la mayor parte de los "chipsets" anteriores también
están soportados para los modos de 16 y 32 bits por pixel (en concreto,
algunas Mach32, P9000, S3 y Cirrus). Lo habitual, sin embargo, es usar 8 bits
por pixel, es decir, 256 colores.
El servidor monocromático también
soporta las tarjetas VGA genéricas, la Hercules, la Hyundai HGC1280,
Sigma LaserView y Apollo. Para la Compaq AVGA, solo están soportadas
64Kb de memoria de vídeo en el servidor monocromático, y la GVGA
no ha sido probada con mas de 64 Kb.
Indudablemente, esta lista seguirá
creciendo conforme pase el tiempo. Las notas que encontrara junto a la versión
actual de XFree86 contendrán probablemente una completa lista de "chipsets"
soportados en ese momento.
Un problema que se encuentran con frecuencia
los desarrolladores de XFree86 es que algunos fabricantes de tarjetas gráficas
utilizan mecanismos no estándares para determinar las frecuencias de
reloj a usar en la tarjeta. Algunos de esos fabricante tampoco editan especificaciones
que describan como programar la tarjeta, o exigen a los desarrolladores que
firmen un documento de no divulgación para poder obtener la información.
Esto, obviamente, dificulta la libre distribución del software de XFree86.
Durante mucho tiempo esto ha impedido trabajar con las tarjetas Diamond, pero
desde la versión 3.1 de XFree86, Diamond ya ha comenzado a colaborar
con el equipo de desarrollo para la realización de drivers para esas
tarjetas.
La configuración que se sugiere
para ejecutar XFree86 con Linux es una máquina 486 con 8 megabytes de
RAM por lo menos, y una tarjeta gráfica con un "chipset" de los listados
antes.
Para obtener un rendimiento óptimo,
se sugiere utilizar una tarjeta acelerada, como las basadas en el "chipset"
S3. Usted debe comprobar sobre la documentación de XFree86 que su tarjeta
está soportada antes de proceder al gasto que supone el nuevo hardware.
Se han comparado rendimientos de diversos modelos de tarjetas, y sus resultados
son enviados periódicamente a los grupos de news USENET comp.windows.x.i386unix
y comp.os.linux.misc.
Como nota adicional, mi sistema personal
con Linux es un 486DX2-66 con 20 megabytes de RAM y equipado con una tarjeta
BLV con el "chipset" S3-864 y 2 megabytes de DRAM. He tenido rendimientos en
X superiores a los de una Sun Sparc IPX. El sistema Linux resulta unas siete
veces más rápido que el Sparc IPX (para el curioso, XFree86-3.1
bajo Linux, con esta tarjeta gráfica, consigue unos 171,000 xstones mientras
que la Sparc IPX consigue solo 24,000). En general, XFree86 en un sistema Linux
con una tarjeta SVGA acelerada le dará mucho más rendimiento que
el que se encuentra en estaciones de trabajo Unix comerciales (que suelen emplear
solo "framebuffers").
Su máquina necesitara al menos
4 megabytes de memoria física en RAM y 16 de memoria virtual (por ejemplo,
8 megabytes en RAM y otros 8 en swap). Recuerde que cuanta más RAM tenga,
menos tendrá el sistema que acudir al disco duro cuando no hay memoria
suficiente. Dado que el swapping es inherentemente lento, tener 8 megabytes
de RAM o más es necesario si quiere correr XFree86 de forma confortable.
Un sistema con 4 megabytes de RAM correrá mucho mas lento (hasta 10 veces)
que uno con 8 megabytes o más.
5.1.2 Instalación
de XFree86
Anterior-
Siguiente - Índice
La distribución en binario de XFree86
para Linux puede encontrarse en muchos servidores de FTP. En sunsite.unc.edu
se encuentra en el directorio /pub/Linux/X11. (En el momento de escribir este
libro, la versión era la 3.1; aunque periódicamente aparecen nuevas
versiones).
Es común que usted haya obtenido
XFree86 como parte de una distribución de Linux, en cuyo caso no necesitara
obtener el software del servidor anterior.
Si en cambio los obtiene por esta vía,
la siguiente tabla le informara de los ficheros de los que consta la distribución
XFree86-3.1.
Se requiere uno de los siguientes
servidores:
Fichero |
Descripción |
XF86-3.1-8514.tar.gz |
Servidor para tarjetas tipo 8514. |
XF86-3.1-AGX.tar.gz |
Servidor para tarjetas tipo AGX. |
XF86-3.1-Mach32.tar.gz |
Servidor para tarjetas tipo Mach32. |
XF86-3.1-Mach8.tar.gz |
Servidor para tarjetas tipo Mach8. |
XF86-3.1-Mono.tar.gz |
Servidor monocromo. |
XF86-3.1-P9000.tar.gz |
Servidor para tarjetas tipo P9000. |
XF86-3.1-S3.tar.gz |
Servidor para tarjetas tipo S3. |
XF86-3.1-SVGA.tar.gz |
Servidor para tarjetas SVGA. |
XF86-3.1-VGA16.tar.gz |
Servidor para VGA en 16 colores. |
XF86-3.1-W32.tar.gz |
Servidor para tarjetas tipo ET4000/W32. |
Además, son necesarios todos los ficheros siguientes:
Fichero |
Descripción |
XF86-3.1-bin.tar.gz |
Binarios de X11R6. |
XF86-3.1-cfg.tar.gz |
Ficheros de configuración para xdm, xinit y fs. |
XF86-3.1-doc.tar.gz |
Documentación y páginas de manual. |
XF86-3.1-inc.tar.gz |
Ficheros include. |
XF86-3.1-lib.tar.gz |
Ficheros de soporte y librerías compartidas. |
XF86-3.1-fnt.tar.gz |
Fuentes básicas. |
Los siguientes ficheros son opcionales:
Fichero |
Descripción |
XF86-3.1-ctrb.tar.gz |
Diversas contribuciones. |
XF86-3.1-extra.tar.gz |
Otros servidores y binarios. |
XF86-3.1-lkit.tar.gz |
Kit para personalización de servidores. |
XF86-3.1-fnt75.tar.gz |
Fuentes de 75 ppp. |
XF86-3.1-fnt100.tar.gz |
Fuentes de 100 ppp. |
XF86-3.1-fntbig.tar.gz |
Otras fuentes (Kanji...). |
XF86-3.1-fntscl.tar.gz |
Fuentes escalables (Speedo, Type1). |
XF86-3.1-man.tar.gz |
Páginas de manual. |
XF86-3.1-pex.tar.gz |
Binarios PEX y librerías. |
XF86-3.1-slib.tar.gz |
Librerías estáticas de X. |
XF86-3.1-usrbin.tar.gz |
Daemons que residen en /usr/bin. |
XF86-3.1-xdmshdw.tar.gz |
Versión de xdm para shadow password. |
El directorio de XFree86 debería contener
los ficheros README y otras notas acerca de la instalación de la versión
actual.
Todo lo que se necesita para instalar
XFree86 es obtener los ficheros anteriores, crear el directorio /usr/X11R6 (como
root), y desempaquetar los ficheros desde ese directorio con un comando como
el siguiente:
# gzip -dc XF86-3.1-bin.tar.gz | tar xfB -
Recuerde que esos ficheros tar se empaquetan
con directorios relativos a /usr/X11R6, con lo que es imprescindible desempaquetarlos
en el lugar indicado.
Después de
desempaquetar los ficheros, necesitara hacer un enlace del nombre /usr/X11R6/bin/X
al servidor que vaya a utilizar. Por ejemplo, si desea usar el servidor SVGA
color, /usr/bin/X11/X debe ser un enlace a /usr/X11R6/bin/XF86_SVGA. Si desea
utilizar el servidor monocromo en su lugar, el enlace apuntara a XF86_MONO con
el comando
# ln -sf /usr/X11R6/bin/XF86_MONO /usr/X11R6/bin/X
El mecanismo es similar para cualquier otro
servidor que quiera usar.
Si no esta seguro de que servidor debe
usar, o no conoce el "chipset" de su tarjeta gráfica, puede ejecutar
SuperProbe, un programa del directorio /usr/X11R6/bin (incluido en el fichero
XF86-3.1-bin), que intentara identificar su "chipset" y otras informaciones.
Anote su salida para posterior referencia.
Necesita asegurarse de que /usr/X11R6/bin
se encuentra en el path. Esto puede hacerse editando el fichero /etc/profile
o /etc/csh.login (según que shell utilice). O simplemente puede añadir
el directorio a su path personal modificando su propio .bashrc o .cshrc.
Además,
hay que asegurarse que /usr/X11R6/lib es localizable por ld.so, el enlazador
dinámico. Para ello, añada la línea
/usr/X11R6/lib
al fichero /etc/ld.so.conf, y ejecute /sbin/ldconfig, como root.
5.1.3 Configuración
de XFree86
Anterior-
Siguiente - Índice
Poner a punto XFree86 no suele ser difícil.
Sin embargo, si va a usar manejadores de "chipsets" aun en desarrollo o desea
obtener el mejor rendimiento o resolución de una tarjeta aceleradora,
en configurar a la perfección XFree86 puede tardar bastante.
En esta sección vamos a describir
como crear y editar el fichero XF86Config, que configura al servidor. En muchos
casos lo mejor es comenzar con una configuración "básica", de
baja resolución, como 640x480 puntos, que es soportada por todas las
tarjetas y monitores. Una vez comprobado su funcionamiento a baja resolución,
puede pasar a modificar la configuración para explotar toda la capacidad
de su tarjeta de vídeo.
Además
de la información que nosotros le damos, debería leerse la siguiente
documentación:
o La documentación propia
de XFree86 en /usr/X11R6/lib/X11/doc (viene con el paquete XFree86-3.1-doc).
Debe prestar especial atención al fichero README.Config, que es un
tutorial sobre la configuración de XWindows.
o Diferentes "chipsets" de
vídeo tendrán sus propios ficheros README en el directorio
anterior (por ejemplo, README.Cirrus). Léase el que le corresponda.
o Las páginas de manual
para XFree86.
o Las páginas de manual
para XF86Config.
o Las páginas
de manual para el servidor concreto que utilice (como XF86_SVGA o XF86_S3).
El fichero de configuración principal
debe ser /usr/X11R6/lib/X11/XF86Config. Este fichero contiene información
acerca del ratón, parámetros de la tarjeta gráfica, etc.
El fichero XF86Config.ed es un ejemplo que incluye la distribución. Copie
este fichero como XF86Config y modifíquelo para su sistema.
Las páginas de manual para XF86Config
explican el formato del fichero con detalles. Lea ahora esas páginas
si aun no lo ha hecho.
Le vamos a presentar un ejemplo de XF86Config.
No tiene por que coincidir con el ejemplo que incluye la distribución,
pero en todo caso tendrán estructura parecida.
3 Observe que el formato del fichero puede
cambiar algo entre versiones de XFree86. La información que le damos
solo vale para la versión 3.1.
3 Además, no debe limitarse a copiar
este fichero e intentar probarlo en su sistema. Si lo hace, y, por error, envía
a su monitor una frecuencia demasiado alta para él puede producir una
avería. No seria el primer caso. Esto ha ocurrido especialmente con monitores
de frecuencia fija. En definitiva, asegúrese de que su fichero XF86Config
se corresponde con su hardware antes de intentar utilizarlo.
Cada
sección del siguiente ejemplo de XF86Config se enmarca en un par de líneas
Section <section-name>. . . EndSection. La primera parte del fichero es
la sección de Ficheros, que tendrá el siguiente aspecto:
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection
La línea RgbPath pone la ruta de acceso
a la base de datos de colores RGB para X11R6, y cada línea FontPath pone
rutas de acceso a directorios con fuentes X11. Por lo general no tendrá
que modificar estas líneas. Tan solo debe comprobar que en los directorios
correspondientes se encuentran los ficheros implicados (fuentes, etc.).
La
siguiente sección es ServerFlags, que especifica algunos "flags" generales
para el servidor. Por lo general la sección suele ir vacía.
Section "ServerFlags"
# Si quita el comentario siguiente,
la llegada de una señal al
# provocara el volcado de su memoria.
Esto puede dejar la consola en
# un estado inutilizable pero el volcado
puede servirle en la depuración.
# NoTrapSignals
# Quitando este comentario se desactiva
la secuencia <Crtl><Alt><BS>
# DontZap
EndSection
La siguiente sección es Keyboard. Su significado es claro.
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5
ServerNumLock
EndSection
Existen otras opciones. Vea su fichero XF86Config
si desea modificar las opciones de teclado. Las que trae por defecto suelen
funcionar bien en casi todos los sistemas.
La
siguiente sección es Pointer, y especifica los parámetros para
el ratón.
Section "Pointer"
Protocol "MouseSystems"
Device "/dev/mouse"
# Los dos parámetros siguientes solo
son necesarios en algunos Logitech.
# BaudRate 9600
# SampleRate 150
# La siguiente opción es útil
para ratones Microsoft de dos botones.
# Emulate3Buttons
# La siguiente opción es útil
para algunos ratones con tres botones Logitech.
# ChordMiddle
EndSection
Le pueden interesar las opciones Protocol y Device. Protocol especifica el protocolo que utiliza su ratón (no se trata de su marca o modelo). Bajo Linux los protocolos validos son:
o BusMouse
o Logitech
o Microsoft
o MMSeries
o Mouseman
o MouseSystems
o PS/2
o
MMHitTab
BusMouse es el que se usa para ratón
Logitech en bus. Observar que los ratones antiguos de Logitech usan Logitech
pero los más modernos usan Microsoft o Mouseman. Este es un caso en el
que el protocolo no coincide con la marca.
Device especifica el dispositivo donde
esta el ratón. En muchos sistemas Linux se encuentra en /dev/mouse, que
suele ser un enlace al dispositivo verdadero (puerto serie como /dev/cua0, etc.).
Por supuesto, debe asegurarse de que el dispositivo que corresponda este en
/dev.La siguiente sección es Monitor,
que especifica las características de su pantalla TRC. La sección
Monitor de XF86Config puede no ser única, como sucede con otras secciones.
Es útil si hay varios monitores conectados al sistema, o si se quiere
usar el mismo XF86Config en diferentes configuraciones hardware. Por lo general,
sin embargo, solo necesitara una sección Monitor.
Section "Monitor"
Identifier "CTX 5468 NI"
# !! Estos valores son validos solo para
un monitor "CTX 5468 NI"
# No intente usarlo en su monitor
si no es este mismo.
Bandwidth 60
HorizSync 30-38,47-50
VertRefresh 50-90
# Modos: Nombre reloj horiz vert
ModeLine "640x480" 25 640 664 760 800 480
491 493 525
ModeLine "800x600" 36 800 824 896
1024 600 601 603 625
ModeLine "1024x768" 65 1024 1088 1200
1328 768 783 789 818
EndSection
La línea Identifier se usa para dar a
la sección un nombre. Puede ser cualquier cadena de caracteres y se usara
después para referirse a ese monitor.
HorizSync
es el valor de frecuencia de sincronismo horizontal valida, en KHz. Si tiene
un monitor "multisync", puede tratarse de un rango (o diversos rangos separados
por comas). Si se trata de un monitor de frecuencia fija, será un conjunto
discreto de valores como el siguiente:
HorizSync 31.5, 35.2, 37.9, 35.5, 48.95
El manual de su monitor debería incluir
estos datos en las especificaciones técnicas. Si no tiene esta información,
contacte con el vendedor o fabricante para obtenerla. Por supuesto, hay otras
fuentes de información.
VertRefresh especifica las frecuencias
de refresco vertical validas (o sincronismo vertical), en Hz. Como HorizSync
puede ser uno o más rangos o valores discretos. También deben
indicarse en su manual.
Los dos parámetros
anteriores solo se utilizan para comprobar que los modos gráficos pedidos
van a ser tolerados por su monitor. Esos modos se especifican en las entradas
Modeline que tienen el formato siguiente:
ModeLine <nombre> <reloj> <valores-horiz> <valores-vert>
<nombre> es un nombre cualquiera que le
damos al modo. <reloj> es la frecuencia de reloj o "dot clock" asociada
al modo. Se suele especificar siempre en Mhz, y es la frecuencia de envío
de pixels al monitor para esa resolución. <valores-horiz> y <valores-vert>
son cuatro números que especifican cuando el haz de electrones del monitor
debe dispararse y cuando se envían los pulsos de sincronismo.
Se preguntara como determinar esos valores
para su monitor. El fichero Videomodes.doc, incluido en la distribución
de XFree86 describe en detalle como obtener los valores requeridos. En primer
lugar, <reloj> debe corresponderse con un valor de los que pueda producir
su tarjeta de vídeo. Por lo tanto solo usara modos con valores de reloj
soportados.
En la distribución se incluyen
dos ficheros que pueden darle los datos para Modeline de su monitor. Estos ficheros
son modeDB.txt y Monitors, ambos en /usr/X11R6/lib/X11/doc.
Debería
comenzar con valores para el estándar VESA, que la mayor parte de los
monitores soportan. Estos valores están incluidos en modeDB.txt. En este
fichero encontrara entradas como
# 640x480@60Hz Non-Interlaced mode
# Horizontal Sync = 31.5kHz
# Timing: H=(0.95us, 3.81us, 1.59us),
V=(0.35ms, 0.064ms, 1.02ms)
#
# name clock horizontal timing vertical
timing flags
"640x480" 25.175 640 664
760 800 480 491 493 525
Esta es una temporización estándar VESA para modo 640x480. Utiliza un reloj de 25.175, que debe ser soportado por la tarjeta (esto lo veremos luego). Para incluir esta entrada en el fichero XF86Config usaría la línea
ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
Observe que el argumento <nombre> (en
este caso, "640x480") es una cadena de caracteres arbitraria, aunque se suele
seguir la convención de indicar la resolución del modo.
Para cada Modeline indicado, el servidor
comprobara que sus valores caen dentro de los rangos permitidos de frecuencias
(especificados antes), anulando el modo si no ocurre así. Principalmente,
el valor de reloj no debe ser mayor que el indicado en Bandwidth. Sin embargo,
usar valores ligeramente superiores no suele dar problemas.
Si los tiempos estándares en VESA
no le funcionan correctamente (lo sabrá cuando después los pruebe)
mire los ficheros modeDB.txt y Monitors, que incluyen valores específicos
para muchos modelos de monitores. Puede crear entradas Modeline a partir de
lo que vea en estos ficheros.
Asegúrese de que solo usa valores
validos en su monitor. Vea que muchos monitores de 14 o 15 pulgadas no soportan
modos de alta resolución como 1024x768 con señales de reloj lentas.
Esto significa que si no encuentra modos de alta resolución para su monitor
en esos ficheros, no podrá usar dicha resolución.
Si se encuentra perdido, y no encuentra
ningún modo que funcione en su monitor, puede seguir las instrucciones
de VideoModes.doc, que le ayudaran a calcular las entradas ModeLine adecuadas
a partir de las especificaciones que se digan en el manual de su monitor. El
mismo fichero VideoModes.doc explica también otros aspectos del servidor
de XFree86 como el formato de la directiva ModeLine.
Por ultimo, si obtiene valores para ModeLine
que son aceptables pero no del todo correcto, puede modificarlos ligeramente
para obtener el resultado deseado. Por ejemplo, si cuando ejecuta XFree86 la
imagen se desplaza ligeramente, o parece girar, puede seguir las instrucciones
de VideoModes.doc para intentar corregir esas deficiencias. Además, utilice
también los propios controles del monitor.
Muchas veces es necesario ajustarlos después
de cambiar de modo gráfico. Tener esos controles en la parte frontal
del monitor le hará la vida más fácil.
3 Nunca debe usar valores de tiempo o
de Modeline pensados para monitores diferentes al suyo. Si lo intenta hacer,
y envía al monitor una frecuencia para la que no fue diseñado,
puede producirle una avería.
La
siguiente sección del fichero XF86Config es Device, que especifica los
parámetros de su tarjeta gráfica. Por ejemplo,
Section "Device"
Identifier "#9 GXE 64"
# Todavía nada; añadiremos los valores después.
EndSection
Esta sección establece las propiedades
de su tarjeta gráfica. Identifier es una cadena de caracteres usada para
identificar su tarjeta, cadena que usara para referirse a las características
que en esta sección se detallen.
Inicialmente no necesita incluir nada
mas a la sección Device que la identificación de la tarjeta. Esto
es así pues usaremos el servidor X para probar las propiedades de su
tarjeta, para incluirlas luego en esta sección. El servidor X es capaz
de obtener el "chipset", "RAMDAC" y memoria RAM de su tarjeta.
Antes
de hacer esto, sin embargo, necesitamos terminar el fichero XF86Config. La siguiente
sección es Screen, que especifica que combinación monitor/tarjeta
usar para un servidor concreto.
Section "Screen"
Driver "Accel"
Device "#9 GXE 64"
Monitor "CTX 5468 NI"
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 1024 768
EndSubsection
EndSection
La línea Driver indica que servidor X utiliza. Los valores validos son:
o Accel: Para servidores XF86_S3,
XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, y XF86_W32;
o SVGA: Para el servidor XF86_SVGA;
o VGA16: Para el servidor XF86_VGA16;
o VGA2: Para el servidor XF86_Mono;
o
Mono: Para manejadores monocromáticos no VGA que se encuentran en
los servidores XF86_Mono y XF86_VGA16.
Debe asegurarse de que /usr/X11R6/bin/X es un enlace simbólico al servidor que va a usar. La línea Device especifica el valor Identifier de la sección Device que corresponda a la tarjeta de vídeo que se va a usar con este servidor. Antes, hemos creado una sección Device con la línea
Identifier "#9 GXE 64"
Así pues, utilizaremos "#9 GXE 64" en
la línea Device de aquí.
De forma parecida, la línea Monitor
especifica el nombre de la sección Monitor que se va a usar en este servidor.
Aquí, "CTX 5468 NI" es el identificador Identifier utilizado en la sección
Monitor vista antes.
Subsection "Display" define distintas
características del XFree86 con su particular combinación de monitor
y tarjeta gráfica. El fichero XF86Config describe todas las opciones
en detalle. La mayoría no son necesarias para que el sistema funcione.
Las
opciones que debería conocer son:
o Depth. Define el número
de bits por pixel (o planos de color), que normalmente valdrá 8 (supone
256 colores). Para el servidor VGA16 se usara una profundidad de 4, y para
el monocromo, una profundidad de 1. Si se utiliza una tarjeta acelerada
con suficiente memoria, se puede subir la profundidad a 16, 24 o 32. Si
le da problemas, vuelva a profundidad 8 e intente corregir el problema después.
o Modes. Es la lista de modos
de vídeo que estarán entre los definidos con ModeLine para
su monitor. Los nombres usados antes para identificarlos ("1024x768", etc.)
se usaran ahora para expresar los modos de la siguiente manera:
Modes "1024x768" "800x600" "640x480"
De esta forma, XFree86 intentara arrancar
en el primero de los modos. Una vez que ha arrancado, con las teclas |_ctrl_|-|_alt_|-|_numeric_+_|
y |_ctrl_|-|_alt_|-|_numeric_-_| podrá cambiar a otro modo.
La mejor forma de empezar, cuando
se esta configurando XFree86, es usar modos de baja resolución (como
640x480) que suelen funcionar siempre. Una vez que se tenga una configuración
básica que va bien, puede pasarse a modificar XF86Config para soportar
resoluciones mayores.
o Virtual. Pone el tamaño
del área de trabajo virtual. XFree86 es capaz de usar la memoria
sobrante de su tarjeta gráfica para extender el tamaño de
su área de trabajo. Cuando mueve el ratón a extremos de la
pantalla, vera como la pantalla se desplaza, accediendo así a toda
el área virtual. Así pues, si usted trabaja con una resolución
inferior, como 800x600 y pone un área de 1024x768 (propia para 1
Mbyte de DRAM y 8 bits por pixel) podrá usar un área de trabajo
mas grande que la que cabe en pantalla.
El mecanismo Virtual resulta interesante
para aprovechar toda la memoria de la tarjeta gráfica, pero es limitado.
Si quiere usar un área de trabajo virtual, el autor recomienda usar
las facilidades que al respecto dan gestores de ventanas como fvwm. El mecanismo
aquí se implementa a base de ocultar ventanas, etc. en lugar de ocupar
toda la memoria de la tarjeta.
Para mas detalle, vea las páginas
de manual de fvwm, gestor de ventanas que suelen traer los sistemas Linux
por defecto.
o ViewPort. Si usted utiliza
la opción Virtual descrita antes, puede usar ViewPort para indicar
en que coordenadas virtuales comenzar XFree86. Se suele usar ViewPort 0
0 que pone el área de trabajo en la esquina superior izquierda. Pero
si no se indica se pondrá centrado, algo que quizás le interese
mas.
Hay muchas otras opciones en esta sección; vea las páginas de manual para XF86Config para mas detalle. En la practica no son necesarias esas otras opciones para que funcione el sistema.
5.1.4 Introducción
de los datos de la tarjeta gráfica
Anterior-
Siguiente - Índice
Su fichero XF86Config esta ya casi listo para
usar, aunque aun falta la información de su tarjeta gráfica. Lo
que vamos a hacer ahora es usar el servidor X para obtener la información
que falta, e introducirla en XF86Config.
A veces se puede encontrar esa información
en los ficheros modeDB.txt, AccelCards y Devices, que se encuentran en /usr/X11R6/lib/X11/doc.
Además, existen numerosos ficheros README para algunos "chipsets". Debe
mirar esos ficheros para buscar su tarjeta y usar los valores que aparezcan
en ellos (de reloj, tipo de "chipset" y otros) en la sección correspondiente
de XF86Config. Si falta alguna información puede intentar obtenerla con
el procedimiento siguiente.
En estos ejemplos vamos a ver como configuraríamos
el sistema para una tarjeta #9 GXE 64, que usa el servidor XF86_S3. Es la tarjeta
que utiliza el autor, aunque el procedimiento es igualmente aplicable a cualquier
otra.
Lo primero que debe hacerse es determinar
el "chipset" que lleva la tarjeta. Ejecutando /usr/X11R6/bin/SuperProbe lo averiguaremos,
aunque también hay que conocer el nombre con el que el servidor X conoce
a ese "chipset". Para conseguir esto último, ejecutar:
X -showconfig
Esto le dará los nombres de "chipsets" que conoce el servidor X (esto también se encuentra en las páginas de manual). Por ejemplo, con el servidor XF86_S3 obtendremos:
XFree86 Versión 3.1 / X Window System
(protocol Versión 11, revisión
0, vendor release 6000)
Operating System: Linux
Configured drivers:
S3: accelerated server for S3 graphics
adaptors (Patchlevel 0)
mmio_928, s3_generic
Así pues los nombres de "chipsets" que
este servidor tiene son mmio_928 y s3_generic. En la página de manual
para XF86_S3 encontrara la descripción de estos "chipsets" junto a algunas
tarjetas que los utilizan. Para la #9 GXE 64 el "chipset" es mmio_928.
Si
no conoce que "chipset" usar, el servidor X puede intentar averiguarlo. Para
ello, ejecutar
X -probeonly > /tmp/x.out 2>&1
si usa bash como shell. Si usa csh, intente:
X -probeonly &> /tmp/x.out
El comando anterior debe ejecutarse solo cuando
no hay otras actividades en el sistema (otros usuarios, procesos, etc.) Este
comando obtiene también los valores para los relojes y si el sistema
esta cargado se calcularan incorrectamente.
Por
ejemplo, esto es lo que sale para la tarjeta del autor:
XFree86 Versión 3.1 / X Window System
(protocol Versión 11, revisión
0, vendor release 6000)
Operating System: Linux
Configured drivers:
S3: accelerated server for S3 graphics
adaptors (Patchlevel 0)
mmio_928, s3_generic
algunas líneas borradas . .
.
(--) S3: card type: 386/486 localbus
(--) S3: chipset: 864 rev. 0
(--)
S3: chipset driver: mmio_928
Aquí vemos los dos "chipsets" validos
(mmio_928 y s3_generic) del servidor. Este probo ambos y determino que la tarjeta
usa el "chipset" mmio_928.
En la sección
Device del fichero XF86Config, añada una línea Chipset con el
nombre obtenido antes. Por ejemplo,
Section "Device"
# Este es el identificador que le
pusimos...
Identifier "#9 GXE 64"
# Añadimos esta línea:
Chipset "mmio_928"
EndSection
Ahora hay que determinar las frecuencias de
reloj. Cada una de estas es simplemente la frecuencia con la que la tarjeta
puede enviar pixeles al monitor. Como ya sabemos, estas frecuencias dependen
de la resolución usada.
En primer
lugar debe echar un vistazo a los ficheros mencionados antes (como modeDB.txt)
y ver si los relojes de su tarjeta están listados. En su caso vera una
lista de 8o 16 valores, todos ellos dados en Mhz. Por ejemplo, en modeDB.txt
encontramos lo siguiente para la tarjeta Cardinal ET4000:
# chip ram virtual clocks default-mode flags
ET4000
1024 1024 768 25 28 38 36 40 45 32 0 "1024x768"
Como vemos, los relojes son 25, 28, 38, 36,
40, 45, 32 y 0 MHz.
En la sección
Devices del fichero XF86Config debe añadir una línea Clocks como
la siguiente (para nuestro ejemplo):
Clocks 25 28 38 36 40 45 32 0
Esto estará en la sección Devices,
después de Chipset. Observe la importancia del orden de los relojes.
No los cambie.
Si no encuentra las frecuencias
de reloj para su tarjeta en los ficheros, el servidor X también los puede
intentar averiguar. Con el comando ya visto X -probeonly obtendrá una
línea como la siguiente:
(--) S3: clocks: 25.18 28.32 38.02 36.15 40.33 45.32 32.00 00.00
Con esta línea podemos hacer la línea
Clocks en XF86Config. Si hay muchos valores y no caben en una línea puede
crear mas líneas Clock, pero respete el orden de todas formas.
Asegúrese de que no hay ninguna
línea Clocks en la sección Devices cuando use el comando X -probeonly
puesto que en este caso no hará pruebas reales de los relojes, sino que
probara solo los valores que haya en el fichero XF86Config.
Observe que algunas tarjetas aceleradas
tienen chip de reloj programable (vea las páginas de manual de XF86_Accel
para mas detalle. Estas son aplicables a las tarjetas S3, AGX y XGA-2).
Este chip viene a permitir que el servidor
X diga a la tarjeta que relojes usar. Si este es el caso, no debe haber una
lista de valores validos de reloj en el fichero XF86Config. Si no, la lista
de valores de reloj que devuelve X -probeonly contendrá solo uno o dos
valores discretos de reloj, dejando el resto copiados de los primeros o a cero.
Para
placas con reloj programable, deberá usar una línea ClockChip
en lugar de Clocks. Esta línea da el nombre del chip correspondiente
a la tarjeta. Esos nombres se encuentran en las páginas de manual. Por
ejemplo, en el fichero README.S3, veremos que diversas tarjetas S3-864 utilizan
un chip "ICD2061A", y deberá existir la línea
ClockChip "icd2061a"
en lugar de la línea Clocks en el fichero
XF86Config. Como sucede con Clocks, la línea formara parte de la sección
Devices e ira a continuación de Chipset.
De manera similar, algunas tarjetas aceleradas
requieren que se especifique el tipo de chip RAM-DAC del fichero XF86Config,
con una línea Ramdac. Esta opción se describe en XF86_Accel. Normalmente,
el servidor X ya se ocupa de tomar un valor correcto para el RAMDAC.
Algunas
tarjetas gráficas necesitan que se especifiquen diversas opciones en
la sección Devices. Estas opciones se describen en ficheros como README.cirrus
o páginas de manual, y se integran en una línea Option del fichero
XF86Config. Por ejemplo, una tarjeta #9 GXE 64 necesita dos opciones:
Option "number_nine"
Option
"dac_8_bit"
Normalmente, el servidor X funcionara sin las
opciones, pero conviene ponerlas para aumentar el rendimiento de la tarjeta.
Hay muchas opciones y muchas particulares de cada tarjeta. Para utilizarlas,
mire los ficheros del directorio /usr/X11R6/lib/X11/doc.
Así
pues, cuando haya acabado, tendrá una sección Devices como la
siguiente:
Section "Device"
# Solo valida para la tarjeta #9 GXE
64 !
Identifier "#9 GXE 64"
Chipset "mmio_928"
ClockChip "icd2061a"
Option "number_nine"
Option "dac_8_bit"
EndSection
Observe que en muchos casos se requiere una
línea Clocks en lugar de Clockchip, etc. Lo anterior es solo un ejemplo.
Hay otras opciones para la sección
Devices. Los detalles los vera en las páginas de manual correspondientes.
5.1.5 Funcionamiento
de XFree86
Anterior-
Siguiente - Índice
Con el fichero XF86Config terminado, puede probar
ya el servidor X. En primer lugar, debe asegurarse de que /usr/X11R6/bin esta
en el path.
El comando para iniciar XFree86
es
startx
Que es un programa que llama a xinit (en el
caso de que usted haya usado xinit para iniciar XWindows en otros sistemas).
Este comando arrancara el servidor X y
ejecutara los comandos encontrados en el fichero
.xinitrc
de su directorio home. .xinitrc es un shell-script que contiene los clientes
a ejecutar. Si no existe se buscara un equivalente en /usr/X11R6/lib/X11/xinit/xinitrc.
Un típico .xinitrc seria el siguiente:
#!/bin/sh
xterm -fn 7x13bold -geometry 80x32+10+50
&
xterm -fn 9x15bold -geometry 80x34+30-10
&
oclock -geometry 70x70-7+7 &
xsetroot -solid midnightblue &
exec twm
Este script arrancara dos clientes xterm y un
oclock, y pondrá el fondo (root window) en color midnightblue. Entonces
arrancara el gestor de ventanas twm. Observe que twm se ejecuta con la sentencia
exec. Esto quiere decir que el proceso de xinit será reemplazado por
twm. Por lo tanto, al ordenar la terminación de twm desde los menús
el servidor X también terminara. Para hacerlo pulse el botón 1
del ratón sobre el fondo de la pantalla (no en las ventanas) y vera un
menú con la opción de terminar twm entre otras.
Asegúrese que el ultimo comando
de .xinitrc se arranca con exec, y no se le pone en background (con el "&").
Si no, el servidor X terminara tan pronto se arranquen los clientes de .xinitrc.
Otra forma de salir de X es pulsando a
la vez |_ctrl_-||_alt_|-|_backspace_|. Esto detendrá el servidor X y
se saldrá del sistema XWindows.
Lo anterior es una configuración
de desktop muy sencilla. Hay otros muchos programas X disponibles que pueden
especificarse en el fichero .xinitrc. Por ejemplo, puede usar fvwm en lugar
de twm, para obtener un desktop virtual, posibilidad de personalizar colores,
fuentes, ventanas...
En principio puede parecer muy simple
el sistema X Windows, aunque con las personalizaciones se descubre lo potente
que es. Si usted es nuevo en X Windows, le sugerimos que consulte libros como
"The X Window System: A User's Guide." Aquí se tratan los temas de X
Windows en profundidad, que se completaran con las páginas de manual
para xterm, twm, etc.
5.1.6 Ejecución
con problemas
Anterior-
Siguiente - Índice
No siempre le saldrá perfecta la primera
prueba con el servidor X. Suele venir causado por un error en el fichero XF86Config.
Normalmente, los valores de reloj del monitor o de la tarjeta han sido mal puestos.
Si su pantalla "gira" o los lados están difusos, se trata de un error
en los valores para los relojes del monitor. Otra fuente de problemas es especificar
mal el "chipset" de la tarjeta de vídeo así como otras opciones
de la sección Device de XF86Config. Compruebe también que el nombre
/usr/X11R6/bin/X es un enlace simbólico al servidor X que quiera usar.
Si
todo lo anterior no le sirve, prueba a iniciar X en modo "bare", o sea, con
el comando:
X > /tmp/x.out 2>&1
A continuación puede matar el servidor
X (con la combinación de teclas |_ctrl_-||_alt_|-|_backspace_| y ver
el contenido del fichero /tmp/x.out, en el que el servidor X habrá puesto
todo tipo de avisos y errores, como los correspondientes a valores de reloj
no encontrados en la tarjeta, etc.
El fichero VideoModes.doc incluido en
la distribución contiene muchas ayudas para calcular los valores para
su fichero XF86Config.
Recuerde que puede conmutar entre modos
de vídeo con las combinaciones de teclas |_ctrl_|-|_alt_|-|_numeric_+_|
y |_ctrl_|-|_alt_|-|_numeric_-_|. Si la máxima resolución no sale
bien, es porque alguna parte del fichero XF86Config se ha puesto mal.
Compruebe también los mandos de
tamaño de imagen del monitor. Muchas veces hay que retocarlos cuando
se entra en X. Por ejemplo, si la pantalla se ve desplazada, actúe sobre
el mando correspondiente.
En el grupo de news USENET comp.windows.x.i386unix
encontrara mas ayuda sobre la utilización de XFree86. Puede ser una buena
idea comprobar si en el grupo alguien ha enviado mensajes con configuraciones
para un sistema similar al suyo.
5.2 Acceso
a ficheros MS-DOS
Anterior-
Siguiente - Índice
Si, por alguna extraña razón, necesitara acceder a ficheros MS-DOS, es fácil de hacer en Linux. La forma habitual de acceder a los ficheros MS-DOS es montar una partición o disquete con un sistema MSDOS, permitiéndole así que acceda a los ficheros a través del sistema de ficheros de Linux. Por ejemplo, si tiene un disquete MSDOS en /dev/fd0, el comando
# mount -t msdos /dev/fd0 /mnt
lo montara en /mnt. Vea la sección 4.6.2
para mas información acerca del montaje de disquetes.
También
puede montar una partición del disco duro con MS-DOS. Si se encuentra
en /dev/hda1, el comando
# mount -t msdos /dev/hda1 /mnt
lo montara. Asegúrese de desmontar (umount)
la partición o el disquete cuando ya no los necesite.
También
puede pedir a Linux que monte las particiones DOS durante el arranque, para
lo que se usa /etc/fstab. Vea la sección 4.8 para mas detalle. Por ejemplo,
la siguiente línea de /etc/fstab provocara el montaje de la partición
de DOS en el directorio /dos:
/dev/hda1 /dos msdos defaults
Las Mtools pueden usarse también para
acceder a ficheros DOS en disquetes, con comandos mcd, mdir, mcopy, etc. Vea
las páginas de manual correspondientes.
Una cosa es acceder a ficheros MS-DOS.
Otra es ejecutarlos en Linux. Existe un emulador de DOS bajo Linux en desarrollo,
que se puede encontrar fácilmente incluso en algunas distribuciones como
SLS. El emulador se porta bien para bastantes aplicaciones, incluyendo Wordperfect.
Pero dado lo diferentes que son Linux y MS-DOS, la potencia del emulador siempre
estará limitada.
Además, se esta trabajando en un
emulador de Microsoft Windows para funcionar en X Windows. Vea los grupos de
news y servidores de FTP para mas información.
5.3 Redes
con TCP/IP
Anterior-
Siguiente - Índice
Linux soporta una implementación completa
de los protocolos de red TCP/IP (Transport Control Protocol/Internet Protocol).
TCP/IP ha resultado ser hasta ahora el mejor mecanismo de comunicación
entre ordenadores de todo el mundo. Con Linux y una tarjeta Ethernet podrá
introducir su máquina en una red local o (si se tienen las conexiones
apropiadas) a InterNet, la red TCP/IP de ámbito mundial.
Poner en marcha una pequeña red
local de maquinas Unix es fácil. Solo requiere una tarjeta Ethernet en
cada máquina y los cables adecuados así como hardware accesorio
(terminadores, etc). Y si su universidad o empresa tiene acceso a InterNet,
podrá insertar su máquina Linux en esta red.
La implementación actual de TCP/IP
y los protocolos relacionados para Linux se llama "NET-2". No tiene que ver
con la versión NET-2 para BSD. En realidad, se refiere a que es la segunda
implementación que se hace para Linux.
NET-2 de Linux soporta también
SLIP (Serial Line Internet Protocol). SLIP le permitirá acceder a InterNet
con un módem. Si su universidad o empresa proporciona accesos por SLIP,
podrá llamar desde su casa al servidor SLIP y conectarse así a
la Red. Recíprocamente, si posee en Linux una tarjeta de Red y un módem
podrá configurar un servidor SLIP en el.
Para obtener mas información de
configuración de TCP/IP en Linux, le animamos a que lea el documento
NET-2 HOWTO, disponible mediante FTP anónimo en sunsite.unc.edu. Se trata
de una guía completa de configuración, que incluye conexiones
mediante Ethernet y SLIP. Otro documento relacionado es el Ethernet HOWTO, que
se centra en como configurar diversos modelos de tarjetas Ethernet. Además,
en el Proyecto de Documentación de Linux, al que pertenece este libro,
se ha desarrollado otro sobre este tema, Linux Network Administrator's Guide.
Vea, para mas información el apéndice A.
Encontrara mas ayuda en el libro TCP/IP
Network Administration, de Craig Hunt. Contiene información completa
acerca del uso y la configuración de TCP/IP en maquinas Unix.
5.3.1 Hardware requerido
Anterior-
Siguiente - Índice
Puede utilizar el TCP/IP para Linux sin hardware
de red. Así podrá usar el dispositivo "loopback" para conectarse
con usted mismo. Aunque parezca poco serio, hay algunos programas que necesitan
conexiones de red "loopback" para funcionar.
Sin embargo, si quiere usar Linux en una
red TCP/IP Ethernet, necesitara una de las tarjetas soportadas: 3com 3c503,
3c503/16; Novell NE1000, NE2000; Western Digital WD8003, WD8013; Hewlett Packard
HP27245, HP27247, HP27250.
Se ha comprobado que también funcionan
las siguientes tarjetas clónicas:
Clonicas de WD-80x3:
LANNET LEC-45; clonicas de NE2000: Alta
Combo, Artisoft LANtastic AE-2, Asante Etherpak 2001/2003, D-Link Ethernet II,
LTC E-NET/16 P/N 8300-200-002, Network Solutions HE-203, SVEC 4 Dimension Ethernet,
4-Dimension FD0490 EtherBoard 16, D-Link DE-600 y SMC Elite 16.
Sobre este tema encontrara mas información
en el documento Ethernet HOWTO.
Linux también funciona con SLIP,
que permite acceder a la red InterNet por teléfono. En este caso, necesitara
un módem compatible con el servidor SLIP. Muchos servidores requieren
módems de alta velocidad, a 14400 bits por segundo (norma V.32bis).
5.3.2 Configuración
de TCP/IP
Anterior-
Siguiente - Índice
En esta sección intentaremos explicar
como configurar una conexión TCP/IP con Ethernet. Nótese que este
método funcionara en muchos sistemas, pero no siempre. Nuestra explicación
debería ser suficiente para aclararle el camino en la configuración
de red en su máquina, pero hay además otros detalles que no mencionaremos
aquí por su extensión. Le aconsejamos que consulte los documentos
Linux Network Administrator's Guide y NET-2 HOWTO para mas informacion.3
En primer lugar, vamos a asumir que su
sistema Linux ha sido instalado con el software TCP/IP. Esto incluye clientes
como telnet y ftp, comandos de administración como ifconfig y route (que
suelen estar en /etc) y ficheros de configuración de red, como /etc/hosts.
Los documentos adicionales que hemos mencionado explican como instalar todo
ese software si aun no lo ha hecho.
También vamos a suponer que el
núcleo esta compilado con el soporte TCP/IP. Vea la sección 4.7
para informarse de como recompilar el núcleo. Para incluir el soporte
de red, tendrá que contestar afirmativamente a la pregunta correspondiente
que se le hará durante el comando make config.
Una vez hecho esto, se deben modificar
los ficheros de configuración que usa NET-2. Esta parte suele ser bastante
simple, pero suele haber bastante desacuerdo entre las diferentes distribuciones
de Linux. Los ficheros pueden estar en /etc o en /usr/etc o incluso /usr/etc/inet.
En el peor caso puede usar el comando find para localizar los ficheros. A veces
los ficheros están también repartidos por varios directorios y
no en uno solo.
Lo siguiente es fundamentalmente aplicable
a conexiones Ethernet. Si lo que va a usar es SLIP, léase esta sección
para ir entendiendo los conceptos y luego vea las instrucciones especificas
para SLIP.
5.3.2.1 La configuración de red
Antes de configurar su sistema con TCP/IP necesita conocer cierta información sobre la red. En muchos casos, el administrador local se la proporcionara.
o Dirección IP. Es la dirección
única de cada máquina, formada por números separados por
puntos. Por ejemplo, 128.253.153.54. El administrador de red le dará
este número. Si esta configurando el modo "loopback" únicamente
(esto es, no tiene conexión a la red mediante SLIP o Ethernet) su dirección
IP será la 127.0.0.1.
o Mascara de red ("netmask"). Es un número
similar a la dirección IP, que determina que parte de la dirección
IP determina el número de subred, y que parte especifica el host en la
subred (si todo esto no lo comprende bien, le sugerimos que lea documentos sobre
administración de red).
La mascara de red es un patrón
de bits, que al ser superpuesto a una dirección de la red, le dirá
en que subred se encuentra esa dirección. Esto es muy importante para
el rutado y, si usted nota que puede comunicar con gente de redes externas pero
no con gente de su misma red, es un buen motivo para pensar que tiene mal puesta
la mascara.
_____________________________________________
3 Algunas de las cosas que aquí se exponen proceden del documento NET-2 HOWTO de Terry Dawson y Matt Welsh.
Los administradores de la subred habrán
seleccionado las mascaras en tiempo de diseño de la red, y serán
quienes deban darle esa información. Muchas subredes son de "clase C"
y usan la mascara 255.255.255.0. Otras subredes de "clase B" usan la 255.255.0.0.
El código de NET-2 seleccionara automaticamente una mascara que asume
que no hay subred.
Todo esto debe aplicarse también
a la configuración "loopback". Dado que la dirección "loop-back"
es siempre la 127.0.0.1, las mascara será la 255.0.0.0. Puede especificarla
de forma explícita o dejar que el sistema la ponga por defecto.
o Dirección de red. Es el
resultado de la operación lógica AND entre su dirección
IP y la mascara. Por ejemplo, si su dirección IP es la 128.253.154.32
y la mascara es 255.255.255.0, su dirección de red será la 128.253.154.0.
Con una mascara 255.255.0.0, la dirección seria 128.253.0.0. Si utiliza
solo la configuración en "loopback", la dirección de red no existe.
o Dirección de "broadcast".
Se utiliza para lanzar paquetes que deben recibir todas las maquinas de la subred.
Así pues, si el número de host de la subred se obtiene mediante
el último octeto de la dirección IP (o sea, la mascara es la 255.255.255.0),
su dirección de "broadcast" será su dirección de red operado
en OR con 0.0.0.255.
Por ejemplo, si su número IP es
el 128.253.154.32, y la mascara es la 255.255.255.0, la dirección de
"broadcast" seria la 128.253.154.255.
Observe que por motivos históricos,
algunas subredes están configuradas para usar la dirección de
red como dirección de "broadcast". Si tiene dudas, consulte con el administrador
de la red.
En muchos casos, bastara con copiar la
configuración que tengan otras maquinas de la subred y cambiar únicamente
el valor IP, por supuesto.
La dirección "broadcast" tampoco
tiene utilidad en una configuración en "loopback".
o Dirección de pasarela.
Se trata de la dirección de la máquina que va a ser su pasarela
a otras maquinas que no estén en su misma subred. Muchas veces es una
dirección IP como la suya, solo que terminada en ".1". Por ejemplo, si
su dirección IP es la 128.253.154.32, la de la pasarela podría
ser la 128.253.154.1. El administrador se la dirá en cualquier caso.
En ocasiones puede tener varias pasarelas.
Una pasarela o gateway es simplemente una máquina que se encuentra a
la vez en dos subredes (tiene una dirección IP por cada una), y reparte
los paquetes entre ellas. En muchas subredes existe una sola pasarela para comunicarse
con las redes externas, pero en otras hay varias, una para cada subred adicional.
Si su red esta aislada de otras, o su
máquina se encuentra en configuración "loopback", no necesitara
dirección de pasarela.
o Dirección del servidor
de nombres. Suele existir un servidor que traduce nombres de maquinas a direcciones
IP. El administrador le facilitara su dirección. Puede usted mismo ejecutar
en su máquina un servidor de nombres, el programa named, en cuyo caso
su dirección será la 127.0.0.1. A menos que realmente lo necesite,
le recomendamos que procure siempre usar otra máquina distinta. La configuración
de named es otro tema; y lo primordial aquí es que comunique con la red.
Puede tratar estos asuntos mas tarde.
En una configuración "loopback"
no es necesario este dato.
Nota para usuarios de SLIP: La información
anterior puede necesitarla o no. Cuando use SLIP su dirección IP será
determinada de dos formas: bien "estática", lo que significa que será
siempre la misma, o bien "dinámica", lo que indica que le será
asignada una de las disponibles cada vez que conecte con el servidor SLIP. En
la sección sobre SLIP ampliaremos el tema.
NET-2 implementa rutado completo, múltiples
rutas, subredes... Lo anterior describe las configuraciones mas básicas.
Pero la suya puede ser diferente: cuando tenga alguna duda, consulte al administrador
de la red, y eche un vistazo a las páginas del manual para route e ifconfig.
La configuración completa de redes TCP/IP supera ampliamente las intenciones
de este libro, y con lo anterior solo pretendemos posibilitar que todo el mundo
pueda poner en marcha su sistema en una red ya configurada.
5.3.2.2 Los ficheros de inicio rc para trabajo en redes
Los ficheros rc son shell scripts que se ejecutan
durante el arranque del sistema para configurarlo.
Son ejecutados por el proceso init, y
ponen en marcha los demonios basicos como sendmail o cron y además configuran
parámetros de la red como la dirección IP y el nombre del host.
Estos scripts se suelen encontrar en /etc/rc.d o en /etc.
Lo que vamos a hacer aquí es describir
los ficheros rc que configuran TCP/IP. En Linux son dos: rc.inet1 y rc.inet2.
El primero configura parámetros basicos como direcciones IP e información
de rutado. El segundo lanza los demonios TCP/IP, principalmente inetd, quien
se encargara de lanzar cuando haga falta los telnetd y demas.
En muchos sistemas se juntan los dos ficheros
en uno, el rc.inet o rc.net. No tiene importancia el nombre, siempre que se
ejecuten en el momento adecuado durante el arranque. Para conseguirlo, init
tiene que saberlo, y para ello existen entradas especificas en el fichero inittab.
En el peor caso tendria usted que crear las entradas para rc.inet1 y rc.inet2
en dicho fichero.
Como hemos dicho, rc.inet1 configura los
parámetros basicos de red. Esto incluye el número IP y dirección
de red, y la tabla de rutado. Estas tablas se usan para rutar los datagramas
entrantes y salientes de otras maquinas. Lo mas simple es tener tres rutas:
una para enviar paquetes a su propia máquina, otra para enviarlos a otra
máquina de la subred y una tercera para enviarlos a maquinas de otras
subredes (a través de una pasarela). Para configurar esto se usan los
programas ifconfig y route, programas que suelen estar en /etc.
ifconfig se utiliza para configurar el
dispositivo interfaz de red con los parametros que necesita, como la dirección
IP, la mascara, dirección de broadcast y otros. route, por su lado, se
utiliza para crear o modificar entradas de la tabla de rutado.
Para
muchas configuraciones, el siguiente rc.inet1 puede valer, aunque, por supuesto,
necesitara poner sus propias direcciones IP y demas.
#!/bin/sh
# /etc/rc.d/rc.inet1 -- Configuracion
de TCP/IP
# Configuracion del dispositivo 'loopback'
HOSTNAME=`hostname`
/etc/ifconfig lo 127.0.0.1 # utiliza por
defecto la mascara 255.0.0.0
/etc/route add 127.0.0.1 # una ruta
apunta al dispositivo 'loopback'
# Configuracion del dispositivo ethernet.
Si solo se usa el 'loopback',
# comentar las lineas siguientes.
# EDITELO con sus propios datos.
IPADDR="128.253.154.32" # PONGA aqui
su dirección IP
NETMASK="255.255.255.0" # PONGA aqui
su mascara de red
NETWORK="128.253.154.0" # PONGA aqui
su dirección de red
BROADCAST="128.253.154.255" # PONGA
aqui su dirección 'broadcast' si
# la tiene. Si no, elimine la linea.
GATEWAY="128.253.154.1" # PONGA aqui
su dirección de pasarela
/etc/ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
# Si no tiene dirección de 'broadcast',
ponga la anterior linea asi:
# /etc/ifconfig eth0 ${IPADDR} netmask
${NETMASK}
/etc/route add ${NETWORK}
# Lo que sigue solo hace falta si hay pasarela,
o sea, si su subred esta
# conectada a otra red.
/etc/route add default gw ${GATEWAY}
metric 1
# Fin de la configuracion de ethernet
Quizas tenga que estudiarse un poco mas el tema
para su instalacion particular, aunque en la mayor parte de los casos el fichero
anterior sera suficiente.
rc.inet2 arranca servidores usados por
TCP/IP. El mas importante es inetd, que queda en segundo plano y escucha por
varios puertos de la red. Cuando una máquina intenta conectarse por uno
de ellos (por ejemplo, por el de telnet), inetd envia una copia del servidor
correspondiente (en este caso, in.telnetd) para que controle el puerto afectado.
Esto es mejor que mantener en ejecucion todos los servidores de red necesarios
(multiples copias de in.telnetd, in.ftpd y demas).
inetd los arranca conforme se van necesitando.
Pero en rc.inet2 se arrancan también
otros demonios. syslogd se ocupa de acumular los mensajes generados por el nucleo
y diversas aplicaciones y tratarlos segun diga el fichero /etc/syslogd.conf
(guardarlos en ficheros, sacarlos por consola,. . . ). routed se ocupa de la
información de rutado dinamica. Cuando su sistema intenta enviar paquetes
a otra red, puede requerir nuevas entradas en las tablas de rutado, que routed
trata sin necesidad de intervencion del usuario.
El ejemplo siguiente solo arranca un número
minimo de servidores. Existen otros que pueden interesarle, como el NFS. Cuando
instale TCP/IP en su sistema, es mejor empezar con una configuracion sencilla
y luego complicarla segun sus necesidades.
Observe
que en el fichero siguiente se asume que los servidores de red se encuentran
en /etc, pero pueden estar en otro sitio (en /sbin, por ejemplo).
#! /bin/sh
# Ejemplo de /etc/rc.d/rc.inet2
# Arrancar syslogd
if [ -f /etc/syslogd ]
then
/etc/syslogd
fi
# Arrancar inetd
if [ -f /etc/inetd ]
then
/etc/inetd
fi
# Arrancar routed
if [ -f /etc/routed ]
then
/etc/routed -q
fi
# Hecho!
Otro servidor que puede interesarle es named, servidor de nombres, que traducira nombres (locales) a direcciones IP y viceversa. Si no hay servidor de nombres en su subred o quiere proporcionar nombres nuevos a la misma, necesitara arrancar named. Su configuracion es mas compleja y requiere cierto cuidado y planificacion, por lo que le recomendamos consultar bibliografia especifica. Sin embargo, no es habitual tener que instalar un servidor de nombres en su sistema.
5.3.2.3 /etc/hosts
/etc/hosts lleva una lista de direcciones IP
y nombres de maquinas que les corresponden. En general, /etc/hosts solo contiene
entradas para su máquina y quizas alguna otra "importante", como servidores
de nombres o pasarelas. Su servidor de nombres local proporciona a otras maquinas
traduccion automatica del nombre de su host a su dirección IP.
Por
ejemplo, si su máquina es loomer.vpizza.com con la dirección IP
128.253.154.32, su /etc/hosts seria como este:
127.0.0.1 localhost
128.253.154.32 loomer.vpizza.com loomer
Si solo usa el "loopback", la unica linea necesaria es la que tiene el número 127.0.0.1, añadiendo tras localhost el nombre de su máquina.
5.3.2.4 /etc/networks
El fichero /etc/networks tiene direcciones de
su red y otras, y es usado por el comando route. Permite dar nombre a las redes.
Cada subred que quiera añadir a
route debe aparecer en /etc/networks.
Por
ejemplo,
default 0.0.0.0 # rutado por defecto - obligatorio
loopnet 127.0.0.0 # red de 'loopback'
- obligatorio
mynet 128.253.154.0 #
Ponga aqui su dirección de red
5.3.2.5 /etc/host.conf
Este fichero dice a su sistema como resolver los nombres de los hosts. Debe contener dos lineas:
order hosts,bind
multi
on
Estas lineas indican a los mecanismos de resolucion que empiezen buscando en el fichero /etc/hosts y luego pregunten al servidor de nombres, si existe. La entrada multi permite que para un nombre de máquina haya varias direcciones IP en /etc/hosts.
5.3.2.6 /etc/resolv.conf
En este fichero se configura el mecanismo de
resolucion, especificando la dirección del servidor de nombres y el nombre
del dominio de su máquina. El dominio es como un nombre de host "mutilado".
Por
ejemplo, si su máquina se llama loomer.vpizza.com, el dominio sera vpizza.com.
Como fichero /etc/resolv.conf de ejemplo, veremos el caso de la máquina
goober.norelco.com cuyo servidor de nombres es el 127.253.154.5:
domain norelco.com
nameserver
127.253.154.5
Con lineas nameserver adicionales podra especificar la existencia de varios servidores de nombres.
5.3.2.7 Ajuste del nombre de su host
Para activar el nombre de su host debe usar el comando hostname. Esto suele hacerse en un fichero como /etc/rc.local. Busque en sus ficheros rc y busque una llamada a hostname como la siguiente:
/bin/hostname loomer.vpizza.com
Vea que hay que especificar el nombre completo (dominio incluido).
5.3.2.8 Problemas con la configuracion
Una vez que haya preparado los ficheros anteriores,
habra que reiniciar Linux para que reconozca las nuevas configuraciones. Luego
tendra que hacer pruebas, para las que lo mas indicado es probar aspectos individuales
de la red y no tratar de empezar, por ejemplo, lanzando un proceso Mosaic con
una conexion X.
Con el comando netstat puede ver las tablas
de rutado. Esta suele ser la principal fuente de problemas. En la página
del manual para este comando encontrara la sintaxis adecuada. Para comprobar
que funciona su conexión, le sugerimos probar un cliente como telnet
para ver si puede conectarse a maquinas de su subred y de otras redes. Esto
puede ponerle sobre la pista del problema.
Por ejemplo, si puede conectarse a maquinas
de otras subredes pero no de la suya propia, puede tratarse de un problema con
la mascara de red o las tablas de rutado. Ejecutando route como root podrá
jugar directamente con las entradas de la tabla.
Para
hacer estas pruebas de conectividad, utilice direcciones IP y no nombres. Así,
si tiene problemas para ejecutar
$ telnet shoop.vpizza.com
la causa puede ser una configuración
incorrecta del servidor de nombres. Si funciona usando la dirección IP,
se puede casi asegurar que el resto de la configuración esta bien hecha.
Solo falta que funcione bien el servicio de nombres (probablemente haya que
especificar correctamente la dirección del servidor de nombres).
La depuración de configuraciones
de red puede ser tarea difícil, y no podemos tratarla aquí. Le
sugerimos, si no consigue otra ayuda, que consulte el libro Linux Network Administrator's
Guide de esta misma serie.
5.3.3 Configuración
de SLIP
Anterior-
Siguiente - Índice
Con SLIP (Serial Line Internet Protocol) usted
puede conectarse a una red TCP/IP mediante una línea serie, como puede
ser un módem o una línea dedicada asíncrona. Por supuesto,
para usar SLIP tiene que tener acceso a un servidor SLIP. Muchas empresas y
universidades proporcionan acceso por poco dinero.
Podemos destacar dos programas relacionados
con SLIP: dip y slattach. Ambos se usan para iniciar una conexión SLIP
y por lo tanto son necesarios. No es suficiente con llamar al servidor SLIP
con programas como kermit y después usar los comandos ifconfig y route.
Esto se debe a que dip y slattach realizan una llamada especial ioctl() para
convertir el control de un dispositivo serie a la interfaz de SLIP.
Con dip puede llamarse a un servidor SLIP,
hacer ciertas negociaciones de entrada con el mismo (intercambio de usuario
y password, por ejemplo) y después iniciar la conexión SLIP. Por
su lado, slattach se limita prácticamente a modificar la línea
serie para SLIP, por lo que esta indicado para líneas dedicadas que no
requieren interacción con el módem o similar. Casi todo el mundo,
sin embargo, usa dip.
Con dip también puede configurar
su sistema como servidor SLIP, permitiendo a otras maquinas conectarse a la
red a través de su módem y su conexión Ethernet. Vea los
manuales en línea de dip para mas información.
A SLIP se le llama conexión "punto
a punto" (point-to-point) pues a ambos lados de la línea existen solo
las dos maquinas involucradas (no como sucede en una ethernet). Esta idea se
generaliza y mejora con el protocolo PPP (point-to-point protocol) que también
se ha portado a Linux. Cuando inicia una conexión al servidor SLIP, se
le asignara una dirección IP, bien de forma "estática" (su dirección
IP es siempre la misma) o "dinámica" (su dirección puede ser diferente
de un día para otro). Por lo general, los valores de la dirección
y pasarela asignados serán impresos por el servidor SLIP al conectarse.
El programa dip es capaz de capturar esos valores y configurar su sistema para
adaptarse a ellos.
Esencialmente, configurar una conexión
SLIP es como configurar la conexión en "loopback" o con ethernet. En
las siguientes líneas le mostramos las diferencias. Es importante que
vea lo que hemos explicado antes sobre configuración en general, y aplique
ahora las modificaciones que le vamos a contar.
5.3.3.1 Conexiones SLIP con asignación de IP estática usando dip
Si su servidor SLIP le permite tener la dirección
IP estática, lo mas adecuado es insertar la dirección y el nombre
del host en el fichero /etc/hosts. Además, debe configurar los ficheros
rc.inet2, hosts.conf y resolv.conf como se ha dicho antes.
En el fichero rc.inet1 también
tendrá que introducir cambios, ejecutando ifconfig y route
solo para el dispositivo "loopback", puesto
que dip hará lo propio con el dispositivo SLIP. Pero si usa slattach
si tendrá que incluir comandos ifconfig/route en rc.inet1 para el dispositivo
SLIP (en breve veremos como).
El programa dip debería configurar
sus tablas de rutado para la conexión SLIP. Sin embargo, puede no hacerlo
bien, y tendrá que corregirlo ejecutando por su cuenta ifconfig o route
cuando se haya conectado. Quizás le convenga entonces escribirse un shell
script para hacerlo automáticamente. En muchos casos, la pasarela es
el propio servidor SLIP. De todas formas, el comando dip puede deducirlo de
la información que envía el servidor al conectarse.
Puede
que necesite el argumento pointopoint en ifconfig si ve que dip no lo configura
bien. Por ejemplo, si la dirección del servidor SLIP es 128.253.154.2
y la suya es 128.253.154.32, el comando a ejecutar (como root) podría
ser:
ifconfig sl0 128.253.154.32 pointopoint 128.253.154.2
tras conectar con dip. La documentación
en línea de este comando le será útil.
Observe que los dispositivos SLIP que
se usan en ifconfig y route son sl0, sl1, etc. (y no como en ethernet, que es
eth0, eth1, etc.)
En la sección posterior 5.3.4 le
explicaremos como configurar dip para conectarse a un servidor SLIP.
5.3.3.2 Conexiones SLIP con asignación de IP estática usando slattach
Si tiene una línea dedicada o un cable
conectado directamente al servidor SLIP, no necesitara usar dip para iniciar
la conexión. En su lugar puede usar slattach.
En
este caso, el fichero /etc/rc.inet1 puede quedar como sigue:
#!/bin/sh
IPADDR="128.253.154.32" # Ponga aquí
su dirección IP
REMADDR="128.253.154.2" # Ponga aquí
la del servidor de SLIP
# Modifique lo siguiente para su dispositivo
serie
slattach -p cslip -s 19200 /dev/ttyS0
/etc/ifconfig sl0 $IPADDR pointopoint
$REMADDR up
/etc/route add default
gw $REMADDR
slattach asigna el primer dispositivo SLIP disponible
(sl0, etc.) a la línea serie especificada.
Observe que el primer parámetro
de slattach es el protocolo SLIP a utilizar. Actualmente solo valen slip y cslip.
El segundo es un SLIP que incluye compresión de las cabeceras de los
datagramas. Por ello su elección habitual será cslip a menos que
tenga algún problema con la conexión.
Si hay mas de un dispositivo SLIP tendrá
que considerar algunas cosas respecto al rutado. Tiene que decidir que rutas
añadir, y esto debe hacerse en función de la configuración
de la red a la que se conecte. Le serán de ayuda los libros sobre configuración
de TCP/IP, la documentación en línea del comando route, etc.
5.3.3.3 Conexiones SLIP con asignación de IP dinámica usando dip
Si el servidor SLIP le asigna dinámicamente
las direcciones IP, no sabrá, evidentemente, su dirección IP antes
de conectarse, con lo que no puede incluir esa información en /etc/hosts
(aunque si incluirá la información de "loopback", 127.0.0.1).
Muchos
servidores SLIP envían al terminal la dirección IP y la del propio
servidor. Por ejemplo, un servidor SLIP podría decirle esto al conectarse:
Your IP address is 128.253.154.44.
Server
address is 128.253.154.2.
dip puede capturar ese texto y configurar así
el sistema.
Vea la sección 5.3.3.1 para informarse
sobre la configuración de los ficheros de TCP/IP con SLIP. Ahora le indicaremos
como se configura SLIP para conectarse al servidor SLIP.
5.3.4 Utilización
de dip
Anterior-
Siguiente - Índice
dip puede facilitar el proceso de conexión
a un servidor SLIP, pues se ocupara de entrar en el sistema remoto y configurar
el dispositivo SLIP según la información recibida del servidor.
Este programa es el mas indicado a menos que su línea sea dedicada.
Para utilizar dip tendrá que escribir
un "script" que contendrá comandos para comunicar con el servidor SLIP
durante la entrada en el sistema remoto. Por ejemplo, incluirá envío
automático de usuario y password al servidor así como lo necesario
para asignar la dirección IP.
Lo
que sigue es un ejemplo de script para asignación dinámica de
dirección IP. Para asignación estática puede poner al principio
del script los valores fijos a $local y $remote (direcciones IP local y remota,
respectivamente). Vea los manuales de dip para mas información.
main:
# MTU es 'Maximum Transfer Unit' o
tamaño maximo de los paquetes
# transmitidos por el dispositivo
SLIP. En muchos servidores este
# valor debe ser 1500 o 1506. Hable
con el administrador de la red
# si no esta seguro.
get $mtu 1500
# Hacer que el rutado de SLIP sea el de
su sistema por defecto.
default
# Elegir puerto serie y velocidad.
port cua03
speed 38400
# Reiniciar el modem y la linea del terminal.
Si le da problemas,
# comente la linea.
reset
# Ponga aqui su cadena de inicio del modem.
send ATT&C1&D2\\N3&Q5%M3%C1N1W1L1S48=7\r
wait OK 2
if $errlvl != 0 goto error
# Llamar al servidor SLIP (ponga aqui
el telefono).
dial 2546000
if $errlvl != 0 goto error
wait CONNECT 60
if $errlvl != 0 goto error
# En este punto estaremos conectados. Entrar
en el sistema.
login:
sleep 3
send \r\n\r\n
# Esperar el 'prompt' de entrada (login).
wait login: 10
if $errlvl != 0 goto error
# Enviar su nombre de usuario.
send
USERNAME\n
# Esperar el 'prompt' de password.
wait ord: 5
if $errlvl != 0 goto error
# Enviar su password.
send PASSWORD\n
# Esperar el 'prompt' del servidor que indica
que esta preparado.
wait annex: 30
if $errlvl != 0 goto error
# Enviar un comando al servidor para empezar
la conexion.
send slip\n
wait Annex 30
# Obtener la direccion IP desde el servidor.
El comando 'get...remote'
# lee un texto de la forma xxx.xxx.xxx.xxx
y lo asigna a la variable
# dada como segundo argumento (aqui
es $remote).
get $remote remote
if $errlvl != 0 goto error
wait Your 30
# Obtener la direccion local IP desde el
servidor y asignarla a $local.
get $local remote
if $errlvl != 0 goto error
# Establecer la conexion SLIP.
done:
print CONNECTED to $remote at $rmtip
print GATEWAY address $rmtip
print LOCAL address $local
mode SLIP
goto exit
error:
print SLIP to $remote failed.
exit:
dip ejecuta automáticamente los programas
ifconfig y route según los valores asignados a $local y $remote. Aquí,
esas variables son asignadas con el comando get...remote, que obtiene el texto
de la dirección del servidor SLIP y lo asigna a la variable.
Si los comandos ifconfig y route que dip
ejecuta no funcionan, siempre puede llamarlos por su cuenta desde un shell script
tras ejecutar dip o modificar las fuentes del propio dip. La opción -v
de dip le dará información para depuración generada durante
la conexión y le ayudara a averiguar la(s) causa(s) del problema(s).
Ahora,
para probar dip y abrir la conexión SLIP, escriba un comando como:
/etc/dip/dip -v /etc/dip/mychat 2>&1
Estando los ficheros de dip, incluyendo el script
mychat.dip en /etc/dip.
Las explicaciones de esta sección
le deberían haber permitido conectarse a la red, bien sea por Ethernet
o por SLIP. De nuevo le volvemos a recomendar que consulte un libro sobre configuración
de redes TCP/IP, en especial si en la red hay configuraciones especiales de
rutado o similar.
5.4 Red
con UUCP
Anterior-
Siguiente - Índice
UUCP (UNIX-to-UNIX Copy) es un viejo mecanismo
usado para transferir información entre sistemas Unix. Mediante UUCP,
los sistemas Unix se comunican con otros (vía módem), transfiriendo
mensajes de correo, news, ficheros y demás. Si no tiene acceso TCP/IP
o SLIP, puede usar UUCP para comunicarse con el mundo. Casi todo el software
de correo puede ser configurado para usar transferencias UUCP. De hecho, si
tiene algún servidor InterNet cercano, puede recibir correo en su sistema
de esa red mediante UUCP.
El libro Linux Network Administrator's
Guide le dará información completa para configurar y utilizar
UUCP en Linux. También encontrara información en el documento
UUCP-HOWTO, que puede obtener por FTP anónimo de sunsite.unc.edu. Otra
fuente de información sobre UUCP es el libro Managing UUCP and USENET,
de Tim O'Reilly y Grace Todino. Vea el apéndice A para mas información.
5.5 Correo
Electrónico
Anterior-
Siguiente - Índice
Como casi todos los UNIX, Linux dispone de paquetes
de software para tener correo electrónico. Este puede ser tanto local
(entre usuarios de su sistema) como remoto (mediante una red TCP/IP o UUCP).
El software de E-Mail consta normalmente de dos partes: un agente de usuario
o mailer y un programa de transporte. El agente de usuario es el software que
el usuario utiliza para crear mensajes, leerlos, etc. Podemos destacar aquí
los programas elm, pine y mailx. El programa de transporte es quien se ocupa
de entregar correo tanto remoto como local, conociendo protocolos de comunicaciones
y demás. El usuario nunca interactúa directamente con este programa,
sino que lo hace a través del agente de usuario. Sin embargo, el administrador
del sistema debe conocer como funciona el programa de transporte, con el fin
de configurarlo según sus necesidades.
En Linux, el mas conocido de los programas
de transporte es Smail. Es fácil de configurar y capaz de enviar tanto
correo local como remoto vía UUCP o TCP/IP. En otros sistemas Unix se
suele usar con mas frecuencia el programa sendmail, que es bastante mas complicado
de configurar, por lo que no se suele usar en Linux.
En el documento Linux Mail HOWTO se expone
mas información sobre el software disponible para correo y como configurarlo.
Si pretende tener correo remoto, necesitara entender los conceptos de TCP/IP
o UUCP (según la red utilizada) (vea las secciones 5.3 y 5.4). Los documentos
de UUCP y TCP/IP indicados en el apéndice A también le ayudaran.
Casi todo el software de correo para Linux
puede obtenerse mediante FTP anónimo de sunsite.unc.edu en el directorio
/pub/Linux/system/Mail.
5.6 News
y USENET
Anterior-
Siguiente - Índice
Linux proporciona también todo lo necesario
para tratar las news. Puede elegir configurar un servidor de news local, que
permitirá a los usuarios poner "artículos" a los diversos "grupos"
del sistema. . . en cierto modo, es una forma de discutir. Sin embargo, si tiene
acceso a una red UUCP o TCP/IP, podrá participar realmente en USENET,
una red de news de ámbito mundial.
En el software de news hay dos partes,
el servidor y el cliente. El servidor de news es el software que controla los
grupos de news y se ocupa de enviar los artículos a otras maquinas (si
estamos en una red). El cliente, o lector de news, es el software que conecta
al servidor para permitir que los usuarios lean y escriban artículos.
Hay varios tipos de servidores de news
para Linux. Todos siguen un diseño y esquema de protocolos parecido.
Principalmente, tenemos los servidores "C News" e "INN". En cuanto a clientes,
destacamos rn y tin. La selección del cliente es cuestión de gustos,
y, por supuesto, es independiente del servidor elegido.
Si solo pretende leer y escribir artículos
localmente (no como parte de USENET), necesitara
un servidor que corra en su sistema, así
como el lector para los usuarios. El servidor guardara los artículos
en un directorio como /usr/spool/news, y el lector se compilara para buscar
los artículos en ese directorio.
Sin embargo, si desea tener news en red,
tendrá ahora varias opciones mas. Para redes basadas en TCP/IP se usa
el protocolo NNTP (Network News Transmission Protocol). NNTP permite al cliente
leer los artículos a través de la red, desde una máquina
remota. NNTP también permite a los servidores enviarse artículos
por la red. En esto se basa USENET. Casi todas las empresas y universidades
conectadas cuentan con uno o mas servidores NNTP para controlar todas las news
USENET en ese lugar. Cualquier otra máquina de esa empresa o universidad
tendrá un lector de news que accederá al servidor con NNTP. Por
ello, solo el servidor NNTP guarda artículos en disco.
Los
clientes no lo hacen, y siempre tienen que conectar con el servidor para leerlos.
A continuación mostramos algunas situaciones típicas de configuración.
o News locales. No hay conexión
a red o no se desea tener news en red. En este caso, hay que ejecutar C
News o INN en su máquina, e instalar el lector para leer las news
locales.
o Con acceso a red TCP/IP y
servidor NNTP. Si existe un servidor NNTP ya configurado, puede leer y escribir
artículos desde su máquina Linux instalando un lector basado
en NNTP (casi todos los lectores tienen opciones de configuración
para leer news en NNTP). Por lo tanto, no necesita preocuparse de instalar
el servidor o guardar artículos en su sistema. El lector se ocupara
de enviarlos a la red. Por supuesto, necesitara configurar TCP/IP y tener
acceso a la red (vea la sección 5.3).
o Tiene acceso a la red TCP/IP
pero no hay un servidor NNTP. En este caso, puede instalar un servidor NNTP
en su sistema. Además, puede instalarlo para comunicarse con otros
servidores NNTP para intercambiar artículos.
o
Desea transferir news con UUCP. Si tiene acceso a UUCP (ver la sección
5.4), puede participar en USENET de la misma forma. Necesitara instalar
un servidor de news y un lector.
Además necesitara configurar su software
UUCP para transferir los artículos periódicamente a otra máquina
con UUCP. En UUCP no se usa el protocolo NNTP, sino que posee su propio mecanismo
para transferir artículos.
El único inconveniente de muchos
clientes y servidores de news es que deben ser compilados a mano, es decir,
no usan ficheros de configuración, sino que se configuran en el momento
de compilarlos.
Muchos programas de news "estándares"
(disponibles por FTP anónimo en ftp.uu.net, directorio /news) podrían
no compilarse en Linux. Los parches que hagan falta se encuentran en sunsite.unc.edu,
directorio /pub/Linux/system/Mail (aquí se encuentra también todo
el software de correo para Linux). Pueden encontrarse también versiones
ya compiladas.
Para mas información,
léase el documento Linux News HOWTO que encontrara en sunsite.unc.edu.
También encontrara ayuda en el manual Linux Network Administrator's Guide
de la misma serie de este libro. También puede consultar el libro Managing
UUCP and Usenet, de Tim O'Reilly y Grace Todino. Una última posibilidad
es el documento "How to become a USENET site", disponible en ftp.uu.net, directorio
/usenet/news.announce.newusers.