【问题标题】:ansible: How to change $HOME directoryansible:如何更改 $HOME 目录
【发布时间】:2020-06-26 10:47:45
【问题描述】:

我在我的控制机Ubuntu 18.04 Desktop 中运行ansible 2.9.6 控制没有/home/username/ 目录的单个服务器Ubuntu 16.04 服务器。 我也不打算创建一个。

我只是想从控制机在从机中创建一个新文件夹“/usr/local/src/fromcontrolmachine”

所以我跑到下面的命令

 dinesh@dinesh-VirtualBox:/etc/ansible$ ansible all -u dira
 --become -m file -a "dest=/usr/local/src/fromcontrolmachine mode=755 owner=dira group=dira state=directory" -K 

成为密码:

> 10.211.108.44 | FAILED! => {
>     "changed": false, 
>     "module_stderr": "Shared connection to 10.211.108.44 closed.\r\n", 
>     "module_stdout": "Could not chdir to home directory /home/dira: No such file or directory\r\n\r\n", 
>     "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", 
>     "rc": 1 }

我想通过添加以下行来更改 $Home 目录 /etc/ansible/ansible.cfg。它只是创建了一个名为ansible的空文件夹

 remote_tmp = usr/local/src/ansible

如何通过指向默认/home/dira以外的其他位置来告诉ansible更改默认$Home目录?

我想清除这个烦人的错误 "module_stdout": "无法 chdir 到主目录 /home/dira271641: 没有这样的文件或目录

更新:

还尝试创建剧本pb.yml 并添加home_dir: /usr/local/src/ansible,如下所述。

---

- hosts: all
  become: true
  tasks:
    - set_fact:
        home_dir: /usr/local/src/ansible
      become: true
    - name: ansible create directory example
      file:
        path: /tmp/devops_directory
        state: directory

当我使用命令ansible-playbook pb.yml -K在上面运行时

但它给出了与上面提到的相同的错误。

更新: 我试过environment: HOME:

---
- hosts: all
  become: true
  environment: 
    HOME: /usr/local/src/ansible
  tasks:
  - name: ansible create directory example
    file:
      path: /tmp/devops_directory
      state: directory

抛出同样的错误

Could not chdir to home directory /home/dira: No such file or directory\r\n\r\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}}, "msg": "The following modules failed to execute: setup\n"}

【问题讨论】:

    标签: ansible


    【解决方案1】:

    添加下一行。

    become_user: dira
    

    解决了这个问题。注意:dira 是我的用户名。因此,请替换您的用户名。 所以完整的剧本脚本看起来像

    ---
    - hosts: all
      become: true
      become_user: dira
      environment: 
        HOME: /usr/local/src/ansible
      tasks:
      - name: ansible create directory example
        file:
          path: /tmp/devops_directory
          state: directory
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-06
      • 2013-10-22
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多