我每次尝试解压缩文件时都会收到此错误:
Archive: Server.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of Server.zip or
Server.zip.zip, and cannot find Server.zip.ZIP, period.
我用 7zip 压缩了它,但它仍然不起作用。我读过一些关于 MD5 的内容,我需要它来解压吗?
答案1
我测试了 和7z
,zip
并unzip
故意混合了这些程序,但我无法重现该问题。然而,这很可能是压缩数据所特有的。
由于7z
使用了7z 格式默认情况下,文件扩展名无关紧要,我首先想到的是它会创建一个 7z 格式的文件命名 zip
,但事实证明它并不是那么不用户友好:即使没有指定格式的选项,
7z a 1.zip 2
也会创建一个正确的1.zip
文件。但是创建并按预期创建。-t zip
7z a 1 2
1.7z
7z a -t zip 1 2
1.zip
一般来说,
使用同一个程序打包和解包档案:
7z a Server.zip file1 file2 dir1/ # add files 7z x Server.zip # extract with full paths 7z e Server.zip # extract IGNORING paths
zip Server.zip file1 file2 dir1/ # add files unzip Server.zip # extract with full paths
用一个加密哈希测试档案是否已正确传输:
md5sum
在您的服务器上,使用、sha1sum
、sha224sum
、sha256sum
或1保存哈希值(均遵循相同的语法),sha384sum
例如sha512sum
sha1sum Server.zip otherfile.zip > sha1hashsums
- 传输 zip 文件和
sha1hashsums
文件。 使用以下方法测试 zip 文件:
$ sha1sum -c sha1hashsums Server.zip: FAILED otherfile.zip: OK
1它们之间最重要的区别是哈希的大小,哈希越长越安全。MD5产生 128 位哈希值,SHA1160 位的,其他在其名称中标明哈希值大小,例如sha512sum
512 位哈希值。其余部分留给 Wikipedia,请参阅链接。