当前位置:   article > 正文

如何修复 Ubuntu 上的“E Unable to locate package package_name”错误

如何修复 Ubuntu 上的“E Unable to locate package package_name”错误
如何修复 Ubuntu 上的“E: Unable to locate package package_name”错误

一、前言

有时,使用下面提到的 apt 命令在中【Ubuntu】安装新软件包时,使用下面的命令

sudo apt-get install package_name
  • 1

产生错误输出:

Reading package lists... Done
Building dependency tree      
Reading state information... Done
E: Unable to locate package package_name
  • 1
  • 2
  • 3
  • 4

“E:Unable to Locate Package ”(E:无法定位软件包)错误表示操作系统未找到你要查找的软件包。

以错误的方式拼写软件包的名称或你的 Linux Ubuntu 版本过期可能会导致“E:Unable to locate package name ”错误。

二、错误产生的原因

收到此错误有几个原因,包括:

  • 软件包名称拼写错误
  • 存储库缓存已过期
  • 你的 Ubuntu 版本没有所需的软件包
  • 你的 Ubuntu 版本不再有效或不再受支持
  • 资源列表有问题
  • 用于安装所需软件包的主存储库不可用

三、如何修复该错误?

在这里,我们将检查并解决“E:Unable to Locate Package ”错误的所有可能原因。

1.检查包名称

由于 Ubuntu 是区分大小写的,因此实际的软件包名称拼写错误可能会导致问题。因此,在运行命令时,你必须注意大小写字母。

例如,如果文件名为“golang ”,则键入“golamg ”将不会下载所需的包。

另外,请注意软件包的名称可能与所需软件的名称不同。例如,“zlib ”在 Ubuntu 中的可安装包为“zlib1g ”。

2.更新包和存储库缓存

如果缓存不支持你所需的软件包,Ubuntu 将在安装软件和软件包时遇到问题,因此,我们必须更新 Ubuntu 存储库的软件包列表,以支持新的和更新的软件包和软件。

运行以下命令以更新 Ubuntu 存储库软件包:

sudo apt update && sudo apt upgrade -y
  • 1

随着 Ubuntu 存储库的更新,apt-cache 不再过时,并且支持新的和更新的软件包。一般来说,运行这条命令后都能解决问题,如果你再次遇到 Linux 无法定位软件包错误,请尝试其他解决方案,比如更换安装源。

3.添加主存储库以安装软件包

在旧版本的 Ubuntu 中,一个常见的问题是没有预装主存储库。这个问题在较新版本的 Ubuntu(如 Ubuntu 20.04 和 Ubuntu 22.04)中不会发生,因为它们与主存储库一起提供。

如果你使用的是旧版本的 Ubuntu,请通过运行以下命令将用于安装软件包的主存储库添加到 Ubuntu:

sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse
  • 1
  • 2
  • 3
  • 4
4.检查 Ubuntu 版本的软件包的可用性

如果你已经尝试了以前的解决方案,但你的问题没有得到解决,则可能是你正在寻找的软件包并不适用于你正在使用的 Ubuntu 版本。

可以通过运行以下命令来获取有关 Ubuntu 版本的完整信息:

lsb_release -a
  • 1

输出:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:        18.04
Codename:       bionic
  • 1
  • 2
  • 3
  • 4
  • 5

正如该命令的输出所示,我使用的 Ubuntu 版本是 18.04.5 LTS,其代号为 bionic,你的 Ubuntu 版本可能与我的不同;但是,你可以通过访问Ubuntu 软件包官方网站查找适用于你的 Ubuntu 版本的软件包。

搜索结果如果显示包含在 Universe 或 Multiverse 存储库中,你将再次看到错误“E:无法定位包”,因为这些存储库在 Ubuntu 系统中不可用。

如果要搞定,你需要将相关的存储库添加到 Ubuntu:

sudo add-apt-repository universe multiverse
  • 1

现在,要向这些存储库通知新的软件包,你需要使用以下命令更新存储库缓存:

sudo apt update
  • 1

四、如何在 Linux 中找到软件包的位置?

安装的软件通常位于 bin 文件夹中,如“/usr/bin ”或“/home/user/bin ”。此外,你可以在 Ubuntu 中使用多个命令轻松定位软件包:

find name 文件名 /搜索路径
  • 1
which 文件名
  • 1

这些命令搜索并查找文件执行的位置。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/440326
推荐阅读
相关标签
  

闽ICP备14008679号