这是全新安装的 Sabayon Linux。我安装了 mysql (equo install dev-db/mysql),配置了它 (emerge --config ...),但它没有开始使用 /etc/init.d 脚本:
# /etc/init.d/mysql start
* WARNING: mysql is already starting
# /etc/init.d/mysql status
* You are attempting to run an openrc service on a
* system which openrc did not boot.
* You may be inside a chroot or you may have used
* another initialization system to boot this system.
* In this situation, you will get unpredictable results!
* If you really want to do this, issue the following command:
* touch /run/openrc/softlevel
# /etc/init.d/mysql stop
* ERROR: mysql stopped by something else
触摸 /run/openrc/softlevel 会导致更多错误。谷歌搜索没有太多建议。
我记得最近在我的 Gentoo 机器上进行了 OpenRC 迁移,但我仍在使用 init.d 脚本。还有什么我没注意到的变化吗?
答案1
一些服务由流程管理器运行,例如:upstart
,,(您的情况)等。如果得到你会发现mysql正在运行,systemd
OpenRC
SysV
ps ax |ergep -i mysql
使用以下文档:OpenRC 文档
答案2
OpenRC 严重依赖状态文件来跟踪服务的预期状态。
它对此并不是特别聪明。
这意味着如果任何如果给定的信息是错误的(即启动前没有正确执行 openrc 关闭的 chroot),它将非常卡住。
A启动-停止-启动顺序应该总是从这种情况中恢复,那么你只需要确保你的顺序正确。
不幸的是,没有法律要求 init 作者阅读有关状态机的内容。