fml8 チュートリアル (バージョン 7.99.1-20180910)
Prev | Chapter 7. fml4 のＭＬを fml8 形式のＭＬへ変換する | Next

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

変換するコマンド(makefml mergeml)が行なう作業を、以下で説明します。 実際、手動で行なう必要はありません。

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

まず、メールサーバに fml4 から fml8 を起動させるように変更しなくてはなりません。 途中経過はどうあれ、最終的に fml8 を起動することができれば、 fml4 の config.ph を適宜解釈するといった作業はなんとかなるという考えです。

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

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

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

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

    aliases ファイル (MTA の設定)
    include ファイル

の２つの段階を経るわけです。

そして、aliases ファイル（群）には同じＭＬの設定が重複していてはいけません。 だから /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 ファイルから該当するＭＬ部分の設定を削除
    fml8 の aliases ファイルに該当するＭＬ部分の設定を追加

が必要です。

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

Prev | Home | Next
概要: fml4 と fml8 の相違点 | Up | fml4 と fml8 の相違

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
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>.