Saltar al contenido principal

Formación en Sistema Operativo Linux

Dominio de Sistemas Linux y Administración de Servidores​

Código del curso: 420-XX
Sesión: Invierno 2025
Docente: Haythem Rehouma
Institución: inskillflow academy


Visión General del Curso​

Esta formación le permitirá dominar los sistemas operativos Linux, la administración de sistemas y la gestión de servidores. Desde la introducción hasta conceptos avanzados, aprenderá a administrar, asegurar y optimizar sistemas Linux en producción.

Objetivos de Aprendizaje​

Al finalizar este curso, usted será capaz de:

  • Comprender la arquitectura y los conceptos fundamentales de Linux
  • Administrar sistemas Linux (instalación, configuración, mantenimiento)
  • Gestionar usuarios, permisos y seguridad del sistema
  • Dominar el shell y la automatización con scripts
  • Configurar y administrar redes Linux
  • Administrar servicios del sistema y demonios
  • Monitorizar y depurar sistemas Linux
  • Desplegar y mantener servidores Linux en producción

Enfoque Pedagógico​

70% Práctica - 30% Teoría

Cada módulo combina:

  • Explicaciones teóricas detalladas con diagramas Mermaid
  • Laboratorios prácticos
  • Ejemplos concretos y casos de uso reales
  • Ejercicios y cuestionarios de validación

📚 Plan de Curso - 13 Módulos​

Esta formación está estructurada en 13 módulos progresivos que le llevarán desde la introducción a Linux hasta la administración avanzada de servidores en producción. Cada módulo está diseñado para construir sobre los conocimientos adquiridos previamente.

Visión General de la Progresión​

Estructura de los Módulos​

Cada módulo incluye:

  • Capítulos teóricos con diagramas y ejemplos
  • Laboratorios prácticos para aplicar los conceptos
  • Cuestionarios de validación para verificar sus conocimientos
  • Recursos complementarios para profundizar

MÓDULO 1 - Introducción a Linux​

Duración: 2-3 sesiones

Contenido:

  • ¿Qué es Linux y por qué usarlo?
  • Historia y evolución (Unix → Linux)
  • Distribuciones Linux (Debian, Red Hat, Ubuntu, etc.)
  • Arquitectura de Linux (Kernel, Shell, Sistema de archivos)
  • Comparación con otros sistemas operativos

Objetivos:

  • Comprender el rol de Linux en la informática moderna
  • Identificar los componentes principales
  • Descubrir el ecosistema Linux

Labs:

  • Lab 1.1: Instalación y Primer Uso de Linux

MÓDULO 2 - Arquitectura del Sistema Linux​

Duración: 2-3 sesiones

Contenido:

  • Arquitectura detallada del sistema
    • Kernel de Linux
    • Procesos del sistema (init, systemd)
    • Gestión de memoria y swap
    • Sistema de archivos virtual (VFS)
  • Componentes del sistema
    • Shell e intérprete de comandos
    • Bibliotecas del sistema
    • Utilidades del sistema
  • Proceso de arranque y niveles de ejecución
  • Comunicación entre procesos

Objetivos:

  • Comprender el funcionamiento interno de Linux
  • Identificar el rol de cada componente
  • Visualizar los flujos de comunicación del sistema

Labs:

  • Lab 2.1: Análisis del proceso de arranque
  • Lab 2.2: Exploración de la arquitectura del sistema
  • Lab 2.3: Monitorización de los componentes del sistema

MÓDULO 3 - Sistema de Archivos​

Duración: 3-4 sesiones

Contenido:

  • Estructura del sistema de archivos Linux (FHS)
  • Navegación y comandos básicos (cd, ls, pwd, mkdir, rmdir)
  • Gestión de archivos (cp, mv, rm, touch)
  • Permisos de archivos (chmod, chown, chgrp)
  • Búsqueda de archivos (find, locate, which, whereis)
  • Enlaces simbólicos y duros
  • Tipos de sistemas de archivos (ext4, xfs, btrfs)

Objetivos:

  • Navegar eficazmente en el sistema de archivos
  • Gestionar archivos y directorios
  • Comprender y gestionar los permisos
  • Utilizar las herramientas de búsqueda

Labs:

  • Lab 3.1: Navegación y Creación
  • Lab 3.2: Gestión de Permisos
  • Lab 3.3: Búsqueda y Enlaces
  • Lab 3.4: Práctica Completa

MÓDULO 4 - Gestión de Procesos​

Duración: 3-4 sesiones

Contenido:

  • Introducción a los procesos en Linux
  • Visualización de procesos (ps, top, htop)
  • Control de procesos (kill, killall, pkill)
  • Prioridades y valores nice
  • Procesos en segundo plano (jobs, fg, bg, nohup)
  • Señales del sistema
  • Procesos zombie y huérfanos

Objetivos:

  • Comprender el ciclo de vida de los procesos
  • Visualizar y controlar los procesos
  • Gestionar prioridades y jobs
  • Utilizar las señales del sistema

Labs:

  • Lab 4.1: Visualización de Procesos
  • Lab 4.2: Control de Procesos
  • Lab 4.3: Prioridades y Nice
  • Lab 4.4: Jobs en Segundo Plano

MÓDULO 5 - Usuarios y Permisos​

Duración: 2-3 sesiones

Contenido:

  • Gestión de usuarios (useradd, usermod, userdel)
  • Gestión de grupos (groupadd, groupmod, groupdel)
  • Permisos de archivos (chmod, chown, chgrp)
  • Permisos numéricos y simbólicos
  • Sudo y privilegios elevados
  • ACL (Listas de Control de Acceso)
  • Cuotas de usuario

Objetivos:

  • Crear y gestionar usuarios y grupos
  • Comprender y configurar los permisos
  • Utilizar sudo de manera segura
  • Implementar las ACL

Labs:

  • Lab 5.1: Gestión de Usuarios
  • Lab 5.2: Gestión de Grupos
  • Lab 5.3: Permisos Avanzados
  • Lab 5.4: Buenas Prácticas

MÓDULO 6 - Scripting Shell​

Duración: 3-4 sesiones

Contenido:

  • Introducción al scripting Bash
  • Variables y parámetros
  • Estructuras de control (if, for, while)
  • Funciones y scripts reutilizables
  • Gestión de errores y debugging
  • Cron y crontab: planificación de tareas
  • Sintaxis de cron y ejemplos prácticos
  • Cron del sistema vs cron de usuario
  • systemd timers (alternativa moderna)

Objetivos:

  • Dominar el scripting shell Bash
  • Automatizar tareas administrativas
  • Planificar tareas con cron y systemd timers
  • Crear scripts robustos y mantenibles

Labs:

  • Lab 6.1: Scripts Bash básicos
  • Lab 6.2: Scripts avanzados con funciones
  • Lab 6.3: Configuración y uso de cron
  • Lab 6.4: systemd timers y planificación moderna

MÓDULO 7 - Red y Configuración​

Duración: 3-4 sesiones

Contenido:

  • Configuración de red en Linux
  • Interfaces de red (ifconfig, ip, nmcli)
  • Enrutamiento y tablas de enrutamiento
  • DNS y resolución de nombres
  • Configuración IP estática vs DHCP
  • Cortafuegos básico (iptables, firewalld)
  • Troubleshooting de red

Objetivos:

  • Configurar y gestionar redes Linux
  • Comprender el enrutamiento y el DNS
  • Asegurar las comunicaciones de red
  • Diagnosticar problemas de red

Labs:

  • Lab 7.1: Configuración de interfaces de red
  • Lab 7.2: Enrutamiento y tablas de enrutamiento
  • Lab 7.3: Configuración de DNS
  • Lab 7.4: Cortafuegos y seguridad de red

MÓDULO 8 - Servicios y Demonios​

Duración: 3-4 sesiones

Contenido:

  • Gestión de servicios con systemd
  • Unit files (service, timer, target)
  • Inicio, detención y reinicio de servicios
  • Servicios al arranque (enable/disable)
  • Journal de systemd (journalctl)
  • Cron avanzado: crontab, /etc/cron.d, anacron
  • Gestión de logs de cron
  • Buenas prácticas para tareas programadas
  • Alternativas: at, batch

Objetivos:

  • Administrar los servicios del sistema
  • Comprender systemd y los unit files
  • Dominar cron y las tareas programadas
  • Gestionar logs y monitorización

Labs:

  • Lab 8.1: Gestión de servicios systemd
  • Lab 8.2: Creación de servicios personalizados
  • Lab 8.3: Cron y crontab avanzados
  • Lab 8.4: systemd timers vs cron

MÓDULO 9 - Seguridad del Sistema​

Duración: 3-4 sesiones

Contenido:

  • Autenticación y autorización
  • Gestión de usuarios y grupos
  • Permisos de archivos (chmod, chown, ACL)
  • Sudo y privilegios elevados
  • Cortafuegos (iptables, firewalld, ufw)
  • SELinux y AppArmor (introducción)
  • Auditoría de seguridad
  • Seguridad de los crons: permisos y entorno

Objetivos:

  • Asegurar un sistema Linux
  • Gestionar permisos y acceso
  • Configurar y mantener un cortafuegos
  • Auditar la seguridad del sistema

Labs:

  • Lab 9.1: Gestión de permisos
  • Lab 9.2: Configuración de sudo
  • Lab 9.3: Cortafuegos y reglas iptables
  • Lab 9.4: Auditoría de seguridad y logs

MÓDULO 10 - Gestión de Paquetes​

Duración: 2-3 sesiones

Contenido:

  • Gestores de paquetes (apt, yum, dnf, pacman)
  • Instalación y actualización de software
  • Repositorios y fuentes de paquetes
  • Resolución de dependencias
  • Compilación desde fuentes
  • Gestión de paquetes .deb y .rpm
  • Snap, Flatpak y AppImage

Objetivos:

  • Instalar y gestionar software en Linux
  • Comprender los diferentes sistemas de paquetes
  • Resolver problemas de dependencias
  • Utilizar herramientas modernas (Snap, Flatpak)

Labs:

  • Lab 10.1: Gestión con apt/yum
  • Lab 10.2: Configuración de repositorios
  • Lab 10.3: Compilación desde fuentes
  • Lab 10.4: Snap y Flatpak

MÓDULO 11 - Monitorización y Logs​

Duración: 3-4 sesiones

Contenido:

  • Monitorización del sistema (top, htop, iotop, vmstat)
  • Uso de CPU, memoria, disco
  • Procesos y recursos
  • Logs del sistema (/var/log, journald)
  • Rotación de logs (logrotate)
  • Monitorización de crons: logs y notificaciones
  • Herramientas de monitorización (sar, sysstat)
  • Alertas y notificaciones

Objetivos:

  • Monitorizar el rendimiento del sistema
  • Analizar logs y diagnosticar problemas
  • Configurar la rotación de logs
  • Supervisar tareas programadas

Labs:

  • Lab 11.1: Monitorización de recursos del sistema
  • Lab 11.2: Análisis de logs con journalctl
  • Lab 11.3: Configuración de logrotate
  • Lab 11.4: Monitorización de crons y alertas

MÓDULO 12 - Administración Avanzada​

Duración: 3-4 sesiones

Contenido:

  • Administración de servidores en producción
  • Backup y restauración
  • Mantenimiento y actualizaciones del sistema
  • Troubleshooting avanzado
  • Optimización de rendimiento
  • Automatización con cron y scripts
  • Buenas prácticas para tareas programadas
  • Documentación y procedimientos

Objetivos:

  • Administrar servidores Linux en producción
  • Implementar estrategias de backup
  • Optimizar el rendimiento
  • Automatizar tareas administrativas

Labs:

  • Lab 12.1: Estrategias de backup
  • Lab 12.2: Optimización de rendimiento
  • Lab 12.3: Automatización completa con cron
  • Lab 12.4: Proyecto final - Servidor Linux completo

Herramientas y Tecnologías​

Entorno de Desarrollo​

  • Bash / Zsh: Shells de Linux
  • SSH: Acceso remoto seguro
  • Vim / Nano / Emacs: Editores de texto
  • Git: Control de versiones
  • tmux / screen: Multiplexores de terminal

Distribuciones Linux​

  • Ubuntu / Debian: Distribuciones basadas en Debian
  • CentOS / RHEL / Fedora: Distribuciones basadas en Red Hat
  • Arch Linux: Distribución avanzada
  • SUSE / openSUSE: Distribución empresarial

Herramientas Complementarias​

  • systemd: Gestor de servicios
  • rsync / scp: Transferencia de archivos
  • cron / systemd timers: Planificación de tareas
  • iptables / firewalld: Cortafuegos
  • logrotate / journald: Gestión de logs

Competencias Desarrolladas​

Competencias Técnicas​

Administración de Sistemas:

  • Instalación y configuración de sistemas Linux
  • Gestión de usuarios y permisos
  • Administración de servicios y procesos
  • Mantenimiento y actualización del sistema

Scripting y Automatización:

  • Scripting shell (Bash)
  • Automatización de tareas administrativas
  • Planificación con cron y systemd
  • Gestión de configuración

Red y Seguridad:

  • Configuración de red en Linux
  • Cortafuegos y seguridad del sistema
  • SSH y acceso remoto seguro
  • Monitorización y logs del sistema

Competencias Profesionales​

  • Comprensión del ecosistema Linux
  • Administración de servidores en producción
  • Resolución de problemas complejos del sistema
  • Colaboración con equipos IT/DevOps

Evaluaciones​

Trabajos Prácticos (50%)​

  • TP1: Configuración y administración del sistema (15%)
  • TP2: Scripting y automatización (20%)
  • TP3: Proyecto de servidor Linux completo (15%)

Laboratorios (30%)​

  • Labs semanales (25%)
  • Participación y compromiso (5%)

Proyecto Final (20%)​

  • Servidor Linux configurado y asegurado (15%)
  • Documentación y presentación (5%)

Total: 100%


Prerrequisitos​

Conocimientos Previos​

  • Nociones básicas de informática
  • Uso de una computadora
  • Conceptos básicos de sistemas operativos
  • No se requiere conocimiento previo de Linux

Requisitos de Hardware​

  • Computadora con mínimo 4 GB RAM (8 GB recomendado)
  • 20 GB de espacio libre en disco
  • Conexión a Internet estable
  • Procesador de 64 bits

Software a Instalar​

  • Distribución Linux (Ubuntu, Debian, o VM)
  • Terminal/cliente SSH
  • Editor de texto (VS Code, Vim, o Nano)
  • Acceso root o sudo

Recursos del Curso​

Documentación Oficial​

Libros Recomendados​

  • "Linux Command Line and Shell Scripting Bible" - Richard Blum
  • "The Linux Command Line" - William Shotts
  • "Linux Administration Handbook" - Evi Nemeth

Comunidad​


Progreso del Curso​

[🔄 EN CURSO] MÓDULO 1 - Introducción a Linux
[📝 PRÓXIMAMENTE] MÓDULO 2 - Arquitectura del Sistema
[📝 PRÓXIMAMENTE] MÓDULO 3 - Sistema de Archivos
[📝 PRÓXIMAMENTE] MÓDULO 4 - Gestión de Procesos
[📝 PRÓXIMAMENTE] MÓDULO 5 - Usuarios y Permisos
[📝 PRÓXIMAMENTE] MÓDULO 6 - Scripting Shell
[📝 PRÓXIMAMENTE] MÓDULO 7 - Red y Configuración
[📝 PRÓXIMAMENTE] MÓDULO 8 - Servicios y Demonios
[📝 PRÓXIMAMENTE] MÓDULO 9 - Seguridad del Sistema
[📝 PRÓXIMAMENTE] MÓDULO 10 - Gestión de Paquetes
[📝 PRÓXIMAMENTE] MÓDULO 11 - Monitorización y Logs
[📝 PRÓXIMAMENTE] MÓDULO 12 - Administración Avanzada

¡Comience Ahora!​

Explore los módulos en el menú lateral y comience su aprendizaje de Linux.

¡Buen aprovechamiento del curso!


Última actualización: Diciembre 2024