Debian パッケージ courier-base

makedat

名称

makedat -- maildropのためのGDBM/DBデータベースの作成

書式

makedat {-src=textfile} {-tmp=tmpfile} {-file=gdbmfile} [-cidr]

説明

maildropではgdbm系の関数を利用して GDBM/DBファイル (単純なデータベース) へアクセスすることができます。 gdbm系の関数はキー/値ペアの高速な検索と格納を提供します。

GDBM/DBデータベースファイルの作成にはどのプログラムを利用してもかまいません。 makedatは普通のテキストファイルからGDBMあるいはDBファイルを作成するための 簡単なツールです。

maildropが GDBM と DB どちらの形式のデータベースを用いるのか、 また makedat が GDBM と DB どちらのデータベースファイルを作成するのかは システム管理者が選択します。

makedatコマンドは利用できないかもしれません。 maildropでのGDBM/DBの提供はオプションであり、 システム管理者はGDBM/DBの提供とmakedatを利用しないと決めたかもしれません。

GDBM と DB どちらがサポートされているのかは、 "maildrop -v"コマンドで表示されます。

makedattextfile引数はキー/値ペアの単純なテキストファイルです。 各行はキー値、タブ、そして値からなります。 値が指定されない時には"1"とみなされます。 例えば、次の3行の場合:

example.com

domain.com<tab>ok

foo.domain.com<tab>bad

3つのキー/値ペアが作成されます: キー"example.com"/値"1"、 "domain.com"/"ok"、 "foo.domain.com"/"bad"です。

textfileファイル中の空行、および # 文字 ではじまる行は無視されます。

textfile 引数に "-"が指定された場合は標準入力から読み取ります。

gdbmfile は作成する GDBM/DB ファイルです。 実行前に存在していた場合、その中身は置き換わります。

tmpfile は一時ファイルで、gdbmfileがあるディレクトリと同じディレクトリにしなければいけません。 makedatは GDBMファイルをtmpfileとして作成し、tmpfilegdbmfileにリネームされます。

これによりmaildropのgadmコマンドで使用中のGDBM/DBファイルの更新にロックを用いずに済みます。 なお、makedattmpfileの作成には何らロック機構を用いないので、 同じtmpfile名で同時にmakedatを使用することは禁止です。

-cidrフラグはキーがCIDR表記のネットブロック(例:"10.1.2.0/24") であることを指定します。 このフラグの使用にはPerlモジュールNet::CIDRがインストールされていなければなりません。 Net::CIDRは http://www.cpan.orgからダウンロードできます。

バグ

maildropのデータベース関数がgdbm系関数と呼ばれるのには歴史的な理由があります。 最初の実装がGDBMだけだったからです。 GDBMの替わりにDBも扱えるようになったのは後になってからです。

makedat blacklist /etc/mail/blacklist.tmp /etc/mail/blacklist.dat

blacklistを読み込み、 /etc/mail/blacklist.tmpを一時ファイルとして利用して、 /etc/mail/blacklist.datファイルを作成します。

関連項目

maildrop(1), maildropgdbm(5).