Назад | Перейти на главную страницу

100% inodes в корневом каталоге, как освободить inodes?

df -i
Filesystem-----Inodes-----Iused-----IFree-----IUse-----Mounted on
dev/sda2-------732960-----727804-----5156-----100%---- /

Только эти 2 имеют самые высокие индексные дескрипторы, остальные - слишком низкие. что можно сделать, чтобы освободить inodes?

Proc 10937 инодов

Sys 22504 inodes

apt-get -f install говорит, что места не осталось

df -i выходное изображение

apt-get -f установка изображения ошибки вывода

inodes поиск выходного изображения -

журнал var составляет всего 26 МБ (самый высокий в каталоге var)

Несколько недель назад я экспериментировал с той же проблемой, и эта процедура решила проблему.

Во-первых, поищите, где больше всего места

    for i in /*; do echo $i; find $i |wc -l; done

Обратите внимание, когда на чтение некоторых каталогов требуется больше времени. В моем случае это / var /, где требуется больше времени на поиск.

Так что запустите это:

    for i in /var/*; do echo $i; find $i |wc -l; done

После этого запустите ту же команду в / var / log / * и обнаружите много маленьких файлов в журналах squid3.

После запуска rm -rfv /var/log/squid3/access.log* (и перезапуска squid3) проблема была решена, и значение IUSE% изменилось со 100 на 13.

С уважением.

Я вижу два варианта.

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

Или вы можете подключить другой диск к пути с множеством файлов и переместить файлы на этот диск, чтобы сохранить структуру, указанную @vembutech. К сожалению, я пока не могу проголосовать за него.

Один из вариантов - удалить или переместить файлы на другой диск. Или смонтируйте диск большей емкости в новый каталог на диске / dev / sda2 и переместите файлы.

Если вы используете докер, удалите все изображения. Они использовали много места .... Работай для меня

#!/bin/bash
# Stop all containers
docker stop $(docker ps -a -q)
# Delete all containers
docker rm $(docker ps -a -q)
# Delete all images
docker rmi $(docker images -q)

Чтобы добавить точку к приведенным выше комментариям, лучше использовать слегка измененную версию приведенной выше команды, особенно в символических ссылках -

Например: / bin -> usr / bin

for i in /*; do echo $i; find $i |wc -l; done
/bin
1

Просто используйте косую черту после «find $ i /», и тогда вы увидите лучший результат.

for i in /*; do echo $i; find $i/ |wc -l; done
/bin
865

Аналогично для «lib», «lib64» также вы можете наблюдать подобное поведение.