Назад | Перейти на главную страницу

Использование salt-ssh для исправления Ubuntu / Debian (интерфейс диалога не используется)

Я собираюсь заменить собственное решение для управления исправлениями на базе 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 чтобы подавить все подобные вопросы. Однако способы настройки пакетов в этом сценарии могут отличаться, поэтому вам следует тщательно протестировать.