统信uos临时目录需分层重定向:1. 系统级/tmp通过/etc/fstab绑定或tmpfs挂载;2. 用户级xdg_runtime_dir和tmpdir在~/.bashrc中导出;3. /var/tmp通过/etc/tmpfiles.d/规则重映射至/data/var-tmp。

您需要将统信UOS系统中程序运行时生成的临时文件(如/tmp、/var/tmp及图形界面应用缓存)统一指向一个自定义路径,比如迁移到大容量分区或SSD寿命敏感场景下的非系统盘,但发现系统设置里没有“临时目录”开关——这是因为UOS沿用Linux标准机制,临时目录路径由内核挂载策略、systemd配置和用户级环境变量共同决定,需分层干预。
重定向系统级临时目录 /tmp
这一步直接改变根目录下的/tmp行为,影响所有用户和进程,必须使用tmpfs挂载或磁盘目录绑定。
打开终端,执行:sudo nano /etc/fstab。
在文件末尾新增一行(以将/tmp挂载到/data/tmp为例):tmpfs /tmp tmpfs defaults,size=2G,mode=1777 0 0。若要使用真实磁盘目录而非内存,则改写为:/data/tmp /tmp none bind 0 0。
【/data/tmp必须提前创建且权限设为1777:sudo mkdir -p /data/tmp && sudo chmod 1777 /data/tmp】。否则系统启动时挂载失败,可能导致桌面无法加载。
保存退出后执行:sudo mount -a立即生效;重启后自动按fstab规则挂载。
调整用户级运行时与临时目录($XDG_RUNTIME_DIR 和 $TMPDIR)
图形界面应用(如浏览器、截图工具)默认读取XDG规范定义的运行时目录,它通常指向/run/user/1000,但可被覆盖。此步骤确保新登录的GUI程序使用您指定的路径。
编辑当前用户shell配置文件:nano ~/.bashrc(如用zsh则改~/.zshrc)。
在文件末尾添加两行:
export XDG_RUNTIME_DIR="/data/runtime"
export TMPDIR="/data/tmp"
执行source ~/.bashrc使当前终端生效;新打开的图形程序将在下次登录后读取该变量。
注意:XDG_RUNTIME_DIR路径不能是tmpfs,必须是可持久化目录,且需确保每次登录时该目录存在并属当前用户——可在~/.bashrc中加一句mkdir -p /data/runtime && chown $USER:$USER /data/runtime自动处理。
重映射 /var/tmp(系统服务长期缓存目录)
/var/tmp用于存放需跨重启保留的临时文件,如打印队列、更新缓存等,由systemd-tmpfiles管理,不可直接挂载tmpfs。
方法一:通过systemd-tmpfiles规则重映射
执行:sudo nano /etc/tmpfiles.d/custom-var-tmp.conf。
写入内容:d /var/tmp 1777 root root - /data/var-tmp(第一字段d表示创建目录,最后字段指定目标路径)。
创建目标目录:sudo mkdir -p /data/var-tmp && sudo chmod 1777 /data/var-tmp。











