%general-entities; ]> Systemd Usage and Confiuration Systemd Customization Basic Configuration The /etc/systemd/system.conf file contains a set of items to control basic 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 journal settings. Disabling Screen Clearing at Boot Time 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 the following: mkdir -p /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. 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 -s /dev/null /etc/systemd/system/tmp.mount This is not necessary if there is a separate partition for /tmp specified in /etc/fstab. 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/*.conf. Files in /etc/tmpfiles.d override files with the same name in /usr/lib/tmpfiles.d. See man tmpfiles.d for file format details. Adding Custom Units and Services A custom service can be added by creating a directory and configuration file in /etc/systemd/system/. For example: mkdir -p /etc/systemd/system/foobar.service.d cat > /etc/systemd/system/foobar.service.d/foobar.conf << EOF [Service] Restart=always RestartSec=30 EOF See the man page for systemd.unit for more information. After creating the configuration file, run systemctl daemon-reload and systemctl restart foobar to activate a service or changes to a service. Setting Console Fonts and Keyboard systemd console configuring This section discusses how to configure the systemd-vconsole-setup system service, which configures the virtual console font and console keymap. The systemd-vconsole-setup service reads the /etc/vconsole.conf file for configuration information. Decide which keymap and screen font will be used. Various language-specific HOWTOs can also help with this, see . Examine localectl list-keymaps output for a list of valid console keymaps. Look in /usr/share/consolefonts directory for valid screen fonts. The /etc/vconsole.conf file should contain lines of the form: VARIABLE="value". The following variables are recognized: KEYMAP This variable specifies the key mapping table for the keyboard. If unset, it defaults to us. KEYMAP_TOGGLE This variable can be used to configure a second toggle keymap and is unset by default. FONT This variable specifies the font used by the virtual console. FONT_MAP This variable specifies the console map to be used. FONT_UNIMAP This variable specifies the unicode font map. An example for a German keyboard and console is given below: cat > /etc/vconsole.conf << "EOF" KEYMAP=de-latin1 FONT=Lat2-Terminus16 EOF You can change KEYMAP value at runtime by using the localectl utility: localectl set-keymap MAP Please note that localectl command can be used only on a system booted with Systemd. Clock Configuration clock configuring This section discusses how to configure the systemd-timedated system service, which configures system clock and timezone. systemd-timedated reads /etc/adjtime, and depending on the contents of the file, it sets the clock to either UTC or local time. Create the /etc/adjtime file with the following contents if your hardware clock is set to local time: cat > /etc/adjtime << "EOF" 0.0 0 0.0 0 LOCAL EOF If /etc/adjtime isn't present at first boot, systemd-timedated will assume that hardware clock is set to UTC and create the file using that setting. You can also use the timedatectl utility to tell systemd-timedated if your hardware clock is set to UTC or local time: timedatectl set-local-rtc 1 timedatectl can also be used to change system time and time zone. To change your current system time, issue: timedatectl set-time YYYY:MM:DD HH:MM:SS Hardware clock will also be updated accordingly. To change your current time zone, issue: timedatectl set-timezone TIMEZONE You can get list of available time zones by running: timedatectl list-timezones The timedatectl command can be used only on a system booted with Systemd. 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