При обновлении наших серверов Linux, я запускаю команду с одного из наших серверов управления:

ssh server1.mycompany.com apt upgrade

При определенных обстоятельствах я получаю этот вывод из команды:

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.)

Поскольку я не могу взаимодействовать с диалогом, я думаю, что по умолчанию выбраны. Как другие люди решают эту проблему? Вход на каждый сервер для запуска apt upgrade, на случай, если всплывет диалоговое окно, не подходит для этого. Может быть, есть способ отменить "подходящее обновление" или что-то еще, когда всплывают диалоги? Или еще лучше, может быть , есть способ , чтобы получить всплывающее окно , которое будет отображаться на клиентской стороне соединения SSH, то есть на сервере я ssh'ing от?

1 ответ1

1

Вам нужен терминал, который вы можете установить либо через параметры -t который заставляет pty, либо -T который не заставляет pty (или соответствующие параметры файла конфигурации).

Кроме того, при использовании pty переменная среды TERM копируется (исключения могут касаться проверочной документации для получения полных сведений и официальной формы ввода лотереи).

Вы можете указать неинтерактивный интерфейс, который не имеет требований и не задает никаких вопросов (которые могут быть или не быть тем, что вы хотите):

ssh <remote_srv> "DEBIAN_FRONTEND=noninteractive apt-get autoremove"

Для получения дополнительной информации см. Сообщение Ask Ubuntu Unable to initialize frontend: диалоговое окно при использовании ssh.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .