如何修复 Ubuntu 上的“E Unable to locate package package_name”错误
如何修复 Ubuntu 上的“E: Unable to locate package package_name”错误
一、前言
有时,使用下面提到的 apt 命令在中【Ubuntu】安装新软件包时,使用下面的命令
sudo apt-get install package_name
产生错误输出:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package package_name
“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
随着 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
4.检查 Ubuntu 版本的软件包的可用性
如果你已经尝试了以前的解决方案,但你的问题没有得到解决,则可能是你正在寻找的软件包并不适用于你正在使用的 Ubuntu 版本。
可以通过运行以下命令来获取有关 Ubuntu 版本的完整信息:
lsb_release -a
输出:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
正如该命令的输出所示,我使用的 Ubuntu 版本是 18.04.5 LTS,其代号为 bionic,你的 Ubuntu 版本可能与我的不同;但是,你可以通过访问Ubuntu 软件包官方网站查找适用于你的 Ubuntu 版本的软件包。
搜索结果如果显示包含在 Universe 或 Multiverse 存储库中,你将再次看到错误“E:无法定位包”,因为这些存储库在 Ubuntu 系统中不可用。
如果要搞定,你需要将相关的存储库添加到 Ubuntu:
sudo add-apt-repository universe multiverse
现在,要向这些存储库通知新的软件包,你需要使用以下命令更新存储库缓存:
sudo apt update
四、如何在 Linux 中找到软件包的位置?
安装的软件通常位于 bin 文件夹中,如“/usr/bin ”或“/home/user/bin ”。此外,你可以在 Ubuntu 中使用多个命令轻松定位软件包:
find name 文件名 /搜索路径
which 文件名
这些命令搜索并查找文件执行的位置。
原文地址:https://blog.csdn.net/qq_46396470/article/details/137718253
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!