Bir chroot denemesi sırasında şu hatayı aldım: “chroot: '/ bin / bash' komutu çalıştırılamadı: Exec format hatası”


Yanıtlar:


22

Doğru Canlı CD'yi kullandığınızdan emin olun. Örneğin, 64 bit CD yerine 32 bit CD kullanmadığınızdan emin olun. 64bit kodunu çalıştırmak için 64bit çekirdeğe ihtiyacınız olduğundan mimarinizi kontrol edin.

Yapabileceğiniz mimariyi belirlemek için sisteminizi / media / sda1 içine kopyalanacak şekilde monte ettiğiniz varsayılarak :

ls /media/sda1/*

çıktıda lib64 görürseniz, muhtemelen 64bit sistemdir


Ama yine de
kroşe

2

Armhf arch için bir görüntü yaparken de aynı problem yaşadım. Ben yüklemek zorunda qemu-user-staticve sonra chroot bin klasörüne kopyalayın.

sudo cp /usr/bin/qemu-arm-static /mnt/chroot/usr/bin

1

Hata, jail ( /mnt/temp) öğenizin bir bash kabuğu içermediği veya bash kabuğunu çalıştırmak için gereken kitaplıkları içermediği anlamına gelir .

Hapishanenizi böyle bir şey kullanarak oluşturduysanız:

debootstrap --variant=buildd --arch i386 lucid /mnt/temp \
    http://archive.ubuntu.com/ubuntu/

Muhtemelen bunun yerine bunu yapmak istediniz:

debootstrap --variant=minbase --arch i386 lucid /mnt/temp \
    http://archive.ubuntu.com/ubuntu/

Ancak, sorununuza teknik bir cevap olarak şunları deneyin:

cp -r /bin /lib /mnt/temp

Bu, başarılı bir şekilde kromatografi yapmanıza izin verecektir, bu noktada başka şeyler yapabilirsiniz.

Bunu yaparken yaklaşık bir milyon yanlışlık var ve neredeyse kesinlikle bunu yapmak istemiyorsunuz. Hapishanenizi oluştururken minbase kullanın veya boş bir hedefe (örn. Bir sanal makine) ubuntu yükleyin ve daha sonra sıkıştırdığınız tüm sistemin katran arşivini oluşturun /mnt/temp.


0

Aslında bu 64 bit 32 bit uyumsuzluktur.

Rağmen

cp /bin/bash /mount/temp/tmp

(32 bit exec'yi tmpdizindeki yeni köke kopyalar

chroot /mount/temp /tmp/bash

chrootiyi, tüm komutlar hala başarısız. Hepsini baştan kopyalamanız gerekir.


-1

Benim durumumda 64 bit Linux sürümüne geçmeye çalışıyordum ama şu anki Linux'um 32-bit idi.

Bir disk görüntüsü (birden çok makinede çoğaltma için ana görüntü) takmıştım.


@ GrandOxymore ile aynı cevap.
Karl Richter

@KarlRichter Benzer ama aynı değil. 64 bit işletim sisteminde 32 bit programı çalıştırmak, 64 bit sanal ortamda (veya işletim sistemi) 32 bit programı çalıştırmakla aynı şey değildir. 32bit konuk os çalıştırabilir ve iyi çalışır.
azuer88

-2

Bence bir HATA olduğunu.

`/ Bin / deneme'

Ama değil

'Bin / bash'

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.