mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-20 12:19:24 +01:00
Merge remote-tracking branch 'origin/trunk' into xry111/clfs-ng
This commit is contained in:
commit
76b84d2a02
@ -53,7 +53,7 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>[bdubbs] - Update to vim-9.0.1060. Addresses
|
<para>[bdubbs] - Update to vim-9.0.1060. Addresses
|
||||||
<ulink url="&lfs-ticket-root;5006">#5006</ulink>.</para>
|
<ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>[bdubbs] - Update to iproute2-6.1.0. Fixes
|
<para>[bdubbs] - Update to iproute2-6.1.0. Fixes
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
<primary sortas="e-/dev/">/dev/*</primary>
|
<primary sortas="e-/dev/">/dev/*</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>Applications running in user space utilize various file
|
<para>Applications running in userspace utilize various file
|
||||||
systems created by the kernel to communicate
|
systems created by the kernel to communicate
|
||||||
with the kernel itself. These file systems are virtual: no disk
|
with the kernel itself. These file systems are virtual: no disk
|
||||||
space is used for them. The content of these file systems resides in
|
space is used for them. The content of these file systems resides in
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
the debugger can provide not only memory addresses, but also
|
the debugger can provide not only memory addresses, but also
|
||||||
the names of the routines and variables.</para>
|
the names of the routines and variables.</para>
|
||||||
|
|
||||||
<para>However, the inclusion of these debugging symbols enlarges a
|
<para>The inclusion of these debugging symbols enlarges a
|
||||||
program or library significantly. The following is an example of the
|
program or library significantly. Here are two examples of the
|
||||||
amount of space these symbols occupy:</para>
|
amount of space these symbols occupy:</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
@ -28,7 +28,7 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>A <command>bash</command> binary without debugging symbols:
|
<para>A <command>bash</command> binary without debugging symbols:
|
||||||
480 KB</para>
|
480 KB (60% smaller)</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Glibc and GCC files (<filename class="directory">/lib</filename>
|
<para>Glibc and GCC files (<filename class="directory">/lib</filename>
|
||||||
@ -36,15 +36,14 @@
|
|||||||
symbols: 87 MB</para>
|
symbols: 87 MB</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Glibc and GCC files without debugging symbols: 16 MB</para>
|
<para>Glibc and GCC files without debugging symbols: 16 MB (82% smaller)</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>Sizes may vary depending on which compiler and C library were used,
|
<para>Sizes will vary depending on which compiler and C library were used,
|
||||||
but when comparing programs with and without debugging symbols, the
|
but a program that has been stripped of debugging symbols is usually some
|
||||||
difference will usually be a factor between two and five.</para>
|
50% to 80% smaller than its unstripped counterpart.
|
||||||
|
Because most users will never use a debugger on their system software,
|
||||||
<para>Because most users will never use a debugger on their system software,
|
|
||||||
a lot of disk space can be regained by removing these symbols. The next
|
a lot of disk space can be regained by removing these symbols. The next
|
||||||
section shows how to strip all debugging symbols from the programs and
|
section shows how to strip all debugging symbols from the programs and
|
||||||
libraries.</para>
|
libraries.</para>
|
||||||
|
@ -10,16 +10,16 @@
|
|||||||
|
|
||||||
<title>Cleaning Up</title>
|
<title>Cleaning Up</title>
|
||||||
|
|
||||||
<para>Finally, clean up some extra files left around from running tests:</para>
|
<para>Finally, clean up some extra files left over from running tests:</para>
|
||||||
|
|
||||||
<screen><userinput>rm -rf /tmp/*</userinput></screen>
|
<screen><userinput>rm -rf /tmp/*</userinput></screen>
|
||||||
|
|
||||||
<para>There are also several files installed in the /usr/lib and /usr/libexec
|
<para>There are also several files in the /usr/lib and /usr/libexec
|
||||||
directories with a file name extension of .la. These are "libtool archive"
|
directories with a file name extension of .la. These are "libtool archive"
|
||||||
files. As already said, on a modern Linux system the libtool .la files are
|
files. On a modern Linux system the libtool .la files are
|
||||||
only useful for libltdl. No libraries in LFS are expected to be loaded
|
only useful for libltdl. No libraries in LFS are expected to be loaded
|
||||||
by libltdl, and it's known that some .la files can cause BLFS packages
|
by libltdl, and it's known that some .la files can break BLFS package
|
||||||
fail to build. Remove those files now:</para>
|
builds. Remove those files now:</para>
|
||||||
|
|
||||||
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
|
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<sect2 role="package">
|
<sect2 role="package">
|
||||||
<title/>
|
<title/>
|
||||||
|
|
||||||
<para>The e2fsprogs package contains the utilities for handling the
|
<para>The E2fsprogs package contains the utilities for handling the
|
||||||
<systemitem class="filesystem">ext2</systemitem> file system. It also
|
<systemitem class="filesystem">ext2</systemitem> file system. It also
|
||||||
supports the <systemitem class="filesystem">ext3</systemitem> and
|
supports the <systemitem class="filesystem">ext3</systemitem> and
|
||||||
<systemitem class="filesystem">ext4</systemitem> journaling
|
<systemitem class="filesystem">ext4</systemitem> journaling
|
||||||
@ -44,13 +44,13 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of E2fsprogs</title>
|
<title>Installation of E2fsprogs</title>
|
||||||
|
|
||||||
<para>The e2fsprogs documentation recommends that the package be built in
|
<para>The E2fsprogs documentation recommends that the package be built in
|
||||||
a subdirectory of the source tree: </para>
|
a subdirectory of the source tree: </para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">mkdir -v build
|
<screen><userinput remap="pre">mkdir -v build
|
||||||
cd build</userinput></screen>
|
cd build</userinput></screen>
|
||||||
|
|
||||||
<para>Prepare e2fsprogs for compilation:</para>
|
<para>Prepare E2fsprogs for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||||
--sysconfdir=/etc \
|
--sysconfdir=/etc \
|
||||||
@ -74,11 +74,11 @@ cd build</userinput></screen>
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>--disable-*</parameter></term>
|
<term><parameter>--disable-*</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This prevents e2fsprogs from building and installing the
|
<para>These prevent building and installing the
|
||||||
<systemitem class="library">libuuid</systemitem> and
|
<systemitem class="library">libuuid</systemitem> and
|
||||||
<systemitem class="library">libblkid</systemitem> libraries, the
|
<systemitem class="library">libblkid</systemitem> libraries, the
|
||||||
<systemitem class="daemon">uuidd</systemitem> daemon, and the
|
<systemitem class="daemon">uuidd</systemitem> daemon, and the
|
||||||
<command>fsck</command> wrapper, as util-linux installs more
|
<command>fsck</command> wrapper; util-linux installs more
|
||||||
recent versions.</para>
|
recent versions.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -175,11 +175,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="chattr">
|
<varlistentry id="chattr">
|
||||||
<term><command>chattr</command></term>
|
<term><command>chattr</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Changes the attributes of files on an <systemitem
|
<para>Changes the attributes of files on <systemitem
|
||||||
class="filesystem">ext2</systemitem> file system; it also
|
class="filesystem">ext{234}</systemitem> file systems</para>
|
||||||
changes <systemitem class="filesystem">ext3</systemitem>
|
|
||||||
file systems, the journaling version of <systemitem
|
|
||||||
class="filesystem">ext2</systemitem> file systems</para>
|
|
||||||
<indexterm zone="ch-system-e2fsprogs chattr">
|
<indexterm zone="ch-system-e2fsprogs chattr">
|
||||||
<primary sortas="b-chattr">chattr</primary>
|
<primary sortas="b-chattr">chattr</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -202,8 +199,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<term><command>debugfs</command></term>
|
<term><command>debugfs</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>A file system debugger; it can be used to examine and change
|
<para>A file system debugger; it can be used to examine and change
|
||||||
the state of an <systemitem class="filesystem">ext2</systemitem>
|
the state of <systemitem class="filesystem">ext{234}</systemitem>
|
||||||
file system</para>
|
file systems</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs debugfs">
|
<indexterm zone="ch-system-e2fsprogs debugfs">
|
||||||
<primary sortas="b-debugfs">debugfs</primary>
|
<primary sortas="b-debugfs">debugfs</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -234,9 +231,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="e2fsck">
|
<varlistentry id="e2fsck">
|
||||||
<term><command>e2fsck</command></term>
|
<term><command>e2fsck</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Is used to check, and optionally repair <systemitem
|
<para>Is used to check and optionally repair <systemitem
|
||||||
class="filesystem">ext2</systemitem> file systems and <systemitem
|
class="filesystem">ext{234}</systemitem> file systems</para>
|
||||||
class="filesystem">ext3</systemitem> file systems</para>
|
|
||||||
<indexterm zone="ch-system-e2fsprogs e2fsck">
|
<indexterm zone="ch-system-e2fsprogs e2fsck">
|
||||||
<primary sortas="b-e2fsck">e2fsck</primary>
|
<primary sortas="b-e2fsck">e2fsck</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -247,7 +243,7 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<term><command>e2image</command></term>
|
<term><command>e2image</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Is used to save critical <systemitem
|
<para>Is used to save critical <systemitem
|
||||||
class="filesystem">ext2</systemitem> file system data to a file</para>
|
class="filesystem">ext{234}</systemitem> file system data to a file</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs e2image">
|
<indexterm zone="ch-system-e2fsprogs e2image">
|
||||||
<primary sortas="b-e2image">e2image</primary>
|
<primary sortas="b-e2image">e2image</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -258,7 +254,7 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<term><command>e2label</command></term>
|
<term><command>e2label</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Displays or changes the file system label on the <systemitem
|
<para>Displays or changes the file system label on the <systemitem
|
||||||
class="filesystem">ext2</systemitem> file system present on a given
|
class="filesystem">ext{234}</systemitem> file system on a given
|
||||||
device</para>
|
device</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs e2label">
|
<indexterm zone="ch-system-e2fsprogs e2label">
|
||||||
<primary sortas="b-e2label">e2label</primary>
|
<primary sortas="b-e2label">e2label</primary>
|
||||||
@ -269,7 +265,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="e2mmpstatus">
|
<varlistentry id="e2mmpstatus">
|
||||||
<term><command>e2mmpstatus</command></term>
|
<term><command>e2mmpstatus</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Checks MMP status of an ext4 filesystem</para>
|
<para>Checks MMP (Multiple Mount Protection) status of an <systemitem
|
||||||
|
class="filesystem">ext4</systemitem> file system</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs e2mmpstatus">
|
<indexterm zone="ch-system-e2fsprogs e2mmpstatus">
|
||||||
<primary sortas="b-e2mmpstatus">e2mmpstatus</primary>
|
<primary sortas="b-e2mmpstatus">e2mmpstatus</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -279,7 +276,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="e2scrub">
|
<varlistentry id="e2scrub">
|
||||||
<term><command>e2scrub</command></term>
|
<term><command>e2scrub</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Checks the contents of a mounted ext[234] filesystem</para>
|
<para>Checks the contents of a mounted <systemitem
|
||||||
|
class="filesystem">ext{234}</systemitem> file system</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs e2scrub">
|
<indexterm zone="ch-system-e2fsprogs e2scrub">
|
||||||
<primary sortas="b-e2scrub">e2scrub</primary>
|
<primary sortas="b-e2scrub">e2scrub</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -289,7 +287,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="e2scrub_all">
|
<varlistentry id="e2scrub_all">
|
||||||
<term><command>e2scrub_all</command></term>
|
<term><command>e2scrub_all</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Checks all mounted ext[234] filesystems for errors</para>
|
<para>Checks all mounted <systemitem class="filesystem">ext{234}</systemitem>
|
||||||
|
file systems for errors</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs e2scrub_all">
|
<indexterm zone="ch-system-e2fsprogs e2scrub_all">
|
||||||
<primary sortas="b-e2scrub_all">e2scrub_all</primary>
|
<primary sortas="b-e2scrub_all">e2scrub_all</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -299,9 +298,10 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="e2undo">
|
<varlistentry id="e2undo">
|
||||||
<term><command>e2undo</command></term>
|
<term><command>e2undo</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Replays the undo log undo_log for an ext2/ext3/ext4 filesystem
|
<para>Replays the undo log for an <systemitem
|
||||||
found on a device [This can be used to undo a failed operation by an
|
class="filesystem">ext{234}</systemitem> file system
|
||||||
e2fsprogs program.]</para>
|
found on a device. [This can be used to undo a failed operation by an
|
||||||
|
E2fsprogs program.]</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs e2undo">
|
<indexterm zone="ch-system-e2fsprogs e2undo">
|
||||||
<primary sortas="b-e2undo">e2undo</primary>
|
<primary sortas="b-e2undo">e2undo</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -311,7 +311,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="e4crypt">
|
<varlistentry id="e4crypt">
|
||||||
<term><command>e4crypt</command></term>
|
<term><command>e4crypt</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Ext4 filesystem encryption utility</para>
|
<para><systemitem class="filesystem">Ext4</systemitem>
|
||||||
|
file system encryption utility</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs e4crypt">
|
<indexterm zone="ch-system-e2fsprogs e4crypt">
|
||||||
<primary sortas="b-e4crypt">e4crypt</primary>
|
<primary sortas="b-e4crypt">e4crypt</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -321,7 +322,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="e4defrag">
|
<varlistentry id="e4defrag">
|
||||||
<term><command>e4defrag</command></term>
|
<term><command>e4defrag</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Online defragmenter for ext4 filesystems</para>
|
<para>Online defragmenter for <systemitem
|
||||||
|
class="filesystem">ext4</systemitem> file systems</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs e4defrag">
|
<indexterm zone="ch-system-e2fsprogs e4defrag">
|
||||||
<primary sortas="b-e4defrag">e4defrag</primary>
|
<primary sortas="b-e4defrag">e4defrag</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -407,9 +409,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="mke2fs">
|
<varlistentry id="mke2fs">
|
||||||
<term><command>mke2fs</command></term>
|
<term><command>mke2fs</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Creates an <systemitem class="filesystem">ext2</systemitem>
|
<para>Creates an <systemitem class="filesystem">ext{234}</systemitem>
|
||||||
or <systemitem class="filesystem">ext3</systemitem> file system on
|
file system on the given device</para>
|
||||||
the given device</para>
|
|
||||||
<indexterm zone="ch-system-e2fsprogs mke2fs">
|
<indexterm zone="ch-system-e2fsprogs mke2fs">
|
||||||
<primary sortas="b-mke2fs">mke2fs</primary>
|
<primary sortas="b-mke2fs">mke2fs</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -452,8 +453,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="mklost-found">
|
<varlistentry id="mklost-found">
|
||||||
<term><command>mklost+found</command></term>
|
<term><command>mklost+found</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Used to create a <filename class="directory">lost+found</filename>
|
<para>Creates a <filename class="directory">lost+found</filename>
|
||||||
directory on an <systemitem class="filesystem">ext2</systemitem> file
|
directory on an <systemitem class="filesystem">ext{234}</systemitem> file
|
||||||
system; it pre-allocates disk blocks to this directory to lighten the
|
system; it pre-allocates disk blocks to this directory to lighten the
|
||||||
task of <command>e2fsck</command></para>
|
task of <command>e2fsck</command></para>
|
||||||
<indexterm zone="ch-system-e2fsprogs mklost-found">
|
<indexterm zone="ch-system-e2fsprogs mklost-found">
|
||||||
@ -465,8 +466,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="resize2fs">
|
<varlistentry id="resize2fs">
|
||||||
<term><command>resize2fs</command></term>
|
<term><command>resize2fs</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Can be used to enlarge or shrink an <systemitem
|
<para>Can be used to enlarge or shrink <systemitem
|
||||||
class="filesystem">ext2</systemitem> file system</para>
|
class="filesystem">ext{234}</systemitem> file systems</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs resize2fs">
|
<indexterm zone="ch-system-e2fsprogs resize2fs">
|
||||||
<primary sortas="b-resize2fs">resize2fs</primary>
|
<primary sortas="b-resize2fs">resize2fs</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -476,8 +477,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="tune2fs">
|
<varlistentry id="tune2fs">
|
||||||
<term><command>tune2fs</command></term>
|
<term><command>tune2fs</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Adjusts tunable file system parameters on an <systemitem
|
<para>Adjusts tunable file system parameters on <systemitem
|
||||||
class="filesystem">ext2</systemitem> file system</para>
|
class="filesystem">ext{234}</systemitem> file systems</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs tune2fs">
|
<indexterm zone="ch-system-e2fsprogs tune2fs">
|
||||||
<primary sortas="b-tune2fs">tune2fs</primary>
|
<primary sortas="b-tune2fs">tune2fs</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -508,8 +509,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<varlistentry id="libext2fs">
|
<varlistentry id="libext2fs">
|
||||||
<term><filename class="libraryfile">libext2fs</filename></term>
|
<term><filename class="libraryfile">libext2fs</filename></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Contains routines to enable user-level programs to manipulate an
|
<para>Contains routines to enable user-level programs to manipulate
|
||||||
<systemitem class="filesystem">ext2</systemitem> file system</para>
|
<systemitem class="filesystem">ext{234}</systemitem> file systems</para>
|
||||||
<indexterm zone="ch-system-e2fsprogs libext2fs">
|
<indexterm zone="ch-system-e2fsprogs libext2fs">
|
||||||
<primary sortas="c-libext2fs">libext2fs</primary>
|
<primary sortas="c-libext2fs">libext2fs</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<sect2 role="package">
|
<sect2 role="package">
|
||||||
<title/>
|
<title/>
|
||||||
|
|
||||||
<para>The Libcap package implements the user-space interface to the POSIX
|
<para>The Libcap package implements the userspace interface to the POSIX
|
||||||
1003.1e capabilities available in Linux kernels. These capabilities
|
1003.1e capabilities available in Linux kernels. These capabilities
|
||||||
partition the all-powerful root privilege into a set of distinct
|
partition the all-powerful root privilege into a set of distinct
|
||||||
privileges.</para>
|
privileges.</para>
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
<para>If the Linux kernel needs to be upgraded (for example, from
|
<para>If the Linux kernel needs to be upgraded (for example, from
|
||||||
5.10.17 to 5.10.18 or 5.11.1), nothing else needs to be rebuilt.
|
5.10.17 to 5.10.18 or 5.11.1), nothing else needs to be rebuilt.
|
||||||
The system will keep working fine thanks to the well-defined interface
|
The system will keep working fine thanks to the well-defined interface
|
||||||
between the kernel and user space. Specifically, Linux API headers
|
between the kernel and userspace. Specifically, Linux API headers
|
||||||
need not be (and should not be, see the next item) upgraded
|
need not be (and should not be, see the next item) upgraded
|
||||||
along with the kernel. You will merely need to reboot your system to use the
|
along with the kernel. You will merely need to reboot your system to use the
|
||||||
upgraded kernel.</para>
|
upgraded kernel.</para>
|
||||||
|
@ -12,39 +12,39 @@
|
|||||||
|
|
||||||
<para>This section is optional. If the intended user is not a
|
<para>This section is optional. If the intended user is not a
|
||||||
programmer and does not plan to do
|
programmer and does not plan to do
|
||||||
any debugging on the system software, the system size can be decreased
|
any debugging of the system software, the system's size can be decreased
|
||||||
by about 2 GB by removing the debugging symbols and unneeded symbol table
|
by some 2 GB by removing the debugging symbols, and some unnecessary symbol table
|
||||||
entries from binaries and libraries. This causes no inconvenience other
|
entries, from binaries and libraries. This causes no real inconvenience for
|
||||||
than not being able to debug the software fully anymore.</para>
|
a typical Linux user.</para>
|
||||||
|
|
||||||
<para>Most people who use the commands mentioned below do not
|
<para>Most people who use the commands mentioned below do not
|
||||||
experience any difficulties. However, it is easy to make a typo and
|
experience any difficulties. However, it is easy to make a mistake and
|
||||||
render the new system unusable, so before running the
|
render the new system unusable. So before running the
|
||||||
<command>strip</command> commands, it is a good idea to make a
|
<command>strip</command> commands, it is a good idea to make a
|
||||||
backup of the LFS system in its current state.</para>
|
backup of the LFS system in its current state.</para>
|
||||||
|
|
||||||
<para>A <command>strip</command> command with
|
<para>A <command>strip</command> command with the
|
||||||
<parameter>--strip-unneeded</parameter> option removes all debug symbols
|
<parameter>--strip-unneeded</parameter> option removes all debug symbols
|
||||||
from a binary or library. And, it removes all symbol table entries not
|
from a binary or library. It also removes all symbol table entries not
|
||||||
needed by the linker (for static libraries) or dynamic linker (for
|
needed by the linker (for static libraries) or dynamic linker (for
|
||||||
dynamic-linked binaries and shared libraries).</para>
|
dynamically linked binaries and shared libraries).</para>
|
||||||
|
|
||||||
<para>The debugging symbols for selected libraries are placed
|
<para>The debugging symbols from selected libraries are preserved
|
||||||
in separate files. This debugging information is needed if running
|
in separate files. That debugging information is needed to run
|
||||||
regression tests that use <ulink
|
regression tests with <ulink
|
||||||
url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
|
url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
|
||||||
url='&blfs-book;/general/gdb.html'>gdb</ulink> later in BLFS.
|
url='&blfs-book;/general/gdb.html'>gdb</ulink> later, in BLFS.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>Note that <command>strip</command> will overwrite the binary or library
|
<para>Note that <command>strip</command> will overwrite the binary or library
|
||||||
file it is processing. This can crash the processes using code or data from
|
file it is processing. This can crash the processes using code or data from
|
||||||
the file. If the process running <command>strip</command> itself is
|
the file. If the process running <command>strip</command> is
|
||||||
affected, the binary or library being stripped can be destroyed and can
|
affected, the binary or library being stripped can be destroyed; this can
|
||||||
make the system completely unusable. To avoid it, we'll copy some libraries
|
make the system completely unusable. To avoid this problem we copy some libraries
|
||||||
and binaries into <filename class="directory">/tmp</filename>, strip them
|
and binaries into <filename class="directory">/tmp</filename>, strip them
|
||||||
there, and install them back with the <command>install</command> command.
|
there, then reinstall them with the <command>install</command> command.
|
||||||
Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> for the
|
(The related entry in <xref linkend="pkgmgmt-upgrade-issues"/> gives the
|
||||||
rationale to use the <command>install</command> command here.</para>
|
rationale for using the <command>install</command> command here.)</para>
|
||||||
|
|
||||||
<note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems
|
<note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems
|
||||||
and ld-linux.so.2 on 32-bit systems. The construct below selects the
|
and ld-linux.so.2 on 32-bit systems. The construct below selects the
|
||||||
@ -111,8 +111,8 @@ done
|
|||||||
unset BIN LIB save_usrlib online_usrbin online_usrlib
|
unset BIN LIB save_usrlib online_usrbin online_usrlib
|
||||||
</userinput></screen>
|
</userinput></screen>
|
||||||
|
|
||||||
<para>A large number of files will be reported as having their file
|
<para>A large number of files will be flagged as errors because their file
|
||||||
format not recognized. These warnings can be safely ignored. They
|
format is not recognized. These warnings can be safely ignored. They
|
||||||
indicate that those files are scripts instead of binaries.</para>
|
indicate that those files are scripts, not binaries.</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
<sect2 role="package">
|
<sect2 role="package">
|
||||||
<title/>
|
<title/>
|
||||||
|
|
||||||
<para>The sysklogd package contains programs for logging system messages,
|
<para>The Sysklogd package contains programs for logging system messages,
|
||||||
such as those given by the kernel when unusual things happen.</para>
|
such as those emitted by the kernel when unusual things happen.</para>
|
||||||
|
|
||||||
<segmentedlist>
|
<segmentedlist>
|
||||||
<segtitle>&buildtime;</segtitle>
|
<segtitle>&buildtime;</segtitle>
|
||||||
@ -41,8 +41,8 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of Sysklogd</title>
|
<title>Installation of Sysklogd</title>
|
||||||
|
|
||||||
<para>First, fix problems that causes a segmentation fault under
|
<para>First, fix a problem that causes a segmentation fault in klogd
|
||||||
some conditions in klogd and fix an obsolete program construct:</para>
|
under some conditions, and fix an obsolete program construct:</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c
|
<screen><userinput remap="pre">sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c
|
||||||
sed -i 's/union wait/int/' syslogd.c</userinput></screen>
|
sed -i 's/union wait/int/' syslogd.c</userinput></screen>
|
||||||
|
@ -115,7 +115,7 @@
|
|||||||
<varlistentry id="fstab-decode">
|
<varlistentry id="fstab-decode">
|
||||||
<term><command>fstab-decode</command></term>
|
<term><command>fstab-decode</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Run a command with fstab-encoded arguments</para>
|
<para>Runs a command with fstab-encoded arguments</para>
|
||||||
<indexterm zone="ch-system-sysvinit fstab-decode">
|
<indexterm zone="ch-system-sysvinit fstab-decode">
|
||||||
<primary sortas="b-fstab-decode">fstab-decode</primary>
|
<primary sortas="b-fstab-decode">fstab-decode</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -126,10 +126,10 @@
|
|||||||
<term><command>halt</command></term>
|
<term><command>halt</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Normally invokes <command>shutdown</command> with the
|
<para>Normally invokes <command>shutdown</command> with the
|
||||||
<parameter>-h</parameter> option, except when already in run-level 0,
|
<parameter>-h</parameter> option, but when already in run-level 0,
|
||||||
then it tells the kernel to halt the system; it notes in the
|
it tells the kernel to halt the system; it notes in the
|
||||||
file <filename>/var/log/wtmp</filename> that the system is being
|
file <filename>/var/log/wtmp</filename> that the system is
|
||||||
brought down</para>
|
going down</para>
|
||||||
<indexterm zone="ch-system-sysvinit halt-sysv">
|
<indexterm zone="ch-system-sysvinit halt-sysv">
|
||||||
<primary sortas="b-halt">halt</primary>
|
<primary sortas="b-halt">halt</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -140,8 +140,8 @@
|
|||||||
<term><command>init</command></term>
|
<term><command>init</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The first process to be started when the kernel has initialized
|
<para>The first process to be started when the kernel has initialized
|
||||||
the hardware which takes over the boot process and starts all the
|
the hardware; it takes over the boot process and starts all the
|
||||||
proceses specified in its configuration file</para>
|
processes specified in its configuration file</para>
|
||||||
<indexterm zone="ch-system-sysvinit init-sysv">
|
<indexterm zone="ch-system-sysvinit init-sysv">
|
||||||
<primary sortas="b-init">init</primary>
|
<primary sortas="b-init">init</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -152,7 +152,7 @@
|
|||||||
<term><command>killall5</command></term>
|
<term><command>killall5</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Sends a signal to all processes, except the processes in its own
|
<para>Sends a signal to all processes, except the processes in its own
|
||||||
session so it will not kill its parent shell</para>
|
session; it will not kill its parent shell</para>
|
||||||
<indexterm zone="ch-system-sysvinit killall5">
|
<indexterm zone="ch-system-sysvinit killall5">
|
||||||
<primary sortas="b-killall5">killall5</primary>
|
<primary sortas="b-killall5">killall5</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -77,7 +77,7 @@
|
|||||||
--docdir=/usr/share/doc/util-linux-&util-linux-version;</userinput></screen>
|
--docdir=/usr/share/doc/util-linux-&util-linux-version;</userinput></screen>
|
||||||
|
|
||||||
<para>The --disable and --without options prevent warnings about
|
<para>The --disable and --without options prevent warnings about
|
||||||
building components that require packages not in LFS or are
|
building components that either require packages not in LFS, or are
|
||||||
inconsistent with programs installed by other packages.</para>
|
inconsistent with programs installed by other packages.</para>
|
||||||
|
|
||||||
<para>Compile the package:</para>
|
<para>Compile the package:</para>
|
||||||
@ -92,7 +92,7 @@
|
|||||||
be available in the currently running system and must be built as a
|
be available in the currently running system and must be built as a
|
||||||
module. Building it into the kernel will prevent booting. For complete
|
module. Building it into the kernel will prevent booting. For complete
|
||||||
coverage, other BLFS packages must be installed. If desired, this test can
|
coverage, other BLFS packages must be installed. If desired, this test can
|
||||||
be run after rebooting into the completed LFS system and running:</para>
|
be run by booting into the completed LFS system and running:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen>
|
<screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen>
|
||||||
</warning>
|
</warning>
|
||||||
@ -125,16 +125,17 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<seg>addpart, agetty, blkdiscard, blkid, blkzone, blockdev, cal, cfdisk, chcpu,
|
<seg>addpart, agetty, blkdiscard, blkid, blkzone, blockdev, cal, cfdisk, chcpu,
|
||||||
chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg,
|
chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg,
|
||||||
eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck,
|
eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck,
|
||||||
fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hexdump, hwclock,
|
fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hardlink, hexdump, hwclock,
|
||||||
i386, ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, lastb (link to
|
i386 (link to setarch), ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last,
|
||||||
last), ldattach, linux32, linux64, logger, look, losetup, lsblk, lscpu,
|
lastb (link to last), ldattach, linux32 (link to setarch), linux64 (link to setarch),
|
||||||
lsipc, lsirq, lslocks, lslogins, lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap,
|
logger, look, losetup, lsblk, lscpu, lsipc, lsirq, lsfd, lslocks, lslogins,
|
||||||
|
lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap,
|
||||||
more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit,
|
more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit,
|
||||||
readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script,
|
readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script,
|
||||||
scriptlive, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel,
|
scriptlive, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel,
|
||||||
swapoff (link to swapon), swapon, switch_root, taskset, uclampset, ul,
|
swapoff, swapon, switch_root, taskset, uclampset, ul,
|
||||||
umount, uname26, unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis,
|
umount, uname26 (link to setarch), unshare, utmpdump, uuidd, uuidgen, uuidparse,
|
||||||
wipefs, x86_64, and zramctl</seg>
|
wall, wdctl, whereis, wipefs, x86_64 (link to setarch), and zramctl</seg>
|
||||||
<seg>libblkid.so, libfdisk.so, libmount.so,
|
<seg>libblkid.so, libfdisk.so, libmount.so,
|
||||||
libsmartcols.so, and libuuid.so</seg>
|
libsmartcols.so, and libuuid.so</seg>
|
||||||
<seg>/usr/include/blkid,
|
<seg>/usr/include/blkid,
|
||||||
@ -197,7 +198,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="blkzone">
|
<varlistentry id="blkzone">
|
||||||
<term><command>blkzone</command></term>
|
<term><command>blkzone</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Runs zone command on the given block device</para>
|
<para>Is used to manage zoned storage block devices</para>
|
||||||
<indexterm zone="ch-system-util-linux blkzone">
|
<indexterm zone="ch-system-util-linux blkzone">
|
||||||
<primary sortas="b-blkzone">blkzone</primary>
|
<primary sortas="b-blkzone">blkzone</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -258,7 +259,8 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="choom">
|
<varlistentry id="choom">
|
||||||
<term><command>choom</command></term>
|
<term><command>choom</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Displays and adjusts OOM-killer score</para>
|
<para>Displays and adjusts OOM-killer scores, used to determine
|
||||||
|
which process to kill first when Linux is Out Of Memory</para>
|
||||||
<indexterm zone="ch-system-util-linux choom">
|
<indexterm zone="ch-system-util-linux choom">
|
||||||
<primary sortas="b-choom">choom</primary>
|
<primary sortas="b-choom">choom</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -390,7 +392,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="findfs">
|
<varlistentry id="findfs">
|
||||||
<term><command>findfs</command></term>
|
<term><command>findfs</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Finds a file system by label or Universally Unique Identifier
|
<para>Finds a file system, either by label or Universally Unique Identifier
|
||||||
(UUID)</para>
|
(UUID)</para>
|
||||||
<indexterm zone="ch-system-util-linux findfs">
|
<indexterm zone="ch-system-util-linux findfs">
|
||||||
<primary sortas="b-findfs">findfs</primary>
|
<primary sortas="b-findfs">findfs</primary>
|
||||||
@ -402,7 +404,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<term><command>findmnt</command></term>
|
<term><command>findmnt</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Is a command line interface to the libmount library
|
<para>Is a command line interface to the libmount library
|
||||||
for work with mountinfo, fstab and mtab files</para>
|
for working with mountinfo, fstab and mtab files</para>
|
||||||
<indexterm zone="ch-system-util-linux findmnt">
|
<indexterm zone="ch-system-util-linux findmnt">
|
||||||
<primary sortas="b-findmnt">findmnt</primary>
|
<primary sortas="b-findmnt">findmnt</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -483,11 +485,21 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry id="hardlink">
|
||||||
|
<term><command>hardlink</command></term>
|
||||||
|
<listitem>
|
||||||
|
<para>Consolidates duplicate files by creating hard links</para>
|
||||||
|
<indexterm zone="ch-system-util-linux hardlink">
|
||||||
|
<primary sortas="b-hardlink">hardlink</primary>
|
||||||
|
</indexterm>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry id="hexdump">
|
<varlistentry id="hexdump">
|
||||||
<term><command>hexdump</command></term>
|
<term><command>hexdump</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Dumps the given file in hexadecimal or in another given
|
<para>Dumps the given file in hexadecimal, decimal, octal,
|
||||||
format</para>
|
or ascii</para>
|
||||||
<indexterm zone="ch-system-util-linux hexdump">
|
<indexterm zone="ch-system-util-linux hexdump">
|
||||||
<primary sortas="b-hexdump">hexdump</primary>
|
<primary sortas="b-hexdump">hexdump</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -691,6 +703,16 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry id="lsfd">
|
||||||
|
<term><command>lsfd</command></term>
|
||||||
|
<listitem>
|
||||||
|
<para>Displays information about open files; replaces <command>lsof</command></para>
|
||||||
|
<indexterm zone="ch-system-util-linux lsfd">
|
||||||
|
<primary sortas="b-lsfd">lsfd</primary>
|
||||||
|
</indexterm>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry id="lsipc">
|
<varlistentry id="lsipc">
|
||||||
<term><command>lsipc</command></term>
|
<term><command>lsipc</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -861,7 +883,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="namei">
|
<varlistentry id="namei">
|
||||||
<term><command>namei</command></term>
|
<term><command>namei</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Shows the symbolic links in the given pathnames</para>
|
<para>Shows the symbolic links in the given paths</para>
|
||||||
<indexterm zone="ch-system-util-linux namei">
|
<indexterm zone="ch-system-util-linux namei">
|
||||||
<primary sortas="b-namei">namei</primary>
|
<primary sortas="b-namei">namei</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -903,7 +925,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="prlimit">
|
<varlistentry id="prlimit">
|
||||||
<term><command>prlimit</command></term>
|
<term><command>prlimit</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Get and set a process' resource limits</para>
|
<para>Gets and sets a process's resource limits</para>
|
||||||
<indexterm zone="ch-system-util-linux prlimit">
|
<indexterm zone="ch-system-util-linux prlimit">
|
||||||
<primary sortas="b-prlimit">prlimit</primary>
|
<primary sortas="b-prlimit">prlimit</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -974,7 +996,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="rtcwake">
|
<varlistentry id="rtcwake">
|
||||||
<term><command>rtcwake</command></term>
|
<term><command>rtcwake</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Used to enter a system sleep state until specified wakeup
|
<para>Used to enter a system sleep state until the specified wakeup
|
||||||
time</para>
|
time</para>
|
||||||
<indexterm zone="ch-system-util-linux rtcwake">
|
<indexterm zone="ch-system-util-linux rtcwake">
|
||||||
<primary sortas="b-rtcwake">rtcwake</primary>
|
<primary sortas="b-rtcwake">rtcwake</primary>
|
||||||
@ -995,7 +1017,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="scriptlive">
|
<varlistentry id="scriptlive">
|
||||||
<term><command>scriptlive</command></term>
|
<term><command>scriptlive</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Re-run session typescripts using timing information</para>
|
<para>Re-runs session typescripts using timing information</para>
|
||||||
<indexterm zone="ch-system-util-linux scriptlive">
|
<indexterm zone="ch-system-util-linux scriptlive">
|
||||||
<primary sortas="b-scriptlive">scriptlive</primary>
|
<primary sortas="b-scriptlive">scriptlive</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -1015,7 +1037,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="setarch">
|
<varlistentry id="setarch">
|
||||||
<term><command>setarch</command></term>
|
<term><command>setarch</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Changes reported architecture in a new program environment and
|
<para>Changes reported architecture in a new program environment, and
|
||||||
sets personality flags</para>
|
sets personality flags</para>
|
||||||
<indexterm zone="ch-system-util-linux setarch">
|
<indexterm zone="ch-system-util-linux setarch">
|
||||||
<primary sortas="b-setarch">setarch</primary>
|
<primary sortas="b-setarch">setarch</primary>
|
||||||
@ -1068,7 +1090,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="swaplabel">
|
<varlistentry id="swaplabel">
|
||||||
<term><command>swaplabel</command></term>
|
<term><command>swaplabel</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Allows to change swaparea UUID and label</para>
|
<para>Makes changes to the swap area's UUID and label</para>
|
||||||
<indexterm zone="ch-system-util-linux swaplabel">
|
<indexterm zone="ch-system-util-linux swaplabel">
|
||||||
<primary sortas="b-swaplabel">swaplabel</primary>
|
<primary sortas="b-swaplabel">swaplabel</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -1088,7 +1110,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="swapon">
|
<varlistentry id="swapon">
|
||||||
<term><command>swapon</command></term>
|
<term><command>swapon</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Enables devices and files for paging and swapping and
|
<para>Enables devices and files for paging and swapping, and
|
||||||
lists the devices and files currently in use</para>
|
lists the devices and files currently in use</para>
|
||||||
<indexterm zone="ch-system-util-linux swapon">
|
<indexterm zone="ch-system-util-linux swapon">
|
||||||
<primary sortas="b-swapon">swapon</primary>
|
<primary sortas="b-swapon">swapon</primary>
|
||||||
@ -1109,7 +1131,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="taskset">
|
<varlistentry id="taskset">
|
||||||
<term><command>taskset</command></term>
|
<term><command>taskset</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Retrieves or sets a process' CPU affinity</para>
|
<para>Retrieves or sets a process's CPU affinity</para>
|
||||||
<indexterm zone="ch-system-util-linux taskset">
|
<indexterm zone="ch-system-util-linux taskset">
|
||||||
<primary sortas="b-taskset">taskset</primary>
|
<primary sortas="b-taskset">taskset</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -1119,7 +1141,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="uclampset">
|
<varlistentry id="uclampset">
|
||||||
<term><command>uclampset</command></term>
|
<term><command>uclampset</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Manipulate the utilization clamping attributes of the
|
<para>Manipulates the utilization clamping attributes of the
|
||||||
system or a process</para>
|
system or a process</para>
|
||||||
<indexterm zone="ch-system-util-linux uclampset">
|
<indexterm zone="ch-system-util-linux uclampset">
|
||||||
<primary sortas="b-uclampset">uclampset</primary>
|
<primary sortas="b-uclampset">uclampset</primary>
|
||||||
@ -1171,7 +1193,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="utmpdump">
|
<varlistentry id="utmpdump">
|
||||||
<term><command>utmpdump</command></term>
|
<term><command>utmpdump</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Displays the content of the given login file in a more
|
<para>Displays the content of the given login file in a
|
||||||
user-friendly format</para>
|
user-friendly format</para>
|
||||||
<indexterm zone="ch-system-util-linux utmpdump">
|
<indexterm zone="ch-system-util-linux utmpdump">
|
||||||
<primary sortas="b-utmpdump">utmpdump</primary>
|
<primary sortas="b-utmpdump">utmpdump</primary>
|
||||||
@ -1193,9 +1215,10 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="uuidgen">
|
<varlistentry id="uuidgen">
|
||||||
<term><command>uuidgen</command></term>
|
<term><command>uuidgen</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Creates new UUIDs. Each new UUID can reasonably be considered
|
<para>Creates new UUIDs. Each new UUID is a random number likely to be
|
||||||
unique among all UUIDs created, on the local system and on other
|
unique among all UUIDs created, on the local system and on other
|
||||||
systems, in the past and in the future</para>
|
systems, in the past and in the future, with extremely high
|
||||||
|
probability (~340 trillion trillion trillion unique UUIDs are possible)</para>
|
||||||
<indexterm zone="ch-system-util-linux uuidgen">
|
<indexterm zone="ch-system-util-linux uuidgen">
|
||||||
<primary sortas="b-uuidgen">uuidgen</primary>
|
<primary sortas="b-uuidgen">uuidgen</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -1205,7 +1228,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<varlistentry id="uuidparse">
|
<varlistentry id="uuidparse">
|
||||||
<term><command>uuidparse</command></term>
|
<term><command>uuidparse</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>An utility to parse unique identifiers</para>
|
<para>A utility to parse unique identifiers</para>
|
||||||
<indexterm zone="ch-system-util-linux uuidparse">
|
<indexterm zone="ch-system-util-linux uuidparse">
|
||||||
<primary sortas="b-uuidparse">uuidparse</primary>
|
<primary sortas="b-uuidparse">uuidparse</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -1237,7 +1260,7 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<term><command>whereis</command></term>
|
<term><command>whereis</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Reports the location of the binary, source, and man page
|
<para>Reports the location of the binary, source, and man page
|
||||||
for the given command</para>
|
files for the given command</para>
|
||||||
<indexterm zone="ch-system-util-linux whereis">
|
<indexterm zone="ch-system-util-linux whereis">
|
||||||
<primary sortas="b-whereis">whereis</primary>
|
<primary sortas="b-whereis">whereis</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -74,7 +74,7 @@
|
|||||||
<term><command>checkfs</command></term>
|
<term><command>checkfs</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Checks the integrity of the file systems before they are mounted
|
<para>Checks the integrity of the file systems before they are mounted
|
||||||
(with the exception of journal and network based file systems)</para>
|
(with the exception of journaling and network-based file systems)</para>
|
||||||
<indexterm zone="ch-config-bootscripts checkfs-bootscripts">
|
<indexterm zone="ch-config-bootscripts checkfs-bootscripts">
|
||||||
<primary sortas="d-checkfs">checkfs</primary>
|
<primary sortas="d-checkfs">checkfs</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -173,8 +173,8 @@
|
|||||||
<varlistentry id="mountfs-bootscripts">
|
<varlistentry id="mountfs-bootscripts">
|
||||||
<term><command>mountfs</command></term>
|
<term><command>mountfs</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Mounts all file systems, except ones that are marked
|
<para>Mounts all file systems, except those that are marked
|
||||||
<emphasis>noauto</emphasis> or are network based</para>
|
<emphasis>noauto</emphasis>, or are network based</para>
|
||||||
<indexterm zone="ch-config-bootscripts mountfs-bootscripts">
|
<indexterm zone="ch-config-bootscripts mountfs-bootscripts">
|
||||||
<primary sortas="d-mountfs">mountfs</primary>
|
<primary sortas="d-mountfs">mountfs</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -208,7 +208,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>The master run-level control script; it is responsible for
|
<para>The master run-level control script; it is responsible for
|
||||||
running all the other bootscripts one-by-one, in a sequence determined
|
running all the other bootscripts one-by-one, in a sequence determined
|
||||||
by the name of the symbolic links being processed</para>
|
by the names of the symbolic links to those other bootscripts</para>
|
||||||
<indexterm zone="ch-config-bootscripts rc-bootscripts">
|
<indexterm zone="ch-config-bootscripts rc-bootscripts">
|
||||||
<primary sortas="d-rc">rc</primary>
|
<primary sortas="d-rc">rc</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -239,8 +239,8 @@
|
|||||||
<varlistentry id="setclock-bootscripts">
|
<varlistentry id="setclock-bootscripts">
|
||||||
<term><command>setclock</command></term>
|
<term><command>setclock</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Resets the kernel clock to local time in case the hardware clock
|
<para>Resets the system clock to local time if the hardware clock
|
||||||
is not set to UTC time</para>
|
is not set to UTC</para>
|
||||||
<indexterm zone="ch-config-bootscripts setclock-bootscripts">
|
<indexterm zone="ch-config-bootscripts setclock-bootscripts">
|
||||||
<primary sortas="d-setclock">setclock</primary>
|
<primary sortas="d-setclock">setclock</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
@ -305,7 +305,7 @@
|
|||||||
<term><command>udev</command></term>
|
<term><command>udev</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Prepares the <filename class="directory">/dev</filename>
|
<para>Prepares the <filename class="directory">/dev</filename>
|
||||||
directory and starts Udev</para>
|
directory and starts the udev daemon</para>
|
||||||
<indexterm zone="ch-config-bootscripts udev-bootscripts">
|
<indexterm zone="ch-config-bootscripts udev-bootscripts">
|
||||||
<primary sortas="d-udev">udev</primary>
|
<primary sortas="d-udev">udev</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -11,19 +11,19 @@
|
|||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
|
|
||||||
<para>Booting a Linux system involves several tasks. The process must
|
<para>Booting a Linux system involves several tasks. The process must
|
||||||
mount both virtual and real file systems, initialize devices, activate swap,
|
mount both virtual and real file systems, initialize devices,
|
||||||
check file systems for integrity, mount any swap partitions or files, set
|
check file systems for integrity, mount and activate any swap partitions or files, set
|
||||||
the system clock, bring up networking, start any daemons required by the
|
the system clock, bring up networking, start any daemons required by the
|
||||||
system, and accomplish any other custom tasks needed by the user. This
|
system, and accomplish any other custom tasks specified by the user. This
|
||||||
process must be organized to ensure the tasks are performed in the correct
|
process must be organized to ensure the tasks are performed in the correct
|
||||||
order but, at the same time, be executed as fast as possible.</para>
|
order and executed as quickly as possible.</para>
|
||||||
|
|
||||||
<sect2 id='sysv-desc'>
|
<sect2 id='sysv-desc'>
|
||||||
<title>System V</title>
|
<title>System V</title>
|
||||||
|
|
||||||
<para>System V is the classic boot process that has been used in Unix and
|
<para>System V is the classic boot process that has been used in Unix and
|
||||||
Unix-like systems such as Linux since about 1983. It consists of a small
|
Unix-like systems such as Linux since about 1983. It consists of a small
|
||||||
program, <command>init</command>, that sets up basic programs such as
|
program, <command>init</command>, that sets up basic processes such as
|
||||||
<command>login</command> (via getty) and runs a script. This script,
|
<command>login</command> (via getty) and runs a script. This script,
|
||||||
usually named <command>rc</command>, controls the execution of a set of
|
usually named <command>rc</command>, controls the execution of a set of
|
||||||
additional scripts that perform the tasks required to initialize the
|
additional scripts that perform the tasks required to initialize the
|
||||||
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
<para>The <command>init</command> program is controlled by the
|
<para>The <command>init</command> program is controlled by the
|
||||||
<filename>/etc/inittab</filename> file and is organized into run levels that
|
<filename>/etc/inittab</filename> file and is organized into run levels that
|
||||||
can be run by the user. In LFS, they are used as follows:</para>
|
can be chosen by the user. In LFS, they are used as follows:</para>
|
||||||
|
|
||||||
<literallayout>0 — halt
|
<literallayout>0 — halt
|
||||||
1 — Single user mode
|
1 — Single user mode
|
||||||
@ -70,13 +70,13 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Serial processing of boot tasks. This is related to the previous
|
<para>Serial processing of boot tasks. This is related to the previous
|
||||||
point. A delay in any process such as a file system check, will
|
point. A delay in any process, such as a file system check, will
|
||||||
delay the entire boot process.</para>
|
delay the entire boot process.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Does not directly support advanced features like
|
<para>Does not directly support advanced features like
|
||||||
control groups (cgroups), and per-user fair share scheduling.</para>
|
control groups (cgroups) and per-user fair share scheduling.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -17,15 +17,15 @@
|
|||||||
<sect2>
|
<sect2>
|
||||||
<title>Creating Network Interface Configuration Files</title>
|
<title>Creating Network Interface Configuration Files</title>
|
||||||
|
|
||||||
<para>Which interfaces are brought up and down by the network script
|
<para>The files in <filename class="directory">/etc/sysconfig/</filename>
|
||||||
usually depends on the files in <filename
|
usually determine which interfaces are brought up and down by the network
|
||||||
class="directory">/etc/sysconfig/</filename>. This directory should
|
script. This directory should
|
||||||
contain a file for each interface to be configured, such as
|
contain a file for each interface to be configured, such as
|
||||||
<filename>ifconfig.xyz</filename>, where <quote>xyz</quote> should describe
|
<filename>ifconfig.xyz</filename>, where <quote>xyz</quote> describes
|
||||||
the network card. The interface name (e.g. eth0) is usually appropriate.
|
the network card. The interface name (e.g. eth0) is usually appropriate.
|
||||||
Inside this file are attributes to this interface, such as its IP
|
Each file contains the attributes of one interface, such as its IP
|
||||||
address(es), subnet masks, and so forth. It is necessary that the stem of
|
address(es), subnet masks, and so forth. The stem of
|
||||||
the filename be <emphasis>ifconfig</emphasis>.</para>
|
the filename must be <emphasis>ifconfig</emphasis>.</para>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>If the procedure in the previous section was not used, udev
|
<para>If the procedure in the previous section was not used, udev
|
||||||
@ -38,10 +38,10 @@
|
|||||||
<para>The interface names depend on the implementation and
|
<para>The interface names depend on the implementation and
|
||||||
configuration of the udev daemon running on the system. The udev
|
configuration of the udev daemon running on the system. The udev
|
||||||
daemon for LFS (installed in <xref linkend="ch-system-eudev"/>) will
|
daemon for LFS (installed in <xref linkend="ch-system-eudev"/>) will
|
||||||
not run until the LFS system is booted. So it's unreliable to
|
not run until the LFS system is booted. So the interface names
|
||||||
determine the interface names being used in LFS system by running
|
in the LFS system cannot always be determined by running
|
||||||
those commands on the host distro,
|
those commands on the host distro,
|
||||||
<emphasis>even though in the chroot environment</emphasis>.</para>
|
<emphasis>even in the chroot environment</emphasis>.</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>The following command creates a sample file for the
|
<para>The following command creates a sample file for the
|
||||||
@ -59,14 +59,14 @@ PREFIX=<replaceable>24</replaceable>
|
|||||||
BROADCAST=<replaceable>192.168.1.255</replaceable></literal>
|
BROADCAST=<replaceable>192.168.1.255</replaceable></literal>
|
||||||
EOF</userinput></screen>
|
EOF</userinput></screen>
|
||||||
|
|
||||||
<para>The values in italics must be changed in every file to match
|
<para>The values in italics must be changed in each file, to set
|
||||||
the proper setup.</para>
|
the interfaces up correctly.</para>
|
||||||
|
|
||||||
<para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the
|
<para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the
|
||||||
System V network script will bring up the Network Interface Card (NIC) during
|
System V network script will bring up the Network Interface Card (NIC) during
|
||||||
the system boot process. If set to anything but <quote>yes</quote> the NIC
|
the system boot process. If set to anything besides <quote>yes</quote>, the NIC
|
||||||
will be ignored by the network script and not be automatically brought up.
|
will be ignored by the network script and will not be started automatically.
|
||||||
The interface can be manually started or stopped with the
|
Interfaces can be manually started or stopped with the
|
||||||
<command>ifup</command> and <command>ifdown</command> commands.</para>
|
<command>ifup</command> and <command>ifdown</command> commands.</para>
|
||||||
|
|
||||||
<para>The <envar>IFACE</envar> variable defines the interface name,
|
<para>The <envar>IFACE</envar> variable defines the interface name,
|
||||||
@ -84,11 +84,11 @@ EOF</userinput></screen>
|
|||||||
gateway IP address, if one is present. If not, then comment out the
|
gateway IP address, if one is present. If not, then comment out the
|
||||||
variable entirely.</para>
|
variable entirely.</para>
|
||||||
|
|
||||||
<para>The <envar>PREFIX</envar> variable contains the number of
|
<para>The <envar>PREFIX</envar> variable specifies the number of
|
||||||
bits used in the subnet. Each octet in an IP address is 8 bits. If the
|
bits used in the subnet. Each segment of an IP address is 8 bits. If the
|
||||||
subnet's netmask is 255.255.255.0, then it is using the first three octets
|
subnet's netmask is 255.255.255.0, then it is using the first three segments
|
||||||
(24 bits) to specify the network number. If the netmask is 255.255.255.240,
|
(24 bits) to specify the network number. If the netmask is 255.255.255.240,
|
||||||
it would be using the first 28 bits. Prefixes longer than 24 bits are
|
the subnet is using the first 28 bits. Prefixes longer than 24 bits are
|
||||||
commonly used by DSL and cable-based Internet Service Providers (ISPs).
|
commonly used by DSL and cable-based Internet Service Providers (ISPs).
|
||||||
In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the
|
In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the
|
||||||
<envar>PREFIX</envar> variable according to your specific subnet.
|
<envar>PREFIX</envar> variable according to your specific subnet.
|
||||||
@ -139,7 +139,7 @@ EOF</userinput></screen>
|
|||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="ch-config-hostname">
|
<sect2 id="ch-config-hostname">
|
||||||
<title>Configuring the system hostname</title>
|
<title>Configuring the System Hostname</title>
|
||||||
|
|
||||||
<indexterm zone="ch-config-hostname">
|
<indexterm zone="ch-config-hostname">
|
||||||
<primary sortas="d-hostname">hostname</primary>
|
<primary sortas="d-hostname">hostname</primary>
|
||||||
@ -156,7 +156,7 @@ EOF</userinput></screen>
|
|||||||
|
|
||||||
<para><replaceable><lfs></replaceable> needs to be replaced with the
|
<para><replaceable><lfs></replaceable> needs to be replaced with the
|
||||||
name given to the computer. Do not enter the Fully Qualified Domain Name
|
name given to the computer. Do not enter the Fully Qualified Domain Name
|
||||||
(FQDN) here. That information is put in the
|
(FQDN) here. That information goes in the
|
||||||
<filename>/etc/hosts</filename> file.</para>
|
<filename>/etc/hosts</filename> file.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -17,27 +17,28 @@
|
|||||||
<para>Udev, by default, names network devices according to Firmware/BIOS
|
<para>Udev, by default, names network devices according to Firmware/BIOS
|
||||||
data or physical characteristics like the bus, slot, or MAC address. The
|
data or physical characteristics like the bus, slot, or MAC address. The
|
||||||
purpose of this naming convention is to ensure that network devices are
|
purpose of this naming convention is to ensure that network devices are
|
||||||
named consistently and not based on the time the network card was
|
named consistently, not based on when the network card was
|
||||||
discovered. For example, on a computer having two network cards made by
|
discovered. In older versions of Linux—on a computer with two
|
||||||
Intel and Realtek, the network card manufactured by Intel may become eth0
|
network cards made by Intel and Realtek, for instance—the
|
||||||
and the Realtek card becomes eth1. In some cases, after a reboot the cards
|
network card manufactured by Intel might have become eth0
|
||||||
could get renumbered the other way around.</para>
|
while the Realtek card became eth1. After a reboot, the cards
|
||||||
|
would sometimes get renumbered the other way around.</para>
|
||||||
|
|
||||||
<para>In the new naming scheme, typical network device names would then
|
<para>In the new naming scheme, typical network device names are
|
||||||
be something like enp5s0 or wlp3s0. If this naming convention is not
|
something like enp5s0 or wlp3s0. If this naming convention is not
|
||||||
desired, the traditional naming scheme or a custom scheme can be
|
desired, the traditional naming scheme, or a custom scheme, can be
|
||||||
implemented.</para>
|
implemented.</para>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Disabling Persistent Naming on the Kernel Command Line</title>
|
<title>Disabling Persistent Naming on the Kernel Command Line</title>
|
||||||
|
|
||||||
<para>The traditional naming scheme using eth0, eth1, etc can be
|
<para>The traditional naming scheme using eth0, eth1, etc. can be
|
||||||
restored by adding <userinput>net.ifnames=0</userinput> on the
|
restored by adding <userinput>net.ifnames=0</userinput> on the
|
||||||
kernel command line. This is most appropriate for those systems
|
kernel command line. This is most appropriate for systems
|
||||||
that have only one ethernet device of the same type. Laptops
|
that have just one ethernet device of a particular type. Laptops
|
||||||
often have multiple ethernet connections that are named eth0 and
|
often have two ethernet connections named eth0 and
|
||||||
wlan0 and are also candidates for this method. The command line
|
wlan0; such laptops can also use this method. The command line
|
||||||
is passed in the GRUB configuration file.
|
is in the GRUB configuration file.
|
||||||
See <xref linkend="grub-cfg"/>.</para>
|
See <xref linkend="grub-cfg"/>.</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
@ -56,23 +57,22 @@
|
|||||||
|
|
||||||
<screen role="nodump"><userinput>cat /etc/udev/rules.d/70-persistent-net.rules</userinput></screen>
|
<screen role="nodump"><userinput>cat /etc/udev/rules.d/70-persistent-net.rules</userinput></screen>
|
||||||
|
|
||||||
<note><para>In some cases such as when MAC addresses have been assigned to
|
<note><para>In some cases, such as when MAC addresses have been assigned to
|
||||||
a network card manually or in a virtual environment such as Qemu or Xen,
|
a network card manually, or in a virtual environment such as Qemu or Xen,
|
||||||
the network rules file may not have been generated because addresses
|
the network rules file may not be generated because addresses
|
||||||
are not consistently assigned. In these cases, this method cannot
|
are not consistently assigned. In these cases, this method cannot
|
||||||
be used.</para></note>
|
be used.</para></note>
|
||||||
|
|
||||||
<para>The file begins with a comment block followed by two lines for each
|
<para>The file begins with a comment block, followed by two lines for each
|
||||||
NIC. The first line for each NIC is a commented description showing its
|
NIC. The first line for each NIC is a commented description showing its
|
||||||
hardware IDs (e.g. its PCI vendor and device IDs, if it's a PCI card),
|
hardware IDs (e.g. its PCI vendor and device IDs, if it's a PCI card),
|
||||||
along with its driver in parentheses, if the driver can be found. Neither
|
along with its driver (in parentheses, if the driver can be found). Neither
|
||||||
the hardware ID nor the driver is used to determine which name to give an
|
the hardware ID nor the driver is used to determine which name to give an
|
||||||
interface; this information is only for reference. The second line is the
|
interface; this information is only for reference. The second line is the
|
||||||
udev rule that matches this NIC and actually assigns it a name.</para>
|
udev rule that matches this NIC and actually assigns it a name.</para>
|
||||||
|
|
||||||
<para>All udev rules are made up of several keys, separated by commas and
|
<para>All udev rules are made up of several keywords, separated by commas and
|
||||||
optional whitespace. This rule's keys and an explanation of each of them
|
optional whitespace. Here are the keywords, and an explanation of each one:</para>
|
||||||
are as follows:</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -88,10 +88,10 @@
|
|||||||
<para><literal>DRIVERS=="?*"</literal> - This exists so that udev will
|
<para><literal>DRIVERS=="?*"</literal> - This exists so that udev will
|
||||||
ignore VLAN or bridge sub-interfaces (because these sub-interfaces do
|
ignore VLAN or bridge sub-interfaces (because these sub-interfaces do
|
||||||
not have drivers). These sub-interfaces are skipped because the name
|
not have drivers). These sub-interfaces are skipped because the name
|
||||||
that would be assigned would collide with their parent devices.</para>
|
that would be assigned would collide with the parent devices.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><literal>ATTR{address}</literal> - The value of this key is the
|
<para><literal>ATTR{address}</literal> - The value of this keyword is the
|
||||||
NIC's MAC address.</para>
|
NIC's MAC address.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -102,7 +102,7 @@
|
|||||||
skipped: there would be a name collision otherwise.</para>
|
skipped: there would be a name collision otherwise.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><literal>NAME</literal> - The value of this key is the name that
|
<para><literal>NAME</literal> - The value of this keyword is the name that
|
||||||
udev will assign to this interface.</para>
|
udev will assign to this interface.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -110,7 +110,7 @@
|
|||||||
<para>The value of <literal>NAME</literal> is the important part. Make sure
|
<para>The value of <literal>NAME</literal> is the important part. Make sure
|
||||||
you know which name has been assigned to each of your network cards before
|
you know which name has been assigned to each of your network cards before
|
||||||
proceeding, and be sure to use that <literal>NAME</literal> value when
|
proceeding, and be sure to use that <literal>NAME</literal> value when
|
||||||
creating your configuration files below.</para>
|
creating your network configuration files.</para>
|
||||||
|
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
@ -118,10 +118,10 @@
|
|||||||
|
|
||||||
<sect2 revision="sysv">
|
<sect2 revision="sysv">
|
||||||
|
|
||||||
<title>CD-ROM symlinks</title>
|
<title>CD-ROM Symlinks</title>
|
||||||
|
|
||||||
<para>Some software that you may want to install later (e.g., various
|
<para>Some software that you may want to install later (e.g., various
|
||||||
media players) expect the <filename class="symlink">/dev/cdrom</filename>
|
media players) expects the <filename class="symlink">/dev/cdrom</filename>
|
||||||
and <filename class="symlink">/dev/dvd</filename> symlinks to exist, and
|
and <filename class="symlink">/dev/dvd</filename> symlinks to exist, and
|
||||||
to point to a CD-ROM or DVD-ROM device. Also, it may be convenient to put
|
to point to a CD-ROM or DVD-ROM device. Also, it may be convenient to put
|
||||||
references to those symlinks into <filename>/etc/fstab</filename>. Udev
|
references to those symlinks into <filename>/etc/fstab</filename>. Udev
|
||||||
@ -139,15 +139,15 @@
|
|||||||
<command>ata_id</command> or <command>scsi_id</command> programs, depending
|
<command>ata_id</command> or <command>scsi_id</command> programs, depending
|
||||||
on which type of device you have.</para>
|
on which type of device you have.</para>
|
||||||
|
|
||||||
<para>There are advantages to each approach; the correct approach to use
|
<para>There are advantages to each approach; the correct approach
|
||||||
will depend on what kinds of device changes may happen. If you expect the
|
depends on what kinds of device changes may happen. If you expect the
|
||||||
physical path to the device (that is, the ports and/or slots that it plugs
|
physical path to the device (that is, the ports and/or slots that it plugs
|
||||||
into) to change, for example because you plan on moving the drive to a
|
into) to change, for example because you plan on moving the drive to a
|
||||||
different IDE port or a different USB connector, then you should use the
|
different IDE port or a different USB connector, then you should use the
|
||||||
<quote>by-id</quote> mode. On the other hand, if you expect the device's
|
<quote>by-id</quote> mode. On the other hand, if you expect the device's
|
||||||
identification to change, for example because it may die, and you would
|
identification to change, for example because it may die, and you intend
|
||||||
replace it with a different device with the same capabilities and which
|
to replace it with a different device that
|
||||||
is plugged into the same connectors, then you should use the
|
plugs into the same connectors, then you should use the
|
||||||
<quote>by-path</quote> mode.</para>
|
<quote>by-path</quote> mode.</para>
|
||||||
|
|
||||||
<para>If either type of change is possible with your drive, then choose a
|
<para>If either type of change is possible with your drive, then choose a
|
||||||
@ -198,13 +198,13 @@
|
|||||||
this is only an issue if you need the symlinks on both systems to point to
|
this is only an issue if you need the symlinks on both systems to point to
|
||||||
the same device. If you need that, then inspect (and possibly edit) the
|
the same device. If you need that, then inspect (and possibly edit) the
|
||||||
generated <filename>/etc/udev/rules.d/70-persistent-cd.rules</filename>
|
generated <filename>/etc/udev/rules.d/70-persistent-cd.rules</filename>
|
||||||
file after booting, to make sure the assigned symlinks match what you need.</para>
|
file after booting, to make sure the assigned symlinks match your needs.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
|
|
||||||
<title>Dealing with duplicate devices</title>
|
<title>Dealing with Duplicate Devices</title>
|
||||||
|
|
||||||
<para>As explained in <xref linkend="ch-config-udev"/>, the order in
|
<para>As explained in <xref linkend="ch-config-udev"/>, the order in
|
||||||
which devices with the same function appear in
|
which devices with the same function appear in
|
||||||
@ -214,7 +214,7 @@
|
|||||||
<filename>/dev/video1</filename> refers to the tuner, and sometimes
|
<filename>/dev/video1</filename> refers to the tuner, and sometimes
|
||||||
after a reboot the order changes.
|
after a reboot the order changes.
|
||||||
For all classes of hardware except sound cards and network cards, this is
|
For all classes of hardware except sound cards and network cards, this is
|
||||||
fixable by creating udev rules for custom persistent symlinks.
|
fixable by creating udev rules to create persistent symlinks.
|
||||||
The case of network cards is covered separately in
|
The case of network cards is covered separately in
|
||||||
<xref linkend="ch-config-network"/>, and sound card configuration can
|
<xref linkend="ch-config-network"/>, and sound card configuration can
|
||||||
be found in <ulink url="&blfs-book;postlfs/devices.html">BLFS</ulink>.</para>
|
be found in <ulink url="&blfs-book;postlfs/devices.html">BLFS</ulink>.</para>
|
||||||
|
@ -16,23 +16,23 @@
|
|||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>In <xref linkend="chapter-building-system"/>, we installed the udev
|
<para>In <xref linkend="chapter-building-system"/>, we installed the udev
|
||||||
package when <phrase revision="sysv">eudev</phrase>
|
daemon when <phrase revision="sysv">eudev</phrase>
|
||||||
<phrase revision="systemd">systemd</phrase> was built. Before we go into the
|
<phrase revision="systemd">systemd</phrase> was built. Before we go into the
|
||||||
details regarding how this works, a brief history of previous methods of
|
details regarding how udev works, a brief history of previous methods of
|
||||||
handling devices is in order.</para>
|
handling devices is in order.</para>
|
||||||
|
|
||||||
<para>Linux systems in general traditionally used a static device creation
|
<para>Linux systems in general traditionally used a static device creation
|
||||||
method, whereby a great many device nodes were created under <filename
|
method, whereby a great many device nodes were created under <filename
|
||||||
class="directory">/dev</filename> (sometimes literally thousands of nodes),
|
class="directory">/dev</filename> (sometimes literally thousands of nodes),
|
||||||
regardless of whether the corresponding hardware devices actually existed. This
|
regardless of whether the corresponding hardware devices actually existed. This
|
||||||
was typically done via a <command>MAKEDEV</command> script, which contains a
|
was typically done via a <command>MAKEDEV</command> script, which contained a
|
||||||
number of calls to the <command>mknod</command> program with the relevant
|
number of calls to the <command>mknod</command> program with the relevant
|
||||||
major and minor device numbers for every possible device that might exist in
|
major and minor device numbers for every possible device that might exist in
|
||||||
the world.</para>
|
the world.</para>
|
||||||
|
|
||||||
<para>Using the udev method, only those devices which are detected by the
|
<para>Using the udev method, device nodes are only created for those devices
|
||||||
kernel get device nodes created for them. Because these device nodes will be
|
which are detected by the kernel. These device nodes are
|
||||||
created each time the system boots, they will be stored on a <systemitem
|
created each time the system boots; they are stored in a <systemitem
|
||||||
class="filesystem">devtmpfs</systemitem> file system (a virtual file system
|
class="filesystem">devtmpfs</systemitem> file system (a virtual file system
|
||||||
that resides entirely in system memory). Device nodes do not require much
|
that resides entirely in system memory). Device nodes do not require much
|
||||||
space, so the memory that is used is negligible.</para>
|
space, so the memory that is used is negligible.</para>
|
||||||
@ -51,23 +51,23 @@
|
|||||||
class="filesystem">devfs</systemitem> was the way it handled device
|
class="filesystem">devfs</systemitem> was the way it handled device
|
||||||
detection, creation, and naming. The latter issue, that of device node
|
detection, creation, and naming. The latter issue, that of device node
|
||||||
naming, was perhaps the most critical. It is generally accepted that if
|
naming, was perhaps the most critical. It is generally accepted that if
|
||||||
device names are allowed to be configurable, then the device naming policy
|
device names are configurable, the device naming policy
|
||||||
should be up to a system administrator, not imposed on them by any
|
should be chosen by system administrators, and not imposed on them by the
|
||||||
particular developer(s). The <systemitem
|
developer(s). The <systemitem
|
||||||
class="filesystem">devfs</systemitem> file system also suffered from race
|
class="filesystem">devfs</systemitem> file system also suffered from race
|
||||||
conditions that were inherent in its design and could not be fixed without a
|
conditions that were inherent in its design; these could not be fixed without a
|
||||||
substantial revision to the kernel. It was marked as deprecated for a long
|
substantial revision of the kernel. <systemitem class="filesystem">devfs</systemitem>
|
||||||
period – due to a lack of maintenance – and was finally removed
|
was marked as deprecated for a long
|
||||||
|
time, and was finally removed
|
||||||
from the kernel in June, 2006.</para>
|
from the kernel in June, 2006.</para>
|
||||||
|
|
||||||
<para>With the development of the unstable 2.5 kernel tree, later released
|
<para>With the development of the unstable 2.5 kernel tree, later released
|
||||||
as the 2.6 series of stable kernels, a new virtual filesystem called
|
as the 2.6 series of stable kernels, a new virtual filesystem called
|
||||||
<systemitem class="filesystem">sysfs</systemitem> came to be. The job of
|
<systemitem class="filesystem">sysfs</systemitem> came to be. The job of
|
||||||
<systemitem class="filesystem">sysfs</systemitem> is to export a view of
|
<systemitem class="filesystem">sysfs</systemitem> is to provide information about
|
||||||
the system's hardware configuration to userspace processes. With this
|
the system's hardware configuration to userspace processes. With this
|
||||||
userspace-visible representation, the possibility of developing a userspace
|
userspace-visible representation, it became possible to develop a userspace
|
||||||
replacement for <systemitem class="filesystem">devfs</systemitem> became
|
replacement for <systemitem class="filesystem">devfs</systemitem>.</para>
|
||||||
much more realistic.</para>
|
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
@ -81,12 +81,13 @@
|
|||||||
was mentioned briefly above. One may wonder how <systemitem
|
was mentioned briefly above. One may wonder how <systemitem
|
||||||
class="filesystem">sysfs</systemitem> knows about the devices present on
|
class="filesystem">sysfs</systemitem> knows about the devices present on
|
||||||
a system and what device numbers should be used for them. Drivers that
|
a system and what device numbers should be used for them. Drivers that
|
||||||
have been compiled into the kernel directly register their objects with a
|
have been compiled into the kernel register their objects in
|
||||||
<systemitem class="filesystem">sysfs</systemitem> (devtmpfs internally)
|
<systemitem class="filesystem">sysfs</systemitem> (devtmpfs internally)
|
||||||
as they are detected by the kernel. For drivers compiled as modules, this
|
as they are detected by the kernel. For drivers compiled as modules,
|
||||||
registration will happen when the module is loaded. Once the <systemitem
|
registration happens when the module is loaded. Once the <systemitem
|
||||||
class="filesystem">sysfs</systemitem> filesystem is mounted (on /sys),
|
class="filesystem">sysfs</systemitem> filesystem is mounted (on
|
||||||
data which the drivers register with <systemitem
|
<filename class="directory">/sys</filename>),
|
||||||
|
data which the drivers have registered with <systemitem
|
||||||
class="filesystem">sysfs</systemitem> are available to userspace
|
class="filesystem">sysfs</systemitem> are available to userspace
|
||||||
processes and to udevd for processing (including modifications to device
|
processes and to udevd for processing (including modifications to device
|
||||||
nodes).</para>
|
nodes).</para>
|
||||||
@ -96,13 +97,13 @@
|
|||||||
<sect3 id='ch-config-udev-device-node-creation'>
|
<sect3 id='ch-config-udev-device-node-creation'>
|
||||||
<title>Device Node Creation</title>
|
<title>Device Node Creation</title>
|
||||||
|
|
||||||
<para>Device files are created by the kernel by the <systemitem
|
<para>Device files are created by the kernel in the <systemitem
|
||||||
class="filesystem">devtmpfs</systemitem> filesystem. Any driver that
|
class="filesystem">devtmpfs</systemitem> file system. Any driver that
|
||||||
wishes to register a device node will go through the <systemitem
|
wishes to register a device node will use the <systemitem
|
||||||
class="filesystem">devtmpfs</systemitem> (via the driver core) to do it.
|
class="filesystem">devtmpfs</systemitem> (via the driver core) to do it.
|
||||||
When a <systemitem class="filesystem">devtmpfs</systemitem> instance is
|
When a <systemitem class="filesystem">devtmpfs</systemitem> instance is
|
||||||
mounted on <filename class="directory">/dev</filename>, the device node
|
mounted on <filename class="directory">/dev</filename>, the device node
|
||||||
will initially be created with a fixed name, permissions, and
|
will initially be exposed to userspace with a fixed name, permissions, and
|
||||||
owner.</para>
|
owner.</para>
|
||||||
|
|
||||||
<para>A short time later, the kernel will send a uevent to <command>
|
<para>A short time later, the kernel will send a uevent to <command>
|
||||||
@ -172,7 +173,7 @@
|
|||||||
creating device nodes.</para>
|
creating device nodes.</para>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>A kernel module is not loaded automatically</title>
|
<title>A Kernel Module Is Not Loaded Automatically</title>
|
||||||
|
|
||||||
<para>Udev will only load a module if it has a bus-specific alias and the
|
<para>Udev will only load a module if it has a bus-specific alias and the
|
||||||
bus driver properly exports the necessary aliases to <systemitem
|
bus driver properly exports the necessary aliases to <systemitem
|
||||||
@ -206,8 +207,8 @@
|
|||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>A kernel module is not loaded automatically, and udev is not
|
<title>A Kernel Module Is Not Loaded Automatically, and Udev Is Not
|
||||||
intended to load it</title>
|
Intended to Load It</title>
|
||||||
|
|
||||||
<para>If the <quote>wrapper</quote> module only enhances the
|
<para>If the <quote>wrapper</quote> module only enhances the
|
||||||
functionality provided by some other module (e.g.,
|
functionality provided by some other module (e.g.,
|
||||||
@ -236,7 +237,7 @@
|
|||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Udev loads some unwanted module</title>
|
<title>Udev Loads Some Unwanted Module</title>
|
||||||
|
|
||||||
<para>Either don't build the module, or blacklist it in a
|
<para>Either don't build the module, or blacklist it in a
|
||||||
<filename>/etc/modprobe.d/blacklist.conf</filename> file as done with the
|
<filename>/etc/modprobe.d/blacklist.conf</filename> file as done with the
|
||||||
@ -250,7 +251,7 @@
|
|||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Udev creates a device incorrectly, or makes a wrong symlink</title>
|
<title>Udev Creates a Device Incorrectly, or Makes the Wrong Symlink</title>
|
||||||
|
|
||||||
<para>This usually happens if a rule unexpectedly matches a device. For
|
<para>This usually happens if a rule unexpectedly matches a device. For
|
||||||
example, a poorly-written rule can match both a SCSI disk (as desired)
|
example, a poorly-written rule can match both a SCSI disk (as desired)
|
||||||
@ -261,7 +262,7 @@
|
|||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Udev rule works unreliably</title>
|
<title>Udev Rule Works Unreliably</title>
|
||||||
|
|
||||||
<para>This may be another manifestation of the previous problem. If not,
|
<para>This may be another manifestation of the previous problem. If not,
|
||||||
and your rule uses <systemitem class="filesystem">sysfs</systemitem>
|
and your rule uses <systemitem class="filesystem">sysfs</systemitem>
|
||||||
@ -275,15 +276,15 @@
|
|||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Udev does not create a device</title>
|
<title>Udev Does Not Create a Device</title>
|
||||||
|
|
||||||
<para>Further text assumes that the driver is built statically into the
|
<para>First, be certain that the driver is built into the
|
||||||
kernel or already loaded as a module, and that you have already checked
|
kernel or already loaded as a module, and that
|
||||||
that udev doesn't create a misnamed device.</para>
|
udev isn't creating a misnamed device.</para>
|
||||||
|
|
||||||
<para>Udev has no information needed to create a device node if a kernel
|
<para>If a kernel driver does not export its data to
|
||||||
driver does not export its data to
|
<systemitem class="filesystem">sysfs</systemitem>, udev lacks the
|
||||||
<systemitem class="filesystem">sysfs</systemitem>. This is most common
|
information needed to create a device node. This is most likely to happen
|
||||||
with third party drivers from outside the kernel tree. Create a static
|
with third party drivers from outside the kernel tree. Create a static
|
||||||
device node in <filename>/usr/lib/udev/devices</filename> with the
|
device node in <filename>/usr/lib/udev/devices</filename> with the
|
||||||
appropriate major/minor numbers (see the file
|
appropriate major/minor numbers (see the file
|
||||||
@ -295,7 +296,7 @@
|
|||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Device naming order changes randomly after rebooting</title>
|
<title>Device Naming Order Changes Randomly After Rebooting</title>
|
||||||
|
|
||||||
<para>This is due to the fact that udev, by design, handles uevents and
|
<para>This is due to the fact that udev, by design, handles uevents and
|
||||||
loads modules in parallel, and thus in an unpredictable order. This will
|
loads modules in parallel, and thus in an unpredictable order. This will
|
||||||
|
@ -328,7 +328,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Libcap</para>
|
<para>Libcap</para>
|
||||||
|
|
||||||
<para>This package implements the user-space interfaces to
|
<para>This package implements the userspace interfaces to
|
||||||
the POSIX 1003.1e capabilities available in Linux kernels.
|
the POSIX 1003.1e capabilities available in Linux kernels.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
Loading…
Reference in New Issue
Block a user