До кучи обновил npm Правда после этого мне пришлось устанавливать еще и более свежую версию Python
и делать ребилд zigbee-herdsman. Из-за того что версия Node.js установленная менеджером оказалась новее той, в которой был собран herdsman. В идеале узнать бы какая конкретно нужна, и обновиться до нее
Сделать можно будет командой вида*
n 0.8.20
Предлагаю заранее позаботиться о достаточном кол-ве свободного места на диске
Самый верный способ очистки будет перенос пользовательских пакетов
в большой раздел диска
и создание символической ссылки на них в прежнем месте
в конце есть несколько полезных ссылок чтобы не искать все ручками (начать лучше с них (отобразить самые большие пакеты и перенести их), а алгоритм изложен в моем сообщении)
две полезные темы по этому поводу
Запоминаем что наш большой раздел примонтрован в /mnt/data
И исследуем что у нас занимает место в корне
root@wirenboard-AITGTIZ7:~# du -hd1 /
5,5M /sbin
4,0K /opt
74M /lib
4,0K /home
4,9M /etc
504K /run
16K /lost+found
5,6M /bin
0 /sys
1,4G /mnt
576M /usr
4,0K /media
5,5M /tmp
du: невозможно получить доступ к '/proc/5666/task/5666/fd/4': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5666/task/5666/fdinfo/4': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5666/fd/3': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5666/fdinfo/3': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5721': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5725': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5726': Нет такого файла или каталога
0 /proc
4,0K /srv
124M /var
9,9M /boot
16K /root.default
0 /dev
2,2G /
Условно видим что много места занимает /usr
далее
du -hd1 /usr
и в таком духе.
В моем случае много места занимал Node-red со своими модулями
поэтому я перенес такие папки как /usr/lib/node_modules/
Как перенести?
Для порядка предлагаю создать внутри /mnt/data какую-то отдельную папку, условно folder
mkdir /mnt/data/folder
и создавать внутри нее целевые папки по образу изначального нахождения (вообще я уверен что для cp есть какой-то синтаксис, который создаст все необходимые целевые папки, но я его не знаю)
Важно! нельзя перенести системные файлы
не знаю как правильно объяснить, шобы меня не заплевали
но при старте системы далеко не сразу загрузятся все примонтированные разделы
и может случиться так что ваша ссылка будет ссылать вникуда
печальный пример
пара полезных команд из той же темы
Узнать список файлов пакета nodejs:
Мы рекомендуем устанавливать zigbee2mqtt и nodejs пакетами из наших репозиториев. Сейчас доступны:
к сожалению, ZigBee2MQTT 1.25.2 не завёлся с node 12.
обновил ноду на 16, предсказуемо потребовало перекомпилировать (спотыкалась о Serial…)
Перекомпиляция не поехала, ибо python3.5 obsolete
zigbee2mqtt# npm rebuild @serialport/bindings --update-binary
npm ERR! code 1
npm ERR! path /mnt/data/root/zigbee2mqtt/node_modules/@serialport/bindings
npm ERR! command failed
npm ERR! command sh /tmp/install-b3bea280.sh
npm ERR! prebuild-install WARN install No prebuilt binaries found (target=16.17.0 runtime=node arch=arm libc= platform=linux)
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@9.0.0
npm ERR! gyp info using node@16.17.0 | linux | arm
npm ERR! gyp ERR! find Python
npm ERR! gyp ERR! find Python Python is not set from command line or npm configuration
npm ERR! gyp ERR! find Python Python is not set from environment variable PYTHON
npm ERR! gyp ERR! find Python checking if “python3” can be used
npm ERR! gyp ERR! find Python - executable path is “/usr/bin/python3”
npm ERR! gyp ERR! find Python - version is “3.5.3”
npm ERR! gyp ERR! find Python - version is 3.5.3 - should be >=3.6.0
npm ERR! gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
npm ERR! gyp ERR! find Python checking if “python” can be used
npm ERR! gyp ERR! find Python - executable path is “/usr/bin/python”
npm ERR! gyp ERR! find Python - version is “2.7.13”
npm ERR! gyp ERR! find Python - version is 2.7.13 - should be >=3.6.0
npm ERR! gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
npm ERR! gyp ERR! find Python
npm ERR! gyp ERR! find Python **********************************************************
npm ERR! gyp ERR! find Python You need to install the latest version of Python.
Python 3.6.3 сопротивляется к установке. Аналогично не захотел 3.7.13
Напомню, что до apt upgrade система ехала
NodeRed не используется
какие варианты?
снести zigbee2mqtt и поставить заново?
Удалил свои эксперименты
поставил ещё раз из вашего репозитория
Опять ошибка, но в этот раз не откликается TTYMOD
Надо ехать к устройству, дёргать по питанию видимо
Похоже на проблему связи с модулем. Проверьте еще раз, что указан правильный порт, модуль сконфигурирован в настройках контроллера. По номеру партии модуля можно узнать, какая у него прошивка. Партия указана на наклейке на платемодуля, а сведения о прошивке - в конце страницы документации: Модуль расширения: ZigBee, WBE2R-R-ZIGBEE v.1 — Wiren Board
Через apt снести zigbee2mqtt и поставить снова.
Я дополнительно делал apt autoremove для удаления мусора
Сохраните конфиги.
Устройства потеряют привязку - у меня так было.