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.

6

Sign up to vote on this title
UsefulNot useful