我使用本指南http://www.postfix.org/INSTALL.html#install在我的服务器上安装了postfix
基本上创build我自己的包和安装。 现在我想在服务器重启时自动启动postfix。
我已经尝试添加符号链接chkconfig --add postfix但我得到这个错误: error reading information on service postfix: No such file or directory
我有postfix在服务器上运行就好了。 现在开始/停止使用postfix
sudo postfix stop sudo postfix start
任何想法如何让它开始自己?
chkconfig --add postfix在init脚本库里需要一个postfix init脚本,通常是/etc/init.d 。
chkconfig和update-rc.d (debian)只是在/etc/rc#.d/操纵脚本,其中#是启动runrelevel,默认是在/etc/inittab上设置initdefault项。 我的情况是:
id:2:initdefault:
然后将调用/etc/rc2.d/上的符号链接。 这个链接的名字有一个模式[S|K]\d{1,}dstname ,例如:
$ ls -l /etc/rc2.d/ | grep postfix lrwxrwxrwx 1 root root 17 Ago 16 09:04 S22postfix -> ../init.d/postfix
S表示/etc/init.d/postfix start K表示/etc/init.d/postfix stop
22是链接执行顺序。
然后,您需要检查inittab以获取默认运行级别( initdefault ),检查/etc/rcX.d X is initdefault value), and have the link with a postfix startup script as target ( a script that support for S prefix links and停止K前缀链接args)。
这就是initsysv系统的工作原理,但是每个发行版都可以改变一点。
我很感兴趣,你为什么需要从源代码构buildPostfix。 在极less数情况下,这是值得的麻烦。 推荐的方法是使用您的发行版提供的预编译版本。 为什么? 因为您不必关心安全修复程序。 另外,你可以获得init脚本等的舒适性。 另外保证Postfix与你的发行版中的相关软件相结合没有问题。
如果现在说“但通过自编的速度提高!” 那么我不得不说“没关系”。 “但是我必须关心每个CPU周期!” 然后使用像Gentoo这样的发行版,从上面的所有积极方面加上每个螺丝的调整。
后缀分布没有提供一个示例initscript,但你可以简单地使用提供的“后缀”包装程序,这是postfix的主控程序。
只要在启动顺序的任何地方包含postfix start ,rc.local通常是一个好的select。
有关更多详细信息,请参阅http://www.postfix.org/PACKAGE_README.html 。
你的postfix发行版可能带有一个启动/停止脚本 – 事实上,在你阅读的文档的第9部分中,build议使用“postfix start”意味着这是直接运行启动/停止脚本而不是二进制。
你没有提到你正在使用的Linux发行版。 传统上,Linux使用SysV初始化布局 ,但是最近越来越多的发行版正在向新贵发展,不过由于后者通常被设置为向后兼容SysV,那么使用该模型可能会更简单,如果您要安装自己的后缀tarball而不是使用包pipe理器。
如果你在tarball中找不到init脚本,那么互联网上有很多例子,比如这个 。 只需将它添加到init脚本目录中,并在运行级目录中创build适当命名的符号链接,如上面链接的文章中所述(或者如果系统支持,则使用chkconfig)。