Этот баг долго не давал мне покоя, ещё с версии 42.1. Суть в том, что при выключении или перезагрузке система замирала на консольном приглашении на 60-90 секунд, и лишь потом выключалась. Поиск в Google, конечно же, выдавал кучу подобных жалоб от других людей, вместе с советами по решению проблемы. Но мне ничего не помогало: ни отключение служб, ни ручное отмонтирование разделов, ни ручное завершение всех процессов.
Наконец, мне удалось выяснить, что дело было в кривизне Systemd 228, используемой в openSUSE Leap. Мне помог рецепт, описанный тут. Быстрое решение выглядит так:
The bug can be worked around by creating a file /etc/sysctl.d/50-coredump.conf with the following contents:
kernel.core_pattern=core
That causes the kernel to write coredumps directly, bypassing the buggy systemd code.
Однако, так ядро будет при определённых обстоятельствах писать большие дампы в файл на корневом разделе. Чтобы избежать этого, можно скидывать дамп ядра в /dev/null:
sudo -i
ln -s /dev/null /etc/sysctl.d/50-coredump.conf
echo '* hard core 0' >> /etc/security/limits.conf
UPD.
За последнее время мне удалось выяснить, что в некоторых случаях описанный выше метод не помогает, но зато гарантированно помогает уменьшение таймаута, который использует Systemd для ожидания завершения пользовательских процессов. Нужно всего лишь изменить файл /etc/systemd/system.conf, раскомментировав параметр DefaultTimeoutStopSec и установив ему какое-нибудь небольшое значение. Например, так:
#DefaultStandardOutput=journal
#DefaultStandardError=inherit
#DefaultTimeoutStartSec=90s
DefaultTimeoutStopSec=5s
#DefaultRestartSec=100ms
#DefaultStartLimitIntervalSec=10s
#DefaultStartLimitBurst=5
Теперь больше никаких задержек при перезагрузке или выключении!
Полутораминутная задержка в Suse, слава богу, меня миновала, но подстерегла меня в Arch. Там systemd уже 234 версии, но баг всё тотже. Я перепробовал всё описанное в нете, всё без толку — через некоторое время комр начинает замирать снова. Самое смешное, что иногда он выключается совершенно нормально…
Это проблема не специфичная для suse, арчеводы тоже жалуются. Кстати, совет из моего поста помог в итоге?
Помог, спасибо. Не знаю, надолго ли, но сегодня уже два раза выключился нормально. Как мне кажется, в основном от этих 90 секунд страдает именно arch.
Саша, ну ты изыскатель… СУПЕР! 🙂