版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
搭建yum源有两种方式,通过web服务或者是ftp服务。此处是通过ftp方式。
1、搭建ftp,我用的是vsftpd
yum install vsftpd
开启vsftpd服务
systemctl start vsftpd.service
此时应该已经可以访问。如果不行,查看防火墙或者selinux配置。
ftp默认路径为/var/ftp/
2、建立本地163yum源
1、建立仓库目录
mkdir /var/ftp/centos/6 -p
mkdir /var/ftp/centos/7 -p
2、修改yum源
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
vi CentOS-Base-163.repo
# Centos7
[base7]
name=CentOS-7 - Base - 163.com
baseurl=http://mirrors.163.com/centos/7/os/x86_64/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
[updates7]
name=CentOS-7 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/7/updates/x86_64/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
[extras7]
name=CentOS-7 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/7/extras/x86_64/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
# Centos6
[base6]
name=CentOS-6 - Base - 163.com
baseurl=http://mirrors.163.com/centos/6/os/x86_64/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
[updates6]
name=CentOS-6 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/6/updates/x86_64/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
[extras6]
name=CentOS-6 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/6/extras/x86_64/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
3、yum repolist验证源文件
3、安装repository工具
1、安装
yum install yum-utils createrepo -y
2、同步CentOS-Base-163.repo中163的centos6包文件
reposync -n --repoid=extras6 --repoid=updates6 --repoid=base6 -p /var/ftp/centos/6
3、同步CentOS-Base-163.repo中163的centos7包文件
reposync -n --repoid=extras7 --repoid=updates7 --repoid=base7 -p /var/ftp/centos/7
4、创建索引
格式:createrepo -po 源目录 索引元数据的输出位置目录
createrepo -po /var/ftp/centos/6/base6/ /var/ftp/centos/6/base6/
createrepo -po /var/ftp/centos/6/updates6/ /var/ftp/centos/6/updates6/
createrepo -po /var/ftp/centos/6/extras6/ /var/ftp/centos/6/extras6/
createrepo -po /var/ftp/centos/7/base7/ /var/ftp/centos/7/base7/
createrepo -po /var/ftp/centos/7/updates7/ /var/ftp/centos/7/updates7/
createrepo -po /var/ftp/centos/7/extras7/ /var/ftp/centos/7/extras7/
5、下载对应的key文件到centos目录下。
cd /var/ftp/centos
wget http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
wget http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
4、客户端yum源配置
CentOS-Base.repo内容如下
(centos6)
# CentOS-Base.repo
[base]
name=CentOS-$releasever - Base-sqy
baseurl=ftp://192.168.1.17/centos/6/base6/
gpgcheck=1
gpgkey=ftp://192.168.1.17/centos/RPM-GPG-KEY-CentOS-6
[updates]
name=CentOS-$releasever - Updates - sqy
baseurl=ftp://192.168.1.17/centos/6/updates6/
gpgcheck=1
gpgkey=ftp://192.168.1.17/centos/RPM-GPG-KEY-CentOS-6
[extras]
name=CentOS-$releasever - Extras - sqy
baseurl=ftp://192.168.1.17/centos/6/extras6/
gpgcheck=1
gpgkey=ftp://192.168.1.17/centos/RPM-GPG-KEY-CentOS-6
(centos7)
# CentOS-Base.repo
[base]
name=CentOS-$releasever - Base-sqy
baseurl=ftp://192.168.1.17/centos/7/base7/
gpgcheck=1
gpgkey=ftp://192.168.1.17/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates - sqy
baseurl=ftp://192.168.1.17/centos/7/updates7/
gpgcheck=1
gpgkey=ftp://192.168.1.17/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras - sqy
baseurl=ftp://192.168.1.17/centos/7/extras7/
gpgcheck=1
gpgkey=ftp://192.168.1.17/centos/RPM-GPG-KEY-CentOS-7
如下配置成功
定时同步脚本如下:
vi /root/updateyum.sh
#!/bin/bash
echo 开始同步centos6
reposync -n --repoid=extras6 --repoid=updates6 --repoid=base6 -p /var/ftp/centos/6
echo centos6同步结束
echo 开始同步centos7
reposync -n --repoid=extras7 --repoid=updates7 --repoid=base7 -p /var/ftp/centos/7
echo centos7同步结束
#更新元数据
createrepo --update /var/ftp/centos/centos/6/base6/
createrepo --update /var/ftp/centos/centos/6/updates6/
createrepo --update /var/ftp/centos/centos/6/extras6/
createrepo --update /var/ftp/centos/centos/7/base7/
createrepo --update /var/ftp/centos/centos/7/updates7/
createrepo --update /var/ftp/centos/centos/7/extras7/
chmod +x /root/updateyum.sh
cd /root/
./updateyum.sh #执行脚本