Ansible: нет доступных пакетов, соответствующих «nginx»

У меня есть Ansible playbook, который работал на другой машине.

Но тут не получается:

fatal: [coffee-and-sugar.club]: FAILED! => {"changed": false, "msg": "No > package matching 'nginx' is available"}
---
- hosts: all
  tasks:
    - name: ensure nginx is at the latest version
      apt: name=nginx state=latest
    - name: start nginx
      service:
          name: nginx
          state: started

Что может быть не так?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
2 411
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Если машина была настроена всего несколько секунд назад, то вам нужно запустить apt update хотя бы один раз.

Вы можете сделать это через Ansible:

---
- hosts: all
  tasks:
    - name: Update and upgrade apt packages
      apt:
        update_cache: yes
        upgrade: yes
    - name: ensure nginx is at the latest version
      apt: name=nginx state=latest
    - name: start nginx
      service:
          name: nginx
          state: started
Ответ принят как подходящий

Ответ guettli правильный, но вы также можете сделать его короче, вызвав модуль apt только один раз:

---
- hosts: all
  tasks:
    - name: Update and upgrade apt packages
      apt:
        name: nginx
        state: latest
        update_cache: yes
        upgrade: yes
    - name: start nginx
      service:
          name: nginx
          state: started

Другие вопросы по теме

Как я могу создать многократно используемые «функции», состоящие из задач, которые можно вызывать несколько раз в playbooks с разными аргументами/переменными?
Можно зацикливаться до тех пор, пока результат не будет пустым
Обнаружение «объекта dict» не имеет атрибута «результаты» с Ansible, несмотря на предыдущие проверки, указывающие на то, что он существует
Как выполнить запрос mysql с паролем в ansible playbook
Как дождаться, пока ssh станет доступным на хосте, прежде чем устанавливать роль?
Используйте Ansible, чтобы убедиться, что файл существует, игнорируя любые дополнительные строки
Указание нескольких групп в качестве хостов из разных инвентарей в плейбуке Ansible
Как получить доступный вывод без двойных кавычек
Как зациклить несколько зависимых задач в Ansible
Доступ к переменной из одной роли в другой роли в Ansible playbook с несколькими хостами