• 日常搜索
  • 端口查询
  • IP查询
  • 在线工具
  • 搜本站

E: Unable to Locate Package错误解决方法

在本文中,我们将了解如何解决该错误E: Unable to Locate Package。

E: Unable to Locate Package错误解决方法  第1张

什么是“E:无法找到包”错误?

错误已经很清楚了,你自己也能理解。因此,您尝试安装软件包或应用程序,但收到错误“E:无法找到 package_name”。

它只是意味着 Linux 无法找到您要安装的软件包,这是 Ubuntu 或 APT 用户中的常见错误。

出现“E:无法找到包”错误的原因

我们还必须了解主要原因才能更好地理解错误。

在 Ubuntu 中安装软件包时,您将使用默认的 APT 软件包管理器。您可以使用 apt-get 或 apt 来安装该软件包。执行此操作的命令如下。

$ sudo apt-get install package-name

如果一切正常,您将不会看到任何错误。该软件包将按预期安装。但是,有时您会收到“E:无法找到包 package_name”。输出如下所示。

#output
Reading package lists... Done 
Building dependency tree       
Reading state information... Done 
E: Unable to locate package package_name
生错误时,Linux 无法找到该包。因此,我们有责任解决这个问题并确保它不再发生。

在尝试修复它之前,您必须了解原因。可能导致错误的一些原因包括:

  • 您拼错了包名称——这是最常见的。

  • 资源列表引发了问题

  • Ubuntu 存储库缓存不支持新包

  • Ubuntu版本的支持期已过

  • 该软件包版本不适用于您正在使用的 Linux 版本

  • 主呼吸无法安装所需的软件包

解决“无法找到包”错误的方法

在本节中,我们将了解解决该错误的不同方法。

1、包名称 - 您输入正确吗?

Linux 用户常犯的错误之一是“不”正确输入包名称。所以,如果你犯了一个简单的拼写错误,Ubuntu 就会抛出错误。

让我们看一下安装图像处理工具 Gimp 时的示例。 

$ sudo apt-get install gump
#output$ sudo apt-get install gumpReading package lists... Done

Building dependency tree... Done

Reading state information... Done

E: Unable to locate package gump
正如预期的那样,您将得到“E:无法找到包 Gump”。毕竟,那里不存在“gump”包。

拼写错误发生的频率比您想象的要高。这是因为 Linux 是区分大小写的,即使你正确输入了包名,也可能会因为大小写而无法工作。因此,如果您尝试通过将 gimp 命名为 Gimp 来安装它,它仍然会失败。

$ sudo apt-get install gump
Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

E: Unable to locate package gump

所以,安装gimp的唯一方法就是正确输入包名。

$ sudo apt-get install gimp

但是如果您需要正确知道包名称怎么办?在这种情况下,您可以使用 apt search 命令来查找它。例如,如果您正在寻找包含“monkey”的包,但不确定其全名,则运行以下命令来获取可用的包名称。

$ apt search monkey
p   graphmonkey                     - a GTK#-based graphing calculator          
p   libex-monkeypatched-perl        - experimental API for safe monkey-patching 
p   libmonkey-patch-action-perl     - module to monkey-patching subs from other 
p   libmonkey-patch-perl            - scoped monkey-patching Perl module        
p   libtwelvemonkeys-java           - collection of plugins and extensions for J
p   libtwelvemonkeys-java-doc       - Documentation for libtwelvemonkeys-java   
p   monkeysphere                    - leverage the OpenPGP web of trust for SSH 
v   monkeysphere-validation-agent   -                                           
v   node-fs-monkey                  -                                           
p   searchmonkey                    - search files using regular expressions aim

2、更新包列表/存储库缓存

Ubuntu 与存储库的交互方式不同。它不是下载整个呼吸,而是构建本地缓存。本地缓存包含可用包的列表。

当您运行 sudo apt update 时,Ubuntu 会创建本地缓存。

$ sudo apt update

运行 apt-get install 命令后,APT 包管理器将在缓存中搜索该包。在通过互联网从在线存储库下载软件包之前,它将获取版本等信息。

因此,如果该软件包未在缓存中列出,Ubuntu 将抛出错误,让您知道。 

当您第一次安装 Ubuntu 或基于 Debian 的 Linux 发行版(例如 Linux Mint)时,会发生这种情况。由于缓存不是使用最新信息构建的,因此即使安装标准包也可能会导致错误。如果您有全新的 Ubuntu 安装,请至少运行一次 sudo apt update 以构建本地缓存。

在某些情况下,可能需要更新缓存。然后,您必须使用 apt update 命令更新它。

您还应该在更新之前清理缓存。为此,请运行以下命令。

$ sudo apt clean && sudo apt update

3、检查可用的包

即使您输入正确的包名称并使存储库缓存保持最新,您仍然可能在 Ubuntu 中收到“无法找到包”错误。发生这种情况是因为该软件包不可用 - 无论您如何尝试,都无法安装该软件包。

那么,你有什么选择呢?

您需要了解 Universe 存储库才能了解您的选项。一般来说,Linux系统默认是不启用它的,这可能会导致错误。或者您正在运行的 Ubuntu 版本无法访问您尝试下载和安装的软件包。

要检查您的 Ubuntu 是否过时,您首先需要检查其版本。您可以通过运行以下命令来完成此操作。

nitt@logan99:~$ lsb_release -a
#output
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy

我正在使用最新的稳定 22.04 LTS 版本,代号为Jammy。出色的; 记下它们,然后前往Ubuntu 软件包网站。

在此页面上,您可以手动搜索包。它有一个漂亮的搜索部分,您可以在其中输入关键字进行搜索。关键字可以是包名称或任何可以帮助您精确定位包的内容。

因此,现在您所需要做的就是输入包名称并按“搜索”按钮。

E: Unable to Locate Package错误解决方法  第2张

由于 gimp 是一个已知的软件包,因此我们得到了准确的命中。

E: Unable to Locate Package错误解决方法  第3张

而且,如果您仔细观察,您会发现它在 Universe 存储库中可用。要下载并安装该软件包,您必须访问 Jammy 22.04 LTS 版本的 Universe 存储库。

现在,您确定该软件包适用于您的 Ubuntu 版本。接下来,您需要启用存储库。要启用存储库,请运行以下命令。

$ sudo apt-add-repository universe multiverse

上述命令启用 Universe 和 Multiverse 存储库。

E: Unable to Locate Package错误解决方法  第4张

完成后,请确保再次重建缓存。

$ sudo apt update

您还可以安装其他存储库,例如主存储库和受限存储库。运行以下命令来执行此操作。

$ sudo apt-add-repository main
$ sudo apt-add-repository restricted

但是如果该软件包不适用于您的 Ubuntu 版本怎么办?在这种情况下,您必须使用第三方存储库,例如 PPA。您可以在这里阅读更多相关信息:什么是 Ubuntu PPA 以及如何安装它? 

4、确保您运行的是活跃的 Ubuntu 版本

Ubuntu 提供 LTS 版本,提供 3 或 5 年的长期支持。这可能会导致许多用户不更新到受支持的版本,从而使操作系统无法接收任何新更新。一旦您的 Ubuntu 版本结束,您将无法安装新软件包,并且会收到“无法找到软件包”错误。

要检查您的 Ubuntu 是否仍受支持,请运行以下命令。

$ hwe-support-status --verbose
#output
nitt@logan99:~$ hwe-support-status --verbose
You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2027.
nitt@logan99:~$

如您所见,我的 Ubuntu 版本支持到 2027 年 4 月。您可以忽略硬件启用堆栈,因为它与主题无关。

如果您的 Ubuntu 版本不受支持,您只需升级到最新的 LTS 版本。

5、修复存储库

如果没有解决“无法定位包”错误,那么就需要手动检查 Ubuntu 的源代码了。列表文件。

该文件包含所有与存储库相关的数据。您需要访问 /etc/apt/sources.list 文件。

一般来说,您必须检查存储库链接是否有效并与倌方列表匹配。要进行检查,请访问倌方发行版的网站并查找信息。

如果什么都不起作用怎么办?

尝试所有的可能性。例如,您可以开始寻找支持您的 Ubuntu 版本的旧版本软件包。您可以通过第三方个人存储库 (PPA) 找到它们。 如果您找不到包含该软件包的 PPA,请检查倌方网站以获取您想要的软件。通常,它们提供直接下载包文件的方法。如果一切都失败了,那么最好寻找替代应用程序。

END!!!

文章目录
  • 什么是“E:无法找到包”错误?
  • 出现“E:无法找到包”错误的原因
  • 解决“无法找到包”错误的方法
    • 1、包名称 - 您输入正确吗?
    • 2、更新包列表/存储库缓存
    • 3、检查可用的包
    • 4、确保您运行的是活跃的 Ubuntu 版本
    • 5、修复存储库
  • 如果什么都不起作用怎么办?
  • 发表评论