一个诡异的错误:bad interpreter: Permission denied
时间:2010-08-10 来源:yantao123yt
在编译一个deb包的时候,运行dpkg-buildpackage之后,出现下面的错误:
于是先后尝试了以下解决方法:
1. 检查包内文件权限,检查/bin/bash /bin/sh可执行权限,检查当前用户权限,结果显示一切正常; 2. 切换到root用户再次尝试编译,结果出现同样错误; 3. 创建新用户再次尝试,同样出错;
最后终于找到了问题所在:
原来是因为编译的包所在的分区在挂载的时候默认是以"noexec"方式挂载的,所以才造成在此分区上的可执行文件或脚本无法正常执行。下面是"man mount" 中关于"exec"的片段:
那么解决办法就是:在/etc/fstab中的条目中加入exec选项:
然后重新挂载此分区即可,再进入源码包试一下,发现编译正常了。
参考:http://forums.fedoraforum.org/archive/index.php/t-19374.html
fakeroot debian/rules clean |
于是先后尝试了以下解决方法:
1. 检查包内文件权限,检查/bin/bash /bin/sh可执行权限,检查当前用户权限,结果显示一切正常; 2. 切换到root用户再次尝试编译,结果出现同样错误; 3. 创建新用户再次尝试,同样出错;
最后终于找到了问题所在:
原来是因为编译的包所在的分区在挂载的时候默认是以"noexec"方式挂载的,所以才造成在此分区上的可执行文件或脚本无法正常执行。下面是"man mount" 中关于"exec"的片段:
exec Permit execution of binaries. noexec Do not allow direct execution of any binaries on the mounted filesystem. (Untilrecently it was possible to run binaries anyway using a command like /lib/ld*.so /mnt/binary. This trick fails since Linux 2.4.25 /2.6.0.) |
那么解决办法就是:在/etc/fstab中的条目中加入exec选项:
1 # UNCONFIGURED FSTAB FOR BASE SYSTEM |
然后重新挂载此分区即可,再进入源码包试一下,发现编译正常了。
参考:http://forums.fedoraforum.org/archive/index.php/t-19374.html
相关阅读 更多 +
排行榜 更多 +