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} 변수가 정의되어 있는지 확인해보세요.

관련 정보