Przydział dysku przekroczył problem

12

Używam Debian Squeeze. Nagle zacząłem mierzyć się z problemem, że mój użytkownik nie jest w stanie tworzyć katalogów i innych podobnych zadań. Bieganie mkdir abcdaje mi

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

Mój dysk twardy nie jest pełny df -hwyniki są

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 wyjście, które może być potrzebne, to

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

Uwaga: jeśli zaloguję się jako root, wszystko będzie dobrze. Ten problem dotyczy tylko określonego użytkownika

Edycja : wyjście zquota

Disk quotas for user user (uid 1000): none

wyjście z 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  
Gursimran
źródło
1
Poproś użytkownika o uruchomienie quotai przesłanie wyników.
Flup
out of quotaadded added
Gursimran
Co z quota -g(limitem grupowym)? Czy w ogóle masz przydziały w tym systemie plików? Czy bieganie quotacheckpomaga?
Gilles „SO- przestań być zły”
wynik quota -gdodany powyżej. Nie wiem o limitach w moim systemie plików. Wiem tylko, że ustawiłem opcję nieograniczonej kwoty w webmin dla dwóch użytkowników, których używam na moim debianie. Nagle ten użytkownik zaczął mi dawać problem z przydziałem bez dokonywanych przeze mnie zmian. Jeśli chodzi o quotacheckto, że to nie działa, daj mi-sh: quotacheck: not found
Gursimran
Jak ponownie obliczyć limit -> labs.erweb.it/pub/recalculate_quotas.php
MUY Belgia

Odpowiedzi:

7

Dysk nie jest pełny, ale miejsce na dysku dla tego użytkownika jest pełne. Musisz to sprawdzić quota(1), być może przekonać podejrzanego, aby wyczyścił swoje śmieci, lub w wybuchu dobroci zwiększyć je edquota(8).

vonbrand
źródło
2
Oba polecenia, które prosiłeś o uruchomienie, spowodowały mój błąd składniowy. edquota(8)dał mi-bash: syntax error near unexpected token '8'
Gursimran
2
(8)Odnosi się do sekcji 8 (komendy administracyjne) podręcznikach Unix.
vonbrand
12

Problem w moim przypadku polegał na tym, że przekroczyłem liczbę i-węzłów (wpisów plików) obsługiwanych przez system plików. Komenda

df -i

ujawniłem problem na mojej maszynie wirtualnej:

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

Usunięcie niepotrzebnych małych plików lub zwiększenie liczby i-węzłów (bardziej skomplikowane) rozwiązuje problem. Komenda taka jak ta może pomóc w zlokalizowaniu katalogów, w których jest dużo plików (w tym przypadku wyszukiwanie pod / var):

find /var -type d -size +256k
markus
źródło
1
Myślę, że ta komenda jest lepsze: find / -xdev -printf '%h\n' | sort | uniq -c | sort -kn1. Zaczerpnięte z następującej odpowiedzi .
x-yuri
1

Nie używam Debian Squeeze, ale miałem podobny problem i może to pomóc komuś innemu. Moje konto użytkownika jest przeznaczone dla studenta, więc jest znacznie niższe niż gdybym uruchamiał Linuksa z mojego domowego komputera, ale nadal ... W programie, w którym działałem, dane wyjściowe były zapisywane do pliku. Wpadłem na nieskończoną pętlę i musiałem cntrl-C z programu, aby ją anulować. Po tym zdarzeniu nadal pojawiał się błąd, że mój przydział jest pełny i nie mogę nic zapisać. Rozwiązanie: Usuń plik wyjściowy, do którego zapisywała moja pętla. Po usunięciu tego i naprawieniu mojej pętli mój limit został ponownie zwolniony.

phileepae
źródło
0

Sprawdź ustawienia przydziałów dysku zgodnie z następującym oficjalnym Debian HowTo .

Opiekun
źródło
Jest to dość mylące, odwiedziłem już ten przewodnik, ale nie pomogło mi to.
Gursimran