Su primer día en Nube Volcán
Nube Volcán S.A. (una empresa ficticia) vende servicios en la nube a negocios de Costa Rica. Hoy usted empieza como administrador de sistemas Linux. Mariela, la jefa de infraestructura, le dejó acceso a un servidor y un mensaje: «Bienvenido. Antes de tocar nada, quiero que conozca el servidor por dentro. Las instrucciones están en su carpeta».
Durante 15 días va a recibir tareas como esta. Al final, va a poder hacer lo que pide el examen CompTIA Linux+, porque ya lo habrá hecho.
Qué es Linux, en tres piezas
Cuando alguien dice «Linux» casi siempre habla de tres cosas juntas:
- El kernel (el núcleo): el programa que habla con el hardware. Reparte la memoria, el procesador y los discos entre los programas. Es el «Linux» propiamente dicho.
- La distribución: el kernel más todo lo demás (programas, instalador, gestor de paquetes). Ubuntu, Debian, Red Hat Enterprise Linux (RHEL), Rocky Linux, Fedora y SUSE son distribuciones. Se agrupan en familias: las basadas en Debian usan paquetes
.debyapt; las basadas en Red Hat usan.rpmydnf. - La shell: el programa que lee lo que usted escribe y lo ejecuta. La más común es bash. Otras:
zsh,sh,fish.
En el examen. Linux+ no es de una sola distribución: le pueden preguntar por apt y por dnf en el mismo examen. Este curso le enseña las dos familias.
El entorno gráfico: X11, Wayland y los gestores
Un servidor casi nunca tiene escritorio: se administra por la terminal, y cada programa gráfico que no se instala es memoria que se ahorra y una puerta menos para un atacante. Pero las estaciones de trabajo con Linux sí lo usan, y el examen pregunta cómo se arma. Son cuatro piezas, de abajo hacia arriba:
| Pieza | Qué hace | Ejemplos |
|---|---|---|
| Servidor X (X Window System, X11) | El sistema gráfico clásico de Unix: dibuja en la pantalla y recibe el teclado y el ratón. Fue diseñado para la red: un programa puede correr en un equipo y mostrarse en la pantalla de otro (de ahí el reenvío X11 de SSH, ssh -X). La variable DISPLAY, por ejemplo :0, le dice a cada programa en qué pantalla dibujar. | Xorg |
| Wayland | El reemplazo moderno de X11. Es más simple y más seguro: una aplicación no puede leer la pantalla ni el teclado de otra. Las aplicaciones viejas, hechas para X11, siguen funcionando encima de XWayland. | La sesión por defecto en Fedora, RHEL 9 y Ubuntu |
| Gestor de pantalla (display manager) | La pantalla de inicio de sesión gráfica. Pide el usuario y la contraseña, arranca la sesión y deja elegir entre una sesión Wayland y una de X11 (Xorg). | GDM (GNOME), SDDM (KDE), LightDM |
| Gestor de ventanas (window manager) | Dibuja los bordes y los botones de cada ventana, y decide dónde se ubica, cómo se mueve y cuál está al frente. En Wayland esa tarea la hace el compositor. | Mutter, KWin, Openbox, i3 |
Un entorno de escritorio (GNOME, KDE Plasma, Xfce) junta todo lo anterior con paneles, menús, aplicaciones y configuración. Para saber qué tipo de sesión tiene abierta: echo $XDG_SESSION_TYPE responde x11, wayland o, en una sesión de texto o por SSH, tty. Si un servidor trae escritorio y no lo necesita, se deja de cargar con sudo systemctl set-default multi-user.target, que verá el día 8.
En el examen. «¿Qué componente muestra la pantalla de inicio de sesión gráfica?»: el gestor de pantalla (GDM, SDDM, LightDM). «Una herramienta vieja de captura de pantalla o de escritorio remoto dejó de funcionar al actualizar»: la sesión pasó a Wayland, que no deja que un programa lea la pantalla de otro; en el gestor de pantalla se elige una sesión Xorg. Y no confunda los términos: el servidor X corre en el equipo que tiene la pantalla, aunque el programa corra en otro.
Licencias: qué puede hacer con el software que instala
Casi todo lo que trae una distribución es software libre o de código abierto, pero no todo tiene la misma licencia, y el examen espera que distinga las categorías:
| Tipo | Qué significa | Ejemplos |
|---|---|---|
| Software libre (free software) | La definición de la Free Software Foundation: cuatro libertades. Ejecutar el programa con cualquier propósito, estudiar cómo funciona y cambiarlo (para eso hace falta el código fuente), redistribuir copias y distribuir sus versiones modificadas. «Free» se refiere a la libertad, no al precio. | Los programas del proyecto GNU: bash, GCC, coreutils |
| Código abierto (open source) | La definición de la Open Source Initiative: el código está disponible y la licencia permite usarlo, modificarlo y redistribuirlo. En la práctica cubre casi las mismas licencias que el software libre; cambia el énfasis (el modelo de desarrollo, más que la ética). Las licencias permisivas (MIT, BSD, Apache 2.0) piden poco: conservar el aviso de derechos de autor. Permiten incluso meter el código en un producto cerrado. La Apache 2.0, además, da una licencia expresa sobre las patentes. | nginx (BSD), Kubernetes y Apache httpd (Apache 2.0) |
| Copyleft | Una licencia libre con una condición: quien distribuya el programa, modificado o no, tiene que entregar el código fuente y mantener la misma licencia. Así nadie puede cerrar lo que nació abierto. La más conocida es la GPL. La LGPL es más flexible: un programa cerrado puede enlazar una biblioteca LGPL sin volverse LGPL. La AGPL extiende la obligación a quien ofrece el programa como servicio por la red. | El kernel Linux (GPLv2), bash (GPLv3) |
| Propietario | El dueño conserva los derechos: no entrega el código y la licencia (el EULA) limita el uso, las copias y los cambios. Suele pagarse por licencia o por suscripción, aunque también hay software propietario sin costo. | Algunos controladores de tarjetas de video, software comercial |
Tres confusiones que conviene evitar. Sin costo no es lo mismo que libre: un programa propietario puede descargarse sin pagar y seguir siendo cerrado. Libre no significa que no se pueda cobrar: Red Hat vende suscripciones de RHEL (soporte, actualizaciones y certificaciones), aunque el código sea GPL. Y el copyleft solo obliga cuando usted distribuye el programa: si modifica un programa GPL y lo usa dentro de su empresa sin entregárselo a nadie, no tiene que publicar nada.
En el examen. «Una empresa modifica una biblioteca GPL y la vende dentro de su producto. ¿Qué debe hacer?»: entregar el código fuente de la versión modificada bajo la GPL. Eso es el copyleft. «¿Qué licencia permite usar el código en un producto cerrado sin publicar los cambios?»: una permisiva, como MIT, BSD o Apache 2.0.
Arquitecturas: en qué procesador corre su servidor
Linux corre en casi cualquier procesador, desde un reloj inteligente hasta una supercomputadora. Pero un programa compilado sirve para una sola arquitectura. Por eso los paquetes llevan la arquitectura en el nombre, y por eso, antes de descargar un agente o un controlador, se revisa qué tiene el equipo con uname -m (o con lscpu).
| Arquitectura | Cómo aparece | Dónde se usa |
|---|---|---|
| x86 (32 bits) | i386, i686 | Equipos viejos. Casi ninguna distribución actual la soporta para instalar. |
| x86_64 (también AMD64 o x64) | x86_64 en uname y en Red Hat; amd64 en Debian y Ubuntu | La gran mayoría de servidores y computadoras con procesadores Intel o AMD. |
| AArch64 (ARM de 64 bits) | aarch64 en uname y en Red Hat; arm64 en Debian y Ubuntu | Servidores de nube que gastan menos energía, Raspberry Pi y otros equipos embebidos. |
| RISC-V | riscv64 | Una arquitectura abierta: cualquiera puede fabricar procesadores sin pagar licencias. Hoy aparece sobre todo en placas de desarrollo y equipos embebidos. |
$ uname -m
x86_64
$ ls /srv/descargas
agente-4.2-1.x86_64.rpm agente-4.2-1.aarch64.rpm agente_4.2-1_amd64.deb agente_4.2-1_arm64.deb
Con esa salida, en un Ubuntu (familia Debian, paquetes .deb) el correcto es agente_4.2-1_amd64.deb: amd64 es el nombre que Debian le da a x86_64. Un paquete noarch (Red Hat) o all (Debian) trae solo scripts, documentación o datos, y sirve en cualquier arquitectura. Un programa compilado para x86_64 no corre en un servidor AArch64, salvo dentro de un emulador como QEMU, y mucho más lento.
uname describe el kernel y el equipo: uname -r da la versión del kernel, uname -n el nombre del equipo y uname -a todo junto. La distribución no la dice uname, porque el kernel es el mismo en todas: está en /etc/os-release, donde ID_LIKE indica la familia.
En el examen. Le muestran la salida de uname -m y de /etc/os-release y le preguntan qué paquete descargar: combine la familia (rpm o deb) con la arquitectura. Recuerde las parejas: x86_64 y amd64 son lo mismo; aarch64 y arm64, también.
El prompt: lo que la terminal le está diciendo
estudiante@academia:~$
estudiantees el usuario con el que entró.academiaes el nombre del equipo (el hostname).~es el directorio donde está parado. La virgulilla significa «mi carpeta personal», que aquí es/home/estudiante.$indica un usuario normal. Si ve#, está trabajando como root, el administrador total. Ahí cada error cuesta más.
Cómo se escribe un comando
ls -l -h /var/log
│ └──┬─┘ └──┬───┘
│ opciones argumento
comando
- El comando es el programa que se ejecuta:
lslista archivos. - Las opciones cambian cómo trabaja. Las cortas llevan un guion (
-l) y se pueden juntar:-lhes lo mismo que-l -h. Las largas llevan dos guiones:--human-readable. - Los argumentos dicen sobre qué trabaja: aquí, el directorio
/var/log.
Linux distingue mayúsculas de minúsculas: Documentos y documentos son dos cosas distintas, y LS no es un comando.
Pedir ayuda: lo que hace un profesional
Nadie se sabe todas las opciones de memoria. Lo que distingue a un buen administrador es saber dónde buscarlas:
| Comando | Para qué sirve |
|---|---|
man ls | El manual completo de un comando. Se navega con las flechas, se busca con /palabra y se sale con q. |
ls --help | La ayuda corta que trae el propio programa. |
man -k disco o apropos disco | Busca comandos por tema cuando no sabe ni el nombre. |
type cd | Dice qué es: un comando interno de la shell, un alias o un programa. |
which ls | Dice en qué ruta está el programa que se va a ejecutar. |
Las páginas de manual están numeradas por secciones. La 1 es para comandos de usuario, la 5 para formatos de archivos de configuración y la 8 para comandos de administración. Por eso existe man 5 passwd (el formato del archivo /etc/passwd), distinto de man 1 passwd (el comando).
El mapa: el estándar de jerarquía de archivos (FHS)
En Linux no hay «unidad C:». Todo cuelga de un solo árbol que empieza en /, la raíz. Los discos, las memorias USB y hasta los procesos aparecen como directorios dentro de ese árbol. El FHS (Filesystem Hierarchy Standard) dice qué va en cada lugar, y es tema seguro del examen:
| Directorio | Qué guarda |
|---|---|
/ | La raíz: el inicio de todo. |
/bin, /sbin | Programas esenciales; /sbin los de administración. Hoy suelen ser enlaces a /usr/bin y /usr/sbin. |
/boot | Lo necesario para arrancar: el kernel (vmlinuz), el initrd y la configuración de GRUB. |
/dev | Los dispositivos como archivos: /dev/sda es un disco, /dev/null es el «agujero negro». |
/etc | Configuración del sistema: usuarios, red, servicios. Es texto plano y se edita a mano. |
/home | Las carpetas personales de los usuarios. |
/root | La carpeta personal de root (no confundir con /). |
/lib | Bibliotecas compartidas y módulos del kernel. |
/usr | Programas y datos de solo lectura instalados por el sistema. /usr/local es para lo que usted instala a mano. |
/var | Datos que cambian: registros en /var/log, colas, caché, sitios web en /var/www. |
/tmp | Temporales. Cualquiera escribe; se borra al reiniciar en muchos sistemas. |
/opt | Software de terceros que se instala completo en su propia carpeta. |
/mnt, /media | Puntos de montaje: /mnt para montajes manuales, /media para memorias USB y discos externos. |
/srv | Datos que sirve el equipo: sitios web, archivos de FTP. |
/proc, /sys | Sistemas de archivos virtuales: no están en el disco, los genera el kernel. /proc/cpuinfo describe el procesador. |
/run | Datos de los programas en ejecución desde el último arranque. |
En el examen. Preguntas típicas: «¿Dónde busca los registros del sistema?» (/var/log). «¿Dónde está la configuración de SSH?» (/etc/ssh). «¿Qué directorio no está en el disco?» (/proc).
Rutas absolutas y relativas
- Una ruta absoluta empieza en la raíz y funciona desde cualquier lugar:
/var/log/syslog. Las que empiezan con~también son absolutas: antes de ejecutar el comando, la shell reemplaza~por su carpeta personal, así que~/Documentosse convierte en/home/estudiante/Documentosesté donde esté. - Una ruta relativa parte de donde usted está: si está en
/var,log/syslogllega al mismo archivo. Las relativas no empiezan con/ni con~:log/syslog,./script.sh,../etc.
Hay cuatro atajos que va a usar todo el día:
| Atajo | Significa |
|---|---|
. | El directorio actual. |
.. | El directorio de arriba (el padre). |
~ | Su carpeta personal (~ana es la carpeta personal de ana). |
cd - | Vuelve al directorio donde estaba antes. |
En el examen. El documento oficial de CompTIA pone ~ y / entre las rutas absolutas, y ., .. y - entre las relativas. La razón: ~ se expande a /home/estudiante, que empieza en la raíz, y no depende de dónde esté usted. Si le preguntan cuál es relativa, busque la que parte del directorio actual, como ../var/log.
Y tres comandos para moverse:
pwd # ¿dónde estoy?
cd /etc # vaya a /etc
ls -la # liste todo, incluidos los ocultos, con detalles
Los archivos cuyo nombre empieza con un punto, como .bashrc, están ocultos: ls no los muestra si no le pide -a.
Cómo leer ls -l
-rw-r--r-- 1 estudiante estudiante 220 oct 16 08:00 .bashrc
│└───┬───┘ │ └───┬────┘ └───┬────┘ └┬┘ └─────┬────┘ └──┬──┘
│ permisos │ dueño grupo tamaño fecha nombre
tipo enlaces
El primer carácter dice el tipo: - archivo, d directorio, l enlace. Los permisos los vemos a fondo el día 5.
Atajos que le ahorran horas
- Tab completa nombres de comandos y archivos. Si hay varias opciones, púlselo dos veces.
- ↑ y ↓ recorren los comandos anteriores.
historymuestra el historial numerado;!!repite el último y!25repite el número 25.- Ctrl+L limpia la pantalla (o
clear). Ctrl+C cancela lo que esté corriendo.
Error común. Escribir cd/etc sin espacio. La shell lo lee como un comando llamado cd/etc, que no existe. Entre el comando y sus argumentos siempre va un espacio.
Su turno
En el laboratorio de al lado tiene el servidor de Nube Volcán. Siga las tareas de Mariela en orden: cada una se marca sola cuando la cumple. Si se traba, pida una pista. Al final, Mariela le va a pedir que averigüe la arquitectura y la distribución del servidor para elegir el paquete correcto de un programa. Y no tenga miedo de equivocarse: si algo sale mal, el botón Reiniciar le devuelve el servidor como nuevo.