lfs/chapter06/util-linux.xml

632 lines
21 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
<!ENTITY % patches-entities SYSTEM "../patches.ent">
%general-entities;
%patches-entities;
]>
<sect1 id="ch-system-util-linux" role="wrap">
<title>Util-linux-&util-linux-version;</title>
<?dbhtml filename="util-linux.html"?>
<indexterm zone="ch-system-util-linux"><primary sortas="a-Util-linux">Util-linux</primary></indexterm>
<sect2 role="package"><title/>
<para>The Util-linux package contains miscellaneous utility programs. Among
them are utilities for handling file systems, consoles, partitions, and
messages.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.2 SBU</seg><seg>11.6 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, and Zlib</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>FHS compliance notes</title>
<para>The FHS recommends using the <filename
class="directory">/var/lib/hwclock</filename> directory instead of the
usual <filename class="directory">/etc</filename> directory as the
location for the <filename>adjtime</filename> file. To make the
<command>hwclock</command> program FHS-compliant, run the
following:</para>
<screen><userinput>sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' \
hwclock/hwclock.c
mkdir -p /var/lib/hwclock</userinput></screen>
</sect2>
<sect2 role="installation">
<title>Installation of Util-linux</title>
<para>Util-linux fails to compile against newer versions of Linux-Libc-Headers.
The following patch properly fixes this issue:</para>
<screen><userinput>patch -Np1 -i ../&util-linux-cramfs-patch;</userinput></screen>
<para>Prepare Util-linux for compilation:</para>
<screen><userinput>./configure</userinput></screen>
<para>Compile the package:</para>
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes</userinput></screen>
<para>The meaning of the make parameters:</para>
<variablelist>
<varlistentry>
<term><parameter>HAVE_KILL=yes</parameter></term>
<listitem><para>This prevents the
<command>kill</command> program (already installed by Procps) from being
built and installed again.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>HAVE_SLN=yes</parameter></term>
<listitem><para>This prevents the <command>sln</command> program (a
statically linked version of <command>ln</command> already installed
by Glibc) from being built and installed again.</para></listitem>
</varlistentry>
</variablelist>
<para>This package does not come with a test suite.</para>
<para>Install the package and move the <command>logger</command> binary to
<filename class="directory">/bin</filename> as it is needed by the
LFS-Bootscripts package:</para>
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install
mv /usr/bin/logger /bin</userinput></screen>
</sect2>
<sect2 id="contents-utillinux" role="content"><title>Contents of Util-linux</title>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt,
colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk,
fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line,
logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap,
more, mount, namei, pg, pivot_root, ramsize (link to rdev), raw, rdev, readprofile,
rename, renice, rev, rootflags (link to rdev), script, setfdprm, setsid, setterm,
sfdisk, swapdev, swapoff (link to swapon), swapon, tunelp, ul, umount, vidmode (link to rdev),
whereis, and write</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="agetty">
<term><command>agetty</command></term>
<listitem>
<para>Opens a tty port, prompts for a login name,
and then invokes the <command>login</command> program</para>
<indexterm zone="ch-system-util-linux agetty"><primary sortas="b-agetty">agetty</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="arch">
<term><command>arch</command></term>
<listitem>
<para>Reports the machine's architecture</para>
<indexterm zone="ch-system-util-linux arch"><primary sortas="b-arch">arch</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="blockdev">
<term><command>blockdev</command></term>
<listitem>
<para>Allows users to call block device ioctls from the command line</para>
<indexterm zone="ch-system-util-linux blockdev"><primary sortas="b-blockdev">blockdev</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="cal">
<term><command>cal</command></term>
<listitem>
<para>Displays a simple calendar</para>
<indexterm zone="ch-system-util-linux cal"><primary sortas="b-cal">cal</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="cfdisk">
<term><command>cfdisk</command></term>
<listitem>
<para>Manipulates the partition table of the given device</para>
<indexterm zone="ch-system-util-linux cfdisk"><primary sortas="b-cfdisk">cfdisk</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="chkdupexe">
<term><command>chkdupexe</command></term>
<listitem>
<para>Finds duplicate executables</para>
<indexterm zone="ch-system-util-linux chkdupexe"><primary sortas="b-chkdupexe">chkdupexe</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="col">
<term><command>col</command></term>
<listitem>
<para>Filters out reverse line feeds</para>
<indexterm zone="ch-system-util-linux col"><primary sortas="b-col">col</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="colcrt">
<term><command>colcrt</command></term>
<listitem>
<para>Filters <command>nroff</command> output for terminals
that lack some capabilities, such as overstriking and half-lines</para>
<indexterm zone="ch-system-util-linux colcrt"><primary sortas="b-colcrt">colcrt</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="colrm">
<term><command>colrm</command></term>
<listitem>
<para>Filters out the given columns</para>
<indexterm zone="ch-system-util-linux colrm"><primary sortas="b-colrm">colrm</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="column">
<term><command>column</command></term>
<listitem>
<para>Formats a given file into multiple columns</para>
<indexterm zone="ch-system-util-linux column"><primary sortas="b-column">column</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="ctrlaltdel">
<term><command>ctrlaltdel</command></term>
<listitem>
<para>Sets the function of the Ctrl+Alt+Del key combination to a hard or a
soft reset</para>
<indexterm zone="ch-system-util-linux ctrlaltdel"><primary sortas="b-ctrlaltdel">ctrlaltdel</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="cytune">
<term><command>cytune</command></term>
<listitem>
<para>Tunes the parameters of the serial line drivers for
Cyclades cards</para>
<indexterm zone="ch-system-util-linux cytune"><primary sortas="b-cytune">cytune</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="ddate">
<term><command>ddate</command></term>
<listitem>
<para>Gives the Discordian date or converts the given Gregorian date
to a Discordian one</para>
<indexterm zone="ch-system-util-linux ddate"><primary sortas="b-ddate">ddate</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="dmesg">
<term><command>dmesg</command></term>
<listitem>
<para>Dumps the kernel boot messages</para>
<indexterm zone="ch-system-util-linux dmesg"><primary sortas="b-dmesg">dmesg</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="elvtune">
<term><command>elvtune</command></term>
<listitem>
<para>Tunes the performance and interactivity of a block
device</para>
<indexterm zone="ch-system-util-linux elvtune"><primary sortas="b-elvtune">elvtune</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="fdformat">
<term><command>fdformat</command></term>
<listitem>
<para>Low-level formats a floppy disk</para>
<indexterm zone="ch-system-util-linux fdformat"><primary sortas="b-fdformat">fdformat</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="fdisk">
<term><command>fdisk</command></term>
<listitem>
<para>Manipulates the partition table of the given device</para>
<indexterm zone="ch-system-util-linux fdisk"><primary sortas="b-fdisk">fdisk</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="fsck.cramfs">
<term><command>fsck.cramfs</command></term>
<listitem>
<para>Performs a consistency check on the Cramfs file system on the
given device</para>
<indexterm zone="ch-system-util-linux fsck.cramfs"><primary sortas="b-fsck.cramfs">fsck.cramfs</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="fsck.minix">
<term><command>fsck.minix</command></term>
<listitem>
<para>Performs a consistency check on the Minix file system on the
given device</para>
<indexterm zone="ch-system-util-linux fsck.minix"><primary sortas="b-fsck.minix">fsck.minix</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="getopt">
<term><command>getopt</command></term>
<listitem>
<para>Parses options in the given command line</para>
<indexterm zone="ch-system-util-linux getopt"><primary sortas="b-getopt">getopt</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="hexdump">
<term><command>hexdump</command></term>
<listitem>
<para>Dumps the given file in hexadecimal or in another given format</para>
<indexterm zone="ch-system-util-linux hexdump"><primary sortas="b-hexdump">hexdump</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="hwclock">
<term><command>hwclock</command></term>
<listitem>
<para>Reads or sets the system's hardware clock, also called
the Real-Time Clock (RTC) or Basic Input-Output System (BIOS)
clock</para>
<indexterm zone="ch-system-util-linux hwclock"><primary sortas="b-hwclock">hwclock</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="ipcrm">
<term><command>ipcrm</command></term>
<listitem>
<para>Removes the given Inter-Process Communication (IPC) resource</para>
<indexterm zone="ch-system-util-linux ipcrm"><primary sortas="b-ipcrm">ipcrm</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="ipcs">
<term><command>ipcs</command></term>
<listitem>
<para>Provides IPC status information</para>
<indexterm zone="ch-system-util-linux ipcs"><primary sortas="b-ipcs">ipcs</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="isosize">
<term><command>isosize</command></term>
<listitem>
<para>Reports the size of an iso9660 file system</para>
<indexterm zone="ch-system-util-linux isosize"><primary sortas="b-isosize">isosize</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="line">
<term><command>line</command></term>
<listitem>
<para>Copies a single line</para>
<indexterm zone="ch-system-util-linux line"><primary sortas="b-line">line</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="logger">
<term><command>logger</command></term>
<listitem>
<para>Enters the given message into the system log</para>
<indexterm zone="ch-system-util-linux logger"><primary sortas="b-logger">logger</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="look">
<term><command>look</command></term>
<listitem>
<para>Displays lines that begin with the given string</para>
<indexterm zone="ch-system-util-linux look"><primary sortas="b-look">look</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="losetup">
<term><command>losetup</command></term>
<listitem>
<para>Sets up and controls loop devices</para>
<indexterm zone="ch-system-util-linux losetup"><primary sortas="b-losetup">losetup</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mcookie">
<term><command>mcookie</command></term>
<listitem>
<para>Generates magic cookies (128-bit random hexadecimal numbers) for
<command>xauth</command></para>
<indexterm zone="ch-system-util-linux mcookie"><primary sortas="b-mcookie">mcookie</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mkfs">
<term><command>mkfs</command></term>
<listitem>
<para>Builds a file system on a device (usually a hard disk
partition)</para>
<indexterm zone="ch-system-util-linux mkfs"><primary sortas="b-mkfs">mkfs</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mkfs.bfs">
<term><command>mkfs.bfs</command></term>
<listitem>
<para>Creates a Santa Cruz Operations (SCO) bfs file system</para>
<indexterm zone="ch-system-util-linux mkfs.bfs"><primary sortas="b-mkfs.bfs">mkfs.bfs</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mkfs.cramfs">
<term><command>mkfs.cramfs</command></term>
<listitem>
<para>Creates a cramfs file system</para>
<indexterm zone="ch-system-util-linux mkfs.cramfs"><primary sortas="b-mkfs.cramfs">mkfs.cramfs</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mkfs.minix">
<term><command>mkfs.minix</command></term>
<listitem>
<para>Creates a Minix file system</para>
<indexterm zone="ch-system-util-linux mkfs.minix"><primary sortas="b-mkfs.minix">mkfs.minix</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mkswap">
<term><command>mkswap</command></term>
<listitem>
<para>Initializes the given device or file to be used as a swap area</para>
<indexterm zone="ch-system-util-linux mkswap"><primary sortas="b-mkswap">mkswap</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="more">
<term><command>more</command></term>
<listitem>
<para>A filter for paging through text one screen at a time</para>
<indexterm zone="ch-system-util-linux more"><primary sortas="b-more">more</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mount">
<term><command>mount</command></term>
<listitem>
<para>Attaches the file system on the given device to a specified
directory in the file-system tree</para>
<indexterm zone="ch-system-util-linux mount"><primary sortas="b-mount">mount</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="namei">
<term><command>namei</command></term>
<listitem>
<para>Shows the symbolic links in the given pathnames</para>
<indexterm zone="ch-system-util-linux namei"><primary sortas="b-namei">namei</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="pg">
<term><command>pg</command></term>
<listitem>
<para>Displays a text file one screen full at a time</para>
<indexterm zone="ch-system-util-linux pg"><primary sortas="b-pg">pg</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="pivot_root">
<term><command>pivot_root</command></term>
<listitem>
<para>Makes the given file system the new root file system of the
current process</para>
<indexterm zone="ch-system-util-linux pivot_root"><primary sortas="b-pivot_root">pivot_root</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="ramsize">
<term><command>ramsize</command></term>
<listitem>
<para>Sets the size of the RAM disk in a bootable image</para>
<indexterm zone="ch-system-util-linux ramsize"><primary sortas="b-ramsize">ramsize</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="raw">
<term><command>raw</command></term>
<listitem>
<para>Used to bind a Linux raw character device to a block
device</para>
<indexterm zone="ch-system-util-linux raw"><primary sortas="b-raw">raw</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="rdev">
<term><command>rdev</command></term>
<listitem>
<para>Queries and sets the root device, among other things, in a
bootable image</para>
<indexterm zone="ch-system-util-linux rdev"><primary sortas="b-rdev">rdev</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="readprofile">
<term><command>readprofile</command></term>
<listitem>
<para>Reads kernel profiling information</para>
<indexterm zone="ch-system-util-linux readprofile"><primary sortas="b-readprofile">readprofile</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="rename">
<term><command>rename</command></term>
<listitem>
<para>Renames the given files, replacing a given string with another</para>
<indexterm zone="ch-system-util-linux rename"><primary sortas="b-rename">rename</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="renice">
<term><command>renice</command></term>
<listitem>
<para>Alters the priority of running processes</para>
<indexterm zone="ch-system-util-linux renice"><primary sortas="b-renice">renice</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="rev">
<term><command>rev</command></term>
<listitem>
<para>Reverses the lines of a given file</para>
<indexterm zone="ch-system-util-linux rev"><primary sortas="b-rev">rev</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="rootflags">
<term><command>rootflags</command></term>
<listitem>
<para>Sets the rootflags in a bootable image</para>
<indexterm zone="ch-system-util-linux rootflags"><primary sortas="b-rootflags">rootflags</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="script">
<term><command>script</command></term>
<listitem>
<para>Makes a typescript of a terminal session</para>
<indexterm zone="ch-system-util-linux script"><primary sortas="b-script">script</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="setfdprm">
<term><command>setfdprm</command></term>
<listitem>
<para>Sets user-provided floppy disk parameters</para>
<indexterm zone="ch-system-util-linux setfdprm"><primary sortas="b-setfdprm">setfdprm</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="setsid">
<term><command>setsid</command></term>
<listitem>
<para>Runs the given program in a new session</para>
<indexterm zone="ch-system-util-linux setsid"><primary sortas="b-setsid">setsid</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="setterm">
<term><command>setterm</command></term>
<listitem>
<para>Sets terminal attributes</para>
<indexterm zone="ch-system-util-linux setterm"><primary sortas="b-setterm">setterm</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="sfdisk">
<term><command>sfdisk</command></term>
<listitem>
<para>A disk partition table manipulator</para>
<indexterm zone="ch-system-util-linux sfdisk"><primary sortas="b-sfdisk">sfdisk</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="swapdev">
<term><command>swapdev</command></term>
<listitem>
<para>Sets the swap device in a bootable image</para>
<indexterm zone="ch-system-util-linux swapdev"><primary sortas="b-swapdev">swapdev</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="swapoff">
<term><command>swapoff</command></term>
<listitem>
<para>Disables devices and files for paging and swapping</para>
<indexterm zone="ch-system-util-linux swapoff"><primary sortas="b-swapoff">swapoff</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="swapon">
<term><command>swapon</command></term>
<listitem>
<para>Enables devices and files for paging and swapping and lists the devices
and files currently in use</para>
<indexterm zone="ch-system-util-linux swapon"><primary sortas="b-swapon">swapon</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="tunelp">
<term><command>tunelp</command></term>
<listitem>
<para>Tunes the parameters of the line printer</para>
<indexterm zone="ch-system-util-linux tunelp"><primary sortas="b-tunelp">tunelp</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="ul">
<term><command>ul</command></term>
<listitem>
<para>A filter for translating underscores into
escape sequences indicating underlining for the terminal in use</para>
<indexterm zone="ch-system-util-linux ul"><primary sortas="b-ul">ul</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="umount">
<term><command>umount</command></term>
<listitem>
<para>Disconnects a file system from the system's file tree</para>
<indexterm zone="ch-system-util-linux umount"><primary sortas="b-umount">umount</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="vidmode">
<term><command>vidmode</command></term>
<listitem>
<para>Sets the video mode in a bootable image</para>
<indexterm zone="ch-system-util-linux vidmode"><primary sortas="b-vidmode">vidmode</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="whereis">
<term><command>whereis</command></term>
<listitem>
<para>Reports the location of the binary, source, and man page
for the given command</para>
<indexterm zone="ch-system-util-linux whereis"><primary sortas="b-whereis">whereis</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="write">
<term><command>write</command></term>
<listitem>
<para>Sends a message to the given user
<emphasis>if</emphasis> that user has not disabled receipt of such messages</para>
<indexterm zone="ch-system-util-linux write"><primary sortas="b-write">write</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>