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 complementándolo 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 de comunicaciones 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 y otros organismos públicos, 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 MacOS.
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 todo el conjunto en nuestro equipo, y configurarlo para que 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
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
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
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. La empresa patrocina una versión comunitaria de libre descarga, llamada openSUSE.
Página web de openSUSE: https://es.opensuse.org/
Red Hat
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.
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
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
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 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
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
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: https://www.knopper.net/knoppix
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, sean versiones para la arquitectura ARM propia 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, aunque en el momento de escribir esto, las nuevas versiones están apostando por un nuevo software de instalación.
-
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 en este apartado encontraremos 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 versión es nuestra elección.