当前位置: 首页>>技术教程>>正文


apt – 遇到 NODATA 问题:’NODATA'(网络是否需要身份验证?)

问题描述

我可以使用我的移动宽带通过 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 配置文件。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13303.html,未经允许,请勿转载。