处理 Ubuntu 中各种更新相关错误的初学者指南

谁在 Ubuntu 中进行更新时没有遇到错误? 更新错误在 Ubuntu 和其他基于 Ubuntu 的 Linux 发行版中很常见而且很多。 以下是一些常见的 Ubuntu 更新错误及其修复。

这篇文章是 Ubuntu 初学者系列的一部分,它解释了 Ubuntu 的诀窍,以便新用户可以更好地理解这些东西。

在之前的文章中,我讨论了如何更新 Ubuntu。 在本教程中,我将讨论您在更新时可能遇到的一些常见错误 Ubuntu. 这通常是因为您尝试自行添加软件或存储库,这可能会导致问题。

如果您在更新系统时看到错误,则无需惊慌。错误很常见,修复很容易。 您将学习如何修复这些常见的更新错误。

在开始之前,我强烈建议您阅读这两篇文章,以更好地理解 Ubuntu 中的存储库概念。

了解 Ubuntu 存储库

了解 Ubuntu 中的各种存储库以及它们如何使您能够在系统中安装软件。

阅读更多了解 Ubuntu 中的 PPA

通过这份关于 PPA 的详细指南,进一步改进您在 Ubuntu 中的存储库和包处理概念。

阅读更多

错误 0:无法下载存储库信息

许多 Ubuntu 桌面用户通过图形软件更新工具更新他们的系统。 系统会通知您有可用的更新,您可以单击一个按钮开始下载和安装更新。

嗯,这就是通常发生的事情。 但有时你会看到这样的错误:

无法下载存储库信息。 检查您的互联网连接。

这是一个奇怪的错误,因为您的互联网连接很可能工作正常,但它仍然说要检查互联网连接。

你注意到我称之为“错误0”吗? 这是因为它本身并不是一个错误。 我的意思是,很可能,它与互联网连接无关。 但是除了这个误导性的错误消息之外,没有其他有用的信息。

如果您看到此错误消息并且您的互联网连接工作正常,那么是时候戴上侦探帽了 使用你的灰色细胞 (作为 赫尔克里·波洛 会说)。

您必须在此处使用命令行。 您可以使用 Ctrl+Alt+T 键盘快捷键在 Ubuntu 中打开终端。 在终端中,使用以下命令:

sudo apt update

让命令完成。 观察其输出的最后三四行。 这会给你真正的原因 sudo apt-get 更新失败。 这是一个例子:

本教程的其余部分展示了如何处理您刚刚在更新命令输出的最后几行中看到的错误。

错误 1:MergeList 有问题

当您在终端中运行更新时,您可能会看到如下错误“MergeList 问题”:

E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise_universe_binary-i386_Packages, E:The package lists or status file could not be parsed or opened.’

由于某些原因,/var/lib/apt/lists 目录中的文件已损坏。 您可以删除此目录中的所有文件并再次运行更新以重新生成所有内容。 一一使用以下命令:

sudo rm -r /var/lib/apt/lists/* sudo apt-get clean && sudo apt-get update

你的问题应该得到解决。

错误 2:哈希和不匹配

如果您发现有关哈希和不匹配的错误,则修复与上一个错误中的修复相同。

W:Failed to fetch bzip2:/var/lib/apt/lists/partial/in.archive.ubuntu.com_ubuntu_dists_oneiric_restricted_binary-i386_Packages Hash Sum mismatch, W:Failed to fetch bzip2:/var/lib/apt/lists/partial/in.archive.ubuntu.com_ubuntu_dists_oneiric_multiverse_binary-i386_Packages Hash Sum mismatch, E:Some index files failed to download. They have been ignored, or old ones used instead

发生该错误的原因可能是服务器和您的系统之间的元数据缓存不匹配。 您可以使用以下命令来修复它:

sudo rm -rf /var/lib/apt/lists/* sudo apt update

错误 3:无法获取错误 404 未找到

如果您尝试添加不适用于当前 Ubuntu 版本的 PPA 存储库,您将看到它会引发 404 not found 错误。

W: Failed to fetch https://ppa.launchpad.net/venerix/pkg/ubuntu/dists/raring/main/binary-i386/Packages  404  Not Found E: Some index files failed to download. They have been ignored, or old ones used instead.

您添加了一个希望安装应用程序的 PPA,但它不适用于您的 Ubuntu 版本,并且您现在遇到更新错误。 这就是为什么您应该事先检查 PPA 是否适用于您的 Ubuntu 版本。 我已经在详细的 PPA 指南中讨论了如何检查 PPA 的可用性。

无论如何,这里的解决方法是从存储库列表中删除麻烦的 PPA。 请注意错误消息中的 PPA 名称。 转到软件和更新工具:

在这里,移动到其他软件选项卡并查找该 PPA。 取消选中该框以从系统中删除 PPA。

执行此操作时,您的软件列表将更新。 现在,如果您再次运行更新,您应该不会看到错误。

错误4:下载包文件失败错误

一个类似的错误是 无法下载包文件错误 像这样:

在这种情况下,可以使用更新版本的软件,但不会传播到所有镜像。 如果您不使用镜像,可以通过将软件源更改为主服务器轻松修复。 请阅读本文以获取有关无法下载包错误的更多详细信息。

转到软件和更新,然后将下载服务器更改为主服务器:

错误 5:GPG 错误:无法验证以下签名

添加 PPA 也可能导致以下 GPG 错误:当您尝试在终端中运行更新时,无法验证以下签名:

W: GPG error: https://repo.mate-desktop.org saucy InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 68980A0EA10B4DE8

您需要做的就是在系统中获取此公钥。 从消息中获取密钥号。 在上面的消息中,密钥是 68980A0EA10B4DE8。

可以通过以下方式使用此密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68980A0EA10B4DE8

添加密钥后,再次运行更新,应该没问题。

错误 6:BADSIG 错误

另一个与签名相关的 Ubuntu 更新错误是 BADSIG 错误,看起来像这样:

W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://extras.ubuntu.com precise Release: The following signatures were invalid: BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key
W: GPG error: https://ppa.launchpad.net precise Release:
The following signatures were invalid: BADSIG 4C1CBC1B69B0E2F4 Launchpad PPA for Jonathan French W: Failed to fetch https://extras.ubuntu.com/ubuntu/dists/precise/Release

所有存储库都使用 GPG 签名,由于某种原因,您的系统发现它们无效。 您需要更新签名密钥。 最简单的方法是重新生成 apt 包列表(及其签名密钥),它应该具有正确的密钥。

在终端中一一使用以下命令:

cd /var/lib/apt  sudo mv lists oldlist  sudo mkdir -p lists/partial  sudo apt-get clean  sudo apt-get update

错误7:部分升级错误

在终端中运行更新可能会引发此部分升级错误:

Not all updates can be installed
Run a partial upgrade, to install as many updates as possible

在终端中运行以下命令来修复此错误:

sudo apt-get install -f

错误 8:无法获得锁 /var/cache/apt/archives/lock

当另一个程序正在使用 APT 时会发生此错误。 假设您正在 Ubuntu 软件中心安装一些东西,同时尝试在终端中运行 apt。

E: Could not get lock /var/cache/apt/archives/lock – open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/cache/apt/archives/

检查是否有其他程序可能正在使用 apt。 它可以是运行终端、软件中心、软件更新程序、软件和更新或任何其他处理安装和删除应用程序的软件的命令。

如果你可以的话 close 其他此类程序, close 他们。 如果有进程正在进行,请等待它完成。

如果找不到任何此类程序,请使用以下命令杀死所有此类正在运行的进程:

sudo killall apt apt-get

这是一个棘手的问题,如果问题仍然存在,请阅读有关修复 Ubuntu 中无法锁定管理目录错误的详细教程。

您遇到任何其他更新错误?

这编译了您可能遇到的常见 Ubuntu 更新错误列表。 我希望这可以帮助您摆脱这些错误。

您最近是否在 Ubuntu 中遇到过此处未涵盖的任何其他更新错误? 请在评论中提及它,我将尝试对其进行快速教程。