1、服务端备份主机yun源
cd /etc/yum.repos.d/
mkdir package
mv CentOS* package
2、下载阿里云yun源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3、检查yum的可用性
yum repolist
4、安装yum相关软件
yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel createrepo yum-utils
yum-utils:reposync同步工具
createrepo:编辑yum库工具
plugin-priorities:控制yum源更新优先级工具,这个工具可以用来控制进行yum源检索的先后顺序,建议可以用在client端。
5、根据源标识同步源到本地目录
1)、创建本地目录
mkdir /data/local_yum
2)、同步到本地目录
reposync -np /data/local_yum #-n 直接下载最新的package;-p 将包下载到的路径,默认是当前目录
3)、创建索引
cd /data
createrepo -po local_yum/base/ local_yum/base/
createrepo -po local_yum/extras/ local_yum/extras/
createrepo -po local_yum/updates/ local_yum/updates/
createrepo -po local_yum/epel/ local_yum/epel/
4)、跟新源数据
createrepo --update local_yum/base/
createrepo --update local_yum/extras/
createrepo --update local_yum/updates/
createrepo --update local_yum/epel/
6、安装nginx开启目录权限保证本地机器可以直接本地yum源
1)、安装nginx
yum install nginx -y
2)、修改配置文件
vim /etc/nginx/nginx.conf
server {
**root /data/local_yum; #改为yum源的位置 **
**location / {
autoindex on; #打开目录浏览功能
autoindex_exact_size off; # off:以可读的方式显示文件大小
autoindex_localtime on; # on/off:是否以服务器的文件时间作为显示的时间
charset utf-8,gbk; #展示中文文件名
index index.html;
}**
systemctl restart nginx #重启nginx 访问:ip 例:192.168.118.102
7、在客户端创建repo文件
1)、备份原有的yun源
mkdir /yum.bak
mv /etc/yum.repo.d/* /yum.bak
2)、创建repo文件
vim CentOS.7-Base.repo
[base]
name=CentOS-$releasever - Base - mirror.template.com
baseurl=http://192.168.118.102/base/
path=/
enabled=1
gpgcheck=0
[updates]
name=CentOS-$releasever - Updates - mirror.template.com
baseurl=http://192.168.118.102/updates/
path=/
enabled=1
gpgcheck=0
[extras]
name=CentOS-$releasever - Extras - mirrors.template.com
baseurl=http://192.168.118.102/extras/
path=/
enabled=1
gpgcheck=0
[epel]
name=CentOS-$releasever - epel - mirrors.template.com
baseurl=http://192.168.118.102/epel/
failovermethod=priority
enabled=1
gpgcheck=0
yum repolist #检查可用性
8、在服务端写脚本,定时跟新源
1)、编写更新脚本
vim yum_update.sh
#!/bin/bash
echo "开始更新"
date=`date +%Y/%d/%m-%T`
date_2=`date +%Y-%d-%m`
touch /var/log/yum_update/$date_2.log
exec > /var/log/yum_update/$date_2.log
reposync -np /data/local_yum
if [ $? -eq 0 ];
then
createrepo --update /data/local_yum/base/
createrepo --update /data/local_yum/extras/
createrepo --update /data/local_yum/updates/
createrepo --update /data/local_yum/epel/
echo "sucess: $data yum update successful"
else
echo "error: $data yum update failed"
fi
2)、创建定时脚本
crontab -e
* * 1 * * sh /data/yum.updata.sh #每个月的第一天执行更新脚本