我想将校验和信息嵌入到文件中,以便进行传输。它是tar.gz
或tar.xz
文件,我只能将一个文件传输到远程端。
您建议我如何嵌入校验和信息?
我想要整个档案的校验和,而不是它的内容(我想检查它的完整性,在“解包”之前)。
我知道我可以再次以支持校验和(比如rar
)的格式打包它,但是“重新打包”只是为了添加校验和(另一方面,我不喜欢rar
格式),这是一种计算成本。因此,最好是类似于gzip
和gunzip
等,但用于添加、检查和删除校验和。
有什么工具,想法,剧本,解决办法吗?
我是对的,.xz
和.gz
支持连接吗?也许使用这个特性在文件末尾附加压缩校验和是值得的?
发布于 2011-11-22 11:50:51
cat file.gz file.gz.sig > transfer_me.signed
然后,在远程主机上,使用
tail -c length_of_the_checksum_info transfer_me.signed > file.gz.sig
head -c -length_of_the_checksum_info transfer_me.signed > file.gz
注意第二个命令中的减号。长度取决于使用的校验和类型。你可以
md5sum file.gz | cut -d ' ' -f 1 > file.gz.sig
还请注意,通过这种方式,您也可以直接解压transfer_me.signed
文件,而无需拆分,因为tar
将忽略尾随的“垃圾”。
一种类似的解决方案,带有额外的加密或加扰机制,用于为许多移动设备(例如亚马逊手柄 )签名更新。但是在他们的例子中,存档文件标识是不需要的,所以他们把所有的指纹信息放在一个更新文件的开头。
https://unix.stackexchange.com/questions/25129
复制相似问题