Chinaunix首页 | 论坛 | 博客
  • 博客访问: 397338
  • 博文数量: 99
  • 博客积分: 5134
  • 博客等级: 大校
  • 技术积分: 1607
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-30 09:31
文章分类

全部博文(99)

文章存档

2011年(48)

2010年(40)

2009年(10)

2008年(1)

分类:

2010-01-05 16:40:36

首先,我们按照他的目前结构把光盘上所有的文件拷贝一份到服务器上(假设服务器目录为/yumrepo)

# mount /dev/cdrom /mnt
# cp -ar /mnt/* /yumrepo

然后,我们要先安装一个RPM包才能开始架设YUM仓库

# cd /yumrepo/Server
# rpm -ihv createrepo-0.4.4-2.fc6.noarch.rpm
warning: createrepo-0.4.4-2.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:createrepo             ########################################### [100%]

这个包安装之后,会生成一个新的命令:/usr/bin/createrepo,而这个命令是我下面必须要用到的。
首先生成最重要的东西,是最基本的RPM:

#cd /yumrepo/Server
# cp repodata/comps-rhel5-server-core.xml /root
# rm -rf repodata
# createrepo -g  /root/comps-rhel5-server-core.xml  .
2159/2159 - xorg-x11-drv-cyrix-1.1.0-4.i386.rpm       
Saving Primary metadata
Saving file lists metadata
Saving other metadata

comps-rhel5-server-core.xml这个文件保存的是分组的信息,这个是createrepo这个命令不能自动生成的,我们要先把这个信息保存下来。

然后其他的几个目录,Cluster,ClusterStorage,VT也按上面的方法做一次,要注意的是comps-rhel5-server-core.xml这个文件名会不相同,但都以comps开头。我们的YUM仓库到这里也就建好了。

接下来,我们要做的就是要设置/etc/yum.repo.d里面的内容了,大家按我这个里面的写就是:

[Server]
name=Red Hat Enterprise Linux Server Core
baseurl=file:///yumrepo/Server
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[VT]
name=Red Hat Enterprise Linux Virtual Technology
baseurl=file:///yumrepo/VT
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[Cluster]
name=Red Hat Enterprise Linux Cluster
baseurl=file:///yumrepo/Cluster
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
name=Red Hat Enterprise Linux Cluster Storage
baseurl=file:///yumrepo/ClusterStorage
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

当然,你也可以通过http与ftp方式把这个目录发布出去,那只要把相关的file:///yumrepo/这部分修改一下就可以了。

PS:
也可以修改这个文件:/usr/lib/python2.4/site-packages/yum/yumRepo.py中的411行来直接使用光盘做YUM仓库
比如我们上面的例子中,可改为:

remote = url + '/' + relative

改为:

remote = “/mnt” + '/' + relative

其中mnt为你光盘的挂载点

阅读(594) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~