(警告,样本图片略有NSFW;纹身作品显示了一些胸部。)
以前,我有Mac OS X稀疏捆绑dmg,并在两台计算机上使用了DropBox。我将添加到我的DropBox文件夹中的安全稀疏捆绑中。一天,我去了另一台计算机,它注意到已经进行了更改,并做了应做的工作,同步了稀疏的捆绑包。
然后,两个稀疏捆绑的图像都被破坏了。显然,Mac OS X资源派生数据或其他元数据已丢失或未存储。我现在仅将DropBox用于简单格式,并且不信任它用于.txt,.jpg,.png和类似格式之外的多台计算机同步。我能够以某种方式还原一些文件,在稀疏捆绑中的“带”上戳一下,至少可以使稀疏捆绑打开并通过安全检查。约90%的文件状况良好,到目前为止,约有10%的文件无法打开。
在以下测试中使用的示例图像... http://dl.dropbox.com/u/340087/drops/05.14.11/DSC02322-bad.jpg http://dl.dropbox.com/u/340087 /drops/05.14.11/DSC02322-good.jpg
到目前为止,这是我所知道的:
DSC02322-bad.jpg
DSC02322-good.jpg
没有应用程序将打开“ DSC02322-bad.jpg”文件。即使终端命令一样cat
,head
,tail
和其他人表现出来就好像它是空的。
<pre>MD5 (DSC02322-bad.jpg) = 052b34d47cbcc64c208230d84098ceb3
MD5 (DSC02322-good.jpg) = a37995df587f7f146b8950199ecae544</pre>
(md5校验和不同,文件确实不同。)
文件大小相同:
-rw-r--r-@ 1 me员工2178036 2009年5月26日DSC02322-bad.jpg -rw-r--r-@ 1 me员工2178036 May 5月14 23:26 DSC02322-good.jpg
如果我对以下文件进行更详细的列出,则文件大小仍然相同,但是元数据不同...
2128 -rw-r--r-@ 1 me员工2178036 2009年5月26日DSC02322-bad.jpg com.apple.metadata:kMDItemWhereFroms 179 2128 -rw-r--r--r-@ 1 me员工2178036 5月14日23: 26 DSC02322-good.jpg com.apple.metadata:kMDItemWhereFroms 145 com.apple.quarantine 42
这是file
两个文件的清单输出
$ file DSC02322- * DSC02322-bad.jpg:数据 DSC02322-good.jpg:JPEG图像数据,EXIF标准2.21
这完全让我感到困惑:将文件复制到'z-copy.txt',用戳一下file
,然后cat
显示为空的文件,cat
但文件大小仍然为2178036字节。
me @ macbook:\ $ cp DSC02322-bad.jpg z-copy.txt me @ macbook:\ $ file z-copy.txt z-copy.txt:data me @ macbook:\ $ cat z-copy.txt $ ls -la z-copy.txt -rw-r--r-@ 1 me staff 2178036 May 15 00:01 z-copy.txt
我尝试过的其他方法:
$ cat DSC02322-bad.jpg> try-again.txt -rw-r--r-@ 1个我员工2178036 May 14 23:53 DSC02322-bad.jpg -rw-r--r-+ 1个我员工2178036 5月15日00:04 try-again.txt $ cat try-again.txt (返回空行)
这两个文件都没有资源分叉,DropBox似乎没有这些资源分叉,并且两者上的数据分叉看起来都与我相同。我所能做的就是确定由于md5
不匹配和导致文件不同diff
,但是正常的文件信息大小和其他测试使它们“看起来”相同。复制文件没有任何帮助。我敢肯定,我只需要添加回任意的jpg标头数据,但不能确定最适合此任务的工具是什么,或者要添加什么数据。我确实有这些特定文件的备份,但它们并不是那么重要,但是还有其他备份,而不是全部jpg备份,例如我需要取回的flv文件和专有文档,这些我不再可以了。许多文件太老了,甚至无法由DropBox恢复。
在可以读取jpg文件数据的各种应用程序中玩耍,我得到的一个确有道理的错误是:
由于JPEG标记段 长度太短(文件可能被截断或不完整),因此无法放置文档“ DSC02322-bad.jpg” 。
最后的一些努力是制作一个小jpg,1x1 px并将数据追加/添加到坏文件中,希望头文件数据允许我打开文件,将其复制到新文档中,并保存干净的副本。到目前为止,这没有用。
我已经上传到imgur和其他一些图像共享服务,它们均因文件错误而出错。我没有机会尝试使用php或其他脚本语言读取文件,这可能会给我更具体的错误消息。Graphic Converter最接近,告诉我文件已损坏,实际上向我显示了数据分支,并允许我尝试猜测打开文件的最佳情况。最后我仍然一无所获。
这就是我今天进行故障排除所能做的所有事情。到目前为止,我还没有付出很多努力,但是它将很快成为一场战争,我将不得不赢得这场战争:)有什么建议吗?
我很高兴知道什么CLI应用程序能够至少向我展示这些2178036字节是什么。
嗯,看起来diff
至少看起来有些聪明,但这并不是说这对我有很多帮助:
$ diff DSC02322- * 二进制文件DSC02322-bad.jpg和DSC02322-good.jpg不同
有什么建议吗?谢谢大家
您的DSC02322-bad.jpg
文件为2178036个零字节(即2178036个单字节零):
$ hexdump DSC02322-bad.jpg
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0213bf0
您的DSC02322-good.jpg
文件是2178036字节的JPEG数据。没有什么可修复的了,DSC02322-bad.jpg
因为什么都没有了。
顺便file
说一句,该命令在不知道还要说什么时会说“数据”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句