diff options
author | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2014-04-06 22:36:59 +0000 |
---|---|---|
committer | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2014-04-06 22:36:59 +0000 |
commit | c729bc928cb74e89b5f362ffbf9221951461725c (patch) | |
tree | afa4dd7e60475ff39080fb37e467a95bb6fa94b8 /chapter07 | |
parent | ba75f1313a7927011dcdf17a364fccc2476f8811 (diff) |
Add section on systemd customization
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10527 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter07')
-rw-r--r-- | chapter07/chapter07.xml | 1 | ||||
-rw-r--r-- | chapter07/console.xml | 97 | ||||
-rw-r--r-- | chapter07/network.xml | 4 | ||||
-rw-r--r-- | chapter07/sysd-custom.xml | 116 |
4 files changed, 212 insertions, 6 deletions
diff --git a/chapter07/chapter07.xml b/chapter07/chapter07.xml index 08c6e32b8..ae298f0b0 100644 --- a/chapter07/chapter07.xml +++ b/chapter07/chapter07.xml @@ -18,6 +18,7 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="udev.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="symlinks.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sysd-custom.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hostname.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="setclock.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="console.xml"/> diff --git a/chapter07/console.xml b/chapter07/console.xml index a865b29b6..88395d4c5 100644 --- a/chapter07/console.xml +++ b/chapter07/console.xml @@ -23,6 +23,9 @@ equivalent settings in <filename>rc.site</filename>), the <command>console</command> bootscript will do nothing.</para> + <sect2 id="ch-scripts-sysv-console"> + <title>Systemd V</title> + <para>The <command>console</command> script reads the <filename>/etc/sysconfig/console</filename> file for configuration information. Decide which keymap and screen font will be used. Various @@ -227,10 +230,96 @@ EOF</userinput></screen> <!-- Added because folks keep posting their console file with X questions to blfs-support list --> <note> - <para>The <filename>/etc/sysconfig/console</filename> file only controls the Linux text console localization. It has nothing to do with setting the - proper keyboard layout and terminal fonts in the X Window System, with ssh - sessions or with a serial console. In such situations, limitations mentioned - in the last two list items above do not apply.</para> + <para>The <filename>/etc/sysconfig/console</filename> file only controls + the Linux text console localization. It has nothing to do with setting + the proper keyboard layout and terminal fonts in the X Window System, with + ssh sessions or with a serial console. In such situations, limitations + mentioned in the last two list items above do not apply.</para> </note> + </sect2> + + <sect2 id="ch-scripts-systemd-console"> + <title>Systemd</title> + + <indexterm zone="ch-scripts-systemd-console"> + <primary sortas="d-console">systemd console</primary> + <secondary>configuring</secondary> + </indexterm> + + <para>This section discusses how to configure the + <command>systemd-vconsole-setup</command> system service, which configures + the virtual console font and console keymap.</para> + + <para>The <command>systemd-vconsole-setup</command> service reads the + <filename>/etc/vconsole.conf</filename> file for configuration + information. Decide which keymap and screen font will be used. Various + language-specific HOWTOs can also help with this, see <ulink + url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. + Examine <command>localectl list-keymaps</command> output for a list of + valid console keymaps. Look in + <filename class="directory">/usr/share/consolefonts</filename> + directory for valid screen fonts.</para> + + <para>The <filename>/etc/vconsole.conf</filename> file should contain lines + of the form: VARIABLE="value". The following variables are recognized:</para> + + <variablelist> + + <varlistentry> + <term>KEYMAP</term> + <listitem> + <para>This variable specifies the key mapping table for the keyboard. If + unset, it defaults to <literal>us</literal>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>KEYMAP_TOGGLE</term> + <listitem> + <para>This variable can be used to configure a second toggle keymap and + is unset by default.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FONT</term> + <listitem> + <para>This variable specifies the font used by the virtual + console.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>FONT_MAP</term> + <listitem> + <para>This variable specifies the console map to be used.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FONT_UNIMAP</term> + <listitem> + <para>This variable specifies the unicode font map.</para> + </listitem> + </varlistentry> + + </variablelist> + + <para>An example for a German keyboard and console is given below:</para> + +<screen role="nodump"><userinput>cat > /etc/vconsole.conf << "EOF" +<literal>KEYMAP=de-latin1 +FONT=Lat2-Terminus16</literal> +EOF</userinput></screen> + + <para>You can change KEYMAP value at runtime by using the + <command>localectl</command> utility:</para> + +<screen role="nodump"><userinput>localectl set-keymap MAP</userinput></screen> + + <note><para>Please note that <command>localectl</command> command can + be used only on a system booted with Systemd.</para></note> + + </sect2> + </sect1> diff --git a/chapter07/network.xml b/chapter07/network.xml index f776aad7a..4134bb40c 100644 --- a/chapter07/network.xml +++ b/chapter07/network.xml @@ -206,12 +206,12 @@ EOF</userinput></screen> <para>To disable a previously enabled network interface card configuration at boot, run:</para> -<screen><userinput>systemctl disable ifupdown@eth0</userinput></screen> +<screen role="nodump"><userinput>systemctl disable ifupdown@eth0</userinput></screen> <para>To manually start the network interface card configuration, run:</para> -<screen><userinput>systemctl start ifupdown@eth0</userinput></screen> +<screen role="nodump"><userinput>systemctl start ifupdown@eth0</userinput></screen> <para>Replace eth0 with the correct network interface card name as described on the beginning of this page.</para> diff --git a/chapter07/sysd-custom.xml b/chapter07/sysd-custom.xml new file mode 100644 index 000000000..7f3d4864b --- /dev/null +++ b/chapter07/sysd-custom.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-scripts-sysd-custom"> + <?dbhtml filename="sysd-custom.html"?> + + <title>Systemd Customization</title> + + <indexterm zone="ch-scripts-sysd-custom"> + <primary sortas="e-Systemd">Systemd Customization</primary> + </indexterm> + + <sect2> + <title>Basic Configuration</title> + + <para>The <filename>/etc/systemd/system.conf</filename> 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.</para> + + </sect2> + + <sect2> + <title>Disabling Screen Clearing at Boot Time</title> + + <para>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:</para> + +<screen role="nodump"><userinput>mkdir -p /etc/systemd/system/getty@tty1.service.d + +cat > /etc/systemd/system/getty@tty1.service.d/noclear.conf << EOF +[Service] +TTYVTDisallocate=no +EOF</userinput></screen> + + <para>The boot messages can always be revied by using the + <userinput>journalctl -b</userinput> command as the root user.</para> + + </sect2> + + <sect2> + <title>Disabling tmpfs for /tmp </title> + + <para>By default, <filename class="directory">/tmp</filename> is created as + a tmpfs. If this is not desired, it can be overridden by the following:</para> + +<screen role="nodump"><userinput>ln -s /dev/null /etc/systemd/system/tmp.mount</userinput></screen> + + <para>This is not necessary if there is a separate partition for /tmp + specified in <filename>/etc/fstab</filename>.</para> + </sect2> + + <sect2> + <title>Configuring Automatic File Creation and Deletion</title> + + <para>There are several services that create or delete files or + directories:</para> + + <itemizedlist> + <listitem><para>systemd-tmpfiles-clean.service</para></listitem> + <listitem><para>systemd-tmpfiles-setup-dev.service</para></listitem> + <listitem><para>systemd-tmpfiles-setup.service</para></listitem> + </itemizedlist> + + <para>The system location for the configuration files is + <filename>/usr/lib/tmpfiles.d/*.conf</filename>. The local + configuration files are in <filename>/etc/tmpfiles.d/*.conf</filename>. + Files in /etc/tmpfiles.d override files with the same name in + /usr/lib/tmpfiles.d. See <userinput>man tmpfiles.d</userinput> + for file format details.</para> + + </sect2> + + <sect2> + <title>Adding Custom Units and Services</title> + + <para>A custom service can be added by creating a directory and + configuration file in <filename class="directory">/etc/systemd/system/</filename>. + For example:</para> + +<screen role="nodump"><userinput>mkdir -p /etc/systemd/system/foobar.service.d + +cat > /etc/systemd/system/foobar.service.d/foobar.conf << EOF +[Service] +Restart=always +RestartSec=30 +EOF</userinput></screen> + + <para>See the man page for systemd.unit for more information. After + creating the configuration file, run <userinput>systemctl + daemon-reload</userinput> and <userinput>systemctl restart + foobar</userinput> to activate a service or changes to a service.</para> + + </sect2> + + <sect2> + <title>Debugging the Boot Sequence</title> + + <para>There are several commands that can be used to help debug the systemd + boot process. Here are some examples:</para> + + <itemizedlist> + <listitem><para>systemctl list-units -t service [--all]</para></listitem> + <listitem><para>systemctl list-units -t target [--all]</para></listitem> + <listitem><para>systemctl show -p Wants multi-user.target</para></listitem> + <listitem><para>systemctl status sshd.service</para></listitem> + </itemizedlist> + + </sect2> + +</sect1> |