LANDISK に namazu を入れる

[戻る]

はじめに

我が家の LANDISK (HDL-160U) は web 設定を止めて, 独自のページ (主にブックマーク) を 置いています. これで namazu 検索が出来るようにしてみました.

namazu を入れる方法としては以下の二種類があります.

  1. 別の PC で Index を作り, LANDISK では検索のみ行うようにする.
  2. LANDISK 上で Index も作る.
これら二者の方法について個別に調査しました.

Index は別の PC で作る方法

Index を別の PC で作り, LANDISK 上では検索のみを行う方法ですが, 一番簡単な方法は LANDISK にはもともと perl が入っているので, pnamazu を 使う方法があるでしょう. pnamazu だと遅いとか改造が面倒という場合は, ソースを拾ってきてメイクするわけですが, 以下のような手順で出来るようです (namazu-2.0.12 の場合).

  1. ここを参考にセルフコンパイル環境を構築する.
  2. Namazuのソースを持ってきて展開する.
  3. "src/File-MMagic" に行って, Makefile.PL を実行する.
  4. 「"ExtUtils/MakeMaker.pm"が無いなど」いろいろ文句を言われるので, 文句が 出てこなくなるまで, 適当な所から src/File-MMagic 以下にコピーする.
  5. File-MMagic のメイクMが終ったらインストールした後, src に移動し, ./configure を行った後 make を実行.
  6. セルフコンパイル環境の仮想ルートから, する. さらに /bin/lib に libnmz.so.3.3.0 を libnmz.so.3 という名でコピーする.
  7. 適当な所 (例えば /mnt/hda3/bin/namazu の下) に namazu-cgi をコピーし 実行. いろいろ文句を言われるので文句が無くなるまで適当な位置に生成ファイル をコピー. 例えば私が 2.0.12 で作った場合以下のようになりました.
     namazu
      +- bin
      |   +- .libs
      |   |   +- lt-namazu.cgi
      |   +- cgi.o
      |   +- form.o
      |   +- namazu-cgi.o
      |   +- namazu.o
      |   +- output.o
      |   +- rcfile.o
      |   +- result.o
      |   +- usage.o
      +- lib
      |   +- libnmzut.a
      +- nmz
          +- .libs
              +- libnmz.so
    
  8. WEB から覗ける位置に namazu-cgi へのシンボリックリンクを張って利用する (具体的な設定方法は ここでも参考にして下さい).
上記手順で生成したバイナリをここに置いて おきますので「最後に」をお読みになった後利用したい方は利用 ください. なお, セルフコンパイル環境を構築して無い方のために, 上記ツリーの他に ETC というディレクトリを作って, sed やら libc_nonshared.a を置いてますので, 所定の位置にコピーして下さい (これらは ここ を参考に構築したセルフコンパイル環境の中にあるものです).

Index も LANDISK で作る方法

Index も LANDISK で作ろうとするとなかなか面倒です. 手順の要約は以下のような感じです (namazu-2.0.13 の場合).

  1. 前述したセルフコンパイル環境を構築する.
  2. perl のソース (例えば perl-5.6.1.tar.gz) を入手しインストールする.
  3. nkf171.shar を入手しインストールする.
  4. kakasi のソース (例えば kakasi-2.3.4.tar.gz) を入手しインストールする.
  5. Text-Kakasi のソース (例えば Text-Kakasi-2.04.tar.gz) を入手しインストールする.
  6. namazu のソース (例えば namazu-2.0.13-1.tar.gz) を入手しインストールする.
  7. インストールされた util.pl の中の set_lang() 関数を以下のように書き換える (日本語の場合).
        $util::LANG_MSG = "C";    
        $util::LANG = "ja";
    

おそらくこれで, セルフコンパイル環境下 (仮想ルート) では namazu は動くと 思いますが, 素の環境で動かすためにはもう少し作業が必要です (と言ってもそうやったら上手く行ったというだけで, 必要かは分かりません).

結構大変なので, 上記手順で作ったバイナリを ここに置いておきます. /mnt/hda3 の下で展開して下さい. これもセルフコンパイル環境を構築されて無い方のために, ETC という ディレクトリに sed やら tcsh を置いてますので上述した手順に従い 所定の位置のコピーもしくは上書きを行ってください.

最後に

ここに記載した文章や置いたバイナリは構築後に思い出しながら書いたものです. ので, 忘れたけど何か行った手順とか, 実は必要だったけど未収録のファイルが あり, 実はうまく動かないかもしれません. また逆に結局不必要だったけど記載している手順というのもあるかもしれません. 動作確認のために素の状態に戻すというのも難儀なので行っていませんし, 何かありましたら連絡ください. と言っても, 私には質問とかに回答する義務はありませんので, そのつもりで...

また, バイナリの中には debianの パッケージから抜き出した生成物があります. だからどうだってことではありませんが, 一応謝辞ということで.

あっそれからここに置いたバイナリはこちらのパッチを当てたものです.

2004.9

追記