Перейти к содержанию

TheBB

Модераторы
  • Постов

    2 475
  • Зарегистрирован

  • Посещение

  • Победитель дней

    53

Весь контент TheBB

  1. Что ж, не хотите статику (см. выше), будет динамика (один из вариантов)
  2. cd в/каталог/системы и `find ./package -type d -name "src"` (напр., package/network/ipv6/464xlat или package/utils/zyxel-bootconfig) примеров вагон. Нифига не понял, вероятно, libhttpserver надо собирать статикой, типа переписывать лень, diff поможет
  3. Не `./bootstrap`, а `./configure` (https://github.com/etr/libhttpserver/blob/master/configure.ac#L97). И это не дошло до `libnicrohttpd` (https://github.com/etr/libhttpserver/blob/master/configure.ac#L100-L138). Скорее всего, сборка с нуля (в $(STAGING_DIR)/opt/{include,lib} нету). Makefile`ы выше - не готовое решение, а болванки-заготовки (вариации на тему)
  4. https://github.com/etr/libhttpserver/blob/master/INSTALL (autotools) На "большом пингвине": cd ./куда-то/в/каталог/исходников; ./configure --чего-то=там; make; make install Размазано по файлам, для примера (кратко) 1 получение исходного кода (готовый архив или клонирование репы) https://github.com/openwrt/openwrt/blob/master/include/download.mk 2 распаковка (если архивом) https://github.com/openwrt/openwrt/blob/master/include/package-defaults.mk#L65 3 наложение патчей (если нужно) https://github.com/openwrt/openwrt/blob/master/include/package-defaults.mk#L67 4 конфигурирование с заданными параметрами (./configure) https://github.com/openwrt/openwrt/blob/master/include/package-defaults.mk#L112 5 сборка (make) https://github.com/openwrt/openwrt/blob/master/include/package-defaults.mk#L142 6 установка (make install) https://github.com/openwrt/openwrt/blob/master/include/package-defaults.mk#L149 и 1,2,3 https://github.com/openwrt/openwrt/blob/master/include/package.mk#L200 4 https://github.com/openwrt/openwrt/blob/master/include/package.mk#L209 5 https://github.com/openwrt/openwrt/blob/master/include/package.mk#L218 6 https://github.com/openwrt/openwrt/blob/master/include/package.mk#L220 и т.д. На "закуску" (diff в помощь) один из возможных вариантов Makefile`a (почти по шен-фуй)
  5. и это простейший пакет... ((( в сгенерированные Makefile`ы */build_dir/target-*/libhttpserver-*/* (что ставится в includedir, что ставится в libdir, что ставится в pkgconfigdir и т.д.) make install (PKG_INSTALL:=1) ~ # cd build_dir/target-mipsel* ~ # ls libhttpserver-0.18.2/ipkg-install/opt/*/* libhttpserver-0.18.2/ipkg-install/opt/include/httpserver.hpp libhttpserver-0.18.2/ipkg-install/opt/include/httpserverpp libhttpserver-0.18.2/ipkg-install/opt/lib/libhttpserver.a libhttpserver-0.18.2/ipkg-install/opt/lib/libhttpserver.la libhttpserver-0.18.2/ipkg-install/opt/lib/libhttpserver.so libhttpserver-0.18.2/ipkg-install/opt/lib/libhttpserver.so.0 libhttpserver-0.18.2/ipkg-install/opt/lib/libhttpserver.so.0.18.1 libhttpserver-0.18.2/ipkg-install/opt/include/httpserver: basic_auth_fail_response.hpp http_request.hpp create_webserver.hpp http_resource.hpp deferred_response.hpp http_response.hpp details http_utils.hpp digest_auth_fail_response.hpp string_response.hpp file_response.hpp webserver.hpp libhttpserver-0.18.2/ipkg-install/opt/lib/pkgconfig: libhttpserver.pc libhttpserver-0.18.2/ipkg-install/opt/share/cmake: Modules дальше раскидывать на упаковку что нужно (бибки, бинарники, ...) нужна dev-секция для включение в др. пакеты (заголовки,бибки, ...), добавляем изучать систему сборки
  6. не нужно - https://github.com/Entware/Entware/blob/master/include/package-defaults.mk#L5 уже - https://github.com/Entware/entware-packages/blob/master/libs/libmicrohttpd/Makefile#L45 ~ # ls opt/* opt/include: httpserver httpserver.hpp httpserverpp opt/lib: libhttpserver.a libhttpserver.la libhttpserver.so libhttpserver.so.0 libhttpserver.so.0.18.1 pkgconfig opt/share: cmake ~ #
  7. https://openwrt.org/docs/guide-developer/packages#buildpackage_variables язык - с++; сист. сборки - autotools; зависимости - libstdcpp (точняк) + libmicrohttpd (">= 0.9.64") + gnutls ("[Optionally]: for TLS (HTTPS) support") + м.б. ещё что-то (см. в configure.ac)
  8. Чё, правда? ~ # cat /opt/etc/entware_release release=entware arch=mipsel cpu=mips32r2 cpu_subtype=unknown float=soft gcc=8.4.0 gcc_flags=-O2 -pipe -mno-branch-likely -mips32r2 -mtune=mips32r2 -fno-caller-saves -msoft-float libc=glibc libc_version=2.27 ~ # ~ # /opt/etc/init.d/S78icecast status Checking icecast... alive. ~ # ^ это результат, после добавления пользователя/группы, а не добавление их: addgroup -g 87 -S icecast adduser -S -u 87 -s /opt/bin/false -h '' -G icecast icecast или любым другим способом, вплоть до ручного прописывания в файлы...
  9. ~ # ~ # icecast -c /opt/etc/icecast.xml [2023-01-08 21:00:28] WARN CONFIG/_parse_root Warning, <location> not configured, using default value "Earth". [2023-01-08 21:00:28] WARN CONFIG/_parse_root Warning, <admin> contact not configured, using default value "icemaster@localhost". Couldn't find user "icecast" in password file Couldn't find group "icecast" in groups file [2023-01-08 21:00:28] WARN fserve/fserve_recheck_mime_types Cannot open mime types file /opt/etc/mime.types ERROR: You should not run icecast2 as root Use the changeowner directive in the config file ~ # ^ добавить пользователя/группу, что-то вроде: ~ # cat /opt/etc/passwd | grep ^ice icecast:x:87:87:icecast::/opt/bin/false ~ # cat /opt/etc/group | grep ^ice icecast:x:87: ~ # ~ # icecast -c /opt/etc/icecast.xml [2023-01-08 21:04:35] WARN CONFIG/_parse_root Warning, <location> not configured, using default value "Earth". [2023-01-08 21:04:35] WARN CONFIG/_parse_root Warning, <admin> contact not configured, using default value "icemaster@localhost". Changed groupid to 87. Changed supplementary groups based on user: icecast. Changed userid to 87. [2023-01-08 21:04:35] WARN fserve/fserve_recheck_mime_types Cannot open mime types file /opt/etc/mime.types FATAL: could not open error logging (/opt/var/log/icecast/error.log): No such file or directory FATAL: could not open access logging (/opt/var/log/icecast/access.log): No such file or directory FATAL: Could not start logging ~ # ^ создать каталог `mkdir -p /opt/var/log/icecast` ~ # icecast -c /opt/etc/icecast.xml [2023-01-08 21:07:09] WARN CONFIG/_parse_root Warning, <location> not configured, using default value "Earth". [2023-01-08 21:07:09] WARN CONFIG/_parse_root Warning, <admin> contact not configured, using default value "icemaster@localhost". Changed groupid to 87. Changed supplementary groups based on user: icecast. Changed userid to 87. [2023-01-08 21:07:09] WARN fserve/fserve_recheck_mime_types Cannot open mime types file /opt/etc/mime.types FATAL: could not open error logging (/opt/var/log/icecast/error.log): Permission denied FATAL: could not open access logging (/opt/var/log/icecast/access.log): Permission denied FATAL: Could not start logging ~ # ^ задать права на созданный каталог `chown icecast:icecast /opt/var/log/icecast` ~ # icecast -c /opt/etc/icecast.xml [2023-01-08 21:09:28] WARN CONFIG/_parse_root Warning, <location> not configured, using default value "Earth". [2023-01-08 21:09:28] WARN CONFIG/_parse_root Warning, <admin> contact not configured, using default value "icemaster@localhost". Changed groupid to 87. Changed supplementary groups based on user: icecast. Changed userid to 87. [2023-01-08 21:09:28] WARN fserve/fserve_recheck_mime_types Cannot open mime types file /opt/etc/mime.types ... дальше, сами ...
  10. bump to 2023.1.1 (aarch64||mipsel) (прим. - отключить "zram")
  11. Угу, ток патчить надо будет системную бибку (glibc), в приложении нет ни ключей, ни констант. ключ "-u" в скрипт запуска (или переустановить `opkg install --force-reinstall ser2net`)
  12. ~ # telnet 192.168.1.66 Trying 192.168.1.66... Connected to 192.168.1.66. Escape character is '^]'. Login: admin Password: **************** THIS SOFTWARE IS A SUBJECT OF KEENETIC LIMITED END-USER LICENCE AGREEMENT. BY USING IT YOU AGREE ON TERMS AND CONDITIONS HEREOF. FOR MORE INFORMATION PLEASE CHECK https://keenetic.com/legal (config)> exec /opt/bin/sh BusyBox v1.35.0 (2022-11-01 07:45:16 UTC) built-in shell (ash) / # . /opt/etc/profile / # / # cp /opt/etc/passwd-opkg /opt/etc/passwd / # (config)> exit Core::Configurator: Bye. Connection closed by foreign host.
  13. https://github.com/Entware/entware-go/blob/master/adguardhome-go/files/adguardhome.conf#L11 ^ удалить/закомментировать строку в фале "/opt/etc/AdGuardHome/adguardhome.conf" перезапустить AGH `/opt/etc/init.d/S99adguardhome restart`
  14. А что там за flow такой? goflow https://github.com/cloudflare/goflow netflow-exporter https://github.com/AlfredArouna/netflow_exporter Keenetic имеет netflow "искаропки" (если компонент "Сенсор NetFlow" установлен): ! Если компонент не установлен и захотите его добавить, прошивка обновиться до актуальной версии (в зависимости от канала обновлений). Активировать сервис, если не активен, нужно в CLI (telnet|SSH) или web: 1. выбирать интерфейс (напр., "Bridge0") и вариант прослушки (входяший(ingress)|исходящий(egress)|оба-два(both)): `interface Bridge0 ip flow both` 2. указать адрес (напр., 127.0.0.1) и порт - 2055 сервера для приёма: `ip flow-export destination 127.0.0.1 2055` 3. указать версию протокола netflow (для cnflegacy|csflow - 5 , для остальных - 9): `ip flow-export version 9` 4. сохранить настройки: `system configuration save` Установить один из пакетов: `opkg install cnetflow` или `opkg install cnflegacy` или `opkg install csflow` или `opkg install goflow` или `opkg install netflow-exporter` и отредактировать конфиг "/opt/etc/prometheus/prometheus.yml": (добавить в конфиг прометея) # goflow - job_name: "goflow" static_configs: - targets: ["192.168.1.1:8080"] или # netflow - job_name: "netflow" static_configs: - targets: ["192.168.1.1:9191"] !!! После правок конфига прометея, сервис перезапускать обязательно !!! `/opt/etc/init.d/S70prometheus restart` Запустить сервис (в зависимости от установленного пакета): `/opt/etc/init.d/S99cnetflow start` или `/opt/etc/init.d/S99cnflegacy start` или `/opt/etc/init.d/S99csflow start` или `/opt/etc/init.d/S99goflow start` или `/opt/etc/init.d/S99netflow_exporter start` В любимом браузере отправиться на адрес устройства и порт 9090: (goflow) (netflow-exporter)
  15. "Налетай, торопись, покупай живопись!" (из к/ф "Операция "Ы" и другие приключения Шурика", СССР, 1965) или Красота спасёт мир! grafana https://grafana.com Установить пакет: `opkg install grafana` Запустить сервис: `/opt/etc/init.d/S80grafana-server start` В любимом браузере отправиться на адрес устройства и порт 3000: Подключаем прометея: "Configuration" => "Data source" => "Add data source" => "Prometheus" => "URL" <= адрес устройства и порт => ""Save & test" "Искаропки" (очень простой) "Искаропки" (простой) Дальше, строим самостоятельно или импортируем готовые https://grafana.com/grafana/dashboards/ SNMP - ID: 11169 SNMP - ID: 10523 node -ID: 1860
  16. А у вас нет такого же, но с перламутровыми пуговицами для collectd? collectd_exporter https://github.com/prometheus/collectd_exporter Установить пакет: `opkg install prometheus-collectd-exporter` и отредактировать конфиги "/opt/etc/prometheus/prometheus.yml" и "/opt/etc/collectd.conf": (добавить в конфиг прометея) # collectd - job_name: "collectd" static_configs: - targets: ["192.168.1.1:9103"] !!! После правок конфига прометея, сервис перезапускать обязательно !!! `/opt/etc/init.d/S70prometheus restart` (добавить в конфиг collectd) LoadPlugin network <Plugin network> Server "127.0.0.1" "25826" </Plugin> Запустить сервисы: `/opt/etc/init.d/S70collectd start && /opt/etc/init.d/S99collectd_exporter start` В любимом браузере отправиться на адрес устройства и порт 9090:
  17. Я требую продолжения банкета статистику HAProxy! haproxy_exporter https://github.com/prometheus/haproxy_exporter Установить пакет: `opkg install prometheus-haproxy-exporter` и отредактировать конфиги "/opt/etc/prometheus/prometheus.yml" и "/opt/etc/haproxy.cfg": (добавить в конфиг прометея) # haproxy - job_name: "haproxy" static_configs: - targets: ["192.168.1.1:8404"] !!! После правок конфига прометея, сервис перезапускать обязательно !!! `/opt/etc/init.d/S70prometheus restart` (добавить в конфиг HAProxy и закомментировать или удалить строку "mode health") # Prometheus frontend stats mode http bind *:8404 http-request use-service prometheus-exporter if { path /metrics } stats enable stats uri /stats stats refresh 10s Запустить сервисы: `/opt/etc/init.d/S99haproxy start && /opt/etc/init.d/S99haproxy_exporter start` В любимом браузере отправиться на адрес устройства и порт 9090:
  18. "Маловато будет! Маловато!" (из м/ф "Падал прошлогодний снег", СССР, 1983) node_exporter https://github.com/prometheus/node_exporter Установить пакет: `opkg install prometheus-node-exporter` и отредактировать конфиг "/opt/etc/prometheus/prometheus.yml": (добавить в конфиг прометея) # node - job_name: "node" static_configs: - targets: ["192.168.1.1:9100"] !!! После правок конфига прометея, сервис перезапускать обязательно !!! `/opt/etc/init.d/S70prometheus restart` Запустить сервис: `/opt/etc/init.d/S99node_exporter start` В любимом браузере отправиться на адрес устройства и порт 9090: или (IP:9090/consoles/node.html)
  19. Что бы такого сделать плохого установить? snmp_exporter https://github.com/prometheus/snmp_exporter Keenetic умеет в snmp "искаропки" (если компонент "Сервер SNMP" установлен): ! Если компонент не установлен и захотите его добавить, прошивка обновиться до актуальной версии (в зависимости от канала обновлений). Активировать сервис, если не активен, нужно в CLI (telnet|SSH) или web: `service snmp` и сохранить настройки: `system configuration save` Установить пакет: `opkg install prometheus-snmp-exporter` и отредактировать конфиг "/opt/etc/prometheus/prometheus.yml": (добавить в конфиг прометея) # snmp - job_name: "snmp" static_configs: - targets: ["192.168.1.1"] metrics_path: /snmp params: module: [if_mib] relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 192.168.1.1:9116 !!! После правок конфига прометея, сервис перезапускать обязательно !!! `/opt/etc/init.d/S70prometheus restart` Запустить сервис: `/opt/etc/init.d/S99snmp_exporter start` В любимом браузере отправиться на адрес устройства и порт 9090:
  20. Винни-Пух Прометей и все-все-все (ну-у-у, почти), или Статистики много не бывает. рrometheus https://prometheus.io/ https://prometheus.io/docs/introduction/overview/ Установить пакет: `opkg install prometheus` и отредактировать конфиг "/opt/etc/prometheus/prometheus.yml" (заменить "localhost" на адрес устройства): Запустить сервис: `/opt/etc/init.d/S70prometheus start` В любимом браузере отправиться на адрес устройства и порт 9090: Прометей умеет в графики "искаропки": или (IP:9090/consoles/prometheus.html): И всё?
  21. Значит, что-то сломали... ~ # pip install construct==2.10.56 Collecting construct==2.10.56 Downloading construct-2.10.56.tar.gz (54 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.8/54.8 kB 338.4 kB/s eta 0:00:00 Preparing metadata (setup.py) ... done Using legacy 'setup.py install' for construct, since package 'wheel' is not installed. Installing collected packages: construct Running setup.py install for construct ... done Successfully installed construct-2.10.56 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv [notice] A new release of pip available: 22.2.2 -> 22.3.1 [notice] To update, run: pip install --upgrade pip ~ #
  22. Ну и поставьте ему "construct", раз он сам не может.
  23. bump to 2022.12.6 (aarch64||mipsel) (прим. - отключить "zram")
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.