Документ, на который вы ссылаетесь, это FAQ, который, хотя и имеет отношение к делу, не обязательно считается авторитетным (различия, вероятно, тонкие, и любая непоследовательность - это действительно ошибка). Авторитетным документом является Руководство по политике Debian, в котором есть целая глава, посвящённая скриптам мейнтейнера. Поскольку это не так просто прочитать, в вики есть полезные диаграммы, которые объясняют отношения между скриптами мейнтейнера.
В основном, единственным скриптом, который должен останавливать службы в соответствующем пакете, является prerm
; как вы отметили, этот скрипт вызывается как при удалении пакета, так и при его обновлении. Важным моментом в некоторых случаях является то, что по умолчанию используется сценарий prerm
установленного пакета; если он не работает до обновления, система упаковки будет пытаться использовать обновленный сценарий prerm
.
preinst
всегда идет после prerm
во время обновления, и к моменту его выполнения службы должны быть остановлены. Скрипты preinst
некоторых пакетов действительно пытаются остановить службы еще раз, просто чтобы убедиться в этом; примеры этого включают mysql-server-5.6
и timidity
, но их не так много.
Итак, в целом, вы должны остановить свои службы в prerm
, и вы можете сделать это в preinst
тоже (хотя в этом нет необходимости); вы не должны предпочитать preinst
вместо prerm
для этого, и вам не нужны оба. Я бы просто использовал prerm
.
(Строго говоря, я должен уточнить, что Policy Manual является скорее описательным, чем предписывающим, в том смысле, что он документирует текущую практику, а не определяет ее - поэтому он не настолько авторитетен, как вы могли бы ожидать, и практика развивается до того, как она документируется в нем. Но в данном конкретном случае Policy является точным. Раз уж я об этом заговорил, поскольку prerm
знает, вызывают ли его для обновления, может возникнуть соблазн попробовать хитрые трюки и оставить службы запущенными до тех пор, пока какой-нибудь более поздний сценарий не перезапустит их, чтобы уменьшить время простоя служб; но это просто напрашивается на неприятности.)
.
Очень похожий сценарий с другой основной -причиной:
Вход с помощью sssd (по LDAP )через консоль работает. Войти с правильным паролем с sssd через ssh не удается. Дает около 8 секунд задержки до отказа.
Я решил удалить AllowGroups ssh-login
из /etc/ssh/sshd_config
. Эта опция ограничивает, какая группа пользователей может войти на сервер. Поскольку я не был членом этой группы, мне не разрешили подключиться. Без понятия, как оно туда попало. Я настраиваю свои серверы предварительно -из VM -peeps. Возможно, это значение по умолчанию в Debian 10. Возможно, его туда поместил ИТ-отдел -.