超出磁盘配额但还有空间

超出磁盘配额但还有空间

我收到“磁盘配额超出”错误,但分区未满,并且用户拥有无限配额。出了什么问题,我该如何解决?

xxx@mc:/tmp$ pyenv install 3.7.6
/home/xxx/.pyenv/plugins/python-build/bin/python-build: line 2048: cannot create temp file for here-document: Disk quota exceeded
mkdir: cannot create directory ‘/tmp/python-build.20220629235336.143991’: Disk quota exceeded

BUILD FAILED (Ubuntu 20.04 using python-build 20180424)

Inspect or clean up the working tree at /tmp/python-build.20220629235336.143991

xxx@mc:/tmp$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            445M     0  445M   0% /dev
tmpfs            98M 1016K   97M   2% /run
/dev/sda         19G   11G  7.5G  58% /
tmpfs           489M     0  489M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           489M     0  489M   0% /sys/fs/cgroup
/dev/sdc        4.8G   20M  4.7G   1% /baks
tmpfs            98M     0   98M   0% /run/user/0


xxx@mc:/tmp$ quota -u
Disk quotas for user xxx (uid 1000): none

答案1

配额的目的是避免磁盘空间不足,因此限制磁盘使用是有意义的磁盘已满。

可以为用户设置配额,但也可以用于限制一组用户使用的集体存储空间。

在您的情况下,您表明没有有效的用户配额。

使用quota -g、 和查看组配额根据评论,这似乎是导致您出现问题的原因。另外有点奇怪的是,该目录在您连接的系统上/tmp不是它自己的文件系统。tmpfs

答案2

遇到同样的问题。 '配额-su; df /tmp' 确认我达到了 /tmp 中的用户配额并且未满,但 'find /tmp -user $USER' 出现为空,并且 'quota -sg | grep < tmp mount >' 发现没有涉及组配额。所以我不知道为什么系统说我的tmp配额超出了。

我找到了一个解决方法:更改 bash 临时文件的位置。

$ mkdir -p ~/tmp
$ export TMPDIR=~/tmp
$ echo "export TMPDIR=~/tmp" >> ~/.bashrc

相关内容