yum服务器设置

转自:http://blog.chinaunix.net/uid-22141042-id-1789605.html

 

不得不说,RedHat的确很邪恶,如果我们直接用他自带的系统碟做YUM源的话,总是会得到类似下面的信息:

 

media://1192656534.547140%232/httpd-2.2.3-11.el5.i386.rpm:[Errno 4] IOError: <urlopen error unknown url type: media>
Trying other mirror.
Error: failed to retrieve httpd-2.2.3-11.el5.i386.rpm from rhel
error was [Errno 4] IOError: <urlopen error unknown url type: media>

 

不过,还好Linux是开源的,我们可以自己RH的rpm包自己来架设一个源。

 

首先,我们按照他的目前结构把光盘上所有的文件拷贝一份到服务器上(假设服务器目录为/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, keyID 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为你光盘的挂载点

 

你可能感兴趣的:(yum)