У меня есть еще один вопрос о opensmtpd
в Ubuntu 18.04 ...
apt-get install opensmtpd
... устанавливает версию 6.0.3p1-1build1
, которая имеет проблему:
Systemd opensmtpd.service
, кажется, думает, что ExecStop=/usr/sbin/smtpctl stop
остановит службу. Однако smtpctl stop
дает ненулевой код выхода, и его вывод также намекает на то, что он не знает об этой подкоманде:
possibilities are:
discover
encrypt
pause
resume
show
log
monitor
profile
remove
schedule
trace
uncorrupt
unprofile
untrace
update
Я считаю, что эта проблема была распознана и исправлено в версиях 6.0.3p1-2
Это было в марте 2018 года, намного больше, чем полтора года назад.
Я вижу, что более новые версии устанавливаются для Ubuntu 18.10 и 19.04 .... так как же это и более новые выпуски с тех пор не сделали еще в 18.04?
Как это могло произойти?
Две опции здесь:
Необходимо записать всесторонний отчет об ошибках в панель запуска с apport-bug opensmtpd
сообщать разработчикам о возможной проблеме.
Необходимо установить пакет от дискотеки на бионическом:
cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/opensmtpd/opensmtpd_6.0.3p1-5_amd64.deb
sudo apt-get install ./opensmtpd_6.0.3p1-5_amd64.deb
Но этот вручную установленный пакет не получит обновления системы защиты.
Обновление: Я сообщил об ошибке 1840586 для Вас с бэкпортом / SRU (обновление стабильной версии) запрос.
Между тем я исследовал различия между Bionic и Дискотекой opensmtpd
пакеты, и завершенный, что значение по умолчанию ExecStop
поведение systemd
достаточно для создания opensmtpd
действительно, остановиться.
diff -p ./{bionic,disco}/lib/systemd/system/opensmtpd.service
:
*** ./bionic/lib/systemd/system/opensmtpd.service 2018-01-16 17:18:40.000000000 +0000 --- ./disco/lib/systemd/system/opensmtpd.service 2018-03-18 16:16:45.000000000 +0000 *************** After=network.target *** 6,12 **** [Service] Type=forking ExecStart=/usr/sbin/smtpd ! ExecStop=/usr/sbin/smtpctl stop [Install] WantedBy=multi-user.target --- 6,12 ---- [Service] Type=forking ExecStart=/usr/sbin/smtpd ! ExecStop=/bin/kill -15 $MAINPID [Install] WantedBy=multi-user.target
Afaict, дискотека ExecStop=/bin/kill -15 $MAINPID
строка просто systemd
поведение по умолчанию, сделанное явным.
Так. вот временное обходное решение, на которое я обосновался на данный момент, в то время как мы ожидаем и надеемся на bugreport @N0rbert быть забранными:
sudo apt-get install opensmtpd
sudo systemctl edit opensmtpd.service
... затем скопировать/вставить это в редактора:
[Service] ## While waiting for [this bug](https://bugs.launchpad.net/ubuntu/+source/opensmtpd/+bug/1840586) ## to be fixed, work around it as follows: ## ## Clear `ExecStop` to get the [default systemd behaviour](https://www.freedesktop.org/software/systemd/man/systemd.service.html#ExecStop=) ## back; ## ExecStop= # vim: syntax=systemd expandtab shiftround shiftwidth=4 softtabstop=4 tabstop=4
... и наконец, перезагрузка и перезапуск:
sudo systemctl restart opensmtpd
Доказательство, что это работает:
journalctl -u opensmtpd
... Aug 19 10:10:13 ip-10-0-2-210 systemd[1]: Stopping OpenSMTPD SMTP server... Aug 19 10:10:13 ip-10-0-2-210 smtpd[2163]: Exiting Aug 19 10:10:13 ip-10-0-2-210 systemd[1]: Stopped OpenSMTPD SMTP server. Aug 19 10:10:13 ip-10-0-2-210 systemd[1]: Starting OpenSMTPD SMTP server... Aug 19 10:10:13 ip-10-0-2-210 smtpd[5987]: info: OpenSMTPD 6.0.3-portable starting Aug 19 10:10:13 ip-10-0-2-210 systemd[1]: Started OpenSMTPD SMTP server.
Надеясь кто-то может найти это полезным.