Обновил дебиан, осталось 0% в root (место на диске)

Здравствуйте,

обновлял по инструкции, пришлось временно удалить docker. После обновления дистрибутива установил докер и кончилось место в root.

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       976M  920M     0 100% /
devtmpfs        491M     0  491M   0% /dev
tmpfs           499M     0  499M   0% /dev/shm
tmpfs           200M  3,4M  197M   2% /run
tmpfs           5,0M     0  5,0M   0% /run/lock
/dev/mmcblk1p1  235G  1,6G  221G   1% /mnt/sdcard
/dev/mmcblk0p6  4,9G 1019M  3,7G  22% /mnt/data
overlay         235G  1,6G  221G   1% /mnt/sdcard/docker/overlay2/64d770d6cd141f418f7e2c05560319c49a5191f34c283cb28d9b7cf2785a1ae3/merged
tmpfs           100M     0  100M   0% /run/user/0

Случайно заметил, некий journal ест почти половину места, которое в руте.

journalctl --disk-usage
Archived and active journals take up 408.1M in the file system.

В интернетике нашел, как ограничить этот journal;

You can control the size of this directory using this parameter in your /etc/systemd/journald.conf:

SystemMaxUse=50M

Можно ли так сделать или лучше по-другому? Вообще, установлена огромная флешка, может, все логи вообще направить туда? (Правда, не знаю, как это сделать).

Спасибо!

Господа?

А почему сделан вывод что место именно в корне?

Я подумал, что /var/log/journal/ce89…/ (там много файлов на 500Мб) находится в корневой файловой системе. Могу быть не прав.

А как правильно?

df -h

результат этой команды в первом посте. Можно ли сделать вывод, что /var/log/journal/… не находится в корневой файловой системе и ограничение этого лога не приведет к освобождению места в таковой?

Судя по показаниям /var/log у вас расположено в корневом разделе.

Спасибо!

@BrainRoot, вот и не только я думаю, что journal поедает место именно в корне.

С другой стороны, я провел манипуляцию по ограничению этого лога до 100М, но свободное место в root не увеличилось.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       976M  921M     0 100% /
devtmpfs        491M     0  491M   0% /dev
tmpfs           499M     0  499M   0% /dev/shm
tmpfs           200M  3,4M  197M   2% /run
tmpfs           5,0M     0  5,0M   0% /run/lock
/dev/mmcblk0p6  4,9G  715M  4,0G  16% /mnt/data
/dev/mmcblk1p1  235G  1,6G  221G   1% /mnt/sdcard
overlay         235G  1,6G  221G   1% /mnt/sdcard/docker/overlay2/64d770d6cd141f418f7e2c05560319c49a5191f34c283cb28d9b7cf2785a1ae3/merged
tmpfs           100M     0  100M   0% /run/user/0
# journalctl --disk-usage
Archived and active journals take up 104.0M in the file system.

Помогите apt update даже не работает

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

Мне вспоминается, что /var волшебным образом на самом деле находится в /mnt/data вместе с /etc.

Так что остается непонятным что делать. Только docker и установлен из “лишнего”

1 лайк

Я перезагружался и ограничение отработало, файлы лога исчезли, видимо, дело-таки не в логах.

du -d 3 -h -x /

что возвращает?
Эта команда покажет какой каталог (с детализацией на 3 уровня вниз) сколько места занимает. И аналазироваться будет только то что явно лежит в /

1 лайк

я в мегабайтах вывел (du -d 3 -m -x /) и потом в калке отсортировал:

917 /
770 /usr
268 /usr/bin
209 /usr/lib
160 /usr/share
117 /usr/lib/arm-linux-gnueabihf
114 /usr/libexec
113 /usr/libexec/docker
74 /lib
38 /lib/modules/5.10.35-wb133+wb101
38 /lib/modules
36 /usr/share/vim
33 /var
24 /var/lib
23 /usr/lib/python3.9
22 /usr/lib/python2.7
20 /usr/share/perl
18 /lib/udev
17 /usr/share/i18n
17 /var/lib/dpkg
15 /boot
12 /usr/lib/python3
12 /usr/lib/git-core
12 /usr/include
12 /usr/share/ieee-data
10 /usr/sbin
10 /usr/share/GeoIP

(дальше меньше 10М)

у меня на “голой” /usr/bin занимает 67М.

1 лайк

Из очевидного - перейти на testing с увеличением корня вдвое.
Актуально для WB7.
Из доступных решений - перенести что-то (бинарники докера) в другой раздел и заменить их симлинками. Ну и:

dpkg-query --show --showformat='${Installed-Size}\t${Package}\n' | sort -rh | head -30 | awk '{print $1/1024, $2}'

наверняка какой-то из пакетов докера опциональный. например, docker-compose

~# dpkg-query --show --showformat='${Installed-Size}\t${Package}\n' | sort -rh | head -30 | awk '{print $1/1024, $2}'
87,25 containerd.io
65,4238 docker-ce
63,5547 docker-buildx-plugin
51,2129 linux-image-wb7
48,8418 docker-compose-plugin
32,29 docker-ce-cli
31,3809 vim-runtime
30,5234 libicu67
26,1836 git
19,6963 libperl5.32
17,7158 docker-ce-rootless-extras
17,0459 perl-modules-5.32
15,6387 locales
14,6709 wb-mqtt-confed
14,6699 coreutils
12,6387 wb-rules
12,1572 network-manager
11,7432 ieee-data
11,4824 systemd
9,77734 geoip-database
8,82812 libc6-dev
8,7832 libglib2.0-data
8,2832 udev
8,03711 libc6
7,91113 libpython2.7-stdlib
7,49023 wb-mqtt-homeui
7,36328 wb-mqtt-serial
6,9082 libpython3.9-stdlib
6,41113 python3.5-minimal
6,40137 libmagic-mgc

Вот тут рассматривали: Проблема с установкой докера на 2304 - #13 от пользователя BrainRoot

Важно! убедитесь что понимаете что делают какждая из выполняемых команд.

Спасибо, полегчало, надеюсь, выдержит обновления докера пока не увеличится рут

Извините, а если я такой же финт проверну с /usr/share или хотя бы с /usr/lib/arm-linux-gnueabihf, я не окирпичу устройство? (Вздумалось мне попробовать установить qemu)

edit: объясню для чего я так мучаюсь: хочу куда-нибудь установить софтверный контроллер для устройств tp-link, не думаю, что это высокотребовательный к ресурсам софт, а он у них только под “Linux_x64”. я так понимаю, без qemu мне 64-битный linux не сэмулировать. если не получится, конечно, куда-нибудь пристрою в другое место