Запретить отчет команды du раздувать информацию о каталогах / snap

У меня установлен сервер Ubuntu 20.04 на одном диске 8 ГБ. При установке по умолчанию также установлены некоторые «оснастки». Итак, есть некоторые файловые системы "squashfs", о которых также сообщает команда df :

# df -mT
Filesystem     Type     1M-blocks  Used Available Use% Mounted on
/dev/root      ext4          7877  1837      6025  24% /
devtmpfs       devtmpfs       465     0       465   0% /dev
tmpfs          tmpfs          477     0       477   0% /dev/shm
tmpfs          tmpfs           96     1        95   1% /run
tmpfs          tmpfs            5     0         5   0% /run/lock
tmpfs          tmpfs          477     0       477   0% /sys/fs/cgroup
/dev/loop0     squashfs        18    18         0 100% /snap/amazon-ssm-agent/1566
/dev/loop1     squashfs        94    94         0 100% /snap/core/9066
/dev/loop2     squashfs        55    55         0 100% /snap/core18/1705
/dev/loop3     squashfs        69    69         0 100% /snap/lxd/14804
/dev/loop4     squashfs        70    70         0 100% /snap/lxd/14890
/dev/loop5     squashfs        55    55         0 100% /snap/core18/1754
tmpfs          tmpfs           96     0        96   0% /run/user/1000

Как вы видите, на (только) диске хранится только 1837 МБ данных.

Сейчас я пытаюсь получить список использования диска для каждого каталога в корневом каталоге ( / ), используя следующая команда:

# du -smc /* 2>/dev/null
0   /bin
48  /boot
0   /dev
8   /etc
1   /home
0   /lib
0   /lib32
0   /lib64
0   /libx32
1   /lost+found
1   /media
1   /mnt
1   /opt
0   /proc
1   /root
1   /run
0   /sbin
1116    /snap
1   /srv
0   /sys
1   /tmp
1166    /usr
601 /var
2938    total

Вывод показывает большой объем дискового пространства, используемого каталогом / snap , что, конечно, неверно.

Как правильно рассчитать размер файлов находится только в файловых системах «реального диска»? Добавление опции -x к du не дает мне ощущения комфорта, потому что в будущем у меня может быть другая файловая система «реального диска», смонтированная в / home для Например, я хочу, чтобы был засчитан в выводе du .

4
задан 1 May 2020 в 16:01

2 ответа

В отличие от df , насколько мне известно du не предоставляет тип - exclude для пропуска определенных типов файловых систем. Однако вы можете исключить определенные каталоги верхнего уровня по шаблону glob:

du -smc --exclude=/snap /* 2>/dev/null

или (чтобы исключить и эфемерные файловые системы) и при условии, что ваша оболочка поддерживает расширение скобок:

du -smc --exclude=/{proc,run,sys,snap} /* 2>/dev/null
3
ответ дан 19 June 2020 в 21:44

Вы должны правильно использовать аргументы du . Примерно так:

du --one-file-system -smc /* --exclude=/snap 2> /dev/null

Для справки используйте man du локально или онлайн .

2
ответ дан 19 June 2020 в 21:44

Другие вопросы по тегам:

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