Как этот каталог занимает так много места?

Как этот каталог занимает так много места?

Unix не является моим родным языком, и меня сбивает с толку их концепция файловых систем.

Когда я смотрю на свое свободное пространство, я вижу:

/$ df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  7.1G  397M  95% /
none                  3.7G  120K  3.7G   1% /dev
none                  3.7G  4.0K  3.7G   1% /dev/shm
none                  3.7G   48K  3.7G   1% /var/run
none                  3.7G     0  3.7G   0% /var/lock
/dev/xvdf             100G   19G   82G  19% /db
/dev/xvdg             100G   15G   86G  15% /images
/dev/xvdb             414G  199M  393G   1% /mnt

Для меня это означает, что все файлы и каталоги в /db находятся в файловой системе xvdf, все в /images находится в xvdg, а все в /mnt находится в xvdb. Все остальное находится в xvda1.

Однако xvda1 имеет только 7,9G пространства. Так почему же

/$ sudo du -sh var
25G     var

покажите мне, что /var занимает 25G? Сначала я подумал, что, возможно, он считает содержимое в местах назначения символических ссылок, но я знаю, что в нескольких каталогах ниже есть символическая ссылка на каталог /images, и в нем 86G содержимого, поэтому var должен быть >86G, если переходить по символическим ссылкам.

Так как же /var может занимать 25 ГБ на диске, на котором всего 7,9 ГБ?

Кстати, это экземпляр Ubuntu, работающий в EC2 Amazon, если это имеет значение.

решение1

Это даст вам правильный ответ на вашу проблему.

du -ch --max-depth=1 -x /var

-xпокажет только использование данных одной файловой системы, пропуская содержимое других файловых систем из каталога /var

--max-depth=1выдаст данные об использовании только первого уровня, например /var/a /var/b и т. д.

решение2

Из вывода df,

/dev/xvdg 100G 15G 86G 15% /images

В /images использовалось только 15G.

решение3

Убедитесь, что varэто не символическая ссылка на какую-либо другую файловую систему.

 /$ ls -ld var
 drwxr-xr-x 14 root root 4096 Jun 22 02:13 var

решение4

Также возможно, что вам придется бежать, fsckчтобы устранить несоответствие.

Я упоминаю это только для полноты картины, но я все еще подозреваю, что что-то другое более вероятно. Если через некоторое время вы все еще ничего не нашли, то вам стоит попробовать это.

Связанный контент