RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的。 现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。 如果你的服务器都是统一的类型,比如centos,如果都是一个版本更好,采用yum的方式安装最好。 将自己定义好的rpm包,放置于自己私有的yum源中,通过yum就可以完成安装。 一切变得便捷和简单。 以下私有YUM的库创建都源于已经有现成的RPM包,实例中采用nginx定制化的RPM包来做测试,具体制作的SPEC文件地址如下:
http://git.oschina.net/mesopodamia/rpmbuild/blob/master/snginx.spec可以在以上地址获取到SPEC文件,然后制作成相应的RPM包,继续下面的操作。
安装YUM制作软件
- yum install createrepo
创建发布RPM包的HTTP服务
你可以通过httpd或者nginx来搭建一个提供http服务的server- mkdir -p /data/yumSource/{5/{i386,x86_64},6/{i386,x86_64}}
初始化reposource信息
- createrepo -p -d -o /data/yumSource/5/i386 /data/yumSource/5/i386
- createrepo -p -d -o /data/yumSource/5/x86_64 /data/yumSource/5/x86_64
- createrepo -p -d -o /data/yumSource/6/i386 /data/yumSource/6/i386
- createrepo -p -d -o /data/yumSource/6/x86_64 /data/yumSource/6/x86_64
修改/etc/yum.repos.d/CentOS-Base.repo文件
- [sky-yum]
- name=sky-yum
- baseurl=http://192.168.20.202/$releasever/$basearch/
- enabled=1
- gpgcheck=0
- gpgkey=
- $basearch表示系统的是32位还是64位
- enabled=1 说明启用这个更新库,0表示不启用。
- gpgcheck=1 表示使用gpg文件来检查软件包的签名
- gpgkey= 如果上面是1,则表示gpg文件所存放的位置,此处也可以有http方式的位置
- $releasever变量的意思是centos版本的类型,比如6和5
更新YUM
- yum clean all
- yum search snginx