安卓手机改造服务器——解决chroot下无法使用systemctl

在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

如果你知道更好的做法,请留下你的做法🤞,祝你好运‎!!

posted @   sw-code  阅读(15850)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
点击右上角即可分享
微信分享提示
主题色彩