卸载部分插件后CentOS7上的Jenkins服务启动失败如何修复
排查与修复方案
根因说明
该问题和卸载插件无直接关联,仅为重启操作触发了潜在的权限异常:日志明确显示Jenkins进程以jenkins用户身份启动时,无法在/tmp目录创建临时文件,抛出权限拒绝错误。
排查步骤
- 检查
/tmp目录基础权限
执行命令查看目录权限:ls -ld /tmp
正常CentOS 7系统中/tmp权限应为drwxrwxrwt(权限值1777),所有人拥有读写执行权限且设置了粘滞位,确保普通用户可以创建自身所属的临时文件。 - 检查
/tmp目录资源占用
查看磁盘空间使用:df -h /tmp,确认/tmp挂载点剩余空间不为0
查看inode使用:df -i /tmp,确认inode使用率未达到100% - 检查Jenkins服务的PrivateTmp配置
执行命令查看服务配置:grep PrivateTmp /usr/lib/systemd/system/jenkins.service
若开启了PrivateTmp=yes,systemd会为Jenkins单独创建私有临时目录,若该目录权限异常也会触发创建失败问题。
修复方案
场景1:/tmp目录权限异常
执行命令修复权限:
sudo chmod 1777 /tmp
执行后再次用ls -ld /tmp验证权限是否符合预期即可。
场景2:/tmp资源耗尽
清理/tmp目录下的无用临时文件,释放磁盘空间或inode,清理时注意不要删除其他运行中进程正在使用的临时文件。
场景3:PrivateTmp配置异常
- 临时验证方案:将
jenkins.service中的PrivateTmp=yes修改为PrivateTmp=no,执行sudo systemctl daemon-reload重载配置后重启Jenkins测试。 - 保留PrivateTmp的修复方案:检查
/tmp下前缀为systemd-private-*-jenkins.service-*的目录权限,确保目录权限为700且属主为root即可。
效果验证
修复完成后执行重启命令:
sudo systemctl restart jenkins
执行systemctl status jenkins查看服务状态,显示active (running)即为修复成功。
内容的提问来源于stack exchange,提问作者DavidA
相关产品推荐
相关产品推荐

