Linux

Ámbito y relación con otros dominios

Documentación y fundamentos

Núcleo del sistema

  • Linux kernel
    • Arquitectura monolítica modular
    • Gestión de procesos, memoria, drivers y scheduler
    • Diferencias entre kernel vanilla y kernels parcheados por distros

Administración y operación

  • Linux comandos y administracion
    • Gestión de usuarios, grupos y permisos
    • Servicios y demonios (systemd)
    • Monitorización y troubleshooting básico
  • Linux CLI
    • Filosofía UNIX
    • Pipes, redirecciones y filtros
    • Automatización mediante CLI

Distribuciones y servidores

  • ubuntu server
    • Casos de uso en servidores y cloud
    • Ciclos LTS y soporte
    • Integración con contenedores y virtualización

Entrevistas y conocimiento práctico

  • Linux entrevistas
    • Preguntas frecuentes de administración
    • Escenarios reales de resolución de problemas
    • Conceptos clave para perfiles sysadmin/devops

Scripting y automatización

  • Linux Shell Scripting
    • Automatización de tareas repetitivas
    • Scripts de mantenimiento y despliegue
    • Buenas prácticas y control de errores
  • bash
    • Variables, funciones y control de flujo
    • Expansiones, globbing y quoting
    • Optimización de scripts
    • Renombrar multiples archivos con bash

Sistema de archivos

  • Linux Filesystem
    • Estructura FHS
    • Tipos de sistemas de archivos (ext4, xfs, btrfs)
    • Permisos, ACLs y enlaces

Editores

  • VIM
    • Modos de edición
    • Configuración básica y avanzada
    • Uso eficiente en servidores y CLI

Entornos y laboratorios

Virtualización y pruebas

Distribuciones especializadas

  • parrot os
    • Seguridad y privacidad
    • Herramientas forenses y pentesting
  • kali linux
    • Auditorías de seguridad
    • Metapaquetes y personalización

Uso diario y portátiles

  • sistema endeavour os portatil
    • Rolling release
    • Rendimiento y personalización

Instalación y medios arrancables

Personalización del entorno

Enfoque práctico

  • Integración de Linux con flujos DevOps
  • Uso como sistema principal, servidor o laboratorio
  • Base común para cloud, contenedores y seguridad

Linux — Conceptos avanzados y áreas no cubiertas

Arquitectura avanzada del sistema

Espacio de usuario vs espacio kernel

  • Transiciones userland/kernel (syscalls)
  • Coste de contexto y optimización
  • Seguridad y aislamiento entre espacios

Gestión de procesos avanzada

  • Estados de proceso (R, S, D, Z, T)
  • Prioridades, nice y schedulers (CFS)
  • Afinidad de CPU y control de recursos

Gestión de memoria

Memoria virtual

  • Paginación y swapping
  • Page cache y buffers
  • Overcommit y tuning del kernel

Herramientas de análisis

  • vmstat, free, slabtop
  • OOM Killer y diagnóstico

Almacenamiento y discos

Capas de almacenamiento

  • LVM: snapshots y redimensionado
  • RAID por software (mdadm)
  • Dispositivos de bloque y udev

Montaje y persistencia

  • fstab avanzado
  • Opciones de montaje críticas
  • Sistemas de archivos en red (NFS, CIFS)

Red en Linux

Stack de red

  • Netfilter, iptables y nftables
  • Routing, ARP y DNS
  • Namespaces de red

Diagnóstico

  • ss, ip, tcpdump
  • Análisis de latencia y throughput

Seguridad en Linux

Control de acceso

  • SELinux y AppArmor
  • Capabilities
  • Hardening del sistema base

Auditoría

  • auditd
  • Logs de seguridad
  • Detección de intrusiones básica

systemd en profundidad

Unidades y targets

  • service, socket, timer, mount
  • Dependencias y orden de arranque
  • Overrides y drop-ins

Automatización

  • Timers vs cron
  • Servicios persistentes

Contenedores y aislamiento

Namespaces y cgroups

  • PID, NET, MNT, UTS, IPC
  • Control de recursos
  • Base técnica de Docker y Kubernetes

Casos de uso

  • Entornos reproducibles
  • Microservicios
  • Seguridad mediante aislamiento

Compilación y paquetes

Gestión de software

  • Compilación desde fuente
  • make, cmake, autotools
  • Parcheado y flags de compilación

Paquetería

  • deb vs rpm
  • Repositorios y firmas
  • Versionado y rollback

Arranque y recuperación

Boot process

  • BIOS/UEFI
  • GRUB
  • initramfs

Recuperación

  • Single user mode
  • Chroot
  • Rescate de sistemas dañados

Rendimiento y optimización

Tuning del sistema

  • sysctl
  • Límites de recursos (ulimit)
  • IO scheduler

Observabilidad

  • atop, htop, iotop
  • perf y strace

Linux en entornos profesionales

Enterprise Linux

  • Alta disponibilidad
  • Clústeres
  • Backups y DRP

Cloud y virtualización

  • KVM y QEMU
  • Cloud-init
  • Linux en IaaS y PaaS

Estándares y ecosistema

  • POSIX
  • FHS
  • Licencias open source (GPL, LGPL, MIT)

Línea de madurez

  • Usuario avanzado
  • Administrador de sistemas
  • Ingeniero Linux / DevOps
  • Especialista en seguridad o rendimiento

Linux — Áreas avanzadas, profundidad técnica y conceptos transversales

Arquitectura interna del sistema

Espacio de usuario y espacio kernel

  • Linux separa estrictamente userland y kernel space para garantizar estabilidad y seguridad
  • Las aplicaciones interactúan con el kernel mediante syscalls, nunca de forma directa
  • Las llamadas al sistema implican cambios de contexto, por lo que su uso intensivo impacta en rendimiento
  • Librerías como glibc actúan como abstracción entre aplicaciones y kernel

Flujo interno de ejecución

  • Interrupciones de hardware
  • Softirqs y workqueues
  • Manejo asíncrono de eventos
  • Impacto directo en latencia y tiempo de respuesta

Gestión avanzada de procesos

Estados y ciclo de vida

  • Procesos en espera no interrumpible (D) indican problemas de IO o hardware
  • Procesos zombis como síntoma de mala gestión de procesos padre
  • Árbol de procesos y herencia de atributos

Planificación y CPU

  • Completely Fair Scheduler (CFS)
  • Control de prioridad con nice y renice
  • CPU pinning para cargas críticas
  • Control de throttling en sistemas saturados

Gestión de memoria en profundidad

Memoria virtual

  • Espacios de direcciones virtuales por proceso
  • Lazy allocation
  • Page faults menores y mayores
  • Relación entre RAM física y memoria virtual

Swapping y rendimiento

  • Swappiness como parámetro crítico
  • Impacto en servidores vs escritorios
  • Diferencias entre swap en disco y zram

Diagnóstico de problemas de memoria

  • Identificación de memory leaks
  • Análisis del OOM Killer
  • Interpretación de logs del kernel

Almacenamiento y subsistemas de disco

Arquitectura de almacenamiento

  • Capa VFS como abstracción
  • Drivers de dispositivos de bloque
  • Cola de IO y planificación de accesos

Gestión avanzada de discos

  • LVM para flexibilidad operativa
  • Snapshots consistentes
  • RAID software y tolerancia a fallos
  • Diferencias con RAID hardware

Sistemas de archivos modernos

  • Journaling y copy-on-write
  • Checksums y autocorrección
  • Compresión transparente
  • Subvolúmenes y snapshots

Red en Linux a nivel profesional

Stack de red

  • Flujo completo desde socket a NIC
  • Routing tables y políticas avanzadas
  • Bridge, bonding y VLANs
  • Namespaces para aislamiento de red

Seguridad y control

  • nftables como evolución de iptables
  • Inspección de paquetes
  • Rate limiting y protección DoS
  • Firewalls por zonas

Troubleshooting de red

  • Análisis de tráfico
  • Diagnóstico de latencia
  • Detección de cuellos de botella

Seguridad del sistema

Control de acceso avanzado

  • DAC vs MAC
  • SELinux en modo enforcing, permissive y disabled
  • AppArmor por perfiles
  • Linux capabilities como alternativa a root

Hardening del sistema

  • Minimización de superficie de ataque
  • Deshabilitación de servicios innecesarios
  • Protección del kernel
  • Seguridad en arranque

Auditoría y trazabilidad

  • auditd para cumplimiento
  • Logs centralizados
  • Forense básico en Linux

systemd más allá de lo básico

Arquitectura interna

  • PID 1 y responsabilidades
  • Gestión de dependencias
  • Paralelización del arranque

Tipos de unidades

  • Servicios on-demand con sockets
  • Timers como reemplazo de cron
  • Mount y automount
  • Integración con cgroups

Operación avanzada

  • Overrides sin modificar archivos base
  • Diagnóstico de fallos de arranque
  • Análisis de tiempos de boot

Contenedores y aislamiento de recursos

Fundamentos técnicos

  • Namespaces como aislamiento lógico
  • cgroups como control físico de recursos
  • Union filesystems

Implicaciones prácticas

  • Contenedores no son máquinas virtuales
  • Impacto en seguridad
  • Límites reales de aislamiento

Casos reales

  • CI/CD
  • Microservicios
  • Laboratorios reproducibles

Arranque, recuperación y resiliencia

Proceso de boot

  • Firmware y cargadores
  • initramfs como entorno mínimo
  • Paso de control al sistema real

Recuperación del sistema

  • Arranque en modo rescate
  • Reparación de sistemas de archivos
  • Chroot para recuperación offline
  • Gestión de backups y snapshots

Rendimiento y observabilidad

Análisis del sistema

  • Métricas clave de CPU, memoria, IO y red
  • Detección de cuellos de botella
  • Interpretación correcta de load average

Herramientas avanzadas

  • perf para profiling
  • strace y ltrace
  • ftrace y bpftrace

Optimización

  • Ajuste de kernel
  • Planificadores de IO
  • Balance entre rendimiento y estabilidad

Linux en entornos empresariales

Alta disponibilidad

  • Clustering
  • Failover automático
  • Servicios críticos sin downtime

Virtualización

  • KVM como hipervisor nativo
  • Diferencias con virtualización completa
  • Overcommit y consolidación

Cloud y automatización

  • Linux como base del cloud moderno
  • Infraestructura como código
  • Arranques dinámicos y efímeros

Estándares, licencias y ecosistema

Estándares

  • POSIX como base de compatibilidad
  • FHS y jerarquía de archivos
  • LSB y su estado actual

Licencias

  • GPL y copyleft
  • Impacto legal en empresas
  • Diferencias con licencias permisivas

Evolución profesional con Linux

  • Usuario avanzado: dominio del sistema
  • Sysadmin: operación, seguridad y disponibilidad
  • DevOps: automatización e integración
  • Especialista: kernel, seguridad, rendimiento o cloud

Visión global

  • Linux como sistema operativo
  • Linux como plataforma
  • Linux como base del ecosistema moderno

    Omnivore Linux

type: list
name: "Notas con #Linux en Omnivore"
order:
  - property: date_saved
    direction: desc
columns:
  - file.name
  - date_saved
filters:
  and:
    - file.inFolder("Omnivore")
    - file.hasTag("Linux", "linux")
views:
  - type: table
    name: Table
    sort:
      - property: file.mtime
        direction: DESC

Omnivore Sistemas

type: list
name: "Notas con #Sistemas en Omnivore"
order:
  - property: date_saved
    direction: desc
columns:
  - file.name
  - date_saved
filters:
  and:
    - file.inFolder("Omnivore")
    - file.hasTag("Sistemas", "sistemas")
views:
  - type: table
    name: Table
    sort:
      - property: file.mtime
        direction: DESC

Process-web Linux

type: list
name: "Notas con process"
order:
  - property: date_saved
    direction: desc
columns:
  - file.name
  - date_saved
filters:
  and:
    - file.inFolder("Process/process-sistemas/process-Linux")
views:
  - type: table
    name: Table
    sort:
      - property: file.mtime
        direction: DESC