背景:在ubuntu系统上,离线安装deb包的时候,通过ftp传包,安装时,出现报错
gzip: stdin: invalid compressed data--format violated
分析:通过报错信息搜索,提示文件损坏。所以在ftp传输过程中出现了问题。
在ubuntu上使用指令查看sha256
sha256sum libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb
ed14555671475a2db481049b4b66ecd376f79a7ca6d4d78a1702feb037aa5422 libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb
在windows上使用指令查看sha256
D:\FTP>certutil -hashfile libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb sha256
SHA256 的 libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb 哈希:
ed14555671475a2db481049b4b66ecd376f79a7ca6d4d78a1702feb037aa5422
CertUtil: -hashfile 命令成功完成。
如果文件的sha256是一致的,说明没有问题,如果不一致,说明传输有问题。
sha256不一致,是因为FTP传输模式问题
- FTP 有两种传输模式:ASCII 和 Binary。ASCII 模式适用于文本文件,会在传输过程中对行结束符进行转换;Binary 模式适用于二进制文件,如图像、视频、压缩文件等,确保文件在传输过程中保持不变。
- 如果二进制文件以 ASCII 模式传输,文件内容可能会被更改,从而导致校验和变化。
解决:
1、ubuntu用ftp链接时候,这里需要指定本机电脑的用户名
2、ubuntu链接ftp
sudo ftp 172.21.9.xxx
3、切换ftp为binary传输模式
binary
4、ubuntu下载文件指令
mget *
get xxx
quit