我如何接受 ttf-mscorefonts-installer 的 Microsoft EULA 协议?列出了实现此目的的一些方法(GUI,脚本,puppet 配置)。
但我不知道如何echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true
在 Ansible 中处理。
每次运行 Ansible 剧本时简单地运行此命令似乎不合标准。
答案1
遇到了这个问题Ubuntu 20.04和Ansible 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。