我正在研究用 替换基于 Linux 的自主研发的补丁管理解决方案salt-ssh
。
当前系统使用 shell 脚本遍历主机列表,并复制名为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。有没有什么办法可以处理这种需要交互的情况?
答案1
您可以设置环境变量DEBIAN_FRONTEND=noninteractive
以抑制所有此类问题。但是,在这种情况下软件包的配置方式可能会有所不同,因此您应该进行彻底的测试。