如果没有设置可执行位,我如何从CD运行可执行文件?

我正在使用的教科书带有一张含有一些补充申请的CD。 令我惊喜的是,它似乎包含了Linux的安装程序。

CD上的自述文件提供以下安装说明:

PC: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 

查看哪些文件已被赋予bin扩展名。

 file $filename 

如果它不是二进制数据,那就是文本。 那么该文件使用什么程序?

 head $filename 

第一行可能是#!/bin/bash 。 在那种情况下运行

 bash $filename 

执行它。 或者使用编写bin文件的程序,例如python。

如果问题是CDROM安装了’noexec’,你可以重新安装它的可执行文件。

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

如果它不是脚本/文本而是二进制文件:

对于64位程序:

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

对于32位程序:

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

资源:

“要执行二进制文件,对于64位程序使用/lib64/ld-linux-x86-64.so.2 ./program.bin,对于32位使用/lib/ld-linux.so.2 ./program.bin那些。” – 来自Lekensteyn的评论问题https://askubuntu.com/a/17311/52853 2012年4月13日

使用umask = 000手动挂载CDROM,即

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

您可以使用以下两者之一:

 bash -c  

要么

 sh -c