.png)
Я рассматриваю возможность замены собственного решения по управлению исправлениями на базе Linux на salt-ssh
.
Текущая система использует скрипт оболочки для перебора списка хостов и копирует скрипт с именемapt-обновлениена удаленный компьютер. После копирования скрипта процесс запускает скрипт на удаленном компьютере (через ssh).apt-обновлениеscript в основном содержит apt-get udpate; apt-get upgrade
. Когда возникает конфликт с файлом конфигурации (например, Grub) или dpkg-reconfigure
запускается что-то вроде pam-auth-update
, требуется взаимодействие для выбора дальнейших действий. Если я запускаю этот процесс поверх salt-ssh
, похоже, нет возможности взаимодействовать с процессом обновления. Фактически, salt-ssh
stdout содержит это:
stderr:
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin:
Я раньше не пользовался Saltstack. Есть ли способ справиться с такой ситуацией, когда требуется взаимодействие?
решение1
Вы можете задать переменную окружения DEBIAN_FRONTEND=noninteractive
, чтобы подавить все подобные вопросы. Однако то, как пакеты настраиваются в этом сценарии, может различаться, поэтому вам следует провести тщательное тестирование.