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
我尝试进行解压缩,但得到了尾随垃圾:
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|
通过字符串管道传输尾部并对文件进行 grep 会一遍又一遍地列出同一个文件:
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
有人遇到过这种情况吗?
答案1
听起来有点像代理问题。我曾经遇到过一个 maven 问题,代理用包含病毒警告的 html 页面替换了一个 jar。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 下载时,使用
wget
或curl
检查从服务器获取的内容。