1、先在yum-server上设置好阿里云的centos和epel的yum源,并测试可以访问。阿里云yum源:https://opsx.alibaba.com/mirror
安装apache和repository的管理工具yum-utils
yum install httpd yum-utils createrepo -y
2、新建文件夹/mirrior,chown赋予apache用户权限,apache或者nginx注意修改权限。
mkdir -p /mirrior
chown -R apache.apache /mirrior,chmod -R 755 /mirrior
3、同步yum源的rpm包到本地使用reposync,同步完成后用du -sh /mirrior检查文件夹大小
reposync -n --repoid=extras --repoid=updates --repoid=base --repoid=epel -p /mirrior
4、createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。
createrepo -po /mirrior/base /mirrior/base
createrepo -po /mirrior/updates /mirrior/updates
createrepo -po /mirrior/extras /mirrior/extras
createrepo -po /mirrior/epel /mirrior/epel
5、设置apache 根目录设置为/mirrior
修改/etc/httpd/conf/httpd.conf
注释#DocumentRoot "/var/www/html"这一行,在其下添加DocumentRoot "/mirrior"
修改
备份掉welcome配置,达到访问服务器地址直接现实站点根目录
mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak
开启httpd服务
systemctl restart httpd
systemctl enable httpd
6、写自动同步脚本yum_update.sh
!/bin/bash
echo 开始同步centos7的yum源
reposync -n --repoid=extras --repoid=updates --repoid=base --repoid=epel -p /mirrior
echo 同步centos7和epel的yum源完成
更新元数据
createrepo --update /mirrior/base/
createrepo --update /mirrior/updates/
createrepo --update /mirrior/extras/
createrepo --update /mirrior/epel/
7、定时任务crontab 每天的6点执行yum_update.sh
crontab -e
00 06 * * * /usr/bin/sh /yum_update.sh
8、在客户端修改repo文件yum_server_internal.repo
[base]
name=name=CentOS-$releasever - base
baseurl=http://192.168.193.130/base
enabled=1
gpgcheck=0
[extras]
name=name=CentOS-$releasever - extras
baseurl=http://192.168.193.130/extras
enabled=1
gpgcheck=0
[updates]
name=name=CentOS-$releasever - updates
baseurl=http://192.168.193.130/updates
enabled=1
gpgcheck=0
[epel]
name=name=CentOS-$releasever - epel
baseurl=http://192.168.193.130/epel
enabled=1
gpgcheck=0
9、yum clean all&&yum makecache等操作,yum list,yum repolist all,yum search