我可以使用移动宽带通过 Firefox 访问互联网,但是当我想从终端安装任何包或执行“apt-get update”命令时出现以下错误:
got 'NODATA' (does the network require authentication?)
apt-get 更新输出:
Get:1 extras.ubuntu.com trusty InRelease [213 B] 98% [1 InRelease gpgv 213 B] [Connecting to archive.ubuntu.com]
Splitting up /var/lib/apt/lists/partial/extras.ubuntu.com_ubuntu_dists_trusty_InRelease into data
Ign extras.ubuntu.com trusty InRelease E: GPG error: extras.ubuntu.com trusty InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
`cat /var/lib/apt/lists/partial/extras.ubuntu.com_ubuntu_dists_trusty_InRelease 的输出
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>404</title> <meta http-equiv="Cache-Control" content="no-cache"/> </head> <body> <p> Not Found </p> </body> </html>
wget 的输出:
wget -O - http://extras.ubuntu.com/ubuntu/dists/trusty/InRelease
--2014-06-01 09:23:35-- http://extras.ubuntu.com/ubuntu/dists/trusty/InRelease
Resolving extras.ubuntu.com (extras.ubuntu.com)... 91.189.92.152
Connecting to extras.ubuntu.com (extras.ubuntu.com)|91.189.92.152|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 213 [text/html]
Saving to: ‘STDOUT’
0% [ ] 0 --.-K/s <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>404</title>
<meta http-equiv="Cache-Control" content="no-cache"/>
</head>
<body>
<p>
Not Found
</p>
</body>
</html>
答案1
您的移动宽带提供商运行有故障透明代理. URLhttp://extras.ubuntu.com/ubuntu/dists/trusty/InRelease应该返回“404 Not Found”。相反,它返回“200 OK”,但发送了 404 内容。由于 URL 为“OK”,apt 将内容复制到/var/lib/apt/lists/partial/extras.ubuntu.com_ubuntu_dists_trusty_InRelease
并尝试使用它,然后抱怨它不正确。
这里的问题不是 Ubuntu,而是你的移动宽带提供商的透明代理。你也许可以联系他们来修复它。
以下是正常互联网连接的输出:
$ wget -O - http://extras.ubuntu.com/ubuntu/dists/trusty/InRelease
--2014-06-01 10:25:36-- http://extras.ubuntu.com/ubuntu/dists/trusty/InRelease
Resolving extras.ubuntu.com (extras.ubuntu.com)... 91.189.92.152
Connecting to extras.ubuntu.com (extras.ubuntu.com)|91.189.92.152|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-06-01 10:25:36 ERROR 404: Not Found.
有关移动连接上透明代理引起的问题的详细信息,请参阅问题的答案如何停止沃达丰代理的 javascript 注入?
答案2
我刚刚也遇到了同样的问题。我认为我的 ISP 也使用了相当糟糕的代理。
虽然贝恩提出的解决方案也许是正确的做法(TM),我发现了一个更直接、更实用的Linux Mint 论坛上的解决方案这基本上涉及从目录中删除可能损坏的条目/var/lib/apt/lists
(或者更确切地说,从整个目录中删除):
$ cd /var/lib/apt
$ sudo mv lists lists.old
$ sudo mkdir -p lists/partial
$ sudo apt-get update
这些命令为我解决了这个问题。
答案3
我在 VMWare 中运行 Ubuntu 14.04 时遇到了同样的问题。上面的评论提示我尝试网络设置。一旦我将默认 NAT 更改为 Bridged,我的问题就解决了。
答案4
当 apt-get 配置为使用不存在的代理时,也会发生这种情况(废话!)。就我而言,我移动了一台位于代理网络上的机器,但忘记删除apt-get 代理配置在此文件中:
/etc/apt/apt.conf