我在 Dropbox 中使用 TrueCrypt 容器,并且preserve modification timestamp
未选中该选项。这样 Dropbox 就能知道文件已被修改,并且应该同步。
不幸的是,TrueCrypt 也会在读取访问时更新容器的时间戳。如果我有多个设备读取容器,Dropbox 会认为它们都修改了文件。这最终会导致 Dropbox 创建冲突副本。
问题 :
- 有没有办法让我告诉 TrueCrypt 仅在我修改容器中的文件时更新时间戳。这就是我理想中想要的。
或者
- 我可以告诉 Dropbox 在创建冲突副本之前比较文件的内容,而不仅仅是基于时间戳。
答案1
您是否将 TrueCrypt 容器安装为“只读”?
如果不是,那么就没有办法避免冲突的副本。
当以完全访问权限挂载容器时,您浏览的文件(在文件系统中)的访问时间和日期始终会更改(在容器内)。这将导致容器文件发生改变。您可以在装载和卸载后对容器(和副本)进行文件比较(使用 fc.exe 或其他实用程序)来检查这一点。容器中的任何更改都会导致 Dropbox 上传。当多台机器打开该文件时,您会得到有冲突的副本。
解决此问题的唯一方法可能是以“只读”方式打开容器。
(在这种情况下,您无法更改任何文件。当您需要更改文件时,您需要卸载并以完全访问权限再次安装容器)
在 Windows 版本中,您可以选择Volumes
,Mount Volume with Options
。
然后选择Mount volume as read-only
:
编辑:
您可以将“只读”设置为所有未来安装的默认设置。当您需要更改文件时,您可以使用上述方法以完全访问权限进行安装(通过取消勾选该框)。要将“只读”设置为默认设置,请选择Settings
,Preferences
然后勾选Mount volumes as read-only
。
编辑2:
即使您可以将 Windows 设置为不是在访问文件时更新文件系统(实际上是容器)(用于访问时间戳)TrueCrypt 本身在以非只读方式安装时也会更新容器。查看此容器的图像,该容器在安装后(写入 78KB)具有完全访问权限,甚至无需访问它:(
因此查看访问时间戳毫无意义,因为 TrueCrypt 本身也会更新容器)因此您只剩下只读选项。