一、背景与环境
我们有时需要在不能连接外网的局域网服务器上部署软件,为了部署便利,我们可以利用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