Introducción a GNU/Linux

La introducción a GNU/Linux abarca el conocimiento fundamental sobre el sistema operativo libre y de código abierto que sustenta gran parte de la infraestructura tecnológica mundial, desde servidores web y supercomputadoras hasta dispositivos móviles y sistemas embebidos.

Para un profesional técnico, dominar los conceptos básicos de GNU/Linux, comprender la relación entre el núcleo y la interfaz de comandos, y asimilar la filosofía del software libre es indispensable para desenvolverse con soltura en entornos profesionales de administración de sistemas y redes.

Conceptos Clave de la Arquitectura GNU/Linux

La estructura de un sistema GNU/Linux se compone de capas bien definidas que separan el control del hardware de la interacción con el usuario:

    Distribuciones GNU/Linux (Distros): Al ser un sistema modular, una distribución es el resultado de combinar el núcleo Linux, las herramientas del proyecto GNU, utilidades de sistema, gestores de paquetes y un entorno gráfico preconfigurado. Ejemplos populares incluyen Ubuntu, Debian, Fedora, Arch Linux o Red Hat Enterprise Linux (RHEL).
    Estructura del Sistema: A diferencia de otros sistemas operativos, en GNU/Linux todo se representa conceptualmente como un archivo (incluyendo los dispositivos de hardware). El sistema de archivos sigue una jerarquía estándar única (FHS - File Hierarchy Standard) que parte de un directorio raíz (/), organizando los binarios, configuraciones y datos de manera estructurada (por ejemplo, /etc para configuraciones, /home para usuarios o /var para registros).
    Kernel y Shell: El Kernel (Núcleo) es el corazón del sistema operativo; se ejecuta con privilegios máximos y gestiona directamente el hardware, la memoria, los procesos y los controladores. El Shell (Intérprete de comandos) es la interfaz que procesa las órdenes introducidas por el usuario (como Bash o Zsh) y las traduce para que el kernel las ejecute.
    Entorno Gráfico y Terminal: El Entorno Gráfico (GUI) ofrece una interfaz visual de escritorio (como GNOME o KDE Plasma) similar a la de otros sistemas operativos. La Terminal (CLI) es la interfaz de línea de comandos, una herramienta extremadamente potente y precisa que permite a los administradores gestionar el sistema de forma rápida, automatizable y eficiente.
    Filosofía del Software Libre: Movimiento ideológico y práctico basado en las cuatro libertades esenciales definidas por la FSF (Free Software Foundation): la libertad de usar el programa con cualquier propósito, de estudiar cómo funciona y modificarlo, de redistribuir copias, y de mejorar el software y hacer públicas las modificaciones.

Analogía: Imagina un gran reloj mecánico de alta precisión. Las distribuciones GNU/Linux equivalen a los diferentes modelos acabados de relojes que comercializan distintos fabricantes utilizando la misma maquinaria interna; el Kernel es el mecanismo central de engranajes y muelles que hace funcionar el reloj de manera invisible; el Shell es la palanca o rueda de ajuste que permite al relojero interactuar directamente con la maquinaria; el Entorno gráfico es la esfera exterior decorada con manecillas legibles para el público general; la Terminal es la mesa de trabajo de alta precisión del técnico con herramientas de micromecánica; y la Filosofía del software libre representa que los planos de fabricación del reloj son públicos, permitiendo que cualquiera pueda abrirlos, estudiarlos, mejorarlos o construir sus propias piezas libremente.

Actividad práctica

Objetivo:

Familiarizarse con la estructura de directorios de GNU/Linux, la diferencia entre terminal y entorno gráfico, y la consulta básica de información del sistema.

Tareas:

  1. Abre la terminal de un entorno GNU/Linux (o utiliza una máquina virtual de pruebas) y ejecuta comandos básicos de exploración como pwd (ver ruta actual), ls / (listar el directorio raíz) y uname -r (ver la versión del kernel activo).
  2. Explora el entorno gráfico instalado (GNOME, KDE u otro) y localiza las herramientas de configuración del sistema y el emulador de terminal.
  3. Investiga qué gestor de paquetes utiliza tu distribución elegida (por ejemplo, apt en Ubuntu/Debian o dnf en Fedora) para comprender cómo se instalan y actualizan las aplicaciones.
  4. Reflexiona sobre cómo el principio de que "en Linux todo es un archivo" simplifica la tarea de los administradores a la hora de configurar componentes de hardware o servicios del sistema.

Preguntas de reflexión:

    ¿Qué diferencias operativas y filosóficas existen entre el concepto de una distribución GNU/Linux y un sistema operativo monolítico tradicional?
    ¿Por qué se considera al Kernel Linux el componente crítico y central de la arquitectura del sistema operativo?
    ¿Qué ventajas aporta el uso de la terminal (línea de comandos) frente al entorno gráfico en la administración avanzada de servidores?
    ¿Cuáles son las cuatro libertades fundamentales que definen el software libre según la Free Software Foundation?
    ¿Qué utilidad aporta la jerarquía estándar del sistema de archivos (FHS) a la hora de mantener compatibilidad entre diferentes distribuciones GNU/Linux?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Qué diferencia hay entre una distribución y un sistema monolítico?

Una distribución GNU/Linux es un ecosistema modular formado por la unión del núcleo Linux (desarrollado por Linus Torvalds y colaboradores) combinado con las herramientas del proyecto GNU y software de terceros empaquetado de forma coherente. En los sistemas operativos monolíticos tradicionales, todo el software (interfaz, núcleo y utilidades) está fuertemente integrado y controlado por un único fabricante propietario sin posibilidad de sustituir módulos libremente.


2. ¿Por qué el Kernel Linux es el componente crítico del sistema?

Porque actúa como el puente absoluto de comunicación entre el software de las aplicaciones y el hardware físico (procesador, memoria RAM, dispositivos de almacenamiento y periféricos). Controla la asignación de recursos, la multitarea, la seguridad y los controladores de dispositivos; si el kernel falla o se corrompe, todo el sistema operativo colapsa.


3. ¿Qué ventajas aporta la terminal frente al entorno gráfico?

La terminal consume una cantidad mínima de recursos de hardware (ideal para servidores remotos), permite ejecutar tareas repetitivas o complejas mediante scripts de automatización de forma rápida, ofrece un control absoluto y granular sobre los archivos de configuración mediante comandos precisos, y facilita la administración remota a través de conexiones seguras y ligeras (como SSH).


4. ¿Cuáles son las cuatro libertades fundamentales del software libre?

Según la FSF, son: 0) La libertad de ejecutar el programa como se desee, con cualquier propósito; 1) La libertad de estudiar cómo funciona el programa y cambiarlo para que haga lo que se desee (acceso al código fuente); 2) La libertad de redistribuir copias para ayudar al prójimo; y 3) La libertad de distribuir copias de las versiones modificadas a terceros, permitiendo que toda la comunidad se beneficie de las mejoras.


5. ¿Qué utilidad aporta la jerarquía estándar (FHS)?

El FHS (File Hierarchy Standard) garantiza que, independientemente de la distribución GNU/Linux que se utilice (ya sea Ubuntu, Red Hat o Debian), los archivos de configuración residan siempre en rutas equivalentes (como /etc), los binarios ejecutables estén en directorios estandarizados (como /usr/bin) y los datos de usuario se ubiquen de forma predecible, facilitando enormemente la labor de los administradores y el desarrollo de software compatible.