6.68. Util-linux-2.27

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

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

6.68.1. FHS コンプライアンス情報

FHS では adjtime ファイルの配置場所として /etc ディレクトリではなく /var/lib/hwclock ディレクトリを推奨しています。 hwclock プログラムが利用するディレクトリをまず生成します。

mkdir -pv /var/lib/hwclock

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

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

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

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

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

make

必要なら root ユーザー以外にて、以下のようにテストスイートを実行します。

[警告]

警告

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

bash tests/run.sh --srcdir=$PWD --builddir=$PWD
chown -Rv nobody .
su nobody -s /bin/bash -c "PATH=$PATH make -k check"
[注記]

注記

上において tests/ts/ipcs/limits2 というテストは、ホストが最新のカーネルを用いている場合に失敗します。 この失敗は無視して構いません。

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

make install

6.68.3. Util-linux の構成

インストールプログラム: 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 (last へのリンク), ldattach, linux32, linux64, logger, look, losetup, lsblk, lscpu, lslocks, lslogins, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, mountpoint, namei, partx, pg, pivot_root, prlimit, raw, readprofile, rename, renice, resizepart, rev, rtcwake, script, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel, swapoff (swapon へのリンク), swapon, switch_root, tailf, taskset, ul, umount, unshare, utmpdump, uuidd, uuidgen, wall, wdctl, whereis, wipefs, x86_64, zramctl
インストールライブラリ: libblkid.{a,so}, libfdisk.{a,so}, libmount.{a,so}, libsmartcols.{a,so}, libuuid.{a,so}
インストールディレクトリ: /etc/terminal-colors.d, /usr/include/blkid, /usr/include/libmount, /usr/include/uuid, /usr/share/doc/util-linux-2.27/getopt, /var/lib/hwclock

概略説明

addpart

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

agetty

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

blkdiscard

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

blkid

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

blockdev

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

cal

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

cfdisk

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

chcpu

CPU の状態を変更します。

chrt

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

col

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

colcrt

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

colrm

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

column

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

ctrlaltdel

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

delpart

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

dmesg

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

eject

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

fallocate

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

fdformat

フロッピーディスクの低レベル (low-level) フォーマットを行います。

fdisk

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

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

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

hexdump

指定されたファイルを 16進数書式または他の指定された書式でダンプします。

hwclock

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

i386

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

ionice

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

ipcmk

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

ipcrm

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

ipcs

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

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 アーキテクチャーの情報を表示します。

lslocks

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

lslogins

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

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

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

pg

テキストファイルを一度に一画面分表示します。

pivot_root

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

prlimit

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

raw

Linux の raw キャラクターデバイスをブロックデバイスにバインドします。

readprofile

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

rename

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

renice

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

resizepart

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

rev

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

rtcwake

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

script

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

scriptreplay

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

setarch

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

setsid

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

setterm

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

sfdisk

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

sulogin

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

swaplabel

スワップエリアの UUID とラベルを変更します。

swapoff

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

swapon

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

switch_root

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

tailf

ログファイルの更新を監視します。 ログファイルの最終の10行が表示され、ログファイルに新たに書き込みが行われると表示更新します。

taskset

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

ul

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

umount

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

unshare

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

utmpdump

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

uuidd

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

uuidgen

新しい UUID を生成します。 生成される UUID は当然、他に生成されている UUID とは異なり、自他システムでも過去現在にわたってもユニークなものです。

wall

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

wdctl

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

whereis

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

wipefs

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

x86_64

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

zramctl

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

libblkid

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

libfdisk

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

libmount

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

libsmartcols

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

libuuid

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