在networkingSMB共享上查找器(OSX)中的文件夹变灰

忍受我,这是漫长而复杂的,但TL; DR OSX隐藏在文件上的额外属性(共享或本地)?

我们在企业环境中遇到问题。 我们有一个Oracle ZFS安装程序,我们的OSX机器是SMB安装卷。

用户试图在位置之间移动文件夹,并在中途取消,导致两个位置的文件夹变灰。 在Finder中它显示了一个创build和修改date06/13/1943 06:13:00文件夹从我们的Linux工作站,当我们统计文件,它显示正确的创build和修改date。 然后,我们从Linux工作站或OSX工作站触摸文件,并通过terminal,我们可以看到该文件夹​​,甚至使用该文件夹上的打开命令。 但通过Finder,它保持灰色,无法打开。 这影响了访问这个文件的所有OSX工作站。 他们都没有看到,但Windows和Linux都很好。

我们最终使用了弃用的GetFileInfo和SetFile命令来解决这个问题。

我对社区的问题是,这些属性在哪里存储,因为它们在文件中使用ls -la或stat不可见。 但是当我们用GetFileInfo查看它的时候。 有没有人知道如果OSX做一些奇怪的Sambacaching并将其存储在服务器上? 或把这个在一个愚蠢的.DS_Store文件?

帮帮我!!! PLZ

OS X有几种方法可将其额外的元数据存储在本地不支持的卷上:

  • 对于像FAT卷这样的东西,它将使用AppleDouble格式将元数据作为单独的文件存储,并在文件名中以“._”作为前缀。 例如,如果原始文件是“somefile.txt”并将其复制到FAT32卷,则数据将被复制到“somefile.txt”,元数据将被保存为“._somefile.txt”。

  • 在通过SMB安装的NTFS卷上(如果某些条件我不完全了解适用),它会将元数据存储为NTFS备用数据stream 。

我不确定你的Oracle服务器的SMB实现是否支持备用数据stream,但是我猜测它是这样做的,而且Mac正在使用它们来存储额外的元数据(并且服务器可能将它们存储为ZFS扩展属性)。 您可以直接在服务器上查找它们,也可以尝试从Windows客户端挂载卷并查看streams.exe是否可以看到它们。