Free course

systemd Course

Learn to run Linux server applications with systemd units, dependencies, restart policies, timers, resource limits, logs, and safe deployments.

5 modules · 25 lessons · No signup

Prerequisites: Shell Commands and Linux Basics

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Create, harden, operate, and troubleshoot a systemd service and timer for a server application.

Course contents

  1. Units and state

    Understand the manager, unit files, load state, active state, enablement, and dependencies.

    1. ✓ What systemd manages
    2. ✓ Read unit state
    3. ✓ Find unit files and overrides
    4. ✓ Dependencies and targets
    5. ✓ Check your understanding: units and state
  2. Build a service

    Run an application with a dedicated account, explicit environment, and predictable lifecycle.

    1. ✓ Choose a service type
    2. ✓ Write a minimal service
    3. ✓ Pass configuration and secrets
    4. ✓ Load and start a new unit
    5. ✓ Check your understanding: build a service
  3. Reliability and resources

    Control restarts, startup order, timeouts, resources, and failure behavior.

    1. ✓ Design restart policy
    2. ✓ Model startup order and readiness
    3. ✓ Set timeouts and stop cleanly
    4. ✓ Control CPU, memory, and tasks
    5. ✓ Check your understanding: reliability and resources
  4. Timers and operations

    Replace fragile cron jobs, deploy safely, reload configuration, and inspect execution.

    1. ✓ Create a service and timer
    2. ✓ Handle missed and randomized runs
    3. ✓ Deploy a service safely
    4. ✓ Run transient work
    5. ✓ Check your understanding: timers and operations
  5. Security and troubleshooting

    Reduce privileges, analyze units, read the journal, and diagnose failed services.

    1. ✓ Reduce service privileges
    2. ✓ Filter the journal
    3. ✓ Diagnose a failed service
    4. ✓ Complete the service review
    5. ✓ Check your understanding: security and troubleshooting