1. ¿Qué es Linux?

En puridad, deberíamos empezar por el principio, esto es, por UNIX

1.1. UNIX

UNIX nació como sistema operativo en 1969 en los Laboratorios Bell de AT&T de la mano de Ken Thompson y Dennis Ritchie. Este último fue, además, el creador del lenguaje de programación C, diseñado precisamente para el desarrollo de UNIX. La implementación en C permitió portar UNIX a distintas plataformas de manera mucho más sencilla que si se hubiera escrito en ensamblador (como se hizo en un principio) y esa circunstancia fue parte de su éxito.

UNIX consta de un núcleo, un sistemas de ficheros, una serie de pequeñas utilidades y una shell que permite combinar estas utilidades para realizar labores más complejas.

AT&T distribuyó inicialmente UNIX a algunas universidades que podían estudiarlo, adaptarlo y hacerle sus propios añadidos. Una de las licenciatarias fue la Universidad de Berkeley, que hizo importantes aportaciones (p.e. la adición del protocolo TCP/IP para comunicaciones) y desarrollo una versión propia basada en la versión 4 de UNIX llamada BSD a la que con el tiempo se le retiró todo rastro del código original para evitar problemas de licencias. La última version desarrollada por Berkeley fue la 4.4 a partir de la cual se desarrollaron las principales distribuciones BSD existentes en la actualidad: FreeBSD, NetBSD o OpenBSD.

No obstante, el problema de licencias con AT&T, provocó que durante el periodo de dos años en que se desarrolló pleito (de 1992 a 1994) no se desarrollaran versiones libres de BSD, lo que favoreció el interés por Linux, que había nacido en julio de 1991 y se había liberado en octubre de ese mismo año.

Por cortesía de wikipedia[1], este es la historia esquemática de los distintos unices:

../_images/Unix_history-simple.svg

Actualmente hay tres grandes familias de sistemas UNIX:

1.2. Linux

Linux es un sistema operativo libre que emula el comportamiento de UNIX aunque no es UNIX, pues no está certificado como tal. No deriva del UNIX de los Laboratorios Bell, sino que es creación original de Linus Torvald, que, en 1991, siendo aún estudiante en la universidad de Helsinki deseaba tener un UNIX para ordenadores PC y no estaba del todo satisfecho con la licencia de MINIX, otro clon de sistemas UNIX desarrollado por Andrew S. Tanenbaum, que sólo permitía su uso educativo. En realidad, para entonces ya existía un UNIX gratuito para la arquitectura PC, el citado BSD, pero se hallaba enfracado en una disputa legal con AT&T.

Concepto

En puridad Linux es sólo el núcleo del sistema, mientras que el resto de programas básicos (shell, compilador, pequeñas aplicaciones) proceden en gran parte del proyecto GNU, que aun habiendo desarrollado desde 1983 muchas de las aplicaciones del UNIX original aún carecía en 1991 de un núcleo operativo.

Aunque el creador original de Linux fue Torvald, pronto adoptó un desarrollo colaborativo a través de internet[2] y en la actualidad es desarrollado por voluntarios y empleados de grandes empresas con interés en el desarrollo del sistema como IBM, Google o Red Hat[3].

Nota

Por lo general, cuando usemos el término Linux en este documento nos referiremos al sistema completo, no sólo al kernel.

Distribuciones

Utilizar directamente el kernel descargado de Linux es poco menos que inviable, así que éste se hace accesible a los usuarios a través de lo que se conoce como una distribución (o, coloquialmente, distro). Una distribución es una colección completa de software organizada alrededor de un núcleo de Linux que constituye un sistema operativo funcional y proporciona un instalador, un sistema de gestión de software, una organización de archivos y algunos aspectos básicos más.

Por tanto, «instalar Linux» implica en realidad escoger e instalar una distribución de Linux; y «utilizar Linux», utilizar una distribución de Linux. Y, aunque gran cantidad del software que instalan todas las distribuciones es común (por ejemplo, las herramientas GNU), hay notables diferencias entre ellas.

Nota

Los sistemas operativos se distribuyen a menudo junto a un conjunto de herramientas que permite instalarlos y utilizarlos cómodamente. Así es, por ejemplo, como Microsoft distribuye su Windows. La diferencia fundamental entre la forma en que se distribuye Windows y una distribución de Linux es que estas distribuciones pretenden hacer disponible al usuario todas las aplicaciones que pueda necesitar, mientras que Windows sólo facilita un conjunto muy limitado, y es el usuario el encargado de obtener, descargar e instalar el resto de software.

Sea como sea, hay centenares de distribuciones, algunas generalistas y otras orientadas a ciertos nichos. Distrowatch es un buen punto para conocer gran parte de ellas. Sin embargo, no todas las distribuciones son independientes entre sí: lo habitual es que una distribución tome su base de otra y añada o modifique ciertos aspectos.

Sin ser muy exhaustivos, las principales distribuciones son:

  1. Slackware, la más veterana superviviente junto a Debian y que se caracteriza por intentar mantener simple su diseño (principio KISS).

  2. Debian, que es posiblemente la que ha dado lugar a mayor cantidad de derivadas. Es muy apreciada su versión estable para servidores:

    • Ubuntu, que nació en principio para acercar Linux al usuario novel. Con su popularización ha ido diversificándose y ahora proporciona también versiones pensadas para servidor.

      • Mint. que tiene versiones basadas tanto en Ubuntu como en Debian y se orienta al usuario novel.

    • Kali Linux, muy usada en auditoría y seguridad informáticas. Es básicamente una versión live[4] de Debian con software adicional de auditoría y ataque.

  3. RedHat, que es la distribución desarrollada por la empresa del mismo nombre (y desde 2019 filial de IBM). Formalmente desapareció en 2003, cuando se desdobló en dos: RHEL como versión comercial y Fedora como versión comunitaria.

    • Fedora, que es la versión comunitaria de Red Hat (más bien, RHEL).

    • CentOS, que es la versión gratuita de RHEL. Red Hat sólo distribuye las versiones terminadas de RHEL para sus suscriptores de pago, pero publica el código fuente bajo licencia GPL. Los voluntarios de CentOS toman ese código fuente, eliminan todas las marcas comerciales referentes a Red Hat y compilan para crear un producto terminado. El proyecto ha acabado patrocinado por la propia Red Hat y hasta finales de 2020 seguía esta filosofía. Sin embargo, en diciembre de ese año, Red Hat decidió convertir CentOS en una distribución de liberación continua renombrándola como CentOS Stream, por lo que su fundador original creó Rocky Linux con el fin de continuar la idea original. Otra distribución creada para mantener la filosofía original es Alma Linux.

  4. Suse, distribución comercial de la empresa alemana del mismo nombre, que actualmente es propiedad de Novell. Tiene una versión comunitaria denominada OpenSuse.

  5. Gentoo, cuya particularidad fundamental es no distribuir el software precompilado, sino su código fuente junto a las reglas necesarias para su compilación.

  6. Archlinux, orientada a usuarios avanzados y que persigue el principio KISS.

    • Manjaro, que es una derivada de Archlinux enfocada a proporcionar una instalación sencilla para usuarios menos avanzados.

  7. Linux from Scratch (o LFS), que no es propiamente una distribución, sino un conjunto de instrucciones para construir un sistema Linux completo desde cero.

Ver también

LinuxTimeLine proporciona un gráfico que refleja la aparición de las principales distribiciones de Linux y cuál es el parentesco entre ellas.

Una diferencia fundamental entre distribuciones estriba en cuál es su filosofía de actualización, esto es, si liberan periódicamente una versión estable o si por el contrario son de liberación continua (ambos términos se tratan al analizar el ciclo de vida de las distribuciones). Según esta característica las referidas distribuciones se agrupan así:

Con liberación de versiones

De liberación continua

Slackware

Gentoo

Debian (estable)

Debian (testing, sid)

Ubuntu

Archlinux

Mint

Manjaro

Kali Linux

CentOS Stream

RHEL

SliTaz

Fedora

CentOS (ahora Rocky Linux, Alma Linux)

Suse/OpenSuse

Distribución de referencia

La distribución de referencia para la elaboración de los apuntes es la rama estable de Debian (véanse cuáles son sus distintas ramas). La redacción se comenzó en 2016 cuando lo era Jessie (la versión 8.0), aunque por estar próxima a concluir su ciclo se procuró adaptar el contenido a la versión 9.0 Stretch. Desde entonces se han publicado nuevas versiones (Buster, Bullseye) y la redacción de nuevos epígrafes y la revisión de algunos ya escritos se ha ido procurando adaptar a ellas, pero pueden existir partes que no hayan recibido revisión y, por tanto, tengan alguna explicación que haya perdido validez o requiera alguna pequeña adaptación.

Fuera de Debian, la mayor parte de las explicaciones debería ser válida para sus distribuciones derivadas.

Notas al pie