intopをコンパイル

Back

前フリ
 現行ntop付属品のintopが一応まともに動くようになったのでntop1.1から乗り換え。本家sourceforgeページにOS Xバイナリがあるのだが、たぶんintopは同梱されていないと思うので自前でコンパイル。


 ドキュメントによればintopのコンパイルにncursesが必要らしいのだが、Jaguarには最初から入ってるので問題なし。10.1.xの場合はここのncurses OS X portを入れればおっけ。
 さらにntopのコンパイル自体にgdbmが必要なようなので、事前にインストール。

 で、ソースを展開して最適化。

% cd ntop-2.2/ntop
% ./configure --enable-intop --without-gdchart


 次に、intop/makefileを修正する。DEFSとLIBREADLINEの行を以下のように変更。

DEFS = -DHAVE_CONFIG_H -DHAVE_NCURSES_H
LIBREADLINE =


 で、makeする。

% make


 もしも途中でエラー(file has existうんぬん)を出して止まったときは、

% rm plugins/*.so


 として、またmake。

% cd intop
# make install
# cp ../.libs/libntop-2.2.dylib /usr/local/lib/libntop-2.2.dylib


以上でコンパイル、インストール終了。


 rootで起動させてみる。

# intop -i en0

 intop内部のコマンドプロンプトになるので

intop@en0> top

 と入力すると、



 こういう感じで表示してくれる。
セキュリティ物としても役立つし、デスクトップアクセサリ?にもなるのでお勧めであーる。

 ちなみに、intop/top.cのソースの中の

int rr = 2; /* refresh rate in seconds */


 この部分でリフレッシュレートが変更できるざます。

 さらにちなんで、デフォルトのままだとDBファイルをカレントディレクトリに保存する設定になっている。なんでかはわからないが、とりあえず散らかって仕方がないのでntopと同じ場所(/usr/local/var/ntop)に保存するようにソースをちょこっといじる。intop/init.cの

initGdbm ("."); /* create DB files under the current directory */

の部分を

initGdbm ("/usr/local/var/ntop"); /* create DB files under the current directory */

とすれば、オッケー。



2003 9/25 updated / C's gallery OS X Tips