Centos
一、源服务器的系统环境。最小化安装
[root@yumserver ~]#
cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
源服务器IP地址:192.168.0.200
二、放开系统防火墙,关闭selinux
[root@yumserver ~]#
firewall-cmd --add-port=80/tcp --permanent
success
[root@yumserver ~]#firewall-cmd --reload
success[root@yumserver ~]#
vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted – Targeted processes are protected,
# minimum – Modification of targeted policy. Only selected processes are protected.
# mls – Multi Level Security protection.
SELINUXTYPE=targeted
三.添加阿里云yum源并检查
备份好原系统的repo
[root@yumserver ~]#cd /etc/yum.repos.d
[root@yumserver ~]#mkdir backup
[root@yumserver yum.repos.d]# mv *.repo backup/
下载阿里云repo
[root@yumserver yum.repos.d]#
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@yumserver yum.repos.d]#curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@yumserver yum.repos.d]#yum makecache
[root@yumserver yum.repos.d]#yum repolist
四.安装相关软件
yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel httpd yum-utils createrepo
注释:
- yum-utils:reposync同步工具
- createrepo:编辑yum库工具
- httpd:通过Apache软件提供web服务,也可以使用nginx
五、同步阿里云yum源软件包到本地服务器指定目录
/mirror(自定义目录)
[root@yumserver ~]#
mkdir -p /mirror
[root@yumserver ~]#chown -R apache:apache /mirror
[root@yumserver ~]#chmod -R 755 /mirror
[root@yumserver ~]#reposync -n --repoid=extras --repoid=updates --repoid=base --repoid=epel -p /mirror
参数注释:-n指下载最新软件包,-p指定目录,指定本地的源--repoid(如果不指定就同步本地服务器所有的源),下载过程比较久
六.创建仓库索引
[root@yumserver ~]#
createrepo -po /mirror/base/ /mirror/base/
[root@yumserver ~]#createrepo -po /mirror/extras/ /mirror/extras/
[root@yumserver ~]#createrepo -po /mirror/updates/ /mirror/updates/
[root@yumserver ~]#createrepo -po /mirror/epel/ /mirror/epel/
七.更新数据源
[root@yumserver ~]#
createrepo --update /mirror/base/
[root@yumserver ~]#createrepo --update /mirror/extras/
[root@yumserver ~]#createrepo --update /mirror/updates/
[root@yumserver ~]#createrepo --update /mirror/epel/
八.启动并配置Apache服务
[root@yumserver ~]#
systemctl start httpd
[root@yumserver ~]#systemctl enable httpd
[root@yumserver ~]#systemctl status httpd
[root@yumserver ~]#vim /etc/httpd/conf/httpd.confDocumentRoot "/mirror/" <Directory "/mirror/"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all Require all granted </Directory>
九.编写yum源客户端配置文件
[root@yumserver repo]#
vim /mirror/repo/CentOS-Base.repo[base] name=CentOS- - Base - 192.168.0.200 failovermethod=priority baseurl=http://192.168.0.200/base/ enable=1 gpgcheck=0 [updates] name=CentOS- - Updates - 192.168.0.200 failovermethod=priority baseurl=http://192.168.0.200/updates/ enable=1 gpgcheck=0 [extras] name=CentOS- - Extras - 192.168.0.200 failovermethod=priority baseurl=http://192.168.0.200/extras/ enable=1 gpgcheck=0 [epel] name=CentOS- - Epel - 192.168.0.200 failovermethod=priority baseurl=http://192.168.0.200/epel/ enable=1 gpgcheck=0
十.客户端配置yum源
用户可以浏览器访问192.168.0.200查看配置客户端yum源的方法
[root@servera ~]#
curl -o /etc/yum.repos.d/CentOS-Base.repo http:/ /192.168.0.200/repo/CentOS-Base.repo
[root@servera ~]#yum makecache
十一.设置定时同步yum源的任务
[root@yumserver ~]#
vim /mirror/script/centos_yum_update.sh#!/bin/bash echo 'Updating Aliyum Source' DATETIME=`date +%F_%T` exec > /var/log/aliyumrepo_$DATETIME.log reposync -np /mirror if [ $? -eq 0 ];then createrepo --update /mirror/base createrepo --update /mirror/extras createrepo --update /mirror/updates createrepo --update /mirror/epel echo "SUCESS: $DATETIME aliyum_yum update successful" else echo "ERROR: $DATETIME aliyum_yum update failed" fi
添加定时任务,每周一凌晨1点执行添加定时任务,每周一凌晨1点执行
[root@yumserver ~]#crontab -l
0 1 1 /bin/bash /mirror/script/centos_yum_update.sh