ANTERIOR

SIGUIENTE

MANUAL DE LINUX

1

 

 

Capítulo 1

 

 

Introducción a Linux

 

Linux es probablemente el acontecimiento más importante del software gratuito desde el original

Space War, o, más recientemente, Emacs. Se ha convertido en el sistema operativo para los negocios, educación, y provecho personal. Linux ya no es solo para gurús de UNIX que se sientan durante horas frente a la resplandeciente consola (aunque le aseguramos que un gran número de usuarios pertenece a esta categoría). Este libro le ayudará a sacarle el máximo partido.

Linux (pronounciado con una i corta, como en LIH-nucs) es un clónico del sistema operativo

UNIX que corre en ordenadores Intel 80386 y 80486. Soporta un amplio rango de software, desde

TEX a X Windows al compilador GNU C/C++ a TCP/IP. Es una implementación de UNIX versátil,

distribuida gratuitamente en los términos de la Licencia GNU (vea el Apéndice F).

Linux puede convertir cualquier PC 386 o 486 en una estación de trabajo. Le pondrá todo el

poder de UNIX en la punta de sus dedos. En los negocios ya se instala Linux en redes enteras,

usando el sistema operativo para manejar registros financieros y de hospitales, un entorno de usuario distribuido, telecomunicaciones, etc. Universidades de todo el mundo usan Linux para dar cursos de programación y diseño de sistemas operativos. Y, por supuesto, entusiastas de los ordenadores de todo el mundo están usando Linux en casa, para programar, entretenerse, y conocerlo a fondo.

Lo que hace a Linux tan diferente es que es una implementación gratuita de UNIX. Fue y aun

es desarrollado por un grupo de voluntarios, principalmente en Internet, intercambiando código,

comentando fallos, y arreglando los problemas en un entorno abierto. Cualquiera es bienvenido a

sumarse al esfuerzo de desarrollo de Linux: todo lo que se pide es interés en producir un clónico

gratuito de UNIX y algunos conocimientos de programación. El libro que tiene en sus manos es su

guía de viaje.

1.1 Sobre este libro

 

Este libro es una guía de instalación e iniciación al sistema Linux. El objetivo es conseguir que los

nuevos usuarios se adapten y hagan funcionar el sistema, condensando tanto material importante

como sea posible dentro de un libro. En lugar de abarcar muchos de los volátiles detalles técnicos,

esas cosas que tienden a cambiar con el veloz desarrollo, le ofrecemos una base suficiente con la que podrá buscar más por Ud. mismo.

Linux no es difícil de instalar y usar. Sin embargo, como cualquier implementación de UNIX, a

menudo hay algo de magia negra implicada para conseguir que todo funcione correctamente. Esper-

amos que este libro le introduzca en el mundo del Linux y le muestre cuan atractivo puede llegar a

ser este sistema operativo.

En este libro se tratan los siguientes temas.

 

o ¿Qué es Linux? El diseño y la filosofía de este sistema operativo único, y lo que puede hacer

por Ud.

 

o Todos los detalles de lo que es necesario para correr Linux, incluyendo sugerencias sobre que

tipo de configuración hardware se recomienda para un sistema completo.

 

o Como obtener e instalar Linux. Hay muchas distribuciones del software de Linux. Presentamos

una discusión general de las distribuciones de software de Linux, como obtenerlas, e instruc-

ciones genéricas para instalar el software (que deberían ser aplicables a cualquier distribución).

Esta edición también contiene instrucciones específicas para la distribución Slackware de Linux.

 

o Un breve tutorial de introducción a UNIX, para aquellos usuarios que nunca antes hayan tenido

contacto con UNIX. Este tutorial debería proporcionar, esperamos, material suficiente para que

completos novatos consigan los conocimientos básicos de como moverse por el sistema.

 

o Una introducción a la administración de sistemas con Linux. Esto abarca las tareas más

importantes con las que los nuevos administradores de Linux necesitarán familiarizarse, tales

como crear usuarios, manejar los sistemas de ficheros, y muchas más.

 

o Información sobre configuración de aspectos más avanzados de Linux, como el Sistema X Window, redes con TCP/IP y SLIP, y la puesta en marcha del correo electrónico y sistemas de

news.

 

 

Este libro es para el usuario de ordenador personal que desea iniciarse en Linux. No se asume

experiencia previa de UNIX, pero se espera que los novatos busquen más materiales sobre la marcha.

Para los no familiarizados con UNIX, se da una lista de fuentes de información útiles en el Apéndice A.

En general, se pretende que este libro se lea junto con otro libro sobre conceptos básicos de UNIX.

1.2 Breve historia de Linux

UNIX es uno de los sistemas operativos más populares del mundo debido a su extenso soporte y

distribución. Originalmente fue desarrollado como sistema multitarea con tiempo compartido para

miniordenadores y mainframes a mediados de los 70, y desde entonces se ha convertido en uno de los sistemas más utilizados a pesar de su, ocasionalmente, confusa interfaz con el usuario y el problema de su estandarización.

¿Cuál es la verdadera razón de la popularidad de UNIX? Muchos hackers consideran que UNIX

es el auténtico y único sistema operativo. El desarrollo de Linux parte de un grupo en expansión de

hackers de UNIX que quisieron hacer su sistema con sus propias manos.

Existen numerosas versiones de UNIX para muchos sistemas, desde ordenadores personales hasta

supercomputadores como el Cray Y-MP. La mayoría de las versiones de UNIX para ordenadores

personales son muy caras. Cuando se escribía este libro, una copia para una máquina 386 del UNIX

System V de AT&T costaba unos 1500 dólares estadounidenses.

Linux es una versión de UNIX de libre distribución, inicialmente desarrollada por Linus Torvalds (1) en la Universidad de Helsinki, en Finlandia. Fue desarrollado con la ayuda de muchos programadores y expertos de Unix a lo largo y ancho del mundo, gracias a la presencia de Internet. Cualquier habitante del planeta puede acceder a Linux y desarrollar nuevos módulos o cambiarlo a su antojo. El núcleo de Linux no utiliza ni una sola línea del código de AT&T o de cualquier otra fuente de propiedad comercial, y buena parte del software para Linux se desarrolla bajo las reglas del proyecto de GNU de la Free Software Foundation, Cambridge, Massachusetts.

_________________________________________

(1) torvalds@kruuna.helsinki.fi.

____________________________________________________________________________

Inicialmente, sólo fue un proyecto de aficiónado de Linus Torvalds. Se inspiraba en Minix, un

pequeño UNIX desarrollado por Andy Tanenbaum, y las primeras discusiones sobre Linux surgieron en el grupo de News comp.os.minix. Estas discusiones giraban en torno al desarrollo de un pqeueño sistema UNIX de carácter académico dirigido a aquellos usuarios de Minix que querían algo más.

El desarrollo inicial de Linux ya aprovechaba las características de conmutación de tareas en

modo protegido del 386, y se escribió todo en ensamblador. Linus dice,

 

"Comencé a utilizar el C tras escribir algunos drivers, y ciertamente se aceleró el

desarrollo. En este punto sentí que mi idea de hacer un `un Minix mejor que Minix'se

hacía más seria. Esperaba que algún día pudiese recompilar el gcc bajo Linux. . .

"Dos meses de trabajo, hasta que tuve un driver de discos (con numerosos bugs, pero

que parecía funcionar en mi PC) y un pequeño sistema de ficheros. Aquí tenía ya la

versión 0.01 [al final de Agosto de 1991]: no era muy agradable de usar sin el driver de

disquetes, y no hacía gran cosa. No pensé que alguien compilaría esa versión."

 

No se anunció nada sobre esa versión, puesto que las fuentes del 0.01 jamás fueron ejecutables:

contenían solo rudimentos de lo que sería el núcleo , y se asumía que se tenía acceso a un Minix para poderlo compilar y jugar con él.

El 5 de Octubre de 1991, Linus anunció la primera versión "oficial" de Linux, la 0.02. Ya podía

ejecutar bash (el shell de GNU) y gcc (el compilador de C de GNU), pero no hacía mucho más. La

intención era ser un juguete para hackers. No había nada sobre soporte a usuarios, distribuciones,

documentación ni nada parecido. Hoy, la comunidad de Linux aun trata estos asuntos de forma

secundaria. Lo primero sigue siendo el desarrollo del kernel.

Linus escribía en comp.os.minix,

 

"¿Suspiráis al recordar aquellos días de Minix-1.1, cuando los hombres eran hombres

y escribían sus propios drivers? ¿Os sentís sin ningún proyecto interesante y os gustaría

tener un verdadero S.O. que pudiérais modificar a placer? ¿Os resulta frustrante el tener

solo a Minix? Entonces, este artículo es para vosotros.

"Como dije hace un mes, estoy trabajando en una versión gratuita de algo parecido

a Minix para ordenadores At-386. He alcanzado la etapa en la que puede ser utilizable y

voy a poner las fuentes para su distribución. Es solo la versión 0.02. pero he conseguido

ejecutar en él bash, gcc, gnu-make, gnu-sed, compress, etc."

Tras la versión 0.03, Linus saltó a la versión 0.10, al tiempo que más gente empezaba a participar

en su desarrollo. Tras numerosas revisiones, se alcanzó la versión 0.95, reflejando la esperanza

de tener lista muy pronto una versión "oficial". (Generalmente, la versión 1.0 de los programas

se corresponden con la primera teóricamente completa y sin errores). Esto sucedía en Marzo de

1992. Año y medio después, en Diciembre del 93, el núcleo estaba en la revisión 0.99.pl14, en una

aproximación asintótica al 1.0. Actualmente, el núcleo se encuentra en la versión 1.1 parche 52, y se

acerca la 1.2.2

Hoy Linux es ya un clónico de UNIX completo, capaz de ejecutar X Window, TCP/IP, Emacs,

UUCP y software de correo y News. Mucho software de libre distribución ha sido ya portado a

Linux, y están empezando a aparecer aplicaciones comerciales. El hardware soportado es mucho

mayor que en las primeras versiones del núcleo. Mucha gente ha ejecutado tests de rendimiento en

sus sistemas Linux 486 y se han encontrado que son comparables a las estaciones de trabajo de gama media de Sun Microsystems y Digital. >Quién iba a imaginar que este "pequeño" clónico de UNIX iba a convertirse en un estándar mundial para los ordenadores personales?

1.3 Características del sistema

 

Linux implementa la mayor parte de las características que se encuentran en otras implementaciones de UNIX, más algunas otras que no son habituales. En esta sección nos daremos una vuelta por todo ello.

Linux es un sistema operativo completo con multitarea y multiusuario (como cualquier otra

versión de UNIX). Esto significa que pueden trabajar varios usuarios simultáneamente en él, y que

cada uno de ellos puede tener varios programas en ejecución.

El sistema Linux es compatible con ciertos estándares de UNIX a nivel de código fuente, in-

cluyendo el IEEE POSIX.1, System V y BSD. Fue desarrollado buscando la portabilidad de los

fuentes: encontrará que casi todo el software gratuito desarrollado para UNIX se compila en Linux

sin problemas. Y todo lo que se hace para Linux (código del núcleo, drivers, librerías y programas

de usuario) es de libre distribución.

En Linux también se implementa el control de trabajos POSIX (que se usa en los shells csh

y bash), las pseudoterminales (dispositivos pty), y teclados nacionales mediante manejadores de

teclado cargables dinámicamente. Además, soporta consolas virtuales, lo que permite tener más

de una sesión abierta en la consola de texto y conmutar entre ellas fácilmente. A los usuarios del

programa "screen" les resultará familiar esto.

El núcleo es capaz de emular por su cuenta las instrucciones del coprocesador 387, con lo que en

cualquier 386 con coprocesador o sin él se podrán ejecutar aplicaciones que lo requieran.

Linux soporta diversos sistemas de ficheros para guardar los datos. Algunos de ellos, como el

ext2fs, han sido desarrollados específicamente para Linux. Otros sistemas de ficheros, como el

Minix-1 o el de Xenix también están soportados. Y con el de MS-DOS se podrán acceder desde

Linux a los disquetes y particiones en discos duros formateados con MS-DOS. Además, también

soporta el ISO-9660, que es el estándar seguido en el formato de los CD-ROMs. Hablaremos más

sobre los sistemas de ficheros en los capítulos 2 y 4.

Linux implementa todo lo necesario para trabajar en red con TCP/IP. Desde manejadores para

las tarjetas de red más populares hasta SLIP/PPP, que permiten acceder a una red TCP/IP por

el puerto serie. También se implementan PLIP (para comunicarse por el puerto de la impresora) y

NFS (para acceso remoto a ficheros). Y también se han portado los clientes de TCP/IP, como FTP,

telnet, NNTP y SMTP. Hablaremos más acerca de esto en el capítulo 5.

El núcleo de Linux ha sido desarrollado para utilizar las características del modo protegido de

los microprocesadores 80386 y 80486. En concreto, hace uso de la gestión de memoria avanzada del modo protegido y otras características avanzadas. Cualquiera que conozca la programación del 386 en el modo protegido sabrá que este modo fue diseñado para su uso en UNIX (o tal vez Multics). Linux hace uso de esta funcionalidad precisamente.

El núcleo soporta ejecutables con paginación por demanda. Esto significa que sólo los segmentos

del programa que se necesitan se cargan en memoria desde el disco. Las páginas de los ejecutables

son compartidas mediante la técnica copy-on-write, contribuyendo todo ello a reducir la cantidad de

memoria requerida para las aplicaciones.

Con el fin de incrementar la memoria disponible, Linux implementa la paginación con el disco:

puede tener hasta 256 megabytes de espacio de intercambio o "swap" (3) en el disco duro. Cuando

el sistema necesita más memoria, expulsará páginas inactivas al disco, permitiendo la ejecución de

programas más grandes o aumentando el número de usuarios que puede atender a la vez. Sin embargo, el espacio de intercambio no puede suplir totalmente a la memoria RAM, ya que el primero es mucho más lento que ésta.

_________________________________________

(3) El nombre swap es inadecuado: no se intercambian procesos completos, sino páginas individuales. Por supu esto, en muchos casos se expulsan al disco procesos completos, pero no siempre ocurre.

____________________________________________________________________________

La memoria dedicada a los programas y a la cache de disco está unificada. Por ello, si en cierto

momento hay mucha memoria libre, el tamaño de la cache de disco aumentará acelerando así los

accesos.

Los ejecutables hacen uso de las librerías de enlace dinámico.

Esto significa que los ejecutables comparten el código común de las librerías en un único fichero,

como sucede en SunOS. Así, los ejecutables serán más cortos a la hora de guardarlos en el disco,

incluyendo aquellos que hagan uso de muchas funciones de librería. También pueden enlazarse

estáticamente cuando se deseen ejecutables que no requieran la presencia de las librerías dinámicas

en el sistema. El enlace dinámico se hace en tiempo de ejecución, con lo que el programador puede

cambiar las librerías sin necesidad de recompilación de los ejecutables.

Para facilitar la depuración de los programas, el núcleo de Linux puede generar volcados de

la imagen de memoria de los programas (ficheros core). Entre esto y la posibilidad de compilar

ejecutables con soporte de depuración, el programador podrá averiguar la causa de los fallos de su

programa.

1.4 Software

 

 

En esta sección le haremos una breve introducción sobre las muchas aplicaciones software disponibles para Linux y sobre tareas típicas con ordenadores. Después de todo la parte más importante del sistema radica en la cantidad de software disponible que existe. El hecho de que la mayor parte de ese software sea gratis lo hace aún más impresionante.

1.4.1 Comandos y utilidades básicas

 

Prácticamente cada utilidad que espere encontrar en un sistema UNIX estandard ha sido transladada

a Linux. Esto incluye comandos básicos como ls, awk, tr, sed, bc, more, y muchos más. Diga el

nombre de una. Es seguro que Linux la tiene. En Linux puede esperar encontrar un entorno de

trabajo que le sera familiar si procede de entornos UNIX. Todos los comandos estandard y utilidades

están ahí. (Los usuarios novatos de Linux deberían ver el Capítulo 3 para una introducción a los

comandos básicos del UNIX.)

Hay disponibles numerosos editores de texto, incluyendo vi, ex, pico, jove, GNU Emacs y sus

variantes como Lucid Emacs (el cual incorpora extensiones para usarlo bajo X Window), y joe. Sea

cual sea el editor que esté acostumbrado a usar, es prácticamente seguro que habrá sido portado a

Linux.

La elección de un editor de texto es un asunto interesante. Muchos usuarios de UNIX siguen

usando editores "simples", como vi (de hecho, el autor escribió este libro usando vi sobre Linux.

Pero vi tiene muchas limitaciones debido a su antigedad, por lo que están ganando popularidad

editores más modernos (y complejos) como Emacs. Emacs proporciona un completo lenguaje de

macros basadas en LISP con su intérprete, una poderosa sintaxis de órdenes y multitud de otras

opciones interesantes. Existe un conjunto de macros de Emacs para leer correo electrónico y 'news',

moverse por el árbol de directorios, e incluso tener una sesión de psicoterapia con un psicoterapeuta

de inteligencia artificial (indispensable para Linuxeros estresados :-) )

Un punto interesante es que la mayoría de las utilidades básicas para Linux son programas GNU.

Estas utilidades GNU proporcionan características avanzadas que no se encuentran en las versiones

estandard para BSD ó AT&T. Por ejemplo, la versión de GNU del editor vi, elvis, incluye un

lenguaje de macros estructurado que difiere de la versión inicial de AT&T. De cualquier modo, las

utilidades GNU se esfuerzan por mantenerse compatibles con sus equivalentes BSD y System V.

Mucha gente considera las versiones GNU de estos programas superiores a las originales.

La utilidad más importante para la mayoría de los usuarios es el intérprete de comandos.

El intérprete de comandos es un programa que lee y ejecuta órdenes del usuario. Además, muchas

proporcionan características como control de procesos (permitiendo al usuario manejar varios

procesos corriendo a la vez), redirección de entrada/salida, y un lenguaje de órdenes para escribir

scripts. Una script es un fichero que contiene un programa en el lenguaje de ordenes del intérprete

de comandos, similar a los ficheros "batch" de MS-DOS.

Hay varios tipos de intérpretes de comandos disponibles para Linux. La principal diferencia entre

ellos es el lenguaje de comandos. Por ejemplo, el C Shell (csh) usa un lenguaje de comandos muy

parecido al lenguaje de programación C. El clásico Bourne Shell usa un lenguaje de comandos

diferente. Un argumento para la elección de un determinado intérprete de comandos es el lenguaje

de comandos que proporciona. El intérprete de comandos que use, definirá su entorno de trabajo

bajo Linux.

No importa el intérprete de comandos que esté acostumbrado a usar, alguna versión de este

habrá sido probablemente llevada a Linux. La más popular es el GNU Bourne Again Shell (bash),,

que es una variante del Bourne clásico que incluye muchas características avanzadas como control de

procesos, historial de órdenes, terminación de comandos y ficheros, edición de la línea de comandos

al estilo Emacs y poderosas extensiones al lenguaje de comandos del Bourne clásico. Otro intérprete

de comandos muy popular es el tcsh, una versión del C Shell con funcionalidad avanzada similar

a la encontrada en bash. Otros intérpretes de comandos son zsh, un pequeño intérprete similar al

Bourne; el Korn (ksh); BSD's ash y rc, el intérprete de comandos de Plan 9.

Linux le da la oportunidad única de configurar el sistema a su gusto según sus necesidades. Por

ejemplo, si usted es la única persona que usa el sistema, y prefiere el editor vi, y el intérprete de

comandos bash, no es necesario que instale otros editores e intérpretes de comandos. La actitud

"hágaselo usted mismo" es la que se impone entre los usuarios de Linux.

1.4.2 Formateado y proceso de textos

 

Casi la totalidad de los usuarios de ordenadores tiene la necesidad de usar un sistema de preparación

de documentos de algún tipo. (¿Cuantos entusiastas de los ordenadores conoces que todavía usen

papel y lapiz?. No demasiados, apostamos por ello). En el mundo de los PC, procesado de textos es

la norma: esto implica edición y manipulación de texto (a menudo en un entorno WYSIWYG (4) y la

producción de copias impresas del texto con dibujos, tablas y otros adornos.

_________________________________________

(4) N. del T.: WYSIWYG: "What-You-See-Is-What-You-Get". "Lo-que-ves-es-lo-que-obtienes"

_____________________________________________________________________________________

En el mundo UNIX, el formateado de textos es mucho más común. Es bastante diferente del clásico

concepto de proceso de textos. Con un sistema de formateado de textos, el texto es introducido por

el autor usando un "lenguaje de composición", que describe como debe ser formateado el texto.

En lugar de introducir el texto dentro de un entorno de proceso de textos especial, los fuentes

del texto pueden ser modificados con cualquier editor de textos como vi o Emacs. Una vez el

texto fuente está completo (en el lenguaje de composición), el usuario formatea el texto con un

programa separado, que convierte el texto fuente a un formato adecuado para la impresión. Esto

es en cierta forma análogo a programar en un lenguaje como C, y "compilar" el documento a una

forma imprimible.

Hay muchos formateadores de textos disponibles para Linux. Uno es groff, la versión GNU del

clásico nroff originalmente desarrollado por Bell Labs y todavía usado en muchos sistemas UNIX

por todo el mundo. Otro sistema de formateado de textos moderno es TEX, desarrollado por Donald

Knuth de gran popularidad. Dialectos de TEX, como LATEX, también están disponibles.

Formateadores de texto como TEX y groff difieren entre si principalmente en la sintaxis del

lenguaje de composición. La elección de un sistema de formateo frente a otro estará basada en las

utilidades disponibles para satisfacer sus necesidades, así como en su gusto personal.

Por ejemplo, algunas personas consideran que el lenguaje de composición de groff es un poco

oscuro por lo que usan TEX, que es más legible para humanos. Pero, groff es capaz de producir

salida en ASCII llano, visualizable en un terminal, mientras que TEX está destinado principalmente

para salida a impresora. Por lo tanto, existen varios programas para producir salida ASCII de

documentos formateados con TEX, o para convertir TEX a groff.

Otro sistema de formateo de texto es texinfo, una extensión de TEX usada para la documentación

de programas por la 'Free Software Foundation'. texinfo es capaz de producir documentos impresos

o un documento "Info" con hiperenlaces por los que nos podemos mover desde un único fichero fuente.

Los ficheros Info son el formato principal de documentación usado por paquetes de GNU como Emacs.

Los formateadores de texto son usados ampliamente en la comunidad informática para producir

informes, tesis, artículos de revistas y libros (de hecho, este libro ha sido producido con LATEX). La

capacidad de procesar el lenguaje fuente como un fichero de texto llano abre la puerta a muchas

extensiones al formateado de texto en sí, puesto que los documentos no son guardados en un oscuro

formato, legible solo por un procesador de textos particular, los programadores tienen la posibilidad

de escribir analizadores y traductores para el lenguaje de composición y extender el sistema.

¿Que aspecto tiene el lenguaje de composición? En general, el texto fuente consiste principalmente

en el texto en si mismo, junto con "códigos de control" para producir efectos particulares, como

cambio de tipo de letra, seleccionar margenes, crear listas, ..etc.

Como ejemplo, tomemos el siguiente texto:

 

 

Sr. Torvalds:

Estamos muy preocupados con sus planes actuales de añadir sugestión post-hipnótica en

el código del terminal de Linux. Nos sentimos así por tres razones:

 

1. Mostrar mensajes subliminares en el terminal no es solo inmoral, sino una pérdida

de tiempo;

2. Ha sido probado que las sugestiones post-hipnóticas no son efectivas cuando se usan

sobre `UNIX hackers'desprevenidos;

3. Ya hemos añadido descargas eléctricas de alto voltaje como medida de seguridad en

el código de login.

 

Esperamos que lo reconsidere.

 

 

Este texto aparecería en el lenguaje de formateo de LATEX como sigue:

\begin{quote}

Sr. Torvalds:

Estamos muy preocupados con sus planes actuales de a\~nadir

{\em sugesti\ón post-hipn\ótica\/} en el c\ódigo del

terminal de {\bf Linux}. Nos sentimos as\'{\i} por tres razones:

\begin{enumerate}

\item Mostrar mensajes subliminares en el terminal no es solo

inmoral, sino una p\érdida de tiempo;

\item Ha sido probado que las sugestiones post-hipn\óticas

no son efectivas cuando se usan sobre `UNIX hackers'

desprevenidos;

\item Ya hemos a\~nadido descargas el\éctricas de alto voltaje

como medida de seguridad en el c\ódigo de {\tt login}.

\end{enumerate}

Esperamos que lo reconsidere.

\end{quote}

 

El autor escribe el texto `fuente' anterior usando un editor de texto y genera la salida formateada

procesando el texto con LATEX. A primera vista, el lenguaje de composición puede parecer oscuro,

pero es realmente fácil de aprender. Usar un sistema de formateo de textos hace cumplir las normas

tipográficas en la escritura. Por ejemplo, todas las listas enumeradas dentro del documento tendrán

el mismo aspecto, aunque el autor modifique la definición del `entorno'de la lista enumerada. La

meta principal es permitir al autor concentrarse en la escritura del texto en lugar de preocuparse

por las convenciones tipográficas.

Los procesadores de texto WYSIWYG son atractivos por muchas razones; proporcionan un po-

deroso (y a veces complejo) interface visual para la edición del documento. Pero este interface

está inherentemente limitado por aquellos aspectos de la estructura del texto que son accesibles al

usuario. Por ejemplo, muchos procesadores de texto proporcionan un `lenguaje de formateado' especial

para producir expresiones complicadas como pueden ser las fórmulas matemáticas. Esto es idéntico

al formateado de textos, aunque en una escala mucho menor.

El sutil beneficio del formateado de textos es que el sistema te permite especificar exactamente

lo que quieres. También, los formateadores de texto permiten editar el texto fuente con cualquier

editor de texto y el fuente es fácilmente convertible a otros formatos. Esta flexibilidad y potencia la

obtenemos a cambio de renunciar al interface WYSIWYG.

Muchos usuarios de procesadores de texto estan acostumbrados a ver el texto formateado tal y

como lo editaron. Por otra parte, cuando se escribe con un formateador de texto, generalmente no

nos preocupamos sobre el aspecto que tendrá una vez formateado. El escritor aprende a imaginarse

el aspecto que tendrá el texto una vez formateado a partir de las órdenes de formateado usadas en el

fuente.

Hay programas que permiten ver el documento formateado en una pantalla gráfica antes de

imprimirlo. Por ejemplo, xdvi visualiza un fichero `independiente de dispositivo'generado por TEX

en X Windows. Otras aplicaciones, como xfig proporcionan interfaces gráficos WYSIWYG para

dibujar, los cuales son posteriormente convertidos al lenguaje de formateo de textos para su inclusión

en el documento.

Los formateadores de texto como nroff están disponibles desde mucho antes de que apareciesen

los procesadores de texto. Sin embargo, mucha gente todavia prefiere el uso de los formateadores de

texto porque son más versátiles e independientes del entorno gráfico. En cualquier caso, el procesador

de textos idoc está también disponible en Linux y no pasará mucho tiempo hasta que también veamos

procesadores de texto comerciales disponibles. Si de ninguna forma quieres renunciar al proceso de

texto en favor del formateo de textos, siempre puedes ejecutar MS-DOS o algún otro sistema operativo

además de Linux.

Hay disponibles muchas otras utilidades relacionadas con el formateo de textos. El potente sistema

METAFONT, usado para diseñar fuentes para TEX, está incluido el la distribución de TEX para

Linux. Otros programas incluyen ispell, un corrector ortográfico interactivo; makeindex, usado

para generar índices en documentos LATEX; así como muchos paquetes de macros para groff y TEX

para el formateo de diferentes tipos de documentos y textos matemáticos. Hay disponibles programas

de conversión entre fuentes de TEX y groff a miles de otros formatos.

1.4.3 Lenguajes de programación y utilidades

Linux proporciona un completo entorno de programación UNIX, incluyendo todas las librerías es-

tandard, herramientas de programación, compiladores, depuradores y todo aquello que esperarías

encontrar en otro sistema UNIX. En el mundo del desarrollo de programas UNIX, las aplicaciones

y sistemas suelen ser programados en C ó C++. El compilador estandard de C y C++ para Linux

es el GNU gcc, el cual es un avanzado y moderno compilador que permite multitud de opciones. Es

también capaz de compilar C++ (incluyendo las características de AT&T 3.0) así como en Objetive-C

y otros dialectos de C orientados a objetos.

Además de C y C++ han sido llevados a Linux muchos otros lenguajes de programación tanto

interpretados como compilados, como Smalltalk, FORTRAN, Pascal, LISP, Scheme, Ada (si es tan

masoquista como para programar en Ada, no le detendremos). Además hay disponibles varios

ensambladores para escribir código del 80386 en modo protegido. Los lenguajes favoritos de UNIX

como Perl (el lenguaje de guiones para terminar con todos los lenguajes de guiones) y Tcl/Tk

(un procesador de órdenes al estilo del intérprete de comandos incluyendo soporte para desarrollar

aplicaciones simples para X Window).

El depurador avanzado gdb también ha sido llevado a Linux. Permite examinar los programas

para localizar errores, o examinar la causa de un "cuelgue" usando un volcado del sistema (core

dump). gprof utilidad de perfilado que permite obtener estadísticas de prestaciones de sus progra-

mas, permitiendo saber en que parte de su programa se va la mayor parte del tiempo de ejecución.

El editor Emacs proporciona un entorno interactivo de edición y compilación para varios lenguajes

de programación. Otras herramientas incluyen GNU make e imake, usados para dirigir el proceso

de compilación de aplicaciones grandes ó RCS, sistema de control de revisiones.

Linux dispone de librerías compartidas enlazadas dinámicamente, lo que permite a los ejecutables

ser mucho menores al enlazar el código de las librerías en tiempo de ejecución. Estas librerías DLL

(Dinamically Linked Library) también permiten al programador de aplicaciones sustituir funciones

ya definidas con su propio código. Por ejemplo, si un programador desea escribir su propia versión

de la función de librería malloc(), el editor de enlaces usaría la nueva rutina del programador en

lugar de la que se encuentra en las librerías.

Linux es ideal para desarrollar aplicaciones UNIX, proporciona un moderno entorno de pro-

gramación con todos los detalles y funcionalidad necesarios. Se soportan varios estandards como

POSIX.1, permitiendo a los programas escritos para Linux ser fácilmente llevados a otros sistemas.

Los programadores profesionales de UNIX y administradores de sistemas pueden usar Linux para

desarrollar programas en casa y luego transferir los programas a los sistemas UNIX del trabajo. Esto

no solo puede ahorrar una gran cantidad de tiempo y dinero, sino que también le permitirá traba-

jar con la comodidad de su propia casa (5). Los estudiantes de informática pueden usar Linux para

aprender la programación en UNIX y explorar otros aspectos del sistema como la arquitectura del

núcleo.

_________________________________________

(5) El autor usa su sistema Linux para desarrollar y probar aplicaciones X Window en casa, que pueden ser directamente compiladas en estaciones de trabajo en cualquier parte.

_________________________________________

Con Linux, no solo tienes acceso a un conjunto completo de librerías y utilidades de programación,

también tiene acceso al código fuente completo del núcleo y las librerías.

1.4.4 El sistema X Window

 

El sistema X Window es un interface gráfico estandard para máquinas UNIX. Es un potente entorno

que soporta muchas aplicaciones. Usando X Windows, el usuario puede tener múltiples terminales

a la vez en ventanas sobre la pantalla, cada una conteniendo una sesión diferente. Un dispositivo

apuntador como el ratón es usado a menudo en el interface X, pero no es indispensable.

Han sido escritas muchas aplicaciones especificamente para X, como juegos, utilidades gráficas,

herramientas de programación y documentación, y muchas más. Con Linux y X, su sistema es una

auténtica estación de trabajo. Junto con una red TCP/IP puede incluso visualizar aplicaciones que

se están ejecutando en otras máquinas en su pantalla local, tal y como es posible con otros sistemas

corriendo X.

El sistema X Window fué desarrollado originalmente en el MIT y es de libre distribución. A pesar

de esto muchas empresas han distribuido sus mejoras particulares al diseño original de X Window. La

versión de X Window disponible para Linux es conocida como XFree86, una adaptación de X11R5 (6) de

libre distribución para sistemas UNIX basados en 80386, como es Linux. XFree86 soporta una gran

variedad de tarjetas de video, incluyendo VGA, Super VGA y gran cantidad de tarjetas aceleradoras

de video. Esta es una distribución completa de X Windows conteniendo el servidor de X, muchas

aplicaciones y utilidades, librerías de programación y documentación.

_________________________________________

(6) N. del T.: Linux dispone en la actualidad de la versión X11R6 de X Window

___________________________________________________________________________________

Aplicaciones X estandard incluyen xterm (emulador de terminal usado por la mayoría de las

aplicaciones en modo texto dentro de X); xdm (el gestor de sesiones, maneja los 'login'); xclock (un

reloj simple); xman (un lector de páginas de manual para X) y muchos más. El número de aplicaciones

disponibles para X Windows en Linux es demasiado numeroso como para mencionarlas aquí, pero la

distribución básica de XFree86 incluye las aplicaciones `estandard'que se encontraban en la versión

original del MIT. Muchas otras están disponibles separadamente y teóricamente cualquier aplicación

escrita para X Windows debería compilar limpiamente bajo Linux.

El aspecto y comportamiento del interface de las X Windows está controlado por el controlador

de ventanas. Este amigable programa es el encargado de la situación de las ventanas, redimen-

sionado, iconización, movimiento de las ventanas, aspecto de los marcos de las ventanas..etc. La

distribución estandard XFree86 incluye twm, el clásico controlador de ventanas del MIT, aunque hay

disponibles controladores mucho más avanzados como Open Look Virtual Window Manager (olvwm).

Un controlador de ventanas muy popular entre los usuarios de Linux es el fvwm. Es un pequeño

controlador que requiere menos de la mitad de la memoria usada por twm. Proporciona aspecto de

3 D para las ventanas, así como un escritorio virtual _si el usuario desplaza el ratón al borde de

la pantalla, la pantalla entera es desplazada como fuese mucho más grande de lo que realmente es.

fvwm es altamente configurable y permite acceso a todas las funciones tanto desde el teclado como

desde el ratón. Muchas distribuciones de Linux usan fvwm como controlador de ventanas estandard.

La distribución XFree86 contiene librerías para programación y ficheros de cabecera para aquellos

programadores mañosos que deseen desarrollar aplicaciones para X. Están soportados varios con-

juntos de controles como los de Athena, Open Look y Xaw3D. Todas las fuentes estandard, mapas

de bits, páginas de manual y documentación está incluida. PEX (interface de programación para

gráficos 3 D) también está soportado.

Muchos programadores de aplicaciones para X usan el conjunto comercial de controles Motif

para el desarrollo. Algunos vendedores proporcionan licencias simples o multi-usuario de una ver-

sión ejecutable de Motif para Linux, pero como Motif en si, es bastante caro, no lo poseen demasiados

usuarios de Linux. A pesar de todo, ejecutables estáticamente enlazados con las librerías de Motif

pueden ser libremente distribuidos. Por lo tanto, si escribes un programa usando Motif y deseas dis-

tribuirlo libremente, deberás de proporcionar un ejecutable con las librerías enlazadas estáticamente

para que los usuarios que no posean Motif puedan usar el programa.

La única advertencia con las X Windows son los requerimientos de máquina y memoria. Un 386

com 4 Mb de RAM es capaz de ejecutar las X, pero para usarlo adecuadamente serán necesarios 8 Mb

o más. También es recomendable usar un procesador rápido, pero tener mayor cantidad de memoria

física es mucho más importante. Además, para conseguir realmente buenas prestaciones de video, es

muy recomendable usar una tarjeta aceleradora (como las tarjetas local bus con aceleradores gráficos

S3). Se han conseguido índices de prestaciones por encima de los 140.000 Xstones con XFree86 y

Linux. Con suficiente hardware, encontrará que ejecutar X en Linux es tan rápido o más rápido que

ejecutar X en otras estaciones de trabajo UNIX.

En el Capítulo 5 se tratará sobre como instalar y usar las X en su propio sistema.

1.4.5 Redes

 

¿Está interesado en comunicarse con el mundo? ¿Si? ¿No? ¿Quizá? Linux dispone de los dos

principales protocolos de red para sistemas UNIX: TCP/IP y UUCP. TCP/IP (para los aficionados

a los acrónimos, Transmission Control Protocol/Internet Protocol) es un conjunto de protocolos de

red que permite a sistemas de todo el mundo comunicarse en una única red conocida como Internet.

Con Linux, TCP/IP y una conexión a la red, puede comunicarse con usuarios y máquinas por toda

Internet mediante correo electrónico, noticias (USENET news), transferencias de ficheros con FTP

y mucho más. Actualmente hay muchos sistemas Linux conectados a Internet.

La mayoría de las redes TCP/IP usan Ethernet como tipo de red física de transporte. Linux da

soporte a muchas tarjetas de red Ethernet e interfaces para ordenadores personales, incluyendo el

adaptador Ethernet D-Link de bolsillo para ordenadores portátiles.

Pero dado que no todo el mundo tiene una conexión Ethernet en casa, Linux también proporciona

SLIP (7) (Serial Line Internet Protocol), el cual permite conectarse a Internet a través de un modem.

Para poder usar SLIP, necesitará tener acceso a un servidor de SLIP, una máquina conectada a la

red que permite acceso de entrada por teléfono. Muchas empresas y universidades tienen servidores

SLIP disponibles. De hecho, si su sistema Linux dispone de conexión Ethernet y de modem, puede

configurarlo como servidor de SLIP para otros usuarios.

_________________________________________

(7) N. del T.: Linux también dispone, entre otros, de soporte PPP: Point to Point Protocol.

_____________________________________________________________________________________

NFS (Network File System) permite fácilmente compartir ficheros con otras máquinas de la red.

FTP (File Transfer Protocol) permite la transferencia de ficheros entre máquinas. Otras aplicaciones

incluyen sendmail, sistema para enviar y recibir correo electrónico usando el protocolo SMTP;

Sistemas de noticias (news) basados en NNTP como C-News e INN; telnet, rlogin y rsh, que

permiten iniciar una sesión y ejecutar órdenes en otras máquinas de la red; y finger, que permite

obtener información de otros usuarios de Internet. Hay literalmente cientos de aplicaciones basadas

en TCP/IP y protocolos disponibles por la red.

Todos los lectores de correo y noticias están disponibles para Linux, como elm, pine, rn, nn y

tin. Sea cual sea tus preferencias, puedes configurar tu sistema Linux para enviar y recibir correo

electrónico y noticias por todo el mundo.

Si tienes experiencia con aplicaciones TCP/IP en otros sistemas UNIX, Linux te será muy famil-

iar. El sistema proporciona el interface estandar de programación por 'sockets', lo que virtualmente

permite que cualquier programa que use TCP/IP pueda ser llevado a Linux. El servidor Linux de X

también soporta TCP/IP, permitiendo ver aplicaciones que están corriendo en otros sistemas sobre

tu pantalla.

En el Capítulo 5 trataremos sobre la configuración y puesta en marcha de TCP/IP, incluyendo

SLIP para Linux.

UUCP (UNIX-to-UNIX Copy) es un viejo mecanismo usado para transferir ficheros, correo elec-

trónico y noticias entre máquinas UNIX. Clásicamente las máquinas UUCP conectan entre ellas

mediante líneas telefónicas y modem, pero UUCP es capaz de funcionar también sobre una red

TCP/IP. Si no tienes acceso a una red TCP/IP o a un servidor SLIP, puedes configurar tu sis-

tema para enviar y recibir ficheros y correo electrónico usando UUCP. Ver el Capítulo 5 para más

información.

1.4.6 Programas de comunicaciones y BBS

Si tienes un modem serás capaz de comunicarte con otras máquinas usando alguno de los paquetes de

comunicaciones disponibles para Linux. Mucha gente usa programas de comunicaciones para acceder

a BBSs, así como a servicios comerciales en línea, como Prodigy, CompuServe y America On-Line.

Otras personas usan sus modems para conectar a un sistema UNIX en el trabajo o escuela. Puedes

usar incluso tu modem y sistema Linux para enviar y recibir FAX. Los programas de comunicaciones

para Linux son muy parecidos a los que se pueden encontrar para MS-DOS y otros sistemas operat-

ivos. Todo aquel que haya usado alguna vez un paquete de comunicaciones encontrará un equivalente

familiar en Linux.

Uno de los paquetes de comunicaciones más populares para Linux es Seyon, una aplicación para X

que proporciona un interface configurable y ergonómico con soporte incorporado de varios protocolos

de transferencia de ficheros como Kermit, ZModem y otros. Otros programas de comunicaciones

incluyen C-Kermit, pcomm y minicom. Estos últimos son similares a programas de comunicaciones

que se pueden encontrar en otros sistemas operativos y son muy fáciles de usar.

Si no tienes acceso a un servidor de SLIP (ver la sección anterior), puedes usar term para

multiplexar la línea serie. term te permitirá abrir múltiples sesiones a través de la conexión por

modem a una máquina remota. term también te permitirá redireccionar las conexiones de un cliente

X a tu servidor local de X, a través de la línea serie, permitiéndote visualizar aplicaciones X remotas

en tu terminal local. Otro paquete disponible, KA9Q, proporciona un interface similar al SLIP.

Mantener un sistema de BBS es el hobby favorito de mucha gente. Linux proporciona una gran

variedad de programas de BBS, la mayoria de los cuales son más potentes que los disponibles para

otros sistemas operativos. Con una línea telefónica, un modem y Linux, puedes convertir tu sistema

en una BBS, proporcionando acceso telefónico a tu sistema a usuarios de todo el mundo. Los

programas de BBS para Linux incluyen XBBS y UniBoard BBS.

La mayoría de los programas de BBS mantienen al usuario en un sistema basado en menús

donde solo hay disponibles ciertas funciones y programas. Una alternativa a este acceso a la BBS

es el acceso UNIX completo, lo que significa que el usuario llama y entra en el sistema como un

usuario regular (a través de un "login"). Aunque este procedimiento requiere mayor mantenimiento

y atención por parte del administrador del sistema, puede hacerse, y proporcionar acceso público a

UNIX desde el sistema Linux no es difícil. Junto con una red TCP/IP, puedes proporcionar acceso

a correo electrónico y noticias a los usuarios del sistema.

Si no tienes acceso a una red TCP/IP o UUCP, Linux también te permitirá comunicarte con la

gran cantidad de redes de BBS, como FidoNet, en la cual puedes intercambiar correo electrónico y

noticias por la línea telefónica. En el Capítulo 5 encontrarás más información sobre programas para

comunicaciones y BBS bajo Linux.

1.4.7 Enlazando con MS-DOS

 

Existen varias utilidades para enlazar con el mundo de MS-DOS. El más conocido es el emulador

de MS-DOS para Linux, que permite ejecutar muchas aplicaciones de MS-DOS directamente desde

Linux. Aunque Linux y MS-DOS son dos sistemas operativos totalmente diferentes, el modo protegido

del 80386 permite que ciertas tareas se comporten como si estuviesen en un 8086 tal y como hacen

las aplicaciones de MS-DOS.

El emulador de MS-DOS está todavía bajo desarrollo, aunque muchos de los programas más

populares corren sobre él. Por lo tanto, es comprensible que programas MS-DOS que usan carac-

terísticas extrañas o esotéricas del sistema, puede que nunca estén soportados, puesto que solo es un

emulador. Por ejemplo, no espere que sea posible ejecutar programas que usan las características

del 80386 en modo protegido como Microsoft Windows (en modo mejorado de 386).(8)

_________________________________________

(8) N. del T.: Determinadas aplicaciones Windows 3.1 funcionan, aunque en fase experimental _____________________________________________________________________________________

Aplicaciones que corren sin problemas bajo el emulador de MS-DOS incluyen 4DOS (intérprete de

comandos), Foxpro 2.0, Harvard Graphics, MathCad, Stacker 3.1, Turbo Assembler, Turbo C/C++,

Turbo Pascal, Microsoft Windows 3.0 (en modo real) y WordPerfect 5.1. Los comandos y utilidades

estandard de MS-DOS (como PKZIP,.. etc) funcionan también con el emulador.

El emulador de MS-DOS es principalmente una solución `ad-hoc'para aquellos usuarios que ne-

cesitan MS-DOS solo para unas pocas aplicaciones, pero usan Linux para todo lo demás. Eso no

significa que no sea una implementación completa de MS-DOS. Por supuesto, si el emulador no

satisface tus necesidades, siempre se puede usar MS-DOS junto con Linux en el mismo sistema.

Usando el gestor de arranque LILO puedes especificar en el arranque que sistema operativo se desea

arrancar. Linux puede coexistir con otros sistemas operativos, como OS/2.. etc.

Linux proporciona un interface sin fisuras para transferir ficheros entre Linux y MS-DOS. Se

puede montar una partición MS-DOS o disco flexible bajo Linux y acceder directamente a los ficheros

MS-DOS como se haría con ficheros de Linux.

Actualmente existe en desarrollo un proyecto conocido como WINE_ que es un emulador de Mi-

crosoft Windows para X Windows bajo Linux. Cuando WINE esté completado, los usuarios podrán

ejecutar aplicaciones MS-Windows directamente desde Linux, similar al emulador de Windows WABI

de Sun Microsystems. Al tiempo de escribir este texto, WINE está todavía en las primeras etapas

del desarrollo, pero tiene muy buenas perspectivas.

En el Capítulo 5 hablaremos de las herramientas MS-DOS disponibles para Linux.

1.4.8 Otras aplicaciones

 

Tal y como se podría esperar de tal mezcolanza de sistema operativo, hay una gran cantidad de

miscelánea disponible para Linux. La intención primaria de Linux es, actualmente, el uso personal

de UNIX, pero esto está cambiando rápidamente. Programas de negocios y científicos se están

expandiendo y los vendedores de programas comerciales están comenzando a contribuir al crecimiento

del número de aplicaciones disponibles para Linux.

Están disponibles para Linux varias bases de datos relacionales, incluyendo Postgres, Ingres

y Mbase. Estas tienen todas las características de aplicaciones de bases de datos cliente/servidor

similares a las que se pueden encontrar en otras plataformas UNIX. /rdb, un sistema de base de

datos comercial (9) está también disponible.

Aplicaciones de cálculo científico Incluyen FELT (herramienta de análisis de elementos finitos);

gnuplot (aplicación de análisis y representación gráfica de datos); Octave (matemática simbólica,

similar a MATLAB); xspread (hoja de cálculo); fractint, versión para X del popular generador

de fractales Fractint; xlispstat (paquete estadístico), y muchos más. Otras aplicaciones incluyen a

Spice (herramienta de diseño y análisis de circuitos) y Khoros (proceso de señales imágenes/digital

y sistema de visualización).

_________________________________________

(9) N. del T.: En el momento de realizar esta traducción ya existían varios paquetes de Bases de Datos comerciales portadas a Linux. Van desde compatibilidad con Clipper 5.x hasta soporte SQL entre otros

_____________________________________________________________________________________

 

Por supuesto, hay muchas más aplicaciones que han sido y pueden ser llevadas a Linux. Sea

cual sea su campo de trabajo, transladar aplicaciones UNIX a Linux debería ser bastante directo.

Linux proporciona un completo entorno de programación UNIX, suficiente para servir de base a

aplicaciones científicas.

Como con cualquier sistema operativo, Linux tiene su porción de juegos. Estos incluyen juegos

clásicos en modo texto como Nethack y Moria; MUDs (dragones y mazmorras multiusuario, que per-

miten que los usuarios interaccionen en una aventura en modo texto) como DikuMUD y TinyMUD;

así como juegos para X Windows como tetris, netrek, y Xboard (la versión para X11 de gnuchess).

El popular juego `arcade'de masacrar enemigos Doom también ha sido llevado a Linux.

Para audíofilos, Linux tiene soporte para tarjetas de sonido y programas relacionados como CD-

player (programa que permite escuchar CD musicales en el lector de CD-ROM), secuenciadores MIDI

y editores (permiten componer musica para sintetizadores o cualquier instrumento con controlador

MIDI) y editores de sonidos digitalizados.

>No puedes encontrar el programa que estás buscando?. El `Linux Software Map' descrito en el

Apéndice A contiene una lista con gran cantidad de programas que han sido escritos o llevados a

Linux. Ciertamente, la lista está lejos de ser completa, pero contiene una gran cantidad de programas.

Otra forma de encontrar aplicaciones para Linux, si tiene acceso a Internet, es buscar en los ficheros

INDEX que se encuentran en los `Linux FTP sites'. A poco que hurgue a su alrededor, encontrará gran

cantidad de programas esperando a ser usados.

Si de ninguna forma puede encontrar lo que necesita, siempre puede tratar de hacer una ad-

aptación de la aplicación desde otra plataforma a Linux. La mayoría de los programas de libre

distribución para UNIX compilarán en Linux sin ningún problema. O si todo falla, puede escribirse

Vd. mismo el programa. Si lo que está buscando es un programa comercial, puede que exista un

`clon'de libre difusión disponible. O puede sugerir a la empresa que considere el lanzamiento de una

versión de su programa para Linux. Algunas personas han contactado con empresas de programación

pidiéndoles que lleven sus aplicaciones a Linux, y han obtenido varios grados de éxito.

1.5 Acerca del Copyright

 

 

Linux está regido por lo que se conoce como la Licencia Pública General de GNU, o GPL, General

Public License. La GPL fue desarrollada para el proyecto GNU por la Free Software Foundation,

que podemos traducir como "Fundación por el Software Gratuito". La licencia hace una serie de

previsiones sobre la distribución y modificación del "software gratis". "Gratis" en este sentido se

refiere a libertad, y no solo coste. La GPL puede ser interpretada de distintas formas, y esperamos

que este resumen le ayude a entenderla y cómo afecta a Linux. Se incluye una copia completa de la

Licencia al final del libro, en el apéndice F.

Originalmente, Linus Torvalds lanzó Linux bajo una licencia más restrictiva que la GPL, que

permitía que el software fuera libremente distribuido y modificado, pero prohibía su uso para ganar

dinero. Sin embargo, la GPL autoriza que la gente venda su software, aunque no le permite restringir

el derecho que su comprador tiene a copiarlo y venderlo a su vez.

En primer lugar, hay que aclarar que el "software gratis" de la GPL no es software de dominio

público. El software de dominio público carece de copyright y pertenece literalmente al público. El

software regido por la GPL sí tiene el copyright de su autor o autores. Esto significa que está protegido

por las leyes internacionales del copyright y que el autor del software está declarado legalmente. No

solo porque un programa sea de libre distribución puede considerársele del dominio público.

El software regido por la GPL tampoco es "shareware". Por lo general, el "shareware" es

propiedad del autor, y exige a los usuarios que le paguen cierta cantidad por utilizarlo después

de la distribución. Sin embargo, el software que se rige por la GPL puede ser distribuido y usado

sin pagar a nadie.

La GPL permite a los usuarios modificar el software y redistribuirlo. Sin embargo, cualquier

trabajo derivado de un programa GPL se regirá también por la GPL. En otras palabras, una compañía

nunca puede tomar Linux, modificarlo y venderlo bajo una licencia restringida. Si un software se

deriva de Linux, éste deberá regirse por la GPL también.

La GPL permite distribuir y usar el software sin cargo alguno. Sin embargo, también permite que

una persona u organización gane dinero distribuyendo el software. Sin embargo, cuando se venden

programas GPL, el distribuidor no puede poner ninguna restricción a la redistribución. Esto es, si

usted compra un programa GPL, puede a su vez redistribuirlo gratis o cobrando una cantidad.

Esto puede parecer contradictorio. >Por qué vender software cuando la GPL especifica que puede

obtenerse gratis? Por ejemplo, supongamos que una empresa decide reunir una gran cantidad de

programas GPL en un CD-ROM y venderlo. La empresa necesitará cobrar por el hecho de haber

producido el CD, y asímismo querrá ganar dinero. Esto está permitido por la GPL.

Las organizaciones que vendan el software regido por la GPL deben tener en cuenta algunas

restricciones. En primer luger, no pueden restringir ningún derecho al comprador del programa. Esto

significa que si usted compra un CD-ROM con programas GPL, podrá copiar ese CD y revenderlo

sin ninguna restricción. En segundo lugar, los distribuidores deben hacer saber que el software se

rige por la GPL. En tercer lugar, el vendedor debe proporcionar, sin coste adicional, el código fuente

del software a distribuir. Esto permite a cualquiera comprar el software y modificarlo a placer.

Permitir a una empresa distribuir y vender programas que son gratis es bueno. No todo el

mundo tiene acceso a Internet para llevarse los programas, como Linux, gratis. La GPL permite a

las empresas vender y distribuir programas a esas personas que no pueden acceder al software con

un coste bajo. Por ejemplo, muchas empresas venden Linux en disquetes o CD-ROM por correo,

y hacen negocio de esas ventas. Los desarrolladores de Linux pueden no tener constancia de estos

negocios. Por ejemplo, Linus sabe que ciertas compañías venden Linux, y él no va a cobrar nada por

esas ventas.

En el mundo de los programas gratis, lo importante no es el dinero. El objetivo es permitir

desarrollar y distribuir software fantástico asequible a cualquiera. En la siguiente sección, hablaremos

de cómo esto se aplica al desarrollo de Linux.

1.6 Diseño y filosofía de Linux

 

 

En ocasiones, los nuevos usuarios de Linux se crean falsas expectativas acerca de éste. Linux es un

sistema operativo único, y es importante entender su filosofía y diseño para usarlo eficientemente.

Aunque usted sea un experimentado "gurú" del UNIX, lo que viene a continuación le interesará con

total seguridad.

En versiones comerciales de UNIX, el sistema es desarrollado siguiendo una rigurosa política de

mantenimiento de la calidad, con sistemas de control de revisiones para las fuentes y documentación,

etc. Los desarrolladores no pueden añadir cosas nuevas por su cuenta: cualquier cambio será en

respuesta a un informe de bug detectado, y será cuidadosamente registrado en el sistema de control

de versiones, de manera que podrá volverse atrás sin problemas. Cada desarrollador tiene asignada

una o más partes del código, y solo ese desarrollador puede alterar esas secciones del código.

Internamente, el departamento de calidad realiza conjuntos de tests para cada versión del sistema

operativo, e informa de los errores. Es responsabilidad de los desarrolladores corregir esos errores.

Se utiliza un complicado sistema de análisis estadístico para asegurarse de que cierto porcentaje de

los errores son corregidos antes de la próxima versión.

Como vemos, el proceso seguido por los desarrolladores de UNIX comercial para mantenerlo y

darle soporte es muy complicado, pero razonable. La compañía debe tener cierta seguridad de que la

próxima revisión del sistema ya está lista para ser comercializada, a través de las pruebas que hemos

comentado. Esto supone un gran trabajo que involucra a cientos (si no miles) de programadores,

betatesters, redactores de documentación y personal administrativo. Por supuesto, no todos los

fabricantes de UNIX trabajan así, pero esto da una idea de la panorámica habitual.

Con Linux, hay que olvidarse del concepto de desarrollo organizado, sistemas de control de

versiones, información de errores estructurada o análisis estadísticos. Linux es un sistema operativo

hecho por "hackers" (10)

_________________________________________

(10) Por "hacker" queremos referirnos a programadores fervientemente dedicados, por hobby, a explotar sus ordenadores al máximo, con resultados útiles para otras personas. Este concepto es contrario al habitualmente aceptado, que dice que un "hacker" es un pirata informático.

_____________________________________________________________________________________

Linux ha sido desarrollado principalmente por un grupo de programadores de todo el mundo

unidos por Internet. A través de Internet, cualquiera tiene la oportunidad de unirse al grupo y ay-

udar al desarrollo y depuración del núcleo, portar nuevo software, escribir documentación o ayudar a

los nuevos usuarios. La comunidad de Linux se comunica principalmente mediante diversas listas de

correo y grupos de USENET. Existen algunos acuerdos en el desarrollo, como que cualquiera que de-

see que su código sea incluido en la versión "oficial" del núcleo deberá ponerse en contacto con Linux

Torvalds, quien comprobará el código y lo incluirá en el núcleo. Por lo general, estará encantado en

hacerlo, siempre que no estropee otras cosas.

El sistema se ha diseñado siguiendo una filosofía abierta y de crecimiento. Por regla general

hay una nueva versión del núcleo cada dos meses (a veces cada menos tiempo) (11) Esto depende del

número de errores a corregir, la cantidad de información recibida de los usuarios, y lo que haya

dormido Linus esta semana.

_____________________________________________________________________________________

(11) N. del T.: Actualmente nos consta la aparición semanal de al menos una revisión de las versiones experimentales.

_____________________________________________________________________________________

Por lo tanto, es difícil decir que todos los errores hayan sido corregidos en cierta fecha. Pero

conforme el sistema va apareciendo libre de errores críticos o manifiestos, se considera "estable"

y se lanzan nuevas revisiones. Hay que recordar que no se pretende realizar un sistema perfecto,

sin errores. Simplemente, se pretende desarrollar una implementación gratuita de UNIX. Linux

está hecho para desarrolladores, más que para otro tipo de personas.

Si alguien desarrolla una aplicación o nueva característica para el núcleo, se añade inicialmente

en una etapa "alfa", es decir, pensada ser probada por usuarios atrevidos que aceptan los fallos

que tenga. Dado que la comunidad de Linux se basa sobre todo en Internet, el software "alfa" es

enviado, normalmente, a servidores FTP dedicados a Linux (vea el apéndice C) y anunciado mediante

un mensaje puesto en un grupo USENET dedicado a Linux. Los usuarios que se llevan el software

lo prueban e informan sobre errores o sugerencias al autor por correo electrónico.

Una vez que se corrigen los problemas iniciales, el código pasa a una etapa "beta", en la que

se considera estable pero incompleto (o sea, funciona, pero no incluye todas las funcionalidades

previstas). También se puede pasar a una etapa "final" en la que el software se considera terminado.

Para el código del núcleo, una vez que se ha terminado, el desarrollador puede pedir a Linus que lo

incluya en el núcleo estándar, o bien que lo ponga como código optativo.

Recordar que lo anterior son solo convenciones, y no leyes. Algunos programas pueden no neces-

itar fases "alpha". Es el desarrollador quien tomará las decisiones al respecto.

Estará sorprendido de que un grupo de programadores y aficionados voluntarios, relativamente

desorganizados, hayan podido hacer algo. Sin embargo, este grupo constituye uno de los más efi-

cientes y motivados. Todo el núcleo de Linux ha sido escrito de la nada, sin emplear ningún código de

fuentes propietarias. Todo el software, librerías, sistemas de ficheros y drivers han sido desarrollados

o portados desde otros sistemas; y se han programado drivers para los dispositivos más populares.

Normalmente, Linux es distribuido junto con otro software en lo que se conoce como distribución,

que es un paquete de software que permite poner a punto un sistema completo. Dado que es difícil

para los usuarios noveles el crear un sistema UNIX partiendo del núcleo y programas de diversas

fuentes, se crearon las distribuciones con el fin de facilitar esta tarea: con la distribución, usted solo

tiene que coger el CD-ROM o los disquetes e instalar para tener un sistema completo con programas

de aplicación incluidos. Como es de esperar, no hay ninguna distribución "estándar". Hay muchas,

cada una con sus ventajas y desventajas. Hablaremos más sobre distribuciones en la sección 2.1.

A pesar de lo anterior, necesitará cierto conocimiento de UNIX para poder instalar y usar un

sistema completo. No hay distribución que no tenga fallos, por lo que requerirá de su habilidad al

teclado para corregir los pequeños problemas que se presenten. Ejecutar un sistema UNIX no es

fácil, ni siquiera en las versiones comerciales. Hay que andarse con cuidado en cualquier UNIX, y

Linux no es una excepción.

1.6.1 Consejos para novatos en UNIX

 

Instalar y utilizar su propio sistema Linux no requiere grandes conocimientos de UNIX. De hecho,

muchos novatos de UNIX instalan con éxito sus sistemas. Es una experiencia de la que se aprende,

pero de la que se pueden generar fustraciones. Si tiene suerte, podrá instalar y usar Linux sin

conocimiento alguno de UNIX. Sin embargo, cuando quiera introducirse en tareas más complejas

(instalar nuevo software, recompilar el núcleo, etc.) el conocimiento de UNIX empieza a ser necesario.

Por suerte, ejecutando su propio sistema Linux podrá aprender las cosas esenciales de UNIX para

llevar a cabo esas tareas. Este libro contiene información que intentará ayudarle (vea el capítulo 3,

que es un tutorial sobre UNIX; y el capítulo 4, que le enseñará cosas sobre la administración de

Linux). Quizás le parezca interesante leer esos capítulos antes de instalar Linux. En este caso, se

ahorrará algunos problemas.

Nadie puede esperar hacerse experto administrador de la noche a la mañana. No hay imple-

mentación alguna que esté libre de mantenimiento. Por lo tanto, prepárese si es novato, pero no se

desespere ante los problemas. El que escribe esto (12) tampoco tenía mucha idea antes de empezar.

_________________________________________

(12) N. del T.: al igual que el que lo traduce

_____________________________________________________________________________________

1.6.2 Consejos para los gurús

 

La gente con años de experiencia programando y administrando sistemas UNIX también puede

necesitar ayuda al querer instalar Linux. Existen aspectos con los que los magos del UNIX tendrán

que familiarizarse antes de entrar en materia. Por un lado, Linux no es un sistema UNIX comercial.

No intenta seguir exactamente el mismo estándar de otros sistemas. En otras palabras, este factor

no es el único factor que interesa en el desarrollo de Linux.

Es más importante, sin embargo, su funcionalidad. En muchos casos, el nuevo código introducido

en el núcleo aun tendrá errores o estará incompleto. Se acepta que es más importante lanzar el código

cuanto antes para que los usuarios lo puedan probar. Por ejemplo, el emulador WINE (emulador

de Microsoft Windows para Linux) tiene una versión alfa "oficial" mientras la prueban los usuarios.

En este sentido, la comunidad de Linux tiene derecho a trabajar con este código, probarlo y ayudar

a su desarrollo. Los UNIX comerciales, raramente siguen esta política.

Si ha sido administrador de UNIX durante más de diez años, y ha usado diferentes sistemas

comerciales, verá que este sistema es muy moderno y dinámico. Se crea un nuevo núcleo cada dos

meses aproximadamente. Se lanza nuevo software permanentemente. Un día puede creer que su

sistema está a la última, y al día siguiente creer que está en la Edad de Piedra.

Con toda esta actividad dinámica, >cómo puede mantenerse al día? La mayor parte de las veces,

es mejor actualizarse el software de manera incremental; o sea, actualizar aquellas partes del sistema

que necesita actualizar. Por ejemplo, si nunca va a usar Emacs, no hay motivo para que se actualice

continuamente ese programa. Incluso siendo usuario de Emacs, no hay necesidad de actualizarlo

cada vez, a menos que haya alguna característica nueva que le interese. No hay razón para estar

siempre cambiándose las versiones del software.

Esperamos que Linux satisfaga sus expectativas de un sistema UNIX. El corazón de Linux alberga

el espíritu del software gratuito y el desarrollo constante. La comunidad de Linux favorece su

expansión, y es difícil creer en su fiabilidad, especialmente cuando se procede del UNIX comercial.

Tampoco puede esperarse que Linux sea perfecto, ya que no lo es ningún otro software. Sin embargo,

creemos que Linux es tan útil y completo como cualquier otra implementación de UNIX.

1.7 Diferencias Entre Linux y Otros Sistemas Operativos

 

 

Es importante entender las diferencias entre Linux y otros sistemas operativos, tales como MS-DOS,

OS/2, y otras implementaciones de UNIX para ordenador personal. Antes de nada, conviene aclarar

que Linux puede convivir felizmente con otros sistemas operativos en la misma máquina: es decir,

Ud. puede correr MS-DOS y OS/2 en compañía de Linux sobre el mismo sistema sin problemas.

Hay incluso formas de interactuar entre los diversos sistemas operativos como veremos.

1.7.1 ¿Por qué usar Linux?

 

¿Por qué usar Linux en lugar de un sistema operativo comercial conocido, bien probado, y bien docu-

mentado? Podríamos darle miles de razones. Una de las más importantes es, sin embargo, que Linux

es una excelente elección para trabajar con UNIX a nivel personal. Si Ud. es un desarrollador de

software UNIX, ¿por qué usar MS-DOS en casa? Linux le permitirá desarrollar y probar el software

UNIX en su PC, incluyendo aplicaciones de bases de datos y X Window. Si es Ud. estudiante, la

oportunidad está en que los sistemas de su universidad correrán UNIX. Con Linux, podrá correr su

propio sistema UNIX y adaptarlo a sus necesidades. La instalación y uso de Linux es también una

excelente manera de aprender UNIX si no tiene acceso a otras máquinas UNIX.

Pero no perdamos la vista. Linux no es solo para los usuarios personales de UNIX. Es robusto y

suficientemente completo para manejar grandes tareas, asi como necesidades de cómputo distribui-

das. Muchos negocios especialmente los pequeños se están cambiando a Linux en lugar de otros

entornos de estación de trabajo basados en UNIX. Las universidades encuentran a Linux perfecto

para dar cursos de diseño de sistemas operativos. Grandes vendedores de software comercial se están

dando cuenta de las oportunidades que puede brindar un sistema operativo gratuito.

Las siguientes secciones deberían destacar las diferencias más importantes entre Linux y otros

sistemas operativos. Esperamos que encuentre que Linux puede cubrir sus necesidades, o (al menos)

mejorar su entorno actual de trabajo. Tenga en mente que la mejor manera de saborear Linux es

simplemente probandolo ni siquiera necesita instalar un sistema completo para tener una muestra

de él. En el Capítulo 2, le mostramos como.

1.7.2 Linux vs. MS-DOS

 

No es raro tener ambos, Linux y MS-DOS, en el mismo sistema. Muchos usuarios de Linux confian en

MS-DOS para aplicaciones tales como procesadores de texto. Aunque Linux proporciona sus propios

análogos para estas aplicaciones (por ejemplo, TEX), existen varias razones por las que un usuario

concreto desearía correr tanto MS-DOS como Linux. Si toda su tesis está escrita en WordPerfect (13)

para MS-DOS, puede no ser capaz de convertirla fácilmente a TEX o algún otro formato. Hay muchas

aplicaciones comerciales para MS-DOS que no están disponibles para Linux, y no hay ninguna razón

por la que no pueda usar ambos.

_________________________________________

(13) N. del T.: El ejemplo del autor se ha quedado obsoleto: Ya existe un WordPerfect 6.1 nativo para Linux

_____________________________________________________________________________________

Como puede saber, MS-DOS no utiliza completamente la funcionalidad de los procesadores 80386

y 80486. Por otro lado, Linux corre completamente en el modo protegido del procesador y explota

todas las características del éste. Puede acceder directamente a toda su memoria disponible (e incluso

más allá de la disponible, usando RAM virtual). Linux proporciona un interface UNIX completo

no disponible bajo MS-DOS, el desarrollo y adaptación de aplicaciones UNIX bajo Linux es cosa

fácil, mientras que, bajo MS-DOS, Ud. está limitado a un pequeño subgrupo de la funcionalidad de

programación UNIX. Al ser Linux un verdadero sistema UNIX, Ud. no tendrá estas limitaciones.

Podríamos debatir los pros y contras de MS-DOS y Linux durante páginas y páginas. Sin embargo,

baste decir que Linux y MS-DOS son entidades completamente diferentes. MS-DOS no es caro

(comparado con otros sistemas operativos comerciales), y tiene un fuerte asentamiento en el mundo

de los PC's. Ningún otro sistema operativo para PC ha conseguido el nivel de popularidad de MS-

DOS básicamente porque el coste de esos otros sistemas operativos es inaccesible para la mayoría

de los usuarios de PC's. Muy pocos usuarios de PC pueden imaginar gastarse 100.000 ptas. o más

solamente en el sistema operativo. Linux, sin embargo, es gratis, y por fin tiene la oportunidad de

decidirse.

Le permitiremos emitir sus propios juicios de Linux y MS-DOS basados en sus expectativas y

necesidades. Linux no está destinado a todo el mundo. Si siempre ha querido tener un sistema UNIX

completo en casa, si es alto el coste de otras implementaciones UNIX para PC, Linux puede ser lo

que estaba buscando.

Se dispone de herramientas que permiten interactuar entre Linux y MS-DOS. Por ejemplo, es

fácil acceder a los ficheros MS-DOS desde Linux. También hay disponible un emulador de MS-DOS,

que permite ejecutar muchas aplicaciones populares de MS-DOS. Actualmente se está desarrollando

un emulador de Microsoft Windows.

 

 

1.7.3 Linux vs. Otros Sistemas Operativos

Están surgiendo un gran número de sistemas operativos avanzados en el mundo del PC. Concreta-

mente, OS/2 de IBM y Windows NT de Microsoft comienzan a tener popularidad a medida que los

usuarios de MS-DOS migran a ellos.

Ambos, OS/2 y Windows NT son sistemas operativos completamente multitarea, muy parecidos

a Linux. Técnicamente, OS/2, Windows NT y Linux son bastante similares: Soportan aproximada-

mente las mismas características en términos de interfaz de usuario, redes, seguridad, y demás. Sin

embargo, la diferencia real entre Linux y los otros es el hecho de que Linux es una versión de UNIX,

y por ello se beneficia de las contribuciones de la comunidad UNIX en pleno.

¿Qué hace a UNIX tan importante? No solo es el sistema operativo más popular para máquinas

multiusuario, también es la base de la mayoría del mundo del software de libre distribución. Si tiene

acceso a Internet, casi todo el software de libre distribución disponible está específicamente escrito

para sistemas UNIX. (Internet en si está profundamente basada en UNIX.)

Hay muchas implementaciones de UNIX, de muchos vendedores, y ni una sola organización es

responsable de su distribución. Hay un gran pulso en la comunidad UNIX por la estandarización en

forma de sistemas abiertos, pero ninguna corporación controla este diseño. Por eso, ningún vendedor

(o, como parece, ningún hacker) puede adoptarar estos estandars en una implementación de UNIX.

Por otro lado, OS/2 y Windows NT son sistemas propietarios. El interface y diseño están

controlados por una sola corporación, y solo esa coproración puede implementar ese diseño. (No

espere encontrar una versión gratis de OS/2 en un futuro cercano.) De alguna forma, este tipo de

organización es beneficiosa: establece un estándar estricto para la programación y el interfaz de

usuario distinto al encontrado incluso en la comunidad de sistemas abiertos. OS/2 es OS/2 vaya

donde vaya_lo mismo ocurre con Windows NT.

Sin embargo, el interface UNIX está constantemente desarrollandose y cambiando. Varias or-

ganizaciones están intentando estandarizar el modelo de programación, pero la tarea es muy difícil.

Linux, en particular, es en su mayoría compatible con el estandar POSIX.1 para el interface de pro-

gramación UNIX. A medida que pase el tiempo, se espera que el sistema se adhiera a otros estandars,

pero la estandarización no es la etapa primaria en la comunidad de desarrollo de Linux.

1.7.4 Otras implementaciones de UNIX

 

Hay otras implementaciones de UNIX para el 80386 y 80486. La arquitectura 80386 se presta al

diseño de UNIX y buen un número de vendedores han sacado ventaja de este factor.

Hablando de características, otras implementaciones de UNIX para PC son bastante similares

a Linux. Podrá ver que casi todas las versiones comerciales de UNIX soportan basicamente el

mismo software, entorno de programación, y características de red. Sin embargo, hay algunas fuertes

diferencias entre Linux y las versiones comerciales de UNIX.

En primer lugar, Linux soporta un rango de hardware diferente de las implementaciones comer-

ciales. En general, Linux soporta la mayoría de dispositivos hardware conocidos, pero el soporte

está aun limitado a ese hardware al que los desarrolladores tengan acceso actualmente. Sin embargo,

los vendedores de UNIX comercial por lo general tienen una base de soporte más amplia, y tienden

a soportar más hardware, aunque Linux no esta tan lejos de ellos. Cubriremos los requerimientos

hardware de Linux en la Sección 1.8.

En segundo, las implementaciones comerciales de UNIX suelen venir acompañadas de un conjunto

completo de documentación, así como soporte de usuario por parte del vendedor. Por contra, la

mayoría de documentación para Linux se limita a documentos disponibles en Internet_y libros

como este. En la Sección 1.9 se listan fuentes de documentación de Linux y otra información.

En lo que concierne a estabilidad y robustez, muchos usuarios han comentado que Linux es al

menos tan estable como los sistemas UNIX comerciales. Linux está aun en desarrollo, y algunas

características (como redes TCP/IP) son menos estables, pero mejora a medida que pasa el tiempo.

El factor más importante a considerar por muchos usuarios es el precio. El software de Linux es

gratis, si tiene accesso a Internet (o a otra red de ordenadores) y puede traerselo. Si no tiene acceso a

tales redes, tiene la opción de comprarlo pidiéndolo por correo en disquetes, cinta o CD-ROM (vea el

Apéndice B). Por supuesto, Ud. puede copiarse Linux de un amigo que puede tener ya el software,

o compartir el coste de comprarlo con alguien más. Si planea instalar Linux en un gran número de

máquinas, solo necesita comprar una copia del software_Linux no se distribuye con licencia para

"una sola máquina".

El valor de las implementaciones comerciales de UNIX no debería ser rebajado: conjuntamente

con el precio del software en si, uno paga generalmente por la documentación, el soporte, y un label

de calidad. Estos factores son muy importantes para grandes instituciones, pero los usuarios de

ordenadores personales pueden no necesitar esos beneficios. En cualquier caso, muchos negocios y

universidades encuentran que correr Linux en un laboratorio con ordenadores baratos es preferible

a correr una versión comercial de UNIX en un laboratorio de estaciones de trabajo. Linux es capaz

de proporcionar la funcionalidad de una estación de trabajo sobre hardware de PC a una fracción de

su coste.

Como un ejemplo del "mundo real" sobre el uso de Linux dentro de la comunidad informática,

los sistemas Linux han viajado hasta los grandes mares del Pacífico Norte, encargandose de las

telecomunicaciones y analisis de datos para en un buque de investigación oceanográfica. Los sistemas

Linux se están usando en estaciones de investigación en la Antártida. Como ejemplo más mundano,

quizá, varios hospitales están usando Linux para mantener registros de pacientes. Está probando ser

tan fiable y útil como otras implementaciones de UNIX.

Hay otras implementaciones gratuitas o baratas de UNIX para el 386 y 486. Una de las más

conocidas es 386BSD, una implementación y adaptación del UNIX BSD para el 386. 386BSD es

comparable a Linux en muchos aspectos, pero cual de ellos es "mejor" depende de las necesidades

y espectativas personales. La única distinción fuerte que se puede hacer es que Linux se desarrolla

abiertamente (donde cualquier voluntario puede colaborar en el proceso de desarrollo), mientras

386BSD se desarrolla dentro de un equipo cerrado de programadores que mantienen el sistema.

Debido a esto, existen diferencias filosóficas y de diseño serias entre los dos proyectos. Los objetivos

de los dos proyectos son completamente distintos: el objetivo de Linux es desarrollar un sistema UNIX

completo desde el desconocimiento (y divertirse mucho en el proceso), y el objetivo de 386BSD es

en parte modificar el código de BSD existente para usarlo en el 386.

NetBSD es otra adaptación de la distribución NET/2 de BSD a un número de máquinas, incluy-

endo el 386. NetBSD tiene una estructura de desarrollo ligeramente más abierta, y es comparable al

386BSD en muchos aspectos.

Otro proyecto conocido es HURD, un esfuerzo de la Free Software Foundation (Fundación de

Software gratuito) para desarrollar y distribuir una versión gratis de UNIX para muchas plataformas.

Contacte con la Free Software Foundation (la dirección se da en el Apéndice F) para obtener más

información sobre este proyecto. Al tiempo de escribir este documento, HURD aun está en los

primeros pasos de su desarrollo.

También existen otras versiones baratas de UNIX, tales como Coherent (disponible por cerca de

$99) y Minix (un clónico de UNIX académico, pero útil, en el que se basaron los primeros pasos del

desarrollo de Linux). Algunas de estas implementaciones son de interés en mayor parte académico,

mientras otras son sistemas ya maduros para productividad real. No hace falta decir, sin embargo,

que muchos usuarios de UNIX de PC se están pasando a Linux.

1.8 Requerimientos de Hardware

 

 

Ahora debe estar convencido de lo maravilloso que es Linux y de las estupendas cosas que puede

hacer por usted. Sin embargo, antes de que se precipite e instale el software, tiene que asegurarse de

los requerimientos y limitaciones de hardware de Linux.

Tenga en cuenta que Linux fue desarrollado por sus usuarios. Esto siginifica, en la mayoría de las

ocasiones, que el hardware soportado por Linux es únicamente aquél al que usuarios y desarrolladores

tienen realmente acceso. Según van apareciendo, se van soportando la mayor parte del hardware y

los periféricos populares para sistemas 80386/80486 (de hecho, Linux soporta más hardware que

algunas implementaciones comerciales de UNIX). Sin embargo, aún no son reconocidos algunos de

los periféricos más oscuros y esotéricos. Según pasa el tiempo aumenta el hardware soportado por

Linux, de manera que si sus periféricos favoritos no están aquí listados, hay gran probabilidad de

que sean soportados próximamente.

Otro inconveniente en el soporte de hardware bajo Linux es que muchas compañías han decidido

conservar las especificaciones del interfaz de su hardware como propietario. Como consecuencia de

ésto, los desarrolladores voluntarios de Linux simplemente no pueden escribir controladores (drivers)

para esos periféricos (y si pudieran, tales controladores serían propiedad de la compañía dueña del

interfaz, lo cual violaría el GPL). Las compañías que mantienen interfaces propietarios, escriben

sus propios controladores para sistemas operativos como MS-DOS y Microsoft Windows; el usuario

final (es decir, usted) no necesita saber nada del interfaz. Desafortunadamente, esto impide a los

desarrolladores de Linux escribir controladores para esos periféricos.

Hay muy poco que hacer en esta tesitura. En algunos casos, los programadores han intentado

escribir controladores "cloneados" basándose en asumciones acerca del interfaz. En otras ocasiones,

los desarrolladores trabajarán con la compañía en cuestión e intentarán obtener información del

interfaz del periférico con un nivel de éxito que puede variar.

En las siguientes secciones, trataremos de resumir los requerimientos hardware para Linux. El

documento Hardware HOWTO (ver Sección 1.9) contiene un listado más completo del hardware

soportado por Linux.

Aclaración: un buen tratado acerca del hardware soportado por Linux, está actualmente en fase

de desarrollo. Algunas distribuciones puede que soporten, o no, estas características experimentales.

Esta sección lista en primer lugar el hardware que ya lleva cierto tiempo soportado y del que se

sabe de su estabilidad. En caso de duda, consulte la documentación de la distribución de Linux que

está usando (ver Sección 2.1 para más información acerca de las distribuciones de Linux).

1.8.1 Requisitos de Placa Base y de CPU

 

Actualmente Linux soporta sistemas con una CPU Intel14 80386, 80486, o Pentium/Pro. Esto incluye

todas las variantes del tipo de CPU, como el 386SX, 486SX, 486DX, y 486DX2. Los "clónicos" no

Intel, como AMD y Cyrix también funcionan con Linux (14).

_________________________________________

(14) N. del T.: Linux ya soporta, en la actualidad a otras arquitecturas tales como ALPHA, Amiga, PowerPc, etc.

_____________________________________________________________________________________

Si tiene un 80386 o 80486SX, puede que también quiera aprovechar el coprocesador matemático,

si bien no es imprescindible (el núcleo de Linux puede emular el coprocesador si no cuenta con uno).

Están soportados todos los copros estándar, tales como los IIT, Cyrix FasMath, e Intel.

La placa base debe ser de arquitectura ISA o EISA en cuanto a bus se refiere. Estos términos

definen cómo interactúa el sistema con los periféricos y otros componentes por medio del bus princip-

al. La mayoría de los sistemas vendidos hoy son de bus ISA o EISA. El bus MicroChannel (MCA),

que se encuentra en máquinas como los IBM/PS2 no está soportado actualmente.

Los sistemas que usan arquitectura de bus local (para accesos más rápidos en vídeo y disco)

también están soportados. Es recomendable que tenga una arquitectura de bus local estándar como

pueda ser el Bus Local VESA (15) ("VLB").

_________________________________________

15N. del T.: PCI también está soportado

_________________________________________

1.8.2 Requisitos de memoria

Linux, comparado con otros sistemas operativos avanzados, necesita muy poca memoria para funcion-

ar . Debería contar con un mínimo de 2 megabytes de RAM; sin embargo, es altamente recomendable

tener 4 megabytes. Cuanta más memoria tenga más rápido irá su sistema.

Linux soporta el rango completo de direcciones de 32-bits de los 386/486; es decir, utilizará toda la

memoria RAM de forma automática, y se apañará sin problemas con tan sólo 4 megabytes de RAM,

incluyendo aplicaciones "pedigüeñas" como X-Window, Emacs, y demás. Sin embargo, disponer de

más memoria es casi tan importante como tener un procesador más rápido. 8 megabytes es más que

suficiente para uso personal; 16 megabytes o más pueden ser necesarios si espera una fuerte carga

de usuarios en el sistema.

La mayoría de los usuarios de Linux, reservan una parte del disco duro para espacio de intercambio

("swapping") que se usa como RAM virtual. Incluso si dispone de bastante memoria RAM física en

su máquina, puede que quiera utilizar un área de "swap" . El área de "swap" no puede reemplazar

a una memoria física RAM real, pero puede permitir a su sistema ejecutar aplicaciones más grandes

guardando en disco duro aquellas partes de código que están inactivas. La cantidad de espacio de

intercambio a reservar depende de diversos factores; volveremos a esta cuestión en la Sección 2.2.3.

1.8.3 Requisitos de la controladora de disco duro

 

No necesita un disco duro para ejecutar Linux; puede ejecutar un sistema mínimo completamente

desde disquete. Sin embargo, resulta lento y muy limitado, y de todas formas, muchos usuarios tienen

acceso a almacenamiento en disco duro. Debe tener una controladora AT-estándar (16-bit). El núcleo

soporta controladoras XT-estándar (8 bit); aunque la mayoría de las controladoras usadas hoy son

AT-estándar. Linux debería soportar todas las controladoras MFM, RLL, e IDE. La mayoría, pero

no todas, las controladoras ESDI están soportadas sólo aquellas que hacen emulación hardware de

la ST506.

La regla general para controladoras que no sean SCSI, es que si puede acceder a las unidades

(disco y/o disquete) desde MS-DOS u otro sistema operativo, debería poder hacerlo desde Linux.

Linux también soporta un número de controladoras de disco SCSI, si bien el soporte para SCSI es más limitado a causa de la gran cantidad de estandars que existen para el interfaz de las controladoras. Las controladoras SCSI soportadas16 incluyen las Adaptec AHA1542B, AHA1542C, AHA1742A (versión de BIOS 1.34), AHA1522, AHA1740, AHA1740 (controladora SCSI-2, BIOS 1.34 en modo mejorado); Future Domain 1680, TMC-850, TMC-950; Seagate ST-02; UltraStor SCSI; Western Digital WD7000FASST. Las controladoras clónicas basadas en estas tarjetas también deberían funcionar.(16)

_________________________________________

(16) N. del T.: Ver la sección 1.9 sobre como conseguir el fichero Hardware HOWTO que contendrá una lista mas actualizada y completa

_____________________________________________________________________________________

1.8.4 Requisitos de espacio en disco

 

Efectivamente, para instalar Linux, necesitará tener algo de espacio libre en su disco duro. Linux

soporta múltiples discos duros en la misma máquina; puede disponer de espacio para Linux en

múltiples unidades si es necesario.

La cantidad de espacio en disco duro que necesitará depende en gran medida de sus necesidades

y de la cantidad de software que va a instalar. Linux es relativamente pequeño en relación a las

implementaciones de UNIX; usted podría correr un sistema completo con 10-20 megabytes de espacio

en disco. Sin embargo, si quiere disponer de espacio para expansiones, y para paquetes más grandes

como X Window, necesitará más espacio. Si planea permitir a múltiples usuarios utilizar la máquina,

tendrá que dejar espacio para sus ficheros.

También, a menos que tenga un montón de memoria RAM física (16 megabytes o más), necesit-

ará crear espacio de intercambio ("swap"), para ser usado como RAM virtual. Comentaremos todos

estos detalles acerca de la instalación y uso del espacio de intercambio en la Sección 2.2.3.

Cada distribución de Linux normalmente viene con algún que otro texto que debería ayudarle a

estimar la cantidad precisa de espacio a reservar en función del software que planee instalar. Puede

ejecutar un sistema mínimo con menos de 20 megabytes; un sistema completo con toda la parafernalia

en 80 megabytes o menos; y un sistema grande con sitio para muchos usuarios y espacio para futuras

expansiones en un rango de 100-150 megabytes. De nuevo, estas cifras son meramente orientativas;

usted tendrá que decidir, según sus necesidades y objetivos, los requerimientos específicos de alma-

cenamiento para su sistema.

1.8.5 Requisitos de monitor y adaptador de vídeo

 

 

Linux soporta todas las tarjetas de vídeo estándar Hercules, CGA, EGA, VGA, IBM monocromo,

y Super VGA así como monitores para el interfaz por defecto basado en texto. En general, si la

combinación que tiene de monitor y tarjeta de vídeo funcionan bajo otro sistema operativo como

MS-DOS, debería funcionar perfectamente con Linux. La genuínas tarjetas CGA de IBM sufren el

(d)efecto nieve ("snow") bajo Linux, por lo que no es muy recomendable su uso.

Los entornos gráficos como el Sistema X Window tienen requerimientos propios de hardware para

la tarjeta de vídeo. En vez de listar estos requerimientos aquí, los trataremos en la Sección 5.1.1.

De forma breve, para ejecutar el Sistema X Window en su máquina Linux, necesitará alguna de las

tarjetas de vídeo listadas en esa sección.

1.8.6 Hardware diverso

 

Las secciones de arriba describían qué hardware es necesario para correr un sistema Linux. Sin

embargo, la mayoría de los usuarios tienen cierto número de dispositivos "opcionales" como alma-

cenamiento en cintas y CD-ROM, tarjetas de sonido y demás, y están interesados en saber si este

hardware está, o no es, soportado por Linux. Siga leyendo.

1.8.6.1 Ratones y otros dispositivos apuntadores

 

Normalmente usted sólo usará un ratón bajo un entorno gráfico como el Sistema X Window. Sin

embargo, algunas aplicaciones Linux no asociadas con un entorno gráfico, hacen uso del ratón.

Linux soporta todos los ratones serie estándar, incluyendo Logitech, MM series, Mouseman, Mi-

crosoft (2-button) y Mouse Systems (3-botones). Linux también soporta los ratones de bus Microsoft,

Logitech, y ATIXL. El interfaz de ratón de PS/2 también es soportado.

Todos los demás dispositivos apuntadores, como los "trackball" que emulen a los dispositivos de

arriba, también deberían funcionar.

 

1.8.6.2 Almacenamiento en CD-ROM

 

Casi todas las unidades de CD-ROM usan el interfaz SCSI (17). Siempre y cuando tenga un adaptador

SCSI soportado por Linux, su unidad de CD-ROM debería funcionar. Hay un número de unidades de

CD-ROM que se ha comprobado funcionan bajo Linux, incluyendo el NEC CDR-74, Sony CDU-541,

y Texel DM-3024. Las unidades internas Sony CDU-31a y Mistsumi también están soportadas por

Linux.

Linux soporta el sistema de ficheros estándar para CD-ROMs ISO-9660.

_______________________

(17) N. del T.: El parque de CD ROMs ha cambiado de forma asombrosa en los últimos meses. Sirva decir que Linux soporta, además de las citadas en el párrafo, los nuevos estándares ATAPI para CD ROMs conectables a controladoras IDE

_____________________________________________________________________________________

 

1.8.6.3 Unidades de cinta

 

Hay varios tipos de unidades de cinta disponibles en el mercado. La mayoría usan el interfaz SCSI,

por lo que estarían soportadas por Linux. Entre las unidades de cinta SCSI verificadas están la

Sankyo CP150SE; Tandberg 3600; Wangtek 5525ES, 5150ES, y 5099EN con el adaptador PC36.

Otras unidades QIC-02 deberían estar soportadas también.

Existen controladores en fase de desarrollo para varios otros dispositivos de cinta como las unid-

ades Colorado que se conectan a la controladora de disquetes.

 

 

1.8.6.4 Impresoras

 

Linux soporta todas las impresoras paralelo. Si puede acceder a su impresora por el puerto paralelo

desde MS-DOS, u otro sistema operativo, debería poder acceder a él desde Linux también. El software

de impresión de Linux consiste en el software estándar de UNIX lp y lpr. Este software también le

permite imprimir remotamente a través de la red, si es que tiene una disponible.

 

 

1.8.6.5 Modems

 

Igual que para las impresoras, Linux soporta toda la gama de modems serie, tanto internos como

externos. Hay una gran cantidad de software de telecomunicaciones disponible para Linux, incluyendo

Kermit, pcomm, minicom, Seyon. Si su modem es accesible desde otro sistema operativo en la misma

máquina, debería poder acceder a él sin dificultad desde Linux.

 

 

1.8.7 Tarjetas Ethernet

Linux soporta un buen número de tarjetas Ethernet y adaptadores para LAN (18). Esto incluye los

siguientes:

_________________________________________

18N. del T.: Algunas tarjetas token-ring ya están soportadas

_____________________________________________________________________________________

 

o 3com 3c503, 3c503/16

 

o Novell NE1000, NE2000

 

o Western Digital WD8003, WD8013

 

o Hewlett Packard HP27245, HP27247, HP27250

 

o D-Link DE-600

 

Los siguientes clónicos se ha informado que funcionan:

 

o LANNET LEC-45

 

o Alta Combo

 

o Artisoft LANtastic AE-2

 

o Asante Etherpak 2001/2003,

 

o D-Link Ethernet II

 

o LTC E-NET/16 P/N 8300-200-002

 

o Network Solutions HE-203,

 

o SVEC 4 Dimension Ethernet

 

o 4-Dimension FD0490 EtherBoard 16

Aquellas tarjetas clónicas compatibles con cualquiera de las tarjetas anteriores también debería fun-

cionar.

1.9 Fuentes de información sobre Linux

 

Como podrá imaginar, además de este libro, hay muchas otras fuentes de información sobre Linux.

Concretamente, hay numerosos libros sobre UNIX en general, que recomendamos a aquellos lectores

que no tengan experiencia previa con UNIX. Si somos nuevos en UNIX, lo más indicado es leer uno

de estos libros antes de meternos en la "peligrosa selva" de Linux. Un buen comienzo puede ser el

libro Learning the UNIX Operating System, de Grace Todino y John Strang.

Casi todas las fuentes de información sobre Linux están disponibles principalmente de forma

electrónica. Esto es, deberá tener acceso a una red, como Internet, USENET o Fidonet, con el fin

de obtener la documentación. Si no tiene acceso a ninguna red, siempre puede encontrar la forma

de obtener copias impresas en disquetes o CDROM de los libros.

 

1.9.1 Documentación On-Line

 

Si tiene acceso a Internet, encontrará variada documentación en muchos servidores de FTP del

mundo. Si no tiene acceso directo a Internet, aun puede obtener los documentos: muchos distribuid-

ores de Linux en CDROM incluyen toda o casi toda la documentación existente en la red. Además,

se suelen distribuir por redes diferentes como Fidonet o Compuserve. Y si tiene acceso únicamente

al correo en Internet, puede obtener ficheros de servidores FTP sin más que usar un servidor de

ftpmail. Vea el apéndice C para más información.

Hay gran cantidad de servidores FTP que distribuyen software y documentación de Linux. En

el apéndice C encontrará una lista con servidores conocidos. Con el fin de reducir el tráfico de red,

debería utilizar el servidor que le quede más cercano (19) geográficamente.

_________________________________________

(19) N. del T.: Vea el apéndice E.1 para localizar una lista de ftps españoles

_____________________________________________________________________________________

El apéndice A incluye una lista de algunos de los documentos sobre Linux que se encuentran

disponibles por FTP anónimo. Los nombres de los ficheros pueden no ser los mismos en todos los

servidores, pero suelen estar en el directorio docs dentro del directorio que dediquen a Linux. Por

ejemplo, en sunsite.unc.edu los ficheros de Linux están en /pub/Linux y la documentación en

/pub/Linux/docs.

Algunos documentos que puede encontrar son las Linux FAQ, una colección de FAQ sobre Linux;

los documentos HOWTO, dedicados a aspectos específicos, como la instalación inicial (Installation

HOWTO) o la configuración de impresoras y spoolers (Printing HOWTO).

Algunos documentos se envían regularmente a uno o más grupos USENET sobre Linux. No deje

de leer la sección 1.9.4 sobre el tema de las News.

1.9.2 Linux en el WWW

La página inicial de la documentación de Linux en el Web se encuentra en la dirección URL

http://sunsite.unc.edu/mdw/linux.html

Desde esta página puede accederse a los HOWTOs y otros documentos en formato HTML. También

se encuentran enlaces a otros servidores de interés.

 

 

1.9.3 Libros y otras publicaciones

 

En este momento, hay algunos trabajos publicados sobre Linux. Principalmente, los libros del

Proyecto de Documentación de Linux (LDP), que se lleva a cabo mediante Internet para escribir y

distribuir una colección de manuales para Linux. Estos manuales son análogos a los que se publican

junto con versiones comerciales de UNIX: tratan la instalación y puesta en marcha, programación,

trabajo en red, asuntos del núcleo y muchas cosas más.

Los manuales del LDP se encuentran disponibles mediante FTP anónimo en el Internet, así como

por correo a través de algunos comercios. En el apéndice A se enumeran los manuales disponibles y

cómo conseguirlos.

No hay muchos más libros que traten el tema particular de Linux. Sin embargo, sí que hay

numerosos libros sobre UNIX en general que normalmente son aplicables a Linux, como aquellos

sobre cómo utilizar o programar sobre el sistema UNIX, ya que Linux no difiere mucho en su interfaz

con el usuario o programador. En resumen, lo que quiera saber sobre el uso y programación de

Linux lo encontrará en los libros sobre UNIX. Encontrará los nombres de algunos de estos libros en

el apéndice A.

Con los libros escritos para Linux y los que hay sobre UNIX se debe estar ya suficientemente

documentado como para hacer cualquier cosa sobre su sistema Linux.

También existe un magazine mensual sobre Linux, el Linux Journal. Se distribuye por todo el

mundo y es una excelente manera de mantenerse al día en este tema, sobre todo si no se tiene acceso

a USENET. En el apéndice A encontrará información sobre cómo suscribirse a esta publicación.

1.9.4 Grupos de NEWS USENET

 

"USENET" es un foro mundial de artículos electrónicos organizado en "grupos", o sea, áreas de

discusiones relacionadas con cada tema concreto. Buena parte del desarrollo de Linux ha sido a

través de Internet y USENET, con lo que no es extraño que existan bastantes grupos que traten el

tema.

Inicialmente, el grupo sobre Linux era alt.os.linux, y se creó para tratar aquí las cuestiones

que sobre Linux abundaban ya en comp.os.minix y varias listas de correo. El tráfico en el grupo

de Linux fue creciendo lo suficiente como para permitirse el paso a la jerarquía comp, en Febrero de

1992.

comp.os.linux se ha convertido en un grupo de News muy conocido, más que cualquiera otro de

comp.os. En Diciembre del 92 se votó la creación del grupo comp.os.linux.announce para reducir

el tráfico de comp.os.linux. En Julio de 1993 se partió este grupo de forma definitiva en la jerarquía

que hoy existe.

Si no tiene acceso a USENET, pero sí puede usar el correo electrónico, existen pasarelas de correo

a News disponibles para cada uno de los grupos siguientes.

 

comp.os.linux.announce

comp.os.linux.announce es un grupo moderado, pensado para anuncios import-

antes respecto a Linux (como informes sobre errores detectados, lanzamiento de

parches, etc). Si quiere leer grupos de Linux, empiece por éste. Los artículos que

aquí se publican no son reenviados a ningún otro grupo normalmente. En él se

pueden encontrar además muchos artículos que se envían periódicamente, incluy-

endo documentos ya mencionados como los HOWTOs.

Los envíos al grupo deben ser aceptados por los moderadores, Matt Welsh y Lars

Wirzenius. Si quiere enviar algo, normalmente basta con que lo ordene a su software

de News. Este software se ocupará de enviar el artículo a los moderadores para que

lo acepten. Sin embargo, si su sistema no está correctamente configurado, puede

enviarlo directamente a la dirección de correo linux-announce@tc.cornell.edu.

Los restantes grupos sobre Linux no están moderados.

 

comp.os.linux.help

Es el grupo más popular. Contiene preguntas y respuestas sobre la instalación o

ejecución de los sistemas Linux. Si tiene problemas con Linux, puede usar este grupo

y recibirá respuesta de quien pueda ayudarle. Sin embargo, se recomienda que lea

antes la documentación por si ahí encuentra la ayuda necesaria.

 

comp.os.linux.admin

En este grupo se discuten temas relacionados con la administración del sistema Linux

como entorno multiusuario. Aquí son bienvenidos los comentarios y preguntas sobre

software de empaquetado, de backups, o sobre la gestión de cuentas de usuarios.

 

comp.os.linux.development

En este grupo se discuten asuntos relacionados con el desarrollo en el núcleo de

Linux. Por ejemplo, si está escribiendo un driver nuevo y necesita consejo sobre

algún aspecto, es aquí donde deberá preguntar. Además, es aquí donde se discuten

los objetivos en el desarrollo de Linux, tal y como se dice en la sección 1.6.

Debe observarse que este grupo no está pensado para tratar el desarrollo de software

para Linux, sino el desarrollo del propio Linux. Estos temas deben tratarse en otro

grupo.

 

comp.os.linux.misc

Aquí se mantienen debates que no encajen en los grupos anteriores. Concretamente,

las típicas guerras "Linux vs. Windows 95" o cualquier artículo de carácter no

técnico.

 

 

El grupo comp.os.linux sigue existiendo, pero se recomienda usar los nuevos grupos. Si no tiene

acceso a ellos, hable con su administrador de las News.

1.9.5 Listas de correo en Internet

 

Si tiene acceso al correo electrónico de Internet, puede aun participar en las listas de correo aunque

no tenga acceso a USENET. A estas listas de correo puede apuntarse incluso sin tener acceso alguno

a Internet, gracias a las pasarelas que ofrecen otros servicios, como UUCP, FidoNET o CompuServe.

La lista de correo de "Activistas del Linux" (20) está pensada principalmente para desarrolladores y

gente interesada en participar en el desarrollo. Es una lista "multicanal", en la que puede apuntarse

a uno o más "canales" según los temas que le interesen. Entre estos canales se encuentran el NORMAL,

el KERNEL, el GCC (sobre el compilador de GNU), el NET o el DOC (sobre el tema de la documentación

de Linux).

_____________________________________________________________________________________ 20N. del T.: Linux Activists

_____________________________________________________________________________________

Para más información sobre esta lista de correo, envíe un mensaje a

 

linux-activists@niksula.hut.fi

 

Recibirá una lista de canales disponibles e información de cómo apuntarse o borrarse de éstos.

Existen otras listas de correo de propósito especial. El mejor camino para encontrarlas es leer los

anuncios aparecidos en USENET, y la lista de "mailing-list" disponible periódicamente en el grupo

news.answers.

1.10 Cómo obtener ayuda

 

 

Indudablemente, necesitará cierta ayuda durante sus primeras aventuras en el mundo de Linux.

Aquí veremos algunas indicaciones sobre cómo obtener esa ayuda.

La forma más inmediata de buscar ayuda es mediante las listas de correo y grupos de USENET

que se mantienen en Internet, tal como explicamos en la sección 1.9. Si no tiene acceso a Internet,

puede encontrar ayuda en otros servicios on-line como los BBS's o Compuserve.

También hay ciertas empresas que han empezado a dar soporte comercial de Linux. Esto le

permitirá pedir ayuda a los técnicos a cambio del pago de una cuota. El apéndice B contiene una

lista de comerciantes de Linux, alguno de los cuales ofrece soporte técnico. Sin embargo, si tiene

acceso a USENET y al correo de Internet, verá que puede obtener soporte técnico de calidad y

gratuito.

Lo que sigue son sugerencias que le hacemos para mejorar su experiencia con Linux y garantizarle

mayor probabilidad de éxito para encontrar soluciones a los problemas que se le presenten.

Consultar primero toda la documentación disponible

Lo primero que debe hacer cuando encuentre un problema es leerse la documentación que se lista

en la sección 1.9 y el apéndice A. Estos documentos fueron laboriosamente escritos para gente como

usted_gente que necesitaba ayuda sobre Linux. Los libros sobre Unix también se pueden usar para

resolver dudas de Linux.

Frecuentemente, y por difícil que parezca, se encuentran respuestas a muchos problemas.

Si se tiene acceso a las news de USENET o a listas de correo relacionadas con Linux, se debe

leer su contenido antes de poner una pregunta sobre sus problemas. Muchas veces hay problemas

comunes que no se encuentran fácilmente en los libros pero que tienen frecuente respuesta en los

grupos de USENET o similar. Enviar la pregunta a los grupos sin leerlos antes puede ser una pérdida

de tiempo.

Aprenda a apreciar las cosas hechas por uno mismo.

En la mayoría de los casos se recomienda investigar por cuenta de uno mismo antes de pedir

ayuda al exterior. Recuerde que Linux no es un sistema comercial y puede hacer con él lo que quiera

(modificarlo, etc). Si aprende a hacerse las cosas por sí mismo, su experiencia le permitirá llegar a

ser, tal vez, uno de los famosos "gurús" de Linux.

Mantenga la calma.

Hay que evitar la desesperación a pesar de todos los problemas. No se ha oído aun ninguna

historia de alguien que, en un ataque de ira, borrase todos sus discos de Linux con un fuerte imán.

Los mismos autores se han desahogado a puñetazos con almohadas o similares en arrebatos de este

tipo. Hay que esperar un poco a que las distribuciones de Linux se hagan más fáciles aun de instalar,

aunque ya lo son más que casi cualquier otro Unix comercial.

Evite poner preguntas en USENET demasiado pronto.

Mucha gente comete el error de pedir ayuda en USENET demasiado pronto. Cuando encuentre

algún problema, no se vaya de inmediato al terminal más cercano (insistimos, no lo haga) para

escribir su duda en un grupo de News de Linux. Es mejor que intente antes resolverlo pues muchas

veces es debido al nerviosismo inicial y se puede caer en el error de preguntar cosas demasiado

triviales. Vamos, que si su PC no se enciende, mire antes a ver si está enchufado.

Si escribe su pregunta en USENET, haga que merezca la pena.

Finalmente, puede que se vea obligado a pedir ayuda a los foros dedicados a Linux, bien mediante

listas de correo o con USENET. Cuando redacte su pregunta, recuerde que la gente que va a leerla no

está ahí para ayudarle. La Red no es un servicio post-venta. Así pues, hay que redactar el artículo

de la forma más completa posible.

¿Cómo puede conseguir esto? En primer lugar, debe incluir toda la información acerca de su

sistema y el problema que crea relevante. Una escueta pregunta como "no puedo conseguir que el

correo electrónico funcione" difícilmente será contestada, a menos que incluya información acerca de

su sistema, qué software utiliza, qué ha intentado hacer para resolverlo y qué resultados ha obtenido.

Además, suele ser interesante añadir información más general, como qué versión del sistema utiliza

(del núcleo y distribución), así como un pequeño resumen de su hardware. Pero tampoco exagere

incluyendo su tipo de monitor, por ejemplo, cuando su problema sea con el software de red.

En segundo lugar, recuerde que necesita intentar resolver por su cuenta el problema antes de

recurrir a la Red. Si, por ejemplo, nunca ha intentado instalarse el correo electrónico, y pretende

que directamente le cuenten en la Red cómo se hace, estará cometiendo un gran error. Hay muchos

documentos disponibles (vea la sección 1.9) acerca de cómo iniciar la instalación de paquetes de

aplicación típicos bajo Linux. La idea es hacer todo lo que pueda por sí mismo y solo entonces pedir

ayuda si finalmente la necesita.

Recuerde también que la gente que vea su mensaje, generalmente dispuesta a ayudarle, puede

hartarse de ver la misma pregunta una y otra vez. Observe las preguntas y respuestas que existen

en el grupo de News actualmente, pues muchas veces la solución a su problema ya está en la Red

antes de que lo pregunte.

Por último sea conciso, en la medida de lo posible, a la hora de redactar un artículo. Es mucho

más efectivo ser breve, directo e informativo al pedir ayuda. No olvide la educación. Son frecuentes

las disputas en la Red sin venir demasiado a cuento. La Red (21) es un excelente medio para buscar

ayuda y para resolver sus problemas de Linux pero hay que saber utilizarla.

_________________________________________

21N. del T.: La Red se refiere a Internet, como la red que engloba a todas las redes públicas de datos

_____________________________________________________________________________________

 

 

ANTERIOR

SIGUIENTE