summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fml/doc/ja/tutorial/book.sgml3
-rw-r--r--fml/doc/ja/tutorial/include/chapters.ent3
-rw-r--r--fml/doc/ja/tutorial/setup/merge.fml4to8.sgml182
3 files changed, 186 insertions, 2 deletions
diff --git a/fml/doc/ja/tutorial/book.sgml b/fml/doc/ja/tutorial/book.sgml
index 6258acb0..0c248d45 100644
--- a/fml/doc/ja/tutorial/book.sgml
+++ b/fml/doc/ja/tutorial/book.sgml
@@ -2,7 +2,7 @@
This is an sgml using DocBook dtd. Use sgmltools version 2.0.x or above
to generate various output formats.
-$FML: book.sgml,v 1.60 2003/11/29 12:51:35 fukachan Exp $
+$FML: book.sgml,v 1.61 2004/02/26 10:36:04 fukachan Exp $
-->
<!doctype book public "-//FML//DTD DocBook V3.1-Based Extension//EN" [
@@ -53,6 +53,7 @@ $FML: book.sgml,v 1.60 2003/11/29 12:51:35 fukachan Exp $
<!-- unix -->
&chapter.install.fml.unix;
&chapter.setup.newml;
+ &chapter.merge.fml4to8;
<!-- 2000/nt -->
&chapter.install.fml.nt;
diff --git a/fml/doc/ja/tutorial/include/chapters.ent b/fml/doc/ja/tutorial/include/chapters.ent
index e1d433ab..7c036451 100644
--- a/fml/doc/ja/tutorial/include/chapters.ent
+++ b/fml/doc/ja/tutorial/include/chapters.ent
@@ -1,5 +1,5 @@
<!--
- $FML: chapters.ent,v 1.81 2003/12/21 14:23:10 fukachan Exp $
+ $FML: chapters.ent,v 1.82 2004/02/26 10:36:05 fukachan Exp $
-->
<!entity versin "1.1">
@@ -47,6 +47,7 @@
<!entity sect.setup.newml.recipes SYSTEM "setup/newml.recipes.sgml">
<!entity chapter.setup.cgi SYSTEM "setup/cgi.sgml">
<!entity chapter.setup.test SYSTEM "setup/test.sgml">
+<!entity chapter.merge.fml4to8 SYSTEM "setup/merge.fml4to8.sgml">
<!-- パート II: 使い方の例とカスタマイズについて -->
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 @@
+<!--
+ $FML$
+-->
+
+
+<chapter id="mergeml.fml4to8">
+ <title>
+ fml4 のMLを fml8 形式のMLへ変換する
+ </title>
+
+<para>
+2004/03:
+fml4 の $DIR ($ml_home_dirにあたるもの)、
+たとえば /var/spool/ml/elena、
+を fml8 形式の構成へ自動変換するコマンドを実装しました。
+ただ、まだ設定ファイルの翻訳機能は予備的なもので、
+順次、改良されていく予定です。
+</para>
+
+
+<sect1 id="mergeml.fml4to8.overview">
+ <title>
+ 概要: fml4 から fml8 へ
+ </title>
+
+<para>
+要するに fml4 から fml8 への移行ということですが、fml4 の実行ファイル
+を fml8 で上書きすれば、そのまま動くようにはなっていません。
+</para>
+
+<para>
+上書きしてしまうと、一斉に移行を強制することになるし、失敗した時が痛過
+ぎます。やっぱり、少しずつ移行していきたいよね?また、少しずつ移行する
+場合にも、出来れば、逆戻りができたほうがいい。
+</para>
+
+<para>
+そんなわけで、ML一つ一つを移行できるような仕組みにしておきたい。
+できれば、リカバリも出来ると良いです。
+</para>
+
+<para>
+ちなみに、いま考えている操作手順は、こんな感じです。
+<screen>
+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
+</screen>
+fml8 へ移行したいMLに対して 3. を繰り返す。
+</para>
+
+<para>
+aliases や include の自動変換は、makefml mergeml コマンドが頑張ります。
+また、fml4 の設定ファイルとメンバーリストを fml8 形式へ変換する作業も
+頑張ります。
+</para>
+
+<para>
+さすがに、難しい設定がてんこ盛りのconfig.phは無理ですが、簡単な
+config.ph であれば、fml8 の config.cf へ全自動で変換できる予定です。な
+お、簡単な config.ph とは、たとえば、Subjectのタグと投稿制限の設定など
+の、makefml config (メニュー)で設定変更ができたレベルのものを想定して
+います。
+</para>
+
+</sect1>
+
+
+<sect1 id="mergeml.fml4to8.config.diff">
+ <title>
+ 概要: fml4 と fml8 の相違点
+ </title>
+
+<para>
+fml8 は fml4 を一旦忘れて、一から再設計、再コーディングされたソフトウ
+エアです。そのため、fml4 と fml8 では直接の対応関係がない機能や変数が
+あります。
+</para>
+
+<para>
+また、対応関係があったとしても、一対一対応でないものも多いです。
+</para>
+
+</sect1>
+
+
+<sect1 id="mergeml.fml4to8.boot">
+ <title>
+ 実装: ブートプロセスの変更
+ </title>
+
+<para>
+以下の作業ですが、実際には変換するコマンド(makefml mergeml)が自動で頑
+張ります。
+</para>
+
+<para>
+しかしながら、行なっている作業について理解してもらうために、
+aliasesとincludeファイルについての説明をしておきます。
+</para>
+
+<para>
+まず、メールサーバに fml4 から fml8 を起動させるように変更しなくてはな
+りません。最終的に fml8 が起動されることができれば、fml4 の config.ph
+を適宜解釈するとかする部分は、なんとかなるとはおもいます。
+</para>
+
+<para>
+もうすこし詳細な解説をしましょう。
+<link linkend="overview.ml">
+MLドライバの仕組み
+</link>
+を思い出してください。
+</para>
+
+<para>
+たとえば Postfix を使う場合、Postfix は aliases ファイルから include
+ファイルを読むべきことを知り、include ファイルから fml8 の起動の仕方を
+知ります。最終的に Postfix は /usr/local/libexec/fml/distribute コマン
+ドを実行します。
+</para>
+
+<para>
+起動された distribute コマンドは、config.cfを読み込み、config.cfからメ
+ンバーリストなどの場所を知り、さまざまな処理を行なうといった具合です。
+</para>
+
+<para>
+つまり、fml8 が起動されるまでに
+<screen>
+aliases ファイル (MTA の設定)
+include ファイル
+</screen>
+の2つの段階を経るわけです。
+</para>
+
+<para>
+そして、aliases ファイル(群)には同じMLの設定が重複していてはいけま
+せん。だから /etc/postfix/main.cf には次のように fml4 と fml8 の設定両
+方を書いてもよいのですが、
+<screen>
+alias_maps = hash:/etc/mail/aliases
+ hash:/var/spool/ml/etc/aliases (fml4)
+ hash:/var/spool/ml/etc/mail/aliases (fml8)
+</screen>
+fml4 と fml8 の aliases ファイル間での重複はきちんと削除していかないと
+いけません。
+</para>
+
+<para>
+別の言い方をすると、
+<screen>
+MTA -> fml4のaliases -> fml4のinclude -> fml4 (fml.pl)を起動する
+</screen>
+となっている起動の順番を次のように変更するわけです。
+<screen>
+MTA -> fml8のaliases -> fml8のinclude -> fml8 を起動する
+</screen>
+そのためには
+<screen>
+fml4 の aliases ファイルから該当するML部分の設定を削除
+fml8 の aliases ファイルに該当するML部分の設定を追加
+</screen>
+が必要です。
+</para>
+
+</sect1>
+
+
+</chapter>