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.