|
ファイルシステムのメンテナンスは管理者にとって煩わしい仕事だ。月日が経つと、同じファイルの複数のコピー、もはや存在しないファイルをポイントするソフトリンク、無意味に残留している一時ファイル、デバッグ情報がまだ取り去られていないインストール済みのバイナリなどが増えてくる。fslintは、こうした厄介なファイルを見つけてファイルシステムを整理するのに便利である。
fslintのパッケージは、Ubuntu HardyのUniverseコンポーネントに含まれており、Fedora 9のリポジトリでも入手できる。現在のところopenSUSE用のパッケージは存在しない。私は32ビットのFedora 9マシンでバージョン2.28のfslintを用いてソースからこれをビルドした。fslintはPythonで書かれており、GTK+2とlibglade2も利用するので、それらと、それらに対応するPythonバインディングを最初にインストールしておく必要がある。
fslintは、解凍されたtarアーカイブから直接実行できる(以下のリストの前半を参照)。また、手作業でシステムにインストールすることもできる(リストの後半を参照)。fslint-guiコマンドを実行すると、GTK+2グラフィカルユーザーインタフェース(GUI)が立ち上がる。その他のコマンドとしてfslintがあり、さらに接頭辞findで始まる一連のコマンド(重複を見つけるfindupなど)がある。これらはいずれもコマンドラインツールである。
$ tar xzf /home/ben/Download/fslint-2.28.tar.gz $ cd ./fslint* $ ./fslint-gui $ su -l # prefix=/usr/local # sharedir=$prefix/share/fslint # mkdir -p $sharedir # chmod o+rx $sharedir # cp -av doc $sharedir # chown root.root $sharedir # chown -R root.root $sharedir # chmod o=rx $sharedir # chmod o=r $sharedir # install -m 444 fslint.desktop $prefix/applications # install -pm 644 fslint.glade fslint_icon.png $sharedir # ln -s $sharedir/fslint_icon.png $prefix/share/pixmaps/fslint.png # install -m 444 man/fslint* $prefix/man/man1 # make -C po install # install -m 755 fslint-gui $prefix/bin # cp -av fslint $sharedir # chmod -R 555 $sharedir/fslint # cd $prefix/bin # perl -pi -e 's|^liblocation=.*$|liblocation="/usr/local/share/fslint" |' fslint-gui # perl -pi -e 's|^locale_base=.*$|locale_base=None |' fslint-gui
上記の一連のインストールコマンドの前半で/usr/local/share/fslintに新しいディレクトリが作成され、ドキュメントファイルがインストールされる。その後、デスクトップ、glade、アイコン、manページがインストールされ、さらにmakeを使用してローカライズ用のファイルがインストールされる。最後の2つのperlコマンドはPythonコードfslint-guiにハードコードされたパスを変更するもので、これによりgladeファイルやその他のコマンドが正しいパスで探索されるようになる。fslint-guiはデフォルトでは、実行ディレクトリでgladeファイルを探す。このデフォルトの設定により解凍後のtarアーカイブで直接fslint-guiを実行できるわけだが、gladeファイルはコマンドと同じディレクトリに置かないのが普通である。
