На VPS, когда я нажимаю вкладку под моим пользователем, я получаю:
bash: cannot create temp file for here-document: No space left on device
но под root работает нормально, что происходит?
На VPS, когда я нажимаю вкладку под моим пользователем, я получаю:
bash: cannot create temp file for here-document: No space left on device
но под root работает нормально, что происходит?
При нажатии на вкладку запускаются определенные / конкретные сценарии (сценарии)
(несколько могут быть определены, какая из них запускается, зависит от команды, набранной в данный момент в командной строке).
Эти сценарии часто используют временные файлы в / tmp
У входа в систему, где вы видите это, либо исчерпано пространство в /tmp (например, квота), либо вообще нет квоты, либо сценарий (ошибочно?) пытаясь записать / обработать слишком большие данные.
Обычно root имеет больше квоты или нет ограничений.
sudo -i cd /tmp du -h | sort -n | less
должен отображать, что находится в /tmp и место, которое он занимает.
Также:
df -h --output=source,target,ipcent,pcent Filesystem Mounted on IUse% Use% ...
должен, в "нормальной" ситуации, не иметь больших чисел в столбцах Use%, для /tmp или tmpfs (что там, зависит от настройки системы).
Проверьте, как отформатирована ваша файловая система. Типичные настройки, с которыми я столкнулся, использовали эти настройки:
Последнее означает, что 5% места зарезервировано для uid 0.
Если у вас есть диск на 200 ГБ и один отдельный раздел, то обычный пользователь может заполнить его до 190 ГБ. В этот момент она получит полную ошибку файловой системы. Df сообщит о 100% использовании.
Если в это время вы попробуете это как root, вы можете написать до 5%. Df покажет более 100% полной.
Теперь примените это к вашей проблеме. Не заполнена ли файловая система на 100%?
Сегодня мы немного поняли это, и это оказалось проблемой с инодами.
Вы должны запустить df -i
чтобы увидеть, сколько Inode вы используете. Если ваш IUse%
равен или близко к 100
, вы должны найти как можно больше небольших файлов или файлов нулевого размера и удалить их все.
Вы можете найти файлы с (ссылка на связанную статью):
for i in /*; do echo $i; find $i |wc -l; done