一、yum简介

yum,全称 Yellow dog Updater Modified,它是基于RPM包构建的软件更新机制,yum可以自动解决依赖关系,我们安装所有软件包由集中的YUM软件仓库提供。

当我们不进行任何的配置,直接使用yum进行软件安装时,其使用的是centos官方的源,是默认使用的,但是必须联网才可以使用。
在这里插入图片描述

二、yum配置文件介绍

我们可以使用 rpm -qc yum 命令来确认yum的配置文件的位置。

yum配置文件位置:/etc/yum.conf (注:默认就行,别乱改)
在这里插入图片描述
在这里插入图片描述
参数解释:

cachedir=/var/cache/yum/$basearch/$releasever
#yum下载的RPm包的缓存目录,$basearch代表硬件,$releasever代表系统版本

keepcache=0
#是否保存缓存,0为不保存,1为保存

debuglevel=2
#调试级别,这个了解即可

logfile=/var/log/yum.log
#日志文件位置

exactarch=1
#是否允许匹配系统架构的yum安装,默认为1,表示yum只会安装和系统架构匹配的软件包,不同架构不会安装

obsoletes=1
#update的参数,表示是否允许旧版本运行(允许更新旧的RPM包),0为否,1为是

gpgcheck=1
#验证密钥

plugins=1
#是否允许插件,1为是,0为否

installonly_limit=5
#保存几个内核,5代表5个

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
#错误追踪程序,类似于windows系统蓝屏了,会将当前故障上传给对应网站

distroverpkg=centos-release
#这个参数是指定从哪里获取系统版本相关的信息,别乱改!!!

三、epel源

epel,全称 Extra Packages for Enterprise Linux,可以理解为额外源,什么意思呢,有些软件在默认的源中是下载不了的,这时,我们只需要在源的配置文件中添加上epel源信息,当再次下载时,就会加载这些网站,就原本下不了的软件下载下来。

我先给大家提供一些源的地址,至于文件中怎么添加,我们一会实验的时候会操作。

epel源:

#阿里云
https://mirrors.aliyun.com/epel/$releasever/x86_64

#腾讯云
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64

#华为云
https://mirrors.huaweicloud.com/epel/$releasever/x86_64

#清华大学
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
CentOS系统的yum源: 

#阿里云
https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/os/$basearch/ 

#华为云
https://repo.huaweicloud.com/centos/$releasever/os/$basearch/ 

#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
更新源:

https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ 

https://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ 

https://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/


四、实验(下面的所有操作都是基于防火墙关闭的情况)

1.搭建本地仓库

  1. 首先将镜像文件挂载
    在这里插入图片描述

  2. 进入/etc/yum.repos.d目录
    在这里插入图片描述

  3. 新建一个repo文件并进行编辑保存
    在这里插入图片描述

  4. 清除yum缓存并建立元数据
    yum clean all && yum makecache
    在这里插入图片描述

  5. 安装软件进行测试
    在这里插入图片描述

2.搭建阿里云仓库(外网通的情况下)

  1. 在 /etc/yum.repos.d目录下编辑新的repo文件(也可以修改实验1的local.repo文件),在编辑文件之前的步骤和实验1一样
    在这里插入图片描述
  2. 修改文件配置
    在这里插入图片描述
  3. 清空缓存,建立元数据(yum clean all && yum makecache)
    在这里插入图片描述
  4. 安装一个之前centos默认源中没有的服务,比如nginx(yum install -y nginx)
    在这里插入图片描述

3.模拟内网环境下使用ftp和http服务搭建yum服务器

1.ftp方式
  1. yum安装 vsftpd 服务(yum install -y vsftpd
    在这里插入图片描述

  2. 进入/var/ftp目录,创建centos7文件夹用于挂载镜像文件
    在这里插入图片描述

  3. 开启vsftpd服务(systemctl start vsftpd
    在这里插入图片描述

  4. 客户端下载ftp工具(yum install -y ftp
    在这里插入图片描述

  5. 登录服务端查看文件
    在这里插入图片描述

  6. 编辑客户端的yum仓库文件
    在这里插入图片描述
    在这里插入图片描述

  7. 清空缓存并建立元数据
    在这里插入图片描述

  8. 安装测试软件
    在这里插入图片描述

2.http方式

http方式的操作和ftp百分之80%是一样的,下面我只列出不同的地方

  1. 挂载目录不同
    ftp是挂在 /var/ftp/centos7目录下,http是挂在/var/www/html/centos7下(centos7是我们创建的挂载目录
    在这里插入图片描述

  2. 服务不同
    ftp开启的是vsftpd服务,而http开启的是httpd服务(systemctl start httpd)
    可以在客户机或者物理机访问http服务
    在这里插入图片描述

  3. .repo文件配置不同(文件名设为http.repo)
    将文件中的baseurl的参数 ftp 改成 http 就行
    在这里插入图片描述

  4. yum clean all && yum makecache 并安装软件测试
    在这里插入图片描述
    在这里插入图片描述

五、补充yum相关的命令

1.yum (group)list [软件名]   #显示可用的安装包(包组),不加显示全部

2.yum (group)info [软件名]   #显示安装包(包组)详细信息,不加显示全部

3.yum search 软件包   #模糊查找所查软件的所有信息,即根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来

4.yum whatprovides 软件包   #精确查找,即你知道某个命令却不知道具体的包可以用此命令查找

5.yum (group)install 软件包    #安装软件包(包组)

6.yum (group)update [软件包]    #升级对应软件包(包组),不加升级全部,连同升级软件和内核

7.yum (group)remove 软件包      #卸载对应包(包组)

8.yum history     #查看当前yum的操作历史

9.yum history undo [yum history里的序号]   #取消yum history中序号的操作,需要先yum history查看序号

10.yum history redo [yum history里的序号]  ##重新执行yum history中序号的操作,需要先yum history查看序号

11.yum upgrade [软件包]   #只升级指定包,不升级软件和系统内核,软件和内核保持原样,不加升级全部,但依然不升级软件和内核
 
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐