Ansible、openjdk-8-jdk 和 Ubuntu 18..04 的困境

Ansible、openjdk-8-jdk 和 Ubuntu 18..04 的困境

因此,我正在尝试使用 ansible 设置 Ubuntu 主机,我的要求之一是使用 java8

在研究了大量关于 Oracle PPA 等的各种弃用帖子后,我决定安装 openjdk-8-jdk

以下是我的场景 - 我从 AWS 启动了一个全新的 Ubuntu 镜像,我做的第一件事

apt-get update
apt-get install openjdk-8-jdk

完美 - 成功了,现在把它放入我的 ansible 剧本中,看起来像这样:

- name: Update all Ubuntu packages
  apt:
    upgrade: "dist"
  when: ansible_distribution == 'Ubuntu'

- name: Install required Ubuntu packages
  apt:
    name: "{{ packages }}"
    state: present
  vars:
    packages:
      - openjdk-8-jdk

但是当 ansible 运行时,会出现以下错误:

amazon-ebs: TASK [system : Install required Ubuntu packages] *******************************
amazon-ebs: fatal: [default]: FAILED! => {"changed": false, "msg": "No package matching 'openjdk-8-jdk' is available"}
amazon-ebs:     to retry, use: --limit @/Users/cparker/Git/tungsten-products/ami/replicator/ansible/playbook-ubuntu.retry

另外,是的,我启动测试的新映像与 ansible 启动的 AMI 映像 ID/Build 完全相同

我迷路了 :(

我搜索了不少结果,但它们都引用了现在已经过时的使用 Oracle 构建等的方法,但我找不到任何针对此问题的具体内容

图像是 Ubuntu 18.04,具体来说是 ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20190814

Ansible 是 2.7.10

答案1

默认情况下,云镜像中没有本地缓存​​的包列表。

update_cache: yes

在安装软件包之前让 apt 更新其缓存。

答案2

您应该检查缓存和缓存的有效时间,以获取更多参考https://docs.ansible.com/ansible/latest/modules/apt_module.html

  apt:
    update_cache: yes
    cache_valid_time: 3600

相关内容