変換するコマンド(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 から メンバーリストなどの場所を知り、 さまざまな処理を行なうといった具合でブートストラップしていきまsす。
つまり、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 ファイル間での重複 (ML名 e.g. elena の重複) は削除があってはなりません。
別の言い方をすると、
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 から起動されるようになっている)一方だけです。
Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >