Yürütülebilir bit ayarlanmadığında CD'den yürütülebilir dosyayı nasıl çalıştırabilirim?


13

Kullandığım ders kitabında birkaç ek uygulama içeren bir CD vardı. Hoş bir sürpriz, Linux için bir yükleyici içeriyor gibi görünüyor.

CD'deki benioku dosyası aşağıdaki kurulum talimatlarını sağlar:

PC: Linux

  1. 'LINUX' klasörünü çift tıklayın
  2. 'INSTALL.BIN' dosyasına çift tıklayın
  3. Ekrandaki talimatları izleyin.

Ancak bunu yapmak aşağıdaki hata iletisini üretir:

"/ Media / BDH DE / linux / install.bin" görüntülenemedi. Dosya bilinmeyen bir türde

Yükleyiciyi komut satırı üzerinden çalıştırmayı denemek bir izin hatasına neden olur:

ak@aux:~$ ls /media/BDH\ DE/
linux  os x  readme.txt  windows xp  windows xp - no java
ak@aux:~$ ls -l /media/BDH\ DE/linux/
total 41177
-rw-r--r-- 1 ak ak 42164549 2005-07-26 03:39 install.bin
ak@aux:~$ /media/BDH\ DE/linux/install.bin
bash: /media/BDH DE/linux/install.bin: Permission denied

Hayal kırıklığına uğrattığımda, mesaj hangi izinlerden yoksun olduğumu bana bildiremese de, ls çıkışına hızlı bir bakış, yükleyicinin yürütülebilir olarak işaretlenmediğini gösterir.

Nasıl çalıştırırım?


Dosyanın türü:

ak@aux:~$ file /media/BDH\ DE/linux/install.bin
src/bdh-de/install.bin: POSIX shell script text executable

8
Ne tür bir dosya? 'dosya / medya / BDH \ DE / linux / install.bin'?

1
Ah-ha. Tuhaf bir şekilde, aslında sadece dosya .binadı uzantısına sahip bir metin dosyasıdır . Ne kadar ağırlaştırıcı yanıltıcı.
ændrük

1
Evet - düşündüm. Çözüldü mü? Sanki bir kabuk betiği gibi - 'bash / media / BDH \ DE / linux / install.bin' ya da benzer bir şeyi şimdi mi yapabilirsiniz?

Yanıtlar:


7

Ne tür bir dosyaya bin uzantısı verildiğini görün.

file $filename

İkili veri değilse, metindir. Peki bu dosya ile hangi program kullanılacak?

head $filename

İlk satır okuyabilir #!/bin/bash. Bu durumda koş

bash $filename

yürütmek için. Veya, bin dosyasının yazıldığı programı kullanın, örneğin python.


Hala dosyayı çift tıklayıp çalıştırabildiğimi düşünüyorum. Dosyanın '.bin' uzantısı varsa çalıştırmayı hala reddediyor.
DTdev

7

Sorun CDROM 'noexec' monte edilmişse çalıştırılabilir yeniden monte edebilirsiniz.

sudo mount -o remount,exec /media/BDH\ DE/

evet, doğru, çok iyi, iyi çalıştı.
Gümüş Ay

4

Bir komut dosyası / metin değil, bir ikili ise:

64 bit programlar için:

/lib64/ld-linux-x86-64.so.2 ./program.bin

32 bit programlar için:

/lib/ld-linux.so.2 ./program.bin

Kaynak:

"İkili dosyaları yürütmek için 64 bit programlar için /lib64/ld-linux-x86-64.so.2 ./program.bin ve 32 bit için /lib/ld-linux.so.2 ./program.bin kullanın olanlar." - Lekensteyn'in soru üzerine yorumu /ubuntu//a/17311/52853 13 Nis 2012


1

CDROM'u umask = 000 ile manuel olarak bağlayın, yani

sudo mount  -o umask=000 /dev/sdXY /mount_point

1

Her ikisinden birini kullanabilirsiniz:

bash -c <command>

veya

sh -c <command>
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.