我如何使用 Ansible 声明我接受 ttf-mscorefonts-installer 的 Microsoft EULA 协议?

我如何使用 Ansible 声明我接受 ttf-mscorefonts-installer 的 Microsoft EULA 协议?

我如何接受 ttf-mscorefonts-installer 的 Microsoft EULA 协议?列出了实现此目的的一些方法(GUI,脚本,puppet 配置)。

但我不知道如何echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true在 Ansible 中处理。

每次运行 Ansible 剧本时简单地运行此命令似乎不合标准。

答案1

遇到了这个问题Ubuntu 20.04Ansible 2.11尝试安装ubuntu-restricted-extras包含的元包时ttf-mscorefonts-installer

通过@bstabens 的回答和评论,我明白了如何接受 msttcorefonts 许可协议。

在已经安装的机器上,我检查了在msttcorefonts安装过程中添加了哪些问题以表示同意

debconf-show ttf-mscorefonts-installer命令给了我这个输出

* msttcorefonts/accepted-mscorefonts-eula: true
  msttcorefonts/dldir:
  msttcorefonts/baddldir:
  msttcorefonts/error-mscorefonts-eula:
* msttcorefonts/present-mscorefonts-eula:
  msttcorefonts/dlurl:

说我已经回答了true问题msttcorefonts/accepted-mscorefonts-eula

然后我写了如下剧本:

---
- hosts : dev
  tasks:
    - name: prepare eula 
      debconf:
        name: ttf-mscorefonts-installer
        question: msttcorefonts/accepted-mscorefonts-eula
        vtype: boolean
        value: true

    - name: Install a list of packages
      apt:
        update_cache: yes
        state: latest
        pkg:
        - ubuntu-restricted-extras
        - ... OTHER PACKAGES HERE

  become : yes
  become_method : sudo

调用它ansible-playbook my_playbook.yaml --ask-become-pass并且它就像魔法一样起作用了。

答案2

使用 ansible:

- name: prepare eula 
  debconf:
    name: ttf-mscorefonts-installer
    question: msttcorefonts/accepted-mscorefonts-eula
    value: true

这些内容通过 debconf 进行配置,你可以通过以下命令查看所有选项:

debconf-显示包裹

当然,您至少需要手动安装一次。请注意,debconf 不会安装软件包,它只是为软件包准备 debconf。

相关内容