df -i
Filesystem-----Inodes-----Iused-----IFree-----IUse-----Mounted on
dev/sda2-------732960-----727804-----5156-----100%---- /
Только эти 2 имеют самые высокие индексные дескрипторы, остальные слишком низкие. что можно сделать, чтобы освободить inodes?
Proc 10937 inodes
Sys 22504 inodes
apt-get -f install
говорит, что места не осталось
df -i output image
apt- get -f install output error image
inodes search output image -
var log занимает всего 26 МБ (самый большой в каталоге var)
Один из вариантов, вы можете удалить или переместить файлы на другой диск. Или смонтируйте диск большей емкости в новый каталог на диске / dev / sda2 и переместите файлы.
Я вижу два варианта.
Вы можете сделать резервную копию всей файловой системы, чем воссоздать ее с большим количеством inodes.
Или вы можете смонтировать другой диск по пути с большим количеством файлов и переместить файлы на этот диск, чтобы сохранить структуру, указанную @vembutech. К сожалению, я пока не могу проголосовать за него.
Несколько недель назад я экспериментировал с этой же проблемой, и эта процедура решила проблему.
Сначала поищите, где больше всего места
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.
Regards.
.Если вы используете докер, удалите все образы. Они использовали много места .... Работайте со мной
#!/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)
Чтобы добавить точку к вышеприведенным комментариям, лучше использовать слегка измененную версию вышеуказанной команды, особенно в of symlinks-
Например: / bin -> usr / bin
for i in /*; do echo $i; find $i |wc -l; done
/bin
1
Просто используйте косую черту. после "найти $ i /", и тогда вы увидите лучший результат.
for i in /*; do echo $i; find $i/ |wc -l; done
/bin
865
Аналогично для «lib», «lib64» также вы можете наблюдать подобное поведение.