Mengapa RaspberryPi saya tidak bisa menjalankan perintah dasar ini sebagai pi?

2

Seperti yang tertulis dalam judul, RaspberryPi saya tidak dapat menjalankan beberapa perintah dasar (mis. Ls, mkdir, su, ...) dengan pengguna 'pi'. Saya selalu mendapatkan yang berikut ini sebagai keluaran:

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

Jika saya sudo perintah ini atau menjalankannya di akun lain, bahkan akun yang bahkan tidak bisa sudo, itu berfungsi dengan baik, dan sudah berfungsi dengan baik pada login terakhir saya (OK, sekitar 2 minggu lalu ...) dan saya tidak dapat menginstal perangkat lunak baru (saya membaca yang sering menyebabkan masalah ini), saya hanya menggunakan perangkat lunak yang sudah terkenal yang menggunakan YouTube-API untuk mengunggah video. Saya mencoba untuk memperbaiki masalah melalui reboot (itu tidak berfungsi sering, tetapi kadang-kadang membantu: D). Saya membaca tentang Variabel $ PATH yang dimodifikasi, dan saya pikir ini mungkin benar, tetapi saya bukan pro terbesar dan tidak dapat membuktikannya, jadi inilah hasilnya:

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

Seperti yang sudah saya katakan, saya pikir ini benar-benar bisa menjadi alasan (itu benar-benar membingungkan, saya bahkan tidak tahu ada folder seperti itu), tetapi bahkan jika itu, saya tidak akan tahu harus mengubahnya ke mana, jadi saya pikir Anda bisa mengatakan itu sesuatu yang berbeda atau bagaimana saya harus mengatur $ PATH-Variable. Dan, mungkin, bagaimana ini bisa berubah, saya tidak melakukannya secara manual.

Saya harap seseorang dapat membantu saya. Terima kasih sebelumnya, Noob

EDIT: Saya memecahkan masalah dalam beberapa hal dengan jawaban yang ditandai. Saya baru saja menghapus folder / home / pi / bin ( /bin/rm /home/pi/binuntuk menggunakan rmin /bin/) dan logout ( exit) dan untuk menjalankan ~ / .profile lagi. Dan saya juga dapat merekonstruksi bagaimana saya mendapatkan file-file ini di sana: Beberapa hari sebelum saya membatalkan server saya, jadi saya menggunakan Raspi saya untuk membuat cadangan file untuk masa depan. Saya membuat folder bernama oldServer, tetapi tidak masuk ke cddalamnya dan hanya mengedit getfile melalui SFTP, jadi mereka datang ke / home / pi /, juga folder bin. Jadi pada setiap login, ~ / .profile berpikir itu akan menjadi tempat sampah khusus dan memasukkannya ke dalam $PATH. RasPi tidak dapat mengeksekusi binari-binari ini di sana karena mereka berasal dari Debian juga, tetapi tidak dari Raspbian secara khusus, hanya Debian8. Terima kasih atas komentar dan jawaban Anda!

kiriMCplay
sumber
Bagaimana Anda bisa lsmasuk /home/pi/bin? Itu harus dalam /binom Raspbian, IIRC. Sepertinya Anda memiliki beberapa binari arsitektur lain /home/pi/bin.
muru

Jawaban:

0

Menghapus dari Anda $PATHyang /home/pi/binyang ada di depan. Jika Anda yakin Anda membutuhkannya, pindahkan ke belakang.

The $PATHvariabel mungkin diatur dalam ~/.profile, ~/.bash_profile, ~/.bashrcatau sesuatu yang serupa.

Hanya tambahkan ke depan $PATHjika Anda benar - benar harus mengabaikan perintah sistem.

Setelah itu, Anda harus melihat bagaimana file executable yang tidak kompatibel dibuat ~/bin.

Daniel B
sumber
Saya tidak mengubahnya secara manual, seperti yang sudah saya katakan, tetapi saya akan mencobanya.
kiriMCplay