mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-03-06 06:14:47 +00:00
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:
parent
9a0d741437
commit
efd5d1f303
@ -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"/>
|
||||
|
@ -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 > /etc/shells << "EOF"
|
||||
<literal># Begin /etc/shells
|
||||
|
||||
/bin/sh
|
||||
/bin/bash
|
||||
|
||||
# End /etc/shells</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
</sect1>
|
@ -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>
|
||||
|
||||
|
@ -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 > /etc/udev/rules.d/83-duplicate_devs.rules << "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>
|
Loading…
Reference in New Issue
Block a user