実装: ブートプロセスの変更

以下の作業ですが、実際には変換するコマンド(makefml mergeml)が自動で頑 張ります。

しかしながら、行なっている作業について理解してもらうために、 aliasesとincludeファイルについての説明をしておきます。

まず、メールサーバに fml4 から fml8 を起動させるように変更しなくてはな りません。最終的に fml8 が起動されることができれば、fml4 の config.ph を適宜解釈するとかする部分は、なんとかなるとはおもいます。

もうすこし詳細な解説をしましょう。 MLドライバの仕組み を思い出してください。

たとえば Postfix を使う場合、Postfix は aliases ファイルから include ファイルを読むべきことを知り、include ファイルから fml8 の起動の仕方を 知ります。最終的に Postfix は /usr/local/libexec/fml/distribute コマン ドを実行します。

起動された distribute コマンドは、config.cfを読み込み、config.cfからメ ンバーリストなどの場所を知り、さまざまな処理を行なうといった具合です。

つまり、fml8 が起動されるまでに

aliases ファイル (MTA の設定)
include ファイル
の2つの段階を経るわけです。

そして、aliases ファイル(群)には同じMLの設定が重複していてはいけま せん。だから /etc/postfix/main.cf には次のように fml4 と fml8 の設定両 方を書いてもよいのですが、

alias_maps	=	hash:/etc/mail/aliases
			hash:/var/spool/ml/etc/aliases (fml4)
			hash:/var/spool/ml/etc/mail/aliases (fml8)
fml4 と fml8 の aliases ファイル間での重複はきちんと削除していかないと いけません。

別の言い方をすると、

MTA -> fml4のaliases -> fml4のinclude -> fml4 (fml.pl)を起動する
となっている起動の順番を次のように変更するわけです。
MTA -> fml8のaliases -> fml8のinclude -> fml8 を起動する
そのためには
fml4 の aliases ファイルから該当するML部分の設定を削除
fml8 の aliases ファイルに該当するML部分の設定を追加
が必要です。

逆に aliases の重複さえなければ、 同じシステム上に fml4 と fml8 が存在しても問題ありません。 もちろん同一MLが fml4 と fml8 の双方に存在しても問題ありませんが、 実際に動くのは、 もちろんいづれか(MTA から起動されるようになっている)一方だけです。

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml-devel/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.