Ошибки · Решение
Linux errno ENOEXEC: что означает и как исправить
Файл найден, но ядро не может выполнить его как исполняемый формат.
Короткий ответ
В Linux errno ENOEXEC означает «Exec format error». Сначала найдите системный вызов, который вернул код, затем проверяйте условия именно этой операции. Числовое значение errno не следует считать переносимым между архитектурами: ориентируйтесь на символическое имя.
Что означает ошибка
Файл найден, но ядро не может выполнить его как исполняемый формат.
Возможные причины
- Бинарник собран для другой архитектуры.
- У скрипта отсутствует корректный shebang или указан несуществующий интерпретатор.
- Файл повреждён или имеет неподдерживаемый executable format.
Что проверить
- Выполните file для проблемного исполняемого файла и сравните архитектуру с системой.
- Проверьте первую строку скрипта и путь интерпретатора после #!.
- Убедитесь, что файл не был повреждён при копировании или распаковке.
Безопасные шаги
- Установите сборку для правильной архитектуры.
- Исправьте shebang на существующий интерпретатор.
- Пересоберите или заново получите повреждённый executable.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если errno ENOEXEC воспроизводится после проверки системного вызова и окружения, приложите strace-фрагмент, путь/ресурс и kernel log владельцу соответствующего subsystem.
Похожие ошибки
- /errors/linux-errno-esrch/
- /errors/linux-errno-eintr/
- /errors/linux-errno-eio/
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.