ДФ против Ду. Мой диск действительно заполнен?


13

Странная проблема ...

Почему у меня есть полный / раздел, но он не используется?

Быстрая информация:

xwing ~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           16G   15G   75M 100% /
/dev/root        16G   15G   75M 100% /
devtmpfs        5,9G     0  5,9G   0% /dev
tmpfs           5,9G  552K  5,9G   1% /run
rc-svcdir       1,0M   72K  952K   8% /lib64/rc/init.d
cgroup_root      10M     0   10M   0% /sys/fs/cgroup
shm             5,9G     0  5,9G   0% /dev/shm
cachedir        4,0M  4,0K  4,0M   1% /lib64/splash/cache
/dev/sda1       124M   43M   76M  36% /boot
/dev/sda5        63G   25G   36G  42% /home
/dev/sda6       483G  147G  312G  33% /mnt/data
tmpfs           8,0G     0  8,0G   0% /var/tmp/portage

Может быть, я-узлы? Ноо ...

xwing ~ # df -i
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
rootfs          1048576 548459   500117   53% /
/dev/root       1048576 548459   500117   53% /
devtmpfs        1525561    517  1525044    1% /dev
tmpfs           1525918    374  1525544    1% /run
rc-svcdir       1525918     61  1525857    1% /lib64/rc/init.d
cgroup_root     1525918      5  1525913    1% /sys/fs/cgroup
shm             1525918      1  1525917    1% /dev/shm
cachedir        1525918      2  1525916    1% /lib64/splash/cache
/dev/sda1         32768    314    32454    1% /boot
/dev/sda5       4194304 145765  4048539    4% /home
/dev/sda6      32153600  11325 32142275    1% /mnt/data
tmpfs           1525918      1  1525917    1% /var/tmp/portage

Но:

xwing ~ # du -sxh /
8,3G    /

Может быть у меня что-то сломано в креплении? (но в любом случае, обратите внимание, что я использовал du с -x, который вычисляет файлы ТОЛЬКО из / filesystem ...)

/ пробелы добавлены мной для лучшей читаемости /

xwing ~ # mount
rootfs      on /                        type rootfs   (rw)
/dev/root   on /                        type ext4     (rw,noatime,data=ordered)
devtmpfs    on /dev                     type devtmpfs (rw,relatime,size=6102244k,nr_inodes=1525561,mode=755)
proc        on /proc                    type proc     (rw,nosuid,nodev,noexec,relatime)
tmpfs       on /run                     type tmpfs    (rw,nosuid,nodev,relatime,mode=755)
rc-svcdir   on /lib64/rc/init.d         type tmpfs    (rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755)
sysfs       on /sys                     type sysfs    (rw,nosuid,nodev,noexec,relatime)
debugfs     on /sys/kernel/debug        type debugfs  (rw,nosuid,nodev,noexec,relatime)
cgroup_root on /sys/fs/cgroup           type tmpfs    (rw,nosuid,nodev,noexec,relatime,size=10240k,mode=755)
cpuset      on /sys/fs/cgroup/cpuset    type cgroup   (rw,nosuid,nodev,noexec,relatime,cpuset)
cpu         on /sys/fs/cgroup/cpu       type cgroup   (rw,nosuid,nodev,noexec,relatime,cpu)
cpuacct     on /sys/fs/cgroup/cpuacct   type cgroup   (rw,nosuid,nodev,noexec,relatime,cpuacct)
freezer     on /sys/fs/cgroup/freezer   type cgroup   (rw,nosuid,nodev,noexec,relatime,freezer)
devpts      on /dev/pts                 type devpts   (rw,nosuid,noexec,relatime,gid=5,mode=620)
shm         on /dev/shm                 type tmpfs    (rw,nosuid,nodev,noexec,relatime)
cachedir    on /lib64/splash/cache      type tmpfs    (rw,nosuid,nodev,noexec,noatime,size=4096k,mode=755)
/dev/sda1   on /boot                    type ext2     (rw,noatime)
/dev/sda5   on /home                    type ext4     (rw,noatime)
/dev/sda6   on /mnt/data                type ext4     (rw,noatime)
tmpfs       on /var/tmp/portage         type tmpfs    (rw,size=8G)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

Ядро:

morsik@xwing ~ $ uname -a
Linux xwing 3.6.2-gentooxwing #8 SMP Sun Oct 21 21:36:53 CEST 2012 x86_64 Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz GenuineIntel GNU/Linux

Действительно ... У меня нет возможных идей по этому поводу.

Что я пробовал:

  • проверьте, есть ли еще открытые fd после rm -rf / usr / portage / distfiles / *
  • синхронизация
  • перезагрузка
  • Fsck

РЕДАКТИРОВАТЬ И РЕШЕНИЕ:

Как всегда я нашел решение после обращения за помощью (-;

Монтирование (как сказано в Luke404) / раздела где-то еще и выполнение du -sh / mnt / что-то говорит, что есть 15G данных, так же, как в df.

В чем была проблема?

крепление!

Позже я создал раздел / home, добавил его в / etc / fstab, скопировал файлы из / home (в разделе / ​​раздел) в / home (в разделе / ​​home), но забыл удалить файлы из / home в разделе /.

Таким образом, у меня все еще были мои старые файлы в / home (в / раздел).

Но почему du-sxh сказал мне 8G? Легко...

-x заставляет не проверять разные точки монтирования, поэтому ... он не проверял / home, пока он был смонтирован. И там был мой пропавший / дом.

Спасибо Luke404 и pidpawel, которые помогли мне на IRC.

После написания этого раздела РЕДАКТИРОВАТЬ я увидел ответы здесь, и Скривенер получил точку здесь!

Глупые проблемы глупы (-;


Пожалуйста, оставьте свой ответ и примите его, когда истечет срок. В качестве альтернативы, примите Scrivener, так как он привел бы вас к этому.
Андрей Б

На самом деле, установка этого в другом месте сказала мне все, но ответ Scrivener лучше объяснить, так что пусть будущие люди увидят, что это хорошо (-;
morsik

Дело в том, что на этот вопрос требовался приемлемый ответ, будь то тот, который вы внесли (вы можете оставлять ответы на свой вопрос), или их. :) Благодарность!
Эндрю Б

О принятом ответе - я знаю. Но я не знал, что могу принять свой собственный (-; Спасибо за информацию.
Morsik

Ответы:


13

Такая проблема всегда очень веселая.

Моя догадка? У вас есть файлы под одной из ваших точек монтирования. Что это обозначает? Ну, ду-ш пройдёт по всем файлам, которые сможет найти.

Допустим, у меня есть каталог A. Если я скопирую кучу файлов в A, а затем смонтирую, скажем, / dev / sdb поверх A, df -h скажет, что у меня есть куча файлов, которые du не будет быть в состоянии найти!

Чаще всего это происходит с точками монтирования, которые монтируются и размонтируются регулярно, такими как USB-накопители, сетевые диски и т. Д. Гораздо реже это можно увидеть, когда монтирование происходит автоматически во время загрузки, так как окно для этого происходит намного меньше.


2
В Linux mount --bindэто довольно полезно для определения их без размонтирования файловой системы. то есть mount --bind / /mnt/tmp, посмотрите под ваши точки монтирования. Вы сможете найти замаскированные файлы и безопасно их удалить.
Эндрю Б

3

Вы проверили файлы в (в настоящее время) недоступных местах? Как вещи /home в корневой файловой системе , которые вы duне видите, потому что вы смонтировали другую файловую систему /home?

Вы можете взглянуть на них, подключив файловую систему в другом месте:

# mkdir /foo
# mount -o bind / /foo
# cd /foo
# du...
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.