cntlmd无法在Centos 7.1上的systemd下启动

Don*_*ler 3 systemd centos7

尝试cntlmd在Centos 7.1 上启动时出现了一个奇怪的错误.

systemctl start cntlmd 在日志中产生以下结果(是的,becomming正是它在日志中拼写的方式:)):

systemd: Started SYSV: Cntlm is meant to be given your proxy address and becomming.

奇怪的是:

  • 它在安装后最初运行.
  • 完全相同的配置在另一台机器上完美运行(使用Chef配置,因此100%相同的配置).
  • 如果我在前台运行它,它可以通过systemd工作,而不是.

为了"修复"它,我不得不手动删除并重新安装,然后再次工作.

有人看到这个错误(Google没有透露任何内容)并知道发生了什么事吗?

Don*_*ler 12

我意识到/var/run/cntlm每次启动后该目录似乎都被"删除"了.原来这个/var/run/cntlm目录永远不会被systemd-tmpfiles在启动时创建(感谢这个SO答案),然后导致:

Feb 29 06:13:04 node01 cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
Feb 29 06:13:04 node01 cntlm[10540]: Daemon ready
Feb 29 06:13:04 node01 cntlm[10540]: Changing uid:gid to 996:995 - Success
Feb 29 06:13:04 node01 cntlm[10540]: Error creating a new PID file
Run Code Online (Sandbox Code Playgroud)

因为cntlm不能写它的pid文件因为/var/run/cntlm不存在.

因此,要使systemd-tmpfiles /var/run/cntlm在启动时创建目录,您需要添加以下文件/usr/lib/tmpfiles.d/cntlm.conf:

d /run/cntlm   700 cntlm cntlm
Run Code Online (Sandbox Code Playgroud)

重启,鲍勃是你的叔叔.