YUM仓库服务
一 YUM概述
・YUM仓库介绍
YUM分为服务器端和客户端,借助于YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无需管理员逐个、手工地去安装每一个rpm包,使管理员在维度护在量linux服务器时更加轻松自如
・YUM原理
要成功使用YUM机制来更新系统和软件,需要有一个包含各种rpm安装文件的软件仓库,提供软件库的服务器也称为"源"服务器;软件仓库中需要提供仓库数据库(repodata),其中收集了目录下所有rpm包的头部信息header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务;在客户机中只要正确指定软件仓库的地址等信息,就可以通过对应的"源"服务器来安装或更新软件了
在RHEL6系统的安装光盘中,已针对软件目录Packages/建好了repodata数据,因此只要简单地将整个光盘中的内容或将光盘全部内容复制到硬盘通过HTTP或FTP进行发布,就可以作为软件仓库了
以下是rhel_6.0-i386-DVD的目录结构:
HighAvailability 高可用相关软件包,自带repodata数据;如rhcs等相关套件
Server 常规软件包,自带repodata数据;如mysql,httpd,开发工具,系统管理工具等
LoadBalancer 负载均衡相关软件包,自带repodata数据;如lvs,pirihan
ResilientStorage 数据包组相关信息,自带repodata数据;
Packages 真正存放所有软件包的目录
images rhel安装进程所需要的引导和驱动镜像文件,
isolinux 镜像文件引导时所需要的文件
二 使用Red Hat发布的RPM包部署YUM软件仓库
1软件仓库的提供方式
网络客户机使用
FTP服务:ftp://......
HTTP服务:http://......
本地自己使用:本地目录:file:///.......
2 RPM软件包的来源
Red Hat发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合
・准备安装源(服务器)
RPM包来自RHEL 6.1 DVD光盘
通过FTP提供给客户机
1挂载系统光盘,安装vsftpd服务
开启服务并允许防火墙相应端口(允许21号端口且关联20号端口)
加载FTP模块
保存防火墙规则并重启防火墙
2复制系统光盘所有内容到FTP跟目录下(实验环境也可指直接挂载)
・配置软件仓库位置(客户机)
1服务器自己作为客户机使用YUM仓库的配置
在/etc/yum.repos.d目录下创建一个以.repo结尾的文件并配置系统镜像提供的四个仓库;配置完保存后即可使用yum来管理rpm软件
2其他客户机使用yum仓库服务器的配置
首先保证物理通信,然后确保仓库路径正确
三用户自定义的RPM包集合部署YUM软件仓库
当需要使用非FHEL光盘中自带的其他软件包时,除了有安装包外,还需手动创建repodata数据文件;此文件中不包含数据包组信息(无法使用yum grouplist)
・配置YUM源(服务端)
1在FTP根目录下创建other目录,并将rpm软件包复制到此目录
2安装创建repodata数据文件的工具
3创建repodata数据文件
・配置客户端
只需在原来的yum.repo文件中添加以下内容即可
四 Yum的使用
・关于yum命令
由软件包yum-3.2.29-17.el6.noarch提供
用来访问YUM仓库,查询、下载及安装、卸载软件包
・yum的配置文件
基本设置:/etc/yum.conf
仓库设置:/etc/yum.repos.d/*.repo
日志文件:/var/log/yum.log
・YUM缓存目录
存放下载的软件包、仓库信息等数据
位于/var/cache/yum/$basearch/$releasever
[root@localhost ~]# yum clean all 清理缓存数据
・Yum命令的使用
1查询软件包
yum list [软件名]...
yum info [软件名]...
yum search <关键词>...
yum list、yum info,软件名可以省略,表示查询所有软件
2查询软件包组
yum grouplist [包组名]...
yum groupinfo <包组名>...
yum grouplist,包组名可以省略,表示列出所有软件包组
yum list available则表示只列出软件仓库中可用(尚未安装)的软件包
3安装软件
yum install [软件名]
yum –y install [软件名] -y表示自动确认
yum groupinstall <包组名>
4升级软件
yum check-update 检查可更新的程序
yum list update表示列出可以升级版本的软件包
yum update 全部更新
yum update [软件名]
yum groupupdate
5卸载软件
yum remove <软件名>...
yum groupremove <包组名>...
yum clean headers 清除header
yum clean packages 清除下载的rpm包
yum clean all 清除header与rpm包