我有this已知问题。所以我尝试修复它,但我没有看到我在哪里创建我的ansible.cfg(或它已经存在)?我在我的家庭目录中尝试过,但它仍然没有用。
sudo vi ~/.ansible.cfg
我读了很多关于/ etc / ansible的内容,但在我的系统上却没有。
我在Mac El Capitan。我使用pip
安装了ansible。
ansible --version
ansible 1.9.4
configured module search path = None
答案 0 :(得分:8)
来自docs:
可以在配置文件中进行更改,并按以下顺序处理:
- ANSIBLE_CONFIG(环境变量)
- ansible.cfg(在当前目录中)
- .ansible.cfg(在主目录中)
- /etc/ansible/ansible.cfg
我不确定这是否100%适用于1.9.4。 Ansible在编写文档时非常糟糕。 (=只有一个版本,并不总是提到引入或更改功能的版本)
但我确信除~/.ansible.cfg
之外的所有内容都在1.x中运行,因为我之前已经尝试过。
因此,如果您创建了~/.ansible.cfg
并且未使用它,请检查环境var ANSIBLE_CONFIG
是否已设置,或者您调用ansible的目录中是否有一个文件。找到的第一个将被使用。 按以下顺序处理并不意味着它们将按该顺序合并。第一个获胜。
我读了很多关于/ etc / ansible的内容,但在我的系统上它并没有。
是的,这取决于Ansible的安装方式。如果它不在那里你就可以创建它,但如果你不需要它,就不需要创建它。我实际上删除了我,因为我觉得没用。
答案 1 :(得分:2)
对于最新版本(2.7.6),如果通过pip安装,则不会在/ etc中获得ansible文件夹。 所以这就是当您执行ansible --version
时得到的ctrl.valid
但是一旦您在/ etc下将ansible手动创建目录并添加ansible.cfg文件,ansible便会自动检测到它。但是您必须手动配置其余部分,例如hosts file..etc。所以之后我们得到
ansible --version
ansible 2.7.6
config file = None
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
答案 2 :(得分:0)
使用点子时我得到了同样的东西。但是我认为更好的方法是根据您的操作系统使用apt或yum。 我有centOS,所以以下人员对我有用。
要获得适用于CentOS 7的Ansible,首先请确保已安装CentOS 7 EPEL存储库:
sudo yum install epel-release
一旦安装了存储库,请使用yum安装Ansible:
sudo yum install ansible
我们现在拥有通过Ansible管理服务器所需的所有软件。
参考:https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-ansible-on-centos-7