Ansible安装包时如何跳过人工交互页面

How does Ansible skip the human interaction page during package installation

我想在 Ubuntu 18.04

上将 MySQL 从 5.7 升级到 8.0

我使用以下命令安装了软件包:

$ sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb

而且我弹出了这个页面,需要手动 select 选项。

有什么方法可以通过 Ansible 自动升级 MySQL 吗?

我是 Ansible 的新手,非常感谢任何帮助!

您应该能够使用普通的 apt 模块来安装您的 .deb 文件:

- hosts: localhost
  tasks:
    - apt:
        deb: /path/to/mysql-apt-config_0.8.22-1_all.deb

回答有关抑制配置对话框的问题:

您可以通过在 运行 dpkgapt 命令之前将 DEBIAN_FRONTEND 环境变量设置为 noninteractive 来自己跳过该对话框:

sudo env DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.22-1_all.deb

DEBIAN_FRONTEND变量可以取其他值;你可以阅读更多 here.