Проблема с запуском sendmail
Добрый день!
Переезжаю с centos на gentoo. Там использую sendmail, поэтому применять другой софт смысла не вижу.
Суть проблемы:
Собрал sendmail:
mail-mta/sendmail-8.14.0 USE="ssl tcpd -ipv6 -ldap -mailwrapper -mbox -nis -sasl -sockets"
пытаюсь запустить:
/etc/init.d/sendmail start
* Starting sendmail ...
и так и висит.
sendmail -v через некоторое время висения выдает следующее:
WARNING: local host name (my_hostname) is not qualified; see cf/README: WHO AM I?
Recipient names must be specified
hostname --fqdn
my_hostname
uname -a
Linux my_hostname 2.6.27-gentoo-r8 #7 SMP Thu Apr 16 09:36:35 Local time zone must be set--see zic i686 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz GenuineIntel GNU/Linux
ЗЫ:time zone я настроил и установил ntp client, но все равно см. выше.
Пробовал собирать sendmail с другими флагами, даже со всеми. Эффекта не дало.
Судя по форумам и блогам по генту, он сразу после установки должен запускаться, с дефолтными конфигами.
поиск по:
WARNING: local host name (my_hostname) is not qualified; see cf/README: WHO AM I?
Recipient names must be specified
не вразумил.
Куда копать?
- Для комментирования войдите или зарегистрируйтесь
Я использую sendmail
Уважаю и худо-бедно знаком (строго говоря, я знаю ещё одного такого товарища).
Конфиг, надо полагать, дефолтный?
Лично у меня проблем с запуском никаких не было.
Может:
# hostname -f >> /etc/mail/local-host-names
ЗЫ: В лог ничего интересного не пишет?
:wq
--
Live free or die
Я использую sendmail
Так же.
А лог не нашел. вродибы должен быть /var/log/maillog, нету его чего-то. В остальных логах ничего интересного.
И в мирном космосе покой!
.
В Gentoo пока ты не решил задачу определения (и реализации) механизма логирования все логи пишутся в
/var/log/messages
.Про объявление конкретно
maillog
'а (в предположении использованияsyslog-ng
можно почитать например здесь.Далее по твоим
USE
'ам: есть подозрение, что ты намутил что-то слишком хитрое.У меня
sendmail
собран в следующей конфигурации:Конфиг я, правда, переделал под свои потребности, но с запуском проблем не было.
:wq
--
Live free or die
Еще внимательнее настроил
Еще внимательнее настроил hostname, domainname по хендбуку.
теперь
/etc/init.d/sendmail start
* Starting sendmail ... [ !! ]
и без записей в логи, а после
sendmail -v
Recipient names must be specified
и cat messages |grep sendmail
Apr 21 18:04:01 mydomainname sendmail[5184]: n3LE3boY005184: from=root, size=0, class=0, nrcpts=0, relay=root@localhost
ЗЫ: вот щас собрал sendmail на своем ноуте он и тут "висит".
И в мирном космосе покой!
/
Даже в
messages
(илиall.log
) ничего интересного?Странно, очень странно...
А почему ты думаешь, что оно должно приводить к другому результату?
Глупый вопрос: а
/etc/mailer.conf
у тебя есть?:wq
--
Live free or die
Во всех HOWTO установка
Во всех HOWTO установка sendmail заканчивается командой /etc/init.d/sendmail restart, а дальше идет редактирование конфигов.
А у меня он висит в ответ на эту команду.
И в мирном космосе покой!
плавали, знаем. сам долго
плавали, знаем. сам долго мучался: http://gentoo.ru/node/13561
в /etc/hosts имена для 127.0.0.1 написал в несколько строк (т.е. 127.0,0.1 localhost\n127.0.0.1 localhost.localdomain), а оказалось надо
127.0.0.1 localhost.localdomain localhost. localhost
.
Ещё интереснее.
Мне почему-то всегда казалось, что прежде чем restart'овать сервис, его было бы неплохо запустить.
Хотя по идее принципиальной разницы между
start
иrestart
на данном этапе быть не должно...Т.е.
# /etc/init.d/sendmail start
И не забыть прописать автоматический запуск (
rc-update
).:wq
--
Live free or die
# /etc/conf.d/hostname # Set
# /etc/conf.d/hostname
# Set to the hostname of this machine
HOSTNAME="my_hostname"
cat /etc/conf.d/net
dns_domain_lo="my_domain"
config_eth1=( " 192.168.XX.XX netmask 255.255.252.0" )
routes_eth1=( "default gw 192.168.XX.XX" )
cat /etc/hostname
my_hostname
ЗЫ: в хендбуке в разных местах по-разному рекомендуют задавать хостнейм. Сделал и так и так.
cat /etc/hosts
127.0.0.1 localhost.my_domain localhost
127.0.0.1 my_hostname.my_domain my_hostname
Я уже и в одну строку писал, и в две...
Чего тут не так?
И в мирном космосе покой!
Разберём это направление.
Есть такая партия.
А вот эта, ЕМНИП, у меня отсутствует.
ls: невозможно получить доступ к /etc/hostname: Нет такого файла
Есть подозрение, что сие избыточно.
А вот тут похоже "не-так" и скучковались.
Unix --- это такая интересная платформа, которая не поощряет бега в светлое будущее с отрывом от корней.
У меня:
:wq
--
Live free or die
Сделал
Сделал так:
127.0.0.1 localhost
::1 localhost
MY_IP myhost
Все равно не в домене. Убрал всё лишнее в конфигах и лишний /etc/hostname
лог:
/etc/init.d/sendmail start
после минуты висения в логах:
Apr 23 17:27:08 myhost sendmail[4569]: My unqualified host name (myhost) unknown; sleeping for retry
Apr 23 17:28:08 myhost sendmail[4569]: unable to qualify my own domain name (myhost) -- using short name
И в мирном космосе покой!
///
Всё правильно.
Чему ты удивляешься?
В приведённом примере
hosts
я не вижу домена (в силу лени я конечно не то, чтобы особенно разбирался с форматом файла, но есть у меня подозрение, что вторая строка отвечает за обратную зону, которой я у тебя также не вижу).:wq
--
Live free or die
Всем спасибо. Небыло
Всем спасибо. Небыло понимания кухни с hostname и domainname. После разборок, sendmail все равно не запускался, сопровождалось это отсутствием логов.
Переписал cat /etc/init.d/sendmail
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/mail-mta/sendmail/files/sendmail,v 1.6 2007/09/26 10:46:26 lcars Exp $
depend() {
need net
use logger antivirus
provide mta
}
start() {
ebegin "Starting sendmail"
/usr/sbin/sendmail -bd -q30m -L sm-mta
eend $?
}
stop() {
ebegin "Stopping sendmail"
killall sendmail
eend $?
}
таким образом, всё заработало. Может, кому-нибудь ещё пригодится :)
ЗЫ: придумал сам, так что, наверное, есть способ красивее.
И в мирном космосе покой!