devkitai-server.service启动失败(Exit Code 203/EXEC)的解决方法
现象描述
在执行systemctl status devkitai-server.service时,发现服务状态为failed,重启服务5次失败后放弃,部分报错信息:code=exited,status=203/EXEC。详细的报错截图如下。

可能原因
在标准的Linux安全策略中,“/home”目录下的文件通常被标记为user_home_t上下文,而systemd启动的服务进程通常没有权限直接执行user_home_t上下文的可执行文件。由于SELinux处于Enforcing(强制)模式,内核拒绝了执行请求,导致systemd收到203/EXEC错误。
处理步骤
临时验证,快速定位问题是否为SELinux策略导致。
- 临时关闭SELinux强制模式。
sudo setenforce 0
- 重启服务。
sudo systemctl restart devkitai-server
- 检查状态。
sudo systemctl status devkitai-server
临时关闭SELinux强制模式后服务正常即确认问题是SELinux策略导致,其中临时关闭SELinux强制模式仅临时生效,重启后失效。此方法用于确认问题确实由SELinux引起,不建议作为生产环境的长期配置。
- 若需长期运行,可改用前台启动方式启动。
前台启动方式使用详情请参见2.3章节安装步骤的前台启动进行操作,前台启动不受systemd的SELinux上下文限制。
- (可选)备选方案,将DevKit AI相关资源部署到SELinux策略允许执行的目录(如/opt或/usr/local)运行。
- 将DevKit AI相关资源移动到/opt目录。
sudo mv /home/DevKit-AI-x.x.x-Linux-Kunpeng /opt/DevKit-AI-x.x.x-Linux-Kunpeng
- 修改systemd服务文件(/etc/systemd/system/devkitai-server.service)中的ExecStart路径。
ExecStart=/home/DevKit-AI-xxx-Linux-Kunpeng/devkitai server
修改后:
ExecStart=/opt/DevKit-AI-xxx-Linux-Kunpeng/devkitai server
- 重载systemd配置并重启服务。
sudo systemctl daemon-reload sudo systemctl restart devkitai-server sudo systemctl status devkitai-server
每次修改systemd服务文件的ExecStart后,必须执行systemctl daemon-reload才能使更改生效。
- 将DevKit AI相关资源移动到/opt目录。
父主题: FAQ