yum


1.联网获取软件
2.基于RPM管理
3.自动解决依赖(前提:1.yum仓库中必须有该依赖包 2.版本要一致)
4.命令简单好记
5.生产最佳实践
yum是RedHat以及CentOS中的软件包管理器,能够通过互联网下载以rpm结尾的包,并且安装,并可以自动处理依赖性关系,无需繁琐的一次次下载安装。 
# CentOS7和7之前所有版本:YUM
yum install -y xxx
# CentOS8以后:dnf
dnf install xxx
## 系统自带的基础包仓库
Base源
## 更换yum源,一定要至少换两个源
- Base源 基础包
- epel源 扩展包

yum仓库路径

各大镜像源:
阿里云:https://opsx.alibaba.com/mirror
清华源:https://mirrors.tuna.tsinghua.edu.cn/
163源:http://mirrors.163.com/
华为源:https://mirrors.huaweicloud.com/
科大源:http://mirrors.ustc.edu.cn/

## yum源配置文件路径 /etc/yum.repos.d/
[root@localhost ~]# ll /etc/yum.repos.d/
-rw-r--r--. 1 root root 1664 Nov 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Nov 23 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Nov 23 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Nov 23 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 Nov 23 2018 CentOS-Vault.repo

下载更新yum源

 wget -O   指定目录下载	指定保存的路径(也可以修改文件名)
 curl -o  指定目录下载 指定保存的路径(也可以修改文件名)
 curl -o = wget -O
 
## 换源步骤
1)清空/etc/yum.repos.d下面所有源配置文件(mv rm)
[root@localhost ~]# mv /etc/yum.repos.d/*.repo /tmp/
[root@localhost ~]# gzip /etc/yum.repos.d/*
2)下载国内各大镜像站源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo
https://mirrors.aliyun.com/repo/Centos-7.repo

yum更换官方base源

## 更换阿里云的源,需要删除后面两个地址,做个优化
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
## 其他镜像站换源方式
sed -e 's|^mirrorlist=|#mirrorlist=|g' -e
s|^#baseurl=http://mirrors.aliyun.com/centos|baseurl=https://mirrors.tuna.tsingh
ua.edu.cn/centos|g' -i.bak /etc/yum.repos.d/CentOS-*.repo
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e
's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn
/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS-Base.repo

yum更换epel源

[root@localhost ~]# curl -o /etc/yum.repos.d/epel.repo
https://mirrors.aliyun.com/repo/epel-7.repo
[root@localhost ~]# ll /etc/yum.repos.d/
total 8
-rw-r--r--. 1 root root 1759 Apr 22 18:55 CentOS-Base.repo
-rw-r--r--. 1 root root 664 Apr 22 19:08 epel.repo

yum管理命令

命令 作用
list 查看仓库中所有的rpm包
info 查看指定包的详细信息
repolist 查看当前所有的可用仓库
install 安装
-y 面交互 确认安装
reinstall 重新安装软件
check-update 检查可以更新的软件
update 可以更新指定一个 ,也可以全部(危险)
remove 卸载删除
erase 卸载删除
provides 逆向查询文件来自于那个安装包
makecache 加载参数
clean all 清除缓存
## 查看仓库中所有的安装包  ------  list
[root@moban ~]# yum list
[root@moban ~]# yum list|grep lrzsz   ------ 配合grep使用
lrzsz.x86_64                             0.12.20-36.el7

## 指定仓库中的包详细信息
[root@moban ~]# yum info lrzsz
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
Name        : lrzsz
Arch        : x86_64
Version     : 0.12.20
Release     : 36.el7
Size        : 181 k
Repo        : installed
Summary     : The lrz and lsz modem communications programs
URL         : http://www.ohse.de/uwe/software/lrzsz.html
License     : GPLv2+
Description : Lrzsz (consisting of lrz and lsz) is a cosmetically modified
 
            
##查看软件源的信息      repolist          
[root@moban ~]# yum repolist      ----- 查看启用的
[root@moban ~]# yum repolist all  ----- 查看全部

## 安装    install  配合-y
[root@moban ~]# yum install -y lrzsz 配合-y面交互

## 重新安装  reinstall  
[root@moban ~]# yum reinstall -y lrzsz

## 检查可以更新的软件  check-update
[root@moban ~]# yum reinstall -y lrzsz

## 可以更新指定一个 ,也可以全部(危险)update
[root@moban ~]# yum update curl
[root@moban ~]# yum update  -------- 全部都更新危险

## 删除软件    remove    erase
[root@moban ~]# yum remove lrzsz
[root@moban ~]# yum erase lrzsz

## 逆向查找文件所归软件包
[root@moban ~]# yum provides /bin/rz
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs

## 加载参数    makecache
[root@moban ~]# yum makecache

## 清空yum 缓存    clean all
[root@moban ~]# yum clean all