在本文中,我们将了解如何解决该错误E: Unable to Locate Package。
什么是“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
在尝试修复它之前,您必须了解原因。可能导致错误的一些原因包括:
您拼错了包名称——这是最常见的。
资源列表引发了问题
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
拼写错误发生的频率比您想象的要高。这是因为 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 软件包网站。
在此页面上,您可以手动搜索包。它有一个漂亮的搜索部分,您可以在其中输入关键字进行搜索。关键字可以是包名称或任何可以帮助您精确定位包的内容。
因此,现在您所需要做的就是输入包名称并按“搜索”按钮。
由于 gimp 是一个已知的软件包,因此我们得到了准确的命中。
而且,如果您仔细观察,您会发现它在 Universe 存储库中可用。要下载并安装该软件包,您必须访问 Jammy 22.04 LTS 版本的 Universe 存储库。
现在,您确定该软件包适用于您的 Ubuntu 版本。接下来,您需要启用存储库。要启用存储库,请运行以下命令。
$ sudo apt-add-repository universe multiverse
上述命令启用 Universe 和 Multiverse 存储库。
完成后,请确保再次重建缓存。
$ 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!!!
- 1、包名称 - 您输入正确吗?
- 2、更新包列表/存储库缓存
- 3、检查可用的包
- 4、确保您运行的是活跃的 Ubuntu 版本
- 5、修复存储库
发表评论