Entware-3x - новые репозитории Entware для устройств, использующих новые ядра.

Используем пакеты, расширяющие возможности оборудования
Yrzorg
Сообщения: 82
Зарегистрирован: 05 окт 2015, 13:23

Сообщение Yrzorg » 31 июл 2017, 18:18

Buha писал(а):Источник цитаты Возможно ли реанимировать ssh без переустановки?

рекомендую поставить пакет shellinabox - SSH в браузере и через него уже смотреть, что там да как
dropbear любит подложить свинью после своего обновления - заменить кастомный скрипт запуска на дефолтный и после перезагрузки роутера доступ по ssh теряется
Keenetic Ultra II+Entware
NDMS 3.7

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 01 авг 2017, 08:32

Yrzorg писал(а):Источник цитаты рекомендую поставить

Для того, чтобы поставить нужно восстановить ssh доступ.
PS Я обычно ставлю openssh-server на другом порту в дополнение к dropbear.

Buha
Сообщения: 7
Зарегистрирован: 29 июл 2017, 14:39

Сообщение Buha » 01 авг 2017, 10:33

Zyxmon писал(а):Источник цитаты Я обычно ставлю openssh-server на другом порту в дополнение к dropbear.

Так и сделаю после переустановки.
Спасибо!

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

Сообщение kaztost » 09 авг 2017, 13:17

Zyxmon писал(а):Источник цитаты Вопрос. Как установить bash в качестве оболочки (shell)?
Ответ. Для стандартных установок это не всегда возможно. Для альтернативных это делается так. Поставим пакет bash (opkg install bash). Добавим строку `opt/bin/bash` в файл /opt/ect/shells. Зададим (для удобства) переменную PS1 в фале .profile пользователя (/opt/root для root), например, `export PS1="[\h@\w]>"`. Отредактируем файл /opt/etc/passwd и зададим bash нужному пользователю (последний параметр).

Хочу дополнить эту инструкцию: для bash еще нужно добавить строки

Код: Выделить всё

"\e[1~": beginning-of-line
"\e[4~": end-of-line

в файл ~/.inputrc. Иначе клавиши Home и End в терминале не работают.

Еще заметил странную проблему с bash, которая проявилась в Entware-3x на архитектуре mips (big-endian). На других архитектурах (armv7, x64) вроде все нормально. Если ставить /opt/bin/bash в passwd, то некоторые SFTP-клиенты не смогут заходить на наш сервер. Симптомы проблемы такие:

Код: Выделить всё

~ # ssh root@localhost pwd
root@localhost's password:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
pwd: error retrieving current directory: getcwd: cannot access parent directories: Socket operation on non-socket
~ # ssh root@localhost env
root@localhost's password:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
SHELL=/opt/bin/bash
SSH_CLIENT=127.0.0.1 34644 22
USER=root
PATH=/opt/usr/sbin:/opt/sbin:/opt/bin:/usr/sbin:/usr/bin:/sbin:/bin
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=127.0.0.1 34644 127.0.0.1 22
_=/opt/bin/env

То есть переменной PWD в окружении нет до применения ~/.profile. Если уж в такой ситуации хочется иметь bash, то рабочий костыль тут такой: вернуть /opt/bin/ash в passwd, а ~/.profile закончить строками

Код: Выделить всё

export SHELL=/opt/bin/bash
SHLVL=0
exec /opt/bin/bash 

Тогда SFTP/SCP клиенты будут юзать ash, а мы сами - bash. (Кстати заметил, что при авторизации в dropbear в интерактивный ash теперь последовательно выполняются /opt/etc/profile И ~/.profile, так что в последнем ". /opt/etc/profile" ставить не надо).

Еще одна проблема bash (может быть связанная с PuTTY). Иногда что-то такое случается, что при вводе длинной команды курсор не сдвигается вниз, а смещается в левый край на той же линии, стирая приветствие и начало набранной команды. Как с этим бороться правильно - не знаю, но если не хочется закрывать терминал или входить в шелл следующего уровня, то лучше применить "exec /opt/bin/bash".

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

Сообщение kaztost » 11 авг 2017, 01:33

Кажется понял в чем причина "shell-init: error retrieving current directory: getcwd: cannot access parent directories". При использовании bash на нестандартных файловых системах (а у меня там extroot, то есть overlayfs) bash нужно собирать с "bash_cv_getcwd_malloc=yes". Источник. Например, как описано здесь. У меня под mips тулчейна нет, чтобы попробовать. Есть только под arm, да и то, там я пока только осваиваюсь.

В качестве подтверждения скажу, что компиляция (нативная) баша с указанным параметром решило схожую проблему баша при zip/unzip в midnight commander-е в папке /sdcard arm-андроида (/sdcard - эмулированное хранилище, то есть fuse!). Там проскакивала та же ошибка "getcwd: cannot access parent directories". А с новым bash проблема исчезла! Правда версия еще обновилась с энтварного 4.3 до нового 4.4, и может дело в этом. Но все равно, остается подозрение, что по крайней мере под mips bash собран без опции "bash_cv_getcwd_malloc=yes".

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 11 авг 2017, 08:12

kaztost писал(а):Источник цитаты bash нужно собирать с "bash_cv_getcwd_malloc=yes"

Объяснение достаточно убедительное. Добавил issue - https://github.com/Entware-for-kernel-3 ... /issues/33
Исправим.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 16 авг 2017, 14:21

Об установке Entware в Openwrt/LEDE - http://www.zyxmon.org/2017/08/16/ustana ... deopenwrt/

pashinsky
Сообщения: 40
Зарегистрирован: 18 окт 2015, 15:02

Сообщение pashinsky » 12 сен 2017, 22:45

Zyxmon,
Устанавливаю Entware-3.x на устройство с процессором ARM71 (WD MyCloud + Synology DSM 5.2 ядро 3.2.40) при установке системы пакетов, в логе
кусок лога

Код: Выделить всё

Configuring busybox.
Warning: '/opt/bin/xargs' is already exists, skipping.
Warning: '/opt/bin/find' is already exists, skipping.
Configuring zoneinfo-asia.
Свернуть

Это критично? Или будет работать?
Последний раз редактировалось pashinsky 13 сен 2017, 00:29, всего редактировалось 2 раза.
MQ-WITI_256 3.4.3.9-099_5aa2a75, Entware-3x, DebianChroot

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 12 сен 2017, 23:12

Не критично. Но темой ошибаться не стоит и спрашивать про ng в теме про 3x.

Vladimir
Сообщения: 53
Зарегистрирован: 28 янв 2016, 14:07

Сообщение Vladimir » 22 сен 2017, 14:35

Здравствуйте. При установке owncloud на entware-3x столкнулся с ошибкой в название пакета. Необходимо было установить php5-mod-mysql, в репозитории этот пакет называется php5-mod-mysqli.


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 1 посетитель :: 0 зарегистрированных, 0 скрытых и 1 гость (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость