使用 update-rc.d 为 Ubuntu 添加额外的 tomcat 实例失败
Adding additional tomcat instance using update-rc.d for Ubuntu fails
我的问题简而言之:我无法设置 tomcat.
的多个实例
这开始发生在使用 tomcat8 的新 Ubuntu 16.04 设置上。相同的配置在 Ubuntu 12.04 和 tomcat7.
上运行良好
我已经安装了 tomcat8 和 tomcat8-user:
apt-get install tomcat8
apt-get install tomcat8-user
然后我创建 tomcat:
的新实例
tomcat8-instance-create -p 8081 -c 8006 -w shutdown-test /var/lib/tomcat8-test
我复制所有必要的 tomcat 工作和 conf 文件和文件夹。
接下来我为新实例复制 [=41=]8 脚本:
/etc/init.d# cp tomcat8 tomcat8-test
我用这样的新数据更新脚本:
/etc/init.d# nano tomcat8-test
# file contents
NAME=tomcat8-test
DESC="Tomcat 8 Test instance"
CATALINA_HOME=/usr/share/tomcat8
最后我尝试更新服务的新脚本 link:
/etc/init.d# update-rc.d tomcat8-test defaults 90
我收到以下消息:
insserv: script tomcat8-test: service tomcat8 already provided!
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
有没有其他人经历过这样的事情?
我设法找到自己的是:
source: [https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot][1]
insserv: script X: service Y already provided!
Bug in the package with script X: The facility provided in script /etc/init.d/X uses a non-unique value. Changing it to a unique value (for example the script name without .sh ending), solves the issue.
我在 /etc/init.d/tomcat8-test 中额外修改脚本后开始工作:
### BEGIN INIT INFO
# Provides: tomcat8
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: $named
# Should-Stop: $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Tomcat.
# Description: Start the Tomcat servlet engine.
### END INIT INFO
至:
### BEGIN INIT INFO
# Provides: tomcat8-test
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: $named
# Should-Stop: $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Tomcat.
# Description: Start the Tomcat servlet engine.
### END INIT INFO
这很奇怪,我不需要在 ubuntu 12.04 上用 tomcat7 更新它:)。我以为这只是一条评论,但看起来它正在以某种方式执行。
我的问题简而言之:我无法设置 tomcat.
的多个实例这开始发生在使用 tomcat8 的新 Ubuntu 16.04 设置上。相同的配置在 Ubuntu 12.04 和 tomcat7.
上运行良好我已经安装了 tomcat8 和 tomcat8-user:
apt-get install tomcat8
apt-get install tomcat8-user
然后我创建 tomcat:
的新实例tomcat8-instance-create -p 8081 -c 8006 -w shutdown-test /var/lib/tomcat8-test
我复制所有必要的 tomcat 工作和 conf 文件和文件夹。 接下来我为新实例复制 [=41=]8 脚本:
/etc/init.d# cp tomcat8 tomcat8-test
我用这样的新数据更新脚本:
/etc/init.d# nano tomcat8-test
# file contents
NAME=tomcat8-test
DESC="Tomcat 8 Test instance"
CATALINA_HOME=/usr/share/tomcat8
最后我尝试更新服务的新脚本 link:
/etc/init.d# update-rc.d tomcat8-test defaults 90
我收到以下消息:
insserv: script tomcat8-test: service tomcat8 already provided! insserv: exiting now!
update-rc.d: error: insserv rejected the script header
有没有其他人经历过这样的事情?
我设法找到自己的是:
source: [https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot][1]
insserv: script X: service Y already provided!
Bug in the package with script X: The facility provided in script /etc/init.d/X uses a non-unique value. Changing it to a unique value (for example the script name without .sh ending), solves the issue.
我在 /etc/init.d/tomcat8-test 中额外修改脚本后开始工作:
### BEGIN INIT INFO
# Provides: tomcat8
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: $named
# Should-Stop: $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Tomcat.
# Description: Start the Tomcat servlet engine.
### END INIT INFO
至:
### BEGIN INIT INFO
# Provides: tomcat8-test
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: $named
# Should-Stop: $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Tomcat.
# Description: Start the Tomcat servlet engine.
### END INIT INFO
这很奇怪,我不需要在 ubuntu 12.04 上用 tomcat7 更新它:)。我以为这只是一条评论,但看起来它正在以某种方式执行。