Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Sendmail第二章 获取Sendmail v8

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

2.获取sendmail v8

  请采用sendmail v8以上版本,本教程将详解这个版本的sendmail。如果你已经使用了sendmail v8以上版本,你可以跳过本章。否则,你必须先获取然后再编译sendmail v8。在本章中我们将告诉你如何做。在此不打算讲解安装的所有方面。你所需要的仅是一个通用的可执行的sendmail二进制程序。

2.1取得源文件

  sendmail v8的官方站点提供了一个匿名FTP站点:

  ftp://ftp.sendmail.org/ucb/sendmail/

  这里的分发版本有两个tar文件,一个以compress压缩,另一个以gzip压缩:


sendmail.*.tar.Z  用compress压缩的源代码包 
sendmail.*.tar.gz用gzip压缩的源代码包 

  上面文件名中的“*”,一般是用于区分不同的版本,例如:8.x.y,x代表主版本号,y代表次版本号。从两个文件中选择一个文件下载,因为它们解压后实际是一样的。.gz文件相对来说更小,下载时更快。

  当你取得了源代码包后,你还需要解开它。假定当前版本是8.8.4,你使用以下两个命令中的一个解开:


zcat  sendmail.8.8.4.tar.Z | tar xf – 
gzcat  sendmail.8.8.4.tar.gz | tar xf – 

  一旦解压成功,你会在当前目录下发现一个新的子目录。这个子目录的名字是上面文件名去掉.tar.Z或.tar.gz,例如:


% ls 
sendmail.8.8.4.tar.gzsendmail-8.8.4 

  在sendmail-8.8.4目录中包括sendmail的源程序和文档。进入这个子目录,你可以看到:


% cd sendmail-8.8.4 
% ls 
FAQ  RELEASE_NOTES   mail.local   rmail 
KNOWNBUG  cf  mailstats   smrsh 
Makefile   contrib  makemap   src 
READ_ME   docpraliases   test 

2.2阅读文档

  阅读sendmail自带的文档。以下是重要的介绍文档:

  READ_ME 一个介绍如何编译的说明

  RELEASE_NOTESsendmail发展的历史

  FAQ 一个简要的常见问题说明

  doc/op/op.ps 一个PostScript格式的操作手册

  文件READ_ME包括一些关于所有版本都有的信息。它描述手册页的格式,说明哪个RFC是重要的,提示您在构建时将可能遇到的问题。

  文件RELEASE_NOTES描述sendmail的历史和一些细小的细节。在这个文件中的第一部分列出关于sendmail过去的一些重要新闻。新的功能会在这个文件中展望,修复BUG的记录也会在此出现。

  文件FAQ是新闻组comp.mail.sendmail的一份拷贝。许多人已经在你之前问了许许多多的问题。这个文档尝试预先解答一些您可能遇到的问题。

  文件doc/op/op.ps是Eric Allman撰写的《SENDMAIL安装使用指南》。是最权威的有关sendmail的文档。它比较深奥,不太适合初学者学习,但值得熟练者研读。不同于以上文件,这个文档是PostScript格式的。

2.3 目录src中有什么

  当我们讲述构建sendmail时,我们将参考src目录下的源程序目录。你在列目录时,你可以发现这个目录:


% cd sendmail-8.8.4 
% ls 
FAQ  RELEASE_NOTES   mail.local   rmail 
KNOWNBUG  cf  mailstats   smrsh 
Makefile   contrib  makemap   src ?就是这个 
READ_ME   docpraliases   test 

  进入src目录,你可以看到以下内容:


% cd src 
% ls 
Makefile   collect.c mailq.0   pathnames.h stats.c 
Makefiles   conf.cmailq.1   queue.c  sysexits.c 
READ_ME   conf.hmailstats.h   readcf.c sysexits.h 
TRACEFLAGS   convtime.c   main.crecipient.c   trace.c 
alias.cdaemon.c   makesendmailsavemail.c   udb.c 
aliasesdeliver.c   map.csendmail.0   useful.h 
aliases.0 domain.c   mci.c sendmail.8   usersmtp.c 
aliases.5 envelope.c   mime.c   sendmail.h   util.c 
arpadate.c   err.c  newaliases.0 sendmail.hf   version.c 
cdefs.h   headers.c   newaliases.1 srvsrsmtp.c 
clock.c   macro.c parseaddr.c   stab.c 

  所有以.0结束的文件都是预格式化的手册页。所有以.1、.5和.8结束的文件都是未格式化的。格式化它们的方法在当前目录的READ_ME中描述。

  所有以.c和.h结束的文件都是实际的源代码。文件makesendmail是一个简单的构建Shell脚本程序,在READ_ME文件中包含了构建的信息。你可以阅读一下,特别注意《操作系统和快速编译》小节。

2.4 准备行动

  现在你有了发行版,并进入了src目录,你可以发现一个叫做makesendmail的脚本。几乎所有的系统,你都必须使用这个脚本来构建sendmail。你可以加上-m参数执行一下这个脚本来确认你的系统是否支持。


% ./makesendmail -m 
Configuration:os=SunOS,rel=4.1.4, rbase=4, arch=sun4, sfx= 
Will run in virgin obj.SunOS.4.1.4.sun4 using Makefile.SunOS 

  这里,makesendmail指出在SunOS 4.1.4中构建sendmail要使用名为Makefile.SunOS的Makefile。如果它无法决定使用哪一个Makefile的话,将出现提示:



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Sendmail第一章 概论   下一篇:Sendmail第三章 Sendmail扮演的角色

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章