Когда unattended-upgrades
установлен, 9 из 10 завершений работы/перезагрузок зависают, "запуская необслуживаемое завершение работы обновлений". Это зависает, останавливает процесс завершения работы в течение 5-10 минут.
Если я отключаю unnattended-обновления через /etc/apt/apt.conf.d/20auto-upgrades and/or 50unattended-upgrades
, проблемы происходят.
Если я завершаю сервис перед завершением работы/перезагрузкой (sudo service unattended-upgrades stop
) проблема все еще происходит.
Если я удаляю пакет (sudo apt remove unattended-upgrades
) проблема больше не происходит.
Это происходит на недавно установленной версии Ubuntu Server 16.04.1
(оба unattended-upgrades
установленный через установку GUI или ручная установка необслуживаемых обновлений)
Оба Kern.log & syslog
не показывайте процесс завершения работы (я верю, потому что файловые системы уже размонтировались),
Кто-либо еще видел или устранил эту проблему? Схождение с ума, пытающееся диагностировать это.
проблема, кажется, сценарий, работающий на завершении работы.
я отождествил соответствующий файл с:
find /etc/systemd -name *unattended*
, который дает мне связанный systemd сценарий:
/etc/systemd/system/shutdown.target.wants/unattended-upgrades.service
, который затем сказал мне сценарий, выполняемый на завершении работы:
/usr/share/unattended-upgrades/unattended-upgrade-shutdown
в рамках этого сценария существует раздел в строке 120 связанных к разделу в/etc/apt/apt.conf.d/50unattended-upgrades-> Необслуживаемое Обновление:: строка InstallOnShutdown
120 из/usr/share/unattended-upgrades/unattended-upgrade-shutdown:
if apt_pkg.config.find_b("Unattended-Upgrade::InstallOnShutdown", False):
проблема: это ожидает ключевое слово "Ложь", в то время как в способном conf мы должны добавить "ложь" (точное сравнение строк)!
я смог зафиксировать/обходным решение останавливающееся завершение работы 3 различными способами:
Эта установка является обновлением, безопасным, пока реальная фиксация не обеспечивается, потому что файл, который мы изменяем здесь, не перезаписывается обновлением необслуживаемых обновлений. Проблема: Когда первопричина будет зафиксирована, это приведет к останавливающемуся завершению работы снова, таким образом, я предлагаю объединить это с Обходным решением B.
vim /etc/systemd/system/shutdown.target.wants/unattended-upgrades.service
[Service] Type=oneshot ExecStart=/usr/share/unattended-upgrades/unattended-upgrade-shutdown TimeoutStartSec=15
Эта установка НЕ является обновлением, безопасным, потому что файл, который мы изменяем здесь, может быть перезаписан обновлением необслуживаемых обновлений. Помимо этого это действительно далеко от фиксации чего-то, но это гарантирует, что Ваша система не будет ожидать несколько минут при закрытии. Следует иметь в виду, что после обновления необслуживаемых обновлений Вам, вероятно, придется установить это снова!
исправление/usr/share/unattended-upgrades/unattended-upgrade-shutdown:
--- /tmp/unattended-upgrade-shutdown 2017-02-03 14:53:03.238103238 +0100 +++ /tmp/unattended-upgrade-shutdown_fix 2017-02-03 14:53:17.685589001 +0100 @@ -117,7 +117,7 @@ # run it p = None apt_pkg.init_config() - if apt_pkg.config.find_b("Unattended-Upgrade::InstallOnShutdown", False): + if apt_pkg.config.find_b("Unattended-Upgrade::InstallOnShutdown", false): env = copy.copy(os.environ) env["UNATTENDED_UPGRADES_FORCE_INSTALL_ON_SHUTDOWN"] = "1" logging.debug("starting unattended-upgrades in shutdown mode")
tbh только последнее является реальной фиксацией. обе других опции являются просто обходными решениями, пока реальная фиксация не была бы реализована.
Это должно быть сделано в восходящем направлении и поскольку это влияет на оба Debian (протестированный на Фрагменте Debian) и Ubuntu (протестированный на Ubuntu 16.04.1) для обоих дистрибутивов.
я открыл отчет об ошибках здесь: https://bugs.launchpad.net/ubuntu / + source/unattended-upgrades / + ошибка/1661611
Как обходное решение я использую этот сценарий для фиксации его:
#!/usr/bin/env bash
sed -i '/if apt_pkg.config.find_b/s/False/false/' /usr/share/unattended-upgrades/unattended-upgrade-shutdown
exit
, Надо надеяться, это скоро будет upstreamed.
Это было исправлено в systemd
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1654600
(оригинальный отчет: https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1661611 )