13、yum

1.yum

yum是管理rpm包的工具

2.yum源(yum仓库)

要使用yum前,需要准备一个yum源(我们也称为yum仓库), 这个可以是一个互联网上的仓库,也可以是本地自己搭建的仓库.
仓库里面有什么呢? 里面全部都是.rpm的软件包.
一台linux,可以添加N多个yum源, 能搜索的软件包就是N个yum源之和.

3.linux必须要安装2个源

1.base基础源
2.epel扩展源 (zabbix22)
3.与服务相关的源(官网) zabbix4.2 nginx docker

4.yum命令:

4.1.如何通过仓库进行查找软件包,比如模糊匹配

 [root@www.oldboyedu.com ~]# yum list                      #查看所有的rpm包 建议配合less 
 [root@www.oldboyedu.com ~]# yum list | grep ftp      #模糊匹配的方式 
 [root@www.oldboyedu.com ~]# yum info vsftpd               #查看vsftpd软件的详情(可有可无) 

##4.2.yum通过公网仓库搜索进行安装

 [root@www.oldboyedu.com ~]# yum install vsftpd                    #交互,麻烦 
 [root@www.oldboyedu.com ~]# yum install vsftpd -y         #非交互 

4. 3.yum直接安装公网的rpm包, 会自动查找当前系统上已有的仓库解决依赖关系

[root@www.oldboyedu.com ~]# yum install https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/samba-4.8.3-4.el7.x86_64.rpm 

4.4.yum直接安装本的rpm包,会自动查找当前系统上已有的仓库解决依赖关系

[root@www.oldboyedu.com ~]# yum localinstall samba-4.8.3-4.el7.x86_64.rpm 

4.5.如果误删除某个软件的配置文件,可以使用reinstall进行重装

[root@www.oldboyedu.com ~]# yum reinstall vsftpd 

4.6.更新所有的软件包,包括内核(刚装好系统时进行一次升级)

 [root@www.oldboyedu.com ~]# yum update acl -y [root@www.oldboyedu.com ~]# yum update -y 

4.7.如何去删除一个软件包

 [root@www.oldboyedu.com ~]# yum remove samba -y 

4.8.查看正在使用的仓库基本信息

[root@www.oldboyedu.com ~]# yum repolist 
[root@www.oldboyedu.com ~]# yum repolist all 查看所有的仓库 

#启用和禁用仓库 
[root@www.oldboyedu.com ~]# yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 
[root@www.oldboyedu.com ~]# yum repolist all|grep mysql 
[root@www.oldboyedu.com ~]# yum-config-manager --disable mysql80-community #关闭仓库 [root@www.oldboyedu.com ~]# yum-config-manager --enable mysql57-community    #启用仓库 

本质: 都是在修改repo文件中的enable的值 0 不启用 1 启用

4.9.查找一个命令或文件所属的软件包是什么?

[root@www.oldboyedu.com ~]# rpm -qf $(which cd) bash-4.2.46-31.el7.x86_64 

PS: rpm需要知道命令的绝对路径, 如果不存在该命令是无法查找到该命令所属的软件包 [root@www.oldboyedu.com ~]# yum provides cd
[root@www.oldboyedu.com ~]# yum provides ifconfig 

PS: yum不需要知道命令的绝对路径,只需要知道完整的命令即可. 
yum会通过所有已启用的仓库进行查找那些软件包中涵盖了需要查询的命令 

以后: 查询命令来自于哪个软件,使用yum的方式进行查询 
1.如果查询不到,检查命令是否写错,如果写错,修改即可. 
2.如果修改命令还是查询不到,请检查是否仓库真的没有软件包涵盖此命令, 建议添加更多yum源(仓库)

4.10.组包的安装与卸载

[root@www.oldboyedu.com ~]# yum groups install Development Tools 
[root@www.oldboyedu.com ~]# yum groups remove -y Base 

4.11.如何使用yum缓存已经安装过了的软件包

#缓存rpm包方式一、修改yum全局配置文件 
[root@xuliangwei ~]# vim /etc/yum.conf 
[main] 
cachedir=/var/cache/yum/$basearch/$releasever 
keepcache=1          #启动缓存 

#缓存rpm包方式二,只下载不安装 
[root@xuliangwei ~]# yum install httpd -y --downloadonly --downloaddir=/tmp 

#1.先清空 
[root@www.oldboyedu.com ~]# yum clean packages 
当你的yum出现问题,进行了一次替换后,你需要执行 yum clean all 

#2.开启缓存,然后再下载软件包 

4.12.yum的历史记录

#1.查看历史执行yum命令 
[root@xuliangwei ~]# yum history 

 #2.查询历史执行yum命令ID详细信息 
[root@xuliangwei ~]# yum history info N 

 #3.撤销历史执行过的yum命令 
[root@xuliangwei ~]# yum history undo N 

 校验: 
        gpgcheck 
        gpgkey=0 关闭校验




原文地址:https://www.cnblogs.com/Forever-x/p/b7b86f1013a4449f6088b253a5221a3c.html