运行时sudo apt-get update
出现以下错误:
Err archive.ubuntu.com quantal InRelease
Err archive.ubuntu.com quantal-updates InRelease
Err archive.ubuntu.com quantal-backports InRelease
Err archive.ubuntu.com quantal-security InRelease
Err archive.ubuntu.com quantal Release.gpg
Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Err archive.ubuntu.com quantal-updates Release.gpg
Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Err archive.ubuntu.com quantal-backports Release.gpg
Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Err archive.ubuntu.com quantal-security Release.gpg
Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Reading package lists... Done
W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal/InRelease
W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-updates/InRelease
W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-backports/InRelease
W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-security/InRelease
W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal/Release.gpg Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-updates/Release.gpg Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-backports/Release.gpg Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-security/Release.gpg Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Some index files failed to download. They have been ignored, or old ones used instead.
我正在使用 Ubuntu 12.04。这是我从 Windows 安装程序安装 Ubuntu 后使用的命令。我确定我的笔记本电脑已连接到互联网。我现在该怎么办?
答案1
作为vasa1指出,你的系统配置用来下载安装包的服务器是目前已关闭。
当您的下载镜像关闭时该怎么办...
解决这个问题的方法是将其更改为不同的镜像(即不同的服务器)。
选项 1:使用图形配置实用程序
开放软件源
按Alt+ F2,输入gksu software-properties-gtk
,然后输入您的密码。(或者,选择设置...在更新管理器的左下角,或者转到 Synaptic 中的设置 > 存储库)。
- 这是针对您正在运行的 Ubuntu 10.04 LTS 的。在后续版本中,您只需运行
software-properties-gtk
,当您进行更改时,PolicyKit 就会对您进行身份验证。 - 大多数使用较新版本的人都有软件中心,但没有 Synaptic。在软件中心,您可以转到编辑>软件源...。
- 更新管理器没有变化,但在新版本中被称为软件更新程序。
更改下载服务器
在里面Ubuntu 软件选项卡上,有一个下拉菜单,标签为下载自。选择您的区域服务器。例如,我在美国,在我的 11.10 机器上它看起来像这样:
软件源窗口显示美国服务器在“下载自”下拉菜单中选择。
您可能会看到该短列表中列出的其他服务器(例如您当前设置的服务器)。
您可以使用主服务器但它几乎总是比使用区域服务器慢得多。(至少在美国是这样。)
如果您想使用其他镜像,可以点击查看镜像列表其他...。
选项 2:手动编辑配置文件
备份并打开sources.list
备份您的sources.list
文件并在文本编辑器中打开它:
cd /etc/apt
sudo cp sources.list sources.list.old
gksu gedit sources.list
- 如果你已经运行了第二行,就不要再运行了,除非你想覆写旧备份与新配置的副本。
- 对于基于文本的编辑器(不需要任何 GUI),将第三行替换为
sudo nano -w sources.list
(或sudo vi sources.list
,或sudo -e sources.list
)。
在文本编辑器中,将旧服务器名称的每个实例替换为新服务器名称。例如,您可以将每个实例替换为ubuntuarchive.hnsdc.com
。us.archive.ubuntu.com
(无论您使用哪种文本编辑器,它都可以帮助您完成此操作 - 您不必手动查找每个实例并输入新镜像的名称。)
保存文件,退出文本编辑器,运行sudo apt-get update
,它应该可以与新服务器一起工作。
选项 3:命令行替换
sed
允许您编写简单(或复杂)的脚本,每次一行地对文件进行操作。因此,您可以发出一条命令sources.list
,遍历所有旧服务器名称的实例,并将其替换为新服务器名称。
首先,进入/etc/apt
并备份文件(除非您最近这样做过):
cd /etc/apt
sudo cp sources.list sources.list.old
然后运行sed
:
sudo cp sources.list sources.list.tmp
sed 's/ubuntuarchive.hnsdc.com/us.archive.ubuntu.com/' sources.list.tmp | sudo tee sources.list
sudo rm sources.list.tmp
- 对于旧服务器
ubuntuarchive.hnsdc.com
,进行适当更改。 - 对于新服务器
us.archive.ubuntu.com
,进行适当更改。 - 我决定将其复制
sources.list
到一个临时文件中,并将其用作 的sed
输入。这是确保sed
不会在读取文件时覆盖该文件的一种方法。 - 这里的“脚本
sed
”非常简单。这解释了替代是如何起作用的。
但是有哪些下载服务器?
有超过 400 个注册的 Ubuntu 镜像用于安装和更新软件。
这些被称为存档镜像。这不应与CD 镜像,其中 ISO 映像和相关文件安装 Ubuntu被存储。
许多服务器同时提供这两种功能,因此既是存档镜像又是 CD 镜像。但许多服务器只是其中之一。
答案2
镜像已关闭或者您的互联网连接出现问题(可能是暂时的)。
确保你可以 ping 通谷歌 DNS和存档.ubuntu.com:
ping -c3 archive.ubuntu.com
ping -c3 8.8.8.8
两个命令都应
0% packet loss
在统计行中返回。否则您的互联网连接已断开。如果您的连接似乎正常,则可能是镜像已关闭。请尝试选择离您位置较近的其他镜像。
答案3
只需打开突触管理器,安装/重新安装ubuntu-extras-keyring
,然后(在终端中)输入sudo apt-get update
。
欢呼吧,你会摆脱这个错误。
答案4
试试这个。它对我有用。
sudo su # login as root
cd /var/lib/apt/lists/
rm -fr *
cd /etc/apt/sources.list.d/
rm -fr *
cd /etc/apt
cp sources.list sources.list.old
cp sources.list sources.list.tmp
sed 's/ubuntuarchive.hnsdc.com/us.archive.ubuntu.com/' sources.list.tmp | tee sources.list
rm sources.list.tmp*
apt-get clean
apt update