·yum简介及基本执行原理
参考《yum执行原理》一文:http://izack.cn/worknote/9.html
·repo文件详解
参考《repo文件详解》一文:http://izack.cn/worknote/10.html
·createrepo简介及主要参数
参考《createrepo常用参数》一文:http://izack.cn/worknote/8.html
·自建yum源范例
下述内容记录了自建最简化yum源(软件仓库)的过程。
第一步:首先明确该软件仓库对外开放的访问协议和路径格式,这里我采用Apache HTTP Server提供服务,并制定格式为“http://主机IP地址:80/操作系统名/发行版/CPU架构”。
第二步:按照第一步制定的格式去创建目录:
/home/data/yum/centos/6/x86_64
第三步:安装并配置Apache HTTP Server,使来访者能访问到本地软件仓库。
首先安装Apache HTTP Server服务。
这里用yum直接安装,如果实际环境无法联网,需要自带rpm安装包。
- yum -y install httpd
由于我的测试环境上Apache HTTP Server没有用作它途,所以直接将“/etc/httpd/conf/httpd.conf”内的“ServerName”一行注释掉,并在修改“DocumentRoot”和“Directory”属性为“/home/data/yum”后直接启动了服务。
- chkconfig httpd on
- service httpd start
第四步:将rpm包全部拷贝至第二步所示的目录下。
第五步:使用createrepo创建元数据:
- createrepo -p -d -o /home/data/yum/centos/6/x86_64/ /home/data/yum/centos/6/x86_64/
执行效果如下图所示。
(注意:-p参数表示用pretty format输出;-d参数表示用SQLite存储元数据;-o用来指定元数据输出路径,即后面跟随的第一个路径;第二个路径为存放rpm包的路径)
成功执行后,“/home/data/yum/centos/6/x86_64/”路径下会出现“repodata”目录,该目录内即为该软件仓库的元数据。
第六步:编写如下repo文件并下发至需要使用本自建yum源安装软件的节点,这里文件名使用“Zack-Mirror.repo”,“10.1.51.137”是我的本机内网IP,可依据具体部署环境自行更改。
- [Zack-Mirror]
- name=Zack-Mirror
- baseurl=http://10.1.51.137/centos/$releasever/$basearch/
- enabled=1
- gpgcheck=0
第七步:指定从本地自建仓库安装软件。
以安装vsftp服务为例,命令行指令如下:
- yum --disablerepo=* --enablerepo=Zack-Mirror install vsftpd
执行效果如下图。
输入y确认后即完成安装。