Ошибка дисковой квоты

Я использую Debian Squeeze. Внезапно я столкнулся с проблемой, что мой пользователь не может создавать каталоги и другие подобные задачи. Запуск mkdir abc дает мне

mkdir: cannot create directory 'abc': Disk quota exceeded

Мой жесткий диск не заполнен df -h

 Filesystem Size Used Avail Use% Mounted on /dev/md1 1.8T 39G 1.8T 3% / tmpfs 7.8G 0 7.8G 0% /lib/init/rw udev 7.8G 148K 7.8G 1% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm /dev/md0 243M 31M 200M 14% /boot 

uname -a который может понадобиться, является

 Linux server 2.6.32-5-686-bigmem #1 SMP Sun Sep 23 10:27:25 UTC 2012 i686 GNU/Linux 

Примечание. Если я вхожу в систему с правами root, все будет в порядке. Эта проблема связана только с конкретным пользователем

Изменить : вывод quota

 Disk quotas for user user (uid 1000): none 

вывод quota -g

 Disk quotas for group user (gid 1000): Filesystem blocks quota limit grace files quota limit grace /dev/disk/by-uuid/26fa7362-fbbf-4a9e-af4d-da6c2744263c 8971324* 1048576 1048576 none 43784 0 0 

Диск не заполнен, но свободное место на диске для этого пользователя заполнено. Вам нужно проверить quota(1) , возможно, убедить подозреваемого в очистке своего мусора или в вспышке доброты увеличить его с помощью edquota(8) .

Проблема в моем случае заключалась в том, что я превысил количество inodes (файлов), поддерживаемых файловой системой. Команда

 df -i 

выявила проблему в моей виртуальной машине:

 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/vzfs 1500000 1500000 0 100% / 

Удаление некоторых ненужных небольших файлов или увеличение количества inodes (более сложное) устраняет проблему. Команда, подобная этой, может помочь определить, какие каталоги содержат в них много файлов (в этом случае поиск под / var):

 find /var -type d -size +256k 

Я не использую Debian Squeeze, но у меня была аналогичная проблема, и, возможно, это могло помочь кому-то другому. Моя учетная запись пользователя для ученика, поэтому она значительно ниже, чем если бы я запускал Linux с моего домашнего компьютера, но все же … В программе, в которой я работал, у меня был выход, который был записан в файл. Я столкнулся с бесконечным циклом и должен был cntrl-C из программы, чтобы отменить его. После этого я продолжал получать ошибку, что моя квота была заполнена и ничего не спасла. Решение. Удалите выходной файл, на который писал мой цикл. Удалив это и установив мой цикл, моя квота снова была освобождена.

Проверьте настройки дисковой квоты в соответствии со следующим официальным Debian HowTo .