如果没有设置可执行位,我如何从CD运行可执行文件?
我正在使用的教科书带有一张含有一些补充申请的CD。 令我惊喜的是,它似乎包含了Linux的安装程序。
CD上的自述文件提供以下安装说明:
PC:Linux
- 双击’LINUX’文件夹
- 双击文件’INSTALL.BIN’
- 按照屏幕上的说明操作
但这样做只会产生以下错误消息:
无法显示“/ 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