在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
如果你知道更好的做法,請留下你的做法?,祝你好運!!