安卓手機改造伺服器——解決chroot下無法使用systemctl

code發表於2021-07-11

在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.

解決辦法

參考文章:https://github.com/smaknsk/servicectl


安裝

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

如果你知道更好的做法,請留下你的做法?,祝你好運‎!!

相關文章