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.

Take this course offline

Subscribe to my newsletter to get every free book and course in PDF and EPUB format.

Get the downloads

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