为中标普华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


《“为中标普华Linux或Fedora构建本地yum仓库”》 有 1 条评论

  1. […] 在进行编包的时候大多数人会使用rpmbuild命令在本机进行编译,这样可以使一些依赖及本地相关包的修改可以生效,但在开发过程中必须模拟用户的环境或是构建一个“干净的”环境(既没有任何其他依赖的改动,直接从yum下载构建一个纯用户环境),这样我们就需要mock命令来构建这样一个编译的纯环境并用其来替代rpmbuild进行编译软件包。而构建mock环境的步骤如下: […]

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注