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