Я учусь использовать 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" пример.