RousselTMLEARNING

TP · Administración Linux: del descubrimiento a la maestría

Práctica: Crear y gestionar un servicio systemd

Lo que vas a aprender en este TP
  • Gestionar paquetes y servicios
  • Escribir una unidad systemd endurecida
  • Programar con un timer

Introducción #

Lo que vas a aprender en esta sección
  • Gestionar paquetes y servicios
  • Escribir una unidad systemd endurecida
  • Programar con un timer

Contexto. Una pequeña aplicación interna se lanza a mano en un terminal y se detiene en cada desconexión. La conviertes en un servicio de verdad, supervisado y endurecido.

Requisitos previos: una máquina virtual Ubuntu 24.04 desechable (Multipass, Vagrant o nube) con una cuenta sudo  ·  Duración estimada: 45 min

Un servicio que arranca al inicio, se reinicia solo y se comprueba cada minuto.

Puesta en práctica #

Pasos guiados, con su corrección.

  1. 1. Instalar y gestionar nginx

    ¿Por qué? Un paquete de la distribución ya trae su unidad systemd: se aprenden los comandos con un caso sencillo.

    Actualiza el índice, instala nginx, comprueba que está activo y habilitado al arranque y pruébalo con curl.
  2. 2. Preparar la aplicación

    ¿Por qué? La aplicación se ejecuta con una cuenta de servicio dedicada, nunca root.

    Crea la cuenta app (si no existe) y un sitio estático en /srv/app/www servido por python3 -m http.server en el puerto 8080.
  3. 3. Escribir la unidad

    ¿Por qué? systemd arranca el servicio al inicio, lo relanza si falla y lo aísla del resto del sistema.

    Crea /etc/systemd/system/app.service con Restart=on-failure y opciones de endurecimiento, recarga systemd, habilita e inicia el servicio.
  4. 4. Probar el reinicio automático

    ¿Por qué? Se comprueba el comportamiento ante un fallo en lugar de suponerlo.

    Mata el proceso principal con SIGKILL, comprueba que aparece un nuevo PID y busca el evento en el journal.
  5. 5. Sobrescribir la unidad

    ¿Por qué? Una sobrescritura (drop-in) modifica un servicio sin editar su archivo y sobrevive a las actualizaciones.

    Limita la memoria del servicio a 200 MB y su CPU al 50 % con una sobrescritura y comprueba los valores aplicados y la puntuación de seguridad.
  6. 6. Programar una comprobación con un timer

    ¿Por qué? Un timer de systemd registra cada ejecución y recupera las que faltan, a diferencia de cron.

    Crea un servicio healthcheck que consulte /health y un timer que lo lance cada minuto. Detén la aplicación y observa el fallo en el journal.

Nivel de dificultad : ●●○○○ (2/5)

Mi seguimiento

  • ⏱ Duración estimada : ≈ 45 min

Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión

✉️ Hacer una pregunta

Artículos recomendados

Paquets, services systemd, journaux et tâches planifiées

Installer et mettre à jour des logiciels avec apt et dnf, piloter les services avec systemctl, éc...

Buenas Prácticas de Kubernetes

Mejores prácticas para asegurar y optimizar los despliegues de Kubernetes.