ANTERIOR

SIGUIENTE

MANUAL DE LINUX

5

 

Capítulo 5

 

 

Características avanzadas

 

 

 

En este capítulo 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 pro-

gramadores 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

 

 

X Windows es un enorme entorno gráfico para sistemas Unix, potente y también complejo. Origin-

almente 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 más información sobre el libro.

En esta sección, le daremos una descripción de cómo instalar y configurar paso a paso XFree86 en

Linux, pero necesitará completar la información con otra disponible en la documentación propia de

_________________________________________

(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.

_________________________________________

 

XFree86 (documentación que comentaremos más adelante). Otra fuente interesante de información

es la XFree86 HOWTO.

5.1.1 Requisitos de hardware

 

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 video debería especificar cuál es el "chipset" que utiliza. Si está a punto de comprarse una nueva tarjeta gráfica, conviene pedir al vendedor el modelo exacto de tarjeta y "chipset" de video. 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 más detallada.

De todas formas, puede determinar su "chipset" ejecutando el programa SuperProbe incluído

con la distribución de XFree86. De esto hablamos más 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 Video 7/Headland Technologies HT216-32

 

También están soportados los siguientes, con acelerador:

o 8514/A (y clónicos)

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 excepcion de Avance Logic, MX y Video 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 más de 64 Kb.

Indudablemente, esta lista seguirá creciendo conforme pase el tiempo. Las notas que encon-

trará 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

cómo 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 necesitará 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 más lento (hasta 10 veces) que uno con 8 megabytes o más.

 

5.1.2 Instalación de XFree86

 

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 periodicamente aparecen nuevas versiones).

 

Es común que usted haya obtenido XFree86 como parte de una distribución de Linux, en cuyo

caso no necesitará obtener el software del servidor anterior.

 

Si en cambio los obtiene por esta vía, la siguiente tabla le informará 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, necesitará 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 apuntará 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 está seguro de qué servidor debe usar, o no conoce el "chipset" de su tarjeta gráfica,

puede ejecutar SuperProbe, un programa del directorio /usr/X11R6/bin (incluído en el fichero

XF86-3.1-bin), que intentará 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 qué 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

 

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 cómo 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 video.

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 tu-

torial sobre la configuración de XWindows.

 

o Diferentes "chipsets" de video 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 qué 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 sería 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>. .E.ndSection. 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 sólo 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~nal al

# provocara el volcado de su memoria. Esto puede dejar la consola en

# un estado inutilizable pero el volcado puede servirle en la depuracion.

# 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 parametros siguientes solo son necesarios en algunos Logitech.

# BaudRate 9600

# SampleRate 150

 

# La siguiente opcion es util para ratones Microsoft de dos botones.

# Emulate3Buttons

 

# La siguiente opcion es util 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 válidos 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 está 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 esté 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 config-

uraciones hardware. Por lo general, sin embargo, solo necesitará 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 usará después para referirse a ese monitor.

HorizSync es el valor de frecuencia de sincronismo horizontal válida, 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 válidas (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

cuándo el haz de electrones del monitor debe dispararse y cuándo se envían los pulsos de sincronismo.

Se preguntará cómo determinar esos valores para su monitor. El fichero Videomodes.doc, incluído

en la distribución de XFree86 describe en detalle cómo obtener los valores requeridos. En primer

lugar, <reloj> debe corresponderse con un valor de los que pueda producir su tarjeta de video. Por

lo tanto solo usará 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 incluídos en modeDB.txt. En este fichero encontrará 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 comprobará 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 válidos 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 ayudarán a calcular las entradas ModeLine adecua-

das 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 último, 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 fué 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"

 

# Todavia nada; a~nadiremos 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 usará para referirse a las características que en esta sección se detallen.

Inicialmente no necesita incluir nada más 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 qué 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 qué servidor X utiliza. Los valores válidos 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 video 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 usará 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 video que estarán entre los definidos con ModeLine para su

monitor. Los nombres usados antes para identificarlos ( "1024x768", etc) se usarán ahora para

expresar los modos de la siguiente manera:

 

Modes "1024x768" "800x600" "640x480"

De esta forma, XFree86 intentará_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 está configurando XFree86, es usar modos de baja res-

olució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, verá como la pantalla se desplaza, accediendo así a todo 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 más 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 más 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 qué 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 más.

Hay muchas otras opciones en esta sección; vea las páginas de manual para XF86Config para

más detalle. En la práctica no son necesarias esas otras opciones para que funcione el sistema.

 

5.1.4 Introducción de los datos de la tarjeta gráfica

 

Su fichero XF86Config está 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 cómo 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 Version 3.1 / X Window System

(protocol Version 11, revision 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 encontrará 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 qué "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

está cargado se calcularán incorrectamente.

Por ejemplo, esto es lo que sale para la tarjeta del autor:

 

XFree86 Version 3.1 / X Window System

(protocol Version 11, revision 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" válidos (mmio_928 y s3_generic) del servidor. Este probó ambos y

determinó 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~nadimos esta lnea:

Chipset "mmio_928"

EndSection

Ahora hay que determinar las frecuencias de reloj. Cada una de éstas es simplemente la frecuencia con la que la tarjeta puede enviar píxeles 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 verá una lista de 8 ó 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 más 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 probará 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 más 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 qué relojes usar. Si este es el caso, no

debe haber una lista de valores válidos 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 formará parte de la sección Devices e irá 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 ñumber_nine"

Option "dac_8_bit"

 

 

Normalmente, el servidor X funcionará sin las opciones, pero conviene ponerlas para aumentar el

rendimiento de la tarjeta. Hay muchas opciones y muchas particulares de cada tarjeta. Para utiliz-

arlas, 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 ñumber_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 sólo un ejemplo.

Hay otras opciones para la sección Devices. Los detalles los verá en las páginas de manual

correspondientes.

 

5.1.5 Funcionamiento de XFree86

 

Con el fichero XF86Config terminado, puede probar ya el servidor X. En primer lugar, debe asegur-

arse de que /usr/X11R6/bin está 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 arrancará el servidor X y ejecutará 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 buscará un equivalente en /usr/X11R6/lib/X11/xinit/xinitrc.

Un típico .xinitrc sería 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 arrancará dos clientes xterm y un oclock, y pondrá el fondo (root window) en color

midnightblue. Entonces arrancará 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 terminará. Para hacerlo

pulse el botón 1 del ratón sobre el fondo de la pantalla (no en las ventanas) y verá un menú con la

opción de terminar twm entre otras.

Asegúrese que el último comando de .xinitrc se arranca con exec, y no se le pone en background

(con el "&"). Si no, el servidor X terminará 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 dispon-

ibles 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 XWindows, 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 completarán con

las páginas de manual para xterm, twm, etc.

 

5.1.6 Ejecución con problemas

 

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 video 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 incluído en la distribución contiene muchas ayudas para calcular los

valores para su fichero XF86Config.

Recuerde que puede conmutar entre modos de video 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 re-

tocarlos cuando se entra en X. Por ejemplo, si la pantalla se ve desplazada, actúe sobre el mando

correspondiente.

El el grupo de news USENET comp.windows.x.i386unix encontrará más ayuda sobre la util-

izació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

 

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 montará en /mnt. Vea la sección 4.6.2 para más 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 montará. 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 más detalle. Por ejemplo, la siguiente línea de /etc/fstab

provocará 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 está trabajando en un emulador de Microsoft Windows para funcionar en X Windows. Vea los grupos de news y servidores de FTP para más información.

 

5.3 Redes con TCP/IP

 

 

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 comunic-

ació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 la InterNet, la red TCP/IP de

ámbito mundial.

Poner en marcha una pequeña red local de máquinas Unix es fácil. Sólo 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 la 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 la 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 él.

Para obtener más 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 cómo 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 más

información el apéndice A.

Encontrará más 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 máquinas Unix.

5.3.1 Hardware requerido

 

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, necesitará 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: Clónicas de WD-80x3:

LANNET LEC-45; clónicas 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 encontrará más 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, necesitará un módem compatible con el servidor SLIP. Muchos servidores requieren modems

de alta velocidad, a 14400 bits por segundo (norma V.32bis).

5.3.2 Configuración de TCP/IP

 

En esta sección intentaremos explicar cómo configurar una conexión TCP/IP con Ethernet. Notese

que este método funcionará 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 Administrators'Guide y NET-2 HOWTO para más información (3)

_________________________________________

(3) Algunas de las cosas que aquí se exponen proceden del documento NET-2 HOWTO de Terry Dawson y Matt Welsh.

________________________________________________________________________________

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 cómo instalar todo ese software si aun no lo ha hecho.

También vamos a suponer que el núcleo está compilado con el soporte TCP/IP. Vea la sección 4.7 para informarse de cómo 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 específicas 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 proporcionará.

 

 

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 está 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 Máscara de red (ñetmask"). Es un número similar a la dirección IP, que determina qué parte

de la dirección IP determina el número de sub-red, y qué parte especifica el host en la sub-red

(si todo esto no lo comprende bien, le sugerimos que lea documentos sobre administración de

red).

La máscara de red es un patrón de bits, que al ser superpuesto a una dirección de la red, le

dirá en qué sub-red 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 máscara.

Los administradores de la sub-red habrán seleccionado las máscaras en tiempo de diseño de la

red, y serán quienes deban darle esa información. Muchas sub-redes son de "clase C" y usan la

máscara 255.255.255.0. Otras sub-redes de "clase B" usan la 255.255.0.0. El código de NET-2

seleccionará automáticamente una máscara 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 máscara 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 máscara.

Por ejemplo, si su dirección IP es la 128.253.154.32 y la máscara es 255.255.255.0, su dirección

de red será la 128.253.154.0. Con una máscara 255.255.0.0, la dirección sería 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 máquinas

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 máscara 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 máscara es la 255.255.255.0, la dirección de "broadcast" sería 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, bastará con copiar la configuración que tengan otras máquinas 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

máquinas 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 si 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 está aislada de otras, o su máquina se encuentra en configuración "loopback", no

necesitará dirección de pasarela.

o Dirección del servidor de nombres. Suele existir un servidor que traduce nombres de máquinas

a direcciones IP. El administrador le facilitará 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 más 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 con-

figuraciones más 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 sólo 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 básicos 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 básicos como direcciones IP e información

de rutado. El segundo lanza los demonios TCP/IP, principalmente inetd, quien se encargará de

lanzar cuando haga falta los telnetd y demás.

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 específicas en el fichero inittab. En el peor

caso tendría usted que crear las entradas para rc.inet1 y rc.inet2 en dicho fichero.

Como hemos dicho, rc.inet1 configura los parámetros básicos 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 máquinas. Lo más 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 máquinas

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 parámetros que necesita,

como la dirección IP, la máscara, 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, necesit-

ará poner sus propias direcciones IP y demás.

 

#!/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 lneas siguientes.

 

# EDITELO con sus propios datos.

IPADDR="128.253.154.32" # PONGA aqui su direccion IP

NETMASK="255.255.255.0" # PONGA aqui su mascara de red

NETWORK="128.253.154.0" # PONGA aqui su direccion de red

BROADCAST="128.253.154.255" # PONGA aqui su direccion 'broadcast' si

# la tiene. Si no, elimine la linea.

GATEWAY="128.253.154.1" # PONGA aqui su direccion de pasarela

 

/etc/ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}

 

# Si no tiene direccion 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

 

Quizás tenga que estudiarse un poco más el tema para su instalación particular, aunque en la

mayor parte de los casos el fichero anterior será suficiente.

rc.inet2 arranca servidores usados por TCP/IP. El más 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 envía una copia del servidor correspondiente

(en este caso, in.telnetd) para que controle el puerto afectado. Esto es mejor que mantener en

ejecución todos los servidores de red necesarios (múltiples copias de in.telnetd, in.ftpd y demás).

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 núcleo y diversas aplicaciones y tratarlos según diga el fichero /etc/syslogd.conf (guardarlos en ficheros, sacarlos por consola,. .).. routed se ocupa de la in-

formación de rutado dinámica. Cuando su sistema intenta enviar paquetes a otra red, puede requerir

nuevas entradas en las tablas de rutado, que routed trata sin necesidad de intervención del usuario.

El ejemplo siguiente solo arranca un número mínimo de servidores. Existen otros que pueden

interesarle, como el NFS. Cuando instale TCP/IP en su sistema, es mejor empezar con una config-

uración sencilla y luego complicarla según 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 traducirá nombres (loc-

ales) a direcciones IP y viceversa. Si no hay servidor de nombres en su subred o quiere proporcionar

nombres nuevos a la misma, necesitará arrancar named. Su configuración es más compleja y requiere cierto cuidado y planificación, por lo que le recomendamos consultar bibliografía específica. 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 máquinas que les corresponden. En

general, /etc/hosts solo contiene entradas para su máquina y quizás alguna otra "importante",

como servidores de nombres o pasarelas. Su servidor de nombres local proporciona a otras máquinas traducción automática 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 sería como este:

 

127.0.0.1 localhost

128.253.154.32 loomer.vpizza.com loomer

 

 

Si solo usa el "loopback", la única línea 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 direccion de red

5.3.2.5 /etc/host.conf

 

Este fichero dice a su sistema cómo resolver los nombres de los hosts. Debe contener dos líneas:

 

order hosts,bind

multi on

 

Estas líneas indican a los mecanismos de resolución 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 resolución, 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 será 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 líneas nameserver adicionales podrá 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 incluído).

5.3.2.8 Problemas con la configuración

 

Una vez que haya preparado los ficheros anteriores, habrá que reiniciar Linux para que reconozca

las nuevas configuraciones. Luego tendrá que hacer pruebas, para las que lo más indicado es probar

aspectos individuales de la red y no tratar de empezar, por ejemplo, lanzando un proceso Mosaic

con una conexión 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 encontrará la sintaxis adecuada. Para

comprobar que funciona su conexión, le sugerimos probar un cliente como telnet para ver si puede

conectarse a máquinas de su subred y de otras redes. Esto puede ponerle sobre la pista del problema. Por ejemplo, si puede conectarse a máquinas de otras subredes pero no de la suya propia, puede tratarse de un problema con la máscara 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 está 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 Administrators'Guide de

esta misma serie.

 

5.3.3 Configuración de SLIP

 

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 está 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 máquinas

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 más información.

A SLIP se le llama conexión "punto a punto" (point-to-point) pues a ambos lados de la línea

existen sólo las dos máquinas 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 asignará 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 más 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 sí tendrá que incluir comandos ifconfig/route en rc.inet1 para el dispositivo SLIP

(en breve veremos cómo).

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ática-

mente. 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 cómo 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 necesitará 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 aqui su direccion IP

REMADDR="128.253.154.2" # Ponga aqui 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 más de un dispositivo SLIP tendrá que considerar algunas cosas respecto al rutado. Tiene

que decidir qué 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 dir-

ección IP antes de conectarse, con lo que no puede incluir esa información en /etc/hosts (aunque

sí 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 cómo se configura SLIP para conectarse al servidor SLIP.

 

5.3.4 Utilización de dip

 

dip puede facilitar el proceso de conexión a un servidor SLIP, pues se ocupará de entrar en el sistema remoto y configurar el dispositivo SLIP según la información recibida del servidor. Este programa es el más 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 más información.

 

main:

# MTU es 'Maximum Transfer Unit' o tama~no 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. .r.emote, 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 ayudará 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

 

 

UUCP (UNIX-to-UNIX Copy) es un viejo mecanismo usado para transferir información entre sis-

temas 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 encontrará 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

más información.

 

5.5 Correo Electrónico

 

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 cómo

funciona el programa de transporte, con el fin de configurarlo según sus necesidades.

 

En Linux, el más 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 más frecuencia el programa sendmail, que es bastante más complicado de configurar,

por lo que no se suele usar en Linux.

En el documento Linux Mail HOWTO se expone más información sobre el software disponible

para correo y cómo configurarlo. Si pretende tener correo remoto, necesitará 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 ayudarán.

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

 

 

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 máquinas (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), necesitará un

servidor que corra en su sistema, así como el lector para los usuarios. El servidor guardará los

artículos en un directorio como /usr/spool/news, y el lector se compilará para buscar los artículos

en ese directorio.

Sin embargo, si desea tener news en red, tendrá ahora varias opciones más. Para redes basadas

en TCP/IP se usa el protocolo NNTP (Network News Transmision 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 más 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

ocupará de enviarlos a la red. Por supuesto, necesitará 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 parti-

cipar en USENET de la misma forma. Necesitará instalar un servidor de news y un lector.

Además necesitará 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 compil-

arlos.

Muchos programas de news "estándares" (disponibles por FTP anónimo en ftp.uu.net, dir-

ectorio /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 soft-

ware de correo para Linux). Pueden encontrarse también versiones ya compiladas.

Para más información, léase el documento Linux News HOWTO que encontrará en

sunsite.unc.edu. También encontrará 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.

Apéndice A

 

 

Fuentes de Información de Linux

 

 

Este apéndice contiene información sobre algunas fuentes de información de Linux, tales como documentos en línea, libros, y demás. Muchos de estos documentos estan disponibles en formato impreso, o electrónicamente desde Internet o sistemas BBS. También muchas de las distribuciones de Linux incluyen esta documentación dentro de ellas, de forma que una vez que haya instalado Linux pueda disponer de estos ficheros en su sistema.

A.1 Documentos en Línea

 

 

Estos documentos deberían estar disponibles en cualquiera de los FTP sites de Linux (vea el Apéndice C donde tendrá una lista). Si no tiene acceso directo a FTP, es posible que localice estos documentos en otros servicios en línea (tales como CompuServe, BBSs locales, etc.). Si dispone de acceso a correo Internet, podrá usar el servicio ftpmail para recibir estos documentos. Vea el Apéndice C para más información.

En particular, los siguientes documentos se pueden encontrar en sunsite.unc.edu en el dir-

ectorio /pub/Linux/docs. Muchos sites hacen copia de este directorio; sin embargo, si no puede

localizar un site próximo a Ud., éste es un buen lugar en el que intentarlo.

También puede acceder a los ficheros de Linux y la documentación usando gopher. Solo tiene que

indicar a su cliente gopher que acceda al puerto 70 de sunsite.unc.edu, y siga los menús hasta los

archivos Linux. Esta es una buena forma de hojear la documentación de Linux de forma interactiva.

 

La lista de FAQ

La lista de Frequently Asked Questions, o "FAQ", es una lista de preguntas (<y

respuestas!) comunes sobre Linux. Este documento debe proporcionar una fuente

de información general sobre Linux, problemas comunes y soluciones, y una lista

de otras fuentes de información. Todos los nuevos usuarios de Linux deberian leer

este documento. Está a disposición en varios formatos, incluyendo ASCII puro,

PostScript, y formato Lout typesetter. El Linux FAQ lo mantiene Ian Jackson,

ijackson@nyx.cs.du.edu.

 

El Linux META-FAQ

El META-FAQ es una colección de "metapreguntas" sobre Linux; es decir, fuentes de

información sobre el sistema Linux, y otros tópicos generales. Es un buen comienzo

para el usuario de Internet que desea encontrar más información sobre el sistema.

Lo mantiene Michael K. Johnson, johnsonm@sunsite.unc.edu.

 

El Linux INFO-SHEET

El Linux INFO-SHEET es una presentación técnica del sistema Linux. Ofrece una

visión de las características del sistema y el software disponible, y proporciona una

lista de otras fuentes de información de Linux. El formato y contenido es similar en

naturaleza al META-FAQ; casualmente también lo mantiene Michael K. Johnson.

El Mapa de Software de Linux

El Mapa de Software de Linux es una lista de muchas aplicaciones disponibles en

Linux, donde conseguirlas, quien las mantiene, y demás. Está lejos de ser una lista

completa_compilar una lista completa de software de Linux sería prácticamente

imposible. Sin embargo, incluye muchos de los paquetes más populares de software

de Linux. Si no consigue encontrar una aplicación en particular, que se adapte a

sus necesidades, el LSM es un buen lugar por el que comenzar. Lo mantiene Lars

Wirzenius, lars.wirzenius@helsinki.fi.

 

El Indice de HOWTOs de Linux

Los HOWTOs de Linux son una colección de documentos "How to" (1), cada uno de

ellos describiendo un aspecto concreto del sistema Linux. Los mantiene al dia Matt

Welsh, mdw@sunsite.unc.edu. Los Indices de HOWTOs listan los documentos

HOWTO que están disponibles (algunos de los cuales se listan aquí abajo).

_________________________________________

(1) N. del T.: del inglés "Cómo" o "Cómo se hace"

________________________________________________________________________________

 

El HOWTO de Instalación de Linux (Linux Installation HOWTO)

El HOWTO de Instalación de Linux describe como obtener e instalar una dis-

tribución de Linux, similar a la información presentada en el Capítulo 2.

 

El HOWTO de Distribuciónes de Linux (Distribution HOWTO)

Este documento es una lista de las distribuciones de Linux disponibles a través

de pedido por correo y FTP anónimo. También incluye información sobre otras

bondades y servicios relacionados con Linux. El Apéndice B contiene una lista

de vendedores de Linux, la mayoría de los cuales están listados en el Distribution

HOWTO.

 

El HOWTO de XFree86 de Linux (Linux XFree86 HOWTO)

Este documento describe como instalar y configurar el software del Sistema X Win-

dow para Linux. Ver la sección "5.1" para mayor información acerca del Sistema

X Window.

 

Los HOWTOs de Mail, News y UUCP de Linux

Estos tres documentos HOWTO describen la configuración y puesta a punto del

correo electrónico, news y comunicaciones UUCP en un sistema Linux. Dado que

estos tres temas están generalmente interconectados, probablemente desee leer estos

tres HOWTOs de una misma vez.

 

El HOWTO de Hardware de Linux (Linux Hardware HOWTO)

Este HOWTO contiene una extensa lista de hardware soportado por Linux. A pesar

de que esta lista no está completa, debería ofrecerle una perspectiva general de que

dispositivos hardware deben estar soportados por el sistema.

 

El HOWTO de SCSI de Linux (Linux SCSI HOWTO)

Este HOWTO es una guía completa de la configuración y uso de los dispositivos

SCSI bajo Linux, tales como discos duros, unidades de cinta y CD-ROM.

El Linux NET-2-HOWTO

El Linux NET-2-HOWTO describe la instalación, puesta a punto y configuración

del software TCP/IP ñET-2" bajo Linux, incluyendo SLIP. Si desea usar TCP/IP

en su sitema Linux, debería leer este documento.

 

El HOWTO de Ethernet de Linux (Linux Ethernet HOWTO)

Muy relacionado con el NET-2-HOWTO, el HOWTO de Ethernet describe los di-

versos dispositivos Ethernet soportados por Linux, y explica como configurar cada

uno de ellos desde el software de TCP/IP de Linux.

 

El HOWTO de Impresión de Linux (Linux Printing HOWTO)

En este documento se describe como configurar el software de impresión bajo Linux,

como por ejemplo lpr. La configuración de las impresoras y el software de impresión

bajo UNIX puede resultar a veces confuso; este documento siembra algo de luz en

la materia.

 

Otros documentos en-línea

Si hojea el directorio docs de cualquier FTP site de Linux, podrá ver otros muchos

documentos que no están aquí listados: Una pila de FAQs, trucos de interés, y otra

información importante. Esta miscelánea es difícil de clasificar aquí; si no puede

ver en la lista de abajo lo que esté buscando, eche un vistazo en los sites de archivos

Linux listados en el Apéndice C.

 

 

ANTERIOR

SIGUIENTE