Назад | Перейти на главную страницу

Новичок: Ansible Оскорбительная строка выглядит так:

Я учусь использовать ansible и пишу сценарий для своего локального рабочего стола. Я использую редактор атомов и установил линтер. Я не получаю никаких ошибок во время записи, но затем, когда я запускаю playbook, я получаю сообщение об ошибке: «Кажется, что строка с ошибкой»

    Here's my current Playbook:


---
- hosts: localhost
  tasks:

        - name: Install .deb packages from the internet.
          apt:
          deb:
          - https://packagecloud.io/AtomEditor/atom/any/
          - https://updates.signal.org/desktop/apt
          - http://ppa.launchpad.net/webupd8team/brackets/ubuntu
          - http://ppa.launchpad.net/nextcloud-devs/client/ubuntu
          - http://repository.spotify.com stable non-free
          - http://download.xnview.com/XnConvert-linux-x64.deb
          - https://updates.signal.org/desktop/apt xenial main




        - name: Install a list of packages
          update_cache: yes
          apt:
            pkg:
            - AtomEditor
            - brackets
            - calibre
            - chromium-browser
            - filezilla
            - firefox-locale-de
            - gimp
            - gparted
            - gscan2pdf
            - gstreamer1.0-pulseaudio
            - keepassxc
            - nextcloud-client
            - nextcloud-client-nautilus
            - pdfshuffler
            - python-nautilus
            - spotify
            - tipp10
            - vlc
            - XnConvert



        - name: no tracking
          become: true
          vars:
            packages_absent:
              - apport
              - gnome-intial-setup
              - ubuntu-web-launchers


        - name: Remove useless packages from the cache
          apt:
          autoclean: yes


        - name: Remove dependencies that are no longer required
          apt:
          autoremove: yes

Тогда мой терминал сообщает мне:

The offending line appears to be:

  tasks:
    - name: no tracking
      ^ here

Я знаю, что это вопрос новичков, и, вероятно, в моем учебнике гораздо больше проблем. Но я рад любой помощи.

Обратите внимание на отступ для параметров:

Похоже на deb: параметр (и остальная часть его раздела) требует большего отступа. Таким образом, вместо

    - name: Install .deb packages from the internet.
      apt:
      deb:
      - https://packagecloud.io/AtomEditor/atom/any/
      - ...

добавить отступ к deb: чтобы сделать его параметром,

    - name: Install .deb packages from the internet.
      apt:
        deb:
        - https://packagecloud.io/AtomEditor/atom/any/
        - ...

Без отступов Ansible не поймет deb: быть параметром apt: модуль; скорее он попытается понять его как директиву, влияющую на то, как apt: используется (так нравится notify:, become:, ignore_errors: и т.д)

то же самое для update_cache: так что вместо

    - name: Install a list of packages
      update_cache: yes
      apt:
        pkg:
        - AtomEditor
        - ...

шаг update_cache: в пределах apt: и сделайте отступ,

    - name: Install a list of packages
      apt:
        update_cache: yes
        pkg:
        - AtomEditor
        - ...

так же,

    - name: Remove useless packages from the cache
      apt:
        autoclean: yes

и наконец я не понимаю, что вы пытаетесь сделать с 'без отслеживания' часть; Я не знаю vars: модуль. Возможно, вы захотите удалить эти пакеты, если они есть, и в этом случае см. Документацию для apt: модуль, особенно то 'Удалить пакет "foo" пример.