8.79. Util-linux-2.40.2

Util-linux パッケージはさまざまなユーティリティプログラムを提供します。 ファイルシステム、コンソール、パーティション、カーネルメッセージなどを取り扱うユーティリティです。

概算ビルド時間: 0.5 SBU
必要ディスク容量: 315 MB

8.79.1. Util-linux のインストール

Util-linux をコンパイルするための準備をします。

./configure --bindir=/usr/bin     \
            --libdir=/usr/lib     \
            --runstatedir=/run    \
            --sbindir=/usr/sbin   \
            --disable-chfn-chsh   \
            --disable-login       \
            --disable-nologin     \
            --disable-su          \
            --disable-setpriv     \
            --disable-runuser     \
            --disable-pylibmount  \
            --disable-liblastlog2 \
            --disable-static      \
            --without-python      \
            --without-systemd     \
            --without-systemdsystemunitdir        \
            ADJTIME_PATH=/var/lib/hwclock/adjtime \
            --docdir=/usr/share/doc/util-linux-2.40.2

--disable と --without のオプションは、LFS では必要のないパッケージ、あるいは他のパッケージのインストールによって不整合となったパッケージに対して出力される警告をなくします。

パッケージをコンパイルします。

make

ダミーの /etc/fstab ファイルを作れば 2 つのテストがうまく実行できます。 テストスイートの実行は root ユーザー以外にて以下を実行します。

[警告]

警告

root ユーザーによりテストスイートを実行すると、システムに悪影響を及ぼすことがあります。 テストスイートを実行するためには、カーネルオプション CONFIG_SCSI_DEBUG が現環境にて有効であり、かつモジュールとしてビルドされていなければなりません。 カーネルに組み込んでいるとブートできません。 またテストを完全に実施するには BLFS での各種パッケージのインストールも必要になります。 テストが必要であるなら、構築済 LFS システムを起動して以下を実行します。

bash tests/run.sh --srcdir=$PWD --builddir=$PWD
touch /etc/fstab
chown -R tester .
su tester -c "make -k check"

hardlinkテストは失敗する場合があります。 それはカーネルオプションの CONFIG_CRYPTO_USER_API_HASH が有効でない場合、あるいは SHA256 機能を提供するオプション(たとえば CONFIG_CRYPTO_SHA256 や CPU が Supplemental SSE3 をサポートする際の CONFIG_CRYPTO_SHA256_SSSE3 など)が一つもない場合です。 さらにカーネルオプション CONFIG_NETLINK_DIAG が無効である場合、lsfd 内のテスト inotify が失敗します。

パッケージをインストールします。

make install

8.79.2. Util-linux の構成

インストールプログラム: addpart, agetty, blkdiscard, blkid, blkzone, blockdev, cal, cfdisk, chcpu, chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg, eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck, fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hardlink, hexdump, hwclock, i386 (setarch へのリンク), ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, lastb (last へのリンク), ldattach, linux32 (setarch へのリンク), linux64 (setarch へのリンク), 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, readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script, scriptlive, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel, swapoff, swapon, switch_root, taskset, uclampset, ul, umount, uname26 (setarch へのリンク), unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis, wipefs, x86_64 (setarch へのリンク), zramctl
インストールライブラリ: libblkid.so, libfdisk.so, libmount.so, libsmartcols.so, libuuid.so
インストールディレクトリ: /usr/include/blkid, /usr/include/libfdisk, /usr/include/libmount, /usr/include/libsmartcols, /usr/include/uuid, /usr/share/doc/util-linux-2.40.2, /var/lib/hwclock

概略説明

addpart

Linux カーネルに対して新しいパーティションの情報を通知します。

agetty

tty ポートを開いてログイン名の入力を受け付けます。 そして login プログラムを起動します。

blkdiscard

デバイス上のセクターを取り除きます。

blkid

ブロックデバイスの属性を見つけて表示するためのコマンドラインユーティリティ。

blkzone

ゾーン処理されたブロックデバイスの管理に用いられます。

blockdev

コマンドラインからブロックデバイスの ioctl の呼び出しを行います。

cal

簡単なカレンダーを表示します。

cfdisk

指定されたデバイスのパーティションテーブルを操作します。

chcpu

CPU の状態を変更します。

chmem

メモリを設定します。

choom

OOM-killer スコアを表示し調整します。 Linux が Out Of Memory となった場合に、どのプロセスを最初に kill するべきかを判断するために用いられます。

chrt

リアルタイムプロセスの属性を操作します。

col

逆改行 (reverse line feeds) を取り除きます。

colcrt

性能が不十分な端末のために nroff の出力結果から重ね書き (overstriking) や半改行 (half-lines) を取り除きます。

colrm

指定されたカラムを取り除きます。

column

指定されたファイルの内容を複数カラムに整形します。

ctrlaltdel

ハードリセットまたはソフトリセットを行うために Ctrl+Alt+Del キー押下時の機能を設定します。

delpart

Linux カーネルに対してパーティションが削除されているかどうかを確認します。

dmesg

カーネルのブートメッセージをダンプします。

eject

リムーバブルメディアをイジェクトします。

fallocate

ファイルのための領域を事前割り当てします。

fdisk

指定されたデバイスのパーティションテーブルを操作します。

fincore

メモリコア内にあるファイル情報のページ数を調べます。

findfs

ファイルシステムに対するラベルまたは UUID (Universally Unique Identifier) を使ってファイルシステムを検索します。

findmnt

libmount ライブラリに対するコマンドラインインターフェース。 mountinfo, fstab, mtab の各ファイルに対しての処理を行います。

flock

ファイルロックを取得してロックしたままコマンドを実行します。

fsck

ファイルシステムのチェックを行い、必要に応じて修復を行います。

fsck.cramfs

指定されたデバイス上の Cramfs ファイルシステムに対して一貫性検査 (consistency check) を行います。

fsck.minix

指定されたデバイス上の Minix ファイルシステムに対して一貫性検査 (consistency check) を行います。

fsfreeze

カーネルドライバー制御における FIFREEZE/FITHAW ioctl に対する単純なラッパープログラム。

fstrim

マウントされたファイルシステム上にて、利用されていないブロックを破棄します。

getopt

指定されたコマンドラインのオプション引数を解析します。

hardlink

ハードリンクを生成することで重複ファイルを統合します。

hexdump

指定されたファイルを 16 進数、10 進数、8 進数、アスキーの各書式でダンプします。

hwclock

システムのハードウェアクロックを読み取ったり設定したりします。 このハードウェアクロックはリアルタイムクリック (Real-Time Clock; RTC) または BIOS (Basic Input-Output System) クロックとも呼ばれます。

i386

setarch へのシンボリックリンク。

ionice

プログラムに対する I/O スケジュールクラスとスケジュール優先度を取得または設定します。

ipcmk

さまざまな IPC リソースを生成します。

ipcrm

指定された IPC (Inter-Process Communication) リソースを削除します。

ipcs

IPC のステータス情報を提供します。

irqtop

カーネルのインタラプトカウンター情報を top(1) スタイルにより表示します。

isosize

iso9660 ファイルシステムのサイズを表示します。

kill

プロセスに対してシグナルを送信します。

last

ユーザーの最新のログイン (ログアウト) の情報を表示します。 これは /var/log/wtmp ファイルの終わりから調べているものです。 またシステムブート、シャットダウン、ランレベルの変更時の情報も示します。

lastb

ログインに失敗した情報を表示します。 これは /var/log/btmp に記録されています。

ldattach

シリアル回線 (serial line) に対して回線規則 (line discipline) を割り当てます。

linux32

setarch へのシンボリックリンク。

linux64

setarch へのシンボリックリンク。

logger

指定したメッセージをシステムログに出力します。

look

指定された文字列で始まる行を表示します。

losetup

ループデバイス (loop device) の設定と制御を行います。

lsblk

ブロックデバイスのすべて、あるいは指定されたものの情報を、木構造のような形式で一覧表示します。

lscpu

CPU アーキテクチャーの情報を表示します。

lsfd

オープンしているファイルについての情報を表示します。 lsof に代わるものです。

lsipc

システムに搭載されている IPC 機能の情報を表示します。

lsirq

カーネルのインタラプトカウンター情報を表示します。

lslocks

ローカルのシステムロックを一覧表示します。

lslogins

ユーザー、グループ、システムアカウントの情報を一覧表示します。

lsmem

オンライン状態にある利用可能なメモリ範囲を一覧表示します。

lsns

名前空間を一覧表示します。

mcookie

xauth のためのマジッククッキー (128ビットのランダムな16進数値) を生成します。

mesg

現在のユーザーの端末に対して、他のユーザーがメッセージ送信できるかどうかを制御します。

mkfs

デバイス上にファイルシステムを構築します。 (通常はハードディスクパーティションに対して行います。)

mkfs.bfs

SCO (Santa Cruz Operations) の bfs ファイルシステムを生成します。

mkfs.cramfs

cramfs ファイルシステムを生成します。

mkfs.minix

Minix ファイルシステムを生成します。

mkswap

指定されたデバイスまたはファイルをスワップ領域として初期化します。

more

テキストを一度に一画面分だけ表示するフィルタープログラム。

mount

ファイルシステムツリー内の特定のディレクトリを、指定されたデバイス上のファイルシステムに割り当てます。

mountpoint

ディレクトリがマウントポイントであるかどうかをチェックします。

namei

指定されたパスに存在するシンボリックリンクを表示します。

nsenter

他プロセスの名前空間にてプログラムを実行します。

partx

カーネルに対して、ディスク上にパーティションが存在するか、何番が存在するかを伝えます。

pivot_root

指定されたファイルシステムを、現在のプロセスに対する新しいルートファイルシステムにします。

prlimit

プロセスが利用するリソースの限界値を取得または設定します。

readprofile

カーネルのプロファイリング情報を読み込みます。

rename

指定されたファイルの名称を変更します。

renice

実行中のプロセスの優先度を変更します。

resizepart

Linux カーネルに対してパーティションのリサイズを指示します。

rev

指定されたファイル内の行の並びを入れ替えます。

rfkill

ワイアレスデバイスの有効化、無効化を行うツール。

rtcwake

指定された起動時刻までの間、システムをスリープ状態とするモードを指定します。

script

端末セッション上での出力結果の写し (typescript) を生成します。

scriptlive

タイミング情報を使って、セッションのタイプスクリプトを再実行します。

scriptreplay

タイミング情報 (timing information) を利用して、出力結果の写し (typescript) を再生します。

setarch

新しいプログラム環境にて、表示されるアーキテクチャーを変更します。 また設定フラグ (personality flag) の設定も行います。

setsid

新しいセッションで指定されたプログラムを実行します。

setterm

端末の属性を設定します。

sfdisk

ディスクパーティションテーブルを操作します。

sulogin

root ユーザーでのログインを行います。 通常は init が起動するもので、システムがシングルユーザーモードで起動する際に利用されます。

swaplabel

スワップ領域の UUID とラベルを変更します。

swapoff

ページングまたはスワッピングに利用しているデバイスまたはファイルを無効にします。

swapon

ページングまたはスワッピングに利用しているデバイスまたはファイルを有効にします。 また現在利用されているデバイスまたはファイルを一覧表示します。

switch_root

別のファイルシステムを、マウントツリーのルートとして変更します。

taskset

プロセスの CPU 親和性 (affinity) を表示または設定します。

uclampset

システムやプロセスの使用率クランプ属性を操作します。

ul

使用中の端末にて、アンダースコア文字を、エスケープシーケンスを用いた下線文字に変換するためのフィルター。

umount

システムのファイルツリーからファイルシステムを切断します。

uname26

setarch へのシンボリックリンク。

unshare

上位の名前空間とは異なる名前空間にてプログラムを実行します。

utmpdump

指定されたログインファイルの内容を分かりやすい書式で表示します。

uuidd

UUID ライブラリから利用されるデーモン。 時刻情報に基づく UUID を、安全にそして一意性を確保して生成します。

uuidgen

新しい UUID を生成します。 生成される UUID は乱数であり、自他システムでも過去現在にわたってもユニークなものです。 その可能性は極めて高いものです(2128個の UUID が可能です)。

uuidparse

ユニークな識別子を解析するためのユーティリティー。

wall

ファイルの内容、あるいはデフォルトでは標準入力から入力された内容を、現在ログインしている全ユーザーの端末上に表示します。

wdctl

ハードウェアの watchdog ステータスを表示します。

whereis

指定されたコマンドの実行モジュール、ソース、man ページの場所を表示します。

wipefs

ファイルシステムのシグニチャーをデバイスから消去します。

x86_64

setarch へのシンボリックリンク。

zramctl

zram (compressed ram disk) デバイスを初期化し制御するためのプログラム。

libblkid

デバイスの識別やトークンの抽出を行う処理ルーチンを提供します。

libfdisk

パーティションテーブルを操作する処理ルーチンを提供します。

libmount

ブロックデバイスのマウントとアンマウントに関する処理ルーチンを提供します。

libsmartcols

タブラー形式 (tabular form) による画面出力を補助する処理ルーチンを提供します。

libuuid

ローカルシステム内だけに限らずアクセスされるオブジェクトに対して、一意性が保証された識別子を生成する処理ルーチンを提供します。