如何在 NTFS 驱动器上运行 Linux 版本?

如何在 NTFS 驱动器上运行 Linux 版本?

我在 Ubuntu 下运行,但使用的是 NTFS 格式的共享驱动器。我的 blender 放在一个文件夹中(它是 2.66RC 版本,带有一些简单的 Python 自定义。)我从脚本调用 blender,这就是为什么我想要一个不会更新的程序的本地副本。

整个过程在我的桌面上运行得很好,但是当我将它移动到共享驱动器时,我遇到了问题。首先,我必须跳过所有符号链接,因为 NTFS 不支持它们(我必须跳过 libGL.so 和 libGLU.so,以及它们各自的 *.so.1 本身。)

然后我无法blender直接运行二进制文件,因为您无法使用chmod.所以我必须使用运行它sudo bash blender-2.66RC/blender,此时我收到消息,

不能执行二进制文件

我想做的事情可能吗?如果我可以使用共享驱动器工作,而不是不断地将所有内容复制到桌面并返回,这将意味着组织上的麻烦会减少很多。

答案1

尝试在 NTFS 共享上创建稀疏文件/磁盘,将稀疏磁盘格式化为 ext3 或任何与您的 Blender 应用程序兼容的方式。

Arch Linux 的稀疏文件/磁盘管理手册:https://wiki.archlinux.org/index.php/Sparse_file

答案2

sudo bash blender-2.66RC/blenderblender-2.66RC/blender仅当是 bash 脚本时才有意义。是吗?运行file blender-2.66RC/blender(或sudo file blender-2.66RC/blender如有必要)进行检查。

如果问题是您有权读取该blender文件但无权执行它,那么sudo将无济于事。您需要的是调用blender程序的加载程序并将blender文件作为参数传递给它。如果blender是脚本,则加载器是解释器,例如,bash blender-2.66RC/blender如果它是 bash 脚本,python blender-2.66RC/blender如果它是 Python 脚本等。如果blender是二进制文件,则加载器是动态加载器:/lib/ld-linux.so.2 blender-2.66RC/blender对于 32 位 x86 二进制文件,或/lib/ld-linux-x86-64.so.2 blender-2.66RC/blender对于64 位 x86 二进制。

如果blender是可执行文件,但您没有访问它的权限,那么sudo blender-2.66RC/blender您需要的是普通文件。如果blender既不可执行也不可读,请结合两种解决方法,例如sudo /lib/ld-linux.so.2 blender-2.66RC/blender


这是一个相当奇怪的情况。硬盘空间很便宜。不要摆弄可移动驱动器(速度慢、不可靠),而是将文件复制到硬盘上。您将能够正确设置权限,并且您将花费更少的时间摆弄可移动驱动器,并且在删除磁盘时不会丢失文件。

相关内容