取り敢えず 雰囲気 と いうか 概略
まあ わけが 判らないなりに 見よう 見まねで インストール した時の事を 思い出しましょう。
sendmail を インストール する場合 新しく プログラム を 入手 して 改竄 されていないか pgp で 検査後 よければ ユーザーと グループ 例えば smmsp 等を 作成 する そうして /var/spool/mqueue 等 を 追加します、という 一連の 作業は まあ できると しませう そうして ...tar.gz を 展開 します。ここまでは あんまり 問題には ならないでしょう
Build & Build install も 機械的に 行う事が 出来るのですが 問題は mc ファイルの 作成と 言う事になります。というより sendmail.cf を 作成 と いうことになるのですが
どこからか mc ファイルの 見本を 拾ってきて 適当に 作成 していくのが まあ 簡単に 作成する 手だてです、最初は 何が 何して なんとやら、 いま 一 つ 意味を 理解できなかった 例えば 以下の例のようなものを まず 見てみよう、 当然 これは ゑー部 の世界からの 頂き物です、自分で 作成 は 出来ませんし 妥当な ものと 単に 信じている おめでたい 状況です。
# sed -e /^#/d /usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/cf/sendmail.mc divert(-1) divert(0)dnl VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $') OSTYPE(linux)dnl DOMAIN(generic)dnl FEATURE(relay_hosts_only)dnl FEATURE(`no_default_msa')dnl FEATURE(`access_db',`DATABASE_MAP_TYPE -T<TMPF> /etc/mail/access')dnl FEATURE(`use_cw_file',`/etc/mail/local-host-names')dnl define(`confPRIVACY_FLAGS',`goaway')dnl MAILER(local)dnl MAILER(smtp)dnl
なに しとん? てな 状況です いつまでも いつまでも というわけには いか ないので これに ついて わかる所だけでも 見ておこうという考えで ゆきましょ う。
”sendmail.mc”の 構成を みると 簡単に 数行 書いてあるように みえるが 実際は そんな もんでは ないようです。”/etc/mail/sendmail.cf”の 行数を 数えて みると。
$ wc -l /etc/mail/sendmail.cf 1719 /etc/mail/sendmail.cf
どこから こんなに 長い ファイルが でてくるの? どうも 色々な物を取り 込んで 居るようです。そこで もう一度 ”sendmail.mc”について 眺めてみる と
”divert(-1)”やら ”divert(0)”が 目につきます
divert(-1) divert(0) dnl
の 記号が 目に つきます 色々 調べると
/usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf の README の 一部分に
この様に 記載されています。
The divert(-1) will delete the crud in the resulting output file. The copyright notice can be replaced by whatever your lawyers require; our lawyers require the one that is included in these files. A copyleft is a copyright by another name. The divert(0) restores regular output.
”divert(-1)”から ”divert(0)”の 間の いろいろな ものは 出力には 関 係なくなる ような 感じです ”divert(-1)”で 出力を 抑制 ”divert(0)”で 再び 出力を 開始 というように なるようです。
へたら ”dnl” これも 同じファ イルに あるようです。
Sendmail uses the M4 macro processor to ``compile'' the configuration files. The most important thing to know is that M4 is stream-based, that is, it doesn't understand about lines. For this reason, in some places you may see the word ``dnl'', which stands for ``delete through newline''; essentially, it deletes all characters starting at the ``dnl'' up to and including the next newline character. In most cases sendmail uses this only to avoid lots of unnecessary blank lines in the output.
”dnl” のあとから 次の ニューライン まで 関係なしに するということの ようです まあ コメントを 入れる場合 最初の 場所に ”dnl”を おいておけば その後の 文字列は 無効に なるということのようです
まだまだ 前置きは 続くのだが 最初は このくらい、 といいながら こう言 うものの方が もう少し わかり やすいか?
http://www.faqs.org/docs/linux_network/x14661.html
18.4.2.1. Comments
Lines in the sendmail.mc file that begin with the # character are not parsed by m4, and will by default be output directly into the sendmail.cf file. This is useful if you want to comment on what your configuration is doing in both the input and output files.
To allow comments in your sendmail.mc that are not placed into the sendmail.cf, you can use the m4 divert and dnl tokens. divert(-1) will cause all output to cease. divert(0) will cause output to be restored to the default. Any output generated by lines between these will be discarded. In our example, we've used this mechanism to provide a comment that appears only in the sendmail.mc file. To achieve the same result for a single line, you can use the dnl token that means, literally, “starting at the beginning of the next line, delete all characters up to and including the next newline.” We've used this in our example, too.
These are standard m4 features, and you can obtain more information on them from its manual page.
にゃんたろう 拝!
2006年12月 7日 (木) 22:48:27 JST 作成