生动的apt-get更新/ var / lib / apt / lists / partial中的巨大Package文件


8
ls -Ssh /var/lib/apt/lists/partial | head

total 88G
 46G security.ubuntu.com_ubuntu_dists_vivid-security_main_binary-amd64_Packages.bz2
 42G us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages.bz2

我尝试了Bunzipping并收到了尾随的垃圾:

bunzip2: us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages.bz2: trailing garbage after EOF ignored

看起来解压缩后的文件只有88K:

 du -hs us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages
88K

对文件末尾进行十六进制转储似乎显示出要附加的目录清单:

tail -c 200 security.ubuntu.com_ubuntu_dists_vivid-security_main_binary-amd64_Packages.bz2 | hexdump -C
00000000  30 38 64 66 37 20 20 20  20 20 20 20 20 20 20 20  |08df7           |
00000010  20 20 34 38 31 39 20 75  6e 69 76 65 72 73 65 2f  |  4819 universe/|
00000020  69 31 38 6e 2f 54 72 61  6e 73 6c 61 74 69 6f 6e  |i18n/Translation|
00000030  2d 65 6e 2e 62 7a 32 0a  20 31 30 66 64 62 31 61  |-en.bz2. 10fdb1a|
00000040  37 34 61 62 34 34 33 36  64 39 37 62 33 33 66 65  |74ab4436d97b33fe|
00000050  62 30 38 38 36 66 35 63  38 61 63 63 64 36 34 34  |b0886f5c8accd644|
00000060  33 62 36 34 36 37 61 30  64 63 39 61 63 39 64 31  |3b6467a0dc9ac9d1|
00000070  66 64 33 39 61 36 31 63  62 20 20 20 20 20 20 20  |fd39a61cb       |
00000080  20 20 20 20 20 20 31 35  38 31 20 75 6e 69 76 65  |      1581 unive|
00000090  72 73 65 2f 73 6f 75 72  63 65 2f 53 6f 75 72 63  |rse/source/Sourc|
000000a0  65 73 2e 62 7a 32 0a 20  61 64 66 35 31 32 30 66  |es.bz2. adf5120f|
000000b0  65 63 61 37 38 66 34 65  37 36 66 34 31 36 66 38  |eca78f4e76f416f8|
000000c0  31 30 32 31 36 62 33 30                           |10216b30|

通过字符串尾部滚动和对文件进行greping显示一遍又一遍列出的同一文件:

 tail -c 500K security.ubuntu.com_ubuntu_dists_vivid-security_main_binary-amd64_Packages.bz2 | strings  | grep -i multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2

有人遇到过吗?


我找到了解决该问题的方法:rm -rf / var / lib / apt / lists / partial / *,然后重新运行apt-get update。
user402751

我再次遇到这个问题,从DVD重新安装后,最初是从14.10升级的。{{392G us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages.bz2}}}签名有些不同,存在重复的http错误。{{tail -c 500K us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages.bz2 | 字符串| grep“ HTTP / 1.1 416请求的范围不满意” HTTP / 1.1 416请求的范围不满意HTTP / 1.1 416请求的范围不满意HTTP / 1.1 416请求的范围不满意HTTP / 1.1 416请求的范围不满意}}
user402751

嗯,我似乎也有这个问题。很烦人。我早上来上班,由于磁盘已满,各种各样的事情都崩溃了。您是否偶然找到了解决方案?
Frode

解决方案,没有。我一直在使用以下解决方法:在“ apt-get更新”之前删除/ var / lib / apt / lists / partial / *中的所有文件
user402751 2015年

这是一个错误。askubuntu.com/a/633235/43246
aleung

Answers:


6

听起来有点像代理问题。我曾经遇到过Maven的问题,该代理将一个jar替换为一个包含病毒警告的html页面。该html被保存为.jar,但由于它已损坏,因此不再起作用。

无论如何:从目录/var/lib/apt/lists/partial/(以及/var/cache/apt/archives/partial/)中删除所有内容都是安全的。

对于故障排除,我建议执行以下步骤:

  • 尝试另一个镜子,例如。http://de.archive.ubuntu.com/ubuntu/而不是http://ch.archive.ubuntu.com/ubuntu/甚至主档案库http://archive.ubuntu.com/ubuntu/
  • 尝试其他协议:ftp://而不是http://-其余路径保留用于默认镜像
  • 尝试使用Wireshark分析传输(使用上下文菜单选项“关注TCP流”)。有趣的是HTTP标头和内容。如果您收到HTTP状态代码 200(表示可以)但人类可读的内容的答案,则说明代理服务器上存在严重问题。常规的bzip2文件不应包含任何人类可读的文本。
  • 在没有apt-get的情况下进行下载时,请使用wgetcurl检查从服务器获得的信息。

有趣的是,我实际上是在代理之后。@ user402751,您也是吗?
Frode

是的,我也支持代理,这也许可以解释为什么不是每个人都遇到此问题。话虽这么说,这里有一个非常糟糕的错误,因为它只是将磁盘写满。
user402751 2015年

2
代理支持本身并没有破坏,但是可能有些服务器不能正常运行。您是否曾经使用Wireshark分析下载时传输的内容(选项“关注TCP流”)?有趣的是HTTP标头和内容。通常,在通过命令进行管道传输时,bzip2文件不应包含任何可用的输出string。只是要确保:您使用的是http还是ftp服务器?
Daniel Alder

我很好奇?这个答案对任何人都有帮助吗?user402751或@Frode是否尝试了这些步骤?
Daniel Alder

@DanielAlder我还没有进一步解决这个问题。至少知道这可能是代理问题,这至少对有所帮助。
Frode
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.