🛠️ df -h показывает свободные гигабайты, а файл создать нельзя

Ошибка:

No space left on device

Проверяем:

df -h

Свободное место есть.

Следующий шаг:

df -i

Почему?

Потому что свободные байты и возможность создать новый файловый объект — не одно и то же.

В inode-based файловых системах файлы и каталоги используют inode или аналогичный объект учёта. Если этот ресурс закончился, можно увидеть:

IUse% = 100% IFree = 0

при том, что в df -h ещё остаются гигабайты.

Частые источники:

— cache; — sessions; — spool; — temp; — generated artifacts; — фоновые задачи без cleanup.

Что проверить:

1. Где именно возникает ошибка? 2. На каком filesystem лежит путь? 3. Что показывает df -h? 4. Что показывает df -i? 5. Где необычно много файлов или каталогов? 6. Какой процесс их создаёт? 7. Есть ли retention и cleanup?

Не начинайте с удаления каталогов и не считайте cache/spool/temp автоматически ненужными.

Также не путайте это с Too many open files: там речь про file descriptors, а не про inode.

Практический вывод:

No space left on device → df -h → df -i → источник множества файлов → cleanup/retention → только затем изменение инфраструктуры

Сохраните второй df, который стоит выполнить при неожиданном No space left on device.

🔹🔹🔹🔹

🛠️ df -h показывает свободные гигабайты, а файл создать нельзя
Ошибка:
No space left on device
Проверяем:
df -h
Свободное место есть | Сетка — социальная сеть от hh.ru