我的所有 Ubuntu VM 都存在 apt-get 更新问题

我的所有 Ubuntu VM 都存在 apt-get 更新问题

我在 x86_64 Windows 7 主机上运行 Virtualbox 4.1。我有一组 12.04 和 10.04 LTS VM,用于为工作创建 deb。上周我开始注意到 12.04 VM 上的问题。尝试了常用的 apt-get clean 位,但没有帮助。

我安装了一台新的 11.10 VM 来测试 Worpress 升级。此 VM 从未能够无错误地运行 apt-get update。有趣的错误如下所示:

Get: 8 http://security.ubuntu.com oneiric-security/main Translation-en_US [344 B]
14% [7 Sources 48686/877 kB 6%] [Waiting for headers]bzip2: (stdin) is not a bzip2 file.
Hit http://security.ubuntu.com oneiric-security/multiverse Translation-en
Hit http://security.ubuntu.com oneiric-security/restricted Translation-en
Hit http://security.ubuntu.com oneiric-security/universe Translation-en
22% [7 Sources 127526/877 kB 15%] [Waiting for headers]/usr/bin/xz: (stdin): File format not recognized

并结束于

/usr/bin/xz: (stdin): File format not recognized
Ign http://us.archive.ubuntu.com oneiric/main Translation-en_US                                                    
Ign http://us.archive.ubuntu.com oneiric-updates/main Translation-en_US                                            
Fetched 18.5 MB in 47s (392 kB/s)                                                                                  
W: GPG error: http://us.archive.ubuntu.com oneiric InRelease: File /var/lib/apt/lists/partial/us.archive.ubuntu.com_ubuntu_dists_oneiric_InRelease doesn't start with a clearsigned message
W: GPG error: http://security.ubuntu.com oneiric-security InRelease: File /var/lib/apt/lists/partial/security.ubuntu.com_ubuntu_dists_oneiric-security_InRelease doesn't start with a clearsigned message

xv-utils、lzma 等都已安装。我已从头开始重新安装了 VM 三次,并从同一点开始。

答案1

这真是太了不起了。

问题是我最近将 Virtualbox 切换到 Ubuntu VM 的 NAT 而不是桥接。我进行了几次测试,发现如果启用了 NAT,传入文件就会出现编码问题。一旦我将主接口返回到桥接模式,错误就会变为标准 BADSIG 错误,只需再次从 keyserv 获取密钥并运行 apt-get clean 即可解决此问题。

答案2

就我的情况而言,这个解决方案非常有效:

更改 apt 用于查找更新 URL 的配置文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup-- 保留 conf 的备份

sudo gedit /etc/apt/sources.list

在编辑器中,只需找到并替换所有 http:// 为 ftp://

或者

删除所有内容并用镜像替换。

deb ftp-mirror name YOUR_UBUNTU_VERSION_HERE main 
deb-src ftp-mirror name YOUR_UBUNTU_VERSION_HERE main 

可以从这里获取其他镜像

我这样做是因为出于某种原因,在虚拟机中运行 http:// 无法与 apt 配合使用。试试这个,希望它能起作用

答案3

我在运行 Parallels VM 的 12.04 时遇到了类似的问题,apt-get update 为 us.achive.ubuntu.com 提供了 med BADSIG。我切换到了另一个镜像(请参阅https://help.ubuntu.com/community/Repositories/CommandLine) 在 /etc/apt/sources.list 中,现在更新可以再次进行。

相关内容