一,什么yum?、什么是yum源? 什么是yum仓库?
一个源,就是一个网址。这个网址对应的就是一个仓库,
这个仓库中有很多的rpm包。
加一个源网址,就相当于是在添加一个仓库。
二,配置的源:
base源: 基础软件包 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
epel源: 第三方软件 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
学习服务:
nginx: 官方提供的repo文件
zabbix:
docker:
三,yum的基本使用、安装、卸载、升级、查询等操作
使用yum安装软件包
#1. yum非交互式安装
[root@www.xuliangwei.com ~]# yum install vsftpd -y #非交互(yum通过公网仓库搜索进行安装)
#2.yum直接安装公网的rpm包, 会自动查找当前系统上已有的仓库解决依赖关系
[root@www.xuliangwei.com ~]# yum install https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/samba-4.8.3-4.el7.x86_64.rpm
#3.yum直接安装本地rpm包,会自动查找当前系统上已有的仓库解决依赖关系
[root@www.oldboyedu.com ~]# yum localinstall samba-4.8.3-4.el7.x86_64.rpm
rpm -ivh 进行安装 (安装过程碰到了依赖怎么处理呢?) 缺什么找什么,然后安装
yum localinstall (安装过程碰到了依赖怎么处理?) 他会自动处理依赖
1.分析软件的依赖
2.通过所有已经配置的repo源,上对应的仓库去寻找所需要的依赖包
3.安装所有的依赖包,最后安装本地的rpm
下载一个rpm包到本地
[root@container ~]# wget https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.6/x86_64/RPMS/mongodb-org-3.6.0-1.el7.x86_64.rpm
安装
rpm -ivh mongodb-org-3.6.0-1.el7.x86_64.rpm
#配置一个MongoDB的源
[root@container ~]# cat /etc/yum.repos.d/mongodb.repo
[mongodb-org]
name = MongoDB Repository
baseurl = https://mirrors.aliyun.com/mongodb/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ (源)
gpgcheck = 0
enabled = 1
gpgkey = https://www.mongodb.org/static/pgp/server-3.6.asc
#通过yum localinstall本地方式安装软件
[root@container ~]# yum localinstall mongodb-org-3.6.0-1.el7.x86_64.rpm
1.使用yum重新安装软件包的方式
[root@www.xuliangwei.com ~]# rm -f /etc/vsftpd/vsftpd.conf
[root@www.xuliangwei.com ~]# yum reinstall vsftpd
[root@www.xuliangwei.com ~]# rpm -qc vsftpd
2.使用yum更新软件包
#1.对比Linux已安装的软件和yum仓库中的软件, 有哪些需要升级
[root@www.xuliangwei.com ~]# yum check-update
#2.更新acl软件
[root@www.xuliangwei.com ~]# yum update acl -y
#3.更新整个系统所有的软件,包括内核 (通常刚装完系统会进行执行) 非常危险
[root@www.xuliangwei.com ~]# yum update -y
3…使用yum删除软件包
[root@container ~]# yum install vsftpd -y
[root@container ~]# yum remove vsftpd -y
四,与yum仓库相关指令(扩展了解)
[root@www.xuliangwei.com ~]# yum repolist #查看 当前可用的仓库
[root@www.xuliangwei.com ~]# yum repolist all 查看所有的仓库(不管是否可用)
如何启用或禁止仓库
两种方式:
1.找到该仓库的repo文件,将里面的enable 修改为 0不启用 1启动
2.gzip /etc/yum.repos.d/xx.repo 压缩该文件,让该文件失效
#3.查找一个命令或文件所属的软件包是什么?
[root@www.xuliangwei.com ~]# rpm -qf $(which cd)
bash-4.2.46-31.el7.x86_64
PS: rpm需要知道命令的绝对路径, 如果不存在该命令是无法查找到该命令所属的软件包
[root@www.xuliangwei.com ~]# yum provides cd
[root@www.xuliangwei.com ~]# yum provides ifconfig
PS: yum不需要知道命令的绝对路径,只需要知道命令即可
yum会通过所有已启用的仓库进行查找那些软件包中涵盖了需要查询的命令
ps:
1.如果查询不到,检查命令是否写错,如果写错,修改即可.
2.如果修改命令还是查询不到,请检查是否仓库真的没有软件包涵盖此命令, 建议添加更多yum源(仓库)
五,与yum缓存相关指令(扩展了解)
#1.缓存rpm包方式一、修改yum全局配置文件
[root@www.xuliangwei.com ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/
b
a
s
e
a
r
c
h
/
basearch/
basearch/releasever
cache=keep1 #启动缓存
#2.清除yum缓存
[root@www.xuliangwei.com ~]# yum clean all #清除所有的缓存信息
[root@www.xuliangwei.com ~]# yum clean packages #清除缓存的软件包
#了解即可
[root@www.xuliangwei.com ~]# yum install -y yum-plugin-downloadonly #插件
[root@www.xuliangwei.com ~]# yum install httpd -y --downloadonly --downloaddir=/tmp
六 .组包相关指令,(了解即可)
[root@www.xuliangwei.com ~]# yum groups list
#安装一整个组的软件
[root@xuliangwei ~]# yum groups install Development tools
Compatibility libraries
Base Debugging Tools
#yum删除包组
[root@www.xuliangwei.com ~]# yum groups remove -y Base
七,历史记录指令,(了解即可)
#1.查看历史执行yum命令
[root@www.xuliangwei.com ~]# yum history
#2.查询历史执行yum命令ID详细信息
[root@www.xuliangwei.com ~]# yum history info N
#3.撤销历史执行过的yum命令
[root@www.xuliangwei.com ~]# yum history undo N
八,如何搭建一个本地的yum仓库:
1.准备一个iso镜像文件 (它里面有很多的rpm包,可以使用 wget tree,练习用系统镜像包就好 )
连接上虚拟机
2.挂载我们的光盘至本地的某个目录下
[root@container ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
3.注释掉所有的repo文件,然后自己 新添加一个repo文件 ( 添加一个本地源 )
[root@container ~]# gzip /etc/yum.repos.d/*
[root@container ~]# cat /etc/yum.repos.d/oldboy.repo
[local-oldboy]
name = Local Packages
baseurl = file:///mnt
enabled = 1
gpgcheck = 0
4.使用yum命令安装软件测试
[root@container ~]# yum remove wget -y
[root@container ~]# yum install wget
Dependencies Resolved
Package Arch Version Repository Size
Installing:
wget x86_64 1.14-15.el7_4.1 local-oldboy 547 k
Transaction Summary
Install 1 Package
注释:
[root@container ~]# cat /etc/yum.repos.d/oldboy.repo
[local-oldboy] #仓库名称,可随意表示
name = Local Packages #仓库的描述 可通过 yum repolist查看
baseurl = file:///mnt #我们的仓库在那里,使用什么协议访问 #http:// ftp:// file://
enabled = 1 #是否启用该仓库 1 表示启动 0表示不启用
gpgcheck = 0 #是否要校验软件包的合法性 ( 0 不校验 )
总结:
1.yum 源(地址) —> ( 公网| 本地 ) (仓库平台) 仓库里面就是一推的rpm
2.yum相关的指令
yum install 安装
yum reinstall 重装
yum update 更新
yum remove 删除
yum localinstall 本地安装
yum repolist 查看仓库总和的rpm包
yum repolist all 查看所有的仓库 ( 包括启用和禁用 )
yum provides 查询命令是 哪个仓库下的哪个软件包提供
yum groups install “ " 安装组包
yum groups remove " "移除组包
yum history
yum history info
yum history undo
yum clean all 清理所有的缓存
yum clean packages 清理所有已缓存的rpm包