一、背景与环境

   我们有时需要在不能连接外网的局域网服务器上部署软件,为了部署便利,我们可以利用DVD光盘或iso文件制作yum源,然后整个局域网内的服务器都可以通过该yum源,安装软件。

   OS:CentOS 6.2 64bits

二、挂载

对于光盘DVD,可这样挂载

mkdir /media/cdrom  # 新建挂载目录mount /dev/cdrom /media/cdrom # 挂载ls /media/cdrom     # 查看挂载是否成功

对于iso文件,可以这样挂载

mkdir /media/isomount -o loop rhel-server-xxx-dvd.iso /media/isols /media/iso

三、设置本地yum源

   在局域网内,我们以一台服务器作为“yum的server端”,安装yum源;以其他服务器作为“yum的client端”。我们在yum的server端服务器设置本地yum源,并通过该本地yum源,安装httpd。

   进入/etc/yum.repos.d/目录,创建或修改一个repo文件,例如CentOS-Media.repo。为了方便,可以把其他repo文件拷到一个备份目录中。

在CentOS-Media.repo中编辑以下内容:

[c6-media]name=CentOS-$releasever - Mediabaseurl=file:///mnt/cdromgpgcheck=1enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

四、安装httpd,设置httpd 服务器

在第三步提到的“yum的server端”上安装httpd

yum install httpd

然后,创建目录,建立软链接,使得软件包数据可通过httpd的形式被其他服务器访问。(我们假设iso文件被挂载在目录/media/iso中)

mkdir /var/www/html/yumln –s /media/iso/Package/ /var/www/html/yum/.

最后创建repomd.xml  

createrepo -g /media/iso/repodata/repomd.xml/ var/www/html/yum/.

五、其他服务器设置repo

   我们在其他服务器,即“yum的client端”上配置yum的repo

   编辑文件/etc/yum.repos.d/CentOS-Media.repo

[rhel6.2-media]name=rhel6.2-Mediabaseurl=http://server_ip/yum/gpgcheck=1enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

六、验证

   在任意服务器上,执行下列命令,验证yum是否设置成功

yum clean allyum install php