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

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

enter image description here

apt- get -f install output error image

enter image description here

inodes search output image -

enter image description here

var log занимает всего 26 МБ (самый большой в каталоге var)

4
задан 29 May 2017 в 19:43
5 ответов

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

0
ответ дан 3 December 2019 в 02:28

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

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

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

0
ответ дан 3 December 2019 в 02:28

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

Сначала поищите, где больше всего места

    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.

.
12
ответ дан 3 December 2019 в 02:28

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

#!/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)
0
ответ дан 3 December 2019 в 02:28

Чтобы добавить точку к вышеприведенным комментариям, лучше использовать слегка измененную версию вышеуказанной команды, особенно в 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» также вы можете наблюдать подобное поведение.

0
ответ дан 7 December 2019 в 01:46

Теги

Похожие вопросы