lsof (list open files)

[ 戻る | トップページに戻る ]

概要

lsof とは...よく知らない。(^^; ntop で使うらしい。

URL

ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/ (FTP サイト)

インストール環境

Plamo Linux 1.4.4 (Kernel 2.2.10 + libc5)

必要なもの

特になし

バージョン

4.48

インストール手順

$ mkdir lsof
$ cd lsof
$ tar xvfz lsof.tar.gz
$ tar xvf lsof_4.48.tar
$ rm lsof_4.48.tar
$ cd lsof_4.48
$ ./Configure linux

質問には以下のように答える。
Do you want to take inventory (y|n) [y]?
Do you want to customize (y|n) [y]?
Enable HASSECURITY (y|n) [n]? y
Disable WARNINGSTATE? (y|n) [n]?
new_machine.h (y|n) [y]?

$ make

コンパイルは問題なく終了。最後にインストール。
$ su
# make install
(cd lib; make DEBUG="-O" CFGF="-DLINUXV=22010 -DLSOF_VSTR=\"2.2.10\"")
make[1]: Entering directory `/usr/local/src/lsof/lsof_4.48/lib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/src/lsof/lsof_4.48/lib'
Constructing version.h
cc  -DLINUXV=22010 -DLSOF_VSTR=\"2.2.10\"    -O   -c usage.c -o usage.o
cc -o lsof dfile.o dmnt.o dnode.o dproc.o dsock.o dstore.o arg.o main.o misc.o
           node.o print.o proc.o store.o usage.o -L./lib -llsof

Please write your own install rule.  Lsof should be installed
setuid to root if you wish any lsof user to be able to examine
all open files.  Your install rule actions might look something
like this:

    install -m 4xxx -o root -g  ${PROG} ${BIN}
    install -m 444 ${MAN} ${DOC}

You will have to complete the 4xxx modes, the  value,
and the skeletons for the BIN and DOC strings, given at the
beginning of this Makefile, e.g.,

    BIN= ${DESTDIR}/usr/local/etc
    DOC= ${DESTDIR}/usr/man/man8
    GRP= sys

ありゃ? 自分でインストールルールを書けってか。 しゃあない。以下のように Makefile を修正する。
DESTDIR= /usr/local              <--- 追加

BIN=    ${DESTDIR}/sbin
                  ~~~~~追加
DOC=    ${DESTDIR}/man/man8
                  ~~~~~~~~~追加
(snip)
GRP= sys
     ~~~追加
(snip)
install: all FRC
       @echo ''
       @echo 'Please write your own install rule.  Lsof should be installed'
       @echo 'setuid to root if you wish any lsof user to be able to examine'
       @echo 'all open files.  Your install rule actions might look something'
       @echo 'like this:'
       @echo ''
       @echo '    install -m 4xxx -o root -g  $${PROG} $${BIN}'
       @echo '    install -m 444 $${MAN} $${DOC}'
       @echo ''
       @echo 'You will have to complete the 4xxx modes, the  value,'
       @echo 'and the skeletons for the BIN and DOC strings, given at the'
       @echo 'beginning of this Makefile, e.g.,'
       @echo ''
       @echo '    BIN= $${DESTDIR}/usr/local/etc'
       @echo '    DOC= $${DESTDIR}/usr/man/man8'
       @echo '    GRP= sys'
       @echo ''
       install -m 4500 -o root -g ${GRP} ${PROG} ${BIN}   <--- 追加 (行頭は Tab)
       install -m 444 ${MAN} ${DOC}                       <--- 追加 (行頭は Tab)

これでインストール (make install) すれば、おしまい。

[ 戻る | トップページに戻る ]