Почему Ubuntu не видит свободного места?

У меня есть внешний терабайтный диск для хранения моего лома (на самом деле я имею в виду раздел на нем, у меня там есть несколько других разделов). Используемая FS - ext3. Даже после того, как я удалил некоторые файлы там (так что есть по крайней мере несколько сотен свободных MIB), Nautilus показывает нулевое свободное место там и не позволяет даже создавать каталог. Как это исправить?

Я использую Ubuntu 10.10 для ежедневных сборок, последнее обновление было сделано позавчера (3 октября 2010 г.).

5 ответов

Файловые системы ext2/3 имеют определенный процент блоков, зарезервированных для "привилегированного" пользователя; файловая система может выглядеть как "почти полная", но только root может писать в нее. Я предполагаю, что вы достигаете этого предела.

По умолчанию 5% от общего размера файловой системы зарезервировано для rootпользователь. Как зарезервированный процент, так и "привилегированный" пользователь могут быть изменены с помощью tune2fs команда.

Чтобы изменить процент зарезервированных блоков до 1%, запустите (как root):

tune2fs -m 1 /dev/your_disk_partition_device

Вы также можете установить процент зарезервированных блоков равным 0, тем самым фактически отключив эту функцию в определенном разделе.

Чтобы изменить привилегированного пользователя, запустите (как root):

tune2fs -u username /dev/your_disk_partition_device

Подробнее об обоих вариантах на tune2fs справочная страница.

Вы должны попытаться удалить больше вещей на тот случай, если они не всегда работают с почти полным диском, попробуйте использовать баобаб или другой визуализатор размера каталога, чтобы узнать, что можно и нужно удалить.

Звучит как диск для меня (не освобождая место). У кого-то, с кем я разговаривал на выходных, была такая же проблема с окнами и новым жестким диском емкостью 0,5 ТБ (я не знаю, какой марки я боюсь). Удаление файлов приведет к их удалению, однако пространство не освобождается.

Дисковая утилита сообщает об ошибках SMART?

Иноды

df -i / 

tune2fs -l /dev/disk

tune2fs сообщит вам, сколько инодов было свободно во время загрузки или монтирования, df -i / сообщит вам, сколько инодов сейчас свободно. Вы можете видеть, нет ли у вас inode и как давно была смонтирована файловая система, произошло ли это внезапно.

Затем вы можете сделать это, чтобы выяснить, где находятся inode:

 find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n

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

Привет @geek_king

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

Найдите это с помощью lsof -nP

https://unix.stackexchange.com/questions/68523/find-and-remove-large-files-that-are-open-but-have-been-deleted

Другие вопросы по тегам