Jump to content

iFinder

Forum Members
  • Posts

    175
  • Joined

  • Last visited

Everything posted by iFinder

  1. Терять уже нечего. Пробую. Устанавливаю пакет `opkg list | grep e2fs | cut -f1 '-d ' | xargs opkg install`: Получаю перечень всех имеющихся дисков: ~ # mount | grep sd /dev/sda on /tmp/mnt/2830c0e8-ee61-540d-4a26-0271e5df6778 type ext3 (rw,noatime,data=ordered) /dev/sda on /opt type ext3 (rw,noatime,data=ordered) ~ # Отмонтрую нужный диск: ~ # umount /dev/sda umount: can't unmount /opt: Device or resource busy ~ # Может надо было его предварительно отключить в WEB-интерфейсе роутера ?
  2. а) Быстро (я понимаю время на подготовку) и просто не получится. Это важная информация для меня. б) Ранее у меня не было возможности доступа к Entware-флэшки с Windows-систем. в) К тому же TheBB, сообщил, что Entware-флэшка может быть в NTFS. г) Entware-флэшка всего 256 Мб, что уже стало мало. Учитывая это, мне представляется наиболее оптимальным вариантом: Отформатировать Entware-флэшку в NTFS и восстановить на неё резервную копию. Тогда получу преимущества: а) Достаточно быстро решу проблему. б) Будет доступ к Entware-флэшке с Windows-систем. в) Смогу легко проверить техсостояние Entware-флэшки с Windows-системы. г) Entware-флэшка станет как мимимум 8Гб. д) Получу первый опыт восстановления Entware.
  3. Поднял свои старые записи. При установке Entware специально форматировал флэшку в EXT3 с помощью Windows-приложения "Acronis Disk Director 12". Компа с GNU/Linux никогда не имел, только Windows. Можно ли проверить Entware-флэшку в EXT3 средствами Keenetic/Entware ?
  4. Правильно ли у меня выстроилось ? а) Устройство (Роутер) ZyXEL Keenetic имеет операционную систему NDMS. Обновляется через WEB-интерфейс NDMS. б) Средствами NDMS v2.07 и выше (с помощью Менеджера пакетов OPKG) устанавливаются основные пакеты Системы пакетов Entware. Обновляются CLI-командами `opkg update && opkg upgrade`. в) Далее в систему пакетов Entware устанавливаются Entware-пакеты семейства Node, в т.ч. "node-npm". Обновляются CLI-командами `opkg update && opkg upgrade`. г) Затем в систему пакетов Node добавляется Node-пакет "node-red". Обновляется CLI-командой `npm update node-red`. д) И наконец, для Node-RED устанавливаются дополнительные Node-пакеты (например, "node-red-contrib-advanced-ping"). Обновляется CLI-командой `npm update node-red-contrib-advanced-ping`.
  5. `npm update node-red` Извините, сделал опечатку. Про обновление Node-RED Вы ещё раньше ответили. Интересует сама Entware. А какими командами обновляется сама Entware ? Раньше я считал, что `opkg update && opkg upgrade`.
  6. Тогда однозначно NTFS. Подключил флэшку с рабочей Entware (но не рабочей Nede-RED). Windows XP считает, что флэшка не отформатирована и предлагает сделать это. Это нормально или это признак, что флэшка имеет серьёзные проблемы ?
  7. 16. То, что Вы прописали это вместо или в дополнение к сделанному мною ранее ? 17. Правильно ли я понимаю, что и сама Entware и её пакеты (в т.ч. Node) обновляются командами `opkg update && opkg upgrade` ? 20. Судя по ответу можно какие-то части. А как можно частично восстановить ? 21. По-моему на форуме писалось, что USB-флэшка должна быть в FAT32. Можно ли её отформатировать средствами Keenetic/Entware ? Если да, то как ?
  8. Проверять на Windows (я с ней уже более 30 лет) или, учитывая специфику, в самой Entware ? Если на Entware, тогда как ?
  9. Как, всегда в Ваших ответах есть во что вникнуть. Но у меня тут беда случилась: Тестировал перебор JSON-данных в цикле. Среда Node-Red зависла. Да так, что не смог подключиться к Entware через Putty. Передёргивание флэшки, перезагрузка Роутера не дали результатов. Потом обнаружил, что на Роутере полностью слетела строка инициализации `/opt/etc/init.d/rc.unslung`. Обрадовался, указал строку инициализации, перезагрузился, но Node-Red осталась недоступной. Зато смог войти к Entware через Putty. В журнале только несколько (осталось от прошлых перезагрузок) одиночных первых строк запуска и больше ничего. Тогда запустил напрямую: ~ # node-red Bus error ~ # ~ # npm -v Bus error ~ # и получил совсем непонятное. Так что даже отработать Ваш ответ не на чем... И снова Что делать ?
  10. 19. Как можно посмотреть, сколько ресурсов (память, процессор) занимает Node-Red, чтобы понять насколько Роутер подходит для его использования ? 20. На каждом этапе я делал резервные копии. ~ # tar cvzf /opt/Entware-backup-`date "+%Y-%m-%d_%H-%M"`.tar.gz -C /opt . Но как теперь из них восстановить Entware ? 21. Как перенести/скопировать текущую Entware на другую флэшку ?
  11. 16. Когда устанавливал пакет (см.выше) появилось: ?----------------------------------------------------------------? ¦ ¦ ¦ New minor version of npm available! 6.4.1 > 6.12.0 ¦ ¦ Changelog: https://github.com/npm/cli/releases/tag/v6.12.0 ¦ ¦ Run npm install -g npm to update! ¦ ¦ ¦ ?----------------------------------------------------------------? Не подумал и выполнил: ~ # npm install -g npm /opt/bin/npm -> /opt/lib/node_modules/npm/bin/npm-cli.js /opt/bin/npx -> /opt/lib/node_modules/npm/bin/npx-cli.js + npm@6.12.0 added 62 packages from 18 contributors, removed 19 packages and updated 70 packages in 465.64s Хотел проверить версию и получил, что заслужил: ~ # npm -v -sh: npm: not found `opkg update; opkg upgrade` не помогло. Чтобы не ставить Entware заново, по аналогии с советом: Проверил отсутствие `/usr`: ~ # find /opt/lib/node_modules/npm/ -type f | xargs grep -E "^#!.*(bash|node|perl|python|ruby|sh)$" И выполнил правку (найти и исправить пути с `/usr` на `/opt`): ~ # find /opt/lib/node_modules/npm/ -type f | xargs sed -i -e "1s,^#!.*bash$,#!/opt/bin/bash,;1s,^#!.*node$,#!/opt/bin/node," ~ # find /opt/lib/node_modules/npm/ -type f -a -iname R*.md | xargs sed -i -e 's,^#!.*node,#!/opt/bin/node,' В итоге получил с фрагментами типа "/usr/bin/": Есть фрагменты типа "/usr/bin/". но самое главное: ~ # npm -v 6.12.0 Вопросы: Что ещё надо сделать, чтобы можно было осваивать Node-Red и не переживать что криво установил ? Или лучше вообще переустановить Entware, Node и Node-Red?
  12. Теперь начал писать инструкцию по особенностям работы с Node-Red в Entware. 15. Установил дополнительный узел Node-RED командой: ~ # npm install node-red-contrib-advanced-ping оказалось, что оно установилось в: /opt/root/node_modules/, а надо было в: /opt/root/.node-red/node_modules/ и Node-Red его не видит. Как удалить этот пакет ? В справке npm указано: ~ # npm uninstall -h npm uninstall [<@scope>/]<pkg>[@<version>]... [--save-prod|--save-dev|--save-optional] [--no-save] aliases: un, unlink, remove, rm, r
  13. Как и обещал ранее выкладываю итоговый: АЛГОРИТМ УСТАНОВКИ: Особая благодарность уважаемому TheBB I. ПОДГОТОВКА (ОБНОВЛЕНИЕ Entware): II. УСТАНОВКА Node-RED: III. ДОБАВЛЕНИЕ Node-RED В АВТОЗАГРУЗКУ с помощью Entware-пакета procps-ng-pkill: IV. ЗАПУСК Node-RED:
  14. Уважаемый TheBB, Ваш вклад в данном случае в поднятии Node-RED на Entware просто неоценим. Со своей стороны хочу тоже хоть что-то сделать: как только закончатся вопросы выложу итоговую инструкцию. Указанная выше команда заменила оставшиеся `/usr` на `/opt` 9. А какую задачу выполняет выше указанная команда (выполнилась без ошибок) ? Выполнил: ~ # /opt/etc/init.d/S11node-red start Starting Node-Red.. Logging to /opt/var/log/node-red.log ~ # /opt/bin/node-red-pi: line 43: /usr/bin/env: No such file or directory и сразу новые вопросы: 10. Почему Вы запускали в файле S11node-red ИМЕННО pi-версию Node-Red ? node-red-pi --max-old-space-size=128 11. Правильно ли я понимаю, что чтобы избежать ошибки, надо предварительного выполнить (это Вы сами указывали): sed -i -e 's,/usr/bin/env node,/opt/bin/node,' /opt/lib/node_modules/node-red/bin/node-red-pi 12. Как я понял Entware-пакет procps-ng-pkill Вы установили, чтобы с помощью pkill можно было останавливать работу None-RED. Почему Вы не стали использовать Node-пакет PM2 (PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.) ? 13. У меня роутер Extra II. О выступает исключительно для создания Wi-Fi-сети и работы Entware, на которой поднят Mosquitto, None-RED и пара моих простеньких скриптов. Будет ли его технических характеристик достаточно, чтобы обеспечить надёжное функционирование приложений на Entware ? 14. Правильно ли я понимаю,что любом режиме роутера (точка доступа и т.д.) приложения на Entware будут работать ?
  15. Ну вот и остался последний этап - Запуск Node-RED при загрузке: Вот, что накопал в инете: Using PM2 PM2 is a process manager for Node.js. It makes it easy to run applications on boot and ensure they are restarted if necessary. правильно ли я понимаю, что как минимум надо установить пакет pm2 ? npm install -g pm2 им запускать node-red: pm2 start /opt/bin/node-red -- -v И потом как-то сам pm2 запускать при загрузке ?
  16. Исчерпывающие ответы. В очередной раз благодарен Вам, уважаемый TheBB ! Сделал как Вы указали. На каждом этапе контролировал состояние, но в конце получил ошибку. ~ # find /opt/lib/node_modules/node-red/ -type f | xargs sed -i -e "1s,^#!.*bash$,#!/opt/bin/bash,;1s,^#!.*node$,#!/opt/bin/node," ~ # /opt/lib/node_modules/node-red/node_modules/ajv/scripts/prepare-tests:#!/usr/bin/env sh -sh: /opt/lib/node_modules/node-red/node_modules/ajv/scripts/prepare-tests:#!/usr/bin/env: not found И, кстати, в Вашем примере остались `/usr`, не заменённые на `/opt`, например: /opt/lib/node_modules/node-red/node_modules/commander/Readme.md:#!/usr/bin/env node Как устранить ошибку, что не так ?
  17. 5. В чём причина Предупреждений ? 6. Каковы могут быть последствия их игнорирования ? 7. В чём суть поиска и правки, которую выполнил TheBB ? 8. Надо ли мне тоже повторять этот поиски или сразу выполнить правку: find /opt/lib/node_modules/node-red/ -type f | xargs sed -i -e "1s,^#!.*bash$,#!/opt/bin/bash,;1s,^#!.*node$,#!/opt/bin/node," /opt/lib/node_modules/node-red/node_modules/ajv/scripts/prepare-tests:#!/usr/bin/env sh 9. Каким из двух вариантов запускать Node-RED: ~ # sed -i -e 's,/usr/bin/env node,/opt/bin/node,' /opt/lib/node_modules/node-red/bin/node-red-pi ~ # /opt/lib/node_modules/node-red/bin/node-red-pi ИЛИ ~ # node ~ # node-red
  18. По совету zyxmon сделал обновление: ~ # opkg update ~ # opkg upgrade Были ошибки, поэтому повторил ещё пару раз. Получилось. Далее, не скачивая дистрибутив, установил Node-RED ~ # npm install -g --unsafe-perm node-red По окончании отобразилось тоже самое, что и у TheBB : ~ # npm install -g --unsafe-perm node-red /opt/bin/node-red -> /opt/lib/node_modules/node-red/red.js /opt/bin/node-red-pi -> /opt/lib/node_modules/node-red/bin/node-red-pi > bcrypt@3.0.6 install /opt/lib/node_modules/node-red/node_modules/bcrypt > node-pre-gyp install --fallback-to-build sh: node-pre-gyp: not found npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bcrypt@3.0.6 (node_modules/node-red/node_modules/bcrypt): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bcrypt@3.0.6 install: `node-pre-gyp install --fallback-to-build` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: spawn ENOENT + node-red@1.0.2 added 294 packages from 304 contributors in 483.73s
  19. Решился устанавливать, Отдал команду и получил ошибку: ~ # npm install -g --unsafe-perm node-red /opt/bin/node: error while loading shared libraries: libc.so.0: cannot open shared object file: No such file or directory Может надо вместо npm указывать node-npm ? И снова становится уместным мой вопрос: 1. Откуда возьмётся дистрибутив node-red, автоматом скачается из инета ?
  20. 1. Честно сказать страшновато стало после появления этих строк и ещё пары похожих. Правильно ли я понял, что устанавливать и потом править надо командами: npm install -g --unsafe-perm node-red find /opt/lib/node_modules/node-red/ -type f | xargs sed -i -e "1s,^#!.*bash$,#!/opt/bin/bash,;1s,^#!.*node$,#!/opt/bin/node," /opt/lib/node_modules/node-red/node_modules/ajv/scripts/prepare-tests:#!/usr/bin/env sh 2. Вы правы - лучше назвать это предупреждениями. 3. Можно ли сделать так, чтобы не было предупреждений ? 4. Для того, кто может сможет сделать без установку node-red без выдачи предупреждений Спасибо Вам, но какой из Ваших двух вариантов запуска ранее установленного Node-Red надо использовать: ~ # sed -i -e 's,/usr/bin/env node,/opt/bin/node,' /opt/lib/node_modules/node-red/bin/node-red-pi ~ # /opt/lib/node_modules/node-red/bin/node-red-pi ИЛИ ~ # node ~ # node-red
  21. Выполнил всё до этого пункта. Сделал резервную копию. А дальше вопросы: 1. Откуда возьмётся дистрибутив node-red, автоматом скачается из инета ? 2. А почему возникают ошибки ? 3. Можно ли сделать так, чтобы не было ошибок ? 4. Может здесь, что-то полезное: Скачайте нужную вам версию Вы можете сразу скачать последнюю или любую другую версию Node-RED отсюда. В скачанном ZIP-архиве будет папка верхнего уровня под названием «node-red-X.Y.Z», где «X.Y.Z» – это номер версии Node-RED. Распаковав архив и будучи в папке верхнего уровня, запустите вот эту команду: npm install --production Скачайте с GitHub (для разработчиков) GitHub-код предназначен только для тех, кто хочет использовать код для разработки, или для разработчиков, которые хотят внести вклад в код Node-RED. Вы можете клонировать репозиторий исходного кода прямо с GitHub: git clone https://github.com/node-red/node-red.git После клонирования необходимо установить необходимые модули ядра: cd node-red npm install Примечание: Чтобы вы могли запустить код, клонированный из Git-репозитория, вам необходимо установить все зависимости, а не только те, что непосредственно используются в проекте. Поэтому флаг «--production» использовать не нужно. Вам также нужно будет установить Grunt CLI (grunt-cli), чтобы собрать приложение перед тем, как воспользоваться им. Это тоже нужно делать глобально. sudo npm install -g grunt-cli После этого собираем и запускаем приложение: grunt build npm start
×
×
  • Create New...