如何为中标普华Linux或Fedora构建本地yum仓库:
1、首先安装创建仓库所用到的工具: createrepo
[Lee@leedd.com ~]$ sudo yum install createrepo |
然后根据提示输入当前用户密码,或是直接用root帐号进行安装。
2、为本地仓库创建目录结构,如在当前用户的根目录(/home/Lee)下创建:
[Lee@leedd.com ~]$ pwd
/home/Lee [Lee@leedd.com ~]$ mkdir -p /home/Lee/repos/yum/neoshine/base/5/i386 [Lee@leedd.com ~]$ mkdir -p /home/Lee/repos/yum/neoshine/updates/5/i386 |
3、把mock需要用到的文件复制到/home/Lee/repos/yum/neoshine/base/5/i386 目录下
4、创建仓库所需要的数据结构文件
[Lee@leedd.com ~]$ createrepo /home/Lee/repos/yum/neoshine/base/5/i386 |
创建后会生成:/home/Lee/repos/yum/neoshine/base/5/i386/repodata 目录。里面包含一些.xml 和 .gz 文件。
5、配置本地yum参数
到yum配置文件所在目录,然后对该目录下的.repo文件进行根目录权限编辑(如果是root账户则不需要用sudo),不同系统的名字可能不一样。
[Lee@leedd.com ~]$ cd /etc/yum.repos.d/
[Lee@leedd.com yum.repos.d]$ ls neoshine.repo [Lee@leedd.com yum.repos.d]$ sudo vim neoshine.repo |
打开该文件后,查找-base相关的配置,如:
# This is the repo define for NSLD5
[nsld5-base] name=NeoShine Linux Desktop 5 – base – i386 baseurl=ftp://nsupdate:nsupdate@ftp.cs2c.com.cn/ND/5/base/i386/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neoshine-release |
根据上面参数配置本地仓库所在路径:
# This is the repo define for NSLD5
[nsld5-test] name=NeoShine Linux Desktop 5 – test – i386 baseurl=file:///home/Lee/repos/yum/neoshine/base/5/i386 enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neoshine-release |
注意,test为任意文件名字。
Enabled=1 表示开启该仓库,可以同时并行使用仓库。
gpgcheck=0 为密匙验证,因为在本机测试,所有包都可信,所以关闭该验证。
然后进入/etc/mock目录
找到与刚才 nsld5-base 对应的neoshine-5-i686.cfg文件
[Lee@leedd.com mock]$ sudo cp neoshine-5-i686.cfg neoshine-test-i686.cfg
[Lee@leedd.com mock]$ sudo vim neoshine-test-i686.cfg |
然后类比nsld5-base 创建nsld-base-test
[nsld5-base]
name=NeoShine Linux Desktop 5 – base – i386 baseurl=ftp://nsupdate:nsupdate@ftp.cs2c.com.cn/ND/5/base/i386/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neoshine-release [nsld5-base-test] name=NeoShine Linux Desktop 5 – base-test – i386 baseurl=file:///home/Lee/repos/yum/neoshine/base/5/i386 enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neoshine-release |
最后cd到所要mock的.src.rpm二进制包所在目录,mock的时候则使用该test仓库即可
[Lee@leedd.com ~]$ cd src-rpm
[Lee@leedd.com src-rpm]$ mock -r neoshine-test-i686 –rebuild XXX.src.rpm |
Pingback引用通告: 使用Mock替代rpmbuild进行编包 | 沉思小屋