HACK A BOSS
FormaciónEvaluacionesPerfil
Volver
  • En directo

Linux Intermedio: Arranque, Systemd y Verificación del Sistema

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Linux

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a profesionales técnicos que han completado el scripting y la administración básica de Linux y quieren dominar la capa más profunda del sistema: el proceso de arranque, la gestión de servicios con systemd y el diagnóstico de fallos en producción. El curso completa primero el dominio de vim con búsqueda y reemplazo sobre ficheros de configuración real, y a continuación cubre las etapas del arranque desde el firmware hasta PID 1, la interpretación de comportamientos inesperados como el modo de emergencia, la gestión del ciclo de vida de servicios con systemctl y el análisis de logs con journalctl. Al finalizar, el participante será capaz de diagnosticar fallos de arranque y de servicio con un proceso sistemático, y de integrar todas las herramientas en un script Bash de verificación post-boot ejecutable en cualquier servidor.

Al finalizar el curso, el participante será capaz de:

  • Aplicar búsqueda y reemplazo en vim (:%s/) y en la línea de comandos con sed -i para realizar sustituciones precisas sobre ficheros de configuración, incluyendo el filtrado de líneas comentadas mediante patrones de expresión regular básicos
  • Relacionar las etapas del arranque de Linux —firmware, bootloader, kernel e initramfs, y systemd/PID 1— con los componentes que intervienen en cada una y el mecanismo de traspaso de control entre ellas
  • Interpretar mensajes y comportamientos del sistema durante el arranque —incluyendo emergency mode, fallos de montaje y errores de permisos— relacionándolos con los conceptos de PID 1, espacio de usuario y jerarquía de procesos
  • Gestionar el ciclo de vida de servicios con systemctl distinguiendo el efecto sobre el estado de ejecución actual y sobre el comportamiento en arranques futuros
  • Analizar logs del sistema con journalctl aplicando filtros por servicio, arranque, prioridad y origen (kernel) para determinar la causa de un fallo
  • Aplicar un procedimiento de verificación post-boot que compruebe units fallidas, errores en logs, uso de disco y memoria, integrándolo en un script Bash con informe estructurado
  1. Búsqueda y reemplazo en terminal Búsqueda en vim con /patrón y n/N para navegar entre coincidencias; sustitución con :[rango]s/patrón/reemplazo/[flags]: el prefijo % para todo el fichero, flag g para todas las ocurrencias, flag c para confirmación interactiva ocurrencia a ocurrencia; sustitución en un rango de líneas n,m; escape de caracteres especiales: puntos, barras y corchetes en el patrón; sed -i para sustitución in-place; -i.bak para copia de seguridad automática; filtrado de líneas con direcciones: /^[^#]/s/.../.../g para excluir comentarios; expresiones regulares básicas aplicadas a ficheros de configuración reales
  2. El proceso de arranque de Linux Firmware (BIOS/UEFI): POST, detección de hardware y carga del bootloader desde el dispositivo de arranque; bootloader (GRUB2): carga del kernel y del initramfs en memoria, menú de selección y parámetros de arranque; initramfs: sistema de ficheros temporal en RAM, módulos para acceder al FS raíz, transición al sistema raíz real; kernel: inicialización del hardware, montaje del sistema de ficheros raíz, lanzamiento de PID 1; systemd como PID 1: padre de todos los procesos de usuario, targets y orden de arranque de servicios
  3. Interpretación del arranque y diagnóstico de fallos PID 1 y jerarquía de procesos: por qué todos los procesos descienden de systemd; espacio de kernel vs. espacio de usuario durante el arranque; emergency mode y rescue mode: condiciones que los provocan (fallo de montaje obligatorio, fallo de unit crítica) y cómo acceder y salir; /etc/fstab como fuente de dependencias de montaje: entrada incorrecta → fallo de arranque; diagnóstico de Permission denied en servicios: relación entre el usuario del proceso (User= en la unit) y los permisos del fichero; kernel panic: diferencia con un fallo de servicio y cuándo buscarlo en los logs
  4. Gestión de servicios con systemd systemctl start, stop, restart y reload: diferencia entre reiniciar el proceso y recargar la configuración sin interrumpir conexiones; enable y disable: cómo systemd usa enlaces simbólicos en targets para el arranque automático; --now para combinar operaciones de estado y de habilitación en un solo comando; systemctl status: interpretación de los campos Active, Enabled, Main PID y los últimos mensajes de log; is-active e is-enabled para comprobaciones en scripts; list-units con filtros de estado (--state=failed, --state=running); diferencia entre reload y restart y cuándo usar cada uno en producción
  5. Análisis de logs con journalctl journalctl sin opciones: navegación y salida paginada; --list-boots para identificar los arranques registrados; -b y -b -N para seleccionar el arranque actual o el N-ésimo anterior; -u para filtrar por unit de servicio; -p para filtrar por prioridad (err, warning, info); -k para mensajes del kernel exclusivamente; -n para limitar el número de líneas; -e para saltar al final del journal; --since y --until para ventanas temporales; flujo de diagnóstico post-fallo: --list-boots → -b -1 -p err → -b -1 -u servicio → -b -1 -k para descartar hardware
  6. Verificación post-boot systemctl list-units --state=failed: interpretación de la salida y manejo del caso sin fallos; df -h: espacio disponible por sistema de ficheros montado y umbrales de alerta; free -h: memoria total, usada, libre y caché; journalctl -b -p err -n 20 como resumen rápido de errores del arranque actual; diseño del script de verificación: shebang, secciones delimitadas con encabezados (=== TÍTULO ===), encadenamiento de comprobaciones con lógica condicional para el caso sin units fallidas; integración de scripting Bash (LNX02) con las herramientas de systemd: el script como entregable final del curso
  • Acceso a una terminal Bash con Linux: WSL2 en Windows (Ubuntu 22.04 LTS recomendado), máquina virtual con Ubuntu 22.04 LTS, o servidor Linux accesible por SSH
  • bash 5.0 o superior; vim instalado (apt install vim si no está disponible)
  • systemd como sistema de init (Ubuntu 22.04, Debian 11+, Fedora 36+)
  • Acceso sudo para gestionar servicios, leer el journal completo y editar ficheros de configuración del sistema
  • Al menos un servicio instalado sobre el que practicar (nginx recomendado: apt install nginx) para los ejercicios de systemctl y journalctl
  • sed 4.x o superior (disponible por defecto en cualquier distribución moderna)

→ LNX02 — Linux Intermedio: Scripting y Administración del Sistema (Intermedio, 8h)

  • Escribir scripts Bash ejecutables con shebang correcto, parámetros posicionales y validación básica de argumentos con mensajes de uso y códigos de salida adecuados
  • Aplicar condicionales if/elif/else y case, e implementar bucles for y while para automatizar tareas sobre ficheros y listas
  • Crear funciones y manejar variables de entorno con set -euo pipefail y expansiones de parámetro para hacer scripts robustos
  • Editar ficheros desde la terminal con vim aplicando los modos de operación, comandos de navegación y operaciones de guardado y salida
  • Localizar los ficheros de configuración del sistema en la jerarquía FHS y aplicar un procedimiento seguro de edición con copia previa y rollback