首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在systemd服务中用/tmp写入PrivateTmp=true

无法在systemd服务中用/tmp写入PrivateTmp=true
EN

Server Fault用户
提问于 2021-06-07 17:12:29
回答 2查看 1.9K关注 0票数 1

我的apache2服务有PrivateTmp=true。当服务第一次启动时,它可以正常工作,但是几天后,向/tmp写入“没有这样的文件或目录”就失败了。为了调试,我尝试了运行nsenter -t <apache-pid> -m bash,并确认了/tmp的存在,但是mkdir /tmp/test在“没有这样的文件或目录”时失败了。我不想删除PrivateTmp=true指令。

如果我重新启动服务,它就会重新开始工作。

/tmp内部的挂载行表示它被挂载到/dev/nvme0n1,这在我看来很奇怪,但无论是在/tmp启动后立即工作时还是当它不可写时,都是如此。

有人知道为什么/tmp突然变得不可写了吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2021-06-07 18:19:56

我发现了问题。

我启用并配置了tmpreaper,以清理/tmp下的旧文件和目录。我没有/tmp/systemd-private-*的排除规则,所以tmpreaper删除了apache2的私有tmp目录。

票数 2
EN

Server Fault用户

发布于 2021-06-07 18:14:21

据我所知,PrivateTmp=true完全禁止您在调试时尝试的内容。守护进程将创建自己的子目录,并相应地更改其命名空间。

由于您的问题只在一段时间后才会发生,所以我有以下建议:确保应用程序清理,并且不将大型文件存储在虚拟/tmp目录中。据我所知,这个目录正在使用RAM,没有持久的文件系统。你在这里的空间有限。

您可能需要将/tmp目录的大小记录一段时间。如果它继续增长,这就是问题所在。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1065999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档