PÁGINA PERSONAL DE EDUARDO


¿Qué es GNU/Linux?

Tux, la mascota de Linux

 

Linus Torvalds

Linux es el núcleo (se le suele llamar "kernel") de un sistema operativo de 32 bits similar a UNIX, escrito desde cero por Linus Torvalds, que entonces era estudiante en la Universidad de Finlandia en Helsinki. Fue diseñado para su uso en PCs basados en Intel 80386 (o superior). Apareció por primera vez en 1991 por Internet. La historia de Linux es muy interesante. Sobre este sistema operativo se pueden decir muchas cosas, pero en esencia es un sistema operativo tipo UNIX de libre redistribución. UNIX es un sistema operativo concebido en los años 70 junto con el lenguaje de programación C por Kenneth Thompson, Dennis Ritchie y sus colegas de laboratorios Bell.

UNIX se basó en varias ideas que siguen plenamente vigentes:


¿Por qué GNU/Linux es especial? ¿Por qué hemos de usarlo?

Alan Cox Miguel de 
		Icaza Richard Stallman Ian Murdock Patrick 
		Volkerding
Alan
Cox
Miguel
de Icaza
Richard
Stallman
Ian
Murdock
Patrick
Volkerding

Hay varias características que hacen especial a GNU/Linux en el mundo de los sistemas operativos

Distribuciones

El concepto de distribución es exclusivo de los sistemas operativos libres (Linux, por supuesto, pero también FreeBSD). Lo que hace una distribución es ofrecer junto al núcleo una serie de herramientas y utilidades de administración.

Lógicamente, los sistemas operativos propietarios no se preocupan de esto: cada empresa distribuidora de software utiliza sus propias librerías, sin poder saber (al no ser libre el código) si ya hay alguna parte del trabajo realizado por otros que pueda aprovecharse, evitando de ese modo que el usuario cargue elementos innecesarios. Hay que suponer que eso debe formar parte del "respeto al cliente" del que hablan para justificar lo mucho que cobran por productos mediocres.

En cambio, la reutilización de lo ya hecho es un principio en el ámbito del software libre. El trabajo no se duplica (y por lo tanto, se avanza más). Las herramientas que se utilizan suelen, pues, depender de otras herramientas, lo que permite reducir al mínimo la carga en el disco duro y en la memoria, pero crea un sistema de relaciones e interdependencias que no siempre es fácil de gestionar.

Y aquí es donde entra el concepto de paquetes. Las distintas distribuciones basan la ordenación de su sistema en el empaquetamiento de las distintas utilidades y en librerías que haya disponibles. Los sistemas son capaces de resolver los posibles problemas de dependencias, impidiéndonos que instalemos algo si no tenemos todo lo necesario para que funcione.

Existen dos grandes sistemas de paquetes en el mundo Linux: rpm (de Red Hat) y deb (de Debian). Todas las distribuciones adoptan uno u otro sistema. El sistema más extendido es el de Red Hat. Por esa misma razón, es el que más tienen en cuenta los desarrolladores a la hora de empaquetar sus herramientas. Sin embargo, el de Debian realiza mejor el chequeo de dependencias, y proporciona mucha información adicional al usuario. No solo existen paquetes que dependen de otros para ser instalados, también se examinan conflictos y se hacen sugerencias.

En los últimos tiempos, GNU/Linux ha avanzado muchísimo. Desde el principio fue un sistema sólido y estable, pero que estaba dirigido a un grupo de usuarios que ya disponían de conocimientos de UNIX. Por esa razón, aunque fuera difícil de instalar y configurar, los que lo utilizaban sabían exactamente lo que buscaban y no necesitaban demasiados detalles. El afán de atraer a nuevos usuarios ha hecho que todas las distribuciones estén intentando simplificar el proceso de instalación. Las distribuciones más sencillas son Mandrake, SuSE y Red Hat, que ahora ha dividido su proyecto, manteniendo Red Hat para los de tipo comercial y lanzando Fedora como distribución para particulares.

Luego, hay que tener en cuenta el software disponible: prácticamente todas las distribuciones ponen a nuestra disposición muchísmo más del que podamos necesitar. La disponibilidad a través de Internet es una ventaja importante.

Aquí hablaremos de las distribuciones más conocidas. Conviene insisitir en que no se trata de versiones diferentes de un mismo "producto", ya que las diferentes versiones dependen de cada distribución. Linux sólo es el "kernel" del sistema operativo. Todo el mundo puede crear (si es capaz de hacerlo) un sistema personalizado, organizarlo y venderlo si quiere (y puede). Eso es, en principio, una distribución. Pero hay más. Si eres tan especial (¿ y quién no lo es?) y te ves con fuerzas para ello, puedes crear tu propio sistema. De eso trata un proyecto llamado Linux from Scratch. Enfín, si os animáis, pero parece que tiene tela.

Fue la primera distribución que intentó idear un sistema sencillo de instalación. Esta es quizás una de las razones por las que ha llegado a ser la distribución más extendida. Su sistema de empaquetado es el que han adoptado otras muchas distribuciones, como SuSE y Mandrake y ha llegado a ser un estándar.

Ha sido durante mucho tiempo la más popular. Hoy en día, Debian, le ha tomado la delantera, según el contador de Linux. Ocupa el 20'57 % del espacio Linux, a lo que habría que añadir el 2'80 % que ocupan las distintas versioned de Fedora. Este dato debe ser entendido como meramente indicativo, ya que la inscripción en este registro es voluntaria. Con todo, hay más de 100.000 máquinas registradas, por lo que tampoco se trata de una encuesta entre cuatro amiguetes.

La última versión de Red Hat es la 9.0, momento en el que el proyecto se desglosó dejando una versión para particulares (proyecto Fedora) que surgió el 6 de noviembre de 2003 y que ha tenido una gran difusión.

Tiene como particularidad que está mantenida por cientos de voluntarios de todo el mundo, y su objetivo es recopilar todo el software libre que sea posible, lo que abarca la licencia GPL y otras similares. Su nombre completo actual es "Proyecto Debian GNU/Linux", y se organiza de modo democrático. A pesar de su aparente dificultad, una de las ventajas de esta distribución es que está muy bien estructurada, y su árida herramienta apt-get es flexible y potente. Esta herramienta tiene una derivada, dselect, que nos permite seleccionar los paquetes, y al mismo tiempo va chequeando las dependencias, y sugiriéndonos alternativas. Aunque sea poco intuitiva, si leemos la ayuda y llegamos a manejarla, no podremos pasar sin ella (parece un anuncio de detergentes).

Sus miembros son los desarrolladores y los mantenedores. Ellos se encargan de preparar el software en forma de paquetes. Actualmente hay más de 5.000 paquetes a disposición de los usuarios. El contador de Linux dice que ocupa un 20'95 % del espacio Linux, lo que no está nada mal dado que tiene fama de rocoso y difícil de instalar, además de ser el que menos presencia tiene en las revistas comerciales. Pero las listas de correo hacen que Debian se mantenga muy actualizado en cuanto a la depuración de errores y presencia de nuevos paquetes, aunque éstos deban cumplir las muy estrictas condicones de Debian. Los miembros del proyecto Debian también están investigando otros kernels, fundamentalmente GNU/HURD y FreeBSD. Debian está compilado para otras plataformas (además del PC estándar, llamado arquitectura i386): Alpha, SPARC, ARM, PowerPC... Otras distribuciones con fines más comerciales se preocupan menos por estas arquitecturas minoritarias. Debian es también la distribución más estable. Su política de actualizaciones es tremendamente conservadora: mantiene los paquetes en lo que llama su versión "de prueba" (testing) durante un tiempo hasta que comprueba que no tiene errores graves. Sólo entonces libera una versión "estable", manteniendo la versión sobre la que se está trabajando como "inestable". Los buscadores de las últimas novedades deben buscar otra distribución.

El 19 de julio de 2002, Debian liberó su versión 3.0 (Woody), que hasta ese momento se consideraba "de pruebas".

Mandrake

Mandrake Linux es una distribución disponible para Intel, AMD, y Mac. Incluye asistentes y ayudantes gráficos de administración que lo hacen intuitivo sin perder el poder del sistema Linux. Sus orígenes son una variante de Red Hat.

Combina potencia y flexibilidad con simplicidad. Su interfaz gráfico de usuario está muy bien diseñado. Para ello, permite trabajar con el escritorio KDE, pero también con Gnome. La instalación es muy simple con el instalador gráfico. Mandrake se puede instalar como un servidor Linux completo, o como estación de trabajo.

Esta distribución se caracterizaba por tener una fácil instalación, cercana al "Plug & Play" de Windows ha hecho que muchos de los que pensaban que Linux era difícil de instalar lo hayan adoptado. Su "cuota de mercado" actual es, según el contador de Linux, del 13'85 %. La empresa ha tenido, al parecer, algunos problemas últimamente, pero da la impresión de que ya los ha superado.

Esta es una distribución alemana. No se exactamente por qué, pero es algo que se dice siempre de ella. Quizás porque de ese modo se insinua que es sólida, robusta, enfín, como si fuera un coche alemán. Tiene su sede en Nuremberg. Ocupa el 10'55 % del espacio Linux, según el contador de Linux.

En abril de 2002 SuSE sacó su edición 8.0, en versiones Personal (54'90 €) y Professional (89'90 €). Posteriormente sacó una 8.1. Está muy orientada a usuarios particulares novatos en Linux. Su asistente de instalación YaST2 (ya clásico), detecta particiones Windows ya existentes y hace sugerencias sobre la redistribución no destructiva del espacio del disco duro y sobre el software que se puede seleccionar, aunque se trata de una herramienta propietaria. SuSE 8 integra la versión 3 del escritorio KDE, con buena preparación para el trabajo multimedia y juegos. Cuenta también con una nueva versión del cortafuegos, SuSE Personal Firewall 2, que se activa con el ratón. El servidor de páginas web es Apache 1.3.23 y el servidor de ficheros e impresión para redes Windows Samba 2.2.3a.

Con esta distribución empecé en este mundillo de GNU/Linux. Luego, hablando con otra gente, he ido descubriendo que muchos hicieron lo mismo.Quizás alguna de las cosas que se digan aquí sobre esta distribución se haya quedado atrasada. Si observáis algún error de bulto, escribidme y sacadme de él.

La que más diferenciaba a Slackware de sus dos grandes alternativas al principio era la gestión del sistema de paquetes. No realizaba ningún tipo de chequeo de dependencias: lo dejaba a la responsablidad del usuario. La ventaja fundamental de este modo de trabajar era que el usuario podía ir añadiendo herramientas y librerías conforme iban apareciendo nuevas versiones, sin tener que esperar al filtro del empaquetado. El inconveniente era que si no se tenía muy claro lo que se deseaba exactamente, era muy fácil meter la pata. Sin embargo, la instalación no era difícil, aunque no era sencilla de mantener.

La idea que seguían los desarrolladores de Slackware era la de no interponerse entre el usuario y las herramientas del sistema. Eso la convertía en una distribución minimalista, tipo UNIX. El secreto de la distribución era que no gastaba recursos con elementos que no iban a ser utilizados. Tiene, según el contador de Linux un 11'37 % del total de usuarios GNU/Linux.

Un proyecto relativamente reciente que ha alcanzado una cierta notoriedad es Gentoo. Uno de sus creadores, David Robbins, la ha descrito como completamente flexible. Gentoo utiliza el código fuente de sus herramientas, y su opción por defecto a la hora de instalar paquetes es compilarlos. Según el contador de Linux, el 6'32 % de los usuarios de Linux utilizan esta distribución.

Breve Manual de GNU/Linux

El trabajo en GNU/Linux puede realizarse en modo gráfico, pero gran parte de su potencia se la debe a las órdenes que se escriben desde la consola.

El shell

El shell es el encargado de interpretar las pulsaciones que introduzcamos desde la línea de comandos. Existen varios shells en GNU/Linux. El predeterminado es bash.

Resumen de los comados más usuales

Arrancar y detener el sistema
shutdown -h now
halt
Apaga el sistema en el momento y no lo reinicia
shutdown -r 5 Apaga el sistema a los 5 minutos y lo reinicia
shutdown -r now
reboot
Apaga el sistema en el momento y lo reinicia
startx Arranca el entorno gráfico
Acceder a Sistemas de Archivos y montarlos
mount -t iso9660 /dev/cdrom /mnt/cdrom Monta el dispositivo de CD-ROM como "cdrom" y lo pone a disposición en el directorio /mnt
mount -t msdos /dev/hdd /mnt/dos Monta el disco duro 'd' como "dos" con sistema de archivos de MS-DOS y lo pone a disposición en el directorio /mnt
mount -t vfat /dev/hda1 /mnt/datos Monta la partición 1 del disco duro 'a' como "datos" con sistema de archivos FAT y lo pone a disposición en el directorio /mnt
umount /mnt/cdrom Desmonta la unidad de CD-ROM
Buscar archivos y texto dentro de los archivos
find / -name archivo Busca el archivo llamado "archivo" empezando en el directorio raíz
find / -name "*cadena*" Busca un archivo que contenga la cadena "cadena", empezando en el directorio raíz
updatedb Crea o actualiza la base de datos de archivos en todos los sistemas de archivos relacionados con el directorio raíz de Linux
locate archivo Busca el archico llamado "archivo" en la base de datos de archivos del sistema (que debe estar actualizada con 'updatedb')
which archivo Muestra el subdirectorio que contiene el archivo ejecutable llamado "archivo"
grep cadena /datos Busca todos los archivos que contengan la cadena "cadena" en el directorio /datos
El sistema gráfico (X-Window)
xvidtune Lanza la herramienta de ajuste gráfico del servidor X
XF86Setup Lanza el menú de configuración del servidor X, que permite probar las tarjetas gráficas de modo automático
Xconfigurator Lanza otro menú de configuración del servidor X, que también permite probar las tarjetas gráficas de modo automático
xf86config Lanza un menú de configuración del servidor X en modo de texto
Mover, copiar, borrar, examinar archivos
ls
dir
Lista los archivos del directorio en el que nos encontramos
ls -l Lista los archivos del directorio en el que nos encontramos usando el formato largo
ls -F Lista los archivos del directorio en el que nos encontramos indicando, además, el tipo de archivo que es.
ls -laC Lista los archivos del directorio en el que nos encontramos usando el formato largo, y distribuyéndolo en columnas.
rm archivo Borra el archivo o directorio (siempre que éste esté vacío) llamado "archivo"
rm -rf directorio Borra un directorio completo y todos los archivos y subdirectorios contenidos en él
cp archivo /home/directorio Copia el archivo llamado "archivo" en el directorio llamado "/home/directorio"
mv archivo /home/directorio Traslada el archivo llamado "archivo" al directorio llamado "/home/directorio"
cat archivo Muestra el contenido del archivo llamado "archivo"

1