研究室の計算機管理者のススメ(3)ツールや言語資源の管理
ツールや言語資源の管理に挑戦しよう
少々、日があいてしまいました。 今回はツールや言語資源の管理について書きます。
ツールの管理
自然言語処理では、様々なツールを管理する必要があります。 ユーザーごとに各自の領域でコンパイルしてもらってもいいですが、各自の負担が大きくなります。
そこで、マシンにツールをインストールします。 いくつかポイントを説明します。
OSを統一して、共通ディレクトリにインストールしよう
計算機が増えてくると、それぞれのマシンにツールをインストールするのが面倒になります。 まず、aptやyumコマンドでインストール可能なものは、tmuxで複数ペインを開いてsshを叩きましょう。
最大の問題は、ソースからビルドして、インストールする種類のツールかと思います。
これをズバリ解決するのが、前回設定したNFSを用いたファイルシステムサービスの利用です。
具体的には、ツールインストール専用のディレクトリを作成します。 ここで注意ですが、OSのインストールはバージョンや設定を揃えておきましょう*1。
私の例ですと、/tools/env
ディレクトリを作成し、各計算機からマウントします。
つまり実行ファイルは/tools/env/bin
以下にあります。
このPATHを/etc/profile
ファイルに加えることで、bsh系のユーザーが各自のシェル設定ファイルを編集することなく実行できます。
Porgによるパッケージ管理
Porgの導入
ソースインストールは何をどこにインストールしたか、分からなくなりがちです。
それを解消するのが、パッケージ管理ツールの「Porg」です。 これは、ソースインストールしたものの履歴をすべて管理するため、容易にアンインストールやインストールされているツールの確認が行えます。 Qiitaのほうにも使い方を若干書いています。
porgのインストールには若干はまりどころがあります。
まずは、wgetコマンドなどを用いてporgをダウンロードします。(本記事の時点では、porg-0.10) 解凍した後に、そこに移動します。
さて、問題のハマリどころです。
GUI環境をインストールしていない場合、configureのオプションに--disable-grop
を指定する必要があります*2。
あと2つ重要なconfigureオプションが必要です。
それは--prefix
と--with-porg-logdir
です。
マウントしたディレクトリで共有したいため、そこを指定する必要があります。
私の例ですと、/tools/env
を共有ディレクトリとしたため、configureは具体的に書くと./configure --prefix=/tools/env --with-porg-logdir=/tools/env --disable-grop
となります。
あとはおなじみmake && make install
でインストールしましょう。
ちなみに&&
は直前のコマンドが正常に成功したら、後方のコマンドを実行という意味です*3。
最後に、porg自身をporgで管理させるため次のコマンドを入力します。
porg -lp porg-0.10 make install
Porgで管理
あとは簡単です。
任意のソースからインストールする際に、configure
で--prefix=**
を忘れないようにします。
依存ファイルによって、そのほかのincludedirを指定する場合もあります。
これはケースバイケースなので、なんとも言えません。
あとは、make install
の代わりにporg -lp インストールするツールの名前とバージョン make install
で完了です!
インストールしたツールの一覧は、porg -a
により以下のように確認できます。
juman-7.01 jumanpp-resource knp-4.16 kytea-0.4.7
さて、次回は何にしようかな。