在生产系统环境中的机器都没有连接互联网,因此都是使用本地源。
首先,需要将cdrom, 或 iso文件挂载到本地目录。
1、挂载光驱: 将cdrom 放入光驱。
$ mkdir /media/cdrom # 建立挂载点目录
$ mount /dev/cdrom /media/cdrom #挂载光驱, 如果有多个光驱,那么在/dev目录下会有多个cdrom设备,比如cdrom1, cdrom2
注意: 在使用虚拟机时,经常出现无法弹出cdrom的情况。此时可以先使用 fuser -km /dev/cdrom 命令杀掉使用cdrom的进程,然后再弹出光碟。
2、挂载 iso 文件 : 将iso文件拷贝到系统
$ mkdir /media/iso # 建立挂载点目录
$ mount -o loop /home/user/xxxx.ios /media/iso #执行挂载.
然后, 配置yum源。
1、进入 /etc/yum.repo.d/ 目录, 此目录下有多个 源配置文件。
以centos为例,
CentOS-base.repo 此文件是配置了centos的网络源, 在内网环境无法使用。重命名使该文件无效。 mv CentOS-base.repo CentOS-base.repo.bak
CentOS-Media.repo 此文件一般是配置本地源,以此为模版配置本地源。
[c6-media-cdrom] # 源标示, yum用来标示不同的源,因此不同的配置文件设置为不同标示。
name=CentOS-$releasever - Media # 名字
#baseurl=file:///media/CentOS/
# file:///media/cdrom/
# file:///media/cdrecorder/
baseurl=file:///media/cdrom/ #源路径, 源路径要符合linux的源的目录规则。一般情况下,此目录下有 ./repodata目录。
gpgcheck=1 # 可以配置为 0 ,表示不校验。
enabled=1 # 配置为1 时,启用该配置的源, 配置为0时,不启用。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
2、配置http的内网源。
源服务器上启动httpd 服务
$ service httpd start
将本地iso文件挂载到httpd服务的目录下 /var/www/html/
$ mount -o loop xxx.iso /var/www/html/iso #挂载 iso文件
$ ln -sf /home/user/source /var/www/html/source # 建立本地目录的软连接。
此时,通过 http://host/iso 或 http://host/source 访问到源数据。
如果访问http服务出现 403 错误, 可能原因
1) 本地源的上级目录没有添加执行权限, 通过 chmod +x /home/user
2) 需要关闭iptables 防火墙, service iptables stop
3) selinux 没有关闭。 需要修改 /etc/selinux/config 文件 , 修改为 SELINUX=disabled , 然后重新启动机器。
配置本地网络源。
修改repo文件中的 baseurl=http://host/source
配置完成后,可以使用 yum check-update 更新源,并检查配置是否有错误。