Skip to main content

Mastering Systemd


Intro Video

Photo of Anthony James

Anthony James

Training Architect







Hands-on Labs




Course Details

So you have heard that systemd is the new way that services and daemons are managed on a Linux system.  Most of the popular distributions have already adopted it, and now you need to learn how to use it.  Follow along with us as we explore the history of this Linux subsystem and why we have it now.  You will even learn how to use systemd to create your own service files, and see how much simpler it is to use compared to the older init system.


Getting Started

Course Introduction


Lesson Description:

The introduction to our course on systemd.

About the Course Author


Lesson Description:

A little bit about me, your course author.

Previous Service Management Tools

The Linux Boot Process


Lesson Description:

Learn about what happens on a Linux system after you press the power button. This lesson will show you the Linux boot process and how it pertains to an init system. Understanding this process is key to understanding why UNIX based operating systems have an init system.



Lesson Description:

An overview of the venerable init system. This lesson will walk you through the basic setup of the init system, and how it gets your services and daemons running for you.

Red Hat Service Tools


Lesson Description:

Didn't Red Hat come up with some tools to work with init?  Yep, and here is how they worked. Learn about the chkconfig, service, and ntsysv commands that Red Hat built to make service management with init easier.



Lesson Description:

The 'upstart' daemon tool was developed by Ubuntu as a replacement for init. Learn about some of the shortcomings that it attempted to correct, and how other distributions adopted it.

systemd Introduction

The Purpose of systemd


Lesson Description:

If we already had these other init systems, what is systemd for?  Find out here. We learn about what systemd aimed to correct from previous iterations of the Linux init systems, and how it is structured differently.

systemd Architecture


Lesson Description:

When beginning to explore systemd, a good understanding of the architecture is key. Within this lesson, we will talk about the architecture of systemd, its components, key terms, and some of the utilities used to manage it. By the end of the video, you will have the knowledge to start learning the tools for managing systemd services.

Alternatives to systemd


Lesson Description:

It wouldn't be Linux if there wasn't a different way to start the system.  Here are some of the alternatives to systemd. Learn about other daemon systems such as openrc and runit, and where they came from.

QUIZ: Linux Daemon History


systemd Tools



Lesson Description:

Learn how to use the systemctl command to manage your system's services. The systemctl command is the main interface between an administrator and the world of systemd. Learn about how it differs from previous management tools such as chkconfig.

Introduction to the systemd Journal


Lesson Description:

This is a look at the basics of the systemd journal and its configuration. Find out how to configure the journal file's location and its log retention.



Lesson Description:

Learn how to use the journalctl utility to view your system's log files. We will find out how to view the latest entries, kernel entries, and how to view journal entries with more detailed information from the service catalog. These commands are imperative to understanding what is going on with a system running systemd.

More systemd Tools


Lesson Description:

Learn about some of the other systemd tools that can aid you in configuring a system or for basic troubleshooting. Learn about some system configuration tools such as timedatectl, hostnamectl, localectl, and troubleshooting tools such as systemd-resolve.

QUIZ: Systemd Components


Unit Files

Basics of a Unit File


Lesson Description:

Learn about the basics of a systemd unit file. We will discuss a unit files various stanzas and how they correlate to a system's operations. You can use commands such as systemctl cat to view the contents of a systemd file to better understand a unit's workings.

Target Unit Files


Lesson Description:

Learn about the .target unit files. The target unit files dictate the environment that a system will run in. We will discuss targets such as multi-user, rescue, graphical and the various system shutdown targets as well. We will demonstrate the usage of systemctl get-default and systemctl set-default to change a target on a systemd computer.

Service Unit Files


Lesson Description:

Learn about the .service unit files. Here we discuss how to use the systemctl command to enable and disable a system service from starting up at boot time, and how to use systemctl start and stop to manage a service at runtime.

Timer Unit Files


Lesson Description:

Learn about the .timer unit files. As a potential alternative to cron, we discuss how to schedule jobs and services to run at specific times and see what timers are already set up using the systemctl list-timers command.

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.


Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.


QUIZ: Systemd Unit Files


systemd and Containers

systemd and Containers


Lesson Description:

With the introduction of systemd, Linux has a new way of managing containers.  Find out how this works with the use of the systemd-nspawn utility, and the machinectl suite of tools that can be used to build out small, lightweight containers in systemd.

systemd Container Demo


Lesson Description:

A visual walkthrough of the construction of a container using systemd. We will display the usage of the systemd-nspwn command and machinectl command to build out a container in systemd.

Networking in systemd Containers


Lesson Description:

Learn how to set up a network interface for a container in systemd. This is useful if you need to try out web services from within a systemd container. We also introduce the systemd-networkd utility for managing systemd-nspawn network interfaces.

QUIZ: Systemd and Containers


Final Steps

Final Steps


Lesson Description:

You completed the course!

Take this course and learn a new skill today.

Transform your learning with our all access plan.

Start 7-Day Free Trial