我对Ansible很陌生,并试图自动化安装TeamSpeak 3服务器的工作。可悲的是,我遇到了一些错误:
- 如果我尝试使用
ansible-playbook
命令运行它,它会要求输入 sudo 密码,即使我明确说明了清单中的become_pass
- 如果我使用
--ask-become-pass
参数重试它,它会运行前两个步骤并指出它找不到下载的文件,在连接到服务器时,我可以确保它存在
这是权限错误吗?或者我无法访问主目录,因为我还没有存储 ssh 密钥?
这是剧本(目前(:
---
- hosts: all
gather_facts: false
become: yes
tasks:
- name: Adding TeamSpeak User
user:
name: ts3
- name: Download TeamSpeak
get_url:
url: https://files.teamspeak-services.com/releases/server/3.9.1/teamspeak3-server_linux_amd64-3.9.1.tar.bz2
dest: /home/ts3/
- name: Extract downloaded folder
unarchive:
src: /home/ts3/teamspeak3-server_linux_amd64-3.9.1.tar.bz2
dest: /home/ts3
缺少
remote_src
- name: Unarchive a file that is already on the remote machine
unarchive:
src: /tmp/foo.zip
dest: /usr/local/bin
remote_src: yes
您可以将这两个任务合并为单个任务,方法是将 src 替换为如下所示的 URL
- name: Unarchive a file that needs to be downloaded (added in 2.0)
unarchive:
src: https://example.com/example.zip
dest: /usr/local/bin
remote_src: yes