aboutsummaryrefslogtreecommitdiffstats
path: root/chapter07
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2017-12-22 20:18:46 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2017-12-22 20:18:46 +0000
commit94e3e7bdd1a7252c28eb30b03910aa7e4a2f974a (patch)
treed0b2a9d2b36c7cc97984c34e6e80060eeb7dd706 /chapter07
parent896e77e204cfd406b453c976bad19876c9fa761c (diff)
Update to linux-4.14.8.
Add discussion of ethernet device names (systemd). Add discussion of audo file deletion (systemd). Add discussion of separate /tmp (systemd). git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11340 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter07')
-rw-r--r--chapter07/networkd.xml74
-rw-r--r--chapter07/systemd-custom.xml41
2 files changed, 103 insertions, 12 deletions
diff --git a/chapter07/networkd.xml b/chapter07/networkd.xml
index 54119f03e..b446986fa 100644
--- a/chapter07/networkd.xml
+++ b/chapter07/networkd.xml
@@ -43,11 +43,67 @@
<filename>systemd-netdev(5)</filename> and
<filename>systemd-network(5)</filename> manual pages.</para>
- <note><para>Udev may assign network card interface names based
- on system physical characteristics such as enp2s1. If you are
- not sure what your interface name is, you can always run
- <command>ip link</command> after you have booted your system.
- </para></note>
+ <sect3 id="systemd-network-devices">
+ <title>Network Device Naming</title>
+
+ <para>
+ Udev normally assigns network card interface names based
+ on system physical characteristics such as enp2s1. If you are
+ not sure what your interface name is, you can always run
+ <command>ip link</command> after you have booted your system.
+ </para>
+
+ <para>
+ For most systems, there is only one network interface for
+ each type of connection. For example, the classic interface
+ name for a wired connection is eth0. A wireless connection
+ will usually have the name wifi0 or wlan0.
+ </para>
+
+ <para>
+ If you prefer to use the classic or customized network interface names,
+ there are three alternative ways to do that:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Mask udev's .link file for the default policy:
+<screen role="nodump"><userinput>ln -s /dev/null /etc/systemd/network/99-default.link</userinput></screen>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Create a manual naming scheme, for example by naming the
+ interfaces something like "internet0", "dmz0", or "lan0".
+ For that, create .link
+ files in /etc/systemd/network/, that choose an explicit name or a
+ better naming scheme for one, some, or all of your interfaces.
+ For example:
+ </para>
+
+<screen role="nodump"><userinput>cat &gt; /etc/systemd/network/10-ether0.link &lt;&lt; "EOF"
+<literal>[Match]
+# Change the MAC address as appropriate for your network device
+MACAddress=12:34:45:78:90:AB
+
+[Link]
+Name=ether0</literal>
+EOF</userinput></screen>
+
+ <para>
+ See the man page systemd.link(5) for more information.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ In /boot/grub/grub.cfg, pass the option net.ifnames=0 on the
+ kernel command line.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
<sect3 id="systemd-networkd-static">
<title>Static IP Configuration</title>
@@ -56,9 +112,9 @@
Static IP setup (using both systemd-networkd and
systemd-resolved):</para>
-<screen><userinput>cat &gt; /etc/systemd/network/10-eth0-static.network &lt;&lt; "EOF"
+<screen><userinput>cat &gt; /etc/systemd/network/10-eth-static.network &lt;&lt; "EOF"
<literal>[Match]
-Name=eth0
+Name=&lt;network-device-name&gt;
[Network]
Address=192.168.0.2/24
@@ -79,9 +135,9 @@ EOF</userinput></screen>
<para>The command below creates a basic configuration file for an IPv4
DHCP setup:</para>
-<screen role="nodump"><userinput>cat &gt; /etc/systemd/network/10-eth0-dhcp.network &lt;&lt; "EOF"
+<screen role="nodump"><userinput>cat &gt; /etc/systemd/network/10-eth-dhcp.network &lt;&lt; "EOF"
<literal>[Match]
-Name=eth0
+Name=&lt;network-device-name&gt;
[Network]
DHCP=ipv4
diff --git a/chapter07/systemd-custom.xml b/chapter07/systemd-custom.xml
index bd1119840..31f518ff2 100644
--- a/chapter07/systemd-custom.xml
+++ b/chapter07/systemd-custom.xml
@@ -53,9 +53,18 @@ EOF</userinput></screen>
<screen role="nodump"><userinput>ln -sfv /dev/null /etc/systemd/system/tmp.mount</userinput></screen>
- <para>This is not necessary if there is a separate partition for
- <filename class="directory">/tmp</filename> specified in
- <filename>/etc/fstab</filename>.</para>
+ <para>Alternatively, if a a separate partition for
+ <filename class="directory">/tmp</filename> is desired, specify that
+ partition in an <filename>/etc/fstab</filename> entry.</para>
+
+ <warning>
+ <para>
+ Do not create the symbolic link above if a separate partition is used
+ for <filename class="directory">/tmp</filename>. This will prvent the
+ root file system (/) from being remounted r/w and make the system
+ unusable when booted.
+ </para>
+ </warning>
</sect2>
@@ -81,6 +90,32 @@ EOF</userinput></screen>
<filename>tmpfiles.d(5)</filename> manual page for file format
details.</para>
+ <para>
+ Note that the syntax for the
+ <filename>/usr/lib/tmpfiles.d/*.conf</filename> files can be
+ confusing. For example, the default deletion of files in the /tmp directory
+ is located in <filename>/usr/lib/tmpfiles.d/tmp.conf</filename> with
+ the line:
+
+<screen role="nodump">q /tmp 1777 root root 10d</screen>
+
+ The type field, q, discusses creating a subvolume with quotas which
+ is really only applicable to btrfs filesystems. It references type v
+ which in turn references type d (directory). This then creates the
+ specified directory if is is not present and adjusts the permissions
+ and ownership as specified. Contents of the directory will be
+ subject to time based cleanup if the age argument is specified.
+ </para>
+
+ <para>
+ If the default parameters are not desired, then the file should
+ be copied to <filename class="directory">/etc/tmpfiles.d</filename>
+ and edited as desired. For example:
+
+<screen role="nodump"><userinput>mkdir -p /etc/tempfiles.d
+cp /usr/lib/tmpfiles.d/tmp.conf /etc/tempfiles.d</userinput></screen>
+ </para>
+
</sect2>
<sect2>