Merge symlinks.xml and symlinksd.xml.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11084 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
DJ Lucas 2016-05-30 04:37:33 +00:00
parent 9a0d741437
commit efd5d1f303
4 changed files with 6 additions and 155 deletions

View File

@ -17,18 +17,18 @@
<!-- systemd -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introductiond.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="networkd.xml"/>
<!-- common -->
<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"/>
<!-- sysv -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="symlinks.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.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="profile.xml"/>
<!-- systemd -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="networkd.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="symlinksd.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clock.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="consoled.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>

View File

@ -1,48 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE part 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-config-shells" xreflabel="Creating the /etc/shells File">
<?dbhtml filename="etcshells.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Creating the /etc/shells File</title>
<indexterm zone="ch-config-shells">
<primary sortas="e-etc-shells">/etc/shells</primary>
</indexterm>
<para>The <filename>shells</filename> file contains a list of
login shells on the system. Applications use this file to determine
whether a shell is valid. For each shell a single line should be
present, consisting of the shell's path, relative to the root of the
directory structure (/).</para>
<para>For example, this file is consulted by <command>chsh</command>
to determine whether an unprivileged user may change the login shell for her
own account. If the command name is not listed, the user will be denied of
change.</para>
<para>It is a requirement for applications such as
<application>GDM</application> which does not populate the
face browser if it can't find <filename>/etc/shells</filename>, or
FTP daemons which traditionally disallow access to users
with shells not included in this file.</para>
<screen role="root"><userinput>cat &gt; /etc/shells &lt;&lt; "EOF"
<literal># Begin /etc/shells
/bin/sh
/bin/bash
# End /etc/shells</literal>
EOF</userinput></screen>
</sect1>

View File

@ -5,12 +5,12 @@
%general-entities;
]>
<sect1 id="ch-scripts-symlinks" revision="sysv">
<sect1 id="ch-scripts-symlinks">
<?dbhtml filename="symlinks.html"?>
<title>Managing Devices</title>
<sect2>
<sect2 revision="sysv">
<title>Network Devices</title>
@ -113,48 +113,10 @@
creating your configuration files below.</para>
</sect3>
<!--
<sect3>
<title>Custom Naming in Systemd</title>
<para>Network interface names can also be customized with a set of
files spcific to systemd. A file with a name such as 10-eth0.link
in the /etc/systemd/network directory can set an interface name. All
files in the directory will be applied in lexical order. Files
in the /lib/systemd/network directory with the same name as those
in /etc/systemd/network will be overridden. See the man page
for systemd.link for a full explanation.</para>
<para>An example file looks like:</para>
<screen role="nodump">[Match]
MACAddress=12:34:56:78:9a:bc
Driver=brcmsmac
Path=pci-0000:02:00.0-*
Type=wlan
Virtualization=no
Host=my-laptop
Architecture=x86-64
[Link]
Name=wireless0
MTUBytes=1450
BitsPerSecond=10M
WakeOnLan=magic
MACAddress=cb:a9:87:65:43:21</screen>
<para>The [Match] section specifies when to apply the rule. In
the example above, the entries can be shortened to the minimum
needed to uniquely identify the network device. Similarly,
the [Link] section only needs to specify the changes from the
default that are desired. In many cases, the only thing needed is
the Name entry.</para>
</sect3>
-->
</sect2>
<sect2>
<sect2 revision="sysv">
<title>CD-ROM symlinks</title>

View File

@ -1,63 +0,0 @@
<?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-symlinks" revision="systemd">
<?dbhtml filename="symlinks.html"?>
<title>Creating Custom Symlinks to Devices</title>
<sect2>
<title>Dealing with duplicate devices</title>
<para>As explained in <xref linkend="ch-scripts-udev"/>, the order in
which devices with the same function appear in
<filename class="directory">/dev</filename> is essentially random.
E.g., if you have a USB web camera and a TV tuner, sometimes
<filename>/dev/video0</filename> refers to the camera and
<filename>/dev/video1</filename> refers to the tuner, and sometimes
after a reboot the order changes to the opposite one.
For all classes of hardware except sound cards and network cards, this is
fixable by creating udev rules for custom persistent symlinks.
The case of network cards is covered separately in
<xref linkend="ch-scripts-network"/>, and sound card configuration can
be found in <ulink url="&blfs-book;postlfs/devices.html">BLFS</ulink>.</para>
<para>For each of your devices that is likely to have this problem
(even if the problem doesn't exist in your current Linux distribution),
find the corresponding directory under
<filename class="directory">/sys/class</filename> or
<filename class="directory">/sys/block</filename>.
For video devices, this may be
<filename
class="directory">/sys/class/video4linux/video<replaceable>X</replaceable></filename>.
Figure out the attributes that identify the device uniquely (usually,
vendor and product IDs and/or serial numbers work):</para>
<screen role="nodump"><userinput>udevadm info -a -p /sys/class/video4linux/video0</userinput></screen>
<para>Then write rules that create the symlinks, e.g.:</para>
<screen role="nodump"><userinput>cat &gt; /etc/udev/rules.d/83-duplicate_devs.rules &lt;&lt; "EOF"
<literal>
# Persistent symlinks for webcam and tuner
KERNEL=="video*", ATTRS{idProduct}=="1910", ATTRS{idVendor}=="0d81", \
SYMLINK+="webcam"
KERNEL=="video*", ATTRS{device}=="0x036f", ATTRS{vendor}=="0x109e", \
SYMLINK+="tvtuner"
</literal>
EOF</userinput></screen>
<para>The result is that <filename>/dev/video0</filename> and
<filename>/dev/video1</filename> devices still refer randomly to the tuner
and the web camera (and thus should never be used directly), but there are
symlinks <filename>/dev/tvtuner</filename> and
<filename>/dev/webcam</filename> that always point to the correct
device.</para>
</sect2>
</sect1>