Windows 7 - 无网络 - 我需要在本地伪造 UNC 路径以进行开发/测试吗?
Posted
技术标签:
【中文标题】Windows 7 - 无网络 - 我需要在本地伪造 UNC 路径以进行开发/测试吗?【英文标题】:Windows 7 - no network - What do I need to locally fake UNC path for development/testing? 【发布时间】:2014-03-21 00:20:47 【问题描述】:情况:我在一台运行 Windows 7 的独立开发计算机上。未连接到任何 Windows 服务器。想要测试 Window 应用程序使用 UNC 路径的能力。稍后将转移到 Linux 服务器(不在我的位置),因此希望使用跨平台路径机制 (UNC) (//servername/sharename),而不是 Window 的映射驱动器 (X:\foldername)。
应用程序是 Autodesk Maya 2014。项目的主文件包含对其他文件的许多引用。这些文件引用可以是相对路径(“subfolder/filename.ext”)、绝对路径(“H:/projects/this_project/subfolder/filename.ext”)、或 UNC 路径(“//servername/projects/..”或“servername/assets/..”)。 该应用程序允许使用正斜杠,并将其映射到不同操作系统上的正确字符。 我尽可能使用相对路径。
但是我有一个插件不能正确使用相对路径的情况,所以我已经求助于使用一些绝对路径。有人要求我将这些从当前映射的驱动器形式更改为 UNC 路径。 原因:数据将被传输到运行 Linux 的渲染农场。将使用该应用程序的 Linux 版本。 (所以我的问题不是关于从我的 Windows 机器访问 Linux 文件;而是关于设置所有数据,以便当所有内容都移到渲染农场时,它仍然会运行。)
由于我们在 Maya 中使用的插件和功能的组合,我不能 100% 确定我可以将所有路径转换为相对形式。 (关于 Maya 论坛的问题。)因此,作为后备,我需要使用 UNC 路径进行测试。我问在我的 Windows 7 PC 上设置它需要什么,而不实际连接到服务器计算机。 (我的位置没有安装 Linux 或 Windows Server。)
我通常不做网络相关的编程,也不做服务器编程,所以各种可能的解决方案对我来说并不熟悉。
谷歌搜索建议了一些可能相关或不相关的基本技术。在我花更多时间在这之前,想知道我是否朝着正确/最简单的方向前进。
安装本地 DNS 服务器并编辑其 hosts 文件。如:
http://sourceforge.net/projects/acrylic/
http://sourceforge.net/projects/dhcp-dns-server/
.. 但我没有域名,我只有一个(未来的)网络计算机名,所以这不相关吗?
编辑 LMHOSTS 文件
..但这只是用于名称和IP地址之间的映射?
多个 NetBios 名称(可选名称)
这里提到: http://www.mediamonkey.com/forum/viewtopic.php?t=51722&f=1
指的是: https://serverfault.com/questions/23823/how-to-configure-windows-machine-to-allow-file-sharing-with-dns-alias
.. 但那是在谈论 DNS,这有关系吗?
到目前为止,我已经成功地做到了: 在命令提示符下(以管理员身份运行):
net view \\localhost
或
net view \\mycomputernamehere
列出我电脑上的共享文件夹。例如。 H:\temp 属性/共享,共享为“HTemp”,已列出。
所以我认为我需要做的就是:
A.使用所需名称共享任何文件夹,例如“项目”。 然后它将显示为“\\localhost\projects”。
B.当我询问“\\servername”时,说服 Windows 使用我的本地计算机。然后我可以在应用程序中使用“//servername/projects”,这将要求 Windows 提供“\\servername\projects”,这然后将由 Windows 转换为“\\mycomputernamehere\projects”。
...这个(B)是我需要帮助的部分。 (3) 上面听起来像是一个解决方案。但对我来说,这是相当神秘的(编辑注册表)。它会完成我所需要的吗?有没有不涉及注册表编辑的简单解决方案?
是的,我突然意识到最简单的解决方案是将我的计算机重命名为“servername”。这周我可能会这样做。
但我仍然想学习一种别名我的计算机名称的方法,在不实际重命名我的计算机的情况下伪造一个 UNC 路径。并且无需依赖第二台计算机作为服务器。
【问题讨论】:
【参考方案1】:这是一个较晚的答案,但供将来参考:
您对multiple NetBIOS names (OptionalNames) 的建议对我很有用,可以让 Windows 机器接受其他计算机名称下的 UNC 路径。
为了完整起见,您可以将其与使用 localhost ip 127.0.0.1 将相同的别名添加到主机文件中相结合,这样 IP 流量将始终被重定向。
【讨论】:
是的! “使用hosts
文件重定向到ip127.0.0.1
”是我应该做的。
这对于常规 IP 流量来说已经足够了,但是对于通过 UNC 路径工作的多个 NetBios 名称来说,您需要的不仅仅是主机文件编辑。默认情况下禁用此功能(我相信出于安全原因),并按照您的问题serverfault.com/questions/23823/… 中的步骤启用【参考方案2】:
也许使用 UNC 版本的 localhost?
\\localhost\c$\tmp
将映射到您的本地 c:\tmp 文件夹。
【讨论】:
是的,我知道 - 我在我的问题中提到了\\localhost
的使用。我从未解决的部分是B.当我询问“\\servername”时,说服 WIndows 使用我的本地计算机。问题是如何伪造(我也许应该说“重定向”)现有的 UNC 引用(我无法控制)。以上是关于Windows 7 - 无网络 - 我需要在本地伪造 UNC 路径以进行开发/测试吗?的主要内容,如果未能解决你的问题,请参考以下文章
Hadoop实战——Hadoop架构思想伪分布式无密登陆部署