mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 11:49:20 +01: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 -->
|
<!-- 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="introductiond.xml"/>
|
||||||
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="networkd.xml"/>
|
||||||
|
|
||||||
<!-- common -->
|
<!-- 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="udev.xml"/>
|
||||||
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="symlinks.xml"/>
|
||||||
|
|
||||||
<!-- sysv -->
|
<!-- 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="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="usage.xml"/>
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/>
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/>
|
||||||
|
|
||||||
<!-- systemd -->
|
<!-- 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="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="consoled.xml"/>
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.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;
|
%general-entities;
|
||||||
]>
|
]>
|
||||||
|
|
||||||
<sect1 id="ch-scripts-symlinks" revision="sysv">
|
<sect1 id="ch-scripts-symlinks">
|
||||||
<?dbhtml filename="symlinks.html"?>
|
<?dbhtml filename="symlinks.html"?>
|
||||||
|
|
||||||
<title>Managing Devices</title>
|
<title>Managing Devices</title>
|
||||||
|
|
||||||
<sect2>
|
<sect2 revision="sysv">
|
||||||
|
|
||||||
<title>Network Devices</title>
|
<title>Network Devices</title>
|
||||||
|
|
||||||
@ -113,48 +113,10 @@
|
|||||||
creating your configuration files below.</para>
|
creating your configuration files below.</para>
|
||||||
|
|
||||||
</sect3>
|
</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>
|
<sect2 revision="sysv">
|
||||||
|
|
||||||
<title>CD-ROM symlinks</title>
|
<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