6.14. Util-linux-ng-2.16

The Util-linux-ng package contains miscellaneous utility programs. Among them are utilities for handling file systems, consoles, partitions, and messages.

6.14.1. Environment Settings

This package requires compiler variables to be set for the target in the environment.

export CC="${CLFS_TARGET}-gcc"
export CXX="${CLFS_TARGET}-g++"
export AR="${CLFS_TARGET}-ar"
export AS="${CLFS_TARGET}-as"
export RANLIB="${CLFS_TARGET}-ranlib"
export LD="${CLFS_TARGET}-ld"
export STRIP="${CLFS_TARGET}-strip"

6.14.2. FHS compliance notes

The FHS recommends using the /var/lib/hwclock directory instead of the usual /etc directory as the location for the adjtime file. To make the hwclock program FHS-compliant, run the following:

cp hwclock/hwclock.c{,.orig}
sed -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' \
    hwclock/hwclock.c.orig > hwclock/hwclock.c
mkdir -pv ${CLFS}/var/lib/hwclock

6.14.3. Installation of Util-linux-ng

Prepare Util-linux-ng for compilation:

./configure --build=${CLFS_HOST} --host=${CLFS_TARGET} \
    --enable-arch --enable-partx --disable-wall \
    --enable-write --disable-makeinstall-chown

The meaning of the configure options:

--enable-arch

This option allows the arch program to be installed.

--enable-partx

Enables building the addpart, delpart, partx programs.

--enable-write

This option allows the write program to be installed.

--disable-wall

Disables building the wall program, as the Sysvinit package installs its own version.

Compile the package:

make

Install the package:

make DESTDIR=${CLFS} install

Move the logger binary to /bin as it is needed by the CLFS-Bootscripts package:

mv -v ${CLFS}/usr/bin/logger ${CLFS}/bin

6.14.4. Contents of Util-linux-ng

Installed programs: addpart, agetty, blockdev, cal, cfdisk, chkdupexe, col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, delpart, dmesg, fdformat, fdisk, flock, fsck, fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ionice, ipcrm, ipcs, isosize, line, logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, partx, pg, pivot_root, readprofile, rename, renice, rev, rtcwake, script, scriptreplay, setarch, setsid, setterm, sfdisk, swapoff (link to swapon), swapon, tailf, taskset, tunelp, ul, umount, whereis, and write
Installed libraries: libblkid.[a,so] and libuuid.[a,so]

Short Descriptions

addpart

Informs the kernel of a new partition

agetty

Opens a tty port, prompts for a login name, and then invokes the login program

blockdev

Allows users to call block device ioctls from the command line

cal

Displays a simple calendar

cfdisk

Manipulates the partition table of the given device

chkdupexe

Finds duplicate executables

col

Filters out reverse line feeds

colcrt

Filters nroff output for terminals that lack some capabilities, such as overstriking and half-lines

colrm

Filters out the given columns

column

Formats a given file into multiple columns

ctrlaltdel

Sets the function of the Ctrl+Alt+Del key combination to a hard or a soft reset

cytune

Tunes the parameters of the serial line drivers for Cyclades cards

ddate

Gives the Discordian date or converts the given Gregorian date to a Discordian one

delpart

Asks the kernel to remove a partition

dmesg

Dumps the kernel boot messages

fdformat

Low-level formats a floppy disk

fdisk

Manipulates the partition table of the given device

flock

Acquires a file lock and then executes a command with the lock held

fsck

Is used to check, and optionally repair, file systems

fsck.cramfs

Performs a consistency check on the Cramfs file system on the given device

fsck.minix

Performs a consistency check on the Minix file system on the given device

getopt

Parses options in the given command line

hexdump

Dumps the given file in hexadecimal or in another given format

hwclock

Reads or sets the system's hardware clock, also called the Real-Time Clock (RTC) or Basic Input-Output System (BIOS) clock

ionice

Gives and sets program I/O scheduling class and priority

ipcrm

Removes the given Inter-Process Communication (IPC) resource

ipcs

Provides IPC status information

isosize

Reports the size of an iso9660 file system

line

Copies a single line

logger

Enters the given message into the system log

look

Displays lines that begin with the given string

losetup

Sets up and controls loop devices

mcookie

Generates magic cookies (128-bit random hexadecimal numbers) for xauth

mkfs

Builds a file system on a device (usually a hard disk partition)

mkfs.bfs

Creates a Santa Cruz Operations (SCO) bfs file system

mkfs.cramfs

Creates a cramfs file system

mkfs.minix

Creates a Minix file system

mkswap

Initializes the given device or file to be used as a swap area

more

A filter for paging through text one screen at a time

mount

Attaches the file system on the given device to a specified directory in the file-system tree

namei

Shows the symbolic links in the given pathnames

partx

Tells the kernel about the presence and numbering of on-disk partitions

pg

Displays a text file one screen full at a time

pivot_root

Makes the given file system the new root file system of the current process

readprofile

Reads kernel profiling information

rename

Renames the given files, replacing a given string with another

renice

Alters the priority of running processes

rev

Reverses the lines of a given file

rtcwake

Enters a system sleep state until a specified wakeup time

script

Makes a typescript of a terminal session

scriptreplay

Plays back typescripts created by script

setarch

Changes reported architecture in new program environment and sets personality flags

setsid

Runs the given program in a new session

setterm

Sets terminal attributes

sfdisk

A disk partition table manipulator

swapoff

Disables devices and files for paging and swapping

swapon

Enables devices and files for paging and swapping and lists the devices and files currently in use

tailf

Tracks the growth of a log file. Displays the last 10 lines of a log file, then continues displaying any new entries in the log file as they are created

taskset

Retrieves or sets a process's CPU affinity

tunelp

Tunes the parameters of the line printer

ul

A filter for translating underscores into escape sequences indicating underlining for the terminal in use

umount

Disconnects a file system from the system's file tree

whereis

Reports the location of the binary, source, and man page for the given command

write

Sends a message to the given user if that user has not disabled receipt of such messages

libblkid

Contains routines for device identification and token extraction

libuuid

Contains routines for generating unique identifiers for objects that may be accessible beyond the local system