![如何设置 gogs 服务运行级别](https://linux22.com/image/93526/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%20gogs%20%E6%9C%8D%E5%8A%A1%E8%BF%90%E8%A1%8C%E7%BA%A7%E5%88%AB.png)
我启用了 gog 服务并收到以下消息。
$ sudo systemctl enable gogs
Synchronizing state for gogs.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d gogs defaults
insserv: warning: script 'K01tightvncserver' missing LSB tags and overrides
insserv: warning: script 'tightvncserver' missing LSB tags and overrides
Executing /usr/sbin/update-rc.d gogs enable
update-rc.d: error: gogs Default-Start contains no runlevels, aborting.
除了警告之外,我发现与 gogs 运行级别相关的错误,如何设置 gogs 服务的运行级别,该服务应该在 LAMP 服务运行后启动。
该/etc/inittab
文件不存在,也许 raspbian 的处理方式与 cents 不同
我运行以下命令并收到以下消息。
$ sudo systemctl status gogs.service
● gogs.service - Gogs (Go Git Service)
Loaded: loaded (/etc/systemd/system/gogs.service; enabled)
Active: failed (Result: start-limit) since Sat 2016-09-03 05:39:14 UTC; 18s ago
Process: 1411 ExecStart=/home/git/gogs/gogs web (code=exited, status=1/FAILURE)
Main PID: 1411 (code=exited, status=1/FAILURE)
Sep 03 05:39:14 raspberrypi systemd[1]: Unit gogs.service entered failed state.
Sep 03 05:39:14 raspberrypi systemd[1]: gogs.service holdoff time over, scheduling restart.
Sep 03 05:39:14 raspberrypi systemd[1]: Stopping Gogs (Go Git Service)...
Sep 03 05:39:14 raspberrypi systemd[1]: Starting Gogs (Go Git Service)...
Sep 03 05:39:14 raspberrypi systemd[1]: gogs.service start request repeated too quickly, refusing to start.
Sep 03 05:39:14 raspberrypi systemd[1]: Failed to start Gogs (Go Git Service).
Sep 03 05:39:14 raspberrypi systemd[1]: Unit gogs.service entered failed state.
答案1
该/etc/inittab
文件不存在因为您使用的是 systemd 操作系统。您不使用/etc/inittab
,因为它已成为过去;您不使用运行级别,因为根据 systemd doco,它们是“过时的”;并且您不使用 van Smoorenburgrc
脚本。
Ferenc Wágner 认为您正在使用“发行版提供的脚本”。你显然不是。 Debian 不包含 gogs,要求将其打包到 Debian 中的人后来说,对于初学者来说这可能是不可能的。您没有使用任何“发行版提供的”东西。
你显然甚至没有使用gogs自己的van Smoorenburgrc
脚本, 任何一个。可以看出,它实际上包含 M. Wágner 评论的 LSB 标头,并且一直如此。
但是所有关于如何修复非 Debian non-gogs van Smoorenburgrc
脚本的讨论都是误导性的。您正在使用 systemd 操作系统,并且 gogs 附带了 systemd 服务单元。用它!
它是gogs.service
,就在 gogs 源代码中。
它甚至还有一些服务订购关系建议。
进一步阅读
- 乔纳森·德博因·波拉德 (2015)。
/etc/inittab
已成为过去。。经常给出的答案。 - 奥努尔·阿斯兰 (2015-06-16)。 RFP:gogs——用 Go 编写的自托管 Git 服务。 780606.Debian 错误跟踪系统。
答案2
在开头/etc/init.d/gogs
应该有一个评论块,例如
### BEGIN INIT INFO
# Provides: gogs
# Required-Start: apache mysql
# Required-Stop: apache mysql
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: no idea what this could be
### END INIT INFO
您的错误消息指出Default-Start
不包含运行级别。这很奇怪,发行版提供的初始化脚本确实应该有它。尝试像上面的例子一样填写它(完全是我的想法)。