アーミーナイフ

パッケージ探訪: util-linux

2023年7月9日
著者: 竹洞 陽一郎

はじめに

util-linuxは、Linuxのシステム管理をサポートする一連の基本的なシステムユーティリティを提供するソフトウェアパッケージです。
このパッケージには、fdisk(ディスクパーティショニングツール)、mkfs(ファイルシステム作成ツール)、losetup(ループバックデバイス設定ツール)、mount(ディスクマウントツール)、そして他にも多くの重要なツールが含まれています。

これらのツールは、日々のシステム管理タスクに不可欠で、特にコマンドラインを介してシステムを管理する際には重要です。
たとえば、新しいハードディスクをシステムに追加する、または既存のファイルシステムを調整する場合など、これらのツールを使うことになります。

util-linuxパッケージは、多くのLinuxディストリビューションにデフォルトで含まれており、ほとんどのLinuxユーザーが無意識にこれらのツールを使用しています。

util-linuxのコマンド群

util-linuxには、以下のコマンド群が含まれています。

addpart
パーティションをディスクに追加する
agetty
ターミナルラインを開き、ログインプロンプトを表示する
blkdiscard
ブロックデバイス上の全てまたは一部のセクターを破棄する
blkid
ブロックデバイスの属性(タイプ、ラベル等)を表示する
blkzone
ゾーン情報を表示または変更する
blockdev
ブロックデバイスの制御と設定を行う
cal
カレンダーを表示する
cfdisk
カーソル制御可能なディスクパーティショニングツール
chcpu
CPUの設定を変更する
chfn
ユーザーのフィンガー情報を変更する
chmem
メモリの設定を変更する
choom
プロセスのOut-Of-Memoryスコアを調整する
chrt
プロセスのリアルタイム属性を操作する
chsh
ユーザーのログインシェルを変更する
col
改ページ、空白、改行をフィルターする
colcrt
装飾文字を取り扱う
colrm
列を削除する
column
テキストファイルの列を整列する
ctrlaltdel
Ctrl-Alt-Deleteコンボの挙動を設定する
delpart
パーティションをディスクから削除する
dmesg
システムメッセージを表示または制御する
eject
リムーバブルメディアをイジェクトする
fallocate
事前にファイルスペースを割り当てる
fdformat
フロッピーまたはテープデバイスを低レベルフォーマットする
fdisk
ディスクのパーティションを表示または操作する
fincore
ファイルのページが現在メモリにロードされているかを報告する
findfs
ラベルまたはUUIDによるデバイスの特定
findmnt
現在のマウントポイントを探し、一覧表示する
flock
ファイルに対して協調的なロックを管理する
fsck
ファイルシステムの整合性チェックと修復を行う
fsck.cramfs
cramfsファイルシステムの整合性チェックを行う
fsck.minix
Minix v1/v2ファイルシステムの整合性チェックを行う
fsfreeze
ファイルシステムのフリーズやアンフリーズを行う
fstrim
使用されていないブロックをディスクから削除する
getopt
シェルスクリプトでコマンドラインオプションを解析する
hardlink
ハードリンクを探し、作成する
hexdump
ファイルの内容を16進数、8進数、2進数または文字として表示する
hwclock
ハードウェアクロックの時間をクエリ、設定する
ionice
プロセスのI/Oスケジューリングクラスと優先度を取得、設定する
ipcmk
IPC(Inter-Process Communication)リソースを作成する
ipcrm
IPC(Inter-Process Communication)リソースを削除する
ipcs
IPCリソースの状態を表示する
irqtop
IRQ/interrupt統計を表示する
isosize
ISO 9660ファイルシステムイメージのサイズを表示する
kill
プロセスにシグナルを送る
last
ログインセッションの履歴を表示する
ldattach
シリアルラインディスプリンを指定する
line
1行を読み込む(legacy)
logger
システムログへのエントリーを作成する
login
システムへのログインを管理する
look
辞書順にソートされたファイルで特定の文字列を探す
losetup
ループデバイスを設定・制御する
lsblk
全ての利用可能なブロックデバイスを表示する
lscpu
CPUアーキテクチャ情報を表示する
lsfd
開いているファイル記述子を表示する(lsofの現代的な代替)
lsipc
IPCオブジェクトの状態を表示する
lsirq
IRQによって割り込まれた回数を表示する
lslocks
現在のファイルロックを表示する
lslogins
システム上のユーザー情報を表示する
lsmem
利用可能なメモリの情報を表示する
lsns
名前空間の情報を表示する
mcookie
マジッククッキーを生成する
mesg
端末に書き込むかどうかを制御する
mkfs
ファイルシステムを作成する(legacy)
mkfs.bfs
BFS(Boot File System)を作成する
mkfs.cramfs
Cramfs(圧縮ROMファイルシステム)を作成する
mkfs.minix
Minix型のファイルシステムを作成する
mkswap
スワップエリアを設定・初期化する
more
ページ単位でテキストを表示する
mount
ファイルシステムをマウントする
mountpoint
指定したディレクトリが何かをマウントポイントであるかをチェックする
namei
パス名を解決し、各部分の情報を表示する
newgrp
新しいグループIDで新しいシェルを開始する
nologin
ログインを拒否し、ログインメッセージを表示する
nsenter
他のプロセスの名前空間に移動する
partx
ディスクパーティションのテーブルを表示・修正する
pg
テキストをページ単位で表示する(legacy)
pivot_root
新しいルートファイルシステムに切り替える
prlimit
プロセスのリソース制限を取得および設定する
raw
生のI/Oインターフェースへのバインドまたはアンバインドを行う
readprofile
プロファイリング情報を読み取る
rename
一連のファイルの名前を変更する
renice
実行中のプロセスの優先度を変更する
reset
端末を初期状態にリセットする
resizepart
パーティションのサイズを変更する
rev
行の文字列を逆順にする
rfkill
無線デバイスのパワー管理を行う
rtcwake
RTCアラームでシステムをスリープから復帰させる
runuser
特定のユーザーとしてコマンドを実行する
script
ターミナルセッションを記録する
scriptlive
シェルセッションを他の端末にライブ中継する
scriptreplay
`script`コマンドによって記録されたターミナルセッションを再生する
setarch
現在のアーキテクチャを変更する
setpriv
プライバシー設定を変更する
setsid
新しいセッションを作成する
setterm
端末の表示属性を設定する
sfdisk
ディスクパーティションテーブルを表示・変更する
su
他のユーザーとして新しいシェルを開始する
sulogin
シングルユーザーモードでログインする
swaplabel
スワップ領域のラベルを表示・変更する
swapoff
指定されたスワップ領域を無効にする
swapon
指定されたスワップ領域を有効にする
switch_root
初期ルートファイルシステムを新しいルートファイルシステムに切り替える
taskset
プロセスのCPUアフィニティを取得・設定する
tunelp
パラレルポートデバイスのチューニングを行う(非推奨)
ul
アンダーラインをシミュレートする
umount
マウントされたファイルシステムをアンマウントする
unshare
名前空間を分離する
utmpdump
utmpファイルを解析して人間が読める形式で出力する
uuidd
UUIDデーモンを操作する
uuidgen
新しいUUIDを生成する
uuidparse
UUIDを解析する
vipw
パスワードファイルを編集する
wall
すべてのユーザーにメッセージを送る
wdctl
ウォッチドッグタイマーを表示・設定する
whereis
バイナリ、ソース、マニュアルページの場所を探す
wipefs
デバイスまたはファイルシステム上のシグネチャを探し、削除する
write
別のユーザーにメッセージを送る
zramctl
ZRAMデバイスを設定・管理する

util-linuxのメンテナンス

util-linuxは、オープンソースコミュニティによって開発およびメンテナンスされています。
その具体的な開発チームは時間と共に変わることがありますが、チェコ人で、RedHatに勤めているKarel Zak氏が主要なメンテナ・開発者として、16年以上活動しています。

util-linux は Linux Kernel Organization が配布している Linux オペレーティングシステムの標準パッケージです。
util-linux-ng(ngは "次世代 "を意味します)というフォークが開発停滞時に作成されましたが、2011年1月現在ではutil-linuxに名前が戻され、このパッケージの公式バージョンとなっています。

util-linuxの公式レポジトリは、index : util-linux/util-linux.gitです。

まとめ

util-linuxパッケージに含まれるコマンドは、システム情報の取得、ファイル操作、ネットワーク操作、プロセス管理、デバイスの設定など、多岐にわたる機能を提供します。これら全てのコマンドを知り尽くしていたり、実際に利用経験がある人は少ないかもしれません。
これらのLinuxユーティリティコマンドを学ぶだけでも、Linuxの基本的な操作を理解し、管理するための知識を身に着けるのに非常に有益です。
これら「縁の下の力持ち」として活躍しているコマンド群のメンテナンスを担当している人を社員として雇用し、その維持と改善を進めているRed Hatには、私たちは、大いに感謝すべきでしょう。