Linux 用户服务无法启动,但该服务存在于 /lib/systemd/system 中并已链接

Linux 用户服务无法启动,但该服务存在于 /lib/systemd/system 中并已链接

我在中定义了以下服务单位/lib/systemd/system/

[Unit]
Description=Kafka and Zookeeper 3 node ensemble
Requires=network.target remote-fs.target
After=network.target remote-fs.target
ConditionPathExists=!/opt/

[Service]
Type=simple
EnvrionmentFile=/etc/environment
User=kafkacluster
Group=kafkacluster
ExecStart=${KAFKA_HOME}/bin/kafka-startj.sh ${KAFKA_HOME}
ExecStop=${KAFKA_HOME}/bin/kafka-stopj.sh ${KAFKA_HOME}
Restart=on-failure
SyslogIdentifier=kafkacluster

[Install]
WantedBy=multi-user.target

之后我运行了以下命令

systemctl enable /lib/systemd/system/kafkacluster.service

这表明这些文件有一个软链接/etc/systemd/system。现在当我跑步时

systemctl start kafkacluster.service

我收到以下错误:

Unit kafkacluster.service failed to load: No such file or directory. See system logs and 'systemctl status kafkacluster.service' for details.

但既然服务已经有了,我不确定还缺少什么。有人能指出我正确的方向吗?

打字错误 条件路径存在=/opt/

的输出systemctl kafkacluster.service

kafkacluster.service
   Loaded: error (Reason: No such file or directory)
   Active: inactive (dead)

答案1

ConditionPathExists=!/opt/

请注意以下事项: 如果传递给 ConditionPathExists= 的绝对路径名带有感叹号(“!”)前缀,则测试将被否定,并且仅当路径不存在时才启动单元。

你的系统中真的没有 /opt/ 目录吗?

另外,检查 ${KAFKA_HOME} 变量是否已定义。

相关内容