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

ænd*_*rük 14 installation permissions cd executable

我正在使用的一本教科书附带一张 CD,其中包含一些补充应用程序。令我惊喜的是,它似乎包含一个 Linux 安装程序。

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

电脑: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
Run Code Online (Sandbox Code Playgroud)

虽然令我失望的是,该消息未能告知我缺少哪些权限,但快速浏览 ls 的输出显示安装程序尚未标记为可执行。

我如何运行它?


文件类型为:

ak@aux:~$ file /media/BDH\ DE/linux/install.bin
src/bdh-de/install.bin: POSIX shell script text executable
Run Code Online (Sandbox Code Playgroud)

小智 7

如果问题是 CDROM 被挂载为“noexec”,您可以将其重新挂载为可执行文件。

sudo mount -o remount,exec /media/BDH\ DE/
Run Code Online (Sandbox Code Playgroud)


小智 7

看看什么样的文件被赋予了 bin 扩展名。

file $filename
Run Code Online (Sandbox Code Playgroud)

如果它不是二进制数据,则它是文本。那么这个文件要用什么程序呢?

head $filename
Run Code Online (Sandbox Code Playgroud)

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

bash $filename
Run Code Online (Sandbox Code Playgroud)

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