Systemd

Introduction

Systemd is a system and service manager for Linux. For many Linux distributions it replaced the existing SysV init system, modernizing how services are started and monitored.

Some basics about systemd:

  • Author: Lennart Poettering
  • First release: 2010
  • First adopter: Fedora Linux
  • Common usage by major Linux distributions: 2015

Learn more: What is systemd?

Systemd units

To monitor and manage services on a system using systemd, unit files are used. These text-based files define what to run or do, relevant conditions, and any applicable dependencies.

Learn more:

Commands

Systemd has a range of commands to interact with the systemd components. Have a look at the systemd commands page to see them all and learn about their purpose.

Relevant cheat sheets:

Hardening profiles for systemd

Hardening profiles for systemd that can be used to secure your applications.

Run0: introduction and usage

Learn the goal and purpose of run0 and how to use it for elevating privileges.

Systemd commands

All commands related to systemd in one overview. Learn about their purpose and when to use them.

Systemd features to secure units and services

Learn more about systemd features that help in securing units and services.

Systemd settings

Units in systemd have their own set of configuration settings. This overview shows the availability and their purpose.

Systemd syscall filtering

Learn more about the system calls (syscalls) that systemd may use in commands and unit files, such as with SystemCallFilter property.

Systemd timers

Learn about systemd timers, the unit type for scheduled tasks and how it differs from cron.

Systemd units and their purpose

Which systemd unit types are available and what is their goal? In this article we cover them and show some useful commands related to these units.

Troubleshooting a failed systemd unit (with examples)

Learn how to troubleshoot failed systemd units, examples, possible causes, and how to resolve them.

Frequently Asked Questions

What does 'systemctl daemon-reload' do?

When running 'systemctl daemon-reload', the systemd manager configuration is reloaded. It does this by running the generators that are helper scripts to create non-native systemd scripts. The dependency tree that links units in the right order is recreated and unit files containing their configuration are reloaded.

» Full answer and more examples


How to check if 'systemctl daemon-reload' is needed?

systemctl show --property=NeedDaemonReload --value UNIT

» Full answer and more examples


How to see which syscalls are part of a systemd syscall filter set?

systemd-analyze syscall-filter @SETNAME

» Full answer and more examples


What is the difference between systemctl disable and systemctl mask?

Using systemctl disable will no longer automatically start a service, while systemctl mask will administratively disable a service from running at all.

» Full answer and more examples


How to use systemctl edit?

systemctl edit UNIT.service

» Full answer and more examples


How to see only running services with systemctl?

systemctl --type=service --state=running --legend=false

» Full answer and more examples


How to disable the background color of run0

run0 --background= COMMAND

» Full answer and more examples


How to see memory usage of a service with systemctl?

systemctl show --property=MemoryCurrent nginx.service

» Full answer and more examples


How to see active settings of a systemd unit?

systemctl show UNIT

» Full answer and more examples


How to override the settings of a systemd unit?

systemctl edit UNIT

» Full answer and more examples


How to see the time synchronization details with timedatectl?

timedatectl timesync-status

» Full answer and more examples


How to show the systemd machine ID?

hostnamectl

» Full answer and more examples


How to see the dependencies of a systemd unit?

systemctl list-dependencies

» Full answer and more examples


How to see the available systemd unit types?

systemctl --type=help

» Full answer and more examples


How to see all active systemd units of one type?

systemctl list-units --type=TYPE

» Full answer and more examples


How to limit the disk usage of the systemd journal?

Define SystemMaxUse in /etc/systemd/journald.conf and restart systemd-journald.

» Full answer and more examples


How to see the size of the systemd journal?

journalctl --disk-usage

» Full answer and more examples


How to see kernel messages with journalctl?

journalctl --dmesg

» Full answer and more examples


What is a systemd unit?

Systemd units define resources, such as a service, path, socket, or timer. They are usually managed with the systemctl command.

» Full answer and more examples


How to see only recent journal entries?

journalctl --since="today"

» Full answer and more examples


See all frequently asked questions for systemd