科技 · 实用指南
sort 无法创建临时文件?改 TMPDIR 前先证明运行时路径和容量
解析失败进程中 GNU sort 实际选择的目录,检查该文件系统,并只在原命令产出可验证结果后验收修复。

GNU sort 在内存缓冲不足时可能把归并段写入临时文件。“无法创建临时文件”只说明创建失败,并不证明 /tmp 已满,也不证明宿主机可见的 scratch 目录存在于失败容器或服务中。
保留完整命令与执行上下文,推导有效临时目录,在同一运行时检查路径,区分存在性与权限、块、inode 和配额,最后用原命令和输出验收闭环。
冻结命令并推导有效目录
保存 argv、工作目录、环境、输入输出、stderr 和退出码,记录所有 -T 以及包装器或调度器的变量展开。
按证据解析优先级:显式 -T,其次 TMPDIR,最后 /tmp;空值或异常值也要保留,不能用交互 shell 的路径替代。
在失败运行时检查路径
进入同一服务用户、作业、容器与挂载命名空间,确认目录和父目录存在,解析符号链接,并查看进程自己的挂载视图。
用失败身份在该目录做无害的创建、写入、关闭、重命名和删除测试;宿主 root 或另一容器的成功不能清除故障。
区分权限与容量
记录所有权、模式、ACL、只读挂载与约束策略;若探针被拒绝,只修复已证明的身份或挂载规则。
针对准确文件系统记录普通用户可用块和空闲 inode,再核适用配额;有空闲块不代表 inode、配额或分配正常。
选择最小范围修复
容器缺路径时绑定或配置获批的 scratch;容量不足时处理实际文件系统;权限或配额问题只改对应策略。
仅在替代文件系统有意且容量足够时用 -T 或作业级 TMPDIR,并记录回滚、清理和敏感数据要求。
原样重跑并核验输出
在原运行时用修复后的边界重跑原命令,保存有效目录、挂载、stderr、退出码和临时空间行为。
核对记录数、排序键、重复或唯一策略、校验和或下游解析及最终原子发布;路径仍不明或输出无法对账时停止。
