麒麟os临时文件夹必须通过挂载机制重定向:一、持久化tmpfs挂载+bind绑定至/tmp;二、用户级修改~/.bashrc中tmpdir;三、系统级配置/etc/environment中tmpdir与temp。

麒麟OS系统临时文件夹路径默认位于/tmp,若系统盘空间紧张或需将临时文件分流至大容量数据盘,必须修改其物理存储位置。直接改环境变量仅影响部分程序,无法覆盖systemd、内核模块加载等底层行为,必须通过挂载机制重定向整个/tmp目录。
方法一:持久化挂载新tmpfs到自定义路径
这一步操作起来很简单,直接把文件拖进去就行。但注意:不能只改环境变量,否则systemd-journald、snap、flatpak等组件仍会往原/tmp写数据,导致磁盘爆满。
第一步:创建目标挂载点并设置权限
执行命令:sudo mkdir -p /mnt/new_tmp && sudo chmod 1777 /mnt/new_tmp。权限必须是1777,否则systemd会拒绝挂载——【权限错误会导致挂载失败且无明确报错】。
第二步:编辑fstab配置文件
运行sudo nano /etc/fstab,在文件末尾新增一行:tmpfs /mnt/new_tmp tmpfs defaults,noatime,nosuid,size=4G,mode=1777 0 0。
其中size值根据实际需要调整,建议不低于2G;mode=1777不可省略,否则新建临时文件时权限异常。
第三步:立即挂载并验证
执行sudo mount /mnt/new_tmp,再运行df -h | grep new_tmp确认挂载成功。此时ls -ld /mnt/new_tmp应显示drwxrwxrwt权限。
第四步:卸载原/tmp并绑定挂载
先清空原/tmp:sudo rm -rf /tmp/*;再卸载:sudo umount /tmp;最后执行绑定挂载:sudo mount --bind /mnt/new_tmp /tmp。
第五步:写入开机自动绑定
编辑sudo nano /etc/fstab,追加一行:/mnt/new_tmp /tmp none bind 0 0。
保存后重启系统,运行mount | grep " /tmp "确认绑定生效。
方法二:仅修改用户级临时目录(TMPDIR)
适用于只想让当前用户终端、编译工具链、Python临时文件走新路径,不影响系统服务和其他用户。
打开终端,执行nano ~/.bashrc,在文件末尾添加:export TMPDIR="/home/kylin/.tmp"。
注意路径不能以斜杠结尾,也不能包含空格。
创建目录并赋权:mkdir -p /home/kylin/.tmp && chmod 700 /home/kylin/.tmp。
使配置生效:source ~/.bashrc。
验证是否生效:echo $TMPDIR应输出设定路径;运行mktemp命令,检查生成的临时文件是否落在该目录下。
方法三:修改系统级环境变量(全局生效)
此方式影响所有用户及图形界面启动的程序,但不覆盖systemd管理的服务,属于折中方案。
编辑系统环境变量文件:sudo nano /etc/environment。
在文件中新增两行:
TMPDIR="/mnt/data/.tmp"<br>TEMP="/mnt/data/.tmp"。
注意:不要用export语法,/etc/environment不支持shell语法。
创建目录:sudo mkdir -p /mnt/data/.tmp && sudo chmod 1777 /mnt/data/.tmp。
重启图形界面或重新登录,运行printenv TMPDIR确认变量已加载。











