我想使用rm从我的Time Machine分区中删除一些文件/目录,但无法删除。我敢肯定,问题与备份中文件的某种访问控制扩展属性有关,但不知道如何覆盖/禁用它们才能使rm正常工作。我得到的错误的一个例子是:
% sudo rm -rf Backups.backupdb/MacBook/Latest/MacBook/somedir
rm: Backups.backupdb/MacBook/Latest/MacBook/somedir: Directory not empty
rm: Backups.backupdb/MacBook/Latest/MacBook/somedir/somefile: Operation not permitted
有很多原因我不想为此使用Time Machine GUI或Finder。如果可能的话,我希望能够对所有其他文件保持扩展保护(我不希望在全局范围内禁用它们,除非完成工作后可以重新启用)。
要变通解决“不允许操作”错误,请使用Time Machine安全网“绕过”程序:
sudo /System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass rm -rfv /Volumes/[disk]/Backups.backupdb/[path]
在10.8 Mountain Lion中,绕行转移到“助手”中:
/System/Library/Extensions/TMSafetyNet.kext/Helpers/bypass
在10.10优胜美地,绕过了此处:
/System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass
当使用它删除特定快照时要当心:由于Time Machine使用硬链接,因此rm -r
在文件夹上使用可能还会影响同一台计算机的旧快照和新快照。(请参阅有关tmutil delete
安全删除特定快照的其他答案。)但是可以使用rm
删除单个计算机上的所有快照。因此,rm
用于删除特定文件,这只会从您指定的快照中删除该硬链接的文件,假设该文件不在硬链接目录中,那么您实际上将从所有快照中删除该文件那些硬链接的目录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句