c4rt1y

centos7搭建本地yum源服务器及同步其他平台数据源

0x01 介绍

搭建本地源,但出现多台服务器进行下载某些包时,一是占用了宽带,二是消耗了大量的时间,于是为了加速环境部署的进度,需要搭建本地私有仓库服务器地址。

0x02 基础环境安装

服务器ip
10.10.10.10   master
10.10.10.20   slave

#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

#关闭selinux,需要重启
sed -i 's:SELINUX=enforcing:SELINUX=disabled:g' /etc/selinux/config

#临时关闭seLinux
setenforce 0

#重启
reboot

0x03 配置基础环境

# master 服务器上操作
## 安装基础软件
[root@master-1 ~]# yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel httpd yum-utils createrepo

## 创建一个目录作为文件存储地址
[root@master-1 ~]# mkdir -p  /mirror/repository/
## 搭建http服务器
[root@master-1 ~]# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/mirror/"
<Directory "/mirror/">
    Options Indexes FollowSymLinks
    AllowOverride  None
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

## 启动httpd
[root@master-1 ~]# systemctl start httpd

0x04 搭建本地源ISO

# master 服务器上操作
## 下载镜像iso
[root@master-1 ~]# wget http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
## 挂载目录
[root@master-1 ~]# mount CentOS-7-x86_64-DVD-1810.iso /mnt 
## 由于不准备放在/mnt目录下,因此需要以下一些列操作创建目录
[root@master-1 ~]# mkdir -p  /mirror/repository/centos7/
## 赋值文件到该目录
[root@master-1 ~]# cp -r /mnt/* /mirror/repository/centos7/
## 删除文件
[root@master-1 ~]# cd /mnt/
[root@master-1 ~]# rm -rf *html
[root@master-1 ~]# rm -rf repodata/TRANS.TBL
## 生成YUM通用数据库完成 
[root@master-1 ~]# createrepo -g  /mirror/repository/centos7/repodata/aced7d22b338fdf7c0a71ffcf32614e058f4422c42476d1f4b9e9364d567702f-c7-x86_64-comps.xml /mirror/repository/centos7

## 配置软件源
[root@master-1 ~]# mv /etc/yum.repos.d/ /etc/yum.repos.d.bak/
[root@master-1 ~]# mkdir /etc/yum.repos.d/
[root@master-1 ~]# cat /etc/yum.repos.d/local.repo
[centos7]
name=CentOS-server
baseurl=file:///mirror/repository/centos7/
enabled=1
gpgcheck=0

## 查看yum repo 信息
[root@master-1 ~]# yum repolist
repo id                              repo name
centos7                              CentOS-server	

# slave服务器
[root@slave-1 ~]# mv /etc/yum.repos.d/ /etc/yum.repos.d.bak/
[root@slave-1 ~]# mkdir /etc/yum.repos.d/
[root@slave-1 ~]# cat /etc/yum.repos.d/centos7.repo
[CentOS7]
name=CentOS-server
baseurl=http://10.10.10.10/repository/centos7
enabled=1
gpgcheck=0
[root@slave-1 ~]# yum clean all
[root@slave-1 ~]# yum makecache
[root@slave-1 ~]# yum install wget -y

0x05 搭建zabbix源

# master 服务器上
[root@master-1 ~]# vim /etc/yum.repos.d/Centos-zabbix-7.repo	
[zabbix-7]
name=Centos7 Zabbix 
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

## 检查配置是否正确
[root@master-1 ~]# yum repolist
repo id                              repo name
centos7                              CentOS-server
zabbix-7 							 Centos7 Zabbix

## 同步数据源[自动创建与repoid相同的目录名]
reposync --repoid=zabbix-7 -np /mirror/repository/

## 创建索引
createrepo -po /mirror/repository/zabbix-7 /mirror/repository/zabbix-7

## 定期更新
createrepo -po /mirror/repository/zabbix-7 /mirror/repository/zabbix-7
createrepo --update /yum/repository/zabbix-7


# slave
[root@slave-1 ~]# cat /etc/yum.repos.d/centos7.repo
[zabbix-7]
name=zabbix-7
baseurl=http://10.10.10.10/repository/zabbix-7
enabled=1
gpgcheck=0
[root@slave-1 ~]# yum clean all
[root@slave-1 ~]# yum makecache
[root@slave-1 ~]# yum install zabbix-agent -y

0x05 资料来源

https://blog.csdn.net/qq_24795117/article/details/105765667 基于centos 7搭建本地yum源服务器及同步阿里源
https://www.cnblogs.com/zoulongbin/p/5773330.html 		CentOS 搭建内部Yum源同步阿里Yum源
GoTop