当前位置: 首页 > 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…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...