-
Постов
2 467 -
Зарегистрирован
-
Посещение
-
Победитель дней
53
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Весь контент TheBB
-
Желательно, на ПК, в родной для ФС ОС (NTFS => Windows; ext* => GNU/Linux). Без разницы В Entware два пакета Node.js - node & node-npm (теоретически, можно собрать и нек-рые др.). Указанными командами обновляются все установленные пакеты, кроме внешних, напр., те же "node-red", "node-red-contrib-advanced-ping" или пакеты, установленные с помощью "pip install ${package_name}", собранные perl или ruby... Универсального варианта нет, всё индивидуально. Можно распаковать во временную директорию и из неё вытягивать нужное. Нет, только ntfs, hfs, ext2/ext3/ext4. Средствами прошивки - нет. В Entware - возможно, но требуется вторая рабочая система.
-
`cat doc/INSTALL` доустановить `opkg install libmicrohttpd libjpeg libffmpeg-full` и слегка подправить `ln -s /opt/lib/libjpeg.so.9.3.0 /opt/lib/libjpeg.so` c `git clone git://github.com/Motion-Project/motion.git motion_a` понятно /opt/home # git clone git://github.com/Motion-Project/motion.git motion_a Cloning into 'motion_a'... remote: Enumerating objects: 25, done. remote: Counting objects: 100% (25/25), done. remote: Compressing objects: 100% (25/25), done. remote: Total 6791 (delta 11), reused 3 (delta 0), pack-reused 6766 Receiving objects: 100% (6791/6791), 5.47 MiB | 583.00 KiB/s, done. Resolving deltas: 100% (5069/5069), done. /opt/home # /opt/home # cp -r motion_a motion_b /opt/home # cd motion_b/ /opt/home/motion_b # идём дальше ))) патчим "configure.ac" `patch -p1 -i ../motion_configute.patch` (<-- сам патч, закинуть в любое место и патчить с указанием пути к нему) upd: патчем мы отламываем "gettext" и разные проверки /opt/home/motion_b # patch -p1 -i ../motion_configute.patch patching file configure.ac /opt/home/motion_b # запускаем `autoreconf -fiv` /opt/home/motion_b # autoreconf -fiv autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4 aclocal: warning: couldn't open directory 'm4': No such file or directory autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /opt/bin/autoconf --force autoreconf: running: /opt/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing configure.ac:3: installing './compile' configure.ac:8: installing './config.guess' configure.ac:8: installing './config.sub' configure.ac:2: installing './install-sh' configure.ac:2: installing './missing' src/Makefile.am: installing './depcomp' autoreconf: Leaving directory `.' /opt/home/motion_b # запускаем `./configure --prefix=/opt --without-libsqlite3` upd: можно собрать и со "sqlite3", но потребуется дополнительная "фигурная резьба" в "configure.ac" и "Makefile" правим Makefile`ы upd: т.к. отломали "gettext" и прочее (см. выше), в 1-ом исключаем локализацию, во 2-м меняем отломанную "libintl" на "libmicrohttpd" /opt/home/motion_b # sed -i -e 's, po , ,' Makefile /opt/home/motion_b # /opt/home/motion_b # sed -i -e 's,@LIBINTL@,-lmicrohttpd,' src/Makefile /opt/home/motion_b # запускаем `make` собсна, смотрим, что вышло /opt/home/motion_b # ./src/motion -h motion Version 4.2.2+dirty20191016-98f060d, Copyright 2000-2019 Jeroen Vreeken/Folkert van Heusden/Kenneth Lavrsen/Motion-Project maintainers Home page : https://motion-project.github.io/ usage: motion [options] Possible options: -b Run in background (daemon) mode. -n Run in non-daemon mode. -s Run in setup mode. -c config Full path and filename of config file. -d level Log level (1-9) (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL). default: 6 / NTC. -k type Type of log (COR, STR, ENC, NET, DBL, EVT, TRK, VID, ALL). default: ALL. -p process_id_file Full path and filename of process id file (pid file). -l log file Full path and filename of log file. -m Disable motion detection at startup. -h Show this screen. Motion is configured using a config file only. If none is supplied, it will read motion.conf from current directory, ~/.motion or /opt/etc/motion. /opt/home/motion_b # осталось отладка (если не взлетит)
- 51 ответ
-
- entware
- entware-3x
-
(и ещё 3 )
C тегом:
-
15. ключ `-g` (global) должен помочь: npm i node-red-contrib-advanced-ping -g Удалять, согласно справке: npm uninstall node-red-contrib-advanced-ping # или с aliases: un, unlink, remove, rm, r npm un node-red-contrib-advanced-ping 16. Можно и переустановить, если надоело играться и рука уже набита, а пока: find /opt/lib/node_modules -type f | xargs sed -i -e '1s,^#!.*bash,#!/opt/bin/bash,;1s,^#!.*node,#!/opt/bin/node,;1s,^#!.*python,#!/opt/bin/python,' после проверки find /opt/lib/node_modules/ -type f | xargs grep -E "^#!.*(bash|node|perl|python|sh)$" | grep usr оставшиеся править "точечно", напр., sed -i -e '1s,^#!.*sh,#!/opt/bin/sh,' /opt/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp /opt/lib/node_modules/npm/bin/node-gyp-bin/node-gyp 17. `opkg update && opkg upgrade` ))) 18. `npm up node-red` (опционально, с ключем `-g`) 19. `opkg install htop`, запустить `htop`, нажать "F4", набрать "node" (опционально, клацнуть "Enter"), наблюдать... 20. смотря, что нужно восстановить, потому, переходим к "21" 21. создать каталог "install" и в него скопировать архив с резервной копией. В web устройства выбрать нужный накопитель, заполнить строку инициализации `/opt/etc/init.d/rc.unslung`, нажать "Сохранить" и ждать окончание процесса распаковки.
-
О-о-о, мусьё знает толк в извращениях! Ведро респекта и ящик уважухи. Только на роутере надо заниматься нативной сборкой, а не кросс.
- 51 ответ
-
- entware
- entware-3x
-
(и ещё 3 )
C тегом:
-
Если "busybox" ещё "живой" (файл есть в `/opt/bin/`), можно через прошивочный "telnet"/"dropbear" попробовать, напр., ~ # /bin/sh Login: admin Password: ***** (config)> exec /opt/bin/busybox sh BusyBox v1.31.0 () built-in shell (ash) ~ # for apps in gzip gunzip wget; do /opt/bin/busybox ln -s /opt/bin/busybox /opt/bin/$apps ; done ~ # Или скачать "busybox" на ПК, распаковать и закинуть файл (`busybox`) на диск/флешку. Повторить ^. Или установить поверх. Или...
-
9. не разбирал, не знаю, возможно, к внутренней "кухне" node (o ../prepare-tests?) 10. ~ # ls -l /opt/bin/node-red* lrwxrwxrwx 1 root root 35 Oct 16 19:07 /opt/bin/node-red -> ../lib/node_modules/node-red/red.js lrwxrwxrwx 1 root root 44 Oct 16 19:07 /opt/bin/node-red-pi -> ../lib/node_modules/node-red/bin/node-red-pi ~ # т.к. "... за основу взят https://gist.github.com/bigmonkeyboy/9962293..." (см. 1+3) 11. да + установить bash (`opkg install bash`) 12. да; если можно упростить - надо упростить, зачем ещё одна сущность, если можно обойтись (см. п. 10) 13. должно; зависит от нагрузки 14. да
-
(а оно надо?) sed -i -e '1s,^#!.*sh,#!/opt/bin/sh,' /opt/lib/node_modules/node-red/node_modules/ajv/scripts/prepare-tests А readme зачем? Это ж текстовые файлы "для любознательных". Ну, если так надо, то Предлагаете мне пройти весь "квест" за Вас? Ладушки... ~ # ~ # opkg install procps-ng-pkill Installing procps-ng-pkill (3.3.15-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/procps-ng-pkill_3.3.15-2_mipsel-3.4.ipk Installing procps-ng (3.3.15-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/procps-ng_3.3.15-2_mipsel-3.4.ipk Configuring procps-ng. Configuring procps-ng-pkill. ~ # за основу взят https://gist.github.com/bigmonkeyboy/9962293 тестим смотрим логи
-
5. не найден (см. https://github.com/mapbox/node-pre-gyp#readme для чего нужен; если необходим, см. https://github.com/Entware/Entware/wiki/Using-GCC-for-native-compilation и все смежные темы + python ) в виду п.5 не будет установлен (опционально) 6. время покажет; не пользовался, не пользуюсь и пользоваться не собираюсь 7. суть - найти и исправить пути с `/usr` на `/opt` 8. по желанию 9. любым ~ # node-red 16 Oct 19:47:20 - [info] Welcome to Node-RED =================== 16 Oct 19:47:20 - [info] Node-RED version: v1.0.2 ... # или, если выполнили `sed -i -e 's,/usr/bin/env node,/opt/bin/node,' /opt/lib/node_modules/node-red/bin/node-red-pi` ~ # node-red-pi 16 Oct 19:49:41 - [info] Welcome to Node-RED =================== 16 Oct 19:49:41 - [info] Node-RED version: v1.0.2 ... # или даже так (см. предыдущий, нужно с `sed...`) ~ # /opt/lib/node_modules/node-red/red.js 16 Oct 19:52:23 - [info] Welcome to Node-RED =================== 16 Oct 19:52:23 - [info] Node-RED version: v1.0.2 ...
-
В OpenWRT "висит" PR (pull requests), вопрос времени.
-
А-а-а, вот оно как (думал, меня Google забанил)! Это не сток ("искаропки", Вам же этого хочется???), а "альтернативка"? "Не-е-е, такой футбол нам не нужен!" Уж лучше OpenWRT. )))
-
Ой, шикарно, хочу такой роутер! Какая фирма их выпускает?
-
А что, "пакетированный" уже не тянет?
-
От, даже не сумневался, что появиться такой пост. Странно, что Giga не упомянут. ))) Должен появиться, просто обязан, ещё один пост про: "Даёшь памяти, памяти бо-о-ольше! Даёшт флеша, флеша мно-о-ого!"
-
Заинтересованных, просьба проверить nfs-kernel-server_2.4.1-1a_mipsel-3.4.ipk nfs-kernel-server-utils_2.4.1-1a_mipsel-3.4.ipk nfs-utils_2.4.1-1a_mipsel-3.4.ipk nfs-utils-libs_2.4.1-1a_mipsel-3.4.ipk upd отправлено в бинарные репы
-
Вполне штатная ситуация, когда конфигурационные файлы изменены пользователем и находятся под защитой от перезаписи новыми версиями. На "взрослых" системах, в таких случаях, предлагается либо оставить как есть, либо заменить новым, либо объединить, либо... всё зависит от менеджера пакетов ОС. Иногда полезно сравнивать конфиги на добавление/удаление/изменение опций. На примере (кратко) `/opt/etc/passwd`: пользователь сменил пароль по умолчанию. Файл "passwd" принадлежит пакету "opt-ndmsv2". Список защищенных файлов в `/opt/lib/opkg/info/opt-ndmsv2.conffiles`. При обновлении пакета на новую версию, к дефолтному конфигу обновляемого пакета, добавляется суффикс `-opkg`. Пароль пользователя сохранён.
-
Что нужно знать владельцам Keenetic`ов при обновлении (`opkg upgrade`). Добавлен пакет "poorbox" ("обрезанный" busybox из 4-х апплетов: gunzip, gzip, tar, wget): ~ # ls -al /opt/usr/bin/ drwxr-xr-x 2 root root 4096 Oct 7 21:17 . drwxr-xr-x 5 root root 4096 Oct 4 00:10 .. -rwxr-xr-x 1 root root 59316 Oct 4 00:10 busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 gunzip -> busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 gzip -> busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 tar -> busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 wget -> busybox ~ # Upgrade системы следующий: 1. обновить список пакетов - `opkg update` 2. установить пакет "poorbox" - `opkg install poorbox` 3. обновить систему - `opkg upgrade` Это должно сделать систему более устойчивой при обновлении (пример, повторять не надо): ~ # sed -i -e 's,1.31.0-1,0.0.0,g' /opt/lib/opkg/status ~ # opkg list-upgradable busybox - 0.0.0 - 1.31.0-1 poorbox - 0.0.0 - 1.31.0-1 ~ # opkg upgrade Upgrading busybox on root from 0.0.0 to 1.31.0-1... Downloading http://bin.entware.net/mipselsf-k3.4/busybox_1.31.0-1_mipsel-3.4.ipk Upgrading poorbox on root from 0.0.0 to 1.31.0-1... Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/poorbox_1.31.0-1_mipsel-3.4_kn.ipk Configuring busybox. Warning: '/opt/bin/find' is already exists, skipping. Warning: '/opt/bin/xargs' is already exists, skipping. Warning: '/opt/bin/grep' is already exists, skipping. Configuring poorbox. ~ # Пакет уже включен в состав системы для новых установок. --- upd --- Альтернативный shell В bash, zsh система обновляется без проблем. В fish:
-
Что нужно знать владельцам Keenetic`ов при обновлении (`opkg upgrade`). Добавлен пакет "poorbox" ("обрезанный" busybox из 4-х апплетов: gunzip, gzip, tar, wget): ~ # ls -al /opt/usr/bin/ drwxr-xr-x 2 root root 4096 Oct 7 21:17 . drwxr-xr-x 5 root root 4096 Oct 4 00:10 .. -rwxr-xr-x 1 root root 59316 Oct 4 00:10 busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 gunzip -> busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 gzip -> busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 tar -> busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 wget -> busybox ~ # Upgrade системы следующий: 1. обновить список пакетов - `opkg update` 2. установить пакет "poorbox" - `opkg install poorbox` 3. обновить систему - `opkg upgrade` Это должно сделать систему более устойчивой при обновлении (пример, повторять не надо): ~ # sed -i -e 's,1.31.0-1,0.0.0,g' /opt/lib/opkg/status ~ # opkg list-upgradable busybox - 0.0.0 - 1.31.0-1 poorbox - 0.0.0 - 1.31.0-1 ~ # opkg upgrade Upgrading busybox on root from 0.0.0 to 1.31.0-1... Downloading http://bin.entware.net/mipselsf-k3.4/busybox_1.31.0-1_mipsel-3.4.ipk Upgrading poorbox on root from 0.0.0 to 1.31.0-1... Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/poorbox_1.31.0-1_mipsel-3.4_kn.ipk Configuring busybox. Warning: '/opt/bin/find' is already exists, skipping. Warning: '/opt/bin/xargs' is already exists, skipping. Warning: '/opt/bin/grep' is already exists, skipping. Configuring poorbox. ~ # Пакет уже включен в состав системы для новых установок.
-
Что нужно знать владельцам Keenetic`ов при обновлении (`opkg upgrade`). Добавлен пакет "poorbox" ("обрезанный" busybox из 4-х апплетов: gunzip, gzip, tar, wget): ~ # ls -al /opt/usr/bin/ drwxr-xr-x 2 root root 4096 Oct 7 21:17 . drwxr-xr-x 5 root root 4096 Oct 4 00:10 .. -rwxr-xr-x 1 root root 59316 Oct 4 00:10 busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 gunzip -> busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 gzip -> busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 tar -> busybox lrwxrwxrwx 1 root root 7 Oct 7 21:17 wget -> busybox ~ # Upgrade системы следующий: 1. обновить список пакетов - `opkg update` 2. установить пакет "poorbox" - `opkg install poorbox` 3. обновить систему - `opkg upgrade` Это должно сделать систему более устойчивой при обновлении (пример, повторять не надо): ~ # sed -i -e 's,1.31.0-1,0.0.0,g' /opt/lib/opkg/status ~ # opkg list-upgradable busybox - 0.0.0 - 1.31.0-1 poorbox - 0.0.0 - 1.31.0-1 ~ # opkg upgrade Upgrading busybox on root from 0.0.0 to 1.31.0-1... Downloading http://bin.entware.net/mipselsf-k3.4/busybox_1.31.0-1_mipsel-3.4.ipk Upgrading poorbox on root from 0.0.0 to 1.31.0-1... Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/poorbox_1.31.0-1_mipsel-3.4_kn.ipk Configuring busybox. Warning: '/opt/bin/find' is already exists, skipping. Warning: '/opt/bin/xargs' is already exists, skipping. Warning: '/opt/bin/grep' is already exists, skipping. Configuring poorbox. ~ # Пакет уже включен в состав системы для новых установок.