为中标普华Linux或Fedora构建本地yum仓库

如何为中标普华LinuxFedora构建本地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

One thought on “为中标普华Linux或Fedora构建本地yum仓库

  1. Pingback: 使用Mock替代rpmbuild进行编包 | 沉思小屋

Comments are closed.