Jump to content

iFinder

Forum Members
  • Posts

    175
  • Joined

  • Last visited

Posts posted by iFinder

  1. В 25.09.2022 в 11:10, TheBB сказал:

    Как добавить индекс репы, см. тут.

    Спасибо за инструкцию как это сделать.

    Но хотелось бы понимать:

    1. Что такое "индекс репы" ?
    2. Зачем делать "индекс репы" ? - в этой теме раньше никогда об этом не было
    3. Для чего нужен "poorbox" (с Ваших слов "обрезанный" busybox), если есть сам busybox ?
     

  2. В 07.09.2021 в 11:12, TheBB сказал:
    opkg install http://bin.entware.net/mipselsf-k3.4/test/node-bcrypt_5.0.1-1_mipsel-3.4.ipk \
    http://bin.entware.net/mipselsf-k3.4/test/node-bufferutil_4.0.3-1_mipsel-3.4.ipk \
    http://bin.entware.net/mipselsf-k3.4/test/node-utf-8-validate_5.0.5-1_mipsel-3.4.ipk \
    http://bin.entware.net/mipselsf-k3.4/test/node-red_2.0.6-1_mipsel-3.4.ipk

    Приветствую. А где можно это всё скачать ?

    Это нужно, чтобы обновитьcя до 2 версии как Entware-пакет.

    К сожалению сейчас доступна 3 версия, но уже как Node-пакет.

  3. 32 минуты назад, iFinder сказал:

    3. Но как быть с поведением NodeRED ?

    4. Удалось решить выполнением при загрузке перед NodeRED файла с единственной командой:

    Цитата

    chmod 0600 /opt/lib/node_modules/node-red/node_modules/node-red-contrib-join-joaoapps/joinserver

    5. В прежней Entware (2019, см. начало темы) тоже на флэшке NTFS такого поведения cron точно не было !

    6. Уточняю, что Entware стоит на флэшке с двумя разделами: NTFS (16 Гб) и Linux Swap (512 Мб).

    Вопросы:

    1. Правильно ли я решил эти проблемы или нужно было по-другому ?

    2. Что сделать, чтобы такое не повторилось с другими пакетами Entware и NodeRED - очень уж много времени ушло на поиски.

    3. Получается это проблема (при монтаже раздела меняются атрибуты) самой последней на 10.10.2020 Entware !?

  4. Ну вот и обнаружилась первая проблема:

    Предыстория:

    1. Установил пакет 'node-red-contrib-join-joaoapps', настроил и начал пользоваться.

    2. Пакет установился в 'opt/lib/node_modules/node-red/node_modules/node-red-contrib-join-joaoapps'

    а в ней в том числе папка '/joinserver'.

    3. Спустя несколько дней пришлось перезагрузить Giga III, на котором установлена NodeRED.

    Проблема № 1:

    1. После перезагрузки NodeRED перестала работать отображая всплывающее окно:

    Цитата

    Flows stopped due to missing node types.

    join-server

    2. А в журнале появились строки:

    Цитата

    16 Oct 16:19:05 - [warn] ------------------------------------------------------
    16 Oct 16:19:05 - [warn] [node-red-contrib-join-joaoapps/join-server] Error: EROFS: read-only file system, mkdir '/joinserver' (line:11)
    16 Oct 16:19:05 - [warn] ------------------------------------------------------

    3. Выполнил команду:

    Цитата

    root@GigaIII-YN:/opt/lib/node_modules/node-red/node_modules/node-red-contrib-join ls -l

    drwxrwxr-x    1 root     1000             0 Oct 16 16:15 joinserver

    4. Получается папка 'opt/lib/node_modules/node-red/node_modules/node-red-contrib-join-joaoapps/joinserver' имеет атрибуты 775 !

    5. Какие были атрибуты до перезагрузки не догадался посмотреть.

     

    Проблема № 2:

    1. После перезагрузки перестал работать планировщик cron, выдавая в журнале Giga III:

    Цитата

    Окт 16 15:44:32         cron[4782]

    (CRON) STARTUP (V5.0)

    Окт 16 15:44:32         cron[4782]

    (*system*) BAD FILE MODE (/opt/etc/crontab)

    2. Стал работать после выполнения команд:

    Цитата

    chmod 0600 /opt/etc/crontab

    /opt/etc/init.d/S40cron restart

    3. Но после очередной перезагрузки снова перестаёт работать.

    4. При этом файлу /opt/etc/crontab снова присвоены атрибуты 775 !

    Выводы и Вопросы:

    1. Запуск Cron, конечно, не относится к NodeRED, но что-то проявления похожие.

    2. Проблему с поведение Сron удалось решить выполнением при загрузке перед Cron файла с единственной командой:

    Цитата

    chmod 0600 /opt/etc/crontab

    3. Но как быть с поведением NodeRED ?

  5. 26 минут назад, iFinder сказал:

    Приветствую NodeRED на роутерах !

    Приветствую NodeRED на всех устройствах с CPU MIPS, в том числе на домашних роутерах Keenetic !

  6. Это реально круто.

    Приветствую NodeRED на роутерах !

    Отсутствие Вашего ответа на мой первый вопрос укрепляет меня в предположении о Вашем авторстве опакечивания NodeRED.

    Первые результаты потрясли простотой реализации:

    1. Выполнил установку:

    opkg install http://bin.entware.net/mipselsf-k3.4/test/node-red_1.1.3-1_mipsel-3.4.ipk

    2. Установилось без ошибок за ~3 мин.

    3. Запустил NodeRED из под командера mc:

    root@GigaIII-YN:/opt/etc/init.d$ ./S99node-red start


    4. Через ~40 сек. зашёл в интерфейс NodeRED и установил оттуда свой проблемный узел "node-red-contrib-join-joaoapps":

    Лог при установке node-red-contrib-join-joaoapps (ошибки).jpg

    5. Несмотря на 2 записи в логе [err] ... следов неработоспособности пока не обнаружил.

    6. Настроил и проверил работу этого узла. Всё работает !

     

    Image1.jpg

    7. Буду тестировать дальше

  7. 10 часов назад, TheBB сказал:

    Уважаемый TheBB !

    Получается это Вы вчера сделали сборку и выложили ?

    Правильно ли я понимаю по месту расположения пакета, что его статус хоть и остался тестовым, но уже стал не только для Keenetic ?

     

  8. В 29.01.2020 в 22:02, TheBB сказал:

    Приветствую, TheBB !

    Некорректность прошлой установки заставила сделать всё заново, а тут такая новость: Пакет исчез !

    Все подпапки на сервисе пересмотрел и не нашёл о NodeRED вообще ничего.

    Означает ли это, что пакет неудачен и его поэтому вообще удалили ?

  9. 1 час назад, TheBB сказал:

    Почти, "опакечен"

    1. Почему почти ?

    2. В чём разница:

    http://bin.entware.net/mipselsf-k3.4/Packages.html - Это пакеты Entware. Ясно.

    http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.html - Это пакеты Entware для Keenetic. Но как это понимать ? Что значит для Keenetic ? Ведь все пакеты Entware тоже подходят для Keenetic. 

    http://bin.entware.net/mipselsf-k3.4/keenetic/test/ - Это тестовые пакеты Entware для Keenetic. И это как понимать, что curl есть и здесь и в http://bin.entware.net/mipselsf-k3.4/Packages.html ? 

    3. Кому спасибо сказать за опакечивание ?

    1 час назад, TheBB сказал:

    Инструкции? Как напишите, так и появятся.

    4. Вы предполагаете, что там сложности возникнут, из-за которых инструкцию писать придётся ?

  10. 7 минут назад, TheBB сказал:

    Начинаем "с чистого листа", т.к. `nod-red` "опакечен". Ждём-с инструкции...

    Правильно ли я понимаю, что раньше `nod-red` был пакетом `npm`, который был пакетом `Entware`, а сейчас `nod-red` стал самостоятельным пакетом `Entware`, т.е. в Вашей терминологии опакечен ?

    Ждём-с инструкции... от кого ?

    И как узнать, что они появились ?

  11. В 28.01.2020 в 20:18, Lstt сказал:

    Можно вкратце обобщить? Как, имеет смысл устанавливать? Можно порядок действий, основанный на вашем опыте?

    Конечно можно. В этой теме достаточно обобщений - Специально для начинающих и писалось.

    Можете даже на эти обобщения ссылки сделать.

  12. 2 минуты назад, TheBB сказал:

    Это при "классической установке" в домашнюю директорию пользователя. А я всё перенёс в "/opt/lib/node_modules/...".

    А как выглядел перенос ? и на каком этапе ?

  13. Нашёл нечто, что может объяснить различие моей Node-Red и Вашей.

    Вот фрагмент файла: '/opt/lib/node_modules/node-red/red.js':

    Скрытый текст

    if (parsedArgs.settings) {
        // User-specified settings file
        settingsFile = parsedArgs.settings;
    } else if (parsedArgs.userDir && fs.existsSync(path.join(parsedArgs.userDir,"settings.js"))) {
        // User-specified userDir that contains a settings.js
        settingsFile = path.join(parsedArgs.userDir,"settings.js");
    } else {
        if (fs.existsSync(path.join(process.env.NODE_RED_HOME,".config.json"))) {
            // NODE_RED_HOME contains user data - use its settings.js
            settingsFile = path.join(process.env.NODE_RED_HOME,"settings.js");
        } else if (process.env.HOMEPATH && fs.existsSync(path.join(process.env.HOMEPATH,".node-red",".config.json"))) {
            // Consider compatibility for older versions
            settingsFile = path.join(process.env.HOMEPATH,".node-red","settings.js");
        } else {
            var userDir = parsedArgs.userDir || path.join(process.env.HOME || process.env.USERPROFILE || process.env.HOMEPATH,".node-red");
            var userSettingsFile = path.join(userDir,"settings.js");
            if (fs.existsSync(userSettingsFile)) {
                // $HOME/.node-red/settings.js exists
                settingsFile = userSettingsFile;
            } else {
                var defaultSettings = path.join(__dirname,"settings.js");
                var settingsStat = fs.statSync(defaultSettings);
                if (settingsStat.mtime.getTime() <= settingsStat.ctime.getTime()) {
                    // Default settings file has not been modified - safe to copy
                    fs.copySync(defaultSettings,userSettingsFile);
                    settingsFile = userSettingsFile;
                } else {
                    // Use default settings.js as it has been modified
                    settingsFile = defaultSettings;
                }
            }
        }
    }
     

    И еще у меня:

    ~ # echo $HOME
    /opt/root
    ~ # echo $NODE_RED_HOME
    
    ~ #

     

  14. 5 минут назад, TheBB сказал:
    40 минут назад, iFinder сказал:

    Единственно, что меня смущает...

    см. 3

    Я имел ввиду, что встречал Рабочую папку '.node-red', но в Вашей Node-Red её совсем нет.

  15. Спасибо Вам за проведённые исследования.

    Получается, что у Вас так:

    1. Запуск Node-Red ПРИ ЗАГРУЗКЕ БЕЗ указания Рабочей папки приводит к тому, что Node-Red запускается и Рабочей папкой считает '/opt/lib/node_modules/node-red/'. При этом тестовый файл записывается в этой папке, а ДопУзлы устанавливаются в папку '/opt/lib/node_modules/node-red/node_modules' и NodeRed их видит.

    2. Запуск Node-Red ВРУЧНУЮ ПОСЛЕ ЗАГРУЗКИ БЕЗ указания Рабочей папки приводит к тем же результатам, что и в п.1.

    3. Запуск Node-Red ПРИ ЗАГРУЗКЕ С явным указанием Рабочей папки '/opt/root/.node-red' приводит к тем же результатам, что и в п.1.

    Единственно, что меня смущает, что у Вас Рабочая папка в начале имени не имеет знака точки '.'. Осваивая работу в Node-Red, я встречал в инете описания настроек, в которых имя Рабочей папки начиналось со знака точки '.'

    Надо будет найти возможность и установить Optware и Node-Red с нуля...

  16. 3 минуты назад, TheBB сказал:
    14 минуты назад, iFinder сказал:

    Даже когда запускаете при загрузке и без указания Рабочей папки ?

    Видимо, да.

    Но это вроде не при загрузке самой Entware ?

  17. 10 минут назад, TheBB сказал:

    выбрано по одному варианту представления графиков (надо ж тестить хоть что-то ))) )

    Увидел, что установили ДопУзлы 'node-red-dashboard' и 'node-red-node-ping'.

    Пингуете с помощью ДопУзла 'node-red-node-ping'.

    И настроили 6 вариантов Графиков ДопУзел из 'node-red-dashboard'.

    А 'node-red-daemon' что делает ?

  18. Постепенно выкресталлизовывается суть проблемы.

    Node-Red при запуске берёт пользовательские настройки из папки, которую считает Рабочей.

    Кроме того, по идее в этой папке должен создаваться Тестовый файл, а ДопУзлы, установленные из WEB-интерфейса, устанавливаться в '/opt/root/.node-red/node_modules' - у меня, по крайней мере, так:

    1. Запуск Node-Red ПРИ ЗАГРУЗКЕ БЕЗ указания Рабочей папки приводит к тому, что Node-Red совсем НЕ запускается.

    2. Запуск Node-Red ВРУЧНУЮ ПОСЛЕ ЗАГРУЗКИ БЕЗ указания Рабочей папки приводит к тому, что Node-Red запускается и Рабочей папкой считает '/opt/root/.node-red'. При этом тестовый файл записывается в этой папке, а ДопУзлы устанавливаются в папку '/opt/root/.node-red/node_modules' и NodeRed их видит. - ЭТО единственный вариант,когда функционал полностью работоспособен. Но нужен именно запуск при загрузке.

    3. Запуск Node-Red ПРИ ЗАГРУЗКЕ С явным указанием Рабочей папки '/opt/root/.node-red' приводит к тому, что Node-Red запускается и Рабочей папкой считает указанную, НО тестовый файл записывается неизвестно куда, а установка ДопУзлов из WEB-интерфейса заканчивается ошибкой (сама Node-Red не находит их в месте установки). Потоки Node-Red при этом обрабатываются нормально.

    Пока приходится делать так: Загрузка происходит по 3-му варианту. Когда мне необходимо записать в Файл, то я указываю явный путь: '/opt/root/.node-red/TestFile.txt'. А если надо установить ДопУзел, то вручную перезапускаю Node-Red с явным указанием Рабочей папки '/opt/root/.node-red'.

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

    Вот поэтому Вас и терзаю

     

    • Thanks 1
  19. В 19.11.2019 в 11:50, TheBB сказал:
    Скрыть содержимое

    screen-2019-11-19_1.png

     

    Я видел всего один Dashboard, поэтому уровень реализации Вашего меня впечатлил.

    Сможете поделиться ? И, если не секрет, а где Вы её брали ?

  20. В 19.11.2019 в 11:50, TheBB сказал:
    В 16.11.2019 в 16:39, iFinder сказал:

    3. Где создаётся тестовый файл созданный её узлом 'file' ?

    не понял, какой?

    Есть узел file, который может писать в файл. Если не указывать полный путь к файлу, то он создастся в той папке, которую NodeRed, вероятно, считает рабочей. У меня, например, если при запуске не указать рабочую папку, то файл пишется так, что его вообще нигде не могу найти (даже на уровень выше /opt). Поэтому очень интересно посмотреть, где его создаст Ваша NodeRed. Подробности записи в файл приложил.

    Узел file - 1.jpgУзел file - 2.jpg

    Скорее всего это будет рабочая папка '/opt/lib/node_modules/node-red'

    В 19.11.2019 в 11:50, TheBB сказал:
    В 16.11.2019 в 16:39, iFinder сказал:

    4. А если запустить её в ручном режиме без указания Рабочей папки, то какую папку она посчитает рабочей ?

    дык, кто ж его знает, надо отслеживать.

    А вот теперь интересно где Ваша NodeRed создаст этот файл, если ей при запуске не указать Рабочую папку.

    В 19.11.2019 в 11:50, TheBB сказал:
    В 16.11.2019 в 16:39, iFinder сказал:

    5. Куда тогда устанавливаются Дополнительные узлы и где тогда создаётся тестовый файл созданный её узлом 'file' ?

    опять не понял, лучше распишите по шагам, что-где тыкать и куда смотреть

    Об использовании файла, как указателя на Рабочую папку написал Выше.

    Теперь об установке дополнительных узлов. Их можно доустановить через её Web-интерфейс: Перейти в Меню (три полоски в правом верхнем углу) - Manadge pallete - Install - Отобразится общее кол-во Доп узлов - Указать, например, node-red-contrib-advanced-ping)

    ДопУзел 1.jpg

    ДопУзел 2.jpg

    Если запускать NodeRed вручную уже после загрузки и не указывать рабочую папку, то при установке Допузлов из интерфейса NodeRed, они устанавливаются в '/opt/root/.node-red/node_modules/' и Node-Red их видит (т.е. они появляются в перечне установленных) !

    А как себя в этом случае ведёт себя Ваша Node-Red ?

    Куда она ставит Допузлы ? И видит ли их ?

  21. 4 минуты назад, TheBB сказал:

    рекомендация не моя, а разработчиков )))

    Это ни в коем случае не претензия, а подчёркивание факта, что мною делалось также.

    5 минут назад, TheBB сказал:

    дык, кто ж спорит. что имеем, то имеем:

    Я с Вами согласен, спорить не о чем.

    Почему у Вас Рабочая папка отличается от моей мне пока не понятно.

    Но и в остальном у меня полная неразбериха с поведением Node-Red.

    Поэтому для чистоты эксперимента мне надо ещё раз установить Node-Red с нуля - тогда ситуация может прояснится.

    Но вероятность, что у Вас стандартный вариант установки Node-Red, значительно выше.

    Поэтому было бы очень интересно узнать как ведёт себя Ваша Node-Red:

    1. Какой строкой Вы её запускаете при загрузке (в INIT-скрипте) ?

    2. Куда через её Web-интерфейс устанавливаются Дополнительные узлы (Меню - Manadge pallete - Install - например, node-red-contrib-advanced-ping) ?

    3. Где создаётся тестовый файл созданный её узлом 'file' ?

    4. А если запустить её в ручном режиме без указания Рабочей папки, то какую папку она посчитает рабочей ?

    5. Куда тогда устанавливаются Дополнительные узлы и где тогда создаётся тестовый файл созданный её узлом 'file' ?

    У меня большие подозрения, что Ваша тоже преподнесёт сюрпризы !

    Если Вам не очень сложно, проведите пожалуйста этот мини эксперимент.

     

     

  22. 18 минут назад, TheBB сказал:

    так кто куда ставил, тот то и указывает (с флагом "-g" (global) устанавливается в "/opt/lib/node_modules/", значит-с, имеем: `node-red -u /opt/lib/node_modules/node-red >> $LOG &` )

    При всём уважении к Вам, имею основания первый раз с Вами не согласиться. Вот мои аргументы:

    Я устанавливал так (по Вашей рекомендации):

    В 27.10.2019 в 00:03, iFinder сказал:

    8. Устанавливаю Node-пакет node-red за несколько минут:

    
    ~ # npm install -g --unsafe-perm node-red

    Туда сама Node-Red у меня и установилась. Но есть ещё Рабочая папка Пользователя с настройками Node-Red.

    Так вот при такой установке у меня эта папка оказалась здесь: '/opt/root/.node-red'.

    Теперь, при выполняемом при загрузке Keenetic запуске установленной в '/opt/lib/node_modules/node-red', надо явно указать Рабочую папку Пользователя '/opt/root/.node-red'.

    Подчеркну, что это именно папка Пользователя, а не папка, куда была установлена среда Node-Red.

  23. В 27.10.2019 в 00:27, iFinder сказал:

    15. Установил дополнительный узел Node-RED командой:

    
    ~ # npm install node-red-contrib-advanced-ping


    оказалось, что оно установилось в: /opt/root/node_modules/,

    а надо было в: /opt/root/.node-red/node_modules/
    и поэтому Node-Red его не видит.

    Получается, что проблема та же: надо явно указывать путь /opt/root/.node-red/

    В справке указано:

    ~ # npm install -h
    
    npm install (with no args, in package dir)
    npm install [<@scope>/]<pkg>
    npm install [<@scope>/]<pkg>@<tag>
    npm install [<@scope>/]<pkg>@<version>
    npm install [<@scope>/]<pkg>@<version range>
    npm install <folder>
    npm install <tarball file>
    npm install <tarball url>
    npm install <git:// url>
    npm install <github username>/<github project>
    
    aliases: i, isntall, add
    common options: [--save-prod|--save-dev|--save-optional] [--save-exact] [--no-save]

    Правильно ли я предполагаю, что надо устанавливать пакет так ?:

    ~ # npm install /opt/root/.node-red  node-red-contrib-advanced-ping

     

×
×
  • Create New...