Как запустить исполняемый файл с компакт-диска, если для него не установлен исполняемый бит?

13

Учебник, который я использую, поставляется с компакт-диском, содержащим несколько дополнительных приложений. К моему приятному удивлению, он включает в себя установщик для Linux.

Файл readme на компакт-диске содержит следующие инструкции по установке:

ПК: Linux

  1. Дважды щелкните папку «LINUX».
  2. Дважды щелкните файл INSTALL.BIN
  3. Следуйте инструкциям на экране.

Но при этом просто появляется следующее сообщение об ошибке:

Не удалось отобразить «/ media / BDH DE / linux / install.bin». Файл неизвестного типа

Попытка запустить установщик через командную строку приводит к ошибке прав доступа:

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

В то время как, к моему разочарованию, сообщение не информирует меня о том, каких разрешений мне не хватает, быстрый взгляд на вывод команды ls показывает, что программа установки не помечена как исполняемая.

Как мне его запустить?


Тип файла:

ak@aux:~$ file /media/BDH\ DE/linux/install.bin
src/bdh-de/install.bin: POSIX shell script text executable
ændrük
источник
8
Что это за файл? 'file / media / BDH \ DE / linux / install.bin'?
1
Ах-ха. Как ни странно, это на самом деле просто текстовый файл с .binрасширением имени файла. Как ужасно вводит в заблуждение.
rndrük
1
Да - понял. Так решено? Например, если это сценарий оболочки - вы можете использовать bash / media / BDH \ DE / linux / install.bin или что-то подобное сейчас?

Ответы:

7

Посмотрите, какой файл имеет расширение bin.

file $filename

Если это не двоичные данные, это текст. Итак, какую программу использовать с этим файлом?

head $filename

Первая строка может читать #!/bin/bash. В этом случае запустить

bash $filename

выполнить это. Или используйте ту программу, для которой был написан файл bin, например, python.


источник
Я все еще думаю, как я могу дважды щелкнуть файл и запустить его. Он по-прежнему отказывается запускаться, если файл имеет расширение «.bin».
DTdev
7

Если проблема в том, что CDROM был смонтирован «noexec», вы можете перемонтировать его исполняемый файл.

sudo mount -o remount,exec /media/BDH\ DE/
Мистер ондатра
источник
да, очень хорошо, хорошо сработало.
Серебряная Луна
4

Если это не скрипт / текст, а бинарный файл:

Для 64-битных программ:

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

Для 32-битных программ:

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

Источник:

«Для запуска двоичных файлов используйте /lib64/ld-linux-x86-64.so.2 ./program.bin для 64-разрядных программ и /lib/ld-linux.so.2 ./program.bin для 32-разрядных. из них «. - Комментарий Лекенштейна по вопросу /ubuntu//a/17311/52853 13 апреля 2012 г.

bjunix
источник
1

смонтировать CDROM вручную с umask = 000, т.е.

sudo mount  -o umask=000 /dev/sdXY /mount_point
реактивный самолет
источник
1

Вы можете использовать один из обоих:

bash -c <command>

или

sh -c <command>
Трумэн
источник