「ディスククォータを超える」エラーが発生しますが、パーティションがいっぱいにならず、ユーザーのクォータが無制限です。何が間違っていて、どのように解決しますか?
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
同じ問題が発生しました。 'quota -su;'は/ tmpのユーザークォータに達しましたがいっぱいになっていないことを確認しますが、 'find /tmp -user $USER'は空であるように見え、 'quota -sg |関連するグループクォータはありません。だから私はシステムが私のtmpクォータを超えたと言う理由がわかりません。
解決策が見つかりました。 bash一時ファイルの場所を変更してください。
$ mkdir -p ~/tmp
$ export TMPDIR=~/tmp
$ echo "export TMPDIR=~/tmp" >> ~/.bashrc