YUM光盘源默认只能本机使用,局域网其他服务器无法使用YUM光盘源,如果想使用的话,需要在每台服务器上构建YUM本地源,该方案在企业中不可取,所以需要构建HTTP局域网YUM源解决。都可以通过createrepo创建本地YUM源端,repo即为repository(仓库)。
1)挂载光盘镜像文件至 /mnt
mount /dev/cdrom /mnt/
2)复制 /mnt/Packages 目录下所有软件包至 /var/www/html/centos/
- mkdir /var/www/html/centos
- cp -R /mnt/Packages/* /var/www/html/centos/
3)使用 createrepo 创建本地源,执行如下命令会在 CentOS 目录生产 repodata 目录
在下载 createrepo 时遇到文件系统根目录上的磁盘空间不足的问题,通过查阅资料http://t.csdn.cn/yFNIP,对系统磁盘空间扩容。
- yum install createrepo* -y
- cd /var/www/html/
- createrepo centos/
进入 repodata 目录查看内容如下:
- cd /var/www/html/centos/repodata
- ls
4)利用 HTTP 发布 YUM 本地源。
本地YUM源通过 createrepo 搭建完毕,需要借助 HTTP Web 服务器发布 /var/www/html/centos/ 中所有软件,YUM 或者 RPM 安装 HTTP Web 服务器,并启动httpd服务。
- #安装HTTP Web服务
- yum install httpd httpd-devel -y
- #创建Apache用户和组
- useradd apache -g apache
- #重启httpd服务
- systemctl restart httpd.service
- #临时关闭SELinux应用级安全策略
- setenforce 0
- #停止防火墙
- systemctl stop firewalld.service
- #查看httpd进程是否启动
- ps -ef | grep httpd
5)在 YUM 客户端,创建 /etc/yum.repos.d/http.repo文件,输入如下内容:
如果之前有基于ISO镜像创建本地源,不需要创建新的 .repo 文件,只需要在之前的文件中注释掉之前的,再把以下内容输入即可。如果再重新创建,虽然能够使用浏览器打开,但是终端无法下载。如果没有基于ISO镜像创建本地源,忽略此处,创建新文件。
👉vim 批量添加注释
- #在27 - 30行添加 // 注释
- :27,30s#^#//#g
-
- #在27 - 30行删除 // 注释
- :27,30s#^//##g
-
- #在10 - 20行添加 # 注释
- :10,20s/^/#/g
-
- #在10 - 20行删除 # 注释
- :10,20s/^#//g
baseurl 的IP地址输入本地YUM源端的IP地址。每个机器不一样。(ifconfig查看)
- [base]
- name="CentOS7 HTTP YUM"
- baseurl=http://192.168.200.10/centos
- gpgcheck=0
- enabled=1
- [updates]
- name="CentOS7 HTTP YUM"
- baseurl=http://192.168.200.10/centos
- gpgcheck=0
- enabled=1
6)在YUM客户端清空 YUM cache,并安装 ntpdate 或浏览器打开 baseurl 测试是否成功。