Packaging
將校驗和資訊附加到文件
我想將校驗和資訊嵌入到我傳輸的文件中。它是
tar.gz
或tar.xz
文件,我只能將一個文件傳輸到遠端端。你如何建議我嵌入校驗和資訊?
我想要整個存檔的校驗和,而不是它的內容(我想在“解包之前”檢查它的完整性)。
我知道我可以以某種支持校驗和的格式(如
rar
)再次打包它,但是“重新打包”東西的計算成本,只是為了添加校驗和(另一方面,我不喜歡rar
格式)。所以首選類似gzip
&gunzip
等,但用於添加、檢查和刪除校驗和。任何工具、想法、腳本、解決方法?
我是對的
.xz
並.gz
支持串聯嗎?也許值得使用此功能在文件末尾附加壓縮校驗和?
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
將忽略尾隨的“垃圾”。具有附加加密或加擾機制的類似解決方案用於為許多移動設備(例如Amazon Kindles )簽署更新。但在他們的情況下,存檔文件標識是不受歡迎的,因此他們將所有指紋資訊放在更新文件的開頭。