You are on page 1of 37

EL SISTEMA OPERATIVO GNU/LINUX

Antonio Téllez Flores

Ciencias de la Computación

Facultad de Ciencias

Universidad Nacional Autónoma de México

Versión 2.0

Dedicado a la persona que más quiero en la vida...

"Extendería mis vestimentas antes tus pies, pero soy pobre y sólo tengo
sueños; he estendido mis sueños ante tus pies, pisa con blandura que pisas
mis sueños".
Yeats

EL SISTEMA OPERATIVO GNU/LINUX

"Creo que el conocimiento que he recibido o que pueda recibir de un maestro


y de un libro no me pertenece; que se me ha confiado solamente; que
pertenece y pertenecerá siempre a la humanidad, la cual produjo tal
conocimiento a través de todas las generaciones.
Creo que no tengo derecho a administrar este legado en forma alguna que
pudiera perjudicar al genero humano, su beneficiario. Por lo contrario,
Creo que es mi deber administrarlo únicamente en bien de este beneficiario,
de manera que el mundo pueda llegar a ser un lugar más amable, más
placentero y mejor en que vivir".
Tomado del credo de erudito del Dr. John J. Seclman

Índice General
1 ¿Qué es Linux?
1.1 ¿Quién es propietario de Linux?
1.2 ¿Por qué utilizar Linux?
2 La historia
2.1 La historia de Unix
2.2 La historia de MINIX
2.3 La historia de Linux
2.4 La historia de Tux: La mascota oficial de Linux
2.5 Linux en México
3 Características técnicas de Linux
3.1 Multitarea prioritaria
3.2 Multiusuario
3.3 Shells programables
3.4 Independencia de dispositivos bajo Linux
3.5 Linux y las distintas plataformas de hardware.
3.6 Linux PC.
3.7 Otras características de Linux
4 Redes y Linux
4.1 Enrutamiento
4.2 RDSI
4.3 Servidor de acceso telefónico (``dial-in server'')
4.4 Fax-Server
4.5 Linux e Internet
4.6 Conectividad casera
4.7 Seguridad en Linux
5 El sistema X Windows
5.1 ¿Qué es X Windows?
5.2 ¿Qué es un sistema Cliente/Servidor?
5.3 La interfaz de usuario de X Windows.
5.4 GNOME (GNU Network Object Model Environment)
5.5 KDE (Kool Desktop Environment)
5.6 Another Level.
6 Aplicaciones Linux.
7 Linux como plataforma de desarrollo.
8 Haga Contacto con Linux.
9 Linux Y más Allá
10 Páginas de Internet relacionadas con Linux.
11 Copying

EL SISTEMA OPERATIVO GNU/LINUX

1 ¿Qué es Linux?
"Cuando uno sueña, es sólo un sueño. Cuando muchos sueñan, comienza a ser
una realidad".
Martin Luther King
Linux es un espécimen único en la (r)evolución informática; no se trata de
un producto comercial respaldado por una gran empresa, sino más bien de un
sistema operativo hijo de la frustración, creado a principios de los 1990's
por un grupo de entusiastas de la computación de todo el mundo, quienes se
han servido de los recursos de Internet para comunicarse entre sí y
desarrollar él magnifico sistema operativo denominado Linux. La palabra
Linux está derivada de Linus Torvalds, nombre del "inventor" o "iniciador"
de este sistema, y originalmente se refiere solamente a su "kernel" o
núcleo, aunque comúnmente se utiliza para referirse al sistema completo,
incluyendo sus aplicaciones.
La característica más relevante de Linux es que fue desarrollado con la
intención de ofrecer un poderoso sistema operativo totalmente libre, lo
cual brinda la oportunidad de darle un uso ilimitado; de hecho, si usted
tiene acceso a Internet, puede obtener el código fuente del sistema sin
ninguna complicación. Pero eso no es todo, pues además de la obtención del
código fuente al que usted puede hacerle las modificaciones que quiera
según sus necesidades, y suponiendo que tenga los conocimientos suficientes
como para hacerlo (claro, bajo los términos de la Licencia General
Publica), en Internet podrá encontrar muchas aplicaciones para Linux de
gran calidad, además de que cada vez existe más software comercial para
Linux.
Desde el punto de vista técnico, Linux es un sistema operativo de 32 ó 64
bits tipo Unix, multiusuario y multitarea, disponible libremente para las
mas variadas plataformas de hardware. La plataforma de hardware más común
son equipos de tipo PC con procesadores x86 (Intel, AMD y Cyrix) a partir
del 386.
Linux funciona perfectamente en combinación con los sistemas operativos
convencionales de Microsoft, Novell, IBM, Sun y Apple, abriendo al mismo
tiempo las puertas al mundo de Internet. Entre las prestaciones especiales
de este sistema operativo, se destaca su gran estabilidad y su amplia
funcionalidad en entornos de redes. Estas características han proporcionado
a Linux una excelente fama como sistema operativo idóneo para servidores,
estaciones de trabajo, redes en general, y gracias al trabajo de miles de
programadores alrededor del mundo, en la actualidad, Linux se está
popularizando como sistema operativo para PCs.
Linux se ha convertido en el sistema operativo consentido de los "gurus" de
la computación, y cientos de empresas alrededor del mundo lo han adoptado
para el mantenimiento de sus sistemas, servidores web y/o sus redes. Tal ha
sido el impacto alcanzado por Linux, que muchas de las empresas más
importantes del mundo en materia de software y hardware, como Netscape,
Borland, Adobe, Sun, etc., han encontrado en Linux un increíble mercado sin
la competencia de Microsoft, y se han volcado al desarrollo de versiones
para Linux de sus más populares aplicaciones. Grandes corporaciones han
desarrollado sus propias distribuciones de Linux como es el caso de Corel,
Caldera y Motorola o han decidido adoptar a Linux como sistema operativo y
comienzan a vender equipos con Linux preinstalado como es el caso de IBM,
Hewlett Packard, Compaq, Dell, Acer, Silicon Graphics, Apple, e Hitachi.
Esto es apenas el comienzo. Gracias a sus características, a la aparición
de nuevas interfaces gráficas de fácil uso como GNOME y KDE, y al trabajo
de cientos de programadores y usuarios fieles alrededor del mundo, Linux
esta dejando de ser un sistema operativo difícil de instalar y utilizar, y
se esta convirtiendo en una alternativa real para los usuarios que buscan
un sistema operativo confiable y poderoso, ya sea para una red local, un
servidor web o una PC casera.
1.1 ¿Quién es propietario de Linux?
"Richard Stallman" no es más que mi nombre mundano; puedes llamarme "RMS".
Richard Stallman
Sun Microsystems posee los derechos de Solaris, Apple los de MacOS X y
Microsoft los de Windows 2000, pero, ¿Quién posee los derechos de Linux? En
primer lugar, y lo más importante, Linux no es software de dominio público;
varios de los componentes de Linux tienen derechos de autor de muchas
personas. La mayoría de las utilidades de Linux están bajo la Licencia
General Publica GNU (GNU General Public Licence). De hecho, Linus y muchos
de los que han contribuido a la creación de Linux han colocado su trabajo
bajo la protección de la licencia GNU GPL, de ahi el nombre GNU/Linux.
Esta Licencia se suele denominar GNU Copyleft, un juego de palabras con la
palabra copyright. Cubre todo el software producido por el proyecto GNU de
la Free Software Foundation. La licencia permite a los programadores crear
software para todos. La premisa básica de GNU es que el software deberá
estar disponible para todos y que sí alguien desea modificar el programa
para sus propios fines, esto debe ser posible. La única condición es que no
puede limitarse el código modificado, los demás tienen derecho a utilizar
el nuevo código. La GNU Copyleft, o GPL, permite a los creadores de un
programa conservar sus derechos de autor legales, pero permite a los demás
copiar, modificar y vender el nuevo programa resultante. Sin embargo, al
hacerlo no pueden limitar ningún derecho similar a los que compren el
software. Si vende el programa tal como está, o una modificación del
mismo, debe facilitar el código fuente. Por este motivo Linux viene con el
código fuente completo.
El iniciador del movimiento del Software Libre es Richard Mathew Stallman
creador y líder del proyecto GNU, demás de uno de los mejores y más
creativos programadores vivos. Antes de consagrarse al proyecto GNU,
Stallman participó en la creación de sistemas operativos, compiladores,
depuradores, etc., en el Laboratorio de Inteligencia Artificial (AIL) del
Instituto Tecnológico de Massachusetts. En su opinión, modificar partes o
el todo de un programa es tan natural y productivo para un programador como
respirar, y así esto debería ser libre. Además, el acto fundamental de
amistad entre programadores es el compartir programas.
El proyecto GNU pretende el desarrollo de un sistema completo de software
libre compatible con Unix (pero superior a este en varios aspectos) para
eliminar la necesidad de usar software propietario; que comprenda desde el
Sistema Operativo hasta la aplicación más insignificante. De aquí surgió
el nombre del proyecto, que es un acrónimo recursivo: GNU's Not Unix (la
"G" en GNU debe pronunciarse). Este proyecto es operado por la FSF (Free
Software Foundation), organización fundada por Richard Stallman, quien ha
escrito gran parte del código del proyecto GNU. La FSF promociona el
desarrollo y la utilización del Software Libre a todos los niveles.
1.2 ¿Por qué utilizar Linux?
"Quería formar parte de ello [Linux] y tenía que entender cómo la comunidad
Linux había logrado dar la vuelta a todas las normas presentes. Pensé
sobre ello durante tres años, y nació "La catedral y el Bazar"".
Eric S. Raymond
Si posee una computadora, debe tener un sistema operativo. Un sistema
operativo es un programa complejo que se encarga de administrar los
recursos de hardware y software, así como de presentar una interfaz
amigable al usuario y al programador. Sin un sistema operativo, la
computadora está inactiva, es incapaz de interpretar y actuar sobre los
comandos introducidos o de ejecutar un programa sencillo. La mayoría de los
sistemas operativos son programas propietarios apoyados por las principales
compañías de software. Si compra un sistema operativo, deberá conformarse
con lo que le ofrece el proveedor, pues el programa es un programa
propietario y no puede modificar el sistema ni experimentar con él.
Los programas de aplicaciones son paquetes de software que adquiere para
realizar determinadas actividades, como, por ejemplo, el procesamiento de
textos. Cada paquete está escrito para un sistema operativo y una máquina
determinados, es decir una plataforma de computo. También en este caso
tiene poco control sobre cómo se efectúan modificaciones en el programa de
aplicación y sobre cuándo o si se efectúan actualizaciones.
Deseará utilizar Linux porque es el único sistema operativo que en la
actualidad está libremente disponible para proporcionar posibilidades
multitarea y multiproceso para múltiples usuarios en las mas variadas
plataformas de hardware. Ningún otro sistema operativo le ofrece las mismas
características con la potencia y la estabilidad de Linux, a la vez que le
mantiene al margen de los caprichos de marketing de los distintos
proveedores comerciales. No está obligado a actualizarse cada poco tiempo y
a pagar sumas considerables para actualizar todas sus aplicaciones. Muchas
aplicaciones para Linux están disponibles de forma libre en Internet, al
igual que el propio código de Linux.
A diferencia de lo que ocurre en los sistemas de software convencionales,
en Linux el usuario no tiene por qué aceptar con resignación las
características que preferiría ver modificadas. En Linux tiene acceso al
código fuente para modificar y ampliar el sistema operativo para adaptarlo
a sus necesidades, algo que no puede hacer con sistemas operativos
propietarios. Esto no significa que Linux y sus posibles variantes sean
gratuitos. Los distribuidores pueden cobrar por los programas siempre y
cuando se incluya el código fuente, además, por lo general incluyen varias
utilidades para hacer mas atractivo el sistema.
Por otra parte, Linux proporciona una oportunidad de aprendizaje sin
comparación en la sociedad contemporánea. Linux es un sistema operativo
completo y funcional con el código fuente incluido, en el que puede probar
y aprender. Es es algo que no puede hacer en un entorno Unix habitual y
definitivamente es algo que no puede hacer con ningún sistema operativo
propietario porque ningún proveedor tiene la intención de facilitar su
código fuente. De esta forma, en la actualidad Linux representa un ruptura
frente a los sistemas controlados por grandes organizaciones que sacrifican
la creatividad y las mejoras en nombre de las cuotas de mercado.
Además, las distribuciones de Linux más completas, como Mandrake Linux, Red
Hat Linux y SuSE Linux, por mencionar algunas, ponen las ventajas de este
sistema a disposición del gran público. Están preparadas para que tanto
usuarios poco experimentados como principiantes de Unix puedan instalarlo
sin muchos problemas y no son muy costosas. Y en caso de necesitar soporte
técnico usted puede encontrar en Internet miles de usuarios que le ayudaran
a resolver sus problemas con Linux, incluyendo algunos distribuidores y
empresas de consultoría que ofrecen soporte técnico comercial para Linux.
2 La historia
"Todo lo que un hombre tiene que decir o hacer que posiblemente pueda
interesar a la humanidad es, en una forma u otra, exponer la historia de su
amor...".
Henry David Thoreau
Kalevala es un poema épico finlandés al estilo de la Iliada y la Odisea,
pero tiene una particularidad: Kalevala nunca fue escrito por algún autor
en particular, sino que es una recopilación de cuentos de la tradición oral
en Finlandia y que ha logrado llenar unas 23,000 líneas.
La compilación en el siglo XIX de todos los poemas y cuentos que resultó en
la creación del Kalevala de hoy, ha resultado ser algo fundamental para
definir la identidad Finlandesa. El héroe de Kalevala es el shaman
Väinämöinen, quien muy al principio del poema es retado a muerte por su
archi-rival Joukahainen. Kalevala cuenta cómo Väinämöinen vence utilizando
un arma secreta que se compone de magia y canciones, dando como resultado
la creación del mundo en el que vivimos.
El proyecto Linux puede ser el Kalevala moderno, solo que le concierne
tanto a Finlandia, como al resto el mundo, se trata de otra gran
compilación de ideas de forma impecable, hecha por otro finlandés y que
dentro de la nueva era de la información, tiene la capacidad de crear un
nuevo mundo, el mundo GNU/Linux.
La historia de Linux se encuentra ligada a la historia de Unix y, hasta
cierto punto, a la de un sistema operativo denominado MINIX las cuales se
detallan a continuación.
2.1 La historia de Unix
"Si sentases un mono enfrente de una computadora, lo primero que escribiría
seria un comando de Unix".
Bill Lye
La historia de Unix puede remontarse al tiempo en el que el MIT, Bell
Laboratories (Ahora AT&T) y General Electric (antes un fabricante de
computadoras importante) decidieron embarcarse en el desarrollo de la
"computadora de servicio publico", máquina gigantesca que soportaría a
miles de usuarios simultáneos de tiempo compartido. Su modelo era el
sistema de distribución de electricidad (cuando se necesita energía
eléctrica, simplemente se oprime un contacto en la pared y, dentro de lo
razonable, habrá tanta energía como se necesite). Los diseñadores de este
sistema, conocido como MULTICS (Multiplexed information and computing
service, información multicanalizada y servicio de computación), imaginaron
una máquina inmensa que ofrecía poder de cómputo para todos los habitantes
de Boston. La idea de que máquinas más poderosas que su GE-645 se venderían
como computadoras personales por unos cuantos miles de dólares dentro de
unos años era pura ciencia-ficción en esa época.
Para resumir una larga historia, MULTICS introdujo muchas ideas originales
en la literatura de computación, pero su construcción era más difícil de lo
que nadie había sospechado. Bell Laboratories desechó el proyecto y General
Electric se retiró por completo del negocio de las computadoras. Por
último, MULTICS pudo funcionar lo suficientemente bien para ser utilizado
en un medio de producción del MIT y algunas docenas de sitios más, pero el
concepto de computadora de servicio público fracasó. No obstante, MULTICS
tuvo enorme influencia sobre otros sistemas subsiguientes.
Ken Thompson, un programador de la AT&T y algunos de sus colegas admiraban
las capacidades de MULTICS; sin embargo, pensaban que era demasiado
complicado. Su idea era probar que era posible construir un sistema
operativo que proporcionara un ambiente de desarrollo cómodo de una forma
más simple. Y afortunadamente, tuvieron un éxito admirable en el desarrollo
de esta idea, a pesar de esto, Unix es irónicamente, mucho más complicado
de lo que MULTICS nunca llegó a ser.
La primera versión de Unix, llamada UNICS, fue escrita en 1969 por Ken
Thompson. Corría en una computadora PDP-7 de Digital. En 1970 Thompson,
junto con Dennis Richtie, portaron Unix a la PDP-11/20. Richtie diseño y
escribió el primer compilador de C para proveer un lenguaje que pudiera ser
usado para escribir una versión portátil del sistema. En 1973, Richtie y
Thompson reescribieron el kernel de Unix, el corazón del sistema operativo,
en C. El resultado fue un sistema operativo rápido y estable que podía
transportarse y mantenerse con facilidad.
Inicialmente, se otorgaron licencias gratuitas para utilizar Unix a
universidades con propósitos meramente educativos (en 1974). Allí, tanto
estudiantes como profesores se dieron cuenta de que Unix era muy práctico,
versátil y relativamente fácil de utilizar, por lo que su estudio se
incluyo en los planes de estudio de muchas universidades. Como resultado
de ello, toda una generación de alumnos de Ciencias de la Computación
adquirieron conocimientos de Unix. Cuando llevaron dichos conocimientos al
mercado, hicieron que fuera el sistema dominante.
No obstante, en último término, los hechos que hicieron de Unix un sistema
operativo para redes tremendamente popular ocurrieron en otro
lugar. Aproximadamente por esas fechas, el gobierno estadounidense estaba
trabajando en una red interna para las comunicaciones de guerra. Esta red
se diseño para que fuera inmune a un ataque nuclear soviético. Aunque el
gobierno tenía un medio de transmisión apropiado, la línea telefónica, no
contaba con ningún sistema operativo adecuado y ahí fue donde entró
Unix. El desarrollo de esta red fue el antecedente directo de lo que ahora
llamamos Internet.
Aunque las versiones de de Unix las ofrecen muchos proveedores distintos,
éstas se pueden clasificar en dos categorías principales: Unix System V y
Berkeley Software Distribution (BSD). Con el Unix System V Versión 4, AT&T
y Sun Microsystems fusionaron sus dos versiones de Unix en el Unix System
V. Debido a esta fusión y a la agrupación de la industria en torno al
estándar del Unix System V, éste se considera actualmente el sistema Unix
estándar.
Sin duda, lo mejor que podía pasarle al sistema operativo Unix fue el
desarrollo del sistema V, Versión 4.2 (SVR4.2). Creado e introducido por
Unix System Laboratories (USL, ahora propiedad de Novell, Inc.), El SVR4.2
combina la potencia y las posibilidades de Unix con una interfaz gráfica de
usuario (GUI) "amigable". El resultado es un sistema operativo que pueden
recorrer fácilmente los usuarios con poca experiencia y que pueden
personalizar radicalmente los administradores de sistemas y otros
expertos. SVR4.2 lo comercializa Novell como UnixWare.
Antes de la aparición de SVR4.2, los usuarios de Unix sólo veían un
indicador de línea de comandos (un simple signo de dólar) después de entrar
en el sistema. Sin ninguna orientación evidente en pantalla, los usuarios
sin experiencia frecuentemente se veían intimidados y maldecían a Unix
clamando por otros sistemas operativos más conocidos. Sin duda, esto
contribuyó a la reputación de Unix como sistema operativo poco amigable en
sus principios, reputación que ha tenido durante mucho tiempo, y aún en la
actualidad, si bien la experiencia y la información boca a boca ha vencido
la resistencia de algunos usuarios.
2.2 La historia de MINIX
"Sabemos lo que somos, pero no sabemos lo que podemos ser".
William Shakespeare
Cuando Unix era joven (versión 6), el código fuente se encontraba en todas
partes, con autorización de AT&T, y se estudiaba frecuentemente. John
Lions, de la Universidad de New South Wales en Australia, llegó a escribir
un pequeño folleto que describía su operación, línea por línea. Este
folleto se utilizó (con permiso de AT&T) como libro de texto en muchos
cursos universitarios sobre sistemas operativos.
Cuando AT&T entregó la versión 7, empezó a comprender que Unix era un
valioso producto comercial, así que emitió la versión 7 con una licencia
que prohibía el estudio del código fuente en cursos con el objeto de evitar
poner en peligro su condición como secreto comercial. Muchas universidades
protestaron simplemente descartando el estudio de Unix y enseñando sólo
teoría.
Por desgracia, el solo enseñar teoría dejaba al estudiante con una visión
desproporcionada de lo que en realidad es un sistema operativo. Los temas
teóricos que por lo general se comprenden con lujo de detalle en cursos y
libros de sistemas operativos, como los algoritmos de planificación, en la
práctica no son realmente tan importantes. Los temas que en realidad son
importantes, como la E/S y los sistemas de archivo, por lo general se
desprecian porque existe muy poca teoría acerca de ellos.
Para remediar esta situación, el conocido y respetado computólogo Andrew
Tannebaum, decidió escribir un nuevo sistema operativo de la nada que sería
compatible con Unix desde el punto de vista del usuario, pero completamente
diferente en el interior. Sin siquiera utilizar una sola línea de código de
AT&T, este sistema evadía las restricciones de la prohibición, de modo que
podía utilizarse para dar una clase o para el estudio individual. En esta
forma, los estudiantes podían analizar minuciosamente un sistema operativo
real para ver lo que hay en su interior, tal y como los estudiantes de
biología disecan ranas. El nombre MINIX surgió de mini-Unix porque era lo
suficientemente pequeño, para que alguien que no fuera un maestro en
sistemas operativos pudiese entender la forma en que trabajaba.
Además de la ventaja de eliminar los problemas legales, MINIX tenia otra
ventaja sobre Unix. Aquél se escribió una década después de Unix y se
estructuro en forma más modular. El sistema de archivos de MINIX, por
ejemplo, no era parte del sistema operativo en absoluto, y corría como un
programa de usuario. Otra diferencia es que Unix se diseñó para ser
eficiente; MINIX se diseñó para ser legible (en vista de que se puede
hablar de que cualquier programa de 12649 líneas es legible). El código de
MINIX, por ejemplo, tenia más de 3000 comentarios en él.
MINIX se diseño para ser compatible con la versión 7 (V7) de Unix. La
versión 7 se utilizó como modelo debido a su simplicidad y elegancia. A
veces de dice que la versión 7 no solo fue una mejora sobre todos sus
antecesores, sino que también lo es sobre todos sus sucesores.
Al igual que Unix, MINIX se escribió en lenguaje de programación C y tenia
como objetivo ser fácil de portar a diversas computadoras. La
implementación inicial se hizo en la IBM PC, puesto que esta computadora
tenia un uso extenso. Apegándose a la filosofía de "lo pequeño es bello",
MINIX no requería de un disco duro para correr, con lo cual se ajustaba a
los presupuestos de muchos estudiantes. MINIX al estar disponible para
cualquier estudiante de Ciencias de la Computación del mundo, pronto creo
una legión de seguidores, incluyendo sus propios grupos de noticias de
USENET.
Para el usuario promedio que se sentaba frente a una IBM PC, la ejecución
de MINIX era muy similar a utilizar cualquier sistema Unix. Muchos de los
programas usuales en Unix, como cat, grep, ls, make y el shell estaban
presentes y realizaban las mismas funciones que sus contrapartes de
Unix. Al igual que el sistema operativo mismo, todos estos programas de
servicio se reescribieron completamente de la nada por parte del autor, sus
alumnos y algunas otras personas.
2.3 La historia de Linux
"Si yo hubiera tenido un Unix que hiciera lo que yo quería -que corriera
sobre hardware Intel barato, por ejemplo-, no hubiera tenido ese cosquilleo
sobre el que después rasqué".
Linus Torvalds
En 1991, Linus Benedic Torvalds, un joven estudiante de Ciencias de la
Computación que contaba a la sazón 23 años, de la Universidad de Helsinki,
Finlandia, creó Linux por hobby. Él estaba interesado en Minix, y decidió
poner en marcha un proyecto personal para desarrollar un sistema operativo
que excediera los estándares de MINIX, convirtiéndolo en una réplica
perfectamente acabada del sistema operativo Unix que pudiera ejecutarse en
cualquier IBM PC; y se centro en las recién aparecidas computadoras basadas
en 386 debido a las propiedades de conmutación de tareas de la interfaz en
modo protegido del 80386. En marzo de 1991 compro un sistema multitarea
MINIX para su AT y comenzó con el desarrollo de su propio sistema operativo
multiusuario y multitarea que llamo Linux.
La primera versión de Linux, numerada como 0.01 contenía solo los
rudimentos del núcleo y funcionaba sobre una máquina con el MINIX
instalado, esto es, para compilar y jugar con Linux era necesario tener
instalado el MINIX de Tanembaum. En un anuncio aparecido en comp.os.minix
el 5 de octubre de 1991 Linus Torvalds anunciaba al mundo que estaba lista
la versión 0.02 de Linux, la primera versión oficial de su "nuevo" sistema
operativo, que adoptaría muchos de los sistemas y herramientas creadas por
el proyecto GNU. A continuación, reproducimos algunos de los anuncios que
puso Linus al presentar su programa Linux:
"Después de eso, todo sería pan comido: algún código peliagudo todavía,
pero tenía algún dispositivo, y la depuración era fácil. Empecé a utilizar
C en esta fase y realmente acelera el desarrollo. También es cuando empecé
a tomarme en serio mis ideas megalómanas para crear <<un Minix mejor que
Minix>>. Esperaba que podría volver a compilar gcc bajo Linux algún día..."
"Dos meses para la configuración básica, que resulto ser un poco más hasta
que conseguí un controlador de disco (un cacharro, pero resulto que
funcionaba en mi máquina) y un pequeño sistema de archivos. Fue entonces
cuando dejé lista la 0.01 (más o menos a finales de agosto de 1991): no era
ninguna maravilla, no tenía controlador de disquetes y no podía hacer
prácticamente nada. No creo que nadie compilara esa versión. Pero entonces
ya estaba enganchado y no quería parar hasta que pudiese darle el empujón
final a Minix".
"¿Echas de menos los maravillosos días de Minix 1.1, cuando los hombres
eran hombres y escribían sus propios controladores de dispositivo? ¿Estás
sin un proyecto atractivo y estás deseando hincar el diente en un sistema
operativo que puedas adaptarlo a tus necesidades? ¿Encuentras frustrante
que todo funcione con Minix? No más noches en vela para que un programa
funcione. Entonces este anuncio es para ti".
"Como decía hace un mes, estoy trabajando en una versión libre de algo
parecido a Minix para computadoras AT-386. Ya he llegado a una fase en que
incluso se puede utilizar (o tal vez no, según lo que necesites), y quiero
dar a conocer las fuentes para obtener una mayor difusión. Es solamente la
versión 0.02, pero me ha permitido ejecutar satisfactoriamente bash, gcc,
gnu-sed, y compress entre otros".
La respuesta no se hizo esperar ya que el mundo respondió de inmediato, y
de esta forma, el encanto del Kalevala Finlandés y de Linus Torvalds surtió
el efecto necesario, en consecuencia, Internet tomó el papel de medio de
comunicación, y la materia prima de aquella respuesta fue el conocimiento
de miles de programadores conectados a la Red de redes y que convirtió a
Linus en el "moderador" de uno de los desarrollos más grandes en la
historia del cómputo, que partió de su creación original. La Red y dicha
materia prima han hecho de este sistema operativo lo que conocemos hoy como
Linux, que es realmente espléndido.
Después de la versión 0.03, Linus salto en la numeración hasta la 0.10, mas
y mas programadores a lo largo y ancho de Internet empezaron a trabajar en
el proyecto y después de sucesivas revisiones, Linus incremento el número
de versión hasta la 0.95 (Marzo 1992). Mas de un año después (Diciembre
1993) el núcleo del sistema estaba en la versión 0.99. Linus Torvalds
continuó con el desarrollo hasta que el 14 de Marzo de 1994 liberó el
kernel de Linux versión 1.0, la primera versión considerada estable.
El proyecto no está completo: Miles de programadores diseminados por todo
el mundo, amplían y mejoran Linux continuamente y lo portan a otras
plataformas (Alan Cox es actualmente una persona clave en el desarrollo del
kernel). La versión actual más estable es la 2.4 de enero del 2001 y por
supuesto los desarrollos públicos continúan a cargo de numerosas
organizaciones y programadores independientes. Linus Torvalds, además de
seguir programando, se ha dedicado desde entonces a recopilar, aceptar,
desechar, normar y organizar código de programación que le contribuyen
otros programadores y a orientar y unir en equipos a grupos de
programadores con ideas afines.
Linux es el sistema operativo que más inquietud ha despertado en los
últimos años en el mundo de la Computación. Lo que empezó en 1991 como un
hobby para un joven estudiante finlandés llamado Linus Torvalds, ha pasado
de ser un(a) juguete(pasión) de hackers a una herramienta importante tanto
para usuarios particulares como profesionales. Hace sólo unos años (1992),
había unos 100,000 usuarios de Linux aproximadamente. Hoy, aproximadamente
16 millones de usuarios dependen de Linux (Noviembre 2000, Fuente: Linux
Counter) para administrar finanzas, usar y controlar servicios de Internet,
diseño gráfico, desarrollo de aplicaciones científicas y mucho más. Este
número crece rápidamente. Cada día, nuevos usuarios descubren las
potencialidades de Linux.
Hay que señalar que Linux no sería lo que es sin la aportación de la Free
Software Foundation y todo el software desarrollado bajo el apoyo de esta
asociación así como la contribución del Unix de Berkley (BSD), tanto en
programas portados como en programas diseñados para éste que forman parte
de algunas distribuciones de Linux.
2.4 La historia de Tux: La mascota oficial de Linux
"En contra de los rumores sobre mí... duermo"
Alan Cox
En el año de 1996 se acercaba el lanzamiento del Kernel 2.0, y como es
natural, se requería algo especial para celebrar tal acontecimiento. En la
lista de correo sobre el Kernel de Linux, aproximadamente en Mayo, se
comienza a tratar la búsqueda de un logo o mascota para Linux. Las ideas
que se comentaban generalmente eran sobre parodias de los logos sobre otros
sistemas operativos, o sobre la fuerza que debía representar, sugiriéndose
el uso de algunos animales como los tiburones o las águilas.
En un momento dado Linus Torvalds comentó que se sentía ligeramente atraído
por los pingüinos. No hizo falta decir más. Desde aquel momento los
esfuerzos se centraron en dar con la imagen idónea de un pingüino. Algunos
creían que se seguía teniendo que dar una imagen de fuerza y propusieron un
pinguíno sosteniendo al mundo.
Se realizo un pequeño concurso del que resultó ganador el diseño realizado
por Larry Ewing, usando The Gimp: El pingüino Tux, seleccionado por Linus
Torvalds para representar al sistema operativo que había "creado". Su
nombre corresponde a la contracción de Torvalds - Unix, aunque podría
derivarse perfectamente de tuxedo (smoking, o traje de pingüino).
2.5 Linux en México
"Nunca se perderá, nunca se olvidará,
lo que vinieron a hacer,
lo que vinieron a asentar en las pinturas:
Su renombre, su historia, su recuerdo...
Siempre lo guardaremos
nosotros hijos de ellos...
Lo vamos a decir, lo vamos a comunicar,
a quienes todavía vivirán, habrán de nacer...".
Tezozómoc, Crónica Mexicáyotl
Hablar de la historia de Linux en México no es muy sencillo, ya que se usó
en varios lugares a la vez y por distintas personas. Lo que sí se puede
hacer es decir que la primera "comunidad" de usuarios nació luego de que
Miguel de Icaza decidiera invitar a una reunión informal, celebrada en el
Conjunto Amoxcalli de la Facultad de Ciencias de la UNAM, a todos aquellos
que habían obtenido algún volumen de archivos desde el primer sitio de FTP
dedicado a Linux en México (la famosa Roxanne en nuclecu.unam.mx,
administrada por Miguel de Icaza). En ese entonces había más de 100
personas (casi todas ellas hackers) en un auditorio platicando sobre sus
experiencias con Linux.
En la actualidad la presencia de México en Linux es grande, basta
comentarles que varias personas colaboran de manera directa con este
grandioso sistema operativo:
Federico Mena colabora con el proyecto The Gimp, que es una poderosa
aplicación para la edición digital de imágenes y, que es tan o más potente
que el Photoshop de Adobe. Alejandro Sierra colabora en el proyecto LyX,
que es un excelente procesador de textos (Aquí se escribió el original de
este artículo). Miguel de Icaza colabora con los proyectos de Midnight
Commander, GNOME y Linux/Sparc; este último es la versión de Linux para
máquinas tipo Sparc. La Mascota oficial de Linux en México es el pingüino
TUX con sombrero de charro.
3 Características técnicas de Linux
"Las Cosas Deben hacerse lo mas sencillo posible... pero no más".
Albert Einstein
Linux es un sistema operativo estable, confiable y robusto. Está hecho para
poder trabajar las 24 horas del día los 365 días del año, e incluso durante
varios años sin sufrir colapso. A Linux se le considera frecuentemente una
réplica de Unix, pero en realidad Linux es una implementación independiente
de POSIX, la cual incluye multitarea real, conectividad TCP/IP, manejo de
memoria virtual, bibliotecas compartidas, carga por demanda, manejo
apropiado de memoria, entre otras características, que lo hacen consistente
con las demás implementaciones de Unix. POSIX es una normativa
internacional que detalla normas para la utilización de sistemas operativos
y software en distintos equipos. Para operar, Linux no se requiere Windows
98/NT/2000/XP/ o MacOS X; de hecho, Linux puede sustituir en su computadora
dichos programas.
Una de las características más llamativas de Linux es, sin lugar a dudas,
su precio. Ya que puede copiarse y distribuirse libremente. Incluso las
distribuciones preparadas para facilitar la instalación y el acceso a las
funciones, como SuSE Linux, Red Hat Linux y Mandrake Linux por mencionar
algunas, pueden obtenerse por poco dinero. Aún así, indudablemente la mayor
ventaja de Linux no radica en que usted pueda obtener Linux de manera
gratuita sino en saber qué parte de la filosofía Linux evita los molestos
caprichos mercantilistas de los proveedores comerciales de software.
Sin embargo el punto central de Linux es su capacidad de multitarea
prioritaria, su potencial de multiusuarios y su flexibilidad de shells
programables; a continuación les describiré brevemente el significado de
estos términos.
3.1 Multitarea prioritaria
"La civilización se ha desarrollado hasta el punto en el cual a menudo la
sobrevivencia es dada por sentado. Consecuentemente, si uno no está
interesado en hacer algo, probablemente no lo hará. Uno tomará un trabajo
que no es tan bien pagado como otro simplemente porque es más interesante".
Linus Torvalds
La palabra multitarea describe la capacidad de ejecutar muchos programas al
mismo tiempo sin detener la ejecución de cada aplicación. Se le denomina
multitarea prioritaria cuando cada programa tiene garantizada la
oportunidad de ejecutarse, y se ejecuta hasta que el sistema operativo da
prioridad a otro programa para que se ejecute. Este tipo de multitarea es
exactamente lo que hace Linux. A diferencia de Linux, otros sistemas
operativos no admiten la multitarea prioritaria; admiten una forma de
multitarea denominada cooperativa. Con ésta, los programas se ejecutan
hasta que permiten voluntariamente que se ejecuten otros programas o no
tienen nada que hacer por el momento.
Para comprender mejor la capacidad multitarea de Linux, examínelo bajo otro
punto de vista. El microprocesador de la computadora sólo puede hacer una
cosa a la vez, pero es capaz de realizar esas tareas individuales en
períodos de tiempo tan cortos que se escapan a nuestra comprensión. Por
ejemplo, los microprocesadores habituales en la actualidad funcionan a
velocidades de 400 a 1100 MHZ (Megahertz) o más. Esto significa que son
capaces de transferir de 400 a 1100, o más, millones de bits por segundo;
al procesar un conjunto de instrucciones completo, las velocidades son
mucho mayores, generalmente 30 nanosegundos (billonésimas de segundo). La
mente humana no puede detectar la diferencia entre un lapso tan corto y
algo que se produzca simultáneamente. En resumen, parece que las tareas se
están realizando al mismo tiempo.
Es fácil ver las ventajas de disponer de posibilidades de multitarea
prioritaria. Además de reducir el tiempo muerto (tiempo en el que no puede
seguir trabajando en una aplicación porque un proceso aún no ha
finalizado), la flexibilidad de no tener que cerrar las ventanas de las
aplicaciones antes de abrir y trabajar en otras es infinitamente mucho más
cómoda.
Linux y otros sistemas operativos de multitarea prioritaria consiguen el
proceso de prioridad supervisando los procesos que esperan para ejecutarse,
así como los que se están ejecutando. El sistema programa entonces cada
proceso para que disponga de las mismas oportunidades de acceso al
microprocesador. El resultado es que las aplicaciones abiertas parecen
estar ejecutándose al mismo tiempo (en realidad, hay una demora de
billonésimas de segundo entre el momento en que el procesador ejecuta una
serie de instrucciones de una aplicación y el momento programado por Linux
para volver a dedicar tiempo a dicho proceso).
3.2 Multiusuario
"He tendido siempre a observar las conductas humanas de mi alrededor como
su fuera un antropólogo extraterrestre, incluso cuando participo en
ellas. Así, a lo largo de los años en los que he participado en la cultura
hacker, he estudiado analíticamente su trabajo y pensamiento como si fuera
el de una tribu aborigen de la selva amazónica o del Congo".
Eric S. Raymond
La idea de que varios usuarios pudieran acceder a las aplicaciones o a la
capacidad de proceso de un único PC era una utopía hace relativamente pocos
años. Linux ayudo a convertir ese sueño en realidad. La capacidad de Linux
para asignar el tiempo del microprocesador simultáneamente a varias
aplicaciones ha derivado en la posibilidad de ofrecer servicio a diversos
usuarios a la vez, ejecutando cada uno de ellos una o más aplicaciónes. La
característica más remarcable de Linux y sus funciones de multiusuario y
multitarea es que más de una persona puede trabajar con la misma versión de
la misma aplicación al mismo tiempo, desde el mismo terminal o desde
terminales distintos. No se debe confundir con el hecho de que muchos
usuarios puedan actualizar el mismo archivo simultáneamente, característica
que es potencialmente confusa, potencialmente peligrosa y decididamente
indeseable.
Aunque puede que esta característica no sea muy útil en casa, en un entorno
de empresa o universitario permite que muchas personas accedan a los mismos
recursos al mismo tiempo, sin duplicar la inversión en máquinas
costosas. Incluso desde su domicilio encontrará muy útil la posibilidad de
entrar en cuentas separadas en lo que se denominan terminales
virtuales. También desde su casa puede ofrecer su propio servicio on-line
utilizando Linux y varios módems.
3.3 Shells programables
"La gente con ayuda de convencionalismos, tiene todo resuelto yendo a lo
fácil y a los aspectos más fáciles de lo fácil; pero está claro que debemos
atenernos a lo difícil; todo lo viviente tiende a ello; todo en la
naturaleza se desarrolla y se defiende según su especie, y es lo
característico de sí mismo y trata de serlo a toda costa y contra toda
resistencia. Poco sabemos; pero que debemos mantenernos en lo difícil es
una certeza que no nos abandonará. Estar solo es bueno, porque la soledad
es difícil. Que algo sea difícil, debe sernos un motivo más para hacerlo.
También es bueno amar, porque amar es difícil. Tener amor un ser humano por
otro: Esto es quizá lo más difícil que nos ha sido encomendado; es lo
supremo, la última prueba y examen, el trabajo para el cual todos los otros
trabajos no son más que preparación".
Rainer Maria Rilke
Al principio de los tiempos (en los años 1960, vaya), cuando Dennis Ritchie
y Ken Thompson estaban diseñando Unix en AT&T, quisieron crear una forma en
la cual los humanos podrían comunicarse con el sistema. Ya en aquella
época las computadoras tenían intérpretes de comandos, que podían tomar
instrucciones del usuario y ejecutarlas. Pero Ritchie y Thompson querían
algo más. Así nació el Bourne Shell (o simplemente sh). Desde la creación
del Bourne Shell, muchos más han sido desarrollados, como el C Shell (csh)
o el Korn Shell (ksh), y cuando la Free Software Foundation decidió crear
un shell libre, los programadores se inspiraron del Bourne Shell y de
ciertas funcionalidades de otros. El resultado fue el Bourne Again Shell o
bash. El shell por defecto en Linux es bash, aunque también hay otros
disponibles.
Un shell programable es una característica que posee todo sistema Unix y,
en consecuencia, Linux; y hace que Unix, y por tanto Linux, sea lo que es:
el sistema operativo más flexible de los existentes. El shell es
básicamente el indicador del sistema y desde ahí se realiza la dirección y
la planeación de un sistema. La ventaja de Linux es que el código fuente es
libre y usted puede hacer con él todo lo que desee, incluso desecharlo si
no le es útil. Dentro del marco del shell hay un nuevo mundo accesible a
todos aquellos que sean lo suficientemente aventureros para dominar los
entresijos de la sintaxis de los comandos de Linux.
La programación del shell de Linux ofrece tantas funciones como personas
deseen utilizarlas. Muchos utilizan esta característica para personalizar
su sistema y hacerlo más amigable. Otros lo encuentran muy útil para
simplificar muchas de las aplicaciones que se ejecutan, permitiéndoles
realizar una serie de procesos en segundo plano para poder trabajar en
otros.
Algunos usuarios van incluso más lejos, diseñando programas que vinculan
procesos o aplicaciones, de modo que pueden reducir su carga de trabajo o
quizás una única sesión de entrada de datos y hacer que el sistema
actualice de una sola vez los numerosos paquetes de software. De hecho, la
programación no es tan difícil como parece, no obstante se cumple lo que
todos dicen: el único límite está en la imaginación de cada uno.
3.4 Independencia de dispositivos bajo Linux
"En cierta ocasión un individuo le pidió consejo a Mozart respecto a cómo
lograr componer música. El maestro le propuso un largo camino formado por
estudios de armonía, contrapunto, bajo cifrado, orquestación,
instrumentación, etc. Decepcionado el interlocutor, interpelo a Mozart
diciéndole que ello le tomaría diez o quince años de trabajo antes de
llegar a componer alguna obra. Mozart respondió que no se le ocurría otro
método más breve, a lo que aquél objetó que sí debería existir un método
para ello puesto que, como era bien sabido, Mozart había compuesto varias
obras para piano a los cuatro años. El gran maestro le respondió a este
bobo: <<Sí, eso es cierto, pero olvida usted que yo no andaba preguntando
cómo hacerlo>>".
Albert Einstein
A simple vista, quizá no parezca importante que los periféricos de su
sistema de computo puedan funcionar en forma autónoma o independiente. Sin
embargo, desde el punto de vista del entorno Linux multiusuario, se
convierte en un factor decisivo en un lugar de trabajo productivo. Para
comprender la importancia de la independencia de los dispositivos, en
primer lugar debe comprender cómo los demás sistemas contemplan a los
periféricos conectados y cómo lo hace Linux.
Hasta hace poco, los sistemas de computo generalmente podían admitir
periféricos como impresoras, terminales, unidades de disco y módems. La
eclosión de la tecnología ha añadido un número de dispositivos demasiado
elevado como para enumerarlos aquí. Las dificultades se presentan cuando el
usuario no puede utilizar un periférico porque su sistema operativo no
puede acceder a él. Esta incapacidad puede ser resultado de una
arquitectura de sistema incompatible, de limitaciones de direccionamiento
del sistema operativo, etc.
Linux evita los problemas que supone agregar nuevos dispositivos
contemplando cada periférico como un archivo aparte. A medida que se
necesitan nuevos dispositivos, el administrador del sistema añade al kernel
el enlace necesario. Este enlace, también denominado controlador de
dispositivo (driver), garantiza que el kernel y el dispositivo se fusionen
del mismo modo cada vez que se solicita el servicio del dispositivo.
A medida que se van desarrollando y facilitando periféricos mejores para el
usuario, el sistema operativo Linux permite un acceso inmediato y sin
limitaciones a sus servicios, una vez que se han enlazado los dispositivos
con el kernel. La clave de independencia de los dispositivos estriba en la
adaptabilidad del kernel. Otros sistemas operativos sólo permiten un
determinado número de un tipo determinado de dispositivo. Linux puede
admitir cualquier cantidad de dispositivos de cualquier tipo, porque cada
dispositivo se contempla de forma independiente a través de su enlace
individual con el kernel.
3.5 Linux y las distintas plataformas de hardware.
"Un hombre no es sino lo que sabe".
Francis Bacon
Una desventaja de Linux es que algunas veces puede resultar difícil de
instalar y no funciona (o no óptimamente) con todo el hardware disponible
actualmente. Es un pequeño precio a pagar a cambio de la potencia,
estabilidad y flexibilidad de este sistema, desventaja que, además, se
resuelve fácilmente si adquirimos hardware soportado por Linux o compramos
una máquina con Linux preinstalado.
Dado que Linux no es un producto de software comercial, no se ha visto
sometido a las rigurosas pruebas de garantía de calidad por las que pasa la
mayoría de los productos de software comercial; donde un equipo compacto de
desarrolladores pasa meses construyendo y probando un programa con
distintas condiciones y con distinto hardware. Los desarrolladores de Linux
se encuentran repartidos por todo el mundo. No hay ningún programa formal
de garantía de calidad. Los desarrolladores lanzan sus programas cuando les
parece. Además, el hardware admitido por Linux depende del hardware de que
disponga cada desarrollador en el momento de escribir esa parte del código.
Y si bien es cierto que Linux aún presenta algunos problemas para
configurar el hardware, en los últimos meses los programadores de las
distintas distribuciones, han trabajado arduamente para resolver esto. Un
gran avance son: Linuxconf y Drakconf, aplicaciones que trabajan dentro de
los escritorios de GNOME y KDE respectivamente. Estas aplicaciones
organizan en formato gráfico la mayoría de los tópicos relacionados con la
configuración, haciendo que ésta sea más fácil. Sin embargo, aún no se han
resuelto algunos problemas para configurar algunos dispositivos como
tarjetas de audio. Algunos requieren modificar manualmente un par de
archivos, o que se compile el kernel de una forma en especial.
Pese a estos problemas, Linux es la mejor alternativa para aquellos
usuarios que han tenido que padecer las terribles pesadillas que
representan las constantes caídas y colapsos de Windows. Linux a diferencia
de este último, no acumula una década de errores, no se colapsa casi nunca
y es tan seguro que un gran porcentaje de los servidores web en Internet lo
utilizan.
Y debido a la funcionalidad y disponibilidad de Linux, su popularidad se ha
ampliado en todo el mundo, y muchos programadores han tomado el código de
Linux para adaptarlo a sus necesidades particulares. Actualmente Linux
admite casi todos los periféricos y hardware disponibles y hay docenas de
proyectos para implementar Linux en diferentes plataformas de Hardware, por
ejemplo desarrollos para computadoras HP9000, NeXT, etc., así como
controladores para diversos recursos, como tarjetas de red, vídeo, sonido,
DVD, Puertos USB, SoftModems, entre otros.
Linux también es compacto y ofrece un buen desempeño con hardware modesto.
Al ejecutar el servidor de correo de una oficina pequeña, Linux funciona
bien en un procesador 386 con 16 MB de memoria RAM y algunos cientos de
megabytes de espacio en disco.
3.6 Linux PC.
"Vive como si fueras a morir mañana; aprende como si fueras a vivir
siempre".
Mahatma Gandhi
Ejecutar Linux en una PC basada en Intel (AMD, Cyrix) no es nada
complicado, pues para eso fue hecho. Para que pueda funcionar se necesita
una máquina 386, 496, Pentium, Celeron, Pentium Pro, Pentium MMX, Pentium
II, Pentium III, Merced, k5, K6, k6-2. K6-3, 80686, M2, Athlon, Crusoe,
etcétera con un mínimo de 2MB en RAM, se recomiendan 4MB si se quiere
evitar cualquier tipo de complicación, y 8MB si se quiere correr X Windows
aunque si se quiere realizar trabajo pesado con multimedia o cálculos
numéricos se recomiendan 64 MB y, también, por lo menos una unidad de
diskette. Linux ocupa 10MB en disco duro para la instalación mínima, pero
si se quiere instalar la versión gráfica X ocupa 80MB. En general se puede
iniciar con unas 500 MB, pero se recomienda alrededor de 1 GB y 4GB para
una instalación completa (con miles de aplicaciones) ([footnote] Nota:
Estos requerimientos varían según las diferentes distribuciones.) .
Linux puede instalarse sin problemas en equipos que ya tengan instalados
otros sistemas operativos, como DOS, Windows 3.11/95/98/2000/NT, OS/2 y
MacOS. Dado que Linux también puede instalarse en una partición extendida o
en un sistema de archivos de DOS o Windows, no hay problema. Los gestores
de arranque ("boot managers") de Linux, concretamemte "lilo" (LInux LOader)
y Grub (GRand Unified Bootloader), permiten elegir el sistema operativo con
el que desee iniciar el equipo. Y si trabaja con DOS o Microsoft Windows,
para iniciar Linux ni siquiera necesitará reiniciar el equipo - el programa
"loadlin" permite arrancar Linux directamente desde la línea de comandos
DOS. Además en la actualidad existen emuladores para el DOS, OS/2, ATARI,
Amiga A500, OS/2, Windows 3.11/95/98 y MacOS, que le permiten ejecutar
algunas de sus aplicaciones escritas para estos sistemas operativos o
consolas en Linux. Y si usa las máquinas virtuales MVware o FreeWare podrá
ejecutar simultáneamente en su sistema Linux los sistemas operativos
MS-DOS, Windows 3.11, Windows 95/98, Windows NT/2000 y FreeBSD, junto con
sus respectivas aplicaciones.
El proyecto Wine (Wine Is Not Emulator) tiene como objetivo portar las API
(Application Programming Interface) de Windows a Linux y de está manera
podamos ejecutar en Linux programas compilados en Windows. En la
actualidad, el proyecto Wine está en desarrollo y se estima que casi el 90%
de las funciones API especificadas en ECMA-234 y las especificaciones
OPEN32 ya son funcionales.
3.7 Otras características de Linux
"La gente no desea que se le enseñe algo; por eso no entiende la cosa más
sencilla. Una vez que la gente esté dispuesta a dejarse enseñar, vera usted
que aquélla es capaz de comprender las ideas más complicadas. Hasta que no
llegue ese momento, lo único que podemos hacer es continuar trabajando y
discutir lo menos posible... todo espíritu joven y fresco nos pertenece".
Sigmund Freud
* Multiplataforma: Las plataformas en las que se puede utilizar Linux son
PCs y Clones, procesadores de la familia Motorola 680x0, Amiga, Atari,
Digital Alpha, ARM, Sun Sparc, Sun Ultra, Mips, Apple Macintosh, Silicon
Graphics, Redes Novell, m68k, AS/400 e incluso PowerPC, esta última
implementación basada en el microkernel Mach 3.0 y avalada directamente
por Apple. El núcleo destinado a los procesadores 086 y 286 se encuentra
en desarrollo en versión alpha, se denomina ELKS - Embeddable Linux
Kernel Subset.
* Soporta optimizaciones para los procesadores 386, 486/Cx486, 586 / K5 /
5x86 / 6x86 / 6x86MX, Pentium, PentiumPro/Pentium II, Pentium III,
K6/K6-II/K6-III, Athlon y Crusoe.
* Multiprocesador: Cuenta con soporte para sistemas con mas de un
procesador, disponible para Intel y Sparc.
* Multiprocesamiento simétrico (SMP).
* El límite al número de procesos en ejecución lo presenta la cantidad de
memoria RAM de nuestro equipo y se puede modificar en tiempo de
ejecución.
* Soporta arquitecturas ISA, ISA PnP, EISA, VLB, PCMCIA, PCI y USB en el
kernel
* Soporta todas las tarjetas IDE/EIDE y SCSI en el mercado. Se pueden tener
hasta 20 dispositivos IDE conectados a nuestro equipo
* Soporta la mayoría de las tarjetas de red conocidas.
* Soporta la mayoría de las tarjetas de sonido y CD-ROMs en el mercado.
* Protección de la memoria entre procesos, de manera que uno de ellos no
pueda colgar el sistema. Esto significa que si se presenta un "error" o
algo se "cae", no es necesario reinicializar todo el sistema, bastará con
"matar" y reiniciar la aplicación, programa o servicio. Usted no perderá
tiempo y productividad. Linux no le sorprenderá con esas molestas (y
clásicas) "pantallas azules de la muerte" que le indican que algo salió
mal y que debe reiniciar su equipo.
* Memoria virtual usando paginación (sin intercambio de procesos completos)
a disco, a una partición o un archivo en el sistema de archivos, o ambos,
con la posibilidad de añadir más áreas de intercambio sobre la marcha. Un
total de 32 zonas de intercambio de 128MB de tamaño máximo pueden ser
usadas en un momento dado con un límite teórico de 4Gb para
intercambio. Este limite se puede aumentar fácilmente con el cambio de
unas cuantas líneas en el código fuente.
* La memoria se gestiona como un recurso unificado para los programas de
usuario y para el caché de disco, de tal forma que toda la memoria libre
puede ser usada para caché y ésta puede a su vez ser reducida cuando se
ejecuten grandes programas.
* Política de copia en escritura para la compartición de páginas entre
ejecutables, esto significa que varios procesos pueden usar la misma zona
de memoria para ejecutarse. Cuando alguno intenta escribir en esa
memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política
de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce
el uso de memoria.
* Funciona totalmente en modo protegido 386, y ejecuta exclusivamente
código de 32 bits, incluso existen versiones de 64 bits para los
procesadores de las PCs del "futuro". Utiliza todo el poder de los
procesadores 386 y superiores.
* Se puede actualizar el sistema operativo (el mismo kernel) sin necesidad
de reinicializar. Esto significa que se ahorran muchas horas/hombre.
* Carga de ejecutables por demanda: Linux sólo lee del disco aquellas
partes de un programa que están siendo usadas actualmente.
* Bibliotecas compartidas de carga dinámica (DLL's) y bibliotecas
estáticas.
* Se realizan volcados de estado (core dumps) para posibilitar los análisis
post-mortem, permitiendo el uso de depuradores sobre los programas no
sólo en ejecución sino también tras abortar éstos por cualquier motivo.
* Como ambiente gráfico utiliza el X Window System (el mismo utilizado en
las estaciones de trabajo Unix como Sun, Silicon Graphics, HP, IBM, DEC,
etc.). Las distribuciones vienen con el XFree86, que es una versión libre
de X. XFree86 soporta la mayoría de las tarjetas de video en el mercado,
incluyendo tarjetas aceleradoras.
* Control de tareas POSIX.
* Pseudo-terminales (pty's).
* Terminales virtuales múltiples: varias sesiones de login a través de la
terminal entre las que se puede cambiar con las combinaciones adecuadas
de teclas (totalmente independiente del hardware de vídeo). Se crean
dinámicamente y puedes tener hasta 64.
* Compatible con POSIX (IEEE), System V y BSD a nivel fuente.
* Emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a
nivel binario.
* Existen emuladores para programas de DOS (DOSEMU; hasta puede correr los
juegos más grandes), Windows (Wine, Wapi), Macintosh (Executor), Dgen
(Sega Genesi), Mg (Sega Master System), Stella (Atari System 2600), Fmsx
(MSX), Xtrs (TRS80), etc. Linux también puede correr directamente los
programas de SCO UNIX, UnixWare de Novell, XENIX, Coherent, etc.
* Todo el código fuente está disponible, incluyendo el núcleo completo
(kernel) y todos los controladores de dispositivo (drivers), las
herramientas de desarrollo y todos los programas de usuario; además todo
ello se puede distribuir libremente. Cada distribución de Linux incluye
el código fuente, el cual usted es libre de modificar según propias
necesidades. También hay muchos programas que están siendo ofrecidos para
Linux actualmente sin código fuente, pero todo lo que ha sido libre sigue
siendo libre.
* Emulación de 387 en el núcleo, de tal forma que los programas no tengan
que hacer su propia emulación matemática. Cualquier máquina que ejecute
Linux parecerá dotada de coprocesador matemático. Por supuesto, si el
ordenador ya tiene una FPU (unidad de punto flotante), esta será usada en
lugar de la emulación, pudiendo incluso compilar tu propio kernel sin la
emulación matemática y conseguir un pequeño ahorro de memoria.
* Soporte para varios sistemas de archivo comunes, incluyendo minix-1,
Xenix y todos los sistemas de archivo típicos de Unix System V, y tiene
un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y
nombres de archivos de hasta 255 caracteres de longitud.
* Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT)
mediante un sistema de archivos especial: no es necesario ningún comando
especial para usar la partición MS-DOS, esta parece un sistema de
archivos normal de Unix (excepto por algunas restricciones en los nombres
de archivo, permisos, y esas cosas). Las particiones comprimidas de
MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en
el futuro. El soporte para VFAT, FAT32 (Windows NT, Windows 95/98/Me) se
encuentra soportado desde la versión 2.0 del núcleo y el NTFS de Windows
NT desde la versión 2.2.
* Cuenta con un sistema de archivos especial llamado UMSDOS que permite que
Linux sea instalado en un sistema de archivos DOS.
* Linux se puede instalar en una partición de Microsoft Windows (VFAT,
FAT32, FAT16).
* Soporte en sólo lectura de HPFS-2 del OS/2.
* Soporte del sistema de archivos HFS (Macintosh).
* Soporte del sistema de archivos UDF (DVD).
* Sistema de archivos de CD-ROM que lee todos los formatos estándar de
CD-ROM
* Appletalk.
* Lan Manager / Windows Native (SMB), software cliente y servidor.
* Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6,
AX.25, X.25, IPX, DDP, Netrom, etc.
* Los métodos de seguridad de Linux son mejores que los de los otros
sistemas operativos, tanto de forma local como remota, por lo que es
menos probable que sea víctima de un "Cracker" o que se filtre
información fuera de su computadora sin su autorización. En Linux el
acceso a los directorios y los archivos, así como la capacidad de borrar
o modificar estos, depende de los permisos de usuario que estos tengan.
* No hay virus que realmente representen una amenaza para Linux. Esto
significa que usted no necesitará comprar una licencia de algún
antivirus. Además, los virus, en su mayoría creados para Windows y
programas que trabajan en este, no pueden ser ejecutados en Linux y, por
lo tanto, sus archivos e información se encontrarán a salvo.
* Los "Crackers" están más interesados en perjudicar a todo lo que tenga
que ver con instituciones gubernamentales, Microsoft y/o Windows. Linux
le permitirá, utilizando las herramientas apropiada, controlar el acceso
a los puertos y bloquear intrusiones.
* Linux y los programas para éste, a diferencia de otros sistemas
operativos, son hechos desinteresadamente por personas que aman lo que
hacen. Usted puede estar seguro de que los programadores han puesto
realmente su máximo empeño y alma en su trabajo.
Y claro, Linux como cualquier sistema operativo o producto de software
tiene desventajas, entre estas se encuentran:
* Para configurar adecuadamente un sistema Linux se necesita tener más
experiencia y habilidad que para otros sistemas operativos, sobre todo lo
relacionado con multimedia y redes. Al igual que se necesita más
experiencia y habilidad para ser un chef Cordon Blue de un buen
restaurante que para hacer una cena casera en un aparato de microondas.
* Para beneficiarse de todas las ventajas técnicas de Linux, es necesario
tener unos conocimientos técnicos mucho mayores que los que se necesitan
en cualquier sistema operativo orientado al consumidor.
* No hay tanto software para Linux como lo hay para otros sistema
operativos. Pero conforme aumenta la popularidad de Linux esta situación
esta cambiando. Actualmente usted encontrará desde Suites completas para
satisfacer sus necesidades, como lo es StarOffice, hasta entornos
integrados de desarrollo como Kylix.
4 Redes y Linux
"Si uno no puede comunicar lo que ha estado haciedo, su trabajo carecerá de
valor".
Erwin Schrödinger
Linux puede desplegar toda su potencia en entornos de red. La superioridad
de Linux sobre otros sistemas operativos es igualmente evidente en sus
utilidades de comunicaciones y conexión en red. El Sistema Operativo Linux
se enorgullece de contar con una implementación de servicios de red basada
en el kernel, escrita casi por completo partiendo de cero. Al igual que
ocurre en otros sistemas tipo Unix, también Linux incorpora de entrada una
extensa funcionalidad de red. Ningún otro sistema operativo incluye unas
posibilidades de conexión en red tan ajustadamente acopladas y ningún otro
sistema operativo posee la flexibilidad incorporada de estas mismas
características. Linux es posiblemente el sistema operativo más optimizado
para redes existente en la actualidad, llegando incluso a admitir
protocolos de red de otros sistemas operativos.
No importa si desea utilizar el equipo Linux como servidor en una red Unix,
en un entorno NetWare o en una red Windows - en Linux encontrará todas las
herramientas necesarias. El módulo Samba permite a su equipo Linux actuar
como servidor de archivos e impresoras en redes Windows (Windows 3.11,
Windows 95, Windows 98, Windows NT o Windows 2000). Y con el paquete
marsnwe, podrá emular toda la funcionalidad de un servidor NetWare desde
Linux. Con la ayuda de netatalk podrá incluso utilizar su equipo Linux como
servidor de archivos e impresión en una red Apple. Linux también incorpora
DNS (servicio de nombres de dominios, "Domain Name Service"), que permite
administrar archivos distribuidos mediante NIS (servicio de información de
red, "Network Information Service").
4.1 Enrutamiento
"Yo no estudio para escribir, ni menos para enseñar (que fuera en mí
desmedida soberbia), sino sólo por ver si con estudiar ignoro menos".
Sor Juana Ines de la Cruz
Cuando se trata de interconectar varias redes, Linux convence por sus
prestaciones como enrutador ("router"). Puede trabajar con tarjetas
Ethernet (de 100 y 10 Mbits), Arcnet y Tokenring. Aparte del enrutamiento
mismo, también puede asumir la gestión contable de la red con fines
administrativos.
4.2 RDSI
"Piense en el aire. Imagine escuchar la radio. Considere las cervezas que
trae un amigo. Linux combina lo mejor de esas sensaciones".
David Boon - Seattle Software
El excelente grado de compatibilidad de Linux con RDSI derriba las barreras
geográficas impuestas a las redes. No importa si se trata de conectar
estaciones de trabajo externas a una red o comunicar la Intranet
corporativa de una empresa a Internet - con Linux podrá transformar estos
planes en realidades. Para ello, Linux aprovecha las prestaciones del
hardware de un modo tan eficiente, que basta una sola máquina con un
procesador 386 y 8 MB de RAM para implementar un servicio eficaz de
enrutamiento RDSI. Con la herramienta vbox incluso podrá transformar su
equipo en un contestador automático RDSI.
4.3 Servidor de acceso telefónico ("dial-in server")
"Varias razones han influido en la cultura Perl. La noción de que puedes
cambiar el mundo. La idea de que las otras personas son importantes. El
amor por la comunicación y la comprensión de la retórica, por no mencionar
la lingüística. El aprecio de la importancia del texto. El deseo de
relacionarlo todo con cualquier cosa. La pasión por construir antes que
destruir. Y, por supuesto, la mortal certidumbre de que la salud verdadera
no está en lo que acumulas, sino en lo que cedes a los demás".
Larry Wall
Linux también se puede configurar como nodo de acceso telefónico. Los
colaboradores externos pueden acceder mediante módem o RDSI a la red local
para trabajar remotamente con las bases de datos o sistemas de gestión de
mercancías, o bien con Internet.
4.4 Fax-Server
"Me construyeron en un laboratorio en Manhattan alrededor de 1953, y me
mudé al Laboratorio de Inteligencia Artificial del MIT en 1971. Entre mis
hobbies están el afecto, las danzas regiones de todo el mundo, volar,
cocinar, la física, la ciencia ficción y programar; por arte de magia me
pagan por hacer esto último".
Richard Stallman
Con Linux incluso es posible implementar una solución de fax en redes de
composición heterogénea. Para ello se utiliza el servidor de fax
HylaFax. Este servidor puede configurarse de forma centralizada mediante un
programa de instalación modificable en modo texto, y se suministra con
ajustes predeterminados para la mayoría de módems. Para los equipos cliente
existen programas para las más diversas plataformas.
SuSEFax es una aplicación principal ("frontend") escrita íntegramente en
Java y, por lo tanto, puede ejecutarse en cualquier plataforma compatible
con Java. Susefax ofrece una completa gama de funciones, entre ellas un
listín telefónico y una lista de distribución de fax. Los fax entrantes
pueden visualizarse o almacenarse desde una interfaz externa con sólo hacer
doble clic.
4.5 Linux e Internet
"Seguir la evolución de Internet es en cierto modo como intentar beber de
la manguera contra incendios... ".
Jim Clark
Linux es el hijo prodigio de Internet, ya que servicios como el World Wide
Web, Telnet, ftp, Usenet News, correo electrónico, etcétera son provistos
por omisión. Hay que destacar que Linux puede ser configurado en una
extensa manera para ofrecer accesos a Internet.
La red Internet surgió de un programa de investigación realizado por la
Defense Advanced Research Proyects Agency (CARPA) de los Estados Unidos,
que se centró en formas de enlazar varias redes de computo. El resultado
de este programa fue ARPANET, lanzada en 1969. En 1971 había
aproximadamente 40 computadoras, o sistemas conectados a ARPANET y los
investigadores estaban desarrollando la capacidad de enviar e-mail entre
redes. ARPANET continuó creciendo durante los años 70 y otras redes
informáticas comenzaron a conectarse también a este sistema.
La investigación sobre las comunicaciones entre redes condujo al desarrollo
de los protocolos de red TCP/IP, que sustituyeron al anterior conjunto de
protocolos llamado NCP, y que se convirtió en el estándar de ARPANET.
Según más y más redes se fueron conectando a ARPANET y entre sí, este
inmenso complejo de redes pasó a ser conocido como Internet. La red
original ARPANET se clausuró en 1990, dejando a Internet como su prospero
sucesor.
Una de las grandes ventajas que ofrece Linux es su gran capacidad para
trabajar con Internet, de hecho desde sus inicios los desarrolladores de
software de todo el mundo utilizaron la Red como el vehículo que los
acercaría de manera casi íntima con el iniciador Linus Torvalds; es por eso
que no es sorprendente que el primer software que se desarrollara fuera el
de comunicaciones en Internet.
No importa si se encuentra en el entorno de una Intranet corporativa o de
Internet - Linux es la plataforma adecuada para implementar su servidor
WWW. Varias distribuciones se suministran con el servidor de Web
Apache. Mas de la la mitad de los servidores en Internet utilizan este
versátil y potente servidor de Web. Equipado con una amplia gama de
funciones y enormes posibilidades de configuración, le permitirá crear el
servidor Web que usted desee.
Linux como digno miembro de la familia Unix soporta el protocolo TCP/IP; a
través de Ethernet, Fast Ethernet, módem, X.25, ISDN, Token-Ring e incluso
a través de un cable de impresora con sus respectivas modificaciones.
Asimismo puede actuar ya sea como cliente o como servidor de algunos
servicios ofrecidos por Internet como FTP, HTTP, NTTP, Telnet, Gopher, WWW,
Wais, Pop, Finger, Irc, DNS, etcétera.
El servidor Proxy squid, permite mantener localmente los documentos a los
que se accede con mayor frecuencia. Esto reduce tanto el tráfico IP como
los tiempos de acceso a los documentos de uso habitual.
Linux también ofrece una gran potencia como servidor de correo ("Mail") y
noticias ("News"). También puede actuar como servidor en redes de
naturaleza muy heterogénea. Los equipos cliente de Windows incluso pueden
seguir utilizando el paquete Microsoft Exchange.
Las direcciones IP de Internet cada vez se van haciendo más escasas. Linux
incorpora el enmascaramiento de IP ("IP-Masquerading"), que permite
conectar una red completa a Internet aunque el proveedor de servicios sólo
disponga de un número limitado de direcciones IP. En este caso, un solo
equipo (enrutador) se ocupa de la correcta distribución del tráfico por la
red.
No es coincidencia que Linux haya sido adoptado por muchos proveedores de
Internet (ISP), por algunas de las universidades más prestigiadas del
mundo, por el Instituto Federal Electoral en México y, por si fuera poco,
por un equipo de científicos que trabaja en la Antártica en condiciones
extremas, donde se necesita tener realmente poder para sobrevivir.
4.6 Conectividad casera
"Una fiera ciega, incoherente, que tiene hambre y no come, que tiene
vergüenza de comer, que no tiene más que hacer una seña a la felicidad que
pasa por la calle y se detendría de buena gana, y no hace esa seña; que
abre el grifo y deja que el tiempo fluya infructuosamente y se pierda, como
si fuera agua; una fiera que no sabe más que es una fiera, he aquí la
juventud. La juventud es amarga, muy amarga, desdeñosa, no comprende; y
cuando se empieza a comprender la juventud se ha ido".
Niko Kazantzakis
¿Quién no tiene en casa una PC (o algo peor) que se ha quedado antiguo pero
que aún funciona? Cualquier computadora con un puerto serie y algún
software de emulación de terminal puede conectarse a Linux, permitiendo
varios usuarios trabajando simultáneamente. Para quien no lo haya hecho
alguna vez, es la forma más simple de comprobar por sí mismo que Linux es
un sistema 100% multiusuario y multitarea. Todos los recursos de memoria,
disco, etc. estarán a la vez disponibles para compartirlos entre tantos
usuarios como puertos serie tengamos.
Enlazando computadoras por puertas serie, paralelo, módems, etc., es
posible no solamente que un sistema Linux sea el ordenador principal y
otros usuarios accedan a través de simples terminales, sino que es posible
aprovechar la capacidad de todos los equipos sumando recursos. Desde un
equipo se puede acceder a impresoras, discos, etc. de cualquier otro
equipo. El protocolo PPP permite crear una red TCP/IP entre todos ellos,
usando como enlace tanto módems como simples cables. A medida que cambiemos
la red física por algo mas "decente" como una LAN Ethernet o análogo,
mejorarán las prestaciones como es lógico, pero la idea es la misma y el
software de usuario son idénticos (lo que varía, claro esta, es la
configuración del propio sistema operativo).
Combinando los dos párrafos anteriores, podemos unir la capacidad de
servidor de puertos serie (a los que conectaremos módems) y el protocolo
PPP (para dar a esas líneas serie la funcionalidad del TCP/IP). Así podemos
dar servicio de acceso a Internet a los usuarios que se nos conecten por
teléfono.
La conexión directa a Internet ciertamente no es lo normal en casa, pero es
relativamente frecuente encontrarlo en universidades y de un tiempo para
acá también es habitual en empresas. Si tenemos una red local enganchada a
su vez a un proveedor (académico o comercial), entonces una simple tarjeta
de red y una simple configuración del sistema serán suficientes para
conectar a Linux, que actuará como un ordenador Unix cualquiera, con todas
sus ventajas. De hecho en la red encontraremos más de un servidor que
esconde un Linux en sus "entrañas", o que precisamente quien nos esté
haciendo de proveedor de acceso sea un sistema Linux
4.7 Seguridad en Linux
"La ignorancia puede ser curada, pero la estupidez puede ser eterna".
Matt Artson
Linux protege la red frente a visitantes no autorizados estableciendo una
barrera de seguridad denominada "firewall". El sistema de filtración de
paquetes integrado en el núcleo ("kernel") del sistema permite adaptar el
sistema de manera muy flexible a las circunstancias de cada red
local. Pueden limitarse tanto el tráfico IP entrante como saliente.
Además, bajo Linux no existe ninguna amenaza seria de virus. Mientras no se
lance un virus como superusuario, éste no podrá provocar grandes daños que
pongan en peligro la integridad del sistema. Los exploradores de virus para
Linux sirven solamente para rastrear e -mails por virus de Windows (en el
caso que la máquina con Linux sea un enrutador).
5 El sistema X Windows.
"Nunca te conviertas en un experto, porque corres el riesgo de ya no estar
trabajando en algo interesante nunca más".
Pauling
Cualquier sistema operativo que hoy en día quiera ser competitivo para los
puestos de trabajo de usuario, debe tener una interfaz gráfica fácil de
utilizar. Los sistemas más conocidos son Microsoft Windows, Macintosh y
OS/2 Warp. Aunque esos entornos han tenido gran aceptación, no permiten
ejecutar aplicaciones gráficas a través de una red heterogénea.
Linux permite ejecutar aplicaciones gráficas a través de una red
heterogénea debido a la implementación XFree86 del estándar X11 de X
Windows, creado en el MIT. Este sistema es mucho más que una interfaz
gráfica para ejecutar aplicaciones. Es un sistema cliente/servidor muy
potente que permite que las aplicaciones se ejecuten y se compartan a
través de la red. Los programas de aplicación correspondientes son los
denominados X-Clients, que se comunican directamente con el
servidor. Aunque XFree86 está diseñado para ejecutarse en un entorno de
red, también puede ejecutarse en maquinas individuales. Para ejecutar
XFree86 o X Windows no se necesita una red.
5.1 ¿Qué es X Windows?
"La imaginación es más importante que el conocimiento".
Albert Einstein
El sistema X Windows surgió de un esfuerzo cooperativo entre dos secciones
del MIT: la responsable de un programa de red denominado proyecto Athena y
una sección llamada laboratorio de Ciencias Computacionales. Ambas
utilizaban grandes cantidades de terminales Unix y pronto se dieron cuenta
de que estaban, cada una, volviendo a inventar la rueda constantemente,
cuando se trataba de programar interfaces gráficas de usuario (GUI) para
estaciones de trabajo Unix. Para disminuir la cantidad de código que ambos
grupos estaba escribiendo, se pusieron de acuerdo para crear un sistema de
ventanas sólido y ampliable: X Windows.
En 1987, varios distribuidores, confiando crear un sistema único de
ventanas para las estaciones de trabajo Unix, formaron una organización que
se llamo el X Consortium, para promocionar y estandarizar X Windows.
Gracias a este esfuerzo la informática abierta es hoy una realidad. El X
Consortium está formado por entidades como por ejemplo, IBM, DEC y el
MIT. Este grupo de grandes organizaciones supervisa la creación y
lanzamiento de nuevas versiones de X11.
XFree86 es una implementación libre de servidores X para sistemas Unix en
plataformas Intel. Fue desarrollado por un grupo de programadores que en
1992 formaron el equipo XFree86. A partir de ahí, en 1994 fundaron la
empresa The XFree86 Project, Inc., Cuyo objetivo es poner XFree86 a
disposición del gran público y participar tanto en la investigación como en
los futuros desarrollos del sistema X Windows.
Los mismos programadores que llevaron el X Windows a la plataforma i386
decidieron comenzar el proyecto para hacerse miembros del X Consortium. Al
hacerse miembros del X Consortium el proyecto XFree86 puede obtener acceso
al trabajo en desarrollo y así pueden llevar las nuevas funciones a XFree86
al mismo tiempo que se implementan en X Windows, en lugar de tener que
esperar a que salga la versión oficial.
X Windows es una serie de piezas que trabajan conjuntamente para presentar
al usuario una GUI. El sistema base de ventana es un programa que
proporciona servicio al sistema X Windows. La pieza siguiente es un
protocolo para comunicación en la red: el protocolo X Network. Por encima
del programa de implementación del protocolo X Network está una interfaz de
bajo nivel, que se encuentra entre el sistema base de red y los programas
de más alto nivel. Esta interfaz de bajo nivel se llama Xlib. Los programas
de aplicación normalmente utilizan funciones de Xlib en vez de otras
funciones de bajo nivel. Un administrador de pantallas es el que une estas
piezas en un conjunto. El administrador de ventanas es una aplicación X
Windows cuyo propósito es controlar cómo se presentan las ventanas a los
usuarios.
Otra particularidad del sistema X Windows es la gestión de ventanas. El
sistema base de ventanas no proporciona los objetos de interfaz de usuario,
como barras de desplazamiento, botones de comandos o menús. En esto se
diferencia de la mayoría de los demás sistemas de ventanas. X Windows
implementa un administrador de ventanas para realizar la tarea de crear y
controlar la interfaz que compone la porción visual del sistema. No se debe
confundir éste con el OS/2 Presentation Manager o el Windows Explorer de
Microsoft Windows. Aunque el administrador de ventanas de X Windows
controla el comportamiento y posición de las ventanas, no existe un icono
definido por el sistema o panel de control para mantener los valores del
sistema Linux.
Lo que en un principio puede sonar confuso, se revela como una gran ventaja
cuando se analiza más detenidamente. Linux ofrece más de diez
administradores de ventanas diferentes, que permiten al usuario
personalizar la apariencia y el comportamiento de su propia interfaz de
usuario. Al tratarse del entorno Linux, se sobreentiende que cada uno de
estos administradores de ventanas puede personalizarse totalmente.
La disponibilidad de múltiples gestores de ventanas en grandes redes de
naturaleza heterogénea puede utilizarse para desarrollar superficies
unificadas con independencia de la arquitectura de los equipos. Estos le
permiten adoptar la misma apariencia de los "otros" sistemas operativos e
incluso adoptar una apariencia completamente distinta y original. Gnome y
KDE son los dos ambientes gráficos de ventanas de mejor estética que podrá
encontrar. Los administradores de ventanas fvwm95 y qvwm incluso emulan el
entorno de Windows 95/98.
Las aplicaciones X Windows incluyen no sólo administradores de ventanas,
sino también juegos, utilidades de gráficos, herramientas de programación y
muchos otros extras. Casi cualquier aplicación que se necesite ha sido
escrita o portada a X Windows. XFree86 también incluye bibliotecas de
programas y archivos para programadores que quieran desarrollar sus propias
aplicaciones.
5.2 ¿Qué es un sistema Cliente/Servidor?
"Para ver cómo pasa el calor de un cuerpo frío a uno caliente no es
necesario tener la visión aguda, la inteligencia y la destreza del demonio
de Maxwell; basta tener un poco de paciencia".
Henri Poincaré
Una de las palabras de moda más usadas hoy en día en el sector informático
es cliente/servidor. Éste, como la mayor parte de los conceptos básicos del
sector, se ha utilizado en demasía hasta el punto de crear confusión a los
usuarios. En el sentido tradicional un servidor es una máquina que
simplemente proporciona recursos, espacio en disco, impresoras, módems
etc., a otras computadoras de la red. Un cliente es un consumidor de esos
servicios; en otras palabras, un cliente utiliza espacio en disco,
impresora o módems proporcionados por el servidor.
En el mundo X Windows esta relación es opuesta a la que existe en el actual
mundo del PC. La noción de servidor más comúnmente aceptada, es que
proporciona servicios a un cliente que los utiliza. En la forma más básica
el cliente muestra la aplicación que está ejecutándose en el servidor.
X Windows emplea un punto de vista distinto de la relación
cliente/servidor. En el mundo de X Windows el servidor muestra la
aplicación que se está ejecutando en el cliente. Esto puede parecer algo
confuso al principio, pero tendrá sentido al familiarizarse más con el
sistema X Windows.
Por lo tanto ¿qué es un cliente? Un cliente es un recurso que proporciona
los programas y recursos necesarios para ejecutar una aplicación, lo que en
el sentido tradicional se llamaría un servidor. Los recursos residen en el
sistema cliente (recuerde que los sistemas cliente servidor pueden estar en
la misma maquina), mientras que la aplicación se muestra e interactúa en el
sistema servidor.
La posibilidad de una aplicación X Windows, que es el cliente, de
ejecutarse bajo un servidor ubicado en la misma computadora o en otra
distinta se llama transparencia de red. Así, las aplicaciones X se ejecutan
indistintamente en una maquina local o remota. Esta posibilidad puede
utilizarse para ejecutar en otro servidor tareas de larga duración,
permitiendo que el cliente local esté libre para realizar otras distintas.
Esto no sólo reduce considerablemente los costes de inversión en nuevo
hardware, sino que también reduce notablemente el esfuerzo de
administración de la red.
5.3 La interfaz de usuario de X Windows.
"Por respeto a personas... de tipos diferentes, la verdad científica debe
presentarse en distintas formas, y debe considerarse como igualmente
científica, tanto si aparece en la forma intensa y de vivos colores de una
ilustración física, o en la tenue palidez de la expresión simbólica".
James Clerk Maxwell
El sistema básico de ventanas proporciona a X Windows una gran cantidad de
operaciones gráficas de mapas de bits. X Windows y las aplicaciones de X
Windows utilizan estas operaciones para representar a los usuarios
información en forma gráfica. XFree86 ofrece solapamiento de ventanas,
dibujado inmediato de gráficos, imágenes y gráficos de alta resolución de
mapas de bits y texto de alta calidad.
X Windows también admite las posibilidades de multiproceso de Unix; de este
modo, XFree86 admite las posibilidades de multiproceso de Linux. Cada
ventana que se muestra bajo X Windows puede ser una tarea distinta que se
ejecuta bajo Linux.
El X Consortium dejó a un lado las reglas estándar para las interfaces de
usuario. Ahora nos parece una falta de previsión, sin embargo, en aquel
momento se había investigado muy poco acerca de la tecnología de la
interfaz de usuario, por lo que no había una interfaz de usuario que se
considerase la mejor. Incluso hoy, considerar unilateralmente una interfaz
como la mejor puede ofender a muchas personas. La interfaz de usuario que
desea cada uno es una decisión muy personal. El X Consortium quería hacer
de X Windows un estándar en los puestos de trabajo Unix, y ésta es una de
las razones por las que X Windows se distribuye libremente en
Internet. Esta distribución libre de X Windows promueve la
interoperabilidad, que es la piedra angular de los sistemas abiertos. Si el
X Consortium hubiera dictado una interfaz de usuario, X Windows quizás no
hubiese obtenido el actual nivel de aceptación.
GNOME ("GNU Network Object Model Environment") y KDE ("Kool Desktop
Environment") forman entornos gráficos X completos. Además de un
administrador de ventanas, contienen aplicaciones como un administrador de
archivos, editores, visualizadores, suites de oficina e incluso
juegos. Todas estas aplicaciones presentan una apariencia y comportamiento
("look and feel") comunes, es decir, todos los elementos que componen las
ventanas, como las barras de herramientas y de menús, tienen un aspecto
uniforme.
Gracias a KDE y GNOME, la complicada edición de archivos de configuración
pertenece al pasado - los colores, tipos de letra, barras de menús y
botones se pueden personalizar mediante herramientas de configuración
gráficas. Ambos entornos permiten arrastrar y soltar ("drag and drop") y la
ejecución de aplicaciones asociadas a archivos con sólo un click sobre
éste.
5.4 GNOME (GNU Network Object Model Environment)
"Creo que construir aplicaciones, o programas, es como jugar con un gran
Lego. Un juguete con el que construir cosas. Y me gusta crear cosas
interesantes. A todo el mundo le gusta ver sus pequeñas invenciones
funcionar".
Miguel De Icaza
Gnome es un acrónimo de GNU Network Object Model Enviroment, es decir,
Ambiente de Modelado de Objetos de Red con Licencia General Pública GNU. El
proyecto GNOME es uno de los más grandes avances que pudieron impulsar a
Linux no solo como el sistema operativo consentido de los usuarios expertos
de PC, y una seria amenaza para Windows 2000, predecesor de Windows NT,
como sistema operativo de redes, sino también como un serio competidor en
el campo de las PC de escritorio.
¿Por que me refiero a las PC de escritorio? Hace algunos meses Linux, el
sistema operativo donde se ejecuta GNOME, ya era un gran sistema operativo,
pero su principal utilidad era para Servidores de redes o como estaciones
de trabajo con finalidades muy específicas y como herramienta de desarrollo
de software para los programadores. Hoy en día, gracias a la aparición de
software para GNU/Linux como StarOffice, y al desarrollo de ambientes
gráficos como GNOME, es que se descubre el potencial de Linux como sistema
operativo de PC de escritorio. Es cierto que aún hay mucho trabajo por
hacer, dado que la configuración del hardware en Linux continua requiriendo
de ciertos conocimientos avanzados por parte del usuario, sin embargo este
inconveniente es compensado por la aparición de una nueva generación de
hardware diseñado para trabajar en cualquier sistema operativo y a las
virtudes propias de Linux, es decir, un sistema operativo mucho más
estable, confiable y robusto que los sistemas operativos propietarios más
populares.
La historia de GNOME se remonta hacia mediados de 1997 cuando el mexicano
Miguel de Icaza y un grupo de amigos concluyeron que en Linux hacía falta
una interfaz gráfica de usuario fácil de utilizar, además de una interfaz
que permitiese al desarrollador de software trabajar con la misma comodidad
con la que se hacía en otros sistemas operativos. Fue así, que junto con
Federico Mena y otros colaboradores dio inicio GNOME.
GNOME es quizá uno de los mejores ambientes gráficos de ventanas para
Linux. Tal ha sido el impacto de GNOME que Redhat opto por Gnome como
entorno X Windows predeterminado. Su interfaz gráfica permite al usuario
trabajar cómodamente administrando el sistema o manejar archivos y carpetas
de un modo similar al utilizado en Windows. Su aspecto estético, por otro
lado, es sumamente agradable.
Pueden agregarse applets en la barra de tareas que pueden realizar
diferentes funciones que facilitan ciertas operaciones al usuario. GNOME
representa un gran paso para Linux, ya que es el primer ambiente gráfico
libremente disponible, pensado para usuarios promedio y no requiere de
muchos conocimientos para poder utilizarlo. GNOME incluye una suite de
aplicaciones sencillas como libreta de direcciones, cliente de correo
electrónico, aplicaciones para la administración y configuración del
sistema y algunas aplicaciones más tales como:
Gedit: Una aplicación que permite editar documentos de texto. Trabaja de
forma similar a como lo hace Wordpad en Windows.
Gnumeric: Una excelente hoja de calculo que permite realizar varias
funciones e incluso permite trabajar con archivos de Microsoft Excel.
Gnotepad: otro editor de texto con mayores funciones, como la capacidad de
dar formato al texto.
Gcalculator: una calculadora con funciones avanzadas.
Gimp: Un excelente editor de imágenes con calidad profesional semejante al
Adobe Photoshop.
Las principales características de GNOME son:
* Recuerda la configuración del escritorio.
* Soporta varios lenguajes humanos, de modo que si se desea, pueden
agregarse más sin necesidad de cambiar el software.
* Soporta varios protocolos de "Drag & Drop" (arrastra y suelta) para una
máxima interacción con aplicaciones no desarrolladas para Gnome
* Posibilidad de utilizar varios escritorios virtuales, e incluso con
configuraciones distintas, que permiten una mejor organización de las
aplicaciones en uso.
* Tiene un panel, desde donde se inician las aplicaciones.
* Posee un escritorio, en donde se pueden colocar las aplicaciones y los
datos.
* Posee un conjunto de características que hace fácil para las aplicaciones
el poder cooperar y coexistir entre si.
* Incluye una muy útil herramienta, Linuxconf, que permite controlar
fácilmente la configuración del sistema.
* Gracias a que ninguno de sus componentes es controlado o susceptible de
ser restringido para su modificación o distribución, los programadores no
estarán obligados a adquirir un costoso paquete para el desarrollo de
aplicaciones comerciales para GNOME. Las aplicaciones para GNOME se
pueden desarrollar en una gran variedad de lenguajes de programación.
GNOME posee características que permiten al software y aplicaciones
interactuar similarmente, sin importar en que lenguaje de programación se
implementaron. Del mismo modo, GNOME puede ejecutarse en otros sistemas
operativos basados en POSIX, e incluso existe un porte para Microsoft
Windows.
* Es Software libre con licencia GNU. Esto significa que, además de que se
puede distribuir libremente, la instalación incluye el código
fuente. Esto significa que si cualquier programador se interesa en
desarrollar software para ejecutarse dentro del ambiente GNOME, siempre
se podrán consultar los detalles respecto a como se han hecho las cosas e
inclusive poder mejorarlas y compartirlas libremente. La licencia GNU
garantiza que GNOME, del mismo modo que Linux, siempre podrá distribuirse
libremente e instalarse en cualquier número de PC que se desee, sin que
persona o empresa alguna puedan restringir su distribución.
5.5 KDE (Kool Desktop Environment)
"La diferencia entre construcción y creación es exactamente esto: que una
cosa construida puede ser querida sólo después de construida; pero una cosa
creada es querida antes de que exista".
Gilbert Keith Chesterton
Un agradable ambiente gráfico para X Windows que emula en apariencia y
funciones a Windows 95/98. Aunque es un tanto complicado para algunas
tareas, resulta una excelente opción para cualquier usuario de Linux. La
suite de aplicaciones de KDE incluye herramientas para la configuración y
administración del sistema, navegador Web, clientes de correo electrónico
(mismo que permite utilizar varias cuentas de correo electrónico), cliente
para Chat, terminales Unix, editores de gráficos, editores de texto,
juegos, etc.
5.6 Another Level.
"Creo que el Universo en una muy buena fuente de inspiración para todo
aquél que aspira a ser creador. Ciertamente, he intentado poner un universo
de ideas en Perl; lo bueno es que, por ahora, algo he conseguido".
William Blake
Otro magnífico ambiente gráfico de ventanas. Este utiliza una interfaz
sumamente estética y, a diferencia de Gnome y KDE, completamente original y
distinta. Al igual que Gnome y KDE, incluye una suite de aplicaciones
sencillas y libres.
6 Aplicaciones Linux.
"Hay quien hace de la vida un sueño y de un sueño una realidad".
Pierre Curie
Es probable que considere interesante a Linux, pero le resultará poco
práctico si no puede realizar su trabajo diario. El uso de un sistema
operativo, aunque en ocasiones puede ser intrínsecamente divertido, no es
el motivo principal por el que los usuarios utilizan una computadora; la
mayoría necesita realizar tareas productivas con su computadora.
Primero que nada usted debe saber que ninguna aplicación de Windows, MS DOS
o Macintosh trabajará en Linux (salvo que utilice un emulador el cual solo
podrá ejecutar algunas aplicaciones, o una máquina virtual, la cual consume
muchos recursos de hardware). Linux, Windows y Macintosh son distintos
sistemas operativos que trabajan de forma muy distinta. Sin embargo, esto
no significa que usted quede indefenso o que este instalando en su PC un
sistema operativo inútil. Para empezar, Linux puede acceder a unidades de
disco con formato MS-DOS, Windows 9x y MacOS y trabajar con los archivos
contenidos en estas.
Linux dispone literalmente de miles de aplicaciones actualmente
disponibles, de hecho cualquier aplicación que los usuarios necesiten ha
sido desarrollada o portada a Linux. Éstas incluyen programas para hojas de
cálculo, bases de datos, procesadores de textos, reproductores multimedia,
desarrollo de aplicaciones en varios lenguajes y paquetes de
comunicaciones. Linux también incluye una amplia variedad de juegos,
basados en texto y gráficos. Cuando se tome una pausa en el ajetreo diario,
Linux puede ofrecerle unos minutos (u horas) de relajación.
Actualmente se pueden instalar versiones para Linux de varias populares
aplicaciones que pueden cubrir las necesidades de un usuario promedio.
Quizá le entusiasme saber que actualmente no hay aun virus que afecten de
manera grave los programas o archivos en Linux, y que los virus existentes
que afectan a los usuarios de Windows/MS-DOS no pueden ser ejecutados en
Linux y por lo tanto, es imposible que sus archivos se infecten mientras
trabaja en Linux.
Además, si piensa que cambiando a Linux tendría que invertir mucho dinero
en adquirir aplicaciones y programas esta equivocado. El sistema operativo
y la mayor parte del software son de libre distribucion, además de que
existen suites de oficina como StarOffice que le permiten trabajar del
mismo modo en que lo haría con Microsoft Office.
7 Linux como plataforma de desarrollo.
"Investigación es ver lo que todos han visto y pensar lo que nadie ha
pensado".
Albert Szent-Cyoryl
Si el usuario es un profesional de la programación, Linux ofrece muchas
herramientas para el desarrollo de programas. Linux puede soportar la carga
de trabajo de un desarrollador Unix, y cuando se ejecuta usted puede
obtener compiladores para los siguientes lenguajes de desarrollo: C, C++,
Objetive C, Fortran 77, Fortran 90, Ada, Ada95, Pascal, Delphi, Modula 2 y
3, Oberon, ML, TCL/Tk, SmallTalk/X, Awk, Bc, Perl, Scheme, Lisp, Common
Lisp, e-Lisp, Prolog, Java, Eiffel, Python etc. Si no le gustan estos
lenguajes, Linux le proporciona las herramientas para crear los suyos
propios ya que dispone de herramientas como Flex y Bison. Si desea aprender
alguno de los lenguajes mencionados anteriormente pero no desea gastarse el
dinero en otro compilador, Linux y sus herramientas de desarrollo están a
su disposición.
Dos de las palabras clave de la industria son sistemas abiertos e
interoperabilidad. Estos términos se refieren a la posibilidad de que
muchos sistemas puedan comunicarse entre sí. Muchas especificaciones de
sistemas abiertos requieren el cumplimiento de POSIX, que significa alguna
forma de Unix. Linux cumple con esos estándares en la actualidad. De hecho,
Linux se diseño para ofrecer la portabilidad del código fuente, por lo que
sí tiene un programa de la empresa ejecutándose sobre una versión de Unix,
podrá trasladar de forma relativamente fácil ese sistema a un sistema que
ejecute Linux. Las corporaciones insisten en ese tipo de sistemas abiertos
para no quedar hipotecadas con un único proveedor. ¿Recuerda el viejo
refrán "no hay que jugárselo todo en una solo carta?" Las empresas actuales
están cansadas de los sistemas controlados por una sola compañía porque los
que controlan pueden dictar el modo en que se comporta el software y el
tipo de hardware que lo admite. Si esa compañía elige una dirección que no
es buena para su corporación, mala suerte. Queda atrapado por su decisión
le guste o no. Con Linux y los sistemas abiertos, sin embargo, tiene el
control de su propio destino. Si el sistema operativo no tiene una
característica que necesita, hay muchos consultores disponibles que pueden
efectuar los cambios necesarios. Especialmente teniendo en cuenta que, por
lo menos con Linux, dispone del código fuente del sistema operativo.
Asimismo, no hace mucho, Linux no podía ofrecer, ni remotamente,
estructuras de apoyo técnico similares a los sistemas comerciales. Pero
gracias a su crecimiento continuo (y acuerdos recientes con grandes
compañías como IBM, Hewlett-Packard, Silicon Graphics y Compaq) todo ha
cambiado. Por ejemplo IBM acordó apoyar a Linux en todas sus plataformas
de hardware. Conforme más compañías cambian a Linux, surge un mercado para
el apoyo técnico, la capacitación y el desarrollo de aplicaciones.
Empresas como Linuxcare (www.linuxcare.com) complementan las opciones de
apoyo que ofrecen distribuidores como Caldera y Redhat. También esta
disponible una capacitación estandarizada: Redhat tiene un curso de
capacitación y certificados propios, y el capacitador en computación
mundial Learning Tree International ya agregó cursos de Linux. Miles de
programas ya trabajan en Linux, desde procesadores de texto hasta juegos y
bases de datos SQL. Y casi todos son libres.
La mejor noticia acerca de Linux es que no tiene que comprometerse a largo
plazo. El sistema operativo y la mayor parte del software son baratos, y
corren en hardware antiguo que, de lo contrario, sólo se empolvaría. Si las
cosas no funcionan, puede olvidar el proyecto con sólo la consecuente
perdida de tiempo.
Si bien Linux es ideal para personas experimentadas que desean un mayor
control sobre el sistema, esto no significa que no pueda ser utilizado por
usuarios promedio en una oficina o en casa. Linux soporta aplicaciones de
todos tipos, desde hojas de calculo, como Gnumeric, procesadores de texto,
como AbiWord y poderosas herramientas de diseño, como Gimp, hasta suites
completas de oficina como StarOffice. El ambiente gráfico de ventanas
(Gnome, Another Level, KDE, etc.), permite una interface que funciona de
manera similar a como lo hace Windows, y a diferencia de este último,
permite además una mayor personalización.
Contrariamente a lo que suponen muchas personas, el hecho de utilizar un
sistema operativo como Linux no significa que necesariamente el usuario
quede aislado e imposibilitado para compartir archivos con el resto del
mundo. Linux puede utilizar suites de aplicaciones como StarOffice que
permiten trabajar y guardar un documento en distintos formatos, incluyendo
los de Microsoft Office. Linux le permitirá dar formato tanto MS DOS como
Ext2 a los disquetes comunes y trabajar sobre unidades de disco duro con
formato Ext2, MS-DOS/Windows 9x (Fat16 y Fat32) y MacOS.
¿Cómo es posible que Linux ofrezca tantas ventajas a cambio de tan poco? La
razón es el espíritu y la filosofía de la comunidad que construyó y sigue
construyendo Linux. Linux es un gran experimento que cobró vida
propia. Literalmente cientos de hackers computacionales de todo el mundo
han contribuido a su desarrollo.
Tal vez llegado a este punto se este preguntando ¿Linux es perfecto? Pero
no, de hecho ninguno de los sistemas operativos que existen hoy en día esta
exento de pequeños detalles. La diferencia el Linux radica en:
* Que los errores que pudiesen existir en algún componente de Linux no son
tan frecuentes como los de otros sistemas operativos.
* Que cuando se descubre un error, este siempre se hace público, e incluso,
en algunos casos, se puede obtener el parche correspondiente el mismo
día.
* Que nada se mantiene en secreto.
* Que usted tiene la ventaja de poder instalar el parche correspondiente
sin tener que reinstalar todo.
* Que, si lo desea, y en la mayoría de los casos así es, puede contactar
directamente al autor de la aplicación, controlador, módulo o programa,
quien seguramente le dará respuesta a sus dudas e inquietudes.
8 Haga Contacto con Linux.
"La posibilidad del cambio provoca el cambio".
Ángel Ossorio y Gallardo.
Existen varias maneras de contactar con los involucrados en Linux, y una es
a través de una lista de correo para los desarrolladores de este sistema:
majordomo@vger.rutgers.edu. Otra forma de obtener información es mediante
Usenet, donde podrá suscribirse al enviar un correo electrónico a
linux-announce-REQUEST@news-digests.mit.edu, sin olvidar incluir su
dirección de correo electrónico dentro del mensaje.
En nuestro país Linux tiene una gran presencia, pues en la dirección de su
sitio Web http://www.linux.org.mx usted podrá encontrar, además de
información general, una lista que incluye personas que se dedican a dar
soporte por si usted llega a tener alguna duda. También existe una lista de
correo, y para inscribirse a ella sólo siga estos pasos: Envíe un correo
electrónico a: majordomo@nuclecu.unam.mx y escriba en el cuerpo del
mensaje: SUBscribe linux Una vez inscrito, si usted quiere enviar algún
mensaje envíelo a: Linux@nuclecu.unam.mx
9 Linux Y más Allá
"... hay riquezas que lo matan a uno si no puede compartirlas".
Michael Ende
El crecimiento de Linux, desde su nacimiento en 1991 hasta la fecha, es
realmente impresionante ya que en pocos años se ha convertido en un
fenómeno muy popular para diferentes plataformas. Si usted ya está cansado
de que las cosas no funcionen como debieran ser cambie a Linux. Para
finalizar, les proporcionaré la siguiente frase, que tiene mucha relación
con la filosofía de Linux e Internet.
"If you assume that there's no hope,
you garantee that there will be no hope.
If you assume that there is an instinc
for freedom, there are opportunities for change
things, there's a change you may contribute
to making a better world.
The choice ir yours".
Noam Chomsky
Traducción:

"Si asume que no hay ninguna esperanza,


garantiza que no habrá esperanza alguna.
Si asume que hay un instinto para
la libertad, entonces hay oportunidades para cambiar
las cosas, y este cambio pudiese contribuir
a construir un mundo mejor.
La elección es suya".
Noam Chomsky
10 Páginas de Internet relacionadas con Linux.
* Mi página personal sobre El Sistema Operativo GNU/Linux y el Software
Libre
http://perlis.fciencias.unam.mx/~atellez
* Página del grupo de desarrollo de Linux Red Hat
http://www.redhat.com
* Página del grupo de desarrollo de Linux Slackware
http://www.cdrom.com
* Página del grupo de desarrollo de Linux Debian
http://www.debian.org
* Página del grupo de desarrollo de Linux S.u.S.E.
http://www.suse.de/es/index.htlm
* Página del grupo de desarrollo de Linux Caldera
http://www.caldera.com
* Página del grupo de desarrollo de Linux PPP
http://www.pepe.net.mx
* Página de autoestudio de administración de UNIX
http://www.uwsg.indiana.edu/usail/
* Linux Journal
http://www.ssc.com
* Linux Internacional
http://www.li.org
* Linux Online
http://www.linux.org
* Páginas de Linux en México
http://www.linux.org.mx
http://www.linux.net.mx
* Página de la Facultad de Ciencias de la UNAM
http://www.fciencias.unam.mx
* Página de la Escuela Superior de Física y Matemáticas del IPN
http://esfm.ipn.mx
* Newsgroups de USENET
comp.os.linux.announce
comp.os.linux.answers
comp.os.linux.development.system
comp.os.linux.development.app
gcomp.os.linux.hardware
comp.os.linux.setup
comp.os.linux.advocacy
comp.os.linux.networking
comp.os.linux.x
* Centros Web de Linux
http://www.Linux.org.uk
http://metalab.unc.edu/
* Grupo internacional Linux Documentation Project
http://www.insflug.org
* Desarrollo de aplicaciones X Windows
prep.ai.mit.edu
* Página del proyecto GNU
http://www.gnu.org
http://prep.ai.mit.edu
* Página del proyecto Ciencia Libre
http://personal3.iddeo.es/newton/
* Página extraoficial de GNU
http://www.cs.pdx.edu/~trent/gnu
* Página acerca del Hurd
http://www.enci.ucalgary.ca/~gord/hurd
* Página del grupo de desarrollo de GnuStep:
http://www.gnustep.org/
* Página del grupo de desarrollo de Gimp
http://www.gimp.org
* Página del grupo de desarrollo de Apache
http://www.apache.org
* Página del grupo de desarrollo de perl
http://www.perl.com
* Soporte para software libre cygnus
http://www.cygnus.com
* Computadoras con Linux precargado
http://www.penguincomputing.com/
* Página dedicada a Richard Stallman
http://www.caip.rutders.edu/~davem

11 Copying

EL SISTEMA OPERATIVO GNU/LINUX


Copyright(C) 2001 Antonio Téllez Flores
Author: Antonio Téllez Flores <atellezf@correoweb.com>
<atellez@perlis.fciencias.unam.mx>
<atellez@ada.fciencias.unam.mx>
<http://perlis.fciencias.unam.mx/~atellez>
Este documento se distribuye bajo los términos siguientes:

LDP GENERAL PUBLIC LICENSE Version 1a, November 1998

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION


0. This License applies to any document which contains a notice placed by
the copyright holder saying it may be distributed under the terms of this
LDP General Public License. The "Document" below refers to any such
document, and "work based on the Document" means either the Document or any
derivative work under copyright law: that is to say, a work containing the
Document or part of it, either verbatim or with modifications and/or
translated into another language. (Hereinafter, translation is included
without limitation in the term "modification".) Each licensee is addressed
as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.
1. You may copy and distribute verbatim copies of the Document's source
code as you receive it, in any medium, provided that you appropriately
publish on each copy an appropriate copyright notice and disclaimer of
warranty; keep intact all the notices that refer to this License and to the
absence of any warranty; and give any other recipients of the Document a
copy of this License along with the Document.
You may charge a fee for the physical act of producing or transferring a
copy.
2. You may modify your copy or copies of the Document or any portion of it,
thus forming a work based on the Document, and copy and distribute such
modifications or work under the terms of Section 1 above, provided that you
also meet all of these conditions:
a) You must cause the modified files to carry notices stating that you
changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or
in part contains or is derived from the Document or any part thereof, to be
licensed as a whole at no charge to all third parties under the terms of
this License.
3. You may copy and distribute the Document (or a work based on it, under
Section 2) in any form under the terms of Sections 1 and 2 above provided
that you also either accompany it with the complete corresponding
machine-readable source code, or provide an URL, valid for at least three
months, where this complete corresponding machine-readable source code is
available, and can be retrieved by any anonymous user.
4. You may not copy, modify, sublicense, or distribute the Document except
as expressly provided under this License.
5. Each time you redistribute the Document (or any work based on the
Document), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Document subject to these terms
and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein.

You might also like