在多个软件包上使用apt-get时出现“大小不匹配”


9

我无法使用apt-get下载多个软件包。到目前为止,我已经用'opencv'和'gstreamer'碰到过这一点。使用opencv,它将获取许多文件,然后返回并显示以下错误。我尝试了几个不同的镜像,它们都在同一文件上出错。

Do you want to continue [Y/n]? y
Get:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libopencvvideo2.3 i386 2.3.1-7 [106 kB]
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libopencv-video-dev i386 2.3.1-7 [129 kB]
Fetched 2,225 B in 0s (11.8 kB/s)        
Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video2.3_2.3.1-7_i386.deb  Size mismatch
Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video-dev_2.3.1-7_i386.deb  Size mismatch
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

我运行了“ apt-cache show libopencv-video *”并得到:

Package: libopencv-video2.3
Priority: optional
Section: universe/libs
Installed-Size: 277
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
Architecture: i386
Source: opencv
Version: 2.3.1-7
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libopencv-core2.3, libopencv-imgproc2.3 (= 2.3.1-7), libstdc++6 (>= 4.1.1)
Filename: pool/universe/o/opencv/libopencv-video2.3_2.3.1-7_i386.deb
Size: 105756
MD5sum: b38c0f11f3856d62168b730522a9691b
SHA1: d45cd609ea497ae72858e0f5914134e124261f22
SHA256: 85e72311ede84efbdd17781cdb04f79818a28968c63f407df6c56efe7da5525e
Description-en: computer vision Video analysis library

当我比较报告的文件大小(105756)时,当我用wget将其拉下时,它与'deb'软件包的大小不匹配。

除了在每个失败的文件上使用wget并手动安装它们以外,是否有解决此问题的建议?


它是105756字节,其中106是kB,因此在四舍五入时,105.756 kB是106 kB。大致相同。
atenz

是的,但是我使用wget下载的文件(相同的文件)的文件大小为103kB。好像描述符没有被更新以匹配文件?
克里斯

当下载到本地存储设备时,下载的大小似乎会改变几百或几百KB(+或-),具体取决于大小。我一直以为它是用于CRC或FEC的,但是后来对于存储位的BASE感到困惑。如果是这样,那么我不确定,也许有人会回答。
atenz

我想知道它们是否是损坏的软件包。我应该不能下载(wget等),然后在ubuntu上使用“ dpkg -i <package>”进行安装?如果是这样,我会得到这个:
克里斯(Chris)

oot @ ubuntu:/ home / sysadmin#dpkg -i libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb dpkg-deb:错误:`libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0。 1_i386.deb'不是debian格式的归档文件dpkg:错误处理libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb(--install):子进程dpkg-deb --control返回了错误退出状态2错误在处理时遇到:libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb
克里斯(Chris)

Answers:


18

事实证明,apt-get并不是问题,而是我的公司。有一项互联网政策会阻止网址中带有“视频”的所有关键字。我通过查看的内容,发现了这个libopencv-video2.3_2.3.1-7_i386.deb/var/cache/apt/archives/partial。它包含来自Web筛选器的html,使我注意到我违反了互联网等等。

谁会知道他们的首席研究工程师会采用如此微不足道的政策?

经验教训:请您的IT部门提供一些地址,这些地址可免除愚蠢的政策,并在我和那些试图帮助的人浪费的时间上退还给他们...


7
叹。一定喜欢IT人员。
jrg 2012年

1
最糟糕的是返回了200 OK的虚假HTML而不只是阻止连接的代理/防火墙。:(
ish

谢谢@克里斯!巨大的帮助。现在,我可以停止怀疑到底发生了什么。
小时制,2014年

作为初学者,我很好奇您如何获得该解决方案(请参阅/var/cache/apt/archives/partial)。它在apt-get手册页中的某个地方吗?您找到其他遇到问题的人了吗?还有吗 我真的很想在没有Google的情况下更好地解决问题。
joshreesjones

@ mathguy54我遇到了与OP相同的错误。我尝试访问链接(使用浏览器或wget),收到的文件很小。原来是html消息“ URL被阻止”
aiao

4

我遇到了很多这些问题,而且我总是设法解决它们。

例如:

Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video-dev_2.3.1-7_i386.deb

在这种情况下,我会从主服务器手动获取软件包,例如:

wget http://archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video-dev_2.3.1-7_i386.deb

注意,我删除了美国东部的东西。

然后运行:

sudo dpkg -i libopencv-video-dev_2.3.1-7_i386.deb

安装软件包。

然后只需运行您尝试的原始命令


为什么会cho住?下载和安装遇到问题的软件包有什么影响?
NateS

1

我修复了尝试升级owncloud时大小不匹配的问题。问题是错误的PPA网址。

我的回购用于xubuntu:

http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_15.04/Release

更改为适当的ubuntu:

http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_15.10/Release

摘要:确保已正确设置ppa的URL,以用于Ubuntu的发行版和风味。


0

好的,我也遇到过同样的问题。就我而言,这完全是我自己造成的问题。我正在为内部软件包服务器构建新软件包,并且每次都在服务器上替换软件包而不增加版本号(仅由我拉文件)。

我的调查如下...

  • 运行apt-cache show命令-确认文件大小
  • 用手拉文件-确认它实际上是不匹配的。
  • 手动检查与apt-cache输出匹配的软件包服务器上的文件大小

结果步骤使我得出结论,我的.deb提取文件已由我们的代理服务器缓存(以透明模式运行)。我确认通过查看代理日志,它确实显示了缓存“ HIT”

解决方案?wget再次 运行命令,但强制刷新代理

wget http://packages.example.com/pool/contrib/.../packagename.deb --no-cache

这足以使代理刷新文件,此时文件可以apt-get正常工作。

显然,在不增加版本号的情况下替换软件包的做法很糟糕,但这是此问题的另一个可能原因。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.