6.23. E2fsprogs-1.42

E2fsprogs パッケージは ext2 ファイルシステムを扱うユーティリティを提供します。これは同時に ext3ext4 ジャーナリングファイルシステムもサポートします。

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

6.23.1. E2fsprogs のインストール

E2fsprogs パッケージは、ソースディレクトリ内にサブディレクトリを作ってビルドすることが推奨されています。

mkdir -v build
cd build

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

PKG_CONFIG=/tools/bin/true LDFLAGS="-lblkid -luuid" \
    ../configure --prefix=/usr --with-root-prefix="" \
    --enable-elf-shlibs --disable-libblkid --disable-libuuid \
    --disable-uuidd --disable-fsck

configure オプションの意味:

PKG_CONFIG...

このオプションは、Pkg-config がビルドおよびインストールされていなくても、E2fsprogs をビルドできるようにするものです。

--with-root-prefix=""

e2fsck などのプログラムは、極めて重要なものです。 例えば /usr ディレクトリがマウントされていない時であっても、そういったプログラムは動作しなければなりません。 それらは /lib ディレクトリや /sbin ディレクトリに置かれるべきものです。 もしこのオプションの指定がなかったら、プログラムが /usr ディレクトリにインストールされてしまいます。

--enable-elf-shlibs

このオプションは、本パッケージ内のプログラムが利用する共有ライブラリを生成します。

--disable-*

このオプションは libuuid ライブラリ、 libblkid ライブラリ、 uuidd デーモン、 fsck ラッパーをいずれもビルドせずインストールしないようにします。 これらは Util-Linux パッケージによって既にインストールされています。

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

make

コンパイル結果をテストするには以下を実行します。

make check

E2fsprogs にて行われるテストの中には 256 MB のメモリ割り当てを行うものがあります。 この容量を確保できるだけの RAM がない場合は、十分なスワップ領域を確保することが推奨されています。 スワップ領域の生成と有効化については 2.3.「ファイルシステムの生成」2.4.「新しいパーティションのマウント」 を参照してください。

実行モジュール、ドキュメント、共有ライブラリをインストールします。

make install

スタティックライブラリとヘッダーファイルをインストールします。

make install-libs

スタティックライブラリへの書き込みを可能とします。 これは後にデバッグシンボルを取り除くために必要となります。

chmod -v u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a

本パッケージは gzip 圧縮された.info ファイルをインストールしますが、共通的な dir を更新しません。 そこで以下のコマンドにより gzip ファイルを解凍した上で dir ファイルを更新します。

gunzip -v /usr/share/info/libext2fs.info.gz
install-info --dir-file=/usr/share/info/dir \
             /usr/share/info/libext2fs.info

必要なら、以下のコマンドを実行して追加のドキュメントをインストールします。

makeinfo -o      doc/com_err.info ../lib/et/com_err.texinfo
install -v -m644 doc/com_err.info /usr/share/info
install-info --dir-file=/usr/share/info/dir \
             /usr/share/info/com_err.info

6.23.2. E2fsprogs の構成

インストールプログラム: badblocks, chattr, compile_et, debugfs, dumpe2fs, e2freefrag, e2fsck, e2image, e2initrd_helper, e2label, e2undo, e4defrag, filefrag, fsck.ext2, fsck.ext3, fsck.ext4, fsck.ext4dev, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.ext4dev, mklost+found, resize2fs, tune2fs
インストールライブラリ: libcom_err.{a,so}, libe2p.{a,so}, libext2fs.{a,so}, libquota.a, libss.{a,so}
インストールディレクトリ: /usr/include/e2p, /usr/include/et, /usr/include/ext2fs, /usr/include/quota, /usr/include/ss, /usr/share/et, /usr/share/ss

概略説明

badblocks

デバイス (通常はディスクパーティション) の不良ブロックを検索します。

chattr

ext2 ファイルシステム上のファイル属性を変更します。 ext2 ファイルシステムのジャーナリング版である ext3 ファイルシステムにおいても変更を行います。

compile_et

エラーテーブルコンパイラー。 これはエラーコード名とメッセージの一覧を、com_err ライブラリを利用する C ソースコードとして変換するものです。

debugfs

ファイルシステムデバッガー。 これは ext2 ファイルシステムの状態を調査し変更することができます。

dumpe2fs

指定されたデバイス上にあるファイルシステムについて、スーパーブロックの情報とブロックグループの情報を表示します。

e2freefrag

空きディスク部分のフラグメンテーションに関する情報を表示します。

e2fsck

ext2 ファイルシステムと ext3 ファイルシステムをチェックし、必要なら修復を行うことができます。

e2image

ext2 ファイルシステムの重要なデータをファイルに保存します。

e2initrd_helper

指定されたファイルシステムの FS タイプを表示します。 デバイス名やラベルを指定することもできます。

e2label

指定されたデバイス上にある ext2 ファイルシステムのラベルを表示または変更します。

e2undo

デバイス上にある ext2/ext3/ext4 ファイルシステムの undo ログを再実行します。 これは e2fsprogs プログラムが処理に失敗した際に undo を行うこともできます。

e4defrag

ext4 ファイルシステムに対するオンラインのデフラグツール。

filefrag

特定のファイルのフラグメンテーション化がどれほど進んでいるかを表示します。

fsck.ext2

デフォルトでは ext2 ファイルシステムをチェックします。 これは e2fsck へのハードリンクです。

fsck.ext3

デフォルトでは ext3 ファイルシステムをチェックします。 これは e2fsck へのハードリンクです。

fsck.ext4

デフォルトでは ext4 ファイルシステムをチェックします。 これは e2fsck へのハードリンクです。

fsck.ext4dev

デフォルトでは ext4 ファイルシステムの開発版をチェックします。 これは e2fsck へのハードリンクです。

logsave

コマンドの出力結果をログファイルに保存します。

lsattr

ext2 ファイルシステム上のファイル属性を一覧表示します。

mk_cmds

コマンド名とヘルプメッセージの一覧を、サブシステムライブラリ libss を利用する C ソースコードとして変換するものです。

mke2fs

指定されたデバイス上に ext2 ファイルシステム、または ext3 ファイルシステムを生成します。

mkfs.ext2

デフォルトでは ext2 ファイルシステムを生成します。 これは mke2fs へのハードリンクです。

mkfs.ext3

デフォルトでは ext3 ファイルシステムを生成します。 これは mke2fs へのハードリンクです。

mkfs.ext4

デフォルトでは ext4 ファイルシステムを生成します。 これは mke2fs へのハードリンクです。

mkfs.ext4dev

デフォルトでは ext4 ファイルシステム開発版を生成します。 これは mke2fs へのハードリンクです。

mklost+found

ext2 ファイルシステム上に lost+found ディレクトリを生成するために利用します。 このコマンドはそのディレクトリに対してあらかじめディスクブロックの情報を割り当てておくことで、e2fsck コマンドの負荷を軽減します。

resize2fs

ext2 ファイルシステムを拡張または縮小するために利用します。

tune2fs

ext2 ファイルシステム上にて調整可能なシステムパラメータを調整します。

libcom_err

共通的なエラー表示ルーチン。

libe2p

以下のコマンド dumpe2fschattrlsattr が利用します。

libext2fs

ユーザーレベルのプログラムが ext2 ファイルシステムを操作可能とするためのルーチンを提供します。

libquota

クォータ (quota) ファイルや ext4 スーパーブロックフィールドの生成更新を行うインターフェースを提供します。

libss

debugfs コマンドが利用します。