试图替换apt_key在Ansible剧本



我有一个工作剧本来创建一个Ubuntu 20.04 VPS,然后安装包括Docker在内的软件。

我正在尝试在Ubuntu 22.04 VPS上使用它。

它确实可以工作,但是在使用APT时,我得到警告说"Key存储在遗留可信中。gpg keyring"因为我正在使用已弃用的apt-key。

我的旧剧本包含:

- name: Add docker signing key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add docker repository
apt_repository:
repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable
state: present

经过一番研究,我认为我可以用以下内容代替上面的内容:

- name: Add docker signing key (new GPG method)
get_url:
url: https://download.docker.com/linux/ubuntu/gpg
dest: /etc/apt/keyrings/docker.gpg
mode: '0644'
force: true 
- name: Add docker repository
apt_repository:
repo: deb [signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
state: present

一个密钥被存储在/etc/apt/keyrings/docker中。然而,gpg,我得到以下错误:

TASK [Add docker repository] *********
fatal: [node1]: FAILED! => changed=false
msg: 'Failed to update apt cache: W:GPG error: https://download.docker.com/linux/ubuntu jammy InRelease: The following signatures couldn''t be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8, E:The repository ''https://download.docker.com/linux/ubuntu jammy InRelease'' is not signed.

我不知道我做错了什么。

解决了。我只需要改变密钥文件的扩展名从.gpg.asc然后它就正常工作了。

最新更新