Я пытаюсь запустить postfix на моем сервере, но продолжаю получать следующую ошибку в моем /var/log/mail.log
:
postfix / master [5041]: fatal: bind 0.0.0.0 порт 25: адрес уже используется
Я провел некоторый поиск и нашел этот отличный ответ от Оли (относительно этого вопроса), в котором рекомендуется в основном избавить свой сервер от пакетов sendmail, чтобы избежать конфликтов, а затем переустановить postfix, который, в свою очередь, установит собственную марку sendmail. К сожалению, это не совсем решило проблему (см. Ниже).
Я следовал инструкциям и провел следующую проверку, на которую получил обнадеживающий ответ:
$ dpkg -S `which sendmail`
postfix: /usr/sbin/sendmail
Однако, когда я снова запустил postfix, я получил ту же ошибку.
Согласно непредвиденным обстоятельствам Оли, я искал процесс, который загружал порт 25 со следующим:
$ sudo netstat -pel | grep smtp
tcp 0 0 localhost.localdom:smtp *:* LISTEN root
35704126 27626/sendmail: MTA
Но вот где это сбило с толку: я тогда искал процесс, 27626
но потом мне сказали:
dpkg-query: не найден путь, соответствующий шаблону 27626
соединений .
Я поднял htop и смог найти вышеуказанный PID, связанный со следующей командой:
sendmail: MTA: прием соединений
Затем я попытался убить процесс с обоими killall sendmail
иkillall 27626
и продолжал получать no process found
.
Проблема в (помимо очевидного), что я не знаю, как интерпретировать эти выводы. Я почистил сервер sendmail, так что могу только предположить, что собственная версия sendmail postfix захватывает порт? Я даже не знаю, имеет ли это смысл.
В любом случае, если бы кто-нибудь мог мне прямо сказать об этом или хотя бы дать несколько интересных диагностических вопросов, я был бы признателен.
В случае, если это полезно, я использую virtualmin на сервере для управления несколькими разными доменами, а также использую WordPress.
Спасибо заранее!
В ответ на запрос я разместил ps -ef
ниже
root@upsmart:~# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jan12 ? 00:00:00 init
root 2 1 0 Jan12 ? 00:00:00 [kthreadd/20017]
root 3 2 0 Jan12 ? 00:00:00 [khelper/20017]
root 68 1 0 Jan12 ? 00:00:00 upstart-udev-bridge --daemon
root 75 1 0 Jan12 ? 00:00:00 /sbin/udevd --daemon
root 110 1 0 Jan12 ? 00:00:00 /usr/sbin/sshd -D
root 130 75 0 Jan12 ? 00:00:00 /sbin/udevd --daemon
root 131 75 0 Jan12 ? 00:00:00 /sbin/udevd --daemon
root 175 1 0 Jan12 ? 00:00:00 upstart-socket-bridge --daemon
116 205 1 0 Jan12 ? 00:00:03 dbus-daemon --system --fork --activation=upstart
root 385 1 0 Jan12 ? 00:00:00 /usr/sbin/dovecot -F -c /etc/dovecot/dovecot.conf
root 386 1 0 Jan12 ? 00:00:04 cron
mysql 410 1 0 Jan12 ? 00:08:06 /usr/sbin/mysqld
dovecot 441 385 0 Jan12 ? 00:00:00 dovecot/anvil
root 442 385 0 Jan12 ? 00:00:00 dovecot/log
root 444 385 0 Jan12 ? 00:00:00 dovecot/config
syslog 445 1 0 Jan12 ? 00:00:08 /sbin/syslogd -u syslog
bind 474 1 0 Jan12 ? 00:00:12 /usr/sbin/named -u bind
clamav 844 1 0 Jan12 ? 00:01:34 /usr/sbin/clamd
clamav 951 1 0 Jan12 ? 00:03:27 /usr/bin/freshclam -d --quiet
list 969 1 0 Jan12 ? 00:00:00 /usr/bin/python /usr/lib/mailman/bin/mailmanctl -s -q start
list 970 969 0 Jan12 ? 00:01:03 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=ArchRunner:0:1 -
list 971 969 0 Jan12 ? 00:01:10 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=BounceRunner:0:1
list 972 969 0 Jan12 ? 00:01:03 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=CommandRunner:0:
list 973 969 0 Jan12 ? 00:01:07 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=IncomingRunner:0
list 974 969 0 Jan12 ? 00:01:01 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=NewsRunner:0:1 -
list 976 969 0 Jan12 ? 00:01:05 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0
list 978 969 0 Jan12 ? 00:01:06 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=VirginRunner:0:1
list 980 969 0 Jan12 ? 00:00:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=RetryRunner:0:1
root 1410 1 0 Jan12 ? 00:00:00 /usr/sbin/saslauthd -a pam -m /var/spool/postfix/var/run/saslauthd -r
root 1413 1410 0 Jan12 ? 00:00:00 /usr/sbin/saslauthd -a pam -m /var/spool/postfix/var/run/saslauthd -r
root 2034 1 0 Jan12 ? 00:00:09 /usr/bin/perl /usr/share/usermin/miniserv.pl /etc/usermin/miniserv.con
proftpd 2054 1 0 Jan12 ? 00:00:07 proftpd: (accepting connections)
root 2096 1 0 Jan12 ? 00:00:13 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
root 2173 1 0 Jan12 ? 00:00:15 /usr/sbin/console-kit-daemon --no-daemon
root 2241 1 0 Jan12 ? 00:00:07 /usr/lib/policykit-1/polkitd --no-debug
root 4895 1 0 03:15 ? 00:00:00 /usr/sbin/xinetd -dontfork -pidfile /var/run/xinetd.pid -stayalive -in
www-data 6494 30181 0 03:41 ? 00:00:06 /usr/sbin/apache2 -k start
www-data 6497 30181 0 03:42 ? 00:00:06 /usr/sbin/apache2 -k start
www-data 6499 30181 0 03:42 ? 00:00:06 /usr/sbin/apache2 -k start
www-data 6500 30181 0 03:42 ? 00:00:07 /usr/sbin/apache2 -k start
root 9477 30027 0 05:09 pts/5 00:00:00 sudo ps -ef
root 9478 9477 0 05:09 pts/5 00:00:00 ps -ef
root 27626 1 0 02:44 ? 00:00:00 sendmail: MTA: accepting connections
root 27902 110 0 02:51 ? 00:00:01 sshd: root@pts/4
root 27998 27902 0 02:51 pts/4 00:00:01 -bash
root 29931 110 0 02:59 ? 00:00:03 sshd: root@pts/5
root 30027 29931 0 02:59 pts/5 00:00:00 -bash
root 30181 1 0 03:00 ? 00:00:02 /usr/sbin/apache2 -k start
www-data 30183 30181 0 03:00 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 30636 30181 0 03:06 ? 00:00:13 /usr/sbin/apache2 -k start
Ответы:
Я испытал ту же проблему на Ubuntu 16.04.01 LTS. В журнале произошло следующее сообщение,
/var/log/mail.log
и исходящая почта не была отправлена:Я получил следующий вывод при попытке убить sendmail:
Следующие команды работали для меня (нет необходимости перезагружать сервер):
источник
У меня была та же проблема, и я только остановил отправку почты, перезапустил postfix и снова запустил sendmail с помощью следующих команд:
Все вернулось просто отлично.
источник
Что ж, ответ совершенно неудовлетворительный, но после нескольких часов работы над этим сегодня я перезапустил сервер, и теперь постфикс работает. Спасибо всем, кто предоставил некоторое понимание.
источник
Просто убейте процесс sendmail и попробуйте снова:
или
источник
no process found
. Я обновлю вопрос с этой информацией.killall sendmail
Я не нашел никаких процессов для меня, ноps aux | grep sendmail
показал один запущенный, и убийство по его PID решило проблему. Он был указан как,sendmail: MTA:[...]
так что я предполагаю, что сам процесс демона был помечен, но имеет другое имя. К сожалению, в настоящее время я не могу продолжать расследование.Для меня решение было
sudo killall sendmail-mta
источник
Вы можете использовать
fuser
команду (как root), чтобы получить список всех процессов, прослушивающих порт 25, и уничтожить их.источник