From 67eed7b2bf2b8fee6c98ffc1733ce72b4ae0607d Mon Sep 17 00:00:00 2001 From: fukachan Date: Thu, 18 Mar 2004 08:59:34 +0000 Subject: add and enable &chapter.merge.fml4to8; chapter. --- fml/doc/ja/tutorial/setup/merge.fml4to8.sgml | 182 +++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 fml/doc/ja/tutorial/setup/merge.fml4to8.sgml (limited to 'fml/doc/ja/tutorial/setup') diff --git a/fml/doc/ja/tutorial/setup/merge.fml4to8.sgml b/fml/doc/ja/tutorial/setup/merge.fml4to8.sgml new file mode 100644 index 00000000..841f1c75 --- /dev/null +++ b/fml/doc/ja/tutorial/setup/merge.fml4to8.sgml @@ -0,0 +1,182 @@ + + + + + + fml4 のMLを fml8 形式のMLへ変換する + + + +2004/03: +fml4 の $DIR ($ml_home_dirにあたるもの)、 +たとえば /var/spool/ml/elena、 +を fml8 形式の構成へ自動変換するコマンドを実装しました。 +ただ、まだ設定ファイルの翻訳機能は予備的なもので、 +順次、改良されていく予定です。 + + + + + + 概要: fml4 から fml8 へ + + + +要するに fml4 から fml8 への移行ということですが、fml4 の実行ファイル +を fml8 で上書きすれば、そのまま動くようにはなっていません。 + + + +上書きしてしまうと、一斉に移行を強制することになるし、失敗した時が痛過 +ぎます。やっぱり、少しずつ移行していきたいよね?また、少しずつ移行する +場合にも、出来れば、逆戻りができたほうがいい。 + + + +そんなわけで、ML一つ一つを移行できるような仕組みにしておきたい。 +できれば、リカバリも出来ると良いです。 + + + +ちなみに、いま考えている操作手順は、こんな感じです。 + +1. fml8 をインストールする + +2. (postfix の場合) alias_maps に fml8 の aliases を追加 + + 例: + alias_maps = hash:/etc/mail/aliases + hash:/var/spool/ml/etc/aliases (fml4) + hash:/var/spool/ml/etc/mail/aliases (fml8) + + +3. fml4 の ML を fml8 へコンバートする。 + + fml $ml mergeml fml4の$DIR +たとえば + fml elena mergeml /var/spool/ml/elena + +fml8 へ移行したいMLに対して 3. を繰り返す。 + + + +aliases や include の自動変換は、makefml mergeml コマンドが頑張ります。 +また、fml4 の設定ファイルとメンバーリストを fml8 形式へ変換する作業も +頑張ります。 + + + +さすがに、難しい設定がてんこ盛りのconfig.phは無理ですが、簡単な +config.ph であれば、fml8 の config.cf へ全自動で変換できる予定です。な +お、簡単な config.ph とは、たとえば、Subjectのタグと投稿制限の設定など +の、makefml config (メニュー)で設定変更ができたレベルのものを想定して +います。 + + + + + + + + 概要: fml4 と fml8 の相違点 + + + +fml8 は fml4 を一旦忘れて、一から再設計、再コーディングされたソフトウ +エアです。そのため、fml4 と fml8 では直接の対応関係がない機能や変数が +あります。 + + + +また、対応関係があったとしても、一対一対応でないものも多いです。 + + + + + + + + 実装: ブートプロセスの変更 + + + +以下の作業ですが、実際には変換するコマンド(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部分の設定を追加 + +が必要です。 + + + + + + -- cgit v1.2.1