Кончилось место в root

Добрый день.

При попытке записать какое либо ПО выходит сообщение что кончилось место на устройстве.

root@wirenboard-AJKZN2UY:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 980M 931M 0 100% /
devtmpfs 241M 0 241M 0% /dev
tmpfs 249M 0 249M 0% /dev/shm
tmpfs 249M 3.7M 246M 2% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 249M 0 249M 0% /sys/fs/cgroup
/dev/mmcblk0p6 1.3G 155M 1006M 14% /mnt/data
/dev/mmcblk0p3 976M 2.6M 907M 1% /media/root/48169038-f43c-4644-afba-1baddfee3a932
tmpfs 50M 0 50M 0% /run/user/0

Как найти что съело место в root и что можно удалить. Работать могу через консоль и WinSCP?

Добрый день!

Посмотрите занимаемое место по папкам через du -h (чуть подробнее здесь: https://www.cyberciti.biz/faq/linux-check-disk-space-command/).
Найдите то, что съело всё место, и дальше будем смотреть.

В общем если скопировать целиком папку root то ее размер 26М
Папка Var 135М

Места кончилось после установки nodejs, он сожрал 20М в папке Root

root@wirenboard-AJKZN2UY:~# df -a -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 980M 931M 0 100% /
devtmpfs 241M 0 241M 0% /dev
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
securityfs 0 0 0 - /sys/kernel/security
tmpfs 249M 0 249M 0% /dev/shm
devpts 0 0 0 - /dev/pts
tmpfs 249M 3.7M 246M 2% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 249M 0 249M 0% /sys/fs/cgroup
cgroup 0 0 0 - /sys/fs/cgroup/systemd
configfs 0 0 0 - /sys/kernel/config
debugfs 0 0 0 - /sys/kernel/debug
mqueue 0 0 0 - /dev/mqueue
/dev/mmcblk0p6 1.3G 156M 1005M 14% /mnt/data
/dev/mmcblk0p6 1.3G 156M 1005M 14% /var/log
/dev/mmcblk0p3 976M 2.6M 907M 1% /media/root/48169038-f43c-4644-afba-1baddfee3a932
tmpfs 50M 0 50M 0% /run/user/0

Не очень понял, что вы сделали. Удалось ли решить проблему?

Не знаю нормально это или нет, но у меня место стабильно съедалось файлом /var/log/messages причем каждый день, даже если старые логи удалить. После подключения карты памяти и переноса папки логов на неё проблема решилась.

команда:
du -hd1 /
даст расклад по объему директорий в корне

А какие строчки занимали логи? Возможно, у вас было сконфигурировано устройство RS-485, которого на самом деле не было - тогда про него будут постоянно писаться ошибки, и файл разрастётся.

Поправьте ротацию логов:

echo -e \
'/var/log/messages {
  compress
  delaycompress
  rotate 2
  missingok
  size 200k
}' > /etc/logrotate.d/messages

Теперь и у меня переполнился root.
Вот что выдает команда:
du / -h --max-depth=1
16K /root.default
4.0K /srv
12K /home
5.3M /sbin
4.0K /media
18M /node_modules
4.3M /etc
du: cannot access ‘/proc/7632/task/7632/fd/4’: No such file or directory
du: cannot access ‘/proc/7632/task/7632/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/7632/fd/3’: No such file or directory
du: cannot access ‘/proc/7632/fdinfo/3’: No such file or directory
0 /proc
0 /dev
0 /sys
52K /tmp
66M /lib
7.2M /boot
569M /usr
1.2G /var
4.0K /opt
16K /lost+found
5.6M /bin
3.7M /run
1.3G /mnt
3.1G /

То есть /usr занимает 569 мб.
Стоит Node-red, может он память съел?

/var/log находится на SD карте

Так зачем гадать (а нам так и вообще удалённо гадать), если можно зайти в большие папки /var и /usr, и посмотреть, что именно занимает в них много места.

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

Выполните здесь:

и пришлите вывод.

Временно решил проблему удалив Node-Red, но сейчас захотелось до конца разобраться в проблеме свободного места.

Вот по директории /var
16K /var/spool
1.3M /var/backups
24K /var/log.default
2.6G /var/log
20K /var/tmp
16M /var/lib
4.0K /var/mail
4.0K /var/opt
2.1M /var/cache
4.0K /var/local
2.5M /var/www
4.0K /var/log2
2.6G /var

Вот /usr
5.8M /usr/sbin
127M /usr/share
4.0K /usr/src
229M /usr/lib
4.0K /usr/games
21M /usr/include
112K /usr/local
58M /usr/bin
439M /usr

Добрый день!
Проблема в каких-то логах:

Зайдите, пожалуйста, внутрь, и там тоже ищите самые большие файлы. Пришлите их названия и размер.

я эту папку перенес на SD карту. Но самый большие файлы там это логи messages.

Да, забыл про это. Но это всё равно не нормально, можете прислать вывод tail -f /var/log/messages, посмотрим.

В контроллере после перепрошивки со сбросом настроек ситуация такая:

root@wirenboard-AQZBLNTY:~# df -h -x squashfs -x tmpfs -x devtmpfs              
Filesystem      Size  Used Avail Use% Mounted on                                
/dev/root       980M  456M  458M  50% /                                         
/dev/mmcblk0p6  1.3G  6.2M  1.2G   1% /mnt/data                                 
root@wirenboard-AQZBLNTY:~# du -hd1 /                                           
0       /dev                                                                    
30M     /var                                                                    
2.5M    /mnt                                                                    
5.6M    /bin                                                                    
7.2M    /boot                                                                   
52K     /tmp                                                                    
8.0K    /home                                                                   
16K     /root.default                                                           
0       /sys                                                                    
4.0K    /opt                                                                    
4.1M    /etc                                                                    
du: cannot access '/proc/4117/task/4117/fd/4': No such file or directory        
du: cannot access '/proc/4117/task/4117/fdinfo/4': No such file or directory    
du: cannot access '/proc/4117/fd/3': No such file or directory                  
du: cannot access '/proc/4117/fdinfo/3': No such file or directory              
0       /proc                                                                   
4.0K    /srv                                                                    
5.3M    /sbin                                                                   
66M     /lib                                                                    
4.0K    /media                                                                  
3.7M    /run                                                                    
338M    /usr                                                                    
461M    /      

Вот вы говорите что в нехватки места виноват лог файл и тд.

А теперь вот вам, я беру новый WB6, ставлю на него Node Red и Mariadb и место в корне кончилось, я больше нечего не могу поставить, притом в каталоге mnt/data/ свободно 1.1 гб памяти, а корень забит на 100% после установки 2-х программ. Так как решить проблему?
Нельзя ли поменять структуру и перераспределить места с mnt/data в root?

4 лайка

Присоединяюсь предыдущему автору. Катастрофически не хватает места в разделе для установки ПО. Стоит установить NodeJS, пару npm, z-way сервер и всё. Конечно, можно вынести все это на внешний сервер и использовать WB6 как MQTT-шлюз, но как-то это не очень рационально.

1 лайк

Добрый день!

Давайте посмотрим, куда ушло место, на всякий случай:

Как корректно перенести /var/log/ на флешку?