银河麒麟系统/tmp满载导致软件商店报错#0007、桌面卡顿等,本质是临时文件创建失败,需立即释放inode与块空间;可强制清空/tmp与/var/tmp、用lsof定位已删未归还空间并kill对应进程、或启用tmpfs挂载实现重启自动清空。

银河麒麟系统因磁盘空间满导致/tmp无法写入时,软件商店报错#0007、桌面卡顿、新程序无法启动、日志停止记录,这些问题本质是进程尝试创建临时文件失败,而非单纯“没地方存”,必须立即释放/tmp路径下的inode与块空间。
强制清空/tmp与/var/tmp(基础速效)
这一步操作起来很简单,直接执行即可,但【必须确保没有关键服务正在写入/tmp】,否则可能触发进程异常中断。系统会自动跳过被占用的文件,但残留句柄仍占inode,后续需配合lsof排查。
打开终端,输入sudo -i切换到root权限。
执行:rm -rf /tmp/* /var/tmp/*。
运行sync强制刷盘,使空间立即释放。
定位并释放“已删未归还”的磁盘空间
当df -h显示/tmp满载但ls -lA /tmp | wc -l结果小于50时,说明有进程正持有已unlink文件的句柄,空间实际未释放。这是解决“明明删了却没释放”问题的唯一有效路径。
第一步:列出所有标记为deleted的状态行 → lsof +L1 /tmp。
第二步:对每一行输出的PID,执行kill -15 $PID尝试优雅终止;若僵死,则用kill -9 $PID强制结束。
第三步:执行完后立刻运行df -h /tmp,空间应实时回落。
启用tmpfs挂载实现重启自动清空
将/tmp挂载为内存文件系统tmpfs,可从根本上避免磁盘型/tmp因写满导致系统异常,所有内容在重启后自动消失,无需手动清理。
方法一:编辑fstab配置文件 → sudo nano /etc/fstab。
在末尾新增一行:tmpfs /tmp tmpfs defaults,size=2G,mode=1777 0 0(可根据物理内存调整size值)。
卸载当前/tmp并重新挂载 → sudo umount /tmp && sudo mount /tmp。
验证挂载类型 → mount | grep /tmp,输出应含tmpfs字样。











