パッケージ探訪: 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には、私たちは、大いに感謝すべきでしょう。