RaspberryPi'm neden bu temel komutları pi olarak uygulayamıyor?


2

Başlıkta yazdığı gibi, RaspberryPi'm 'pi' kullanıcısıyla bazı temel komutları (örneğin, ls, mkdir, su, ...) çalıştıramaz. Her zaman aşağıdakileri çıktı olarak alıyorum:

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

Bu komutları sudo edersem veya başka bir hesapta yürütürsem, hatta sudo yapamayan bir hesap bile olsa, gayet iyi çalışır ve son girişimde (Tamam, yaklaşık 2 hafta önce ...) zaten iyi çalıştı yeni bir yazılım yüklemeyin (genellikle bu soruna neden olanı okurum), yalnızca video yüklemek için YouTube API'sini kullanan önceden bilinen bir yazılımı kullandım. Yeniden başlatma ile sorunu çözmeye çalıştım (sık sık işe yaramaz, ancak bazen yardımcı olur: D). Değiştirilmiş bir $ PATH Değişkenini okudum ve bunun doğru olabileceğini düşünüyorum, ama en büyük profesyonel değilim ve bunu ispat edemem, işte burada çıktı:

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

Daha önce de söylediğim gibi, bunun gerçekten sebep olabileceğini düşünüyorum (bu gerçekten kafa karıştırıcı, böyle klasörler olduğunu bile bilmiyordum); Bana bunun farklı bir şey olduğunu veya $ PATH Değişkenini nasıl ayarlamam gerektiğini söyleyebilirsiniz. Ve belki de, bunun nasıl değişebileceği, bunu manuel olarak yapmadım.

Umarım biri bana yardım edebilir. Şimdiden teşekkürler, Noob

DÜZENLE: İşaretli cevapla sorunu bir şekilde çözdüm. / Home / pi / bin klasörünü yeni sildim ( /bin/rm /home/pi/bin kullanmak rm içinde /bin/ ) ve çıkış ( exit ) ve tekrar ~ / .profile komutunu çalıştırın. Ayrıca bu dosyaları oraya nasıl ulaştıracağımı da yeniden oluşturabildim: Sunucumu iptal etmeden birkaç gün önce, RasPi'mi dosyaları gelecek için yedeklemek için kullandım. Adlı bir klasör oluşturdum oldServer, ama unuttum cd içinde ve sadece get SFTP ile dosyaları edindim, böylece / home / pi / 'a da girdiler. bin. Yani her oturumda, ~ / .profile bunun özel bir kutu olacağını düşündü ve içine koydu. $PATH. RasPi de bu ikilileri orada çalıştıramazdı, çünkü onlar da Debian'lıydı, ama Raspbian'dan değil, sadece Debian8'den. Yorumlarınız ve cevaplarınız için teşekkür ederiz!


Nasıl geldin ls içinde /home/pi/bin? Onlar olmalı /bin ve Raspbian, IIRC. Başka bir mimarinin ikilileri de var gibi /home/pi/bin.
muru

Yanıtlar:


0

Sizden çıkarın $PATH /home/pi/bin bu önünde. İhtiyacınız varsa, ona ihtiyacınız varsa arkaya taşıyın.

$PATH değişken muhtemelen ayarlanmıştır ~/.profile, ~/.bash_profile, ~/.bashrc Veya benzeri.

Sadece ön tarafına ekle $PATH Eğer sen kesinlikle sistem komutlarını geçersiz kılmalı.

Ondan sonra, uyumlu olmayan çalıştırılabilir dosyaların onu nasıl oluşturduğunu araştırmalısınız. ~/bin.


Daha önce de söylediğim gibi el ile değiştirmedim, ama bunu deneyeceğim.
kiriMCplay
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.