在Linux Deploy中安装的CentOS7无法使用
systemctl
命令,没关系我们有其他办法
写在前面
对于这个问题,我也是第一次遇见。并没有深入研究,所有如果有哪些地方有问题,欢迎指正。
问题描述
当我们使用systemctl
启动服务时它提示我们
[root@localhost ~]# systemctl start mariadb
Running in chroot, ignoring request.
或者使用service
时
[root@localhost ~]# service mariadb start
Redirecting to /bin/systemctl start mariadb.service
Running in chroot, ignoring request.
解决办法
安装
wget https://github.com/smaknsk/servicectl/archive/1.0.tar.gz
tar -xf 1.0.tar.gz -C /usr/local/lib/
ln -s /usr/local/lib/servicectl-1.0/servicectl /usr/bin/servicectl
ln -s /usr/local/lib/servicectl-1.0/serviced /usr/bin/serviced
使用
servicectl
sudo servicectl action service
此命令仅执行文件 /usr/lib/systemd/system/${service}.service
中的${action}
, 如果通过的操作启用或禁用,则 servicectl
将在 ${service}.service
上创建或删除symlink
以供使用服务。
参数:
- action - 可以是 {
start
,stop
,restart
,reload
,enable
,disable
} - service -在
/usr/lib/systemd/system/
文件夹中的文件
serviced
sudo serviced action
此命令执行 ${action}
为所有启用服务。
参数:
- action -默认是
start
,也可以是: {start
,stop
,restart
,reload
,disable
}
例如
# inside chroot
sudo servicectl enable mariadb
# outside chroot:
# init startup and run all enabled daemons
sudo chroot /path/to/chroot serviced
如果你知道更好的做法,请留下你的做法