当我尝试在我的服务器(Windows 2008 R2)上安装我的木偶代理时,confdir似乎默认为u:\ drive。 U:用户不存在驱动器。
我也可以看到puppet labs目录在C:\ProgramData\PuppetLabs\puppet\etc
当我试图通过运行木偶:
puppet agent --test
我仍然得到以下错误。
Validation of File[U:/.puppet/var/log] failed: Failed to get volume information: The system cannot find the path specified.
我已经在我的其他Windows 2008 R2服务器上成功安装了这个软件。 有任何想法吗?
您以非pipe理员身份(或作为非高级shell中的pipe理员)运行puppet,而$env:HOME (或cmd.exe中的%HOME% )正在评估U:\ – 您应该修复此问题HOME目录确实是(通常是C:\Users\username 。
PS C:\> $env:Home C:\Users\rob
如果您作为Administrators组的成员(在提升的shell中)运行,它将展开到C:\ProgramData\PuppetLabs ,但是当您在非提升实例中运行时,它的计算结果为~/.puppet 。 Ruby通过查看HOME , HOMEDRIVE和USERPROFILE在Windows上转换“〜”。 如果它发现其中的一个使用它们。 所以,如果你没有findHOME设置,看看另外两个variables。
这是Puppet设置的地方:
我不build议以非pipe理员身份运行代理程序testing,因为已安装的服务以pipe理员身份运行 – 它将尝试从主服务器请求另一个证书,因为它已经有一个(只允许一个)而失败。
除非您的服务被禁用,或者您在安装之后做了一些额外的工作来设置它,否则它所运行的帐户是本地Administrators组的成员(或者在安装过程中成为一个成员)。
你可以运行无pipe理员作为非pipe理员puppet apply ,没有问题。
要更改环境variables,请转到“控制”面板中的“系统属性”中的高级 – >环境variables…并查看用户和系统variables的HOME(请参阅图像)。 然后只需双击你想改变和编辑它。
