7.9. Systemd Usage and Configuration

7.9.1. Basic Configuration

The /etc/systemd/system.conf file contains a set of options to control basic systemd operations. The default file has all entries commented out with the default settings indicated. This file is where the log level may be changed as well as some basic logging settings. See systemd-system.conf(5) manual page for details on each configuration option.

7.9.2. Disabling Screen Clearing at Boot Time

The normal behavior for systemd is to clear the screen at the end of the boot sequence. If desired, this behavior may be changed by running the following command:

mkdir -pv /etc/systemd/system/getty@tty1.service.d

cat > /etc/systemd/system/getty@tty1.service.d/noclear.conf << EOF
[Service]
TTYVTDisallocate=no
EOF

The boot messages can always be revied by using the journalctl -b command as the root user.

7.9.3. Disabling tmpfs for /tmp

By default, /tmp is created as a tmpfs. If this is not desired, it can be overridden by the following:

ln -sfv /dev/null /etc/systemd/system/tmp.mount

This is not necessary if there is a separate partition for /tmp specified in /etc/fstab.

7.9.4. Configuring Automatic File Creation and Deletion

There are several services that create or delete files or directories:

  • systemd-tmpfiles-clean.service

  • systemd-tmpfiles-setup-dev.service

  • systemd-tmpfiles-setup.service

The system location for the configuration files is /usr/lib/tmpfiles.d/*.conf. The local configuration files are in /etc/tmpfiles.d. Files in /etc/tmpfiles.d override files with the same name in /usr/lib/tmpfiles.d. See tmpfiles.d(5) manual page for file format details.

7.9.5. Overriding Default Services Behavior

A systemd service contents can be overriden by creating a directory and a configuration file in /etc/systemd/system. For example:

mkdir -pv /etc/systemd/system/foobar.service.d

cat > /etc/systemd/system/foobar.service.d/foobar.conf << EOF
[Service]
Restart=always
RestartSec=30
EOF

See systemd.unit(5) manual page for more information. After creating the configuration file, run systemctl daemon-reload and systemctl restart foobar to activate the changes to a service.

7.9.6. Debugging the Boot Sequence

There are several commands that can be used to help debug the systemd boot process. Here are some examples:

  • systemctl list-units -t service [--all]

  • systemctl list-units -t target [--all]

  • systemctl show -p Wants multi-user.target

  • systemctl status sshd.service