启动chef-client

时间:2015-11-18 10:16:47

标签: chef locale environment

在我的服务器上运行chef-client时,由于语言环境变量而导致c ++二进制文件的服务重启时出现问题。

在启动chef-client之前,我有我的语言环境:

LANG=POSIX
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

问题是,当chef-client启动时,语言环境会发生变化,它变为:

 LANG=C.UTF-8
LANGUAGE=C.UTF-8
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=C.UTF-8

并在执行完成后返回POSIX。

我如何解决这个问题?并且chef-client从哪里获得默认编码设置?二进制文件应该与POSIX一起运行(我可以通过在init脚本中执行导出LC_ALL = POSIX来修复它,但我想知道根问题)

注意:我没有厨师 - 客户11这个问题,一旦我更新为chef-client 12,我就知道了

1 个答案:

答案 0 :(得分:0)

相关代码有效here

基本上在Chef 12中,我们尝试通过检测系统区域设置来修复由不正确的设置引起的区域设置问题的长尾。这可能无法正常工作。您始终可以通过environment属性在执行资源上显式设置它。