【问题标题】:cygwin winsymlinks:native doesn't workcygwin winsymlinks:本机不起作用
【发布时间】:2013-11-15 20:27:38
【问题描述】:

我现在和 cygwin 斗争了很长一段时间。
我对如何让 cygwin 创建 Windows 风格的符号链接进行了广泛的搜索。

我尝试了以下方法:

export CYGWIN="winsymlinks:native"
export CYGWIN="winsymlinks:nativestrict"
export CYGWIN="winsymlinks:lnk"
  • 我还尝试过不带引号导出。
  • 我也尝试过 cygwin/x86 和 cygwin/x64

为了我的一生 - 我无法让 Windows 原生符号链接正常工作。 我正在使用 Windows7/64 位; cygwin 1.7.25 版。

我很想为这个解决方案。

谢谢。

【问题讨论】:

标签: windows cygwin symlink


【解决方案1】:

当您启用developer mode 时,它可以与 Windows 10 Creator 更新一起使用

需要考虑的事项:

https://github.com/git-for-windows/git/wiki/Symbolic-Links

  • 符号链接仅在 Windows Vista 及更高版本上可用,尤其是在 XP 上不可用
  • 您需要 SeCreateSymbolicLinkPrivilege 权限,该权限默认仅分配给管理员并由 UAC 保护,但可以分配给其他用户或用户组(见下文)。
  • 默认禁用远程文件系统上的符号链接(调用 fsutil 行为查询 SymlinkEvaluation 来查找)
  • 符号链接仅适用于 NTFS,不适用于 FAT 或 exFAT
  • Windows的符号链接是类型化的:需要知道是指向目录还是​​文件(为此,Git发现错误时会更新类型)
  • 许多程序不理解符号链接

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。就我而言,我使用了winsymlinks:nativestrict 并收到了错误报告:Operation is not permitted

    这是因为 Windows UAC 和终端模拟器没有以提升的权限启动。所以我以管理员身份运行 Cygwin mintty(您可以右键单击快捷方式并选择“以管理员身份运行” 或设置 mintty 快捷方式属性:高级 -> 以管理员身份运行)。之后,一切都完美无缺。

    【讨论】:

    • 一些格式会使这更容易阅读。很好的答案!
    • 这应该是公认的答案。我对其进行了投票和编辑以提高可读性,同时澄清终端模拟器应该以提升的权限启动。
    • 好的,但是你如何真正启动 rsyncd 以创建联结而不是 cygwin 符号链接或 .lnk 文件,我可以让它们使用 winsymlinks:native 或 winsymlinks 在 ssh 上工作:出于某种原因,nativestrict 但不适用于 rsync。我尝试将 /etc/rsyncd.conf 中的 uid = 修改为 Administrator、cyg_server 甚至 SYSTEM(SYSTEM 导致系统崩溃并重新启动),但没有成功
    【解决方案3】:

    我也在 Windows 7 上使用 Cygwin 与这个进行了一段时间的斗争。

    我读到的所有内容似乎都说它需要export CYGWIN="winsymlinks:native",但我没有运气。

    然后我读了这个博客http://zzamboni.org/blog/making-cygwin-windows-and-emacs-understand-th/,上面说“winsymlinks”就是你所需要的。试过了,效果很好:)

    只需使用这个环境变量。 export CYGWIN="winsymlinks"

    【讨论】:

    • 我实际上放弃了整个想法并切换到 Ubuntu,但我会接受你的回答,因为它可能会在未来帮助某人。
    • 下一个答案更可能是解决方案,关闭 UCA 并为您的用户在 Windows 中提供管理员来制作本机符号链接
    • 其实,我认为下一个答案是一个稍微不同的问题。由于管理员权限,我没有任何问题(我也尝试以管理员身份运行但没有运气)。虽然不同设置的不同情况,原始用户可能会遇到任何一个问题,但不幸的是他们放弃了尝试:)
    • export CYGWIN="winsymlinks"export CYGWIN="winsymlinks:lnk" 相同,后者创建 Windows 快捷方式,而不是原生 NTFS 符号链接。根据The CYGWIN environment variable如果设置为仅 winsymlinks 或 winsymlinks:lnk,Cygwin 会将符号链接创建为带有特殊标题的 Windows 快捷方式
    猜你喜欢
    • 2011-12-27
    • 1970-01-01
    • 2012-01-08
    • 2017-06-14
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    相关资源
    最近更新 更多