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

2024-04-13 22:20

本文主要是介绍如何修复 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 文件名

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

这篇关于如何修复 Ubuntu 上的“E Unable to locate package package_name”错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/901379

相关文章

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc