解决Ubuntu上的“E: Unable to locate package”错误

时间:2020-01-09 10:45:44  来源:igfitidea点击:

在Ubuntu中安装软件的许多方法之一是使用apt-get或者apt命令。我们打开终端并使用程序名称来安装它,如下所示:

sudo apt install package_name

有时,尝试以这种方式安装应用程序时可能会遇到错误。该错误显示为:

sudo apt-get install package_name
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package package_name

在Ubuntu上修复了"无法找到软件包错误"

1.检查包装名称

这应该是要检查的第一件事。命令打对了吗?

2.更新存储库缓存

如果这是安装后第一次使用系统,则应运行update命令:

sudo apt update

基本上," apt update"命令建立可用软件包的本地缓存。

使用install命令时,apt软件包管理器将搜索高速缓存以获取软件包和版本信息,然后通过网络从其存储库中下载它。如果软件包不在此缓存中,则系统将无法安装它。

当我们全新安装了Ubuntu系统时,缓存为空。这就是为什么在安装Ubuntu或者任何其他基于Ubuntu的发行版(例如Linux Mint)之后立即运行apt update命令的原因。

即使不是全新安装,apt缓存也可能已过时。更新它总是一个好主意。

3.检查软件包是否适用于Ubuntu版本

好的!我们检查了软件包的名称,它是正确的。我们运行update命令来重建缓存,但是我们看到无法找到包错误。

该软件包确实可能不可用。

第一步,检查我们正在运行的Ubuntu版本。打开一个终端并使用以下命令:

lsb_release -a

我们将在输出中获得Ubuntu版本号和代号。代号在这里很重要:

theitroad@localhost:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.3 LTS
Release:	18.04
Codename:	bionic

如果所需的软件包可用于Ubuntu版本,但它是诸如Universe或者multiverse之类的存储库,则应启用以下添加存储库:

sudo add-apt-repository universe multiverse

我们还必须更新缓存,以使系统知道可通过以下存储库获得的新软件包:

sudo apt update

现在,如果我们尝试安装该软件包,则应该一切正常。

4.检查我们是否正在使用活动的Ubuntu版本

Ubuntu有两种主要的发行版本。常规版本的支持期为9个月,而长期支持版本的支持期为5个月。

在任何一种情况下,如果我们使用的Ubuntu版本均已到期,则将无法安装任何新软件包,并看到此错误找不到软件包错误。

我们如何知道Ubuntu版本是否受支持?使用以下简单命令找出来:

hwe-support-status --verbose

对于我支持的版本,它显示以下输出:

You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2025.