1. 什么是yum ?
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
- 基于RPM包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件包由集中的yum软件仓库提供
借助下图来理解Yum:
2.构建yum软件仓库
2.1 准备网络安装源(服务器端)
软件仓库的提供方式
- FTP服务:ftp://…
- HTTP服务: http://…
- 本地目录:file://…
rpm软件包的来源
- centos发布的rpm包集合
- 第三方组织发布的rpm包集合
- 用户自定义的rpm包集合
构建yum软件仓库
- rpm包来自centos 7 dvd光盘
- 通过ftp方式提供给客户机
[root@localhost -]# mkdir-p /var/ftp/centos7
[root@localhost]# cp-rf /media/cdroml* /var/ftp/centos7
[root@localhost ~]# rpm -ivh /medial/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/vrftp/pther
[root@localhost ~]# cd lvar/ftp/other //非官方的RPM要先放入该目录下
[root@localhost other]# createrepo -g /media/cdrom/repodata/repomd(xmI)./
访问yum仓库
- 为客户机指定yum仓库位置
- 配置文件:/etc/yum.repos.d/centos7.repo
1[base]
2 name=CentOS-$releasever - Base
3 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
4 baseurl=file:///mnt
5 gpgcheck=0
6 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 // 软件校验公钥
7 enable=1
本地yum仓库
- 直接以centos7 光盘作软件仓库
- 将centos 7 光盘放入光驱
- 挂载镜像到仓库位置,url地址为file:///media/cdrom
1[base]
2 name=CentOS-$releasever - Base
3 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
4 baseurl=file:///mnt #### 此地为本地光盘的挂载点
5 gpgcheck=0
6 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 // 软件校验公钥
7 enable=1
2.2配置软件仓库位置(客户机端)
关于 yum命令
- 由软件包yum-3.4.3-150.el7.centos.noarch提供
- 用来访问yum仓库,查询,下载及安装,卸载软件包
yum的配置文件
- 基本设置:/etc/yum.conf
- 仓库设置:/etc/yum.repos.d/*.repo
- 日志文件:/var/log/yum.log
yum缓存目录
- 存放下载的软件包,仓库信息等数据
- 位于/var/cache/yum/
b
a
s
e
a
r
c
h
/
basearch/
basearch/releasever
清除缓存 : yum clean all
建立缓存 :yum makecache
3,使用yum工具管理软件包
查询软件包
- yum list 软件名
- yum info 软件名
- yum search 关键词
- yum whatprovides 关键词
示例:
yum list
yum list httpd
yum info vsftpd
yum search gcc
yum wahtprovides vim
查询软件包组
- yum grouplist [包组名]
- yum groupinfo [包组名]
示例:
yum grouplist
yum grouplist gnome-desktop*
yum groupinfo gnome-desktop
安装
yum install [软件名]
yum groupinstall <包组名>
卸载软件包
yum remove <软件名>
yum groupremove <包组名>
示例
yum -y remove autofs yum -y groupremove gnome-desktop
详细解读如下:
例如:
vi /etc/yum.repos.d/local.repo(local的名字可以自己改)
[base] # 仓库类别
name=cenetos-7 linux # 仓库名称
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra(在线源的路径,需要联网)
baseurl=file:///mnt (yum源的本地路径)
enable=1 (开机即启动此yum源)
gpgcheck=0 (不验证签名)
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7(gpg公钥文件的路径)
此前已经做过很多yum方面的配置,不做过多的介绍了。
---查询软件包列表---
yum list
---查询指定软件包---
yum search all httpd
---安装软件包---
yum -y install ftp
---卸载软件包---
yum -y remove ftp
---清理缓存数据--
yum clean all
---建立yum缓存--
yum makecache