一.YUM概述
- YUM(Yellow dog Updater Modified)
- 基于RPM包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件由集中的YUM软件仓库提供
1.1主备安装源
- 软件仓库的提供方式
- FTP服务: ftp://....
- HTTP服务: http://.....
- 本地目录: file://....
- RPM软件包的来源
- CentOS发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
二.构建CentOS 7软件仓库
- RPM包来自CentOS 7 DVD光盘
- 通过FTP方式提供客户机
[root@localhost ~]#mkdir -p /var/ftp/centos7 [root@localhost ~]#cp -rf/media/cdrom/* /var/ftp/centos7 [root@localhost ~]#rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm [root@localhost ~]#systemctl start vsftpd [root@localhost ~]#systemctl enable vsftpd
三.在软件仓库中加入非官方RPM包组
- 包括存在依赖关系的所有RPM包
- 使用createrepo工具建立仓库数据文件
[root@localhost ~]#mkdir /var/ftp/other [root@localhost ~]#cd /var/ftp/other [root@localhost other]#createrepo -g /media/cdrom/repodata/repomd.xml ./
四.为客户机指定YUM仓库位置
- 配置文件: /etc/yum.repos.d/centos7.repo
mount /dev/cdrom /mnt/ # ——把光盘挂载到/mnt目录下 cd /etc/yum.repos.d/ mkdir repos.bak mv *.repo repos.bak cd /etc/yum.repos.d/ vim local.repo [local] # ——仓库类别 name=local # ——仓库名称 baseurl=file:///mnt # ——指定URL 访问路径为光盘挂载目录 enabled=1 # ——开启此yum源,此为默认项,可省略 gpgcheck=0 # ——不验证软件包的签名 yum clean all && yum makecache # ——删除yum缓存并更新 yum clean ● 可以拆分成两个步骤来进行 yun makecache
五.本地YUM仓库
- 直接以CentOS 7光盘作软件仓库
- 挂载镜像到仓库位置,URL地址为 file:///media/cdrom
[root@localhost ~]#vi /etc/yum.repos.d/local.repo ..... [local] name=name baseurl=file:///media/cdrom enabled=1 gpgcheck=0
六.YUM工具概述
关于YUM命令
- 由软件包yum-3.4.3-150.el7.centos.noarch提供
- 用来访问YUM仓库,查询,下载及安装,卸载软件包
yum的配置文件
- 基本设置: /etc/yum.conf
- 仓库设置:/etc/yum.repos.d/*.repo
- 日志文件:/var/log/yum.log
YUM缓存目录
- 存放下载的软件包,仓库信息等数据
yum clean all && yum makecache
七.YUM常用命令大全
yum -y install 软件名 # ——安装、升级软件包,“-y”选项表示自动确认 yum -y remove 软件名 # ——卸载软件包,可自动解决其依赖关系 yum groupremove # ——卸载软件 yum -y update 软件名 # ——升级软件包 yum list # ——查询软件包列表 yum list installed # ——查询系统中已安装的软件包 yum list available # ——查询仓库中尚未安装的软件包 yum list updates # ——查询可以升级版本的软件包 yum info 软件名 # ——查询软件包的描述信息 yum info httpd yum search [all] 关键词 # ——根据某个关键词来查找相关的软件包 yum search all httpd yum whatprovides 命令 # ——查询命令属于哪个软件包 yum whatprovides netstat yum grouplist 【包组名】 #查询软件包组 yum groupinfo <包组名>