Як розділ може бути заповнений, якщо du не показуватиме це?


1

На одній з моїх систем кореневий розділ заповнений:

snip:˜ # df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           11G  9.3G     0 100% /
devtmpfs        744M   36K  744M   1% /dev
tmpfs           751M     0  751M   0% /dev/shm
tmpfs           751M  296K  751M   1% /run
/dev/sda7        11G  9.3G     0 100% /
tmpfs           751M     0  751M   0% /sys/fs/cgroup
tmpfs           751M  296K  751M   1% /var/lock
tmpfs           751M  296K  751M   1% /var/run
tmpfs           751M     0  751M   0% /media
/dev/sda5       151M   39M  104M  28% /boot
/dev/sda8       4.4G  207M  3.3G   6% /home

Але du не відображає близько 9,3 гігабайт використання:

snip:~ # du /* -s -h
5.2M    /bin
34M /boot
36K /dev
22M /etc
199M    /home
154M    /lib
20M /lib64
0   /media
0   /mnt
0   /opt
0   /proc
7.9M    /root
288K    /run
7.1M    /sbin
0   /selinux
756K    /srv
0   /sys
0   /tmp
1.6G    /usr
1.1G    /var

Це лише близько 3 гігабайт.

  • Як це може бути?
  • Де шукати інші 6 гігабайт використаних гігабайт?

Я використовую openSUSE 12.2:

snip:~ # cat /etc/SuSE-release
openSUSE 12.2 (x86_64)
VERSION = 12.2
CODENAME = Mantis

1
Ви роз'єднали файли? (наприклад, видалення / очищення файлу журналу під час його використання. Отже, вилучення його з переліку каталогів, поки воно ще займає місце на диску?)
Hennes

Інша ідея: Чи використовували ви простір у каталозі на /, а потім встановлювали інший каталог на це, маскуючи старі файли?
Hennes

@Hennes немає, і ні. Я здивований: я ніколи не бачив нічого подібного на Linux.
Jeroen Wiert Pluimers

1
@Hennes Я завантажив систему порятунку з компакт-диска, оскільки він не підійшов би належним чином в режимі одного користувача, тому що root був повний. З рятувальної системи, я зробив mount /dev/sda7 /mnt, потім chroot /mnt, потім du -s -h * знову: практично такий же результат: du Результати не додаються до df результат.
Jeroen Wiert Pluimers

2
Будь-яка удача з fsck (перед монтажем RW) ?. Крім того, не забудьте додати, що на посаду, щоб ми могли видалити коментарі.
Hennes

Відповіді:


1

Спочатку деяка довідкова інформація

Якщо у вас є btrfs на кореневій файловій системі http://www.opensuse.org/en/ , тоді відбудеться дві речі:

  1. openSUSE автоматично почне використовувати snapper брати знімки кореневої файлової системи.
  2. знімки займуть дисковий простір du не відображається

Це означає, що вам буде вичерпано місце на диску раніше, ніж ви очікуєте. Таким чином, рекомендація (не в документах) є роблять розділи, які використовують знімки вдвічі більше, ніж зазвичай .

Я не знайшов способу показати розмір знімка або загальний розмір всіх знімків.

Таким чином, ви повинні контролювати вільне місце на диску df або ця специфічна команда btrfs для кореня ( / ) файлова система:

btrfs filesystem df /

Очищення знімків

Завдяки NerdyRoom ™ »Радості btrfs і OpenSuSE - або« не залишилося місця на пристрої ». Я дізнався про найпростіший спосіб видалити старі знімки, які ви захочете видалити (і ви повинні, коли ви не вистачите дискового простору).

Перший запуск snapper list щоб побачити порядковий номер знімків, які є.

З цього списку виберіть розумну нижню і верхню межу знімків, які потрібно видалити.

Потім запустіть це з нижчим ( 1 ) і верхній ( 3656 ):

for i in `seq 1 3656`; do snapper delete $i; done

Редагувати 20161212:

Анонімний користувач запропонував редагування, щоб зробити його коротшим. Я згоден, тому що вище можна зробити коротше за snapper man page :

snapper delete 1-3656
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.