私は nmap を使ったことはありません。また、 Python-2.X も使ったことがありません。
その点に留意していただいた上で以下の「野良 PET の作り方」を読んでみてください。
私の手元には oioi さんの使っている Puppy-4.1.3 という環境はありません。
現在テストが進んでいる lupu-528JPRC で実験しました。
開発環境である lupu_devx_528JP08.sfs も入れてあります
試しに nmap-6.01 というものをダウンロードしてきました。これが最新ということですので。
とりあえず何も考えずにビルド。
nmap コマンドは通りますが、zenmap をコンソールから起動しようとしてもエラーが出ます。
どうやら python スクリプトである zenmap の実行に必要なライブラリが無いらしい。
大手の Linux ディストリでは初めから入っていますが、Puppy Linux では Python は嫌われ者の言語のようで、開発環境を入れないとインストールされません。もちろん後付けで入れるライブラリ群など入っていないし、python がらみのモジュールをコンパイルする際に要求されるヘッダファイルも(そのままでは)入っていません。
zenmap さんがおっしゃるには「gtk を入れろ」ということですので、面倒くさい作業が始まります。
pygtk というライブラリをビルドするのに必要なものがわさわさと…。
- pixman-0.26.0 (cairo を入れるのに必要)
- cairo-1.10.2
- python2.6-dev_2.6.5-1ubuntu6_i386.deb
(python のヘッダーが pycairo と pygtk で要求される)
- pycairo-1.8.8 (py2cairo-1.10.0 はエラーが出た)
- pygobject-2.21.3 (pygtk-2.24.0 であれば最低このバージョン以上でないと)
- pygtk-2.12.1 (チキンなので余裕を持って古いバージョンをビルド)
…上のリストを逆から読んでください。どれをインストールすればいいのか、エラーの文面を読んでそのつど遡って特定していったわけです。
devx 開発環境で入る python-2.6 は /usr/lib/python2.6 に入っていますので、 各ビルドでは --prefix=/usr としておきました。
依存ライブラリを PET にして、念のため先ほどの nmap をアンインストール。
PET の作り方は、このフォーラムの「初心者のヘルプ」や「FAQ」などの中にあると思います。
また、
Puppy 日本語版のページにも基本的な解説があります(ただし、現在
一時的につながりません)。
もう一度 nmap をビルド。「./configure --help」の出力を熟読してオプションを指定してください。ソースからのインストールガイドが
nmap の本家にあります。全てではありませんが、各種オプションの説明もあります。
dir2pet の際に幾つかのファイルが PET 用のディレクトリに入らないままになりますので、手動でコピーします。
例えば、 site-packages の中身や /usr/share/zenmap など。他にもあります。差分をとるスクリプトか、目 diff でどうにかしてください。
全てインストールし終えたら、端末から
コード: 全て選択
# export PYTHONPATH=/usr/lib/python2.6/site-packages/gtk-2.0:/usr/lib/python2.6/site-packages
# zenmap
とすることで python のモジュール検索パスを設定した上で zenmap を起動すると、次の画像のように起動してくれます。
lupu528JP_zenmap.jpg
なお、私は使い方を知りませんので、起動を確認したのみです。
--script オプションを使った画像も貼っておきます。
lupu528JP_nse.jpg
随分と気にされているようでしたが、スクリプトエンジンの最新版というのは lua のことなのでしょうか?
nmap-6.01 に同梱されている lua は 5.1.3 です。
現時点での最新は 5.2.1 でしたっけ?
これまた使ったことがありませんのでフォローできませんが、最新が良いということでしたら上記の手順の途中で入れるといいですよ。
ただ、もっと簡単にインストールする方法があるのだと思います。実際、lupu-528JP には pixman や cairo は入っているみたいですし(PET インストール時に警告が出ました)。
python の easy_install でもいいのかも(この手のものはあまり好みではありませんが)。
以上、強引ですが正面突破してみました。
「とりあえず動けば OK」という精神で作成した PET は、他の人に提供できるようなスマートさを持っていないことがほとんどです。自作野良 PET を他人に提供しない(できない)大きな理由の1つです。ましてやこのような依存関係に縛られたソフトとなれば…色々と面倒なわけです。
ともあれ、私のように各ソフトについて無知でも、ググればどうにかなります(
面倒ですけど)。
こういう難しそうなソフトを使おうという oioi さんなら尚更です。ぜひビルドしてみてください。
今からいじり始めれば、夏休みを迎える頃には Puppy に相当慣れることができると思います。
では、頑張って♪
