最終更新日:

KNOPPIX実験室


その他の実験結果報告




 

実験4-1

KNOPPIXのmanページの一覧を作る。
また、man2htmlを使ってmanページ一覧からmanページを参照できるようにする。

実験の概要

KNOPPIXにどれだけのmanページがインストールされているかを調査するため、manページの一覧を作成します。

 

以前、まだ、live linux2を使っていた頃に作ったmanページ一覧作成ツール(bashスクリプト)をKNOPPIXに移植して作成すします。

また、Live Linux2のmanページ一覧も残っているので、KNOPPIXのmanページ一覧と比較してみます。

実験結果
実験日 実験結果
2003/7/26 Live Linux2用に作ったmanページ一覧作成ツールを、KNOPPIXに移植した。システムCDROMのマウントポイントを/mnt/cdromから/KNOPPIXに変更するだけで簡単に移植できた。

驚いたのはその処理速度。Live Linux2で数時間かかっていたはずのbashスクリプトがほんの数分で完了した。インストールされているmanページの総数がLive Linux2の数分の1程度しかないことも判明したが、それだけでは説明できない。どうも、KNOPPIXにはmandbがあり、これが性能向上に一役買っているらしい。

しかし、KNOPPIXにもごくわずかながら存在するはずの日本語manページの情報が一覧に出てこない。原因は、mandbに日本語manページの情報が入っていないためらしい。その上、旧形式(テキストベース)のwhatisデータベースも作られていないため、whatisコマンドが日本語manページの情報を返却しない。manページ一覧はwhatisコマンドの出力に基づいて作成しているため、この結果として、manページ一覧に日本語manページの情報が出力されいということが判明した。

2003/7/27 whatisコマンドを使わずにmanページ一覧を作るよう、bashスクリプトを全面的に見直し、変更した。
2003/8/14 KNOPPIX_20030726-20030812版をベースにmanページ一覧を作成した。大幅に日本語manページが追加されていることを確認。メーリングリスト[knoppix:1826]で日本語manページを追加して欲しいとお願いしていただけに、採用されて非常にうれしかった。
2003/4/2 manページの中にはgzipで圧縮されていないファイルもあることが判明、manページ一覧作成スクリプトなどを修正し、そのようなmanページも正しく処理できるようにしました。

 

ダウンロード

この実験で使用したファイルを以下にアップしておきます。参考にしてください。

ファイル 説明
manindex.knoppix.tbz
20030726-20030812版)

最終更新日

KNOPPIX_20030726-20030812版をベースに作成したmanページ一覧のHTMLファイルを圧縮したものです。 一覧中でリンクを押すとman2htmlを使ってmanページを表示するようになっていますが、この機能を使うには以下のpatchManindex.tbzをインストールする必要があります。
manindex.knoppix.tbz
20030606-20030717版)

最終更新日

KNOPPIX_20030606-20030717版をベースに作成したKNOPPIXのmanページ一覧のHTMLファイルを圧縮したものです。
manindex.livelinux2.tbz

最終更新日

Live Linux2のmanページ一覧のHTMLファイルを圧縮したものです。
patchManindex.tbz

最終更新日

本実験で使用したプログラム類を圧縮したものです。以下のものが入っています。

 

Howto4-1

man2htmlとmanページ一覧をHowto3-3で説明したKNOPPIXのApache Web サーバにインストールする。

概要

上の実験で行った、manページの一覧を作成する方法を具体的に説明します。

また、このmanページ一覧と、man2htmlを使ったmanページ表示CGIをHowto3-3で説明したKNOPPIXのApache Webサーバに組み込み、Konquerorから、これを参照できるようにする方法を具体的に説明します。

なお、Howto3-3では、「KNOPPIXの設定を保存」で保存できるようにするために、ドキュメントルートやcgi-binの場所を移動する方法を説明していますが、ここでは移動しないオリジナルのままの位置にドキュメントルート(/var/aaa)やcgi-bin(/usr/lib/cgi-bin)があると仮定して説明します。

インストール方法

1.patchManindex.tbzを/tmpディレクトリにダウンロードして解凍します。

Konsoleで以下のコマンドを実行してください。(このコマンド列はKonquerorからKonsoleにコピー&貼り付けしてご利用ください。)

$
#
#
#

#

#
#

sudo  -s
mkwritable  /usr/local/bin
mkwritable  /usr/local/man
mkwritable  /usr/lib/cgi-bin
mkwritable  /var/www
cd  /
tar  jxvf  /tmp/patchManindex.tbz

2.ドキュメントルート/manディレクトリにmanページ一覧を作成します。

カレントディレクトリを適当な作業用ディレクトリに移動して「mkmanindex.sh」を実行します。実行が終わると、カレントディレクトリの下にhtmlディレクトリが作成され、そこにmanページ一覧が作成されています。このhtmlディレクトリをドキュメントルートに名前を「man」に変えて移動します。

具体的には、Konsoleで以下のコマンドを実行してください。(このコマンド列はKonquerorからKonsoleにコピー&貼り付けしてご利用ください。)

$
#
#

#
#

sudo  -s
cd  /tmp

mkmanindex.sh
rm  -rf  /var/www/man
mv  html  /var/www/man

なお、mkmanindex.shの実行には数分〜十数分かかります。

実行が終了したら、konquerorから「http://localhost/man/」にアクセスしてみましょう。以下のようなページが表示されます。


この図中の項目数は、KNOPPIX標準のmanページのほかに、私が追加インストールしたものも含んでいるので、やや大目の数値になっています。
また、場所バーに表示されているURLが説明と少し食い違っている点はご容赦ください。

このページ内の「#1 一般コマンド」のリンクを押すと、下図左のような一覧が表示され、manページ検索で検索ボタンを押すと、下図右のようなHTML版のmanページが表示されます。もちろん、下図左の一覧にあるキーワードのリンクを押しても、下図右のようなHTML版のmanページが表示されます。

 

3.ブート時に自動的にmanページ一覧が読み込まれるように設定します。

本実験室で提供しているminiroot.gzには/cdrom/KNOPPIX/linuxrc2.d/tbz.d/patch*.tbzというファイルがあると、そのファイルをブート時に解凍して読み込む機能があります。このとき、必要に応じて自動的にmkwritableも実行されます。

この機能を利用すれば、/cdrom/KNOPPIX/linuxrc2.d/tbz.dディレクトリを作り、そこにtbzファイルを置いておくだけでブート時に自動的に読み込まれるようになります。もちろん、読み込むだけなので、すぐに終わります。(mkmanindex.shを実行したときのように何分もかかることはありません。)

具体的には、Konsoleで以下のコマンドを実行してください。(このコマンド列はKonquerorからKonsoleにコピー&貼り付けしてご利用ください。)

$
#
#

#

#

sudo  -s
mkdir  -p  /cdrom/KNOPPIX/linuxrc2.d/tbz.d

mv  /tmp/patchManindex.tbz  /cdrom/KNOPPIX/linuxrc2.d/tbz.d

cd  /

tar  jcvf  /cdrom/KNOPPIX/linuxrc2.d/tbz.d/patchManindexHTML  ./var/www/man