前些天研究了一下如何自己定义一个yum repository.
Linux 版本:RHEL 6.1
搭建yum repository
1. 创建一个远程文件服务器
首先需要假设一个HTTP或者FTP的服务器,我在机器上假设了一个httpd服务,用来作为我的yum repository的源地址。 yumtest
远程服务器可以是HTTP,FTP或者NFS。个人建议是HTTP,因为在FTP环境下,HTTP服务创建非常简单,没有FTP的用户管理和NFS的挂载点等麻烦事情。
2. 放置软件包
然后需要在服务器上放置需要安装的rpm包,我在/$ HTTP_DIR/yumtest中放置了需要发布的rpm资源。
3. 建立索引
最后要建立这个yum repository的索引文件,需要用到createrepo命令。如果系统中没有安装createrepo,可以用 “yum install createrepo”命令安装。
yum install createrepocreaterepo /$HTTP_DIR/yumtest
createrepo将在该文件夹下建立一个索引文件夹repodata,客户机器执行yum命令时,会首先检索这个文件夹,确定需要安装的rpm包。所以每次更新yum repository,都要用createrepo更新一下这个文件夹。这样一个yum repository就已经架设完成了。
客户端配置
client需要用yum命令安装软件还需要一个在机器上建立一个repo文件,用来指示yum repository的位置。
1. cd /etc/yum.repo.d/,这个文件夹下保存了系统所需要的yum repository的位置,这些文件的后缀都是.repo。
2. 创建yumtest.repo,文件名字可以自定义,但是后缀保留为.repo。
[yumtest]name="test yum repository" # 这个名字需要跟软件名字相关,可以作为提示# base url 是yum repository的文件夹所在地址,需要baseurl//repombaseurl=http://hostname/yumtestgpgcheck=0enabled=1
client配置好.repo文件后,就可以用yum install来安装和管理你的rpm包了。