Не могу выполнить бинарную программу

1

Я использую довольно урезанную версию Linux, в которой нет Bash. Тем не менее, есть Эш. Я не уверен, что именно различия, но казалось, что это может быть актуально.

Обычно я могу выполнить двоичный файл, просто введя что-то вроде /usr/bin/rxзапуска программы rx. И в таком случае я могу.

Тем не менее, программа дополнения к так rxназываемой sx, также находится в этой системе Linux, и я хотел бы также использовать это. Когда я звоню rx, это работает нормально, но когда я пытаюсь сделать то же самое для sx, я получаю

-/bin/ash: /usr/bin/sx: not found

Тем не менее, sx это присутствует в /usr/bin/. Существует разница между двумя программами, одна из которых работает busybox, а другая кажется просто дополнительной программой. Выполнение ls -lпоказало разрешения как:

-rwxr-xr-x

так что я не думаю, что проблема в том, что мне это нужно chmod. Почему я не могу запустить эту программу?

зефир
источник
1
Многообещающее преимущество: почему я получаю «команда не найдена», когда бинарный файл существует?
Камиль Мачоровски
Это кажется хорошей возможностью (на самом деле, учитывая, насколько редкой является эта система, это кажется вполне вероятным). Однако в моей системе нет «ldd» или «file». Есть ли альтернативный способ получить эту информацию?
Зефир
@ Зефир Ты читал ответ на этот вопрос или только вопрос?
Запуск CMD
@ClassStacker ответ на этот вопрос связан с другим вопросом, в ответе которого «ldd и readelf -l смогут показать интерпретатор ELF, который запрашивает ваш исполняемый файл». Тем не менее, я не вижу ldd в системе, с которой у меня проблемы. Таким образом, мой дополнительный вопрос был, если был какой-то другой способ определения зависимостей.
Зефир
Скопируйте файл в вопросе к другой системе , которая имеет readelf , использовать его там , чтобы определить путь переводчика. В крайнем случае, вы могли бы даже использовать stringsи hexdumpт. Д. - все, что выглядит немного похожим, /lib/ld-linux.soвероятно, интерпретатор.
Диркт