#ansible #debian
#ansible #debian
Вопрос:
Я новичок в Ansible и пытаюсь, в качестве примера, выполнить задачу по установке Vivaldi. Моя единственная задача в роли Vivaldi update
начинается с
- name: Run apt upgrade
apt:
upgrade: "yes"
update_cache: yes
cache_valid_time: 432000
- name: Add Vivaldi Repository
apt_repository:
repo: "deb https://repo.vivaldi.com/stable/deb/ stable main"
state: present
filename: vivaldi.list
update_cache: true
tags:
- vivaldi
И с этим я терплю неудачу на localhost при установке Debian 10 (Buster):
Linux london 4.19.0-12-amd64 # 1 SMP Debian 4.19.152-1 (2020-10-18) x86_64 GNU / Linux).
Все команды завершаются успешно в командной строке.
Ansible — 2.9.15.
Первая задача выполняется нормально (если выполняется отдельно), но вторая завершается ошибкой с:
СБОЙ! => {«изменено»: false, «сообщение»: «ошибка обновления кэша apt»}.
Задача добавления ключа репозитория завершается с ошибкой:
СБОЙ! => {«изменено»: false, «id»: «6D3789EDC3401E12», «сообщение»: «ключ, похоже, не был добавлен»}
Однако, если я добавлю репозиторий вручную к /etc/apt/sources.list
последней задаче,
- name: Install Vivaldi
apt:
name: vivaldi-stable
update_cache: yes
state: latest
tags:
- vivaldi
это удается.
Что я делаю не так?
Ответ №1:
Согласно официальной документации, вам необходимо добавить ключ, а затем репозиторий:
Ручная настройка репозиториев Vivaldi Linux
Отредактируйте свой сборник задач с помощью задачи Add key
:
- name: Run apt upgrade
apt:
upgrade: "yes"
update_cache: yes
cache_valid_time: 432000
- name: Add key
apt_key:
url: https://repo.vivaldi.com/archive/linux_signing_key.pub
state: present
tags:
- vivaldi
- name: Add Vivaldi Repository
apt_repository:
repo: "deb https://repo.vivaldi.com/stable/deb/ stable main"
state: present
filename: vivaldi.list
update_cache: true
tags:
- vivaldi
- name: Install Vivaldi
apt:
name: vivaldi-stable
update_cache: yes
state: latest
tags:
- vivaldi
Комментарии:
1. спасибо — в вашем ответе я также отметил, что вы не указали идентификатор ключа (который не требуется). теперь это работает!