将 Mac 文件移动到 Windows Server 上的共享

将 Mac 文件移动到 Windows Server 上的共享

我有一台旧的 Mac 服务器,我们的营销部门将其用作多个 Mac 客户端的文件服务器。我想摆脱它,原因如下:

  1. 我们的主要备份系统不支持 Mac 服务器
  2. 我们的 AV 解决方案不支持 Mac
  3. 不具备 IT 领域的 Mac 管理技能。
  4. 由于使用年限和容量问题,服务器需要升级。

我想做的是从 Windows 或 HP-UX 服务器提供共享。但是现有文件使用在其他操作系统上无效的字符。我们可以编写脚本来重命名它们,但我们担心这些文件在内部链接到其他文件,重命名文件会破坏链接(想象一下链接到 JPG 的 HTML 文件,重命名 JPG,链接就会断开)

那么我们如何重命名文件,同时保留链接?有没有更好的方法?

Mac-Server 是 OS X Server 10.0,我不确定客户端,但它们比较新(大约一两年前)。

答案1

你说文件名中有斜线,而这些在 Unix 下很难支持。但 Mac OS XUnix。但是 HFS 使用冒号而不是斜杠来分隔目录。那么这一切如何协同工作呢?

在我的 SnowLeopard 安装中,我可以在 Finder 中创建一个文件名中包含斜杠的文件。但是,当我从命令行查看该文件时,该斜杠已转换为冒号。如果我在命令行中创建一个文件名包含冒号的文件,则它会在 Finder 中转换为斜杠。我无法从命令行创建带有斜杠的文件名,并且 Finder 拒绝在文件名中添加冒号。

如果我在 Unix Samba 服务器上创建包含冒号的文件名,则在查看安装在我的 SnowLeopard 机器上的文件时,我会感到很困惑。文件“1:2.txt”会转换为“14V9MB~M.TXT”。如果我从 Mac 在该共享上创建文件,冒号会转换为三个不可打印的字节:0xEF、0x80、0xA2。这似乎是 U+F022 的 UTF-8 编码,它位于 Unicode“私有使用区域”,这意味着它没有得到普遍定义。

如果我使用真正的 Windows 机器作为服务器进行同样的测试,我想会得到类似的结果。Windows 不允许我在文件名中使用冒号或斜线。如果我从 Mac 端创建一个带有冒号的文件名,Explorer 会向我显示该文件,而冒号位置上根本没有任何可见字符。(即“1:2.txt”在 Explorer 中显示为“12.txt”。)从命令行,a 向dir我显示“1?2.txt”。我怀疑它知道如何解释 UTF-8 编码,但不知道该如何显示那个私人使用的字符点。

我认为这一切归结为:只要你能弄清楚如何将文件名中的斜线转换为 0xEF80A2,你就可以进行转换。这显然是可以测试的。

答案2

就在昨天,我遇到了类似的问题,我需要将文件从我们的 Mac 服务器复制到 Windows 工作站,我想尝试处理它们。经过大量关于修复文件名(例如删除正斜杠)的工作后,我确实发现内部链接在此过程中中断了。这变得一团糟,我放弃了这个想法。

不管怎样,如果你只是将 Mac 服务器用作文件服务器,并且它不面向公众(安全是另一回事),那么学习足够的 Mac 服务器基础知识其实并不难。就此而言,难道你的 Mac 用户中至少有一个人没有足够的管理技能来提供帮助吗?在我看来,你想要摆脱服务器,表面上看起来理由很合理,但你却准备拥有 Mac 客户端,而你对它们的支持并不比服务器好。我是不是漏掉了什么?

您提到服务器上存在防病毒软件问题,但没有提到客户端的问题。在我看来,它需要在两个计算机上都存在,否则就不必在任何一个计算机上使用它。如果客户端上有某种东西,那么你不能在服务器上使用同样的东西吗?我个人不会在 Mac 上使用它,只会在 Windows 上使用它(当然,这在未来可能会改变)。

答案3

如果这是一台相对较新的 Mac 机器,您可以通过 NFS 将共享安装到 Unix/Linux 机器上,并将文件复制到其中,而不必费太多力气。通过 NFS 安装,我能够将本地使用奇怪字符的办公室迁移到网络设置中。您还可以在任何现代 Linux 系统上进行 HFS 分区。

如果这是 OS 9 服务器,您可能会遇到一些麻烦 - OS 9 本身不支持 NFS,经过一番谷歌搜索后我甚至找不到支持读取 OS 9 分区的项目。

相关内容