Desktop Linux Memo
qfile
最終更新:
gleaning
-
view
qfile コマンド
- ファイルを所有するパッケージを高速にリストアップする。
- 孤児ファイルのチェック
などができる。
ファイルを所有するパッケージの検索
qfile /usr/bin/a2ps
この結果は下記である。
app-text/a2ps (/usr/bin/a2ps)
ちなみに、ほぼ同じことが equeryコマンドでも可能である。
equery b /usr/bin/a2ps
の結果は、
[ Searching for file(s) /usr/bin/a2ps in *... ]
app-text/a2ps-4.13c-r5 (/usr/bin/a2ps)
である。
qfile と equery の違いについて
検索速度が大きく違い、qfileは普通、一秒以内で結果が帰る。一方、equery の b オプションでは10秒以上かかることも多い。もちろん、これは検索の実装方法の違いであり、どちらがいいかは一概には言えないが、通常は高速な qfile で充分である。
孤児ファイルのチェック(-o オプション)
指定したファイルが、何らかのパッケージに所属するかどうかをチェックする。たとえば、/usr/bin/a2ps というファイルについてチェックする場合、
qfile -o /usr/bin/a2ps
とする(-o は orphans の意味)。もし、/usr/bin/a2ps が何らかのパッケージに所属しているならば、出力結果はない(プロンプトが返ってくるのみ)。
一方、もしも /usr/bin/a2ps がどのパッケージにも所属していない場合には、
一方、もしも /usr/bin/a2ps がどのパッケージにも所属していない場合には、
/usr/bin/a2ps
という結果が返ってくる。
このように、qfile -o オプションを付けると、パッケージに所属していないファイルを返すことになるので、このコマンドは「どのパッケージにも所属していな孤児ファイルを検索する」ときに使うことになる。たとえば、
qfile -o /usr/lib/*.la
とすれば /usr/lib/ の libtool ファイルの中で、どのパッケージにも含まれていないファイルをリストアップしてくれる。再帰的にディレクトリを辿って調べる場合には、
qfile -o $(find /usr/lib -name *.la)
などとする。