Linux® al grano para usuarios principiantes, intermedios y avanzados: Todo lo que necesitamos saber

Henry Javier Almarza Cañizalez
Pragma
Published in
13 min readJun 27, 2024

En el mundo de los sistemas operativos para computadores portátiles, de escritorio o servidores, es común escuchar de 3 principales opciones (aunque no son las únicas): Windows®, Mac OS® y Linux®. Este artículo estará centrado en Linux*.

Muchas personas han oído hablar acerca de Linux pero no lo han usado, algunas lo han usado ocasionalmente por asuntos de trabajo o por curiosidad, y otras más son usuarios activos de este sistema operativo. Sea como sea, este artículo es para todos estos grupos, ya que tiene como finalidad presentar generalidades de Linux, ventajas y otros aspectos que muchos usuarios, incluso usándolo con regularidad, desconocen.

¿Qué ventajas tiene Linux? ¿Es seguro? ¿Es gratuito? ¿Qué lo hace una buena opción? ¿Para qué cosas se puede utilizar? ¿Se necesita tener amplios conocimientos de computación para poder utilizarlo? En este artículo se responderán estas y otras preguntas.

*: de aquí en adelante, en este artículo y en los siguientes, se mencionará a Linux sin el símbolo de marca registrada, esto para efectos de practicidad, pero dejando claro que Linux es una marca registrada de su creador, Linus Torvalds).

Un poco de historia

En 1991, Linus Torvalds, estudiante de Ciencias de la computación en la Universidad de Helsinki, en Finlandia, decidió crear un nuevo núcleo de un sistema operativo libre y haciendo disponible su código fuente. Fue un proyecto personal, un proyecto que quizás ni él mismo sabría en qué se iba a convertir.

Torvalds utilizó como base el sistema operativo MINIX, escrito por Andrew S. Tanenbaum en 1.987, un clon del exitoso sistema operativo UNIX, un sistema operativo comercial, modular y portable, es decir, que puede ser usado en cualquier hardware sin mayores complicaciones. Torvalds utilizó para su desarrollo el compilador GNU C.

En 1.992, se comenzó a portar el sistema de ventanas X a Linux, lo que permitió que este sistema operativo cobrara mayor importancia y pudiese ser usado con mayor facilidad al contar con una interfaz gráfica.

Linux es software libre, lo que significa que cualquiera que desee puede obtener su código fuente y modificarlo libremente según sus necesidades, la idea contraria al software privativo..

Imagen 1: Tux, la mascota oficial de Linux

¿Qué ventajas tiene Linux?

  • En varias distribuciones se puede probar Linux simplemente cargando en memoria el sistema operativo si no se desea instalar (arranque en vivo).
  • Se puede instalar Linux junto a Windows® por medio del cargador de arranque GRUB, y decidir por cuál de los 2 sistemas operativos arrancar una vez inicie el equipo.
  • Por llegar más directamente al hardware, sin tantas interfaces (a diferencia de Windows®), brinda un gran rendimiento y aprovecha mejor el hardware del equipo.
  • Linux puede funcionar en equipos antiguos con pocas prestaciones, sea con o sin interfaz gráfica.
  • Linux es el sistema operativo que se encuentra en la mayoría de los servidores en el mundo, precisamente por su rendimiento, estabilidad y seguridad.
  • Linux tiene un costo cero de licencia en la gran mayoría de sus distribuciones*. Algunas empresas sólo venden, o el soporte empresarial, o los derechos sobre sus productos que funcionan sobre él, no el sistema operativo en sí, ya que por su licencia está prohibida la venta de Linux.
  • Linux brinda gran flexibilidad y personalización según los requisitos de rendimiento, seguridad, funcionalidad u otros, gracias al acceso a su código fuente y una amplia gama de distribuciones disponibles.
  • Posee alta estabilidad y fiabilidad, incluso bajo cargas de trabajo intensas y durante largos períodos de tiempo sin necesidad de reinicios frecuentes.
  • Linux ofrece seguridad robusta por su resistencia al malware y ataques cibernéticos, la cual se basa en principios de diseño de su arquitectura sólidos y en una comunidad activa que trabaja constantemente en la identificación y corrección de vulnerabilidades de seguridad.
  • Linux tiene soporte nativo para la gran mayoría de los lenguajes de programación existentes (salvo para algunos que estén ligados a la arquitectura de hardware del equipo), por lo que desarrollar en Linux no sólo es posible, sino que en muchos casos permite tener mayor productividad por el mejor rendimiento de los recursos de hardware en este sistema operativo.

Algunos datos curiosos de Linux:

  1. El kernel+ de Linux está escrito en lenguaje C, un lenguaje muy potente que permite controlar completamente el hardware, y el lenguaje sobre el que han estado y están desarrollados muchos de los videojuegos para PC y consolas.
  2. Tiene una licencia que prohíbe la distribución comercial: Licencia Pública General (GPL), creada por GNU y avalada por la Free Software Foundation.
  3. Su kernel tiene más de 33 millones de líneas de código fuente, sin contar comentarios.
  4. Mac Os® está basado en UNIX, la misma base de Linux.
  5. Android® está basado en el núcleo de Linux.

*: Aunque la sección 4 hablará sobre este punto, las distribuciones de Linux son mejor conocidas como distros, una abreviatura. Ambos términos se pueden encontrar en la web indistintamente y así se usarán en este artículo.

+: El kernel o núcleo de un sistema operativo es el componente central encargado de comunicar el software con el hardware, administrando los recursos del equipo, gestionando los procesos y brindando seguridad y protección. Es el “cerebro” del sistema operativo .

Distribuciones de Linux

Imagen 2: logos de algunas distribuciones de Linux

En Linux, una distribución es un sistema operativo basado en el núcleo Linux y, a menudo, en un sistema de gestión de paquetes que permiten la instalación de software de forma más sencilla basada en la propia distribución. Existen unas distribuciones específicas llamadas distribuciones base, que es donde se derivan otras distros. Estas son las más populares:

  • ArchLinux: Una distribución de propósito general orientada a usuarios avanzados. Se esfuerza por ofrecer las últimas versiones estables de la mayoría del software. Utiliza el gestor de paquetes Pacman.
  • Debian: Es una distro de propósito general, desarrollada por una comunidad de miles de voluntarios que trabajan remotamente alrededor del mundo. Mantiene una filosofía de que su distribución es 100% software libre. No se caracteriza por tener las últimas versiones de las aplicaciones en sus paquetes, ya que le da mayor importancia a la estabilidad, por lo que los paquetes son probados por un tiempo prudencial hasta que se comprueba su estabilidad y se liberan en la distribución estable. Debian es la distro que más distribuciones hijas tiene. Usa el gestor de paquetes Apt.
  • Red Hat: Desarrollada por la empresa Red Hat®, fue una de las distribuciones más populares para usuarios de escritorio. También fue una de las más robustas. Es la base de la distribución Fedora, que surgió después, y que es una distro orientada a la comunidad, y a su vez Fedora es la base de Red Hat Enterprise Linux, la distro más representativa de la empresa y actualmente activa. Tiene a RPM como su gestor de paquetes.
  • Gentoo: Distribución para usuarios avanzados. Se caracteriza por tener las últimas versiones del software, aunque esto implique a veces que se presenten fallos por no pasar por el período de pruebas de los mismos. Su gestor de paquetes es Portage.
  • Slackware: Es una distro para usuarios avanzados. De facto no incorpora herramientas para resolver dependencias al instalar los paquetes, lo que hace que se tenga más control sobre la instalación de software. Slpkg es su gestor de paquetes.

Por lo general, en cualquier distribución de Linux, también se pueden instalar aplicaciones compilando las mismas desde sus archivos fuente (siempre que el desarrollador del paquete los haga disponibles, claro está). Esto garantiza un funcionamiento 100% compatible con la distribución desde la que se instala dicho paquete. Para ello, normalmente sólo se necesitan herramientas de compilación de lenguaje C instaladas en Linux, las cuales típicamente ya vienen “de fábrica” en muchas de las distros, pero, en caso contrario, se pueden instalar sin problema.

¿De qué depende la elección de una distribución Linux sobre otra? La respuesta es simple, pero compleja: de las necesidades que se tengan. Hay distros de propósito general (se pueden usar para cualquier cosa), hay otras que se enfocan en la ciberseguridad, hay otras que se especializan en ejecutar juegos, otras que son más idóneas para desarrolladores, otras que las mantienen empresas y otras que las mantiene una comunidad de desarrolladores, ya todo depende del uso que se le dará y de la experticia que se tenga de Linux, porque, eso sí, hay unas distros más fáciles de usar que otras.

¿Se puede construir una distro Linux propia?

Seguramente por lo que se ha venido mencionando en el artículo hay una clara respuesta, pero, si aún no es claro, la respuesta directa es: definitivamente sí. Por estar disponible el código fuente del kernel de Linux, se puede ajustar a las necesidades propias y, junto con un entorno de escritorio (opcional si se desea construir, por ejemplo, un servidor) y un gestor de paquetes, se puede tener una propia instalación de Linux funcionando a la perfección. La siguiente sección tratará los entornos de escritorio, pero primero se hablará de un proyecto que facilita la construcción de una propia distribución de Linux.

Linux From Scratch (Linux desde cero) es un proyecto que presenta paso a paso qué se tiene que hacer para crear una distribución de linux a partir de sus fuentes. Consta de un libro que explica los detalles que corresponde seguir para tener una distro propia, que sería una entre las más de 600 distros activas que existen.

6. Entornos de escritorio Linux

Al hablar de Linux, existe un concepto que se llama entorno de escritorio, que no es más que la interfaz gráfica de usuario, que está desacoplada del sistema operativo, y que brinda un alto nivel de personalización, ya que también se cuenta con su código fuente. Estos entornos de escritorio se basan en el sistema de ventanas X, el sistema de visualización que Linux utiliza. Cada uno de estos entornos de escritorio permiten muchas opciones para la visualización gráfica, con entornos muy bien logrados y con efectos fantásticos. Los entornos de escritorio más populares son:

  • GNOME: proporciona un entorno de escritorio y una base para la creación de aplicaciones que se integran a dicho entorno.

Imagen 3: vista previa del entorno GNOME

  • KDE Plasma: Brinda una experiencia de escritorio moderna con énfasis en la productividad.

Imagen 4: vista previa del entorno KDE Plasma

  • Cinnamon: Similar a GNOME, más moderno, pero no tan maduro como su predecesor.

Imagen 5: vista previa del entorno Cinnamon

  • Xfce: Es un entorno de escritorio ligero, ya que es modular, pero con una experiencia visual a la par de los otros entornos.

Cabe destacar que hay más entornos de escritorio, pero se presentan los que se encuentran por defecto en muchas distros. Algo muy interesante es que se puede tener instalados en una sola distribución de Linux varios entornos de escritorio, y con la capacidad de escoger cuál de ellos se quiere utilizar al iniciar el sistema operativo, algo sin duda fantástico. ¿Cuál elegir? Aquí no hay respuestas, ya depende de los gustos o los recursos del equipo donde se instale Linux, ya es sólo experimentar entre las distintas opciones.

7. Usuarios en Linux

En Linux, puede haber muchos usuarios, pero sólo uno con una característica especial: es el superusuario, y su nombre es root, que significa raíz. Es el usuario “todopoderoso” que puede hacer cualquier cosa sobre el sistema, ya que no tiene restricciones, por eso es importante usarlo con mucho conocimiento para saber qué se quiere hacer en cada caso, o de lo contrario podría dañarse el sistema, algo que quizás cueste tiempo y esfuerzo estabilizar nuevamente*.

Cada usuario creado se hace con su directorio propio (que siempre será un subdirectorio del directorio /home) y que por defecto tendrá acceso a todos los recursos dentro de su propio directorio de usuario. No existen como tal usuarios administradores, más bien, los permisos se otorgan sobre los recursos, bien sea a usuarios particulares, o a grupos. Este es un diseño importante de seguridad que tiene Linux, y que ha sido imitado por muchas herramientas de software.

*: En Linux, la buena práctica es loguearse siempre como un usuario normal y, cuando se requiera, ejecutar operaciones de administración con el comando sudo o su.

La shell de Linux

La shell* de Linux es el intérprete de comandos del sistema operativo, lo que permite la comunicación entre el usuario y el kernel.

En Linux, la shell es una herramienta muy poderosa que permite al usuario indicarle al kernel cómo controlar los recursos del sistema operativo. Permite la ejecución de comandos uno a uno, en serie, y en lote mediante scripts shell. Un sistema Linux puede funcionar sin entorno de escritorio, pero nunca sin una shell, ya que se quedaría “mudo” para interactuar con el kernel.

*: La traducción de la palabra shell es “cáscara”, lo que transmite la idea de que es la parte visible o el envoltorio que “oculta” el núcleo de Linux del usuario final.

Sistema de archivos y structura de directorios de Linux

Los sistemas Linux modernos utilizan el sistema de archivos ext4 (Fourth Extended Filesystem), el más reciente y que implementa mejoras respecto a sus antecesores ext3, ext2 y ext.

En este apartado se hace importante hablar de swap, que es el sistema de archivos para la partición de intercambio de Linux. Todos los sistemas Linux necesitan una partición de este tipo para cargar los programas y no saturar la memoria RAM cuando se excede su capacidad. Anteriormente, con el uso de discos duros mecánicos, se notaba la diferencia cuando el sistema recurría a la partición swap, pero desde el uso de los discos SSD y, por ende, el aumento de las velocidades de lectura y escritura en el disco, este diseño ha sido súper eficiente. Esta partición se puede ajustar de acuerdo a las necesidades particulares.

Cuando, bien sea se abre el gestor de archivos que provee el entorno de escritorio, o se lista la jerarquía de directorios desde el intérprete de comandos, las distribuciones Linux presentan una estructura que es muy similar entre ellas, y se explica a continuación:

  • /bin: Se encuentran las aplicaciones binarias importantes (los archivos ejecutables).
  • /boot: Están los archivos de configuración del arranque.
  • /dev: Contiene los archivos de dispositivos que tenga instalados el equipo.
  • /etc: Almacena los archivos de configuración, scripts de arranque, etc.
  • /home: Son los directorios personales (home) para los diferentes usuarios. Se estructuran seguidos del nombre del usuario: ejemplo: /home/usuario1, /home/usuario2.
  • /lib: Es el lugar donde se encuentran las librerías del sistema (libraries).
  • /media: Allí están las particiones montadas (cargadas) automáticamente en el disco y medios extraíbles, como unidades ópticas, cámaras digitales, etc.
  • /opt: allí se pueden instalar aplicaciones opcionales (de terceros) que no estén dentro de los repositorios de la distribución.
  • /proc: Es un directorio dinámico especial que mantiene información sobre el estado del sistema, incluyendo los procesos actualmente en ejecución.
  • /root: Se refiere al directorio personal del usuario root (superusuario).
  • /sbin: Es otra ubicación para los binarios importantes del sistema.
  • /sys: Contiene archivos del sistema (system).
  • /tmp: Almacena archivos temporales.
  • /usr: Contiene aplicaciones y archivos a los que puede acceder la mayoría de los usuarios, ya que no requiere de permisos de superusuario para su instalación y ejecución.
  • /var: Allí se almacenan archivos variables, como archivos de registros y bases de datos.

¿Cómo instalar Linux?

Para quienes tienen poco conocimiento de la instalación de un sistema operativo, quizás podría resultar algo retador instalar Linux. Sin embargo, hay varias formas de hacerlo, desde la más fácil pero menos recomendable, hasta la más compleja pero más recomendable.

  • Opción 1 — Instalar Linux en Windows® desde wsl: Esta opción instala alguna distribución de Linux desde Windows® Subsystem For Linux, que permite emular un intérprete de comandos de Linux desde Windows®. Es la opción más fácil, pero la que peor experiencia de usuario tiene, ya que funciona como una emulación de Linux desde windows, eso sí, ofreciendo prestaciones muy limitadas. Se puede seguir este enlace para ver cómo se instala.
  • Opción 2 — Instalar Linux en una máquina virtual: permite instalar Linux en un entorno aislado, asignando los recursos de hardware hasta cierto límite dentro de una máquina virtual. Aunque esta opción brinda una mejor experiencia que la anterior, no aprovechará toda la potencia de Linux, ya que se estará ejecutando siempre sobre otro sistema operativo anfitrión, compartiendo recursos de hardware y no permitiendo aprovecharlo todo. Además, si el sistema operativo anfitrión se vuelve inestable, la máquina virtual también lo estará. Para este paso se debe descargar la imagen de la distribución de Linux deseada, crear la máquina virtual con la herramienta preferida (VirtualBox®, VMWare®, etc) e indicar el archivo .iso descargado para que la máquina virtual creada comience con la instalación. Para efectos de rendimiento, este procedimiento sólo es eficiente cuando se realiza con un sistema anfitrión Linux en servidores con grandes capacidades o en un clúster de servidores (que es como lo utilizan los proveedores de VPS), pero no para un entorno local o la instalación de un servidor propio.
  • Opción 3: Instalar Linux como sistema operativo independiente: sin duda, esta es la mejor forma de instalar Linux, ya que permite aprovechar todos los recursos de hardware disponibles en la máquina en un entorno totalmente nativo. Para este proceso, se debe descargar la imagen .iso de la distro deseada, montarla en una memoria usb (mediante Rufus® o alguna otra herramienta que permita grabar imágenes .iso en una memoria usb) y luego se debe arrancar el equipo por medio de esa memoria usb, que ya tendrá con el cargador arranque para el instalador del sistema operativo y todos los archivos preparados dentro de ella. Posteriormente, lo que queda es seguir las instrucciones propias que la distro a instalar presente*.

*: en esta opción 3, hay que tener ciertas nociones del proceso de instalación, ya que, por ejemplo, si se le indica al asistente de instalación que se desea borrar todo el disco e instalar Linux en él, se borrará todo el contenido del mismo, incluyendo Windows® si estaba instalado. Si se quiere conservar Windows® y con él tener Linux instalado y arrancarlo mediante el cargador de arranque GRUB al iniciarse el equipo, se debe crear una partición no asignada a ningún sistema de archivos (desde windows con algún programa como MiniTool Partition Wizard® o desde el asistente de instalación de Linux) y en esa partición se debe instalar Linux. Con eso, se detectará automáticamente el otro sistema operativo, a fin de que GRUB pueda agregarlo en la configuración. GRUB también tiene opciones personalizables.

Bien, ya se ha presentado la suficiente base teórica para tener las nociones necesarias de Linux. En el siguiente artículo de esta serie se aprenderá a un nivel razonable los comandos de la shell de Linux, a fin de que sea posible interactuar con este sistema operativo sin necesidad de recurrir al entorno de escritorio. También, se presentará en un artículo posterior el paso a paso para instalar una distro de forma nativa.

--

--