Kesalahan mulai postfix Port 25: Alamat sudah digunakan


19

Saya mencoba menjalankan postfix di server saya tetapi tetap mendapatkan kesalahan berikut di /var/log/mail.log:

postfix / master [5041]: fatal: bind 0.0.0.0 port 25: Alamat sudah digunakan

Saya melakukan pencarian dan menemukan jawaban yang sangat baik dari Oli (mengenai pertanyaan ini) di mana saya disarankan untuk membersihkan server saya dari paket sendmail untuk menghindari konflik, kemudian instal postfix, yang kemudian akan menginstal sendmail merek sendiri. Sayangnya itu tidak cukup menyelesaikan masalah (lihat di bawah ini untuk bagaimana).

Saya mengikuti instruksi dan menjalankan cek berikut, yang saya terima responsnya:

$ dpkg -S `which sendmail`
postfix: /usr/sbin/sendmail

Namun ketika saya memulai postfix lagi, saya mendapatkan kesalahan yang sama.

Sesuai kontingensi Oli, saya mencari proses yang memonopoli port 25 dengan yang berikut:

$ sudo netstat -pel | grep smtp
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN      root       
35704126    27626/sendmail: MTA

Tapi di sinilah menjadi membingungkan: Saya kemudian mencari proses 27626tetapi kemudian diberitahu:

dpkg-query: tidak ditemukan jalur yang cocok dengan pola 27626
koneksi
.

Saya menarik htop dan dapat menemukan PID di atas yang terkait dengan perintah berikut:

sendmail: MTA: menerima koneksi

Saya kemudian mencoba untuk membunuh proses dengan keduanya killall sendmaildan killall 27626dan terus mendapatkan no process found.

Masalahnya adalah (selain yang sudah jelas) saya tidak tahu bagaimana menafsirkan temuan ini. Saya menggosok server sendmail, jadi saya hanya bisa berasumsi bahwa sendmail versi postfix sendiri sedang membajak port? Saya bahkan tidak tahu apakah itu masuk akal.

Ngomong-ngomong, jika ada yang bisa meluruskan hal ini atau setidaknya memberikan beberapa pertanyaan diagnostik yang menarik, saya akan menghargainya.

Jika berguna, saya menggunakan virtualmin di server untuk mengelola beberapa domain yang berbeda dan saya juga menjalankan wordpress.

Banyak terima kasih sebelumnya!

Menanggapi permintaan saya telah diposting di ps -efbawah ini

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

2
Sudahkah Anda me-reboot server? Melihat komentar dari jawaban Oli, masalahnya hilang setelah reboot.
douggro

Jawaban:


18

Saya mengalami masalah yang sama di Ubuntu 16.04.01 LTS. Pesan log berikut terjadi /var/log/mail.logdan surat keluar gagal dikirim:

postfix/master[5072]: fatal: bind 127.0.0.1 port 25: Address already in use

Saya menerima output berikut ketika mencoba untuk membunuh sendmail:

$ sudo killall sendmail
sendmail: no process found

Perintah berikut ini berfungsi untuk saya (tidak perlu me-reboot server):

sudo killall sendmail-mta
sudo service postfix restart

2
Itu berhasil bagi saya! Pujian!
Thelambofgoat

10

Saya memiliki masalah yang sama dan apa yang saya lakukan hanya berhenti mengirim email, memulai kembali postfix dan mulai lagi sendmail dengan perintah berikut:

service sendmail stop
service postfix restart
service sendmail start

Semuanya kembali baik-baik saja.


9

Yah jawabannya sangat tidak memuaskan tetapi setelah membakar beberapa jam mengerjakan ini hari ini, saya me-restart server dan postfix sekarang berjalan. Terima kasih semua yang meminjamkan wawasan.


5

Cukup matikan proses sendmail dan coba lagi:

sudo kill 27626

atau

sudo killall sendmail

Terima kasih atas tanggapan Braiam. Seharusnya ditentukan dalam pertanyaan, saya benar-benar memberi keduanya tembakan dan itu memberi saya no process found. Saya akan memperbarui pertanyaan dengan sedikit info itu.
neanderslob

killall sendmailtidak menemukan proses untuk saya, belum ps aux | grep sendmailmenunjukkan satu berjalan, dan membunuh dengan PID-nya memecahkan masalah. Itu terdaftar sendmail: MTA:[...]jadi saya menduga proses daemon yang sebenarnya dilabel ulang tetapi menggunakan nama yang berbeda. Sayangnya saya tidak dapat menyelidiki lebih jauh pada saat ini.
Synexis


1

Anda dapat menggunakan fuserperintah (sebagai root) untuk mendapatkan daftar semua proses mendengarkan pada port 25 dan membunuh mereka.

fuser -uv  25/tcp
fuser -kuv 25/tcp
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.