代码之家  ›  专栏  ›  技术社区  ›  creyD Ratha Pech

Ansible找不到下载的文件

  •  0
  • creyD Ratha Pech  · 技术社区  · 5 年前

    我对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
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   Prakash Krishna    5 年前

    缺少远程-SRC

    - name: Unarchive a file that is already on the remote machine
      unarchive:
        src: /tmp/foo.zip
        dest: /usr/local/bin
        remote_src: yes
    

    您可以将这两个任务合并为单个任务,方法是用如下所示的URL替换SRC

    - 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