«apt upgrade» по SSH: для этого интерфейса требуется управляющий tty

401
kenneho

При обновлении наших серверов 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 от ?

0
Вы смотрели в опцию `-t` для ssh? Eugen Rieck 5 лет назад 1
У @EugenRieck есть правильный ответ, я думаю, я преодолеваю ту же проблему, пытаясь выполнить команду sudo, как описано выше, используя флаг -t. Alex Berry 5 лет назад 0

1 ответ на вопрос

1
harrymc

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

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

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

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

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

Похожие вопросы