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.
The normal behavior for systemd is to clear the secreen at the end of the boot sequence. If desired, this behavior may be changed by running the following command:
mkdir -pv /etc/systemd/system/[email protected]
cat > /etc/systemd/system/[email protected]/noclear.conf << EOF
[Service]
TTYVTDisallocate=no
EOF
The boot messages can always be revied by using the journalctl -b
command as the root
user.
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
.
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.
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.
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