systemctl 抱怨没有安装配置,但它确实存在

systemctl 抱怨没有安装配置,但它确实存在

在关注的同时本教程是关于在 CentOS 上安装 tomcat我在执行该行时遇到了问题sudo systemctl enable tomcat- 它抱怨以下错误消息:

The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.

但是,我的[安装]部分中显然有一个条目:

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms256M -Xmx512M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[INSTALL]
WantedBy=multi-user.target

我如何才能让它允许我启用这项服务?我认为我已经按照它的要求做了所有正确的事情。

答案1

您的 systemd 单元没有[Install]部分。但是,它有一个[INSTALL]部分。部分名称区分大小写。

答案2

当您已启用该服务并且符号链接已存在于 /etc/systemd/system/multi-user.target.wants/ 中时,在 CentOS 7 上(至少)也可以看到类似的警告(单元文件没有 [Install] 部分。它们不打算使用 systemctl 启用。)。我在从make install用于在新配置的 droplet(VPS)上安装应用程序的 Makefile 重新运行时发现了这一点。

相关内容