mksigen(8)

Date: 1998/02/22
Source: 地球流体電脳倶楽部
Title: 保守コマンド


名前

mksigen - 電脳資源リストの生成

書式

mksigen.pl [-nvV] [-c configfile]

説明

mksigen は地球流体電脳倶楽部の資源リスト (各ディレクトリの SIGEN.htm) を生成するコマンドです。

mksigen は起動されると、まず設定ファイルを読み取ります。 詳細については「設定ファイル」の項を参照してください。

つぎに mksigen は設定ファイルの Topdir: で指定された ディレクトリから再帰的に資源の説明ファイルを探索します。 説明ファイルは資源 (ファイルやディレクトリ) の説明を書くためのファイルで、 説明される資源の名前に ".SIGEN" を付加した 名前をもちます。 説明ファイルの形式については mksigen-sigen(5) を参照してください。

再帰的探索の対象となるディレクトリは、

説明ファイルがあり、
説明ファイルの Prune: ( mksigen-sigen(5) 参照) が有効になっておらず、
ディレクトリが書き込み可能であるもの
です。

探索の対象となったディレクトリすべてに資源のリスト SIGEN.htm が生成されます。 ここでリストアップされるのは、 当該ディレクトリの中にあるすべてのファイル (SIGEN.*, *.SIGEN とサブディレクトリの中のファイルは含まれません) と 当該ディレクトリ以下にあるすべての資源 (サブディレクトリの中も含みます) です。

リストの各項目には次のような情報が記載されます:

ファイル名
SIGEN.htm のあるディレクトリからの相対パスが記載されます。 この部分は当該ファイルへのハイパーリンクとなりますが、 ファイルがディレクトリであり、再帰的探索の対象となった場合は その中の SIGEN.htm へのハイパーリンクとなります (この場合、ファイル名は太文字で表示されます)。 またファイル名に続いて、ファイルがディレクトリであれば "/" が、 シンボリックリンクであれば "@" が、 シンボリックリンクの指示先が存在しなければ "@ (symlink broken)" が、 その他面妖なものであれば "?" が付加されます。
説明ファイルの情報
Subject: Maintainer: Update: Description: Note: が表示の対象となります。

オプション

オプションは perl ライブラリの getopts.pl を用いて解析されます。 もし getopts.pl が利用できない場合の挙動は オプションが与えられない場合と等価です。

-V
mksigen.pl の RCS リビジョンを表示して終了します。
-v
動作の詳細を表示するようになります。
-c configfile
設定ファイルを configfile に変更します。
-n
各 SIGEN.htm ファイルへの書き出しを行いません。 また -v オプションが暗黙に指定されます。

設定ファイル

mksigen はすべてのパラメタを 設定ファイルから読みとります。 デフォルトでは mksigen.pl の置かれているディレクトリからみて ../lib/mksigen.conf もしくは /etc/mksigen.conf から読み取ろうとしますが、 ファイル名は -c オプションで変更可能です。

設定ファイルはインターネットの電子メールに類似した形式です。詳しくは mksigen-email(5) を参照してください。 有効なフィールド名を以下に示します。 無効なフィールドは単に無視されます。

必須のもの

Topdir:
mksigen が探索を開始するディレクトリを指示します。 プログラムがどこで起動されても問題を起こさないようにフルパスを使ってください。
TopTitle:
Topdir の名前を指示します。 普段は Topdir: と同じ文字列をあたえておいてください。 この機能は将来電脳サーバのディスク構成を一時的に変更する必要があったときに フルパスを表示させたくない場合のために用意されています。
Heading:
出力される各ページの先頭に (ページのタイトルの前に) 表示される文字列です。 この機能は「地球流体電脳倶楽部」の表示をさせるために用意されています。

あってもなくてもよいもの

BGColor: #color
バックグラウンド色を指定します。 最もブラウザへの依存度の小さい記述法は、 番号記号 (#) のあとに RGB の数値をそれぞれ16進数で2桁づつ、 あわせて6桁で指定することです。 この機能を使うと <BODY BGCOLOR="#color"> のようなタグが生成されます。 この機能は HTML 2.0 より後の拡張であり、したがってすべてのブラウザで 色がサポートされるわけではないことに注意してください。
AckText:
出力される各ページの末尾に付加されるメッセージを指定します。 AckLink が指定されている場合ふたつのコロン "::" で囲まれた部分は AckLink へのリンクに変換されます。
AckLink:
AckText: によって出力されるメッセージから張られるリンクを指定します。 この機能はこのマニュアルへの参照を すべてのページに付加できるように用意されています。
IgnorePat:
無視すべきファイル名を perl(1) の正規表現で記述します。 この機能は lost+found や *.bak などをリストアップしないために用意されています。
Indent:
SIGEN.htm の中での資源の名前の配置を指定します。 このフィールドを指定しないか perl の論理値で偽の場合(つまり空か "0" の場合)、 これらは単に <DL>...</DL> の中に列挙されます。 このフィールドを真にすると、 資源はディレクトリ構造に従って <DL>...</DL> を入れ子に使ってインデントしたように表示されます。
Summarize:
このフィールドを指定しないか perl の論理値で偽の場合、 SIGEN.htm にはそのディレクトリ以下のすべての資源が列挙されます。 このフィールドを真にすると、 資源とファイルのリストを「要約」と「詳細」に分けて 表示するようにします。 「詳細」はデフォルトで表示されるものです。 「要約」は当該ディレクトリにあるファイルまたはディレクトリだけを列挙した ものです。
SummaryText:
「要約」の題字です。デフォルトでは "summary" が使用されます。
DetailText:
「詳細」の題字です。デフォルトでは "detail" が使用されます。
ForceGid:
/etc/group にあるグループ名を指定します。 このフィールドが指定されていると、 そのグループのメンバだけが mksigen を起動できるようになります。 また、root が起動すると指定されたグループに setgid されます。 このことによって生成されるファイルは当該グループのものであることが保証され、 グループのメンバであれば誰でもファイルを読み書きできるようになります。 また、このフィールドを指定すると umask 値に 0660 のビットのどれかが立っている場合そのビットが落とされます。 egid や umask を変更する際には警告メッセージが表示されます。

ファイル

mksigen のおかれるディレクトリには以下のような構造があります:
bin/mksigen.pl
このプログラム本体です。
/etc/mksigen.conf
lib/mksigen.conf
設定ファイルです。
doc/
このドキュメントです。

参照

nkf(1), perl(1), mksigen-email(5), mksigen-sigen(5)

バグ

プログラムの置かれているディレクトリの探索は argv[0] ( perl(1) では $0) と PATH 環境変数を用いて行われます。 この判定は通常のシェルから起動された場合は問題を起こしませんが、 argv[0] を操作するようなプログラムから起動された場合には設定ファイルを 発見できなくなります。

設定ファイル・資源説明ファイルの漢字コードがどうであっても、 漢字は内部的には日本語 EUC で処理されます。 SIGEN.htm はブラウザの自動判定が失敗しにくいように シフト JIS で書き出されます。 これらの変換は nkf(1) で行われます。つまり nkf(1) がないと動作しません。

ForceGid: フィールドによるグループ ID の強制にはバグがあって、 指定グループがプライマリグループでないユーザでも mksigen を起動できてしまいます。 しかし電脳サーバでは dcstaff グループのメンバのプライマリグループは dcstaff か dcdvlop であり、 dcstaff のメンバはすべて dcdvlop に属しているので 問題は起こらないはずです。

履歴

$Id: mksigen.8,v 1.1.1.1 1999/05/31 13:03:28 toyoda Exp $
1998/02/17 豊田英司
1998/02/22 豊田英司 マニュアルの改訂
1998/05/13 豊田英司 機能増強 (summarize:, forcegid:)

HTML generated using htroff at 11 November 2018 19:38:21.