禁用在Mac OS X上创建.AppleDouble文件


19

有没有办法禁止在非HFS文件系统(例如SMB或NFS网络共享等)的Mac OS X(雪豹)中创建.AppleDouble文件?


1
请提供更多信息。它们通常不是在HFS +上创建的。
丹尼尔·贝克

Answers:


7

鉴于Mac支持文件的多个派生,AppleDouble技巧(._文件)尝试将数据保留在这些派生中。因此,它们是必需的,以便Mac OS X可以对其执行操作。

但是,大多数文件是通过AFP而不是SMB / CIFS或NFS装载相同的卷时创建的。在这种情况下,AFP服务器可能具有用于处理Apple Double文件的配置选项(例如,请参阅本博客文章)。

为了摆脱AppleDouble文件,您可以在Mac上dot_clean执行以下命令:

dot_clean --keep=dotbar /Volumes/mounted_smb_volume

mounted_smb_volume挂载卷的名称在哪里。

您可以将其添加到crontab条目中,或者更好的是使用Lingon X之类的东西来创建launchd条目。


@Bart对您有用吗?你可以考虑将其标记为正确的解决方案😉
juandesant

我在SD卡上使用了此功能,无法再使用Finder查看内容,而只能在带有的终端中看到ls
FRIdSUN

@FridSUN,尝试再次弹出并安装该卷,这对它们在Finder中保持不可见没有任何意义……除非您拥有以点(。)开头的文件,或者将该卷标记为不可见。
juandesant

问题是有关文件.AppleDouble而不是文件开始的问题._
停止危害莫妮卡(Monica)

AppleDouble是元数据@OrangeDog的编码;例如,参见icesquare.com/wordpress/how-to-remove-ds_store-and-appledouble AppleDouble编码的元数据采用._文件形式。
juandesant

4

http://support.apple.com/kb/HT1629告诉我可以通过

要配置Mac OS X用户帐户,以便在使用Finder与远程文件服务器进行交互时不创建.DS_Store文件,请执行以下步骤:

注意:这将影响用户与SMB / CIFS,AFP,NFS和WebDAV服务器的交互。

Open Terminal.
Execute this command:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Either restart the computer or log out and back in to the user account.

3
似乎不适用于.AppleDouble文件。
亚当·林德伯格

4
这绝对仅适用于.DS_Store而不适用于.AppleDouble。
Asher

3

当您将包含资源派生的文件复制到非HFS文件系统时,将创建AppleDouble文件(名为._filename的文件)。

有时(但并非总是)没有资源派生数据就可以管理的资源-例如,复制mp3文件。

如果使用外壳程序(而不是查找程序),则可以通过以下方式禁止复制资源叉:

cp -X

2
这不是一般的解决方案。
亚当·林德伯格

为了弄清楚为什么这不是通用解决方案,仅在从命令行手动复制文件时才适用。这不太可能与问题有任何关系,因为只要在非HFS +卷上访问文件,就会创建.AppleDouble文件。即使您可以在没有资源派生的情况下进行复制,也只能解决一种特殊情况,而不是不需要.AppleDouble文件的普遍问题。
Asher

问题是关于文件.AppleDouble而不是文件开始._
停止危害莫妮卡

1

您可以使用BlueHarvest自动删除AppleDouble文件或OS X创建的其他文件:

您可以用来递归find . -name ._\* -delete删除._当前目录下的文件。dot_clean -m .也有同样的效果。

开头的文件._用于存储扩展属性和ACL之类的元数据。扩展属性包括资源派生(com.apple.ResourceFork)和文件标志(com.apple.FinderInfo)。您可以使用xattr -l或看到ACL的扩展属性ls -le。您可以使用xattr -c清除所有扩展属性或chmod -N删除ACL,也可以使用来复制没有扩展属性的文件cp -X


1

此处提供了一个名为“ dsweeper”的工具:https : //github.com/simsalabim/dsweeper 它可以通过简单的方法解决问题(一旦安装)

$ dsweeper -d -p /Path/to/volume/

从网站:

该工具不会让AppleDouble ._whatever文件进入保存在外部HDD上的文件夹中。帮助保持Dropbox清洁。

通过自制软件,安装非常简单:

$ brew install npm

$ npm install dsweeper -g

像魅力一样为我解决了这个问题。


-1

我认为问题的一部分是:为什么要消除.AppleDouble文件?

将创建.AppleDouble文件来存储其他文件资源(元数据等)。HFS +文件系统(由Apple设计)具有解决此信息存储问题的本地方法。通过文件共享(Netatalk,SMB等)提供服务的非HFS +文件系统(NTFS,EXT3 / 4等)需要某种方式来存储此信息。这是通过在文件系统上创建其他文件来实现的,因为文件系统没有用于存储信息的本地方法。

与.DS_Store文件(据我所知,该文件存储桌面详细信息,例如图标位置等)不同,.AppleDouble文件实际上存储潜在的相关信息。这意味着您可以删除.AppleDouble文件,并且操作系统不会抱怨,但是如果与该文件相关联的元数据很可能会丢失。这也包括由Spotlight创建或为Spotlight创建的元数据,例如iTunes播放文件时。删除此信息不会对您造成任何伤害,但是会为您创建/存储该信息,以便操作系统可以优化搜索和其他术语。

所以我的结论是,您实际上可能不想删除.AppleDouble。但是也许可以填写细节?我到达这个线程,试图通过两台ReadyNAS帮助我的父亲。他想删除这些文件,因为它们的存在是无法解释的,并导致ReadyNAS备份程序出现异常行为(似乎可以通过使用rsync解决)。如果这里没有我的结论中未提及的更多细节,请告诉我。


2
我的原因是NAS上目录中的这些.AppleDouble文件夹阻止Windows计算机删除这些目录。必须登录NAS并使用基于Web的文件浏览器确实很烦人。
西蒙·吉尔

我对此投了反对票,因为我认为它包含一些错误信息。显然没有非HFS +文件系统可以存储元数据吗?这是不正确的,NTFS确实支持文件元数据,只是Apple无法与其正确交互,而是创建了一个基本文件。
leinad13 2013年

2
我的原因是我的车载立体声设备试图播放USB记忆棒(FAT32)中的._XYZ.MP3文件,并且发出了强烈的抱怨。因此,我提出了一些AppleScript来在弹出卷时删除._文件。
JoeVölker,2015年

NTFS不支持Apple的元数据,并且Apple不写入NTFS的元数据。结果是原始答案中的描述是准确的。“错误信息”仅是由于误解了“ this”所指的内容,并假设它本身就是这样指的元数据。
Asher
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.