我在 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 中,现在更新可以再次进行。