NTFSドライブでLinuxバージョンを実行するには?

NTFSドライブでLinuxバージョンを実行するには?

私はUbuntuで実行していますが、NTFS形式の共有ドライブを使用しています。フォルダにBlenderがあります(単純なPythonカスタマイズを含むバージョン2.66RCです)。スクリプトから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/blenderbashスクリプトの場合にのみ意味があります。うん?実行file blender-2.66RC/blender(またはsudo file blender-2.66RC/blender必要に応じて確認)します。

blender問題がファイルを読み取る権限があるが実行できないということであれば、これはsudo役に立ちません。必要なのは、blenderプログラムのローダを呼び出してblenderファイルをパラメータとして渡すことです。スクリプトの場合、blenderローダはインタプリタです(例:bash blender-2.66RC/blenderbashスクリプトの場合、python blender-2.66RC/blenderPythonスクリプトの場合など)。バイナリファイルの場合、blenderローダは動的ローダです。つまり、/lib/ld-linux.so.2 blender-2.66RC/blender32ビットx86バイナリの場合、または/lib/ld-linux-x86-64.so.2 blender-2.66RC/blender64ビットx86バイナリの場合です。

blender実行可能ファイルですがアクセス権がない場合は、sudo blender-2.66RC/blender通常のファイルが必要です。blender実行可能でも読み取ることもできない場合は、2つの回避策を組み合わせてくださいsudo /lib/ld-linux.so.2 blender-2.66RC/blender


これはやや奇妙な状況です。ハードドライブのスペースが安いです。リムーバブルドライブ(遅くて不安定)を使用する代わりに、ファイルをハードドライブにコピーしてください。権限を正しく設定でき、リムーバブルドライブを操作するのにかかる時間が短縮され、ディスクを取り外すとファイルが失われません。

関連情報