一文教你完美解决Linux中Unable to locate package xxx问题,解决不了你打我!

2023-05-16

项目场景:

使用Ubuntu系统进行开发


问题描述

这两天跟着一门网 课学 把html的网页部署到云服务器,于是租了个Ubuntu云服务器,照着网课的代码去执行,然后一直出现这个问题,各种包都找不到,以及之前用Ubuntu的时候也出现过这个问题,从网上搜了30个中文的回答,解决方案大抵一致,全都试了一遍无果,于是开始利用google搜索引擎,还有bing搜索的国际版(全英文),然后令我大吃一惊,第一个搜索到的内容就成功解决了我的问题!不得不说,计算机的问题还得是用google搜索,或者bing国际版,去看英文的回答比较准确,为什么呢,因为一是中文的回答大多都是转载,内容雷同较高,虽然能解决我们平时的大部分问题,但有些问题是解决不了的,所以这种时候就需要去看英文版的文章。


原因分析:

有多种原因,最多的一种还是软件源没更新,采用sudo apt-get update解决但还有很多其他的原因


解决方案:

先附上原文链接点此查看原文章

在Ubuntu中安装软件的众多方法之一是使用apt-get命令,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

1.检查包名称

首先,我们一定要检查一下包名称,这个很多人都会犯得一个错误,比如你尝试安装vlc,但你可能输入的是vcl,这样就不行

此外,Linux中的命令是区分大小写的,请确保你输入的是vlc而不是Vlc或者VLC

2. 更新存储库缓存

如果这是你在安装后第一次使用系统,则应该运行update命令  sudo apt-get update

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

当你前两步都已经确认无误,而且其他人用这个代码没有问题,而你依旧存在问题时,很有可能是软件包不适用于你的Ubuntu版本

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

lsb_release -a

 你将会看到你的版本号和代号,这个代号非常重要

如上图所示,我的版本号是22.04,codename是jammy ,一旦你知道了你的版本号和codename,就直接进入Ubuntu Packages这个网站Ubuntu Packages,进入之后下拉,找到搜索这里

 然后输入keyword也即使你要安装的包的名称,我这里是想安装yun,但一直找不到,然后Distribution就填你的codename,版面就选择any,然后点击搜索

搜索结果如图所示,发现在Jammy版中并没有yum这个包,难怪我找不到!!! 这下问题就迎刃而解了,然后又查了一下,一般都是Centos系统中会用到yum,Ubuntu中一般都用sudo apt-get  install就可以

如果预期的软件包可用于您的 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.

什么都没用,现在怎么办?

如果 Ubuntu 软件包网站还显示该软件包不适用于您的特定版本,那么您必须找到一些其他方法来安装软件包。

以快门为例。它是Linux的优秀屏幕截图工具,但它多年来没有更新,因此Ubuntu已将其从Ubuntu 18.10和更新版本中删除。现在怎么安装?值得庆幸的是,一些第三方开发人员创建了一个个人存储库(PPA),您可以使用它进行安装。[请阅读此详细指南以了解Ubuntu 中的 PPA。您可以在 Ubuntu 的 Launchpad 网站上搜索软件包及其 PPA。

请记住,您不应该将随机(非官方)PPA 添加到您的仓库列表中。我建议坚持使用您的发行版提供的内容。

如果没有 PPA,请查看项目的官方网站,看看它们是否提供了一些安装应用程序的替代方法。一些项目提供.DEB文件或应用图像文件。某些项目已切换到Snap 包。

换句话说,检查项目的官方网站并检查他们是否更改了安装方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一文教你完美解决Linux中Unable to locate package xxx问题,解决不了你打我! 的相关文章

  • 如何使用 bash 脚本关闭所有终端,在每个终端中有效地按 Ctrl+Shift+Q

    我经常打开许多终端 其中一些正在运行重要的进程 例如服务器 而另一些则没有运行任何东西并且可以关闭 如果您按 重要 则会弹出确认提示Cntrl Shift Q在其中 如下所示 我想要一个 bash 脚本 它可以关闭所有终端 但将 重要 终端
  • 在中断时获取 current->pid

    我正在Linux调度程序上写一些东西 我需要知道在我的中断到来之前哪个进程正在运行 当前的结构可用吗 如果我在中断处理程序中执行 current gt pid 我是否可以获得我中断的进程的 pid 你可以 current gt pid存在并
  • 如何阅读shell命令的源代码?

    我想阅读编写linux命令的实际源代码 我已经获得了一些使用它们的经验 现在我认为是时候与我的机器进行更深层次的交互了 我在这里找到了一些命令http directory fsf org wiki GNU http directory fs
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • UDP 广播发送失败:在 Linux 2.6.30 上“网络无法访问”

    我用udp广播写了一个程序 代码段如下 struct sockaddr in broadcast addr socklen t sock len sizeof broadcast addr bzero broadcast addr sock
  • 如何在两个不同帐户之间设置无密码身份验证

    我们可以在两台机器的两种不同用途之间设置无密码身份验证吗 例如 计算机A有用户A 计算机B有用户B 我们可以设置密码 ssh 以便计算机 A 上的用户 A 使用其用户帐户 A 登录计算机 B 谢谢你 如果我理解你的问题 你能设置一下吗ssh
  • 远程linux服务器到远程linux服务器大型稀疏文件复制 - 如何?

    我有两台 CentOS 5 4 服务器 每台服务器上都安装了 VMware Server 假设我始终对 vmware 虚拟机使用稀疏文件 将虚拟机文件从一台服务器复制到另一台服务器的最可靠 最快速的方法是什么 虚拟机的文件复制起来很痛苦 因
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • 如何仅将整个嵌套目录中的头文件复制到另一个目录,在复制到新文件夹后保持相同的层次结构

    我有一个目录 其中有很多头文件 h 和其他 o 和 c 文件以及其他文件 这个目录里面有很多嵌套的目录 我只想将头文件复制到一个单独的目录 并在新目录中保留相同的结构 cp rf oldDirectory newDirectory将复制所有
  • sqlite 插入需要很长时间

    我正在将不到 200 000 行插入到 sqlite 数据库表中 我只是在终端中通过 sqlite3 使用一个非常简单的 sql 文件 我打赌它已经运行了至少 30 分钟 这是正常现象还是我应该关闭该过程并尝试不同的方法 sqlite中的插
  • R 未获取用户库

    我有一个带 R 3 6 0 的 Fedora 30 系统 用户库设置在Renviron就像这个 R LIBS USER R LIBS USER R x86 64 redhat linux gnu library 3 6 事实上 它出现在交互
  • 进程名称长度的最大允许限制是多少?

    进程名称允许的最大长度是多少 我正在读取进程名称 proc pid stat文件 我想知道我需要的最大缓冲区 我很确定有一个可配置的限制 但就是找不到它在哪里 根据man 2 prctl http man7 org linux man pa
  • 如何从类似于 eclipse 的命令行创建可运行的 jar 文件

    我知道 eclipse 会生成一个可运行的 jar 文件 其中提取并包含在该 jar 文件中的所有库 jar 文件 从命令提示符手动创建 jar 文件时如何执行类似的操作 我需要将所有 lib jar 解压到类文件夹中吗 目前我正在使用 j
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • 如何从 Linux 命令行获取视频文件的分辨率(宽度和高度)?

    我一直在挖掘 mplayer mencoder 和 ffmpeg 文档 但我似乎无法想出anything 我对输出格式不是特别挑剔 因为我可以使用正则表达式将其拉出来 我只是似乎无法首先获取数据 Use ffprobe https ffmp
  • NLTK:包错误?朋克和泡菜?

    基本上 我不知道为什么会收到此错误 只是为了获得更多图像 这里有一个代码格式的类似消息 由于是最新的 该帖子的答案已经在消息中提到 Preprocessing raw texts LookupError Traceback most rec
  • 如何从linux命令行运行.exe可执行文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Windows 中有一个 abc exe 可执行文件 我可以使用 DOS 命令提示来执行此应用程序 并为其提供一些运行时变量 我想从
  • 如何查明 Ubuntu 上安装了哪个版本的 GTK+?

    我需要确定 Ubuntu 上安装了哪个版本的 GTK 男人似乎不帮忙 这个建议 https stackoverflow com a 126145 会告诉您安装了哪个 2 0 的次要版本 不同的主要版本将具有不同的包名称 因为它们可以在系统上
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将

随机推荐

  • Springboot+PageHelper实现分页(前后端简单展示)

    Springboot 43 PageHelper实现分页 前后端简单展示 创建表及赋值 创建表 DROP TABLE IF EXISTS 96 page learn 96 CREATE TABLE 96 page learn 96 96 i
  • SpringBoot缓存注解使用(无数据库操作)

    SpringBoot缓存注解使用 无数据库操作 缓存注解介绍 64 EnableCaching注解 xff1a 开启注解缓存的支持 64 Cacheable注解 xff1a 对方法的查询结果进行缓存 64 CachePut注解 xff1a
  • JavaScript(基于Java开发的学习)

    JavaScript 基于Java基础学习 JavaScript结构图 1 JS简介 JavaScript xff08 行为 xff09 xff1a 是一种弱类型脚本语言 xff0c 其源码不需经过编译 xff0c 而是由浏览器解释运行 x
  • MyBatis框架

    MyBatis学习结构 1 MyBatis框架简介 MyBatis是一款优秀的持久层框架 它支持定制化SQL 存储过程以及高级映射 MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集 MyBatis可以使用简单的XML或
  • springboot+vue实现增删改查小demo

    学习vue xff0c 就想着自己搭建一个框架学习一下 xff0c 本文属于vue与后台的增删改查入门demo xff0c 不做讲解 xff0c 只为了记录一下代码 后台框架前台框架的搭建自己百度就可以做到了 项目的源码地址 https g
  • JWT(Json web token)

    1 什么是JWT 官网地址 JSON Web Token Introduction jwt io 翻译 jsonwebtoken xff08 JWT xff09 是一个开放标准 xff08 rfc7519 xff09 xff0c 它定义了一
  • MyBatis-plus

    MyBatis plus学习结构图 1 MyBatis plus简介 为什么要学习它呢 MyBatisPlus可以节省我们大量工作时间 xff0c 所有的CRUD代码它都可以自动化完成 JPA tk mapper MyBatisPlus 偷
  • QT制作简易串口

    QT 实现一个简易版串口调试助手 文章目录 1 设计 UI 界面 2 具体代码编写 3 最终实现效果图 一 设计 UI 界面 设计 UI 界面之前 xff0c 让我们先看一下别人设计的串口助手大概长什么样子 xff0c 具体有哪些功能 我们
  • MVC的执行流程

    MVC的执行流程 1 执行服务器2 发送请求到tomcat3 响应客户端总结 1 执行服务器 根据配置创建DispatcherServlet对象 这个对象已创建 xff0c 会根据contextConfigLocation的配置查找spri
  • KVM 虚拟化

    kvm虚拟化 Kvm的安装 KVM下的虚拟机安装和相互访问约束 推荐下载TightVNC 也可以使用 VNCSever 一 虚拟化产品介绍 linux类的虚拟化软件 qemu xff0c 软件纯模拟全虚拟化软件 xff0c 特别慢 xen
  • Linux服务器连接失败,针对ping不通和无法上网问题 CentOS 7

    1 防火墙是否关闭 防火墙关闭命令 xff1a systemctl stop firewalld service 关闭 systemctl start firewalld service 重启防火墙 systemctl disable fi
  • 数据挖掘Java——KNN算法的实现

    一 KNN算法的前置知识 k 近邻 xff08 kNN k NearestNeighbor xff09 是在训练集中选取离输入的数据点最近的k个邻居 xff0c 根据这个k个邻居中出现次数最多的类别 xff08 最大表决规则 xff09 x
  • 数据挖掘Java——DBSCAN算法的实现

    一 DBSCAN算法的前置知识 DBSCAN算法 xff1a 如果一个点q的区域内包含多于MinPts个对象 xff0c 则创建一个q作为核心对象的簇 然后 xff0c 反复地寻找从这些核心对象直接密度可达的对象 xff0c 把一些密度可达
  • 数据挖掘Java——Kmeans算法的实现

    一 K means算法的前置知识 k means算法 xff0c 也被称为k 平均或k 均值 xff0c 是一种得到最广泛使用的聚类算法 相似度的计算根据一个簇中对象的平均值来进行 算法首先随机地选择k个对象 xff0c 每个对象初始地代表
  • Git Bash中怎么复制与粘贴

    git里面的复制粘贴 一 第一种键盘复制粘贴 右击 xff0c 把git bash应用的Options 配置项打开 复制 ctrl 43 insert 粘贴 shift 43 insert 二 第二种鼠标复制粘贴 1 选中你要复制的部分 x
  • 最新版 springboot集成kafka

    在上一篇文章中介绍了怎么在mac系统上搭建kafka xff0c 既然搭建成功了 xff0c 肯定要集成到项目中使用啊 xff0c 但是怎么集成呢 xff0c 这里把我本人集成的代码以及怎么一步步集成的放上来 xff0c 源码也会在本文的后
  • Python循环输出1~100,每10个换一行

    for i in range 1 101 print i end 61 34 34 if i 10 61 61 0 print
  • JavaScript中matches和match方法

    matches 主要是用来判断当前DOW节点是否能完全匹配对应的CSS选择器 xff0c 如果匹配成功 xff0c 返回true xff0c 反之则返回false 语法如下 xff1a element mathces seletor 这个方
  • Row size too large (> 8126). Changing some columns to TEXT or BLOB… | Mysql / MariaDB

    Row size too large gt 8126 Changing some columns to TEXT or BLOB Mysql MariaDB 我们最近将客户网站迁移到新服务器 xff0c 并在尝试导入其数据库时遇到以下错误
  • 一文教你完美解决Linux中Unable to locate package xxx问题,解决不了你打我!

    项目场景 xff1a 使用Ubuntu系统进行开发 问题描述 这两天跟着一门网 课学 把html的网页部署到云服务器 xff0c 于是租了个Ubuntu云服务器 xff0c 照着网课的代码去执行 xff0c 然后一直出现这个问题 xff0c