Фактически эта проблема была решена несколько месяцев назад. Он должен быть версии 4.4.3 или новее.
ОБНОВЛЕНИЕ: должно быть исправлено в следующем выпуске (1.18.8).
Несколько раз нажав на это, я почувствовал, что мне нужно посмотреть исходный код.
.
, чтобы пройти квалификацию :). Или, если /etc/mailname
существует, он использует его по умолчанию, не проверяя наличие .
с.sudo
, etckeeper использует SUDO_USER из среды. В случае использования su
в среде ничего нет, поэтому etckeeper считывает пользователя с владельца tty.Итак, git commit
и etckeeper vcs commit
завершились ошибкой, когда я не установил user.email
, И мое имя хоста не разрешалось в полное доменное имя.
etckeeper commit
работает в некоторых ситуациях, в которых git commit
не работает. Я полагаю, что запутался между этими двумя, когда раньше тестировал (среди прочего).
Если вы запустите etckeeper
из sudo
, ошибка не произойдет. Если вы запустите его из su
, он не выйдет из строя.Он также не подведет, если вы войдете в систему как root и запустите его; он найдет tty, которым владеет root, и передаст электронное письмо root@HOSTNAME
.
etckeeper commit
завершится ошибкой тогда и только тогда, когда
user.email
не установлен в git
, ИНаконец, тестирование показало, что команды, выполняемые под ansible, никогда не запускаются с tty. (Даже при использовании соединения ssh
и sudo
с паролем, где ansible описывается как необходимость использования псевдотерминала).