如何修复 Ubuntu 上的“E Unable to locate package package_name”错误
Midsummer-逐梦 2024-06-23 13:37:02 阅读 58
如何修复 Ubuntu 上的“E: Unable to locate package package_name”错误
一、前言
有时,使用下面提到的 apt 命令在中【Ubuntu】安装新软件包时,使用下面的命令
sudo apt-get install package_name
产生错误输出:
Reading package lists... DoneBuilding dependency tree Reading state information... DoneE: 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 mainsudo add-apt-repository universesudo add-apt-repository restrictedsudo add-apt-repository multiverse
4.检查 Ubuntu 版本的软件包的可用性
如果你已经尝试了以前的解决方案,但你的问题没有得到解决,则可能是你正在寻找的软件包并不适用于你正在使用的 Ubuntu 版本。
可以通过运行以下命令来获取有关 Ubuntu 版本的完整信息:
lsb_release -a
输出:
No LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 18.04.5 LTSRelease: 18.04Codename: 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 文件名
这些命令搜索并查找文件执行的位置。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。