Я установил postfix на свой сервер, используя это руководство http://www.postfix.org/INSTALL.html#install
В основном создаю свой собственный пакет и устанавливаю. Теперь я хочу, чтобы postfix запускался автоматически при перезагрузке сервера.
Я пробовал добавить символическую ссылку chkconfig --add postfix
но я получаю эту ошибку: error reading information on service postfix: No such file or directory
У меня postfix отлично работает на сервере, ожидая этого. Для запуска / остановки постфикса сейчас использую
sudo postfix stop
sudo postfix start
Есть идеи, как заставить его начать самостоятельно?
chkconfig --add postfix
требуется сценарий инициализации postfix внутри репозиториев сценариев инициализации, обычно /etc/init.d
.
chkconfig
и update-rc.d
(debian) просто манипулируйте скриптами в /etc/rc#.d/
, где #
уровень запуска при запуске, установленный по умолчанию /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
stop` для аргументов префиксных ссылок K).
Так работает система initsysv, но каждый дистрибутив может немного измениться.
В дистрибутив postfix не входит образец начального скрипта, но вы можете просто использовать предоставленную программу-оболочку «postfix», которая является главной управляющей программой для postfix.
Просто включите postfix start
в любом месте последовательности загрузки - rc.local часто является хорошим местом для этого.
Видеть http://www.postfix.org/PACKAGE_README.html Больше подробностей.
Меня очень интересует, зачем нужно собирать Postfix из исходников. Лишь в очень редких случаях это того стоит. Рекомендуемый способ - использовать предварительно скомпилированную версию, предоставленную вашим дистрибутивом. Зачем? Потому что вам не нужно заботиться об исправлениях безопасности. Кроме того, вы получаете удобство использования сценариев инициализации и т.п. Плюс гарантия того, что нет проблем с объединением Postfix с соответствующим программным обеспечением из вашего дистрибутива.
Если вы сейчас скажете «но скорость улучшения за счет самокомпилирования!» тогда я должен сказать "не о чем беспокоиться". «Но я должен заботиться о каждом цикле процессора!» Затем используйте такой дистрибутив, как Gentoo, со всеми положительными аспектами, указанными выше, плюс настройкой каждого винта.
Ваш постфиксный дистрибутив, вероятно, поставляется со сценарием запуска / остановки - действительно, рекомендация использовать `` постфиксный запуск '' в разделе 9 документа, который вы читаете, подразумевает, что это запускает сценарий запуска / остановки напрямую не двоичный.
Вы не упомянули, какой дистрибутив Linux вы используете. Традиционно Linux использует Макет инициализации SysV, но в последнее время все больше дистрибутивов переходят на выскочка однако, поскольку последний обычно настроен на обратную совместимость с SysV, то, вероятно, проще использовать эту модель, если вы устанавливаете свой собственный постфикс из tarball, а не с помощью диспетчера пакетов.
Если вы не можете найти сценарий инициализации в своем архиве, то в Интернете есть множество примеров, например вот этот. Просто добавьте его в каталог сценариев инициализации и создайте символические ссылки с соответствующими именами в каталогах уровней запуска, как описано в статье, указанной выше (или используйте chkconfig, если ваша система поддерживает его).