在局域网环境搭建的时候,有时会遇到大批量服务器安装环境,因外与公网隔离,无法连接互联网导致无法使用yum命令快速安装基础软件,因此需要挂载自己的yum源、搭建yum服务。
-
既然是制作yum源,当然是希望镜像文件内包含的包越全越好,因此从官网下载时,尽量下载“Everything ISO”,另外一个“DVD ISO”是通用版,里面的包并不全,还有一个“Minimal ISO”就更不用说了,是centos最小安装版(相当于是windows的纯净系统)。
centos 7版本的“Everything ISO”镜像下载地址如下(自行选择镜像服务器和下载的系统版本):
http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1511.iso
下载的文件名示例:CentOS-7-x86_64-Everything-1511.iso -
使用iso文件制作yum源,需要先挂载,然后才能使用。
创建data/iso和data/rpm目录mkdir data/iso mkdir data/rpm
将 CentOS-7-x86_64-Everything-1511.iso 文件上传data目录下后进行挂载
mkdir -p /data/iso cd /data mount -o loop -t iso9660 CentOS-7-x86_64-Everything-1511.iso /data/iso mount -o loop iso9660 CentOS-7-x86_64-Everything-1511.iso /data/iso
-
修改本地yum源
进入yum源配置目录cd /etc/yum.repos.d/
移除备份网络源配置文件
mv CentOS-Base.repo CentOS-Base.repo.bak
编辑本地源配置文件
vim CentOS-Media.repo 修改为以下代码 name=CentOS-7-x86_64-Everything-iso baseurl=file:///data/iso gpgcheck=1 enabled=1
-
重新加载
yum clean all yum makecache
-
安装net-tools软件进行测试
yum install net-tools
自此本地yum源搭建完成。
-
yum服务器搭建
上述步骤及配置,只能在本地使用离线yum仓库,如果希望其他服务器(例如192.168.1.102)也能使用该服务器(例如192.168.1.101)的离线yum仓库,就需要在该服务器上通过http服务或者是ftp服务将yum仓库共享出去,这里提供的方法是http方式。注:这里提供的http方式需要占用80端口,其他服务器也不能将这个端口防火墙过滤掉。
搭建http服务器(按上例192.168.1.101,如果已搭建,可以继续下一步)首先安装httpd 服务
yum install -y httpd systemctl enable httpd systemctl start httpd
注:如果无法通过yum方式安装,请依次下载以下包进行安装(centos7.0系统为例):
rpm -ivh apr-1.4.8-3.el7.x86_64.rpm rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm rpm -ivh httpd-tools-2.4.6-31.el7.x86_64.rpm rpm -ivh mailcap-2.1.41-2.el7.noarch.rpm rpm -ivh httpd-2.4.6-31.el7.x86_64.rpm rpm -ivh httpd-2.4.6-31.el7.x86_64.rpm systemctl enable httpd systemctl start httpd
按照如上方式启动的httpd服务,占用端口80(注意防火墙开放80端口),默认访问路径是/var/www/html/,因此需要将上例中创建的/data/rpm、/data/iso目录做个软连接到这个目录下:
mkdir -p /var/www/html/ ln -s /data/rpm /var/www/html/rpm ln -s /data/iso /var/www/html/iso
在其他服务器(按上例,即192.168.1.102)上配置yum源:
cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak vim CentOS-Media.repo 修改为以下内容 [http_iso] name=iso_105 baseurl=http://10.1.245.105/iso gpgcheck=0 enabled=1
重新加载验证
yum clean all yum makecache