LINUX.ORG.RU

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

 


0

1

Приветствую Пересоздавал swapfile на SSD, случайно задал размер больше свободного места. Файл заполнил всё под ноль. Я его удалил, но свободного места всё равно 0. Проверка fsck -f ошибок не нашла. Поудалял файлы, получил 14 Гб, создал swapfile на 1 Гб. Стало 1-3 Гб свободного места. Перераспределил разделы, получил 50-60 Гб места. Пересоздал swapfile на 8 Гб, осталось 14 Гб места. WTF? fsck не помогает. Нет ли специальных программ для более тщательной проверки ext4? Видел debugfs, но не нашёл там возможностей для этого. Разве что для ручной работы с блоками и нодами. Искать программу или проще переустановить ubuntu? Лень восстанавливать программы, у меня их много. Хорошо хоть home в отдельном разделе, хоть сейчас это и не модно.

А попробуй ncdu запустить и глянуть, что съело всё место. По описанию и правда что-то странное происходит. Особенно вот в этой части:

Перераспределил разделы, получил 50-60 Гб места. Пересоздал swapfile на 8 Гб, осталось 14 Гб места.

u5er ★★
()
Ответ на: комментарий от u5er

ncdu -x / (У меня home отдельно)

    9.9 GiB [##########################] /usr
    8.0 GiB [####################      ]  swapfile
.   2.6 GiB [######                    ] /var
    1.1 GiB [##                        ] /opt
  195.2 MiB [                          ] /boot
.  11.0 MiB [                          ] /etc
!  16.0 KiB [                          ] /lost+found
   12.0 KiB [                          ] /media
e   4.0 KiB [                          ] /srv
e   4.0 KiB [                          ] /sbin.usr-is-merged
!   4.0 KiB [                          ] /root
e   4.0 KiB [                          ] /mnt
e   4.0 KiB [                          ] /lib.usr-is-merged
e   4.0 KiB [                          ] /bin.usr-is-merged
@   0.0   B [                          ]  lib64
@   0.0   B [                          ]  lib32
@   0.0   B [                          ]  sbin
@   0.0   B [                          ]  lib
@   0.0   B [                          ]  bin
>   0.0   B [                          ] /tmp
>   0.0   B [                          ] /sys
>   0.0   B [                          ] /run
>   0.0   B [                          ] /proc
>   0.0   B [                          ] /home
    0.0   B [                          ]  forcefsck
>   0.0   B [                          ] /dev
    0.0   B [                          ]  .package-cache-mutate

du -h -x / 2>/dev/null | sort -hr | head -20

22G     /
10G     /usr
6.7G    /usr/lib
2.7G    /var
2.7G    /usr/lib/x86_64-linux-gnu
2.3G    /var/lib
2.2G    /usr/share
1.9G    /var/lib/flatpak
1.7G    /var/lib/flatpak/runtime
1.2G    /opt
1.1G    /usr/lib/i386-linux-gnu
842M    /var/lib/flatpak/runtime/org.gnome.Platform/x86_64/46/cbd6597a7a131f6ddfe5db99c3f761dc8921b81b7b05a5e210924e6b5b5f53f4/files
842M    /var/lib/flatpak/runtime/org.gnome.Platform/x86_64/46/cbd6597a7a131f6ddfe5db99c3f761dc8921b81b7b05a5e210924e6b5b5f53f4
842M    /var/lib/flatpak/runtime/org.gnome.Platform/x86_64/46
842M    /var/lib/flatpak/runtime/org.gnome.Platform/x86_64
842M    /var/lib/flatpak/runtime/org.gnome.Platform
657M    /usr/lib/llvm-18
639M    /usr/lib/x86_64-linux-gnu/wine
634M    /usr/lib/x86_64-linux-gnu/wine/x86_64-windows
575M    /var/lib/flatpak/runtime/org.gnome.Platform/x86_64/46/cbd6597a7a131f6ddfe5db99c3f761dc8921b81b7b05a5e210924e6b5b5f53f4/files/lib

При том, что

Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sdb6         80G          72G  3.3G           96% /
DaliAgain
() автор топика
Ответ на: комментарий от DaliAgain

Нет, нужно именно увидеть открытые файлы. Если я правильно понял то, что у тебя в топике написано, файл всё ещё открыт и в него продолжает идти запись.

В частности вот по этим фразам.

Перераспределил разделы, получил 50-60 Гб места. Пересоздал swapfile на 8 Гб, осталось 14 Гб места. WTF?

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

По всем выложенным данным, свап занимает 8 Гб, компьютер перезагружался неоднократно и несколько раз. Файлы в разделе / занимают 22 Гб, размер раздела 80 Гб, использовано 72 Гб.

DaliAgain
() автор топика
Ответ на: комментарий от anonymous

Было

Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sdb6         80G          72G  3.3G           96% /
sudo fstrim -v /
/: 7.3 GiB (7835140096 bytes) trimmed

Стало

Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sdb6         80G          72G  3.3G           96% /
DaliAgain
() автор топика
Ответ на: комментарий от DaliAgain

Загадочно. А есть возможность загрузиться с другой системы, другого дистрибутива с другим ядром, например slackware live и проверить df на смонтированном вручную разделе и du -sh от каталога куда смонтировал? Ещё проверь скрытые файлы, набери ls -la и если смонтировано например в /foo то du -sh /foo/{.[!.]*,*} | sort -hr

А и ещё dumpe2fs /dev/... тоже проверь

Вообще по-моему разгадка может быть в этом. Создание swapfile например резервирует в свойствах ФС места, а изменение почему-то не освобождает.

Ещё проверь с опцией -b вдруг блоки помечены как плохие.

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

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 7)
Ответ на: комментарий от Xenius

Проблема решилась.

Я не понял, почему после правильного удаления swapfile, заполнившего всё свободное пространство, место не освободилось (и после перезагрузки). Но при судорожной очистке диска в попытке освободить место где-то допустил ошибку использования sudo, и создался каталог /root/.local/share/Trash/, где начали копиться *.deb на >50Gb.

DaliAgain
() автор топика
Ответ на: комментарий от Xenius

Эта команда du -h -x / 2>/dev/null | sort -hr | head -20 показывала, что занято 22 Гб, а sudo du -h -x / 2>/dev/null | sort -hr | head -20 показал использование 72 Гб и нашёлся мусорный каталог.

DaliAgain
() автор топика