Podczas korzystania z paska kart ciągle pojawia się ten błąd:
bash: nie można utworzyć pliku tymczasowego dla dokumentu tutaj: brak miejsca na urządzeniu „
Jakieś pomysły?
Przeprowadziłem pewne badania i wiele osób mówi o pliku / tmp, który może być przepełniony. Kiedy wykonuję df -h
, otrzymuję:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.1G 8.7G 0 100% /
udev 10M 0 10M 0% /dev
tmpfs 618M 8.8M 609M 2% /run
tmpfs 1.6G 0 1.6G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.6G 0 1.6G 0% /sys/fs/cgroup
/dev/sda1 511M 132K 511M 1% /boot/efi
/dev/sda4 1.8T 623G 1.1T 37% /home
tmpfs 309M 4.0K 309M 1% /run/user/116
tmpfs 309M 0 309M 0% /run/user/1000
Wygląda na to, że katalog / dev / data zaraz wybuchnie, ale jeśli napiszę:
$ du -sh /dev/sda2
0 /dev/sda2
Wygląda na to, że jest pusty.
Jestem nowy w Debianie i naprawdę nie wiem, jak postępować. Zwykle uzyskiwałem dostęp do tego komputera przez ssh. Oprócz tego problemu mam kilka innych z tym komputerem, mogą one być powiązane, na przykład za każdym razem, gdy chcę wprowadzić użytkownika za pomocą GUI (z rootem to działa) otrzymuję:
Xsession: ostrzeżenie: nie można zapisać do / tmp: Xsession może zakończyć się z błędem
du -hxd1 /
, niedu /dev/sda2
./dev/sda2
tak naprawdę nie istnieje na dysku.Odpowiedzi:
Twój główny system plików jest pełny, a zatem katalog tymczasowy (/ tmp i / var / tmp) są również pełne. Wiele skryptów i programów wymaga miejsca na pliki robocze, a nawet na blokowanie plików. Gdy / tmp jest nie do zapisania , zdarzają się złe rzeczy.
Musisz dowiedzieć się, jak zapełniłeś system plików. Zazwyczaj miejsca, w których to nastąpi, znajdują się w / var / log (sprawdź, czy korzystasz z plików dziennika). Lub / tmp może być pełny. Istnieje jednak wiele innych sposobów wypełniania dysku.
Możesz ponownie podzielić na partycje, aby nadać / tmp własną partycję (jest to oldschoolowy sposób, ale jeśli masz dużo dysku, jest w porządku) lub zamapuj go w pamięci (co spowoduje, że będzie bardzo szybki, ale zacznie powodować problemy z zamianą, jeśli przesadzisz z plikami tymczasowymi).
źródło
Możliwe, że straciłeś również dostęp do zapisu do
/tmp/
katalogu.Powinno to wyglądać tak:
Możesz naprawić takie uprawnienia:
źródło
ls -ld /tmp
zamiast tego.Jeśli ktoś dostanie się tutaj z tym błędem, gdy jego dysk nie jest pełny, sprawdź nie tylko,
df
ale takżedf -i
. W systemie plików jest stała liczba i-węzłów i każdy plik potrzebuje jednego. Jeśli masz tylko mnóstwo małych plików, twój system plików bardzo łatwo zapełnia się tymi małymi plikami, podczas gdy na dysku jest jeszcze dużo miejsca po uruchomieniudf
.źródło
/dev/root 4980000 4980000 0 100% /
Może system powinien odpowiedzieć odpowiednim komunikatem o błędzie?Dostałem błąd, a potem zobaczyłem
Byłem w stanie to potwierdzić,
źródło
Najszybszym sposobem zlokalizowania folderów, które są zbyt pełne, jest zawężenie rozmiaru pliku folderu o kilka poziomów od folderu głównego. Zaczynasz z folderem głównym przez:
Następnie - ZAWSZE zwiększasz głębokość, tj. Poziomy poniżej:
LUB - szybciej - sprawdzasz, który folder pochłonął najwięcej miejsca na dysku, i robisz to samo w tym folderze:
Gdy go znajdziesz, po prostu go usuń:
źródło
sudo du -h --max-depth=1 / | sort -h
(większe pliki na dole lubsort -hr
większe pliki na górze)W moim przypadku tego samego błędu był to problem z cagefs, ponieważ ten serwer był w CloudLinux, zaadresowany
cagefsctl --remount username
źródło
Wynika to z faktu, że miejsce na dysku nie wystarcza, musisz wyczyścić duże pliki lub proces, który zajmuje miejsce:
df -h
Zobacz miejsce na dysku twardymdu -sh /*
Zobacz, który katalog jest największy, krok po kroku, aby znaleźć duże plikidu -h --max-depth=1
znajdź największy plikźródło