问题描述
我可以使用我的移动宽带通过 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>
最佳回答
您的移动宽带提供商运行的 transparent proxy 有故障。 URL http://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.
有关移动连接上透明代理引起的问题的一些详细信息,请参阅问题 How to stop javascript injection from vodafone proxy? 的答案
次佳回答
我只是有同样的问题。我认为我的 ISP 也使用了一个相当讨厌的代理。
虽然 solution proposed by bain 可能是正确的做法 (TM),但我发现了一个更直接和实用的 solution on the Linux Mint forum,它基本上涉及从 /var/lib/apt/lists
目录(或者更确切地说,整个目录)中删除可能损坏的条目:
$ cd /var/lib/apt
$ sudo mv lists lists.old
$ sudo mkdir -p lists/partial
$ sudo apt-get update
这些命令为我解决了这个问题。
第三种回答
我在 VMWare 中运行 Ubuntu 14.04 时遇到了同样的问题。上面的评论提示我尝试网络设置。一旦我从默认 NAT 更改为桥接,我的问题就解决了。
第四种回答
在我添加一个引用被我公司的代理 (*.dropbox.com) 阻止的域的 ppa ( Dropbox ) 后,我遇到了同样的问题。由于 apt-get update
无法读取 http://linux.dropbox.com/ubuntu
,因此会抛出此 “NODATA” 错误。
我结束了 removing the ppa :
sudo rm /etc/apt/sources.list.d/dropbox.list
第五种回答
当 apt-get 配置为使用不存在的代理时,也会发生这种情况(duh!)。就我而言,我移动了一台位于代理网络上的机器,但忘记删除此文件中的 apt-get proxy configuration:
/etc/apt/apt.conf
值得赞扬的是,我删除了 environment variable 条目 ( also see here ),但只是忘记了 apt-get 配置文件。