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/bin
untuk menggunakan rm
in /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 cd
dalamnya dan hanya mengedit get
file 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!
ls
masuk/home/pi/bin
? Itu harus dalam/bin
om Raspbian, IIRC. Sepertinya Anda memiliki beberapa binari arsitektur lain/home/pi/bin
.Jawaban:
Menghapus dari Anda
$PATH
yang/home/pi/bin
yang ada di depan. Jika Anda yakin Anda membutuhkannya, pindahkan ke belakang.The
$PATH
variabel mungkin diatur dalam~/.profile
,~/.bash_profile
,~/.bashrc
atau sesuatu yang serupa.Hanya tambahkan ke depan
$PATH
jika Anda benar - benar harus mengabaikan perintah sistem.Setelah itu, Anda harus melihat bagaimana file executable yang tidak kompatibel dibuat
~/bin
.sumber