%general-entities; ]> Util-linux-&util-linux-version; Util-linux <para>The Util-linux package contains miscellaneous utility programs. Among them are utilities for handling file systems, consoles, partitions, and messages.</para> </sect2> <sect2 id="fhs-util-linux" role="installation"> <title>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 's@etc/adjtime@var/lib/hwclock/adjtime@g' \ hwclock/hwclock.c.orig > hwclock/hwclock.c mkdir -pv ${CLFS}/var/lib/hwclock Installation of Util-linux Util-linux fails to compile against newer versions of Linux kernel headers. The following patch properly fixes this issue: patch -Np1 -i ../&util-linux-cramfs-patch; The following patch fixes build issues the changes to the Linux 2.6.18 headers: patch -Np1 -i ../&util-linux-syscall_fixes-patch; The following patch fixes swapon.c - it tries to find the variable R_OK, but the header that has R_OK is not included: patch -Np1 -i ../&util-linux-missing_header-patch; Due to a change in headers some util-linux will not build. This patch will change the utilization of llseek to lseek. This change is in the new release of util-linux: patch -Np1 -i ../&util-linux-lseek-patch; The Util-linux installation uses . As we are currently using an unprivileged user, this will not work. The following sed removes it: cp MCONFIG{,.orig} sed -e "s/-o root//" MCONFIG.orig > MCONFIG Prepare Util-linux for compilation: ./configure Compile the package: make HAVE_KILL=yes HAVE_SLN=yes \ CPUOPT="" ARCH="" CPU="" The meaning of the make parameters: HAVE_KILL=yes This prevents the kill program (already installed by Procps) from being built and installed again. HAVE_SLN=yes This prevents the sln program (a statically linked version of ln already installed by Glibc) from being built and installed again. CPUOPT="" This disables any compiler optimizations by CPU type. ARCH="" This disables the detection of the architecture. CPU="" This disables the detection of the CPU. Install the package and move the logger binary to /bin as it is needed by the CLFS-Bootscripts package: make HAVE_KILL=yes HAVE_SLN=yes \ CPUOPT="" ARCH="" CPU="" USE_TTY_GROUP=no DESTDIR=${CLFS} install mv -v ${CLFS}/usr/bin/logger ${CLFS}/bin Contents of Util-linux Installed programs agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk, flock, 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, swapoff (link to swapon), swapon, tailf, tunelp, ul, umount, vidmode (link to rdev), whereis, and write Short Descriptions agetty Opens a tty port, prompts for a login name, and then invokes the login program agetty arch Reports the machine's architecture arch blockdev Allows users to call block device ioctls from the command line blockdev cal Displays a simple calendar cal cfdisk Manipulates the partition table of the given device cfdisk chkdupexe Finds duplicate executables chkdupexe col Filters out reverse line feeds col colcrt Filters nroff output for terminals that lack some capabilities, such as overstriking and half-lines colcrt colrm Filters out the given columns colrm column Formats a given file into multiple columns column ctrlaltdel Sets the function of the Ctrl+Alt+Del key combination to a hard or a soft reset ctrlaltdel cytune Tunes the parameters of the serial line drivers for Cyclades cards cytune ddate Gives the Discordian date or converts the given Gregorian date to a Discordian one ddate dmesg Dumps the kernel boot messages dmesg elvtune Tunes the performance and interactivity of a block device elvtune fdformat Low-level formats a floppy disk fdformat fdisk Manipulates the partition table of the given device fdisk flock Acquires a file lock and then executes a command with the lock held flock fsck.cramfs Performs a consistency check on the Cramfs file system on the given device fsck.cramfs fsck.minix Performs a consistency check on the Minix file system on the given device fsck.minix getopt Parses options in the given command line getopt hexdump Dumps the given file in hexadecimal or in another given format hexdump hwclock Reads or sets the system's hardware clock, also called the Real-Time Clock (RTC) or Basic Input-Output System (BIOS) clock hwclock ipcrm Removes the given Inter-Process Communication (IPC) resource ipcrm ipcs Provides IPC status information ipcs isosize Reports the size of an iso9660 file system isosize line Copies a single line line logger Enters the given message into the system log logger look Displays lines that begin with the given string look losetup Sets up and controls loop devices losetup mcookie Generates magic cookies (128-bit random hexadecimal numbers) for xauth mcookie mkfs Builds a file system on a device (usually a hard disk partition) mkfs mkfs.bfs Creates a Santa Cruz Operations (SCO) bfs file system mkfs.bfs mkfs.cramfs Creates a cramfs file system mkfs.cramfs mkfs.minix Creates a Minix file system mkfs.minix mkswap Initializes the given device or file to be used as a swap area mkswap more A filter for paging through text one screen at a time more mount Attaches the file system on the given device to a specified directory in the file-system tree mount namei Shows the symbolic links in the given pathnames namei pg Displays a text file one screen full at a time pg pivot_root Makes the given file system the new root file system of the current process pivot_root ramsize Sets the size of the RAM disk in a bootable image ramsize raw Used to bind a Linux raw character device to a block device raw rdev Queries and sets the root device, among other things, in a bootable image rdev readprofile Reads kernel profiling information readprofile rename Renames the given files, replacing a given string with another rename renice Alters the priority of running processes renice rev Reverses the lines of a given file rev rootflags Sets the rootflags in a bootable image rootflags script Makes a typescript of a terminal session script setfdprm Sets user-provided floppy disk parameters setfdprm setsid Runs the given program in a new session setsid setterm Sets terminal attributes setterm sfdisk A disk partition table manipulator sfdisk swapoff Disables devices and files for paging and swapping swapoff swapon Enables devices and files for paging and swapping and lists the devices and files currently in use swapon 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 tailf tunelp Tunes the parameters of the line printer tunelp ul A filter for translating underscores into escape sequences indicating underlining for the terminal in use ul umount Disconnects a file system from the system's file tree umount vidmode Sets the video mode in a bootable image vidmode whereis Reports the location of the binary, source, and man page for the given command whereis write Sends a message to the given user if that user has not disabled receipt of such messages write