#### Linux From Scratch - Version 7.9

### Chapter 6. Installing Basic System Software

- Prev

  Eudev-3.1.5

- Next

  Man-DB-2.7.5

- Up
- Home

# 6.68. Util-linux-2.27.1

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

Approximate build time: 0.7 SBU
Required disk space: 137 MB

## 6.68.1. 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. First create a directory to enable storage for the hwclock program:

    mkdir -pv /var/lib/hwclock

## 6.68.2. Installation of Util-linux

Prepare Util-linux for compilation:

    ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
                --docdir=/usr/share/doc/util-linux-2.27.1 \
                --disable-chfn-chsh  \
                --disable-login      \
                --disable-nologin    \
                --disable-su         \
                --disable-setpriv    \
                --disable-runuser    \
                --disable-pylibmount \
                --disable-static     \
                --without-python     \
                --without-systemd    \
                --without-systemdsystemunitdir

The --disable and --without options prevent warnings about building components that require packages not in LFS or are inconsistent with programs installed by other packages.

Compile the package:

    make

If desired, run the test suite as a non-root user:

### Warning

Running the test suite as the root user can be harmful to your system. To run it, the CONFIG_SCSI_DEBUG option for the kernel must be available in the currently running system, and must be built as a module. Building it into the kernel will prevent booting. For complete coverage, other BLFS packages must be installed. If desired, this test can be run after rebooting into the completed LFS system and running:

    bash tests/run.sh --srcdir=$PWD --builddir=$PWD

    chown -Rv nobody .
    su nobody -s /bin/bash -c "PATH=$PATH make -k check"

### Note

One test above, tests/ts/ipcs/limits2, will fail when the host is using a recent kernel. The failure can safely be ignored.

Install the package:

    make install

## 6.68.3. Contents of Util-linux

Installed programs: addpart, agetty, blkdiscard, blkid, blockdev, cal, cfdisk, chcpu, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg, eject, fallocate, fdformat, fdisk, findfs, findmnt, flock, fsck, fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hexdump, hwclock, i386, ionice, ipcmk, ipcrm, ipcs, isosize, kill, last, lastb (link to last), ldattach, linux32, linux64, logger, look, losetup, lsblk, lscpu, lsipc, lslocks, lslogins, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, mountpoint, namei, nsenter, partx, pg, pivot_root, prlimit, raw, readprofile, rename, renice, resizepart, rev, rtcwake, script, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel, swapoff (link to swapon), swapon, switch_root, tailf, taskset, ul, umount, uname26, unshare, utmpdump, uuidd, uuidgen, wall, wdctl, whereis, wipefs, x86_64, and zramctl
Installed libraries: libblkid.so, libfdisk.so, libmount.so, libsmartcols.so, and libuuid.so
Installed directories: /usr/include/blkid, /usr/include/libfdisk, /usr/include/libmount, /usr/include/libsmartcols, /usr/include/uuid, /usr/share/doc/util-linux-2.27.1, and /var/lib/hwclock

### Short Descriptions

addpart | Informs the Linux kernel of new partitions
agetty | Opens a tty port, prompts for a login name, and then invokes the login program
blkdiscard | Discards sectors on a device
blkid | A command line utility to locate and print block device attributes
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
chcpu | Modifies the state of CPUs
chrt | Manipulates real-time attributes of a process
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
delpart | Asks the Linux kernel to remove a partition
dmesg | Dumps the kernel boot messages
eject | Ejects removable media
fallocate | Preallocates space to a file
fdformat | Low-level formats a floppy disk
fdisk | Manipulates the partition table of the given device
findfs | Finds a file system by label or Universally Unique Identifier (UUID)
findmnt | Is a command line interface to the libmount library for work with mountinfo, fstab and mtab files
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
fsfreeze | Is a very simple wrapper around FIFREEZE/FITHAW ioctl kernel driver operations
fstrim | Discards unused blocks on a mounted filesystem
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
i386 | A symbolic link to setarch
ionice | Gets or sets the io scheduling class and priority for a program
ipcmk | Creates various IPC resources
ipcrm | Removes the given Inter-Process Communication (IPC) resource
ipcs | Provides IPC status information
isosize | Reports the size of an iso9660 file system
kill | Sends signals to processes
last | Shows which users last logged in (and out), searching back through the `/var/log/wtmp` file; it also shows system boots, shutdowns, and run-level changes
lastb | Shows the failed login attempts, as logged in `/var/log/btmp`
ldattach | Attaches a line discipline to a serial line
linux32 | A symbolic link to setarch
linux64 | A symbolic link to setarch
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
lsblk | Lists information about all or selected block devices in a tree-like format
lscpu | Prints CPU architecture information
lsipc | Prints information on IPC facilities currently employed in the system
lslocks | Lists local system locks
lslogins | Lists information about users, groups and system accounts
mcookie | Generates magic cookies (128-bit random hexadecimal numbers) for xauth
mesg | Controls whether other users can send messages to the current user's terminal
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
mountpoint | Checks if the directory is a mountpoint
namei | Shows the symbolic links in the given pathnames
nsenter | Runs a program with namespaces of other processes
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
prlimit | Get and set a process' resource limits
raw | Bind a Linux raw character device to a block device
readprofile | Reads kernel profiling information
rename | Renames the given files, replacing a given string with another
renice | Alters the priority of running processes
resizepart | Asks the Linux kernel to resize a partition
rev | Reverses the lines of a given file
rtcwake | Used to enter a system sleep state until specified wakeup time
script | Makes a typescript of a terminal session
scriptreplay | Plays back typescripts using timing information
setarch | Changes reported architecture in a 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
sulogin | Allows `root` to log in; it is normally invoked by init when the system goes into single user mode
swaplabel | Allows to change swaparea UUID and label
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
switch_root | Switches to another filesystem as the root of the mount tree
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' CPU affinity
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
uname26 | A symbolic link to setarch
unshare | Runs a program with some namespaces unshared from parent
utmpdump | Displays the content of the given login file in a more user-friendly format
uuidd | A daemon used by the UUID library to generate time-based UUIDs in a secure and guranteed-unique fashion
uuidgen | Creates new UUIDs. Each new UUID can reasonably be considered unique among all UUIDs created, on the local system and on other systems, in the past and in the future
wall | Displays the contents of a file or, by default, its standard input, on the terminals of all currently logged in users
wdctl | Shows hardware watchdog status
whereis | Reports the location of the binary, source, and man page for the given command
wipefs | Wipes a filesystem signature from a device
x86_64 | A symbolic link to setarch
zramctl | A program to set up and control zram (compressed ram disk) devices
`libblkid` | Contains routines for device identification and token extraction
`libfdisk` | Contains routines for manipulating partition tables
`libmount` | Contains routines for block device mounting and unmounting
`libsmartcols` | Contains routines for aiding screen output in tabular form
`libuuid` | Contains routines for generating unique identifiers for objects that may be accessible beyond the local system

- Prev

  Eudev-3.1.5

- Next

  Man-DB-2.7.5

- Up
- Home