我使用的是 Mac OS X 并且是Ansible 的新手。我忘记了我是如何安装它的。我认为通过pip
:
$ pip freeze
altgraph==0.12
ansible==1.9.2
Run Code Online (Sandbox Code Playgroud)
无论如何,从我正在阅读/etc/ansible/
的内容来看, 中应该有一个配置文件,但该目录的内容只是:
$ ls -a /etc/ansible/
. .. .hosts.swp hosts roles
Run Code Online (Sandbox Code Playgroud)
看起来也没有定义环境变量:
$ echo $ANSIBLE_CONFIG
# blank line
Run Code Online (Sandbox Code Playgroud)
据我所知,Ansible 可以正常工作(没有 local ansible.cfg
,并且ansible
用户目录中的文件夹中没有任何内容),但我很困惑。
有人可以解释一下我没有得到什么吗?
Gia*_*968 16
据我所知,Ansible配置文件 ( ansible.cfg
) 可能位于此处用于用户级配置设置:
~/.ansible.cfg
Run Code Online (Sandbox Code Playgroud)
以及位于此处的系统范围配置;您声明找不到任何此类文件的地方:
/etc/ansible/ansible.cfg
Run Code Online (Sandbox Code Playgroud)
如果不知何故您的系统上有多个用户,也许~/.ansible.cfg
您忘记了他们的用户目录之一浮动?
您说您可能已经使用 安装了它pip
,但是检查Ansible 的 Homebrew 公式,它最近才在 9 月 4 日从 1.9.2 版升级到 1.9.3 版。所以也许你是通过 Homebrew 安装的?
而您主要关心的似乎是是否ansible.cfg
有必要:
据我所知,Ansible 可以正常工作(没有 local
ansible.cfg
,并且ansible
用户目录中的文件夹中没有任何内容),但我很困惑。有人可以解释一下我没有得到什么吗?
是的,它应该可以在没有配置的情况下正常工作。对于大多数软件,配置文件所做的就是覆盖核心系统默认值。因此,如果ansible.cfg
缺少,Ansible 仍然可以工作,但只会使用核心系统默认值。正如Ansible 的官方文档中所解释的:
Ansible 中的某些设置可通过配置文件进行调整。库存配置对于大多数用户来说应该足够了,但您可能有一些原因想要更改它们。
可以在将按以下顺序处理的配置文件中进行更改和使用:
Run Code Online (Sandbox Code Playgroud)* ANSIBLE_CONFIG (an environment variable) * ansible.cfg (in the current directory) * .ansible.cfg (in the home directory) * /etc/ansible/ansible.cfg
Mik*_*e D 16
该homebrew
公式替换字符串/etc/ansible
中constants.py
使用/usr/local/etc/ansible
。对我来说似乎是坏枣。
我没有/usr/local/etc/ansible
后brew install ansible
。但是,我确实确认,如果你在ansible.cfg
那里放了一个有效的,它将受到尊重(现在)。
我的建议:
brew
用来安装Ansible
./etc/ansible/ansible.cfg
.代码参考:
brew ansible 公式替换 #475: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/ansible.rb#L475
ansible constants.py #61:https : //github.com/ansible/ansible/blob/v1.9.3-1/lib/ansible/constants.py#L61
在 OSX 上,我使用 pip 安装了 ansible,发现 /etc/ansible 或我的主目录中不存在 ansible.cfg。
来源:https : //github.com/ansible/ansible/issues/18512
pip 通常不安装配置文件,带有 ansible 的 pip 也不例外。如果您只是想尝试 ansible,它通常可以在没有 ansible.cfg 文件的情况下工作。(您确实需要指定一些清单,但如果需要,您可以在命令行而不是文件上执行此操作)。如果你想得到一个示例配置文件来适应,你可以从 tarball 或这里的源存储库中获取它:https : //github.com/ansible/ansible/blob/devel/examples/ansible.cfg
清单文件解释如下:http : //docs.ansible.com/ansible/intro_inventory.html要在命令行上指定用于清单的主机,只需执行以下操作:
ansible -i 'host1,host2,host3' all -m command -a 'hostname'
Run Code Online (Sandbox Code Playgroud)
如果要通过命令行指定单个主机,请在清单字符串中使用尾随逗号:
ansible -i 'host1,' all -m command -a 'hostname'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
53762 次 |
最近记录: |