当前位置: 首页 > news >正文

【Linux精讲系列】——yum软件包管理

作者主页

📚lovewold少个r博客主页

   ⚠️本文重点Linux系统软件包管理工具yum讲解

😄每日一言:踏向彼岸的每一步,都是到达彼岸本身。

目录

前言

 Linux系统下的软件下载方式

yum

查看软件包

如何安装软件

如何卸载软件

yum下载源

更换yum源(以阿里云为例)

下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

运行 yum makecache 生成缓存

总结


前言

        无论是使用Windows还是使用安卓手机,我们的生活越来越方便离不开软件的支持。在Windows中,我们能通过软件商店或者各种各样的平台下载想要的软件来支撑自己更加舒服的使用电脑。而软件商店的出现,起一个中间管理的身份,处于客户端和服务商之间的一个平台。对于每一个使用自家设备的用户,要想保证用户体验就得避免垃圾软件和捆绑下载。

        相比较通过第三方下载的无保障,各家的软件商店起到一个分类集合以及甄别的过程,特别是对于p2p下载方式的软件。自带各家产品经理跑到用户电脑进行捆绑安装,这种流氓行为只会引起用户的投诉,要想保证软件的合理安装,各家的软件商店就得保障软件的安全可靠问题。而yum也就是Linux系统的软件管理工具。

 Linux系统下的软件下载方式

        对于一款系统,支持软件生态是必须的,Linux系统下也可以安装软件。

        一种方式是下载程序的源代码,自行编译,得到可执行程序。但是这种方式是有极大的风险的,源代码虽然可以观察,但是也可能留各种bug漏洞引起系统问题。同时对于使用者来讲,需要自行编译,这种方式是非常复杂的。

        于是有人就把一些常用的软件提前编译好,做成软件包,放在一个服务器上,通过包管理器可以很方便的获取到这个已经编译好的软件直接安装。

         yum (Yellow dog Updater,Modified) 是Linux系统下一种非常常用的包管理器,主要应用在Fedora,RedHat,Centos等发行版上。

        基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

         yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum

查看软件包

使用yum所有操作之前,首先要保证主机或者虚拟机网络畅通。

通过 ping 指令验证网络是否联通。

ping www.baidu.cow

通过 yum list 命令可以罗列当前一共有哪些软件包,由于包的数目非常多,我们需要使用 grep 命令罗列我们关注的包,例如:

yum list | grep lrzsz

结果如下:

显示结果的软件信息展示主要包含以下内容:

  • 软件包名称.主版本号.次版本号.源代码发行号-软件包的发行号.主机平台.cup架构
  • "x86_64"后缀表示64位系统的安装包,"i686"后缀表示32位系统的安装包,选择软件包的时候要与系统匹配。
  • "el7"表示操作系统的版本,"el7"表示的是centos7/redhat7,"el6"表示centos6/redhat6。
  • 最后一列,@os表示的是"软件源"的名称,类似于"小米应用商店","华为应用商店"这样的概念。

如何安装软件

通过yum,我们通过一条很简单的命令完成sl的安装。

sudo yum install sl

结果如下:

接着系统会确定是否安装,输入y确定安装即可。

出现Complete!就表示安装成功

注意事项

  •         安装软件一般需要向系统目录写入文件,因此权限上需要使用sudo指令或者切换到root账户下才能完成。
  •         yum安装软件只能安装完一个后再安装另一个,如果安装过程中尝试安装另一个yum会报错

如何卸载软件

sl为卸载软件名,我这里卸载的是sl软件。

sudo yum remove sl

yum下载源

        下载软件除了指定的部分来源,还有很多下载的地方。好比去商店买水,不是每一家都买的有一块钱的矿泉水,而yum的下载源也不止一个。

        我们知道Linux作为一个开源平台,维护和大部分系统贡献者是国外的程序员。大部分软件都是国外程序员写的,因此我们不一定能访问到他们发布的软件源。同时CentOS自带yum仓库源网址是国外的网址,所以从国内下载国外网址的rpm包有时候会很慢或者无法下载,这时可以更换国内的yum仓库源来解决这个问题。因此,为了避免软件下载缓慢和下载软件厂商不能访问到,国内将这些软件包进行集中整理,形成了不同的下载源。

国外的yum源访问速度较慢,一般情况下建议替换成国内的免费yum源。国内提供了不少优秀的yum源,例如:

  • 搜狐开源镜像站:http://mirrors.sohu.com/
  • 网易开源镜像站:http://mirrors.163.com/
  • 中国科学技术大学:   http://mirrors.ustc.edu.cn/
  • 清华大学: http://mirrors.tuna.tsinghua.edu.cn/
  • 电子科技大学:http://ubuntu.uestc.edu.cn/

更换yum源(以阿里云为例)

进入/etc/yum.repos.d目录下,可以查看yum源文件。

cd /etc/yum.repos.d

结果如下:

备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

下载需要对应Linux系统版本我这里是Centos7

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

结果如下:

运行 yum makecache 生成缓存

yum clean all
yum makecache 

结果如下:


总结

        yum(Yellowdog Updater, Modified)是一个在Linux系统中用于管理软件包的包管理工具。它通常用于基于Red Hat的发行版,如Fedora和CentOS。以下是一些常见的Yum指令及其用途的总结:

1. 安装软件包: 用于安装指定软件包及其依赖项。

yum install package_name

2. 升级软件包:用于更新特定软件包。

 yum update package_name

3. 升级系统中的所有软件包:用于更新系统中的所有软件包和依赖项。

yum update

4. 搜索软件包: 用于在仓库中搜索与关键字匹配的软件包。

yum search keyword

5. 列出已安装的软件包:用于列出系统上已安装的软件包。

yum list installed

6. 列出可用的软件包: 用于列出仓库中所有可用的软件包。

yum list available

7. 删除软件包:用于卸载指定的软件包。

yum remove package_name

8. 清理缓存:用于清理已下载的软件包文件。

yum clean packages

9. 显示软件包信息: 用于显示特定软件包的详细信息,包括版本、依赖关系等。

yum info package_name

10. 禁用或启用仓库:用于禁用或启用特定仓库,可以帮助管理软件包源。

yum-config-manager --disable repository_name
yum-config-manager --enable repository_name

11. 清除所有事务:用于清除Yum事务的缓存,可以用于解决一些包管理问题。

yum clean all

12. 检查依赖关系:用于列出指定软件包的依赖关系。

yum deplist package_name

        这些是一些常见的yum指令,用于在Linux系统上管理软件包。yum提供了强大的包管理功能,使您可以轻松地安装、更新和卸载软件包,并处理它们之间的依赖关系。


    作者水平有限,如有错误欢迎指正!


相关文章:

【Linux精讲系列】——yum软件包管理

​作者主页 📚lovewold少个r博客主页 ⚠️本文重点:Linux系统软件包管理工具yum讲解 😄每日一言:踏向彼岸的每一步,都是到达彼岸本身。 目录 前言 Linux系统下的软件下载方式 yum 查看软件包 如何安装软件 如何卸…...

浅谈一下Vue3的TreeShaking特性

什么是Treeshaking? Treeshaking是一个术语,通常用于描述移除JavaScript中无用代码的过程。 在Vue3中,借助于它的编译优化,可以显著减少打包后的大小。 Vue3的Treeshaking实现 Vue3中的Treeshaking主要通过以下两点实现: 源码级的Tree-shaking Vue3源码采用ES mo…...

【牛牛送书 | 第二期】《ChatGPT 驱动软件开发:AI 在软件研发全流程中的革新与实践》

目录 前言: 本书目录: 内容简介: 专家评价: 适合对象: 送书规则: 前言: 现如今,随着计算机技术的不断发展和互联网的普及,我们已经迈入了一个高效的信息处理和传…...

Qt基础之三十九:Qt Creator调试技巧

目录 一.开始调试(F5) 二.调试dll 1.Attach to Running Application 2.Attach to Unstarted Application 3.Start and Debug External Application...

Docker Nginx安装使用以及踩坑点总结

Docker Nginx安装使用以及踩坑点总结 拉取nginx镜像 docker pull nginx:latest运行镜像 暂时不需要配置volume挂载 docker run --name nginx -p 80:80 -d nginx参数详解: --name nginx 指定容器的名称 -p 80:80 映射端口 -d 守护进程运行 创建volume目录 mk…...

单位建数字档案室的意义和作用

单位建立数字档案室的意义和作用包括: 1.提高档案管理效率。数字档案室可以高效地收集、整理和存储电子文档,通过数字化处理,文档的查找和检索速度大幅提升。 2.降低管理成本。数字档案室可以通过节约空间和人力成本,降低管理成本…...

JavaWeb——关于servlet种mapping地址映射的一些问题

6、Servlet 6.4、Mapping问题 一个Servlet可以指定一个映射路径 <servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello</url-pattern> </servlet-mapping>一个Servlet可以指定多个映射路径 <servlet-mapping>&…...

NTRU 加密方案

参考文献&#xff1a; [Rivest97] Rivest R L. All-or-nothing encryption and the package transform[C]//Fast Software Encryption: 4th International Workshop, FSE’97 Haifa, Israel, January 20–22 1997 Proceedings 4. Springer Berlin Heidelberg, 1997: 210-218.[…...

第一章前端开发ES6基础

认识ES6 概述 ES6表示ECMAScript规范的第六版&#xff0c;正式名称为ECMAScript 2015&#xff0c;ECMAScript是由ECMA国际标准组织制定的一项脚本语言的标准规范化&#xff0c;引入了许多新特性和语法。 其中包括箭头函数、let和const声明、类、模板字符串、解构赋值、参数默…...

【算法练习Day30】无重叠区间 划分字母区间合并区间

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 无重叠区间划分字母区间合并…...

Linux部署Redis哨兵集群 一主两从三哨兵(这里使用Redis6,其它版本类似)

目录 一、哨兵集群架构介绍二、下载安装Redis2.1、选择需要安装的Redis版本2.2、下载并解压Redis2.3、编译安装Redis 三、搭建Redis一主两从集群3.1、准备配置文件3.1.1、准备主节点6379配置文件3.1.2、准备从节点6380配置文件3.1.3、准备从节点6381配置文件 3.2、启动Redis主从…...

VR结合|山海鲸虚拟展厅解决方案

方案背景 虚拟现实技术是另一项革命性的创新&#xff0c;它可以将用户带入一个完全虚拟的环境中。借助VR头盔和控制器&#xff0c;用户可以亲临虚拟现实中&#xff0c;与数字世界互动&#xff0c;仿佛置身于其中。 山海鲸根据用户实际需求变化将数字孪生与虚拟现实技术相结合…...

记一次企业微信的(CorpID)和密钥(Secret)泄漏的利用案例

文章目录 一、介绍二、利用过程1、获取AccessToken2、获取企业微信接口IP段3、获取企业微信回调IP段4、通过部门ID,查看返回的ID5、通过部门ID,查看用户列表6、通过便利ID,发现用户信息泄露,可以进行提交报告7、通过添加接口,添加企业账号8、登陆企业账号进行测试三、参考…...

使用Selenium和Java编写爬虫程序

以下是一个使用Selenium和Java编写的音频爬虫程序&#xff0c;该程序使用了proxy的代码。请注意&#xff0c;这个示例需要在IDE中运行&#xff0c;并且可能需要根据您的系统和需求进行调整。 import java.io.IOException; import java.util.List; import java.util.concurrent…...

【Java】PAT Basic Level 1023 组个最小数

题目 1024 组个最小数 作者 CAO, Peng 单位 Google 给定数字 0-9 各若干个。你可以以任意顺序排列这些数字&#xff0c;但必须全部使用。目标是使得最后得到的数尽可能小&#xff08;注意 0 不能做首位&#xff09;。例如&#xff1a;给定两个 0&#xff0c;两个 1&#xff…...

Redis中设置Hash数据类型的过期时间

1 方案 可以先对key进行赋值&#xff0c;然后对key设置一个过期时间。 &#xff08;1&#xff09;依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.3</version></dependency>…...

你真的了解CPU和GPU?

目录 先举个栗子 CPU 什么是CPU CPU的定义 CPU的组成 CPU的功能 GPU 什么是GPU GPU的定义 GPU的组成 GPU的功能 CPU和GPU的区别 先举个栗子 假设你正在编辑一份文档&#xff0c;这时可以将CPU和GPU的角色比喻为文档编辑过程中的两个不同任务。 1. CPU CPU就好比是…...

HarmonyOS开发:NodeJs脚本实现组件化动态切换

前言 上篇文章&#xff0c;我们使用NodeJs脚本完成了HarmonyOS项目的组件化运行&#xff0c;但是由于脚本是基于4.0.0.400版本的DevEco Studio开发的&#xff0c;可能在配置文件的修改上有些许差距&#xff0c;那么遇到这种情况怎么办&#xff0c;一种是再写一套针对性的脚本文…...

基于springboot实现就业信息管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现就业信息管理系统演示 摘要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;就业信息管理系统也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人…...

Vue组件的本质和手写通过render渲染函数渲染组件

1.组件的本质 组件就是一组 DOM 元素的封装&#xff0c;本质就是一个对象 (mounted函数中打印一下组件即可看到打印的是一个对象) 如何利用javascript对象来描述一个组件&#xff1f; const MyComponent {render() {return {tag: div,props: {onClick: () > alert(hell…...

基于 LlamaFactory 与 LoRA 微调开源大模型:构建高效文本分类系统的实践指南

1. 为什么选择LlamaFactoryLoRA做文本分类&#xff1f; 最近在做一个政务工单分类项目时&#xff0c;我发现传统BERT模型遇到三个头疼问题&#xff1a;标注成本高&#xff08;需要上万条数据&#xff09;、领域迁移难&#xff08;换个场景就失效&#xff09;、小样本表现差&…...

Spring Boot 3.0 + Java 17 微服务实战:用Gradle统一管理多模块依赖与版本,告别配置混乱

Spring Boot 3.0 Java 17 微服务实战&#xff1a;用Gradle统一管理多模块依赖与版本 在微服务架构中&#xff0c;依赖管理往往成为开发者的噩梦。想象一下&#xff0c;当你需要在十几个子模块中同步更新Spring Boot版本时&#xff0c;传统的做法是在每个模块的构建文件中逐一修…...

Qt QTabWidget标签页文字方向调校实战:当标签在左侧时,如何让文字乖乖水平显示?

Qt QTabWidget标签页文字方向调校实战&#xff1a;当标签在左侧时&#xff0c;如何让文字乖乖水平显示&#xff1f; 在桌面应用开发中&#xff0c;Qt框架的QTabWidget组件因其灵活性和易用性广受开发者青睐。但当我们尝试将标签页位置调整为左侧时&#xff0c;一个令人头疼的问…...

知乎上线求职工具,助力毕业生破困局

知乎上线求职利器&#xff0c;直击毕业生痛点2026届全国普通高校毕业生预计达1270万人&#xff0c;再创历史新高。与此同时&#xff0c;AI技术加速行业重构&#xff0c;部分传统岗位需求收缩&#xff0c;大量毕业生陷入“海投”困境&#xff0c;难以精准定位自身。在此背景下&a…...

【AI编程工具系列:第13篇】华为CodeArts与豆包MarsCode实战:企业级AI编程工具深度对比

摘要 本文全面对比分析华为CodeArts和豆包MarsCode两款企业级AI编程工具。华为CodeArts凭借三层融合架构&#xff08;AI原生IDE集成层、代码智能体引擎层、Codebase语义索引系统层&#xff09;&#xff0c;在安全合规、信创兼容和私有化部署方面表现卓越&#xff0c;代码补全延…...

从《阵列天线分析与综合》到HFSS实战:手把手教你仿真4x1微带天线阵(含相位扫描设置)

从理论到实践&#xff1a;HFSS中4x1微带天线阵的建模与相位扫描全解析 微带天线阵列因其低剖面、易集成和成本优势&#xff0c;在现代通信系统中扮演着重要角色。对于刚接触天线设计的工程师和学生而言&#xff0c;如何将《阵列天线分析与综合》等经典教材中的理论概念转化为可…...

为什么你的Windows 11需要专业优化:4步高效解决方案

为什么你的Windows 11需要专业优化&#xff1a;4步高效解决方案 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and cust…...

AzurLaneAutoScript:碧蓝航线全自动游戏助手,释放您的双手与时间

AzurLaneAutoScript&#xff1a;碧蓝航线全自动游戏助手&#xff0c;释放您的双手与时间 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研&#xff0c;全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAuto…...

别再只画可达空间了!宇树Z1机械臂‘死角’排查与灵活工作空间优化实战

宇树Z1机械臂死角排查与灵活工作空间优化实战指南 当宇树Z1机械臂在自动化产线上执行抓取任务时&#xff0c;工程师们常会遇到一个令人头疼的现象——某些看似可达的位姿却无法实现预期动作。这背后隐藏的往往是机械臂工作空间中的"死角"问题&#xff0c;即那些虽然理…...

Z-Image Atelier 跨平台部署:应对不同操作系统的环境配置要点

Z-Image Atelier 跨平台部署&#xff1a;应对不同操作系统的环境配置要点 最近在帮几个朋友部署Z-Image Atelier这个挺有意思的AI图像工具&#xff0c;发现大家用的系统五花八门&#xff0c;有Windows、有Ubuntu&#xff0c;还有用Mac的。结果就是&#xff0c;照着同一个教程走…...