对 Ubuntu 上的“E:无法找到软件包”错误进行故障排除 [Beginner’s Tutorial]

这个初学者教程展示了如何在 Ubuntu Linux 上修复 E: Unable to locate package 错误。

在 Ubuntu 中安装软件的众多方法之一是使用 apt-get 或 apt 命令。 您打开一个终端并使用程序名称来安装它,如下所示:

sudo apt install package_name

有时,您在尝试以这种方式安装应用程序时可能会遇到错误。 错误内容如下:

sudo apt-get install package_name Reading package lists... Done Building dependency tree        Reading state information... Done E: Unable to locate package package_name

该错误是不言自明的。 您的 Linux 系统找不到您尝试安装的软件包。 但为什么会这样呢? 为什么找不到包裹? 让我们看看您可以采取哪些措施来解决此问题。

修复 Ubuntu 上的“无法定位软件包错误”

让我们看看如何一步一步解决这个问题。

1.检查包名(不,认真)

这应该是首先要检查的。 你是不是在包名上打错了? 我的意思是,如果您尝试安装 vlc 并键入 vcl,它肯定会失败。 拼写错误很常见,因此请确保您在输入包名称时没有犯任何错误。

此外,该 Linux 中的命令区分大小写. 因此,请确保您输入了正确的包名称。 例如,命令名称应该是 vlc,而不是 Vlc 或 VLC。

2.更新存储库缓存

如果这是您安装后第一次使用系统,您应该运行更新命令:

sudo apt update

此命令不会立即更新 Ubuntu。 我建议了解 Ubuntu 存储库的概念。 基本上,“apt update”命令会构建可用包的本地缓存。

当您使用 install 命令时,apt 包管理器会搜索缓存以获取包和版本信息,然后通过网络从其存储库下载它。 如果软件包不在此缓存中,您的系统将无法安装它。

当你有一个新安装的 Ubuntu 系统时,缓存是空的。 这就是为什么您应该在安装 Ubuntu 或任何其他基于 Ubuntu 的发行版(如 Linux Mint)后立即运行 apt update 命令。

即使不是全新安装,您的 apt 缓存也可能已过时。 更新它总是一个好主意。

3. 检查软件包是否适用于您的 Ubuntu 版本

好吧! 您检查了包的名称,它是正确的。 您运行更新命令来重建缓存,但您看到无法找到包错误。

该软件包可能真的不可用。 但是您正在按照某些网站上提到的说明进行操作,其他人似乎都可以这样安装它。 可能是什么问题?

我可以在这里看到两件事。 Universe 存储库中可用的软件包并且您的系统尚未启用它,或者该软件包在您的 Ubuntu 版本上完全不可用。 不要混淆。 我会为你解释。

第一步,检查您正在运行的 Ubuntu 版本。 打开终端并使用以下命令:

lsb_release -a

您将在输出中获得 Ubuntu 版本号和代号。 代号在这里很重要:

[email protected]:~$ lsb_release -a No LSB modules are available. Distributor ID:	Ubuntu Description:	Ubuntu 18.04.3 LTS Release:	18.04 Codename:	bionic

正如你在这里看到的,我使用的是 Ubuntu 18.04,它的代号是仿生。 您可能还有其他内容,但您会在此处了解需要注意的要点。

获得版本号和代号后,请访问 Ubuntu 软件包网站:

在此页面上向下滚动一点,然后转到“搜索”部分。 您将看到一个关键字字段。 Enter 包名称(您的系统找不到),然后设置正确的分发代号。 该部分应为“任何”。 设置这三个详细信息后,点击搜索按钮。

这将显示该软件包是否可用于您的 Ubuntu 版本,如果是,它属于哪个存储库。 就我而言,我搜索了快门截图工具,这就是它为我展示的 Ubuntu 18.04 Bionic 版本:

就我而言,包名称是完全匹配的。 这意味着软件包快门可用于 Ubuntu 18.04 Bionic,但位于“Universe 存储库”中。 如果您想知道 Universe 存储库到底是什么,请参阅我之前提到的 Ubuntu 存储库文章。

如果预期的软件包可用于您的 Ubuntu 版本,但它是一个类似 Universe 或 Multiverse 的存储库,您应该启用这些额外的存储库:

sudo add-apt-repository universe multiverse

您还必须更新缓存,以便您的系统知道可通过这些存储库获得的新软件包:

sudo apt update

现在,如果您尝试安装该软件包,应该没问题。

4. 检查您是否使用的是活跃的 Ubuntu 版本

Ubuntu 有两种主要的版本。 常规版本支持九个月,而长期支持版本支持五年。

在任何一种情况下,如果您使用的 Ubuntu 版本已经到了生命周期的尽头,您将无法安装任何新软件包并看到此无法找到软件包错误。

你怎么知道你的 Ubuntu 版本是否受支持? 使用这个简单的命令来找出它:

hwe-support-status --verbose

对于我支持的版本,它显示以下输出:

You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2025.

您可能暂时忘记了硬件启用堆栈。 重要的信息是系统是否被积极支持。 在上面的例子中,我的系统支持到 2025 年 4 月。

什么都没用,现在怎么办?

如果 Ubuntu Packages 网站还显示该软件包不适用于您的特定版本,那么您必须找到其他一些方法来安装该软件包。

以快门为例。 它是适用于 Linux 的出色屏幕截图工具,但多年未更新,因此 Ubuntu 已将其从 Ubuntu 18.10 和更新版本中删除。 现在怎么安装? 值得庆幸的是,一些第三方开发人员创建了一个个人存储库 (PPA),您可以使用它来安装它。 [Please read this detailed guide to understand PPA in Ubuntu.] 您可以在 Ubuntu 的 Launchpad 网站上搜索软件包及其 PPA。

请记住,您不应该将随机(非官方)PPA 添加到您的存储库列表中。 我建议坚持您的发行版提供的内容。

如果没有 PPA,请查看项目的官方网站,看看他们是否提供了一些安装应用程序的替代方法。 一些项目提供 .DEB 文件或 AppImage 文件。 一些项目已切换到 Snap 包。

也就是说,查看项目的官方网站,检查他们是否更改了安装方法。

如果没有任何效果,则项目本身可能已停止,如果是这种情况,您应该寻找它的替代应用程序。

到底…

如果您是 Ubuntu 或 Linux 的新手,那么事情可能会让人不知所措。 这就是为什么我要介绍一些像这样的基本主题,以便您更好地了解系统中的工作原理。

我希望本教程可以帮助您处理 Ubuntu 中的包错误。 如果您有任何问题或建议,请随时在评论部分提出。