まず 展開して 一応インストール の終わっている 状態ではあるが ファイル の 構成を 見てみよう
# pwd /usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf # ls README domain/ hack/ mailer/ sendmail.schema siteconfig/ cf/ feature/ m4/ ostype/ sh/
このディレクトリ は たまたま 此処に 展開 したというだけであって 決め られた 場所というのでは ありません 素人の 私に とっては 何処だったかいな ということで 忘れても 良いように 備忘録として 記載しているだけです、当然 ユーザーの 領域で 展開しても 何も 問題には ならないでしょう。
最初の時は 迷わず ”cf”ディレクトリに 入って 処理する事でしたが、今 回は 他の ディレクトリも 覗いて みよう
といいながら 最初は ”cf/”ディレクトリ を 覗く
# cd cf
# pwd
/usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/cf
# ls
Build* generic-hpux9.mc mail.cs.mc
Makefile generic-linux.cf mail.eecs.mc
README generic-linux.mc mailspool.cs.mc
chez.cs.mc generic-mpeix.cf python.cs.mc
clientproto.mc generic-mpeix.mc s2k-osf1.mc
cs-hpux10.mc generic-nextstep3.3.cf s2k-ultrix4.mc
cs-hpux9.mc generic-nextstep3.3.mc sendmail.cf
cs-osf1.mc generic-osf1.cf sendmail.mc
cs-solaris2.mc generic-osf1.mc submit.cf
cs-sunos4.1.mc generic-solaris.cf submit.mc
cs-ultrix4.mc generic-solaris.mc tcpproto.mc
cyrusproto.mc generic-sunos4.1.cf ucbarpa.mc
generic-bsd4.4.cf generic-sunos4.1.mc ucbvax.mc
generic-bsd4.4.mc generic-ultrix4.cf uucpproto.mc
generic-hpux10.cf generic-ultrix4.mc vangogh.cs.mc
generic-hpux10.mc huginn.cs.mc
generic-hpux9.cf knecht.mc
一度 インストール 設定済みのため ”sendmail.mc”や ”sendmail.cf”が 既に 存在 していますが それは 御愛嬌ということで 目的は ”generic-linux.mc”という物です 但し linux という ことなので 当然 OS というか 別の システム というか linux でない場合は 他 の物が 目的に なるでしょう。
次は ”domain/”ディレクトリ です。
# cd ../domain/
# pwd
/usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/domain
# ls
Berkeley.EDU.m4 EECS.Berkeley.EDU.m4 berkeley-only.m4
CS.Berkeley.EDU.m4 S2K.Berkeley.EDU.m4 generic.m4
ここも沢山沢山 ありますが 今回の 場合は”generic.m4”ということです。
次は ”feature/”ディレクトリ です。
# cd ../feature/ # pwd /mnt/usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/feature # ls accept_unqualified_senders.m4 masquerade_envelope.m4 accept_unresolvable_domains.m4 msp.m4 access_db.m4 mtamark.m4 allmasquerade.m4 no_default_msa.m4 always_add_domain.m4 nocanonify.m4 authinfo.m4 notsticky.m4 bestmx_is_local.m4 nouucp.m4 bitdomain.m4 nullclient.m4 blacklist_recipients.m4 preserve_local_plus_detail.m4 compat_check.m4 preserve_luser_host.m4 conncontrol.m4 promiscuous_relay.m4 delay_checks.m4 queuegroup.m4 dnsbl.m4 ratecontrol.m4 domaintable.m4 redirect.m4 enhdnsbl.m4 relay_based_on_MX.m4 generics_entire_domain.m4 relay_entire_domain.m4 genericstable.m4 relay_hosts_only.m4 greet_pause.m4 relay_local_from.m4 ldap_routing.m4 relay_mail_from.m4 limited_masquerade.m4 smrsh.m4 local_lmtp.m4 stickyhost.m4 local_no_masquerade.m4 use_client_ptr.m4 local_procmail.m4 use_ct_file.m4 lookupdotdomain.m4 use_cw_file.m4 loose_relay_check.m4 uucpdomain.m4 mailertable.m4 virtuser_entire_domain.m4 masquerade_entire_domain.m4 virtusertable.m4
ここに ついても 多くの ものが ありますが 取り敢えず 4個程 関連する物 が あるということです。 本当は もっと 厳密に 検討すべきなのだろうが 正直 いって わからないのです。
”hack/ ”、”m4/”、”sh/”、”siteconfig/”については 取り敢えず 置い ておきましょう 特に ”m4/”は 大本中の 大本の 感じであるので 又後で とい うことで 次は ”mailer/ ” に 行きましょう次は ”mailer/”ディレクトリ です。
# cd ../mailer/ # pwd /usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/mailer # ls cyrus.m4 local.m4 pop.m4 smtp.m4 cyrusv2.m4 mail11.m4 procmail.m4 usenet.m4 fax.m4 phquery.m4 qpage.m4 uucp.m4
取り敢えず2個位とします
次は ”ostype/”ディレクトリ です。
# cd ../ostype/
# pwd
/usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/ostype
# ls
a-ux.m4 dragonfly.m4 maxion.m4 solaris2.ml.m4
aix3.m4 dynix3.2.m4 mklinux.m4 solaris2.pre5.m4
aix4.m4 freebsd4.m4 mpeix.m4 solaris8.m4
aix5.m4 freebsd5.m4 nextstep.m4 sunos3.5.m4
altos.m4 freebsd6.m4 openbsd.m4 sunos4.1.m4
amdahl-uts.m4 gnu.m4 osf1.m4 svr4.m4
bsd4.3.m4 hpux10.m4 powerux.m4 ultrix4.m4
bsd4.4.m4 hpux11.m4 ptx2.m4 unicos.m4
bsdi.m4 hpux9.m4 qnx.m4 unicosmk.m4
bsdi1.0.m4 irix4.m4 riscos4.5.m4 unicosmp.m4
bsdi2.0.m4 irix5.m4 sco-uw-2.1.m4 unixware7.m4
darwin.m4 irix6.m4 sco3.2.m4 unknown.m4
dgux.m4 isc4.1.m4 sinix.m4 uxpds.m4
domainos.m4 linux.m4 solaris2.m4
ほたら ”linux.m4”ですへ
最後に ”m4/”を 覗いてみましょう
# cd ../m4/ # pwd /usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/m4 # ls cf.m4 cfhead.m4 proto.m4 version.m4
まあ この位 あるということです、これから 再度 ”sendmail.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
どうも mc 処理 というのは 色々 親が子を子が孫を というように 呼び込むようである また それに 対して 付加機能として sendmail.mc を 利用するということのよう である、過去に インストール というか Build というか した時の log を 見て みると
# sh Build sendmail.cf Using M4=/usr/bin/m4 rm -f sendmail.cf /usr/bin/m4 ../m4/cf.m4 sendmail.mc > sendmail.cf || ( rm -f sendmail.cf && exit 1 ) chmod 444 sendmail.cf
”../m4/cf.m4”と ”sendmail.mc” つまり
../m4/cf.m4 sendmail.mc
の 両方が 使用されているし”cf.m4”の 一部分には”cfhead.m4”を” include” するように なっている
# cat cf.m4 ...... # This file is included so that multiple includes of cf.m4 wil work .... divert(0)dnl ifdef(`OSTYPE', `dnl', `include(_CF_DIR_`'m4/cfhead.m4)dnl VERSIONID(`$Id: cf.m4,v 8.32 1999/02/07 07:26:14 gshapiro Exp ')')
ぶちゃけた ことを 言えば 主に cf.m4 で コントロール するが 残りの 部 分は ”sendmail.mc” で コントロール しなさいよ、というようであり 又” cf.m4”は 又別のものを 呼び込むようである 間違ってるかも しれないが? 勝手に そういうものと 考えて置きましょう。
にゃんたろう 拝!
2006年12月 7日 (木) 23:02:27 JST 作成