我想检查一个Ubuntu磁盘备份的完整性,用dd复制到Windows共享。没有足够的空间来解压备份。是否有一个实用程序来计算压缩文件的MD5,而不完全解压缩它?检查md5的压缩文件,而不完全解压缩
4
A
回答
11
此:
gzip -d -c myfile.gz | md5sum
都要流解压的内容转换成的md5sum,而不是装载整个事情到内存中。
2
使用gzip
/zcat
和管道到MD5SUM(其中有人已经发布我在写这一段时间)简单的答案会工作,但如果你想有更多的乐趣,这里是一个简短的Perl脚本,它会做同样的事情。
#!/usr/bin/perl
use strict;
use warnings;
use Archive::Zip qw/:ERROR_CODES :CONSTANTS/;
use Digest::MD5;
die "Usage: $0 zipfile filename" unless @ARGV == 2;
my $zipfile = $ARGV[0];
my $filename = $ARGV[1];
my $z = Archive::Zip->new();
die "Error reading $zipfile" unless $z->read($zipfile) == AZ_OK;
my $member = $z->memberNamed($filename);
die "Could not find $filename in $zipfile" unless $member;
$member->desiredCompressionMethod(COMPRESSION_STORED);
$member->rewindData();
my $md5 = Digest::MD5->new;
while(1) {
my($buf,$status) = $member->readChunk();
$md5->add($$buf) if $status == AZ_STREAM_END || $status == AZ_OK;
last if $status == AZ_STREAM_END;
die "IO Error" if $status != AZ_OK;
}
my $digest = $md5->hexdigest;
print "$digest $zipfile/$filename\n";
+0
谢谢你,我忘了检查这个问题 – jdog 2011-01-04 00:50:48
相关问题
- 1. Windows压缩文件夹没有完全解压缩zip
- 2. 解压缩(解压缩)由.net压缩(解压缩)的文件.net system.io.compression.gzipstream
- 3. 压缩解压缩的exe文件
- 4. png文件的压缩和解压缩
- 5. 访问压缩文件而不解压缩?
- 6. 压缩文件未解压
- 7. Node.js - 压缩/解压缩文件夹
- 8. Magick ++压缩和解压缩文件
- 9. 在yii中压缩/解压缩文件
- 10. 压缩和解压缩文件夹
- 11. 解压缩文件
- 12. 解压缩文件
- 13. 将文件添加到zip压缩文件而不压缩
- 14. 压缩文件并发送它而不保存压缩文件
- 15. 如何压缩文件时不压缩
- 16. 推荐的方法来检查文件是否压缩/压缩
- 17. DeflateStream压缩/解压缩inconsitency
- 18. Asmx Webservice压缩/解压缩?
- 19. 解压缩文件并读取解压缩文件
- 20. 如何解压/解压缩* .z文件
- 21. 如何解压/解压缩文件
- 22. 解压缩压缩富文本字段
- 23. Java - 解压缩文件的压缩方式不同
- 24. javascript文本压缩/解压
- 25. 创建一个ZIP压缩文件而不压缩?
- 26. Flex的解压缩/解压缩大文件
- 27. 压缩未压缩的MSI文件
- 28. 如何只压缩文件夹内的文件而不压缩子文件夹?
- 29. 下载该压缩文件时自动解压缩文件
- 30. 压缩/解压缩文件夹和文件
如果未压缩文件是二进制文件,不要忘记使用`md5sum -b`。 – tudor 2016-10-28 00:44:33