Ansible无法创建符号链接

时间:2019-09-10 13:17:04

标签: linux ansible ansible-2.x

我正在尝试创建符号链接,但无法解决此错误。请为我提供有关如何解决此错误的解决方案

代码:在文件夹/ usr / local / bin中为/ usr / local / bin / terraform-env / bin / *创建符号链接 我尝试使用/ usr / local / bin /(带斜线和不带斜线)

- name: Move tfenv   file:
    src: "/usr/local/bin/terraform-env/bin/{{ item.src }}"
    dest: "/usr/local/bin/"
    state: link
    owner: root
    group: root
    mode: 755
    force: yes   
  with_items:
    - src: terraform
    - src: tfenv

TASK [terraform : Move tfenv] **************************************************
task path: /opt/ansible/roles/terraform/tasks/main.yml:16
failed: [127.0.0.1] (item={'src': 'terraform'}) => {"changed": false, "gid": 0, "group": "root", "item": {"src": "terraform"}, "mode": "0755", "msg": "the directory /usr/local/bin/ is not empty, refusing to convert it", "owner": "root", "path": "/usr/local/bin/", "size": 4096, "state": "directory", "uid": 0}
failed: [127.0.0.1] (item={'src': 'tfenv'}) => {"changed": false, "gid": 0, "group": "root", "item": {"src": "tfenv"}, "mode": "0755", "msg": "the directory /usr/local/bin/ is not empty, refusing to convert it", "owner": "root", "path": "/usr/local/bin/", "size": 4096, "state": "directory", "uid": 0}

使用ansible 2.8.3

1 个答案:

答案 0 :(得分:1)

  

/ usr / local / bin /目录不为空,拒绝转换

您试图直接在现有目录上创建符号链接,而不是在该目录中创建一个条目来支持符号链接。以下更正的任务应该可以帮助您完成工作:

- name: Move tfenv   file:
    src: "/usr/local/bin/terraform-env/bin/{{ item.src }}"
    dest: "/usr/local/bin/{{ item.src }}"
    state: link
    owner: root
    group: root
    mode: 755
    force: yes   
  with_items:
    - src: terraform
    - src: tfenv