Jump to content

TheBB

Moderators
  • Posts

    2,424
  • Joined

  • Last visited

  • Days Won

    52

Everything posted by TheBB

  1. Запустить бинарник руками и смотреть на что жалуется --- напр., устройство не обнаружено: не может подключиться к серверу mosquitto:
  2. Первый лог - лог успешной установки на внутреннюю память устройства ZyXEL Keenetic Ultra II текущей версии инсталлера. Второй лог - попытка установки предыдущей версии инсталлера с пакетом "ndmq". Третий лог - вырезание "ndmq" и запуск предыдущей версии инсталлера из CLI на внутреннюю память устройства. Четвертый лог - собственно, лог установки из CLI (см. описание "Третий лог").
  3. ZKU2 ^ всё встало... как и ожидалось - отвалилось... ! Всё, что ниже, повторять не надо (!не шутка!) ! <= red/красный telnet ip.add.re.ss
  4. Мешают "хвосты", оставшиеся после обновления. Или вычищать руками, или удалить все пакеты python`a + удалить директорию "/opt/lib/python3.9" и накатить пакеты обратно.
  5. Связано с обновлением go до 1.17. Выбор не велик - или откат из архива, или обновление до 0.107.0-b.x (x - версия беты)...
  6. Аналогично... 22 раза - mipsel-installer(22).tar.gz переустановил пару раз - не воспроизводится...
  7. Давайте Ваш "проблемный" архив, буду через него систему ставить, с тем, что на сервере, не воспроизводится...
  8. bump to 2.17.2 2.18.0 aarch64 - http://bin.entware.net/aarch64-k3.10/test/filebrowser_2.17.2-1_aarch64-3.10.ipk mips - http://bin.entware.net/mipssf-k3.4/test/filebrowser_2.17.2-1_mips-3.4.ipk mipsel - http://bin.entware.net/mipselsf-k3.4/test/filebrowser_2.17.2-1_mipsel-3.4.ipk
  9. Похоже, закешировалось "в интернетах", в индексе есть, но список не тот выдаёт. Вроде б, отлегло... Пытайте снова.
  10. Bridge или оно же (в одну строку) ещё Bridge или оно же (в одну строку) reboot.sh #!/bin/sh wget -qO - --post-data='[{"system":{"reboot":true}}]' localhost:79/rci > /dev/null 2>&1 --- log ~ # ~ # logger '"Hello,World!"' ~ # logger `date` ~ # logger '"Bye!"' ~ # === И ещё один Bridge0
  11. 0. Строка инициализации должна быть пустой. 1. см. здесь 0 и п. 5 или п.п. 8.1-8.2 2. см. здесь 0-1; для обхода таймаута во время установки, в текущей версии инсталлера, задействован вызов doinstall через /opt/etc/initrc см. здесь 0, 2 повезло (см. тут ) там речь о другом см. здесь 2 (историю изменений скрипта создания установочного архива можно смотреть на github, напр., для mipsel) см. здесь 0-1 @enpa ?
  12. Продолжим глумиться над пользователями, группами, правами доступа, запуском... ))) Для наглядности, запуск с отладкой - "#!/opt/bin/sh -x" (прошивочный sh так не умеет) USER=GROUP=privoxy USER=GROUP=nobody ~ # ~ # sed -i -e 's,^USER="privoxy",USER="nobody",' /opt/etc/init.d/S24privoxy ~ # USER=GROUP=www ~ # ~ # sed -i -e 's,nobody,www,' /opt/etc/init.d/S24privoxy ~ # ~ # ~ # cat /opt/etc/init.d/S24privoxy #!/opt/bin/sh -x USER="www" ENABLED=yes PROCS=privoxy . /opt/etc/init.d/protector ARGS="--pidfile $PIDFILE --user $USER $CONFDIR/config" PREARGS="" DESC=$PROCS PATH=/opt/sbin:/opt/bin . /opt/etc/init.d/rc.func [ "$ACTION" = "stop" ] && rm -rf "$HOMEDIR" ~ # ~ # ~ # ~ # cat /opt/etc/init.d/protector # test protector protect() { local USER="$USER" local GROUP="$USER" HOMEDIR="/opt/tmp/$PROCS" CONFDIR="$HOMEDIR/conf" LOGDIR="$HOMEDIR/log" LOGFILE="$LOGDIR/$PROCS.log" PIDDIR="$HOMEDIR/run" PIDFILE="$PIDDIR/$PROCS.pid" [ -d "$HOMEDIR" ] || { mkdir -p "$HOMEDIR" chown "$USER":"$GROUP" "$HOMEDIR" } [ -d "$CONFDIR" ] || { mkdir -p "$CONFDIR" cp -R /opt/etc/"$PROCS"/* "$CONFDIR"/ chown -R "$USER":"$GROUP" "$CONFDIR" } [ -d "$LOGDIR" ] || { mkdir -p "$LOGDIR" touch "$LOGFILE" chown -R "$USER":"$GROUP" "$LOGDIR" chmod 644 "$LOGFILE" } [ -d "$PIDDIR" ] || { mkdir -p "$PIDDIR" chown -R "$USER":"$GROUP" "$PIDDIR" } } protect ~ # ! не руководство к действию, а информация к размышлению ! Если предусмотрено конфигами (php-fpm, nginx, ...) или ключами (privixy, ...), этим и надо пользоваться.
  13. Это всего лишь вариации на тему... ~ # /opt/etc/init.d/S20privoxy start starting privoxy ~ # /opt/etc/init.d/S20privoxy status privoxy already running ~ # /opt/etc/init.d/S20privoxy restart stopping privoxy starting privoxy ~ # /opt/etc/init.d/S20privoxy check privoxy already running ~ # ps | grep -v grep | grep priv 31153 privoxy 3844 S /opt/sbin/privoxy --pidfile /opt/tmp/privoxy.pid /opt/etc/privoxy/config ~ # /opt/etc/init.d/S20privoxy stop stopping privoxy ~ # /opt/etc/init.d/S20privoxy status privoxy is not running ~ # ~ # ~ # cat /opt/etc/init.d/S20privoxy #!/bin/sh PATH=/opt/sbin:/opt/bin PIDFILE="/opt/tmp/privoxy.pid" PROGRAM="privoxy" PROGRAM_BIN="/opt/sbin/$PROGRAM" USER="$PROGRAM" OK="$PROGRAM already running" NO="$PROGRAM is not running" status_check () { [ -f $PIDFILE ] && [ -d /proc/"$(pidof $PROGRAM)" ] } start() { su "$USER" -m -p -c "$PROGRAM_BIN --pidfile $PIDFILE /opt/etc/privoxy/config" && echo starting $PROGRAM } stop() { kill "$(pidof $PROGRAM)" && echo stopping $PROGRAM } case "$1" in start) if status_check then echo $OK else start fi ;; stop) if status_check then stop else echo $NO fi ;; check|status) if status_check then echo $OK else echo $NO fi ;; restart) stop sleep 3 start ;; *) echo "Usage: $0 {start|stop|restart|status}" ;; esac ~ #
  14. правильно - через ключ "--user" --- ~ # ~ # /opt/etc/init.d/S24privoxy start Starting privoxy... done. ~ # ~ # /opt/etc/init.d/S24privoxy status Checking privoxy... alive. ~ # ~ # ps | grep -v grep | grep priv 15059 root 3844 S privoxy /opt/etc/privoxy/config ~ # ~ # /opt/etc/init.d/S24privoxy stop Checking privoxy... alive. Shutting down privoxy... done. ~ # ~ # chown -R privoxy:privoxy /opt/etc/privoxy ~ # ~ # chown privoxy:privoxy /opt/var/log/privoxy.log ~ # ~ # /opt/etc/init.d/S24privoxy start Starting privoxy... done. ~ # ~ # /opt/etc/init.d/S24privoxy status Checking privoxy... alive. ~ # ~ # ps | grep -v grep | grep priv 15164 privoxy 3980 S privoxy --user privoxy /opt/etc/privoxy/config ~ # === ~ # start-stop-daemon BusyBox v1.33.1 (2021-07-08 20:18:22 UTC) multi-call binary. Usage: start-stop-daemon [OPTIONS] [-S|-K] ... [-- ARGS...] Search for matching processes, and then -K: stop all matching processes -S: start a process unless a matching process is found Process matching: -u USERNAME|UID Match only this user's processes -n NAME Match processes with NAME in comm field in /proc/PID/stat -x EXECUTABLE Match processes with this command in /proc/PID/cmdline -p FILE Match a process with PID from FILE All specified conditions must match -S only: -x EXECUTABLE Program to run -a NAME Zeroth argument -b Background -c USER[:[GRP]] Change user/group -m Write PID to pidfile specified by -p -K only: -s SIG Signal to send -t Match only, exit with 0 if found Other: -q Quiet ~ #
  15. privoxy --help ~ # chmod 666 /opt/etc/privoxy/config ~ # ~ # chmod 666 /opt/var/log/privoxy.log ~ # ~ # /opt/etc/init.d/S24privoxy start Starting privoxy... done. ~ # ~ # /opt/etc/init.d/S24privoxy status Checking privoxy... alive. ~ # ~ # ps | grep -v grep | grep priv 20658 test 3980 S privoxy --user test /opt/etc/privoxy/config ~ # --- через обёртку ~ # ~ # id test uid=10(test) gid=10(test) groups=10(test) ~ # ~ # /opt/etc/init.d/S24privoxy stop Checking privoxy... alive. Shutting down privoxy... done. ~ # ~ # ps | grep -v grep | grep priv ~ # ~ # privoxy-su /opt/etc/privoxy/config ~ # ~ # ps | grep -v grep | grep priv 21646 test 3844 S privoxy /opt/etc/privoxy/config ~ # ~ # /opt/etc/init.d/S24privoxy status Checking privoxy... alive. ~ # ~ # cat /opt/bin/privoxy-su #!/opt/bin/sh exec su test -p -c "privoxy $1 $2 $3 $4" ~ # === чтоб два раза не вставать - обратный финт ушами... /opt $ id uid=10000(tester) gid=10000(tester) groups=10000(tester) /opt $ /opt $ /opt/etc/init.d/S24privoxy status Checking privoxy... dead. /opt $ /opt $ privoxy-su /opt/etc/privoxy/config /opt $ /opt $ /opt/etc/init.d/S24privoxy status Checking privoxy... alive. /opt $ ~ # cat /opt/bin/privoxy-su #!/opt/bin/sh -x exec echo keenetic | su -p -m root -c "/opt/sbin/privoxy $1 $2 $3 $4" ~ #
  16. Вот "классический" вариант, сам выкачивает исходники:
  17. atinout_0.9.1-1_mips-3.4.ipk atinout_0.9.1-1_mipsel-3.4.ipk Makefile (фай atinout.c разместить с корне директории пакета рядом с Makefile`ом): ~ # atinout -V atinout version 0.9.1 Copyright (C) 2013 Håkon Løvdal <hlovdal@users.sourceforge.net> This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see http://www.gnu.org/licenses/gpl.html for details. ~ # ~ # ls -al /dev/tty* crw-rw-rw- 1 root root 5, 0 Aug 16 22:03 /dev/tty crw------- 1 root root 4, 64 Aug 16 22:06 /dev/ttyS0 crw------- 1 root root 4, 65 Jan 1 1970 /dev/ttyS1 crw-r----- 1 root root 188, 0 Aug 16 22:14 /dev/ttyUSB0 ~ # ~ # echo AT | atinout - /dev/ttyUSB0 - OK ~ # ~ # echo AT+CSCS=? | atinout - /dev/ttyUSB0 - +CSCS: ("IRA","UCS2","GSM") OK ~ #
  18. Пробовал обе-две, сейчас с ssl, работало везде.
×
×
  • Create New...