web-dev-qa-db-ja.com

Cygwinを使用して実際のNTFSリンクを作成する際の問題

管理者権限があり、Cygwinだけが理解できる偽のln -sファイルではなく、Cygwinの!<symlink>にNTFSリンクを作成してもらいたいです。

Cygwinのドキュメント に基づいて、次のことを試しました。

  • winsymlinks:nativeファイルでCYGWIN環境変数を.bashrcに設定します
  • 管理者としてシェルを実行しました(mklinkの使用に必要)

しかし、ln -s //networkdrive/directory.65を試すと、Cygwinは実際にはNTFSジャンクションではなく「シンボリックリンクファイル」を作成します。ファイルブラウザでは、Windowsがディレクトリとしてではなく「65」ファイルとして認識しているため、ディレクトリ「directory.65」を入力できません。

実際に管理者として実行していますか?デスクトップショートカットと実行可能ファイルC:\cygwin\bin\mintty.exeおよびC:\cygwin\bin\bash.exeに「管理者として実行」設定を設定しました。

注:unameは、Cygwin1.7.18を使用していることを示しています。

edit:cmd.exeを使用してmklink /D directory.65 \\networkdrive\directory.65を発行すると、実際にNTFSリンクが作成されました。問題は、Cygwinのln -sに同じことをさせることです。

4
tomocafe

CYGWIN環境変数をから変更しました

export CYGWIN=winsymlinks:native

export CYGWIN=winsymlinks

前者はcurrentのドキュメントにありますが、1.7がネイティブNTFSリンクをサポートしていても、その形式はCygwin1.7ではサポートされていないようです。

古い形式に切り替えると、問題が解決しました。

2
tomocafe