Você está na página 1de 6

HISTORIA DE GNU/LINUX

¿Qué es LINUX?

Linux es un sistema operativo gratuito y de libre distribución inspirado en el


sistema Unix, escrito por Linus Torvalds con la ayuda de miles de
programadores en Internet. Unix es un sistema operativo desarrollado en 1970,
una de cuyas mayores ventajas es que es fácilmente portable a diferentes tipos de
ordenadores, por lo que existen versiones de Unix para casi todos los tipos de
ordenadores, desde PC y Mac hasta estaciones de trabajo y superordenadores. Al
contrario que otros sistemas operativos, como por ejemplo MacOS (Sistema
operativo de los Apple Macintosh), Unix no está pensado para ser fácil de
emplear, sino para ser sumamente flexible. Por lo tanto Linux no es en general
tan sencillo de emplear como otros sistemas operativos, aunque, se están
realizando grandes esfuerzos para facilitar su uso. Pese a todo la enorme
flexibilidad de Linux y su gran estabilidad ( y el bajo coste) han hecho de este
sistema operativo una opción muy a tener en cuenta por aquellos usuarios que se
dediquen a trabajar a través de redes, naveguen por Internet, o se dediquen a la
programación. Además el futuro de Linux es brillante y cada vez más y más gente
y más y más empresas (entre otras IBM, Intel, Corel) están apoyando este
proyecto, con lo que el sistema será cada vez más sencillo de emplear y los
programas serán cada vez mejores. (2002)

Hace algún tiempo apareció una idea bastante interesante que fue la
realización del GNU, una idea del estudiante Stallman, es decir un sistema
operativo libre y gratuito. Estamos hablando de principio del la década de los '80,
este sistema tuvo un desarrollo lento, así que para finales de los 80 fue terminado.

1
Pero faltaba el kernel del mismo, al mismo tiempo apareció un estudiante finlandés
llamado Linus Torvalds que se le ocurrió la idea de crear un Sistema Operativo
compatible con la norma POSIX, basándose en su estudio sobre MINIX, que es
una versión gratuita de Unix. Al ser observado por parte del proyecto GNU,
decidieron adoptarlo. Luego de varios meses de desarrollo y ante una duda, envió
un mensaje a una news, la comp.os.minix y logró la atención de algunos
entusiastas, entre ellos la gente del proyecto GNU, que vieron la idea de Torvalds
y encontraron lo que andaban buscando. Allí empezó todo.

Al ir pasando los años, el proyecto de Torvalds, creció y permitió que se


formara un Sistema Operativo realmente muy completo que al principio es llamado
GNU / Linux, pero por cuestiones de términos se le llamó Linux, a secas.

Antes de ir de lleno al asunto, LINUX, NO ES WINDOWS, estamos!


Significa que si se pretende encontrar a Linux como un windows donde el tema es
usar ventanitas, doble clic, y todo eso, ¡ Linux lo hace y mucho mas, por lo que si
están dispuestos a disfrutar de una PC, como corresponde y hacer valer su costo,
entonces prepárense a disfrutar Linux! No es fácil, pero cada paso es una
aventura. Ahora, si buscar prender, hacer una nota y apagar la PC, también
sirve. ;-) Sobre todo porque es gratuito....

Linux ha provocado y provoca una gran cantidad de adeptos, ya que se


trata de un sistema operativo que ha cumplido con las exigencias tanto sea de una
empresa, grande o chica, como del usuario hogareño. Personalmente hace nueve
meses que uso Linux, y he visto como de considerar a windows como mejor
alternativa, por el uso hogareño que le daba a mi PC, estoy comparando mi actual
distribución de Linux con el windows que tengo instalado en mi máquina, casi
olvidado, por cierto. (en realidad lo usa mi hermano por un jueguito que le gusta y
que no tiene soporte en Linux, es de Microsoft así que...). Debo confesar que al
principio Linux era mas decepciones que aciertos, pero cada vez mas se ha
convertido en una opción frente a Sistemas que tradicionalmente son
considerados para el hogar.

A través del tiempo se ha observado un cambio de mentalidad, tanto en los


usuarios como en los programadores que al principio no tenían o veían con agrado
la aparición de este grupo tan grande de nuevos usuarios ya que tenían algo de
celos por Linux, no hay que olvidarse que era el Sistema de los profesionales.
Agreguemos a esto, que aparecieron algunos que simplemente no querían ni
escuchar hablar de Microsoft. Los que creen que un sistema es algo que no debe
cambiar nunca, o los que creen que Linux es para profesionales o para grandes
genios de la informática. Por suerte para varios, Linux se ha convertido en un
Sistema Operativo que por algo es considerado el segundo después de Windows,
pero al paso y si no cambian el ritmo quizás veamos que Linux pasa a ser una
alternativa mucho mas óptima. De hecho Linux se ha convertido en muy poco
tiempo, en un Sistema empleado en máquinas destinadas al hogar.

2
Se habló que no era amigable, de que no corrían juegos, de que no tenía
soporte, etc, etc, etc.
En este momento es cien por ciento amigable, corren todos los juegos
serios, y hay casas que están haciendo juegos para Linux, el soporte está en
Internet, el entorno de trabajo es gráfico, incluso con mayores opciones de
configuración, los winmodems, están empezando a andar, se pueden escuchar
mp3, se puede chatear con el ICQ, se puede navegar por Internet, se puede
descargar archivos, se puede escribir una carta, imprimirla, enviar faxes, se puede
dibujar, se puede ver TV, se puede comunicar con otra máquina, se puede tener a
varios usuarios al mismo tiempo usando una máquina, se puede hacer varias
cosas al mismo tiempo, se puede hacer de todo, sin grandes esfuerzos.

Como dije recién hace nueve meses que uso Linux y cada vez son mas las
cosas que descubro de este S.O.

Personalmente comencé con una distribución llamada Conectiva, un clon


de Red Hat hecho en Brasil, pasé por Red Hat en dos versiones y estoy usando
Mandrake 7.1. Todas las consideraciones respecto a configuraciones trataré de
hacerlas lo mas estándar posible, aunque me basaré en Red Hat, ya que es lo que
conozco. Las diferencias entre distribuciones se deben a utilidades de
configuración, pero la base es la misma.

He comentado un concepto que es el de distribuciones. Cuando Torvald


escribe su SO, lo que hace es escribir el kernel, o la base del sistema Linux,
cuando se nombra a Linux se suele considerar la versión del kernel como
parámetro de comparación. Han habido empresas, tipo Red Hat, Mandrake,
Debian, Suse, Slackware, Conectiva, Turbo Linux, Corel, etc, que han realizado el
trabajo de programar y de recopilar soft de distintos autores, armando un paquete
de programas y utilidades que han sido denominados, distribuciones. Cada una
tiene sus características, sean por una cosa o la otra, pero el kernel o base de
Linux, es el mismo.

Cuando se considera el tema distribuciones, se suele nombrar, el término


compilar, que significa preparar para ejecutar. Habitualmente los programas,
incluidos el kernel, suele ser optimizados para el funcionamiento completo en cada
distribución; y vemos que un soft de cierto tipo, (por ejemplo, el cdrecord, el soft
para grabar CDs) tiene distintas "versiones". Esto significa que cada
empaquetador (el que hizo la distribución) ha compilado el soft para que funcione
en esa distribución en particular. Es importante aclarar que cuando se programa
un software se piensa en el uso de ciertas librerías o lenguajes de programación, y
se busca que al ser instalado y usado por cualquier usuario, se comporte como fue
pensado. Al compilar y distribuir un soft por los empaquetadores, lo que hacen es
optimizarlo, con las versiones de librerías y utilitarios de cada distribución, así nos
evitamos la molestia de ver si va ha funcionar o no.

3
Para simplificar el tema, cada distribución a generado algunas utilidades
con el objeto de ayudar al usuario a realizar ciertas tareas que pudieren resultar
tediosas, por ejemplo instalar o actualizar un software.
Como primera medida se crea el concepto de paquete de software, que
consiste en tomar un software en particular y crear todos los elementos para que
funcionen en una distribución, sin que el usuario que instale ese soft deba
preocuparse solo en ingresar un comando y luego ejecutar el soft que ha elegido.
Es decir, se compila para funcionar en una distribución específica. Por ejemplo, el
Netscape en la mayoría de distribuciones, debe ser iniciado como suite, sin poder
iniciar el cliente de correo individualmente, en Mandrake es posible hacerlo sin
problemas, si actualizo la versión sin descargar los precompilados por Mandrake,
perdería esta función.

En las primeras versiones Linux, el uso era similar a Unix original, es decir
se trabajaba en consola como el DOS, ¿ se acuerdan del DOS, no....?. Lo que a la
larga no sería muy provechoso, considerando que la tendencia del usuario era el
trabajar con "ventanitas", o en forma gráfica; para colmo Internet, estaba teniendo
gran auge, por justamente, trabajar con un lenguaje gráfico, simple de usar y
vistoso. Al correr el tiempo, se vio la necesidad de que Linux tuviera también un
entorno gráfico de trabajo, la primer experiencia la dio las librerías ncurse, que
dibujaban tímidamente un entorno de trabajo como el buscado. Como esto no
agradó al usuario, por su pobre prestación, se buscó un elemento que diera un
entorno mas acorde a lo que se deseaba, algo que permitiera hacer lo mismo que
los sistemas que ya habían en el mercado, como el entorno mac o el de windows.

Se creó entonces, un concepto innovador que fue el del servidor gráfico, es


decir, en vez de que el entorno sea llamado por un ejecutable, iba a ser un
servidor el encargado de ese trabajo, ya que en Linux impera el concepto cliente -
servidor. Como Linux es un sistema multiusuario, y multitarea, era posible emular
varias terminales con una misma máquina y no todos los usuarios querían usar el
entorno gráfico, por lo que al crear el sistema servidor, cada usuario que quería
usaba la consola y el que quería hacerlo usaba el servidor, que dicho sea de paso
se llama servidor X.

Cada aplicación que trabaje en forma gráfica como un navegador tipo


Netscape, por ejemplo, será un cliente del servidor y se basará todo en la
capacidad del servidor.

Si hemos entrado a Linux, se habrá visto que se cargaron ciertos


elementos, esos elementos en su mayoría son demonios, como el de impresión, o
el de las fuentes del sistema; demonio son todos los procesos que se cargan en
memoria, a la espera de alguna acción del usuario. Además se cargan las
configuraciones, los módulos, etc. En Linux hay distintas formas de arranque de
un Sistema, estas formas se denominan init y suelen ser cuatro principales; el init
0, que sirve para coordinar el apagado del Sistema, el init 3, que permite el
arranque en modo texto, quedando en la cónsola; el init 5, que arranca y da inicio
automático al servidor X;y el 6 que permite que al apagar la PC, se reinicie. De la

4
misma manera que se cargaron deben descargarse al apagar el sistema, para
ello, si estamos en modo gráfico, simplemente hacemos clic en la opción
respectiva, sino en cónsola, simplemente tecleamos halt, o poweroff que realizan
el trabajo de cerrar todos los procesos abiertos y podemos apagar sin problemas
la máquina, verán cuando. Personalmente uso el init 3 y arranco las X luego, de
esa manera tengo cierta autonomía si surge algún problema con el servidor
gráfico.

Linux, posee un sistema de control de tareas, muy práctico ya que para


realizar el multiproceso crea el concepto de procesos, (en realidad es de Unix,
pero ..) esto significa que cada operación efectuada por un usuario es tratado por
el kernel, de forma personal, es decir, ningún proceso abierto depende de otro, a
excepción de los procesos llamados hijos que provienen de uno pero son casi
independientes del padre (me refiero a como los trata el kernel). Cada proceso
tiene un número de proceso llamado pid, esto me es útil, ya que si fuera necesario
quitar ese proceso, puedo usar el comando kill en consola y mataría el proceso
que quizás se colgó. Sobre esto en Mandrake y en el server X, se crea una
aplicación llamada Xkill, que hace este trabajo sin abrir ninguna consola.

Un concepto, si se cuelga un proceso no se cuelga Linux, sino el proceso,


el problema es si se cuelga el servidor gráfico, en ese caso se presiona un
conjunto de teclas y listo se mataría el proceso X. ;-) En este tema hay que ser
precavido si por casualidad se establece el arranque en forma gráfica, ya verán
porque.

Una de las característica mas importantes es la posibilidad de ser usado en


una red, para ello hay un usuario especial llamado root o superusuario que tiene
pleno poder sobre el Sistema completo. Todas las configuraciones deben hacerse
como root, además de otras operaciones del Sistema. El usuario root es un
usuario muy especial, por lo que hay que tener sumo cuidado cuando se inicia en
Linux de lo que se hace como root. Lo mas práctico es crear un usuario no root y
trabajar con él.

Todo Sistema Operativo que se precie tiene una interfaz que le permite
interactuar con el usuario, Linux no es la excepción, es mas tiene varias, una de
ellas se llama bash que es el intérprete de comandos mas usado, interprete de
comandos es la interfaz con el usuario, en el caso de Linux se ingresa los
comandos en dos tipos de promtp, uno es el signo # que suele ser indicativo del
root o superusuario, y está el signo $ que es indicativo de los usuarios.

Cada comando a utilizar posee una serie de opciones operativas, estas


opciones se presentan de dos maneras, una es a través de una letra o una serie
de letras, en otra posibilidad está agregar la palabra que genera la opción, un
ejemplo muy concreto sería el siguiente: cuando uno desea revisar las opciones
de un comando puede incluir tanto -h o bien --help, es decir un guión y la letra; o
dos guiones y la palabra. Hago la aclaración de que no todos los comandos suelen
trabajar con las opciones formadas por palabras, pero en la mayoría sucede.

5
Existen dos tipos de ayudas de cada comando, uno de ellos es una guía
rápida que se obtiene a través de la opción -h (o --help); otra alternativa sería la
observación de las páginas man del comando. Cada comando posee una página
del manual, esta página consiste en una guía muy completa sobre el comando, en
el que se incluyen una definición, características, y en algunos casos una historia
del comando, ademas de las opciones que suelen listarse en --help. Hay
comandos que suelen ser programas, es decir, ejecutables que son usados como
comandos, con opciones. Por ejemplo, el comando cdrecord, que es el soft para
grabar CDs.

Linux es un Sistema Operativo que permite experimentar, por lo que les


diría es que experimenten. Cuidado con los archivos de configuración hagan
backups, aunque suelen ser hechos por el mismo SO. El secreto consiste en
sentarse frente a la PC y aprender.

Esto es, a grandes rasgos, Linux y sus conceptos, para ampliar ideas los
invito a ver la sección de Documentos a los efectos de ver conceptos más
técnicos.