我可以在原版 Ubuntu 上运行程序吗?

我可以在原版 Ubuntu 上运行程序吗?

我已经使用 Sublime Text 构建系统编译了一个 C++ 程序,但在另一台计算机上它显示“权限被拒绝。”。

作为程序执行的选项被标记,我想我也将权限设置为 755。

我需要做什么吗?我需要安装 gcc 来运行程序吗?

编辑:我使用的是 U 盘(FAT32)中的文件,这可能是问题所在。但如果我需要设置权限,我会将文件移动到桌面。

答案1

我正在使用我的 U 盘(FAT32)中的文件,这可能是问题所在。

几乎可以肯定。我们有关于在基于 FAT 的文件系统上执行的问题可以追溯到 Ask Ubuntu 的开始。

简而言之,如果您使用默认安装选项,那么这可能是您的问题,并且最好的解决方法是切换到更好的文件系统。Ext4,甚至 NTFS... 只是一些支持执行位的温和 POSIX 兼容的东西。或者您可以绕过它并手动将所有文件挂载为 755(呃)。

您可以通过以下方式绕过权限框架使用 ld 链接器系统执行文件。这有点混乱,但它应该适用于二进制文件(可能不适用于脚本):

/lib64/ld-linux-x86-64.so.2 /path/to/64bit-binary
/lib/ld-linux.so.2 /path/to/32bit-binary

如果它是一个脚本,您还可以通过其解释器的二进制文件加载文件(而不是依赖于shebang):

sh /path/to/script.sh
python /path/to/script.py

相关内容