2

Как говорится в заголовке, мой RaspberryPi не может выполнять некоторые базовые команды (например, ls, mkdir, su, ...) с пользователем 'pi'. Я всегда получаю следующее в качестве вывода:

-bash: /home/pi/bin/ls: Cannot execute binary file: Exec format error

Если я выполняю sudo эти команды или выполняю их для любой другой учетной записи, даже для учетной записи, которая не может даже sudo, она работает нормально, и она уже работала нормально при моем последнем входе в систему (ОК, около 2 недель назад ...), и я не не устанавливал никакого нового программного обеспечения (я читал, что это часто вызывает эту проблему), я использовал только уже хорошо известное программное обеспечение, которое использует YouTube-API для загрузки видео. Я попытался решить проблему с помощью перезагрузки (это не часто работает, но иногда помогает:D). Я читал об измененной переменной $ PATH и думаю, что это может быть правдой, но я не самый большой профессионал и не могу доказать это, так что вот вывод:

echo $PATH
/home/pi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

Как я уже сказал, я думаю, что это действительно может быть причиной (это действительно сбивает с толку, я даже не знаю, есть ли такие папки), но даже если бы это было так, я бы не знал, на что это можно изменить, поэтому я думаю, Вы могли бы сказать мне, что это что-то другое или как я должен установить переменную $ PATH. И, может быть, как это могло измениться, я не делал это вручную.

Я надеюсь, что кто-то может помочь мне. Заранее спасибо, нуб

РЕДАКТИРОВАТЬ: Я решил проблему в некотором роде с помеченным ответом. Я просто удалил папку /home /pi /bin (/bin/rm /home/pi/bin чтобы использовать rm в /bin/) и вышел из системы (exit) и снова для запуска ~ /.profile. И я также смог восстановить, как я получил эти файлы там: за несколько дней до того, как я отменил свой сервер, поэтому я использовал свой RasPi для резервного копирования файлов на будущее. Я создал папку с именем oldServer но forot на cd - диск в нем , и просто get эда файлов через SFTP, так что они пришли в /доме /пи /, также bin папки. Поэтому при каждом входе в систему ~ /.profile думал, что это будет специальная корзина и поместит ее в $PATH . RasPi не смог выполнить эти двоичные файлы там, потому что они были также из Debian, но не из Raspbian в частности, только Debian8. Спасибо за ваши комментарии и ответы!

1 ответ1

0

Удалите из вашего $PATH /home/pi/bin который находится впереди. Если вы уверены, что вам это нужно, переместите его назад.

Переменная $PATH вероятно, установлена в ~/.profile , ~/.bash_profile , ~/.bashrc или что-то подобное.

Добавляйте только в начало $PATH если вам абсолютно необходимо переопределить системные команды.

После этого вы должны посмотреть, как несовместимые исполняемые файлы попали в ~/bin .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .