1.什么是YUM
Yum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装。(PS: YUM是生产最佳实践)
2.YUM源
要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源。(可以是本地源、网络源)
3.YUM源配置实例
配置阿里yum源
#默认系统是国外源,需要替换为国内的源
[root@www.carol.com ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo \
http://mirrors.aliyun.com/repo/Centos-7.repo
#扩展源,有很多软件在基本源中没有
[root@www.carol.com ~]# wget -O /etc/yum.repos.d/epel.repo \
http://mirrors.aliyun.com/repo/epel-7.repo
4,YUM实践案例
1,使用yum查询软件包的方式
[root@www.carol ~]# yum list
[root@www.carol.com ~]# yum list|grep ftp
[root@www.carol.com ~]# yum info ftp
2使用yum安装软件包的方式
[root@www.carol.com ~]# yum install tree
[root@www.carol.com ~]# yum install tree -y #非交互
#安装本地的rpm包, 如果有依赖关系, 会自动从软件仓库中下载所需依赖
[root@www.carol.com ~]# yum localinstall /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm
#直接安装网络上的rpm包
[root@www.carol.com ~]# yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
3 使用yum重新安装软件包的方式
#1.如果不小心删除vsftpd配置文件
[root@www.carol.com ~]# rm -f /etc/vsftpd/vsftpd.conf
#2.可以对软件进行重新安装
[root@www.carol.com ~]# yum reinstall vsftpd
#3.检查软件的配置文件
[root@www.carol.com ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
4.使用yum跟新软件包
#对比Linux已安装的软件和yum仓库中的软件, 有哪些需要升级
[root@www.carol.com ~]# yum check-update
#更新acl软件
[root@www.carol.com ~]# yum update acl -y
#如下的执行很危险,这代表更新整个系统所有的软件,包括内核
[root@www.carol.com ~]# yum update -y
5,yum仓库相关指令
#列出yum源可用的软件仓库
[root@www.carol.com ~]# yum repolist
#列出全部yum源可用和禁用的仓库
[root@www.carol.com ~]# yum repolist all
#查找某个命令或文件属于那个软件包(生产常用)
[root@www.carol.com ~]# yum provides /etc/my.cnf
[root@www.carol.com ~]# yum provides cd
6,与yum缓存相关指令
#1.缓存rpm包方式一、修改yum全局配置文件
[root@www.carol.com ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1 #启动缓存
#2.缓存rpm包方式二,只下载不安装
[root@www.carol.com ~]# yum install -y yum-plugin-downloadonly #插件
[root@www.carol.com ~]# yum install httpd -y --downloadonly --downloaddir=/tmp
#3.清除所有yum缓存的软件包以及元数据
[root@www.carol.com ~]# yum clean all
#4.只清除缓存的软件包
[root@www.carol.com ~]# yum clean packages
7,组包相关指令
[root@www.carol.com ~]# yum groups list
#安装一整个组的软件
[root@carol ~]# yum groups install Development tools \
Compatibility libraries \
Base Debugging Tools
#yum删除包组
[root@carol ~]# yum groups remove -y Base
8,历史记录指令
#1.查看历史执行yum命令
[root@www.carol.com ~]# yum history
#2.查询历史执行yum命令ID详细信息
[root@www.carol.com ~]# yum history info N
#3.撤销历史执行过的yum命令
[root@www.carol.com ~]# yum history undo N