Как получить более новую версию пакета, установленного на 18.04?

У меня есть еще один вопрос о 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?

Как это могло произойти?

4
задан 17 August 2019 в 21:00

2 ответа

Две опции здесь:

  • Необходимо записать всесторонний отчет об ошибках в панель запуска с 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 (обновление стабильной версии) запрос.

5
ответ дан 1 December 2019 в 09:12

Между тем я исследовал различия между 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.

Надеясь кто-то может найти это полезным.

2
ответ дан 1 December 2019 в 09:12

Другие вопросы по тегам:

Похожие вопросы: