自学内容网 自学内容网

【Linux】Linux之yum的使用

什么是工具

        工具本质上也是指令。

yum的概述

引言

什么是软件包

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

在你安装软件之前,要先把软件包下载下来(必须要联网)。软件包,并不是在你的电脑上的,那么软件包在哪里下载呢?答案是只能在别人的电脑上(远端服务器上,云服务器)。那我的电脑怎么知道我要下载的软件在网络上的哪一台服务器上呢?

  • a. 电脑:搜索引擎,软件商官网
  • b. 手机:应用商店(手机上的一个app,仅此而已)
  • c. Linux:yum

谁提供的软件包,谁放在了服务器上呢?

  • 企业,个人,组织提供的(---为了某种利益)

提供好软件之后,通常会放在哪里呢?

  • 电脑:软件商官网
  • 手机:手机应用商店提供商的服务器

        由于Linux生态都是外国人开发的,所以当我们要在国内下载Linux中的软件包的时候,需要访问国外的服务器,这就会导致一个问题(速度慢,不稳定)。这个时候国内的一些企业高校就在国内的服务器上镜像了国外的软件服务,并且提供了一套用于国内的下载链接的配置文件(yum源 配文件),这就完成了Linux软件生态的本土化

6ffa8d1eb07f487ab1a30a2d5e46e279.png什么是yum?

        yum是Linux下提供的一个软件管家(应用商店),我们可以通过yum进行搜索安装和卸载对应的软件,yum会自动在系统中搜索该软件对应的下载路径,软件是由社区的人在自己的服务器提供的。

yum的操作

查看软件包

yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包a4912e931983426c9a51764c80763ede.png

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

如何安装软件

3b1e49a9c4c64553b232457a4c0ce07b.png

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

如何卸载软件

ebe634b3c8334d77ad6a73aed96ec2cf.png

yum的扩展

yum要安装的软件在哪里下载呢?
  • 我们需要有一个yum源的配置(一堆链接),来告诉yum去哪里下载软件。

ff186ea67d59416a9ae27984e076087e.pngls /etc/yum.repos.d/ 查看yum源cb2cd7a4d47241a5a076efd545ebc575.png531367a063534f4eb04da84ef8d578ac.png因为我们是用的阿里的服务器,yum默认应用了阿里的镜像去下载软件

如何手动修改yum源的配置文件(设置为阿里云)呢?

  • 详细请见summer_west_fish大佬的文章(Linux设置yum源为阿里云镜像源)。
  • 简单理解yum源配置文件替换的本质就是把国内厂商提供的配置文件下载下来,把我原本的yum源配置文件进行替换,yum源就配置完了。
如何下载非官方的软件?

有些软件并没有被纳入centos,Ubuntu,kail等相关生态平台的官方软件集合中,因为官方软件集合里面的软件都是经过大量的时间和场景的测试,是安全且稳定的。那么我们如果需要下载非官方的软件呢(例如sl小火车)?答案是在在epel.repo

cd7aa045814746e29166d627a121eb7f.pngd6111aab37ce409e88c9546862b708b3.png7a5d5cbac91941cca82c69b48250baca.png非官方的软件集合相当于官方软件集合的一个储备池(STL标准库与boost准标准库之间的关系)只有通过了测试,官方才会将非官方软件加入到官方软件集合中来。

软件和软件之间的耦合问题

yum安装软件的时候会自动安装对应软件的各种依赖包,解决软件和软件的耦合问题。


原文地址:https://blog.csdn.net/2302_80026357/article/details/143865124

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!