Linux | 软件包管理器——yum的使用

news2024/12/28 18:54:50

在这里插入图片描述

在这里插入图片描述

文章目录

  • 一、什么是软件包
  • 二、有关软件使用的背景讲解
    • 1、如何去下一个软件呢?过程是怎样的?
    • 2、软件的商业利益分析
    • 3、Linux开源社区的生态链
    • 4、Linux中软件的分类和选择
  • 三、yum的使用
    • 1、说在前面【注意事项】
    • 2、如何查看软件包
    • 3、软件的安装和卸载
  • 四、yum源
    • 1、探索yum源🔨理清内部脉络
    • 2、如何修改自己的yum源❓
    • 3、寻找失踪的软件🗡
  • 五、总结与提炼

一、什么是软件包

可能读者还不太了解软件包是什么概念,这里首先来讲讲什么是软件包

  • 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
  • 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系.
  • yum(Yellow dog Updater, Modified)是Linux下非常常用的一种【包管理器】. 主要应用在Fedora, RedHat, Centos等发行版上.

二、有关软件使用的背景讲解

接下去讲讲有关我们在日常生活中使用软件的背景

1、如何去下一个软件呢?过程是怎样的?

在这之前我要先问一个问题:我们经常在应用商店里下载的软件,是放在本地的还是远程的呢?

  • 假设此时若是要下个QQ,手机应该是通过网络向远方去请求,在服务器中找到QQ的二进制或者apk文件下下来安装在手机上
    在这里插入图片描述
  • 看了这张图后,其实就可以回答上面的问题了:手机上用的应用商店是帮我们去下东西的,可是东西本身并不是在本地而在远端

2、软件的商业利益分析

  • 上面简单地介绍了一款软件要如何下载下来,对于软件而言我们日常生活中也会碰到过很多,也会使用到很多的软件,但是你是否有想过,在这些软件背后有着什么商业利益呢?
  • 我以后想从事的工作就是软件开发工程师,在市场上有着很多的公司都从事着软件开发的业务,我们都知道对于软件这一行有着很高的薪资,所以公司就要给那些工程师付工资,但是对于很多软件而言都是免费的,这么看来的话许多公司它们拿什么东西来赚钱呢?

广告!广告!广告!

  • 最简单的一个例子,我们平常在进CSDN手机端的时候总会弹出【3s ~ 5s】的广告。因为什么?当然是因为给一些东西打广告那些广告商可以给你钱喽( $ _ $ )

在这里插入图片描述

  • 像我们平在使用QQ、微信聊天的时候,马化腾有要过你一分钱吗,用钱的地方都在软件内部,这其实就是为了先把你吸引过来,让你的注意力可以在他们的产品上,然后呢再向推送一些广告,此时他就可以赚到钱了
  • 那有同学就问:对于我们的Linux而言,为什么没有广告呢?那我回答说:Linux是纯命令行的操作系统,连界面都没有,别人怎么给你推广告呢😢

3、Linux开源社区的生态链

我们都知道,对于Linux而言,它是一块开源的操作系统,既然是一款开源的操作系统,那么就会开源社区来供一些开发者交流讨论

  • Linux既然是一款操作系统,那它的运就要用到服务器,那么既然是服务器就需要去维护,维护那一定是需要成本和工费的,对于一款免费的操作系统而言,它们获取不到用户的任何利益,不像Windows那样若是要购买正版的操作系统就需要付费,那它们靠什么来生存呢?为何Linux可以持续地发展这么多年呢?
  • 这你要知道,Linux中大部分软件都是开源的,开源不一定免费【红帽 redhat】。Linux社区除了可以让一些钻研技术的人可以找到战友、互相学习交流、进行技术讨论,迭代Linux,让Linux更好,让想学Linux有更多的资源。那有了这么好的环境,这么好的组织之后,谁最不希望Linux黄掉、掉下呢?那就是使用Linux的这些用户们
  • 所以当Linux社区想要买服务器但是没有钱的时候,就会有那些不想让Linux黄掉的公司、企业出来捐款。此时Linux才可以继续地维护下去

在这里插入图片描述

  • 因此可以看到,虽然Linux操作系统是开源的,也有自己的生态。但是对比那些需要付费的操作系统来说。:Linux可以尽快影响全世界,比那些收费软件传播的速度更快。也有自己的社区,乐于接收捐赠,所以才可以维持这么多年一直发展。当然Linux的经济来源不仅仅限于捐赠,不然没人给它捐不就完蛋了。

到这里对Linux的生态链一定有了一定的了解,我们再去说Linux中的软件包就会有不一样的感觉了

4、Linux中软件的分类和选择

首先浅谈Linux中的软件分类

  • 在Linux中,分为两种软件,一个是【官方软件】,一个是【扩展软件】
  • 官方软件:常见,能叫得上名字的【推荐使用】
  • 扩展软件:不属于官方软件【后面奥讲到的sl】
    • 对于扩展软件而言扩展软件被用上两三年后被用户觉得好就会被纳入官方软件

接下去说说如何去选择一款软件

正确选择👉【版本不新但不是特别老的软件】

  • 我在使用的Linux系统是CentOS7,市面上有很多的Linux相关版本的操作系统,比如红帽【和CentOS很像】、红旗、Fedara、Debian 、Ubuntu 等等,但是我为什么选择CentOS7呢?
  • 对于Windows操作系统来说我使用的是Win10,但是面对已经发布了半年的【Win11】,我为什么不选择它呢?

  • 接下去我就通过企业和软件本身带来的影响谈谈上面的两个问题
  • 因为越新的软件可能缝缝补补了其他的问题,但是一定会有新的问题。像一些新的操作系统虽然解决了一些其他问题,但一定会面临着一些新的问题
  • 老的软件问题已经都暴露了,坑都已经被踩过了。新软件也有问题,但是坑没有被踩过,一旦出现问题对于企业来讲是致命的,没有好的方法去解决,这个问题还在挖掘,所有企业都不想成为第一个吃螃蟹的人
  • 因此企业会采用问题都已经暴露了,评估出来问题不会影响到自己,而且这个操作系统比较经典的

看完我上面的陈述,相信你对软件如何去选择应该有了自己的一个想法了💡

三、yum的使用

好,讲完一些有关软件的背景后,我们正式地来说说yum的使用

1、说在前面【注意事项】

  • 对于yum的所有操作,都是要建立在网络通常的情况下进行的,所以我们要先来测试一下网络是否通畅
  • 按下Win + D,然后选择【cmd】打开命令窗口之后执行下面这条语句即可
ping www.baidu.com  	//访问百度
  • 如果看到了我下面这些信息之后就可以保证你的网络是通常的

在这里插入图片描述

2、如何查看软件包

要安装应用软件那就要先进入到【应用商城】中,这里我们就要先来看看我们的Linux中的有哪些yum

  • 我们首先执行一下这条语句。意思就是列出当前所有的yum清单,但是要带有【sl】字样,【grep】是我们前面所学的指令,用来带有指定字样的内容
yum list | grep sl

通过查看yum就可以看到下面的各种软件了
在这里插入图片描述

  • 最左列的就是各种操作系统下的软件名称,包括主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
  • “x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配.❗
  • 中间一列就是它所发行的版本。【比如el7表示的就是centos7/redhat7】【“el6” 表示 centos6/redhat6】
  • 最右侧的@后面的名称就是这个yum它的**发行商【yum源】**是谁,类似于 “小米应用商店”, “华为应用商店” 这样的概念

  • 然后我们查找得再详细一些

在这里插入图片描述

3、软件的安装和卸载

接下去我们来看看如何安转下我们所查找到的软件

  • 因为Linux下是可以多用户一起使用的,所以我们就可以想到一次安装之后多个用户都可以使用,不需要再安装了,所以这里建议大家在安装的时候尽量切换到root或者使用sudo进行一个提权

root

yum (-y) install XXX

普通用户

sudo yum (-y) install XXX
  • 可以看到,首先我在这里若是不加-y的话系统就会询问我是否需要下载这些大小的软件。最后看到一个【Complete!】代表安装完成

在这里插入图片描述

  • 然后我们把这个软件卸载了然后带上-y再试试
yum (-y) remove XXX
  • 可以看到,若是卸载的时候没有带上-y也会进行提示,若是你不想再输个y的话可以带上-y

在这里插入图片描述

  • 然后看到加上 -y就不会进行询问了,卸载的话也可以自己去试试

在这里插入图片描述

  • 然后我们来运行一下这个软件试试。它看起来就像是一辆小火车的样子

小火车

注意事项

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.- 如果 yum 报错,
  • 请自行百度

以上就是yum软件安装包的使用过程,怎么样,是不是很简单

四、yum源

1、探索yum源🔨理清内部脉络

上一个模块,我给你演示了如何去安装和卸载一个软件,但这只停留在表明,我们的学习应该是要搞清楚原理才对,要知道是谁给我提供的这个软件,这个软件在哪里。所以让我们来贪探索一番吧

  • 在开头我有讲到过软件商店要去下载软件通过的是获取远程服务器上的地址或者apk文件,那也就意味着软件管家需要只要各个软件的【下载地址】,这里一般都指内置地址
  • 那对于Linux中的yum,它是如何知道自己要去下载的软件在哪里的呢?这就要谈到yum自己的配置文件——【yum源】了,那这个yum源在哪里呢?通过下面这条指令就可以看到自己本机所配置的所有yum源了
ls -l /etc/yum.repos.d/	//查看配置的yum源
  • 既然这是一个目录,那我们就可以cd进去

在这里插入图片描述
📚 CentOS-Base.repo【基础yum源】
📚 CentOS-Epel.repo 【扩展yum源】

  • 那么此时,我们就可以去查看一下对应的yum源了
nano CentOS-Base.repo
  • 进去之后我们就可以看到里面都是连接。其实对应的就是yum镜像地址了

在这里插入图片描述

2、如何修改自己的yum源❓

  • 可以看看这篇文章,我这里就不展示了——> 链接

3、寻找失踪的软件🗡

可能有些小伙伴在安装自己想要的软件时找不到,可能你要找的这款软件就要扩展的yum源的中:epel.repo

  • 只要执行一下下面这条指令即可。此时系统就会根据你的base yum源,帮我们找到和他所匹配的扩展yum源
yum install -y epel-release
  • 有了这个yum源后你就可以进行安装了

五、总结与提炼

最后来总结一下本文所学习到的内容

  • 在本文中,我们了解到了在Linux底下的一款软件包管理器—— yum,我们可以用过它去下载一些软件来使用,相当于Windows下的软件商店一般
  • 在一开始,首先对于软件这方面的背景做了一些讲解,讲到了软件背后的一些商业利益以及Linux开源社区的发展
  • 之后就进入了yum的正式学习,知道了如何使用yum软件包去安装和卸载软件;然后又知道了yum源该如何去寻找以及修改配置

最后很感谢您对本文的观看,如有疑问,请于评论区留言或者私信我可以🌸

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/181344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPF鼠标、键盘、拖拽事件、用行为封装事件

WPF鼠标、键盘、拖拽事件、用行为封装事件 本文主要介绍了WPF中常用的鼠标事件、键盘事件以及注意事项,同时使用一个案例讲解了拓展事件。除此之外,本文还讲述如何用行为(Behavior)来封装事件。 Windows中的事件通过消息机制来完…

新手利用Git上传项目代码到Gitee仓库

【本文发布于https://blog.csdn.net/Stack_/article/details/128770678,未经许可禁止转载,转载须注明出处】 一、安装git工具 【git下载】 【git插件以及插件汉化包下载】 官网下载很慢,已上传CSDN。跳转 或者百度云 链接:https:…

下拉列表支持多选

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>下拉列表支持多选</title> </head> <body bgcolor"antiquewhite"> <center> <…

【算法基础】二分查找算法

一、二分查找算法原理 1. 算法介绍 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后…

github codespace进行npm start运行开发服的时候无法显示页面(白屏)

github codespace进行npm start运行开发服的时候无法显示页面解决方案 先说答案 必须要指定host为0.0.0.0&#xff0c;因为一般前端开发的时候都是本地访问的&#xff0c;所以npm start 默认启动一个开发服&#xff0c;监听127.0.0.1的请求&#xff0c;也就是localhost。但是…

《Spring揭秘》读书笔记 3:Spring MVC

22 迈向Spring MVC的旅程 【参考】Java Web开发历程。 1) Servlet独行天下的时代。 一个Servlet对应处理一个Web请求。Servlet什么都做。 2) 繁盛一时的JSP时代。 将Servlet中的视图渲染逻辑以独立的单元抽取出来&#xff0c;JSP成为Java Web应用程序事实上的模板化视图标准…

Golang 使用Gin创建Restful API

Golang 使用Gin创建Restful API 今天学习下Go语言如何集成Gin框架编写Restful Web API的基本操作。Gin框架简化了Go原生语言构建Web应用程序的复杂度&#xff0c;在今天的学习中&#xff0c;将学会使用Gin构建路由请求、数据检索、JSON响应封装等最简单的Web服务。 基本要求 …

将本地txt文件上传至mysql

文章目录单个文件导入1.创建数据库和数据表2.使用cmd各种情况说明如果报错方案一方案二方案三mysql重启命令重启&#xff1a;图形页面重启当txt文件中的数据量太多时&#xff0c;不再适合用sql语句插入&#xff0c;这里介绍讲本地txt文件导入到mysql中 单个文件导入 如图所示…

【Maven】私服

目录 1. 私服介绍 问题导入 1.1 介绍 1.2 Nexus安装与启动 1.3 私服资源操作流程分析 2. 私服仓库分类 问题导入 3. 资源上传与下载 问题导入 3.1 从私服中下载依赖 3.2 上传依赖到私服中 1. 私服介绍 问题导入 这里的私服和平时我们听的国服、体验服、欧服等等有…

《深入浅出计算机组成原理》学习笔记 Day12

数据通路&#xff08;上&#xff09;1. 指令周期&#xff08;Instruction Cycle&#xff09;2. 建立数据通路3. CPU 所需要的硬件电路4. 总结参考1. 指令周期&#xff08;Instruction Cycle&#xff09; 计算机每执行一条指令的过程&#xff0c;可以分为这几个步骤&#xff1a…

MySQL三大日志

MySQL三大日志包括&#xff1a;undolog&#xff0c;redo log&#xff0c;binlog&#xff0c;它们分别有以下作用&#xff1a; undolog&#xff1a;是Innodb存储引擎生成的日志。用于事务的回滚和MVCC&#xff0c;保证了事务的原子性。 redo log&#xff1a;是Innodb存储引擎生…

【汇编】深入浅出地讲解使用六条汇编指令解决大部分汇编代码

开发环境说明 本文采用的IDE为keil5&#xff0c;核心板为STM32F103ZE。 在keil中添加以下两条语句即可生成汇编代码&#xff1a; 在上图界面中添加下述两句代码即可生成汇编代码&#xff1a;fromelf --bin --outputtest.bin Objects\test.axffromelf --text -a -c --outputtest…

使用Facebook分析跟踪SEO进展

Facebook是一个强大的社交平台&#xff0c;在这里你可以获取关于你的业务或客户的各种信息。它为你提供了一个巨大的渠道来展示你在过去一年中对行业或公司做出的贡献&#xff0c;以及你如何改进和优化我们所做的事情。如果不知道如何利用 Facebook来获得更多关于 SEO工作的信息…

高级数据结构:线段树入门(c++实现 + 详解)

文章目录线段树概念区间最值问题辅助函数创建线段树查询更新懒惰修改&#xff08;查询&#xff09;问题tag标记设计改进的更新函数关于本节的全部源代码线段树概念 线段树是一种高级数据结构&#xff0c;与树状数组一样&#xff0c;被用来处理区间查询&#xff0c;修改问题&am…

DDOS渗透与攻防(一)之拒绝服务攻击概念介绍

DDOS渗透与攻防 前言 DOS(Denial of Service&#xff0c;拒绝服务攻击)&#xff0c;它的原理很简单&#xff0c;就是用我们手里的机器去给服务器发请求&#xff0c;如果我们手头的服务器各方面性能都比服务器的主机的性能好&#xff0c;那么当我们发送大量请求给服务器&#…

Day871.行锁 -MySQL实战

行锁 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于行锁的内容。 MySQL 的 行锁 是在引擎层由各个引擎自己实现的。 但并不是所有的引擎都支持行锁&#xff0c;比如 MyISAM 引擎就不支持行锁。 不支持行锁意味着并发控制只能使用表锁&#xff0c;对于这种引擎的…

普通话学习

一、认识韵母是有四个声调的发错的字和音总结R&#xff1a;日、热、肉L&#xff1a;漏、乐参考&#xff1a;https://zhuanlan.zhihu.com/p/34571271身体&#xff08;shen-1&#xff09;森&#xff08;sen-1&#xff09; 生日&#xff08;sheng-1&#xff09;琴&#xff08;qin-…

k8s对接smb/cifs存储

之前文章提到&#xff0c;k8s官方是支持nfs存储的&#xff0c;那么在windows常见的文件共享协议是否也支持呢。答案是肯定的。不过支持的方式是通过CSI接口进行支持的。官方提供的项目是csi-driver-smb官网&#xff1a;https://github.com/kubernetes-csi/csi-driver-smb安装cu…

《MFC编程》:MFC程序的分类

《MFC编程》&#xff1a;MFC程序的分类《MFC编程》&#xff1a;MFC程序的分类MFC的控制台程序MFC的库程序使用MFC库制作自己的静态库程序使用MFC库制作自己的动态库程序使用MFC库制作自己的拓展库程序MFC的窗口程序单文档视图架构程序多文档视图架构程序对话框架构程序《MFC编程…

Windows server——部署DNS服务(2)

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.配置DNS服务 1.安装步骤教程 &#xff08;1&#xff09;安装必要条件 &a…