Я собираюсь заменить собственное решение для управления исправлениями на базе Linux на salt-ssh
.
Текущая система использует сценарий оболочки для перебора списка хостов и копирует сценарий с именем apt-update к пульту. После копирования сценария процесс запускает сценарий на удаленном компьютере (через ssh). В apt-update сценарий в основном содержит 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. Есть ли способ справиться с такой ситуацией, когда требуется взаимодействие?
Вы можете установить переменную среды DEBIAN_FRONTEND=noninteractive
чтобы подавить все подобные вопросы. Однако способы настройки пакетов в этом сценарии могут отличаться, поэтому вам следует тщательно протестировать.