一.YUM概述
- YUM(Yellow dog Updater Modified)
- 基于RPM包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件由集中的YUM软件仓库提供
主备安装源
- 软件仓库的提供方式
- FTP服务: ftp://....
- HTTP服务: http://.....
- 本地目录: file://....
- RPM软件包的来源
- CentOS发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
二.构建CentOS 7软件仓库
- RPM包来自CentOS 7 DVD光盘
- 通过FTP方式提供客户机
1
2
3
4
5
6
|
[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工具建立仓库数据文件
1
2
3
|
[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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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
1
2
3
4
5
6
7
|
[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缓存目录
- 存放下载的软件包,仓库信息等数据
1
|
yum clean all && yum makecache |
七.YUM常用命令大全
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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 <包组名> |