6.54. Findutils-4.6.0

Findutils パッケージはファイル検索を行うプログラムを提供します。 このプログラムはディレクトリツリーを再帰的に検索したり、データベースの生成、保守、検索を行います。 (データベースによる検索は再帰的検索に比べて処理速度は速いものですが、データベースが最新のものに更新されていない場合は信頼できない結果となります。)

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

6.54.1. Findutils のインストール

特定のマシンにおいてテストが無限ループに陥るため省略します。

sed -i 's/test-lock..EXEEXT.//' tests/Makefile.in

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

./configure --prefix=/usr --localstatedir=/var/lib/locate

configure オプションの意味:

--localstatedir

locate データベースの場所を FHS コンプライアンスが定めているディレクトリ /var/lib/locate に変更します。

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

make

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

make check

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

make install

BLFS 以降のパッケージの中には find プログラムが /bin ディレクトリに存在していることが必要なものもあります。 このためそのプログラムを移動させます。

mv -v /usr/bin/find /bin
sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb

6.54.2. Findutils の構成

インストールプログラム: code, find, locate, oldfind, updatedb, xargs

概略説明

code

かつて利用されていたコマンドで locate データベースを生成します。 これは frcode の前身です。

find

指定された条件に合致するファイルを、指定されたディレクトリツリー内から検索します。

locate

ファイル名データベースを検索して、指定された文字列を含むもの、または検索パターンに合致するものを表示します。

oldfind

find の古い版であり、find とは異なるアルゴリズムを用いています。

updatedb

locate データベースを更新します。 これはすべてのファイルシステムを検索します。 (検索非対象とする設定がない限りは、マウントされているすべてのファイルシステムを対象とします。) そして検索されたファイル名をデータベースに追加します。

xargs

指定されたコマンドに対してファイル名の一覧を受け渡して実行します。