내 RaspberryPi가 이러한 기본 명령을 파이로 실행할 수없는 이유는 무엇입니까?


2

제목에서 알 수 있듯이, 내 RaspberryPi는 사용자 'pi'와 함께 몇 가지 기본 명령 (예 : ls, mkdir, su, ...)을 실행할 수 없습니다. 나는 항상 다음과 같은 출력을 얻는다.

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

이 명령을 sudo하거나 다른 계정에서 실행할 경우에도 sudo를 실행할 수없는 계정 일지라도 정상적으로 작동하며 마지막 로그인시 (OK, 2 주 전 ...)에 이미 정상적으로 작동했습니다. 새로운 소프트웨어를 설치하지 않아서 (이 문제가 자주 발생 함) YouTube API를 사용하여 동영상을 업로드하는 이미 잘 알려진 소프트웨어 만 사용했습니다. 재부팅을 통해 문제를 해결하려고했으나 (자주 작동하지 않지만 때로는 도움이됩니다 : D). 나는 수정 된 $ PATH-Variable에 대해 읽었으며 이것이 사실 일 수 있다고 생각한다. 그러나 나는 가장 큰 프로가 아니며 그것을 증명할 수 없다.

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

이미 말했듯이, 이것이 정말로 그럴 수 있다고 생각합니다. (정말 혼란 스럽습니다. 그런 폴더가 있는지조차 알지 못했습니다.) 그렇더라도, 어떻게 바꾸어야할지 모르겠습니다. 당신은 그것이 뭔가 다른 것이거나 $ PATH-Variable을 어떻게 설정해야하는지 말해 줄 수 있습니다. 그리고 어쩌면 이것이 어떻게 바뀔 수 있었는지, 나는 수동으로 그렇게하지 않았다.

누군가가 나를 도울 수 있기를 바랍니다. 미리 감사드립니다. 멍청한 놈

편집하다: 표시된 대답으로 몇 가지 방법으로 문제를 해결했습니다. 방금 / home / pi / bin 폴더를 삭제했습니다. ( /bin/rm /home/pi/bin 그 (것)들을 사용하기 위하여 rm ...에서 /bin/ ) 및 로그 아웃 ( exit ) ~ ~ .profile을 다시 실행하십시오. 또한이 파일들을 어떻게 재구성 할 수 있었는지 몇 일 전에 서버를 취소하기 때문에 RasPi를 사용하여 파일을 백업했습니다. 나는 폴더를 만들었다. oldServer, 그러나 잊어 버렸습니다. cd 그것과 그냥 get SFTP를 통해 파일을 편집하여 / home / pi /, 폴더 bin. 그래서 모든 로그인에서, ~ / .profile은 특별한 bin으로 생각하고 그것을 넣었습니다. $PATH. RasPi는 데비안 출신 이었기 때문에이 바이너리를 실행할 수 없었습니다. Rasbian은 특정 데비안 8에서만이 바이너리를 실행할 수 없었습니다. 귀하의 의견과 답변에 감사드립니다!


어떻게 당신에게 왔습니까? ls ...에서 /home/pi/bin? 그 안에 있어야합니다. /bin om Raspbian, IIRC. 다른 아키텍처의 바이너리가있는 것 같습니다. /home/pi/bin.
muru

답변:


0

에서 제거하십시오. $PATH 그만큼 /home/pi/bin 그 앞에있다. 당신이 그것을 필요로한다면 긍정적인데, 뒤쪽으로 옮기십시오.

그만큼 $PATH 변수가 아마도 설정되어있다. ~/.profile, ~/.bash_profile, ~/.bashrc 또는 비슷한 것.

앞에 추가하십시오. $PATH 만약 너라면 전혀 시스템 명령을 대체해야합니다.

그런 다음, 호환되지 않는 실행 파일이 어떻게 만들어 졌는지 조사해야합니다. ~/bin.


내가 이미 말했듯이 나는 그것을 수동으로 변경하지 않았지만 그것을 시도 할 것이다.
kiriMCplay
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.