Sistemas
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
- Linux en arch con virtualbox
- Laboratorio para pruebas seguras
- Snapshots y entornos aislados
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
- instalacion con persistencia de linux en usb
- Live USB con persistencia
- Multi-boot y recuperación de sistemas
Personalización del entorno
- Linux personalizacion de entorno
- Gestores de ventanas y escritorios
- Dotfiles y configuración avanzada
- Optimización de productividad
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
¿Te gusta este contenido? Suscríbete vía RSS