Introducción a Linux

Qué es, de dónde viene y quién manda aquí

Marco González Luengo

Tabla de contenidos
  1. Hardware, software y el que hace de puente
  2. De dónde viene
  3. Libre no es lo mismo que gratis
  4. Distribuciones
  5. Qué tiene de especial
  6. Cómo arranca
  7. root: el que puede todo
  8. Ejercicios

Antes de meter las manos en la terminal, conviene saber con qué estamos tratando.

Hardware, software y el que hace de puente

Un computador es un montón de piezas: procesador, memoria, disco, tarjeta de red, teclado. El hardware hace exactamente lo que le dicen, pero habla un idioma muy primitivo. Los programas que usamos (un navegador, un editor) no pueden ni deben hablar directo con cada pieza.

Ahí entra el sistema operativo. Hace de puente entre los programas y el hardware, y además reparte los recursos: decide qué programa usa el procesador, cuánta memoria le toca a cada uno y quién puede leer qué archivo.

Usuario Programasnavegador, editor, terminal Kernelel núcleo del sistema operativo Hardwareprocesador, memoria, discos, red
El sistema operativo, entre los programas y el hardware

La parte central del sistema operativo es el kernel (núcleo): el programa que tiene control total del hardware. Linux, en rigor, es un kernel, escrito principalmente en C. Todo lo demás (la terminal, los comandos, el escritorio) son programas que corren encima.

De dónde viene

Juntando el kernel Linux con las herramientas de GNU se obtiene un sistema operativo completo. Por eso hay quienes insisten en llamarlo GNU/Linux.

Libre no es lo mismo que gratis

La GPL es una licencia de software libre, y libre se refiere a libertad, no a precio. Un programa es libre si puedes:

  1. Usarlo para lo que quieras.
  2. Estudiar cómo funciona (tener acceso al código fuente) y modificarlo.
  3. Compartir copias.
  4. Compartir tus versiones modificadas.

La GPL agrega una condición: si distribuyes una versión modificada, también debe ser libre. Linux es gratis casi siempre, pero lo importante es que es libre. El contraste es el software propietario, del que solo recibes el programa ya compilado y una licencia que dice qué puedes hacer con él.

Más en ¿Qué es el software libre?, de la FSF.

Distribuciones

Un kernel solo no sirve de mucho. Una distribución junta el kernel con miles de programas, un instalador, un sistema para instalar paquetes y una configuración inicial. El kernel es el mismo; lo que cambia es todo lo que viene alrededor.

Familia Distribuciones Instalar paquetes
Debian Debian, Ubuntu, Linux Mint apt
Red Hat Fedora, Red Hat Enterprise Linux, AlmaLinux, Rocky Linux dnf
Independientes Arch Linux, openSUSE pacman, zypper

Qué tiene de especial

Y está en todas partes: la mayoría de los servidores de internet, todos los supercomputadores de la lista TOP500, la nube y cada teléfono Android (que usa el kernel Linux).

Cómo arranca

Cuando prendes el computador pasan varias cosas en cadena:

  1. Firmware (UEFI). El programa grabado en la placa madre revisa el hardware y busca algo que arrancar.
  2. Cargador de arranque. Un pequeño programa, como GRUB o systemd-boot, muestra el menú (si tienes varios sistemas) y carga el kernel elegido.
  3. Kernel. Se carga en memoria, detecta el hardware y monta el sistema de archivos principal.
  4. systemd. El kernel lanza el primer proceso, con identificador (PID) 1: systemd. Este levanta todo lo demás: servicios, red, pantalla de inicio de sesión.

Lo que pasa desde el paso 4 en adelante lo vemos en Procesos y servicios.

root: el que puede todo

En todo Linux existe un usuario con poder total sobre el sistema: root (el superusuario). Puede leer y modificar cualquier archivo, instalar y borrar programas, crear usuarios y apagar el equipo.

Justamente por eso no se usa para el trabajo de todos los días. Un error de tipeo como root puede borrar el sistema completo, y un programa malicioso que corra como root puede hacer lo que quiera.

Lo habitual es trabajar con un usuario normal y pedir permisos de root solo para la tarea puntual, con sudo:

sudo dnf install htop    # Fedora
sudo apt install htop    # Debian/Ubuntu

sudo pide tu contraseña, revisa si tienes permiso para actuar como administrador, y ejecuta ese único comando como root.

Ejercicios

¿Para qué es necesario usar la cuenta de root?

Para tareas de administración del sistema:

  • instalar, actualizar y eliminar programas;
  • editar archivos de configuración del sistema (en /etc);
  • crear, modificar y eliminar usuarios y grupos;
  • iniciar, detener y configurar servicios;
  • montar discos y cambiar la configuración de red.

En la práctica, casi nunca se entra "como root": se usa sudo para ejecutar solo el comando que lo necesita.

Si quiero leer las noticias en internet, ¿por qué no es recomendable hacerlo como root?

Por seguridad. Un navegador está expuesto a todo lo que hay en internet: páginas maliciosas, descargas, extensiones. Si el navegador corre como root y alguien logra aprovechar una vulnerabilidad, obtiene control total del sistema.

Con un usuario normal, el daño queda limitado a lo que ese usuario puede tocar. Es la misma razón por la que los escritorios modernos directamente no dejan iniciar una sesión gráfica como root.

Con un usuario distinto de root, ¿por qué no puedo eliminar un archivo que está en /etc?

Porque borrar un archivo no depende de los permisos del archivo, sino de los permisos del directorio que lo contiene: eliminar es modificar la lista de archivos del directorio.

El directorio /etc pertenece a root y solo root tiene permiso de escritura sobre él. Se puede comprobar con:

ls -ld /etc
drwxr-xr-x. 1 root root 5076 sep 12 09:30 /etc

El w (escritura) aparece solo para el dueño, root. Los permisos se explican en detalle en Usuarios y permisos.


Sigue con La línea de comandos.