Saltar a contenido

El sistema operativo Linux

Comencemos por dejar algo muy claro. Linux no es un sistema operativo completo, sino un kernel.

Se trata de un proyecto iniciado en 1991 por un programador finland茅s, Linus Torvalds, y se mantiene como desarrollo comunitario. V茅ase el repositorio oficial del proyecto en este enlace, o los archivos de trabajo en plataformas como GitHub o GitLab.

Para utilizarlo en nuestro ordenador, tenemos que instalarlo en nuestra computadora y complementarlo con el resto de programas. De hecho, en la actualidad existen multitud de sistemas operativos que incorporan Linux como n煤cleo. Android o Chrome OS, por ejemplo, forman parte de la lista. Y no solo ordenadores, sino tambi茅n otros dispositivos como es el caso de televisores, tel茅fonos, y toda clase de dispositivos inteligentes.

Los or铆genes

Linux es un kernel inspirado en UNIX, un sistema operativo ideado a finales de los a帽os sesenta del pasado siglo, que ha llegado a convertirse en una especie de est谩ndar en el mundo de la inform谩tica y ha sido muy popular en grandes instalaciones y servidores corporativos.

Antes de UNIX, los sistemas operativos eran un software concebido a la medida de cada fabricante y de cada modelo de ordenador. A mediados de la d茅cada de 1960 el Massachusetts Institute of Technology (MIT) puso en marcha un proyecto para crear un sistema operativo universal. En esta iniciativa participaron los Laboratorios Bell, una empresa dedicada a la investigaci贸n que por aquella 茅poca era subsidiaria de la multinacional AT&T.

El proyecto fue bautizado con el nombre de Multics (Multiplexed Information and Computing Service) y pronto surgieron las primeras dificultades y desacuerdos debido a que los resultados obtenidos no iban en la l铆nea deseada. Bell Labs abandon贸 en 1969.

Era una 茅poca en la que no exist铆an los ordenadores dom茅sticos, y los profesionales ten铆an que dedicar parte de su tiempo libre a la tarea de aprender practicando con las m谩quinas de la empresa. Uno de los ingenieros de Bell Labs, Ken Thompson, hab铆a estado desarrollando varios programas en los ordenadores utilizados en el proyecto Multics, y para seguir con sus experimentos, pidi贸 a la empresa que le prestaran un viejo DEC PDP-7 que estaba en desuso. All铆 hab铆a que desarrollarlo todo, empezando por un sistema operativo en miniatura, y Thompson convirti贸 este reto en una especie de proyecto personal basado en su experiencia en el proyecto Multics.

Poco a poco y con la ayuda de otros colegas, el nuevo sistema operativo fue evolucionando, siendo trasladado a otras m谩quinas m谩s potentes para comprobar su portabilidad, y convirti茅ndose finalmente en un software corporativo, bautizado inicialmente con el nombre de Unics (por oposici贸n a Multics), y definitivamente como Unix.

En principio, los Laboratorios Bell no ten铆an la idea de comercializar el software, aunque lo patentaron y pusieron a disposici贸n de varias universidades, lo que hizo que muchas personas empezaran a utilizarlo y se implicaran en el desarrollo de Unix. Poco a poco su uso se extendi贸 a la empresa privada, y en 1975 AT&T retir贸 el permiso para que Unix fuera utilizado libremente, creando una divisi贸n corporativa denominada Unix Systems Laboratories, para explotar comercialmente el software bajo el nombre de Unix System V. Mantuvo el negocio hasta 1993 cuando se lo vendi贸 a Novell.

Todo esto di贸 lugar a una situaci贸n bastante inc贸moda, ya que hab铆a universidades que se hab铆an implicado en el desarrollo de Unix. Varios cient铆ficos de la Universidad de Berkeley California se pusieron de acuerdo para recopilar el material y presentar un clon llamado Unix BSD (Berkeley Software Distribution).

Adem谩s de Unix System V y UNIX BSD, con el paso del tiempo aparecieron otras versiones, todas ellas basadas en el mismo est谩ndar. IBM, por ejemplo, lanz贸 AIX en 1986. Sun Microsystems (posteriormente adquirida por Oracle) hizo lo mismo con Solaris, e incluso Microsoft hizo un t铆mido intento de comercializar un sistema operativo llamado Xenix, aunque con el tiempo descart贸 el proyecto y prefiri贸 desarrollar Windows. Los ordenadores Apple, por su parte, tambi茅n apostaron por Unix y en la actualidad los Mac utilizan un derivado de UNIX BSD denominado Darwin, y comercializado como Mac OS.

Para luchar contra todos estos intereses comerciales, un grupo de ingenieros del MIT liderados por Richard Stallmann crearon a principios de los a帽os ochenta la Free Software Foundation, una organizaci贸n sin 谩nimo de lucro cuyo prop贸sito es promocionar la libertad en el uso del software, m谩s all谩 de patentes y restricciones.

Uno de los proyectos m谩s notables de esta organizaci贸n fue impulsar la creaci贸n de un sistema operativo libre. Estaba inspirado en el est谩ndar UNIX y fue bautizado con el nombre de GNU, acr贸nimo de GNU is Not Unix. Su p谩gina web es https://www.gnu.org.

GNU se convirti贸 en un esfuerzo comunitario en el que muchos programadores aportaban sus colaboraciones. Hacia 1990 el proyecto estaba bastante avanzado, pero faltaba la pieza esencial, un kernel. En el proyecto se estaba utilizando uno llamado TRIX, desarrollado por el MIT, pero que no resultaba adecuado por no ser del todo compatible con los est谩ndares UNIX. Hubo algunos intentos de buscar otra alternativa que no llegaron a cuajar, como es el caso del proyecto Hurd, creado en 1990, que no logr贸 atraer suficiente esfuerzo de desarrollo, dejando a GNU incompleto.

En 1987, Andrew S. Tanenbaum, un profesor universitario holand茅s, escribi贸 un libro llamado Operating Systems: Design and Implementation, explicando como crear un sistema operativo tipo Unix. Detallaba todo el proceso de creaci贸n de un kernel en miniatura, al que de bautiz贸 como MINIX.

En 1991, Linus Torvalds utiliz贸 MINIX como punto de partida para concebir un kernel que con el paso del tiempo se convirti贸 en un proyecto colaborativo al que han ido sum谩ndose muchas personas. Originalmente fue conocido como "El Unix de Linus", en ingl茅s, Linus Unix, lo que finalmente se convirti贸 en la denominaci贸n oficial, "Linux".

GNU adopt贸 Linux como kernel, pero Torvalds prefiri贸 mantenerse al margen de esa comunidad, y su proyecto sigue desarroll谩ndose como software independiente, presentando peri贸dicamente nuevas versiones ampliadas que son utilizadas como n煤cleo de muchos dispositivos y sistemas operativos.

Existe una controversia acerca de la denominaci贸n de Linux como sistema operativo, que los defensores de GNU prefieren denominar GNU/Linux. V茅ase art铆culo en la wikipedia.

Acerca de Tux

La mascota oficial del proyecto Linux es un ping眉ino llamado Tux. Fue dise帽ado por Larry Ewing en 1996, aunque la idea de adoptar este animal como imagen oficial surgi贸 del propio Linus Torvalds, quien ten铆a cierta fijaci贸n por estas aves tras haber sido mordido por una de ellas en el zool贸gico de Canberra, Australia.

Existen varias versiones sobre el origen del nombre. La m谩s aceptada es que Tux sea una contracci贸n de Torvalds' Unix, es decir, "el Unix de Torvalds".

Distribuciones

Si Linux solo es un kernel, 驴que necesitamos para usarlo en nuestro ordenador? Recopilar el resto de programas, a帽adir un shell y otras utilidades, instalar el conjunto en nuestro equipo, y configurarlo para que todo vaya bien. O bien conseguir una recopilaci贸n realizada y distribuida por alg煤n colectivo o empresa.

En la actualidad existen multitud de "distribuciones" (familiarmente conocidas como "distros" en la jerga inform谩tica), unas de car谩cter comunitario y otras comerciales. Basta con apostar por cualquiera de ellas, acudir a su p谩gina web, descargar el paquete, e instalarlo en nuestro ordenador.

Una de las peculiaridades del software libre es que podemos utilizarlo a nuestro gusto, hacer copias, modificarlo y redistribuirlo. Podemos tomar una distribuci贸n ya existente, introducir algunos cambios, a帽adir nuestros programas favoritos, y de esta forma crear una nueva "distro" bautizada con nuestro nombre, si ese es nuestro deseo. De esta forma veremos que hay distribuciones que est谩n basadas en otras. 驴Cuantas "distros" existen hoy en d铆a? Cientos. V茅ase una lista de las m谩s notables en la Wikipedia. Podemos consultar un ranking de popularidad en http://distrowatch.com/.

Sin 谩nimo de ser exhaustivos, veamos una peque帽a selecci贸n de distros m谩s o menos populares. Algunas son comerciales, lo que significa que tenemos que pagar por el esfuerzo de recopilaci贸n de software (aunque sean programas libres), las herramientas a帽adidas por la empresa, la documentaci贸n proporcionada o el servicio de soporte t茅cnico.

Algunas distribuciones pueden incluir programas con licencia de uso y propiedad intelectual. Otras tratan de evitar este tipo de software.

GNU

slackware Aunque es el pionero de los sistemas operativos Linux, en realidad, GNU no puede considerarse como una distribuci贸n, sino como una amplia colecci贸n de software que puede ser configurada para crear distribuciones. De hecho, el proyecto GNU da cobijo y avala a varias como Trisquel o PureOS, por ejemplo.

Slackware

slackware Es la distribuci贸n m谩s antigua de las que existen en activo. Fue creada en 1993, y su filosof铆a es lograr una r茅plica de UNIX, sin grandes alardes, sacrificando la vistosidad en beneficio de lograr un sistema estable y s贸lido. Es una distro popular entre administradores de servidores y grandes sistemas, aunque no deja de ser la "abuela", y quiz谩s no resulte tan atractiva como otras distribuciones m谩s actuales.

Es un proyecto mantenido por la comunidad de usuarios. Su p谩gina web es http://www.slackware.com

SuSE

opensuse De origen alem谩n, comenz贸 siendo una versi贸n de slackware con alg煤n software a帽adido. M谩s tarde se independizaron con el prop贸sito de superar esa barrera de austeridad autoimpuesta y convertirse en una recopilaci贸n de software lo m谩s completa posible.

Es una distribuci贸n comercial, actualmente en manos de la empresa Micro Focus International. Patrocinan una versi贸n comunitaria de libre descarga, llamada openSUSE.

P谩gina web de openSUSE: https://es.opensuse.org/

Red Hat

redhat Tambi茅n es una de las pioneras, habi茅ndose convertido con el paso del tiempo en la distribuci贸n comercial por excelencia, orientada al mundo de la empresa. Su p谩gina web es https://www.redhat.com/.

La compa帽铆a que lo distribuye fue adquirida por IBM en julio de 2019.

fedora De Red Hat se derivan otras muchas, e incluso hay una que patrocinan ellos mismos con el nombre de Fedora, que se mantiene como esfuerzo comunitario y sirve de campo de ensayo para las novedades que posteriormente se trasladar谩n a RedHat.

P谩gina web de Fedora: https://fedoraproject.org

Debian

debian Ante la proliferaci贸n de versiones comerciales, en 1993 se puso en marcha un proyecto para lograr un sistema operativo completamente ajeno a intereses de empresas, excluyendo todo software con licencias de uso restrictivas. Debian est谩 considerada la distribuci贸n libre por excelencia y otras muchas distros est谩n basadas en ella.

Es una distribuci贸n mantenida por la comunidad de usuarios. Su p谩gina web es: https://www.debian.org/

Ubuntu

ubuntu Es una de las distribuciones m谩s populares. Fue creada en 2004 por una empresa llamada Canonical, con sede en la Isla de Man y patrocinada por el multimillonario sudafricano Mark Shuttleworth. Su prop贸sito es conseguir que todo el mundo tenga acceso a las tecnolog铆as de la informaci贸n, convirtiendo Linux en un producto con la calidad de otros sistemas operativos comerciales, f谩cil de usar, y extendido a otros tipos de dispositivos, televisores, tel茅fonos m贸viles, etc.

Es una distribuci贸n basada en Debian. Su p谩gina web es https://www.ubuntu.com

Mint

mint Mint es una distribuci贸n derivada de Ubuntu. Hereda sus caracter铆sticas de facilidad de uso, solidez y estabilidad, a帽adiendo un "lavado de cara" para solucionar algunos problemas y mejorar la experiencia de usuario. Desde su primera aparici贸n, se ha convertido en una de las "distros" m谩s apreciadas.

Es una distribuci贸n comunitaria. Su p谩gina web es https://linuxmint.com

Arch

arch Las primeras distribuciones eran simples recopilaciones de software destinadas a usuarios con los suficientes conocimientos t茅cnicos como para instalar y configurar su equipo. Con el paso de los a帽os, la mayor铆a de las "distros" han evolucionado para convertirse en paquetes con una calidad similar a los sistemas comerciales, acerc谩ndose al usuario medio e incorporando toda clase de mecanismos automatizados para gestionar nuestro equipo e instalar nuevo software.

Pero muchos usuarios avanzados encuentran que se ha perdido cierta libertad en la configuraci贸n del sistema. Arch fue creada en 2002 como respuesta a esta inquietud. Su filosof铆a es presentar un entorno orientado a quienes les guste "trastear" y configurar el sistema a mano.

P谩gina web: https://www.archlinux.org

Knoppix

arch KNOPPIX es un sistema concebido para arrancar desde un CD, DVD o unidades flash USB. Su punto fuerte es la detecci贸n autom谩tica de hardware y el soporte para muchas tarjetas gr谩ficas, tarjetas de sonido, dispositivos SCSI y USB y otros perif茅ricos.

Es un derivado de Debian, y tiene una marcada vocaci贸n para ser utilizado como sistema de rescate cuando tenemos un disco duro deteriorado y necesitamos recuperar su contenido.

P谩gina web: http://www.knoppix.org

Diferencias entre distribuciones

驴Que distribuci贸n escoger? La lista es muy extensa, y las mencionadas en el apartado anterior son solo una peque帽a muestra. En l铆neas generales, el principal factor a tener en cuenta es la experiencia de usuario, ya que las aplicaciones que instalemos, tales como procesador de textos, visor de fotograf铆a, videos, navegador de internet o gestor de correo suelen ser comunes a todas las distros.

En esta p谩gina podemos ver un an谩lisis comparativo. Examinemos algunas diferencias:

  • La arquitectura.

    Todos los ordenadores llevan internamente un conjunto de chips, algo que se conoce como Unidad Central de Proceso, o CPU. Hoy en d铆a, en el caso de ordenadores de escritorio, se encuentra muy extendido el uso de chips Intel de 64 bits, u otros modelos compatibles, a lo que se adaptan la mayor铆a de distribuciones Linux.

    Pero hay otros modelos de CPU. Si tenemos un ordenador Mac, como es mi caso, tendremos que buscar versiones de Linux para procesadores tipo ARM, lo que limita las opciones.

    Podemos consultar una lista de distribuciones seg煤n arquitectura en la Wikipedia.

    La arquitectura Apple

    El primer Mac, introducido en 1984, ten铆a una CPU basada en la serie de chips Motorola 68000. En 2005 se di贸 el salto a procesadores Intel, mejorando las posibilidades de compatibilidad con el software existente.

    A lo largo de la d茅cada de 2010, en Apple se fue desarrollando una cierta frustraci贸n por los pocos avances de Intel, por lo que en 2020 se inagur贸 una tercera generaci贸n de Macs, que incorporaba chips de fabricaci贸n propia, los Apple silicon.

    Los chips Apple, basados en arquitectura ARM, son incompatibles con el software desarrollado para Intel, por lo que al instalar Linux en una m谩quina virtual, como se explica en este cuaderno, tenemos que asegurarnos de que, tanto el software de virtualizaci贸n, como la distribuci贸n Linux a instalar, son versiones para la arquitectura ARM de Apple Silicon. Las versiones para chips de Intel (AMD/x86_64) no nos sirven.

  • El hardware contemplado.

    Las distribuciones suelen venir preparadas para detectar y configurar autom谩ticamente el hardware de nuestro equipo, teclado, pantalla, tarjeta gr谩fica, etc. Si tenemos problemas con una distribuci贸n, porque no incluye los drivers necesarios, no reconoce una tarjeta de sonido demasiado novedosa, o no se ajusta a alg煤n componente de nuestra m谩quina, podemos probar con otra "distro".

  • La selecci贸n de software.

    Las distribuciones son recopilaciones de programas, y encontraremos varios alternativos para la misma tarea. Cada distribuci贸n puede apostar por unos u otros programas, aunque podemos instalar manualmente nuestros favoritos.

    Hay distribuciones que vienen configuradas con un prop贸sito y dirigidas a cierto tipo de usuario, en funci贸n del software incluido. Algunas se dirigen a principiantes absolutos, y otras a usuarios avanzados. Las hay concebidas para llevar a cabo tareas espec铆ficas, apostando por una recopilaci贸n de programas de oficina, de edici贸n de audio/video, o dise帽o gr谩fico, pongamos por caso. Hay distribuciones que se dirigen a quienes desean una amplia selecci贸n de juegos, y otras han sido concebidas para configurar un servidor web.

  • Las licencias de uso.

    Hay distribuciones que incluyen software con licencia comercial, aunque de libre uso. Otras, como es el caso de Debian, excluyen todo tipo de programas con licencia propietaria.

  • El programa de instalaci贸n y configuraci贸n del sistema operativo.

    Cada distribuci贸n tiene su propio programa instalador. Suele ser un asistente que nos va guiando durante el proceso de forma c贸moda, aunque algunas distribuciones, como es el caso de Arch o Slackware, se basan en un entorno bastante austero y t茅cnico.

    • Redhat, Fedora y derivados disponen de un programa instalador llamado Anaconda
    • Debian tiene su propio programa Debian Installer
    • Ubuntu y derivados tienen un instalador llamado Ubiquity.
    • SuSE y derivados utilizan el programa YaST
  • El repositorio de software.

    Si queremos a帽adir nuevos programas, basta con acudir a un servidor proporcionado por la "distro", donde encontraremos miles de paquetes. El proceso es c贸modo; generalmente basta con seleccionar un paquete y pulsar sobre un bot贸n para instalarlo.

    Los repositorios de RedHat, y Debian, est谩n entre los m谩s grandes. Otras distribuciones se benefician de estas colecciones, con a帽adidos propios. Es el caso de Ubuntu, quien basa sus repositorios en los de Debian, aunque mantiene en paralelo un repositorio propio llamado la tienda de Snaps.

    Una alternativa a los Snaps de Ubuntu es un repositorio llamado Flatpak, que es independiente de las distribuciones, y admitido por muchas de ellas.

    De todas formas, tambi茅n podemos obtener programas descarg谩ndolos directamente de su p谩gina web, con lo que nos aseguraremos de obtener la versi贸n m谩s reciente.

  • El escritorio.

    Ya hemos visto que el kernel es la pieza clave del sistema operativo, pero tenemos que complementarlo con un programa de escritorio, y hay varias alternativas.

    Cada distribuci贸n apuesta por un escritorio u otro. En el cap铆tulo siguiente veremos algunos de los programas de escritorio m谩s relevantes.

Versiones LTS

Las distribuciones suelen publicarse en forma de sucesivos lanzamientos (releases), incorporando novedades, nuevos paquetes de software, actualizaci贸n de los ya existentes, etc茅tera. Esto nos permitir谩 descargar cada cierto tiempo la 煤ltima versi贸n de la distribuci贸n, instalarla en nuestra computadora sustituyendo a la versi贸n anterior, y ponernos al d铆a.

Se suele incluir un programa que mantenga el sistema actualizado de forma permanente, ejecut谩ndose en la sombra y descargando e instalando diariamente las actualizaciones, de forma manual o autom谩tica, seg煤n lo tengamos configurado. Las distribuciones suelen comprometerse a un per铆odo de mantenimiento, transcurrido el cual, dejan de proporcionar estas actualizaciones y esperan que sustituyamos nuestro sistema operativo por una versi贸n m谩s reciente.

Sin embargo, la incorporaci贸n de las 煤ltimas novedades no est谩 exenta de riesgos. Los nuevos lanzamientos pueden incorporar software que todav铆a no ha pasado por un per铆odo de maduraci贸n, y quiz谩s presente algunos fallos. Por este motivo, la pol铆tica de muchas distribuciones suele ser proporcionar dos versiones del sistema operativo:

  • versi贸n est谩ndar, con las 煤ltimas novedades, y un compromiso de actualizaciones hasta que se lance la siguiente versi贸n
  • versi贸n LTS (long time support), con una selecci贸n de software no tan actual, pero s贸lida, contrastada, y con un per铆odo m谩s largo de actualizaciones

Descargar e instalar una u otra es nuestra elecci贸n.