远程安装Miniconda遇设备无空间错误,但实际磁盘空间充足
问题描述
我在计算机集群上远程安装Miniconda,已完成以下操作:
- 从指定链接下载Miniconda3 Linux 64位安装程序
- 通过
sha256sum ./path_to_installer.sh验证安装包SHA256哈希值,确认完整性 - 计划安装到
/home/my_username/路径,检查该路径磁盘空间:
输出结果:df -h /home/my_username/Filesystem Size Used Avail Use% Mounted on nfs-6-v2669:/mnt/home 9.5T 7.5T 2.0T 79% /home - 检查集群磁盘配额:
输出结果:grep my_username /home/quota/quotemy_username 3.95G 15G
但执行安装时遇到错误:
Unpacking payload ... Traceback (most recent call last): File "entry_point.py", line 59, in <module> File "concurrent/futures/process.py", line 649, in __init__ File "concurrent/futures/process.py", line 168, in __init__ File "multiprocessing/queues.py", line 43, in __init__ File "multiprocessing/context.py", line 68, in Lock File "multiprocessing/synchronize.py", line 162, in __init__ File "multiprocessing/synchronize.py", line 57, in __init__ OSError: [Errno 28] No space left on device [21083] Failed to execute script 'entry_point' due to unhandled exception!
我确认自己有足够的安装空间,且多次重新下载验证过安装包,排除了损坏的可能,请问错误根源是什么?
可能的错误根源及解决方法
1. 系统临时目录(/tmp)空间不足
Miniconda安装时会先将payload解压到默认的系统临时目录/tmp,而集群的/tmp通常是节点本地的小容量磁盘,极易被占满。
- 检查
/tmp空间:df -h /tmp - 解决方法:指定自定义临时目录(比如自己home目录下的文件夹)再执行安装:
mkdir -p ~/tmp export TMPDIR=~/tmp bash ./path_to_installer.sh
2. inode 耗尽
磁盘空间足够但提示无空间,可能是inode被耗尽——每个文件占用一个inode,当小文件数量过多时,即使磁盘容量还有剩余,inode也会先被用完。
- 检查inode使用情况:
df -i /home/my_username/ - 解决方法:清理home目录下的大量小文件(如缓存、日志、临时文件),释放inode资源。
3. 节点本地临时分区空间不足
部分集群的安装操作会优先使用节点本地的临时存储(如/var/tmp),而非共享的/home目录,即使共享磁盘有空间,本地临时分区满了也会报错。
- 检查节点本地临时分区:
df -h /var/tmp - 解决方法:同样通过设置
TMPDIR指向自己home目录的临时文件夹来规避。
4. 临时目录配额受限
部分集群会对临时目录的使用单独设置配额,即使/home的配额足够,临时目录的配额可能已经耗尽。可以联系集群管理员确认临时目录的配额限制,或使用自定义临时目录的方法绕过。
内容的提问来源于stack exchange,提问作者MomentumEigenstate
相关产品推荐
相关产品推荐

