Midnight Commander, установленный с Entware, не выполняет команды и не запускает файлы

20.03.23

Администрирование - Администрирование веб-серверов

Столкнулся с проблемой, установил на роутер Midnigt Commander с репозитория Entware, при попытке выполнения команды программа пишет ошибку "The shell is already running a command". Данная публикация описывает способ решения этой проблемы.

 

Возникшая проблема решается через downgrade версии mc, однако, как это сделать, интуитивно непонятно.

Оказывается, команда opkg может устанавливать не только пакеты с репозитория, но и ipk-пакеты, находящиеся непосредственно на накопителе устройства.

Всё, что нужно - это найти в прежних версиях пакетов mc версию, лишённую данного бага, скачать её на флэшку, подключённую к роутеру, и установить её.

Репозиторий пакетов Entware находится по адресу:

http://bin.entware.net

Он имеет несколько веток под различные архитектуры процессоров.

Нужно определиться с архитектурой процессора роутера, для этого заглянем в конфиг Entware, флэшка у меня смонтирована в каталог "/media/Main", поэтому файл конфига Entware находится по адресу "/media/Main/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

Строка "arch=mipsel", указывает нам требуемую архитектуру.

Находим в списке веток репозитория ветку, которая в своём названии содержит "mipsel", это "mipselsf-k3.4"

В каждой ветке архитектуры есть папка "archive", в ней содержатся предыдущие версии пакетов, в моём случае это

http://bin.entware.net/mipselsf-k3.4/archive

Экспериментальным путём было установлено, что последняя версия Midnight Commander, без описанного мною бага - mc_4.8.26-1b_mipsel-3.4.ipk

Пакет этой версии нам и нужно скачать на флэшку роутера, а затем установить.

Для этого в консоли роутера переходим в каталог, в который смонтирована флэшка, в моём случае это "/media/Main"

cd /media/Main

Далее скачиваем пакет с ветки репозитория для архитектуры Вашего роутера, в моём случае это -
"http://bin.entware.net/mipselsf-k3.4/archive/mc_4.8.26-1b_mipsel-3.4.ipk", выполняем в консоли:

wget http://bin.entware.net/mipselsf-k3.4/archive/mc_4.8.26-1b_mipsel-3.4.ipk

Устанавливаем пакет:

opkg install /media/Main/mc_4.8.26-1b_mipsel-3.4.ipk --force-downgrade

Однако, для запуска mc этой версии требуется библиотека "libmbedcrypto.so.3"

Для этого нужно создать ссылку на текущую версию библиотеки "libmbedcrypto.so" с именем "libmbedcrypto.so.3"

Текущую версию библиотеки "libmbedcrypto.so" можно узнать, просмотрев содержимое директории "/media/Main/opt/lib/"

В моём случае, это библиотека "libmbedcrypto.so.7", соответственно выполняем в консоли:

ln -s /media/Main/opt/lib/libmbedcrypto.so.7 /media/Main/opt/lib/libmbedcrypto.so.3

После этого можно запускать "mc" и описанный мною баг - побеждён. В mc можно выполнять команды и запускать на выполнение файлы.

См. также

Автоматическое монтирование целевых папок по ключу при изменении местоположения источника (раздела диска)

Linux Бесплатно (free)

Вариант динамического автоматического монтирование целевых папок по ключу папки при изменении местоположения источника (раздела диска).

16.11.2023    272    NeSPEC    3    

2

Рестарт сервера 1С с очисткой сеансовых данных на Linux посредством systemd

Linux Платформа 1С v8.3 Абонемент ($m)

Сказ о том, как сделать "кошерный" перезапуск сервера 1С, работающего на платформе GNU/Linux, с очисткой сеансовых данных посредством systemd

1 стартмани

12.09.2023    2787    0    Sloth    5    

21

Запуск сервера хранилища конфигураций и сервера удаленного управления на Linux, посредством systemd

Linux Сервера Платформа 1С v8.3 Абонемент ($m)

Сказ о том, как сделать "кошерный" запуск серверов хранилища конфигураций (вдруг еще кто-то до сих пор пользуется) и удаленного администрирования под GNU/Linux с использованием systemd

1 стартмани

07.09.2023    3559    Sloth    0    

19

Перенаправление вывода журнала регистрации

Linux Журнал регистрации Платформа 1С v8.3 Бесплатно (free)

Экспериментируем с реализацией драйвера текстового устройства под Linux для перенаправления вывода журнала регистрации.

07.08.2023    995    Lars Ulrich    1    

16

Переход с 1С:Шины 2.1.1 на 3.1.1 под Ubuntu [Квест]

Linux Администрирование СУБД Бесплатно (free)

О том, как переход с 2.1.1 на 3.1.1 оказался нелегким из-за соблюдения рекомендаций.

24.05.2023    2166    dsdred    0    

13

Путь самурая. Ставим локальный Сервер взаимодействия

Сервера Администрирование веб-серверов Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подробная пошаговая инструкция (как делал я) установки Сервера взаимодействия версия 22.0.26 на Windows Server 2022. Установка собственного объектного хранилище с помощью системы MinIO (https://min.io/). Настройка Сервера взаимодействия для обмена файлами в сообщениях.

1 стартмани

07.04.2023    9180    VPanin56    37    

65
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 732 23.03.23 23:00 Сейчас в теме
Как это связано с 1с ?
2. Eugen-S 365 24.03.23 19:56 Сейчас в теме
(1) Ну это же статья в рубрике администрирования серверов.
Все мы пользуемся роутерами. Домашний роутер есть у каждого.
А роутер - это по сути сервер, только маленький и маломощный.
Да, далеко не все устанавливают на свой роутер какое-то дополнительное ПО, но я устанавливаю и думаю, что в этом не одинок.
Поскольку поиск решения возникшей проблемы потребовал от меня затрат времени, то решил написать эту статью, чтобы если кто-то другой столкнётся с подобной проблемой, то у него уже была готовая инструкция как её решить и не потребовалось тратить время собирая в сети по крупицам информацию, что, да как.
Да и сам при замене флэшки на роутере могу снова столкнуться через несколько лет, с чем-то подобным, так что и мне самому может пригодиться эта инструкция.
Оставьте свое сообщение