Curl 企业网络上的.deb文件已损坏
我在工作的几台机器上使用Ubuntu 16.04 在它们中的每一个上,某些Debian软件包都没有正确下载(损坏) apt-get示例:Curl 企业网络上的.deb文件已损坏,curl,hash,apt,sysadmin,dpkg,Curl,Hash,Apt,Sysadmin,Dpkg,我在工作的几台机器上使用Ubuntu 16.04 在它们中的每一个上,某些Debian软件包都没有正确下载(损坏) apt-get示例: $ sudo apt-get install traceroute Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed
$ sudo apt-get install traceroute
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
linux-headers-4.4.0-53 linux-headers-4.4.0-53-generic linux-image-4.4.0-53-generic
linux-image-extra-4.4.0-53-generic
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
traceroute
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 45.5 kB of archives.
After this operation, 177 kB of additional disk space will be used.
Get:1 http://fr.archive.ubuntu.com/ubuntu xenial/universe amd64 traceroute amd64 1:2.0.21-1 [45.5 kB]
Err:1 http://fr.archive.ubuntu.com/ubuntu xenial/universe amd64 traceroute amd64 1:2.0.21-1
Hash Sum mismatch
Fetched 44.8 kB in 0s (477 kB/s)
E: Failed to fetch http://fr.archive.ubuntu.com/ubuntu/pool/universe/t/traceroute/traceroute_2.0.21-1_amd64.deb Hash Sum mismatch
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
手动安装示例:
$ curl http://fr.archive.ubuntu.com/ubuntu/pool/universe/t/traceroute/traceroute_2.0.21-1_amd64.deb -o traceroute_2.0.21-1_amd64.deb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
95 45488 95 43538 0 0 353k 0 --:--:-- --:--:-- --:--:-- 354k
curl: (18) transfer closed with 1950 bytes remaining to read
$ sudo dpkg -i traceroute_2.0.21-1_amd64.deb
(Reading database ... 248576 files and directories currently installed.)
Preparing to unpack traceroute_2.0.21-1_amd64.deb ...
Unpacking traceroute (1:2.0.21-1) ...
dpkg-deb (subprocess): cannot copy archive member from 'traceroute_2.0.21-1_amd64.deb' to decompressor pipe: unexpected end of file or stream
dpkg-deb (subprocess): decompressing archive member: lzma error: unexpected end of input
dpkg-deb: error: subprocess <decompress> returned error exit status 2
dpkg: error processing archive traceroute_2.0.21-1_amd64.deb (--install):
cannot copy extracted data for './usr/lib/libsupp.a' to '/usr/lib/libsupp.a.dpkg-new': unexpected end of file or stream
Processing triggers for man-db (2.7.5-1) ...
Errors were encountered while processing:
traceroute_2.0.21-1_amd64.deb
$curlhttp://fr.archive.ubuntu.com/ubuntu/pool/universe/t/traceroute/traceroute_2.0.21-1_amd64.deb -o示踪路由2.0.21-1_amd64.deb
%总接收百分比%x平均速度时间电流
数据加载上载总左速度
95454889545380353K0--:--:--:--:--:--:--:--354k
curl:(18)传输结束,剩余1950个字节可读取
$sudo dpkg-i跟踪路由2.0.21-1_amd64.deb
(正在读取数据库…当前安装的248576个文件和目录。)
正在准备拆包traceroute_2.0.21-1_amd64.deb。。。
拆包追踪路线(1:2.0.21-1)。。。
dpkg deb(子进程):无法将存档成员从“traceroute_2.0.21-1_amd64.deb”复制到解压缩器管道:文件或流意外结束
dpkg deb(子进程):解压缩存档成员:lzma错误:输入意外结束
dpkg deb:错误:子流程返回错误退出状态2
dpkg:处理存档跟踪路由2.0.21-1_amd64.deb时出错(--安装):
无法将“./usr/lib/libsupp.a”的提取数据复制到“/usr/lib/libsupp.a.dpkg-new”:文件或流意外结束
处理man db(2.7.5-1)的触发器。。。
处理时遇到错误:
示踪线路2.0.21-1_amd64.deb
如您所见,文件未正确下载,curl:curl:(18)传输已关闭,剩余1950个字节可读取
。wget也不能解决这个问题
请注意,通过4G连接共享,该命令运行良好。
我通过docker尝试了Ubuntu 16.04或16.10:同样的问题
我更改了Ubuntu存储库(main、uk、it等):同样的问题
我不是企业系统管理员,因此无法检查此(windows)企业网络中的情况
某些东西破坏了某些文件类型,这里是.deb
我可以测试哪些解决方案?我终于找到了一个解决方案:使用httpsUbuntu存储库 显示可通过https访问的Ubuntu存储库列表 我用了一种效果很好的方法 总之,我认为我的企业网络受到防火墙的“保护”,防火墙拒绝让我下载某些(总是一样的,系统性的)deb文件。 该防火墙可以对新下载的文件进行签名,将其检测为“威胁”,并拒绝将其最后部分发送给我