You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Yocto中默认的/var/tmp -> /var/volatile/tmp软链接

查找Yocto系统中/var/tmp软链接的创建源头

1. 检查OpenRC初始化脚本(如果不用systemd)

要是你的Yocto用的是OpenRC而非systemd,那这个软链接大概率是/etc/init.d/volatile-rootfs这类初始化脚本创建的,或者和/etc/runlevels/boot/下的关联脚本有关。直接搜一下:

grep -r "/var/tmp" /etc/init.d/ /etc/runlevels/

2. 查volatile-rootfs配方文件

Yocto里负责创建这类临时目录软链接的核心是volatile-rootfs配方,一般在meta/recipes-core/volatile-rootfs/目录下。看看配方里的do_install或者postinst脚本段:

  • 直接看配方内容:
cat meta/recipes-core/volatile-rootfs/volatile-rootfs/*.bb
  • 也可以检查配方生成的${D}/etc/init.d/volatile-rootfs模板文件,里面多半有创建/var/tmp软链接的逻辑。

3. 检查tmpfiles.d配置

systemd的tmpfiles.d配置也可能生成这个软链接,去/usr/lib/tmpfiles.d/或/etc/tmpfiles.d/下搜搜:

grep -r "/var/tmp" /usr/lib/tmpfiles.d/ /etc/tmpfiles.d/

常见的比如volatile.conf或者tmp.conf这类文件里可能藏着相关配置。

4. 排查rootfs构建阶段的脚本

Yocto构建rootfs后期,可能通过ROOTFS_POSTPROCESS_COMMAND命令创建软链接。去本地层或核心层的conf/local.conf、*.bbclass文件里找找相关配置:

grep -r "ROOTFS_POSTPROCESS_COMMAND" meta/ conf/

找到对应命令后,追踪脚本内容,看是不是有创建/var/tmp软链接的操作。

关于SELinux规则损坏的小提示

移除软链接后,得确保/var/tmp目录的SELinux上下文正确,直接用这条命令修复:

restorecon -Rv /var/tmp

要是是自定义服务导致的上下文问题,可能得写个对应的SELinux策略模块来适配新目录的权限。

内容的提问来源于stack exchange,提问作者jianbin zhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 19:12:37