龙空技术网

Centos自建本地Cetnos及epel更新源(脚本适合centos6|centos7)

摸索中前进 385

前言:

如今姐妹们对“centosessentialstechotopia”大概比较关怀,朋友们都需要剖析一些“centosessentialstechotopia”的相关内容。那么小编同时在网摘上收集了一些关于“centosessentialstechotopia””的相关内容,希望我们能喜欢,同学们一起来了解一下吧!

使用本地更新源可以大大减少系统部署中安装更新软件的时间。

平台使用CENTOS7+apahce2.4+RSYNC(本文脚本适合centos6|centos7)

文中本地源服务器ip:192.168.239.241

Centos公开的mirrors地址

本文使用了“中国科学大学”的rsync源,这个源没在上面地址公开,提供的带宽是250M以上,我在家里200M的光纤可以满速进行同步。

服务器状态页

mirrors index

系统我使用了最小安装

1、安装rsync、httpd

# yum install -y rsync httpd bash-completion psmisc

精简安装没有按tab可以自动补全命令和killall命令

bash-completion的作用是按tab可以自动补全命令

psmisc killall命令安装包

2、编定同步脚本

我个人喜欢直接放在root用户目录下

#vi /root/bin/mirrors.sh

------------------------------------------------------------------------------------

#!/bin/bash

###结束现有rsync进程

killall `ps aux|grep rsync|awk -F" " '{print $11}'`

echo 结束时间 `date +%F_%H%M%S` >> /tmp/rsync_process.log

echo '###################结 束 时 间 ######################' >> /tmp/rsync_process.log

#

#URL="rsync://mirrors.tuna.tsinghua.edu.cn"

URL="rsync://rsync.mirrors.ustc.edu.cn/repo"

rsync -avzPH --delete $URL/centos/ /data/centos/ >> /tmp/rsync_centos.log

rsync -avzPH --delete $URL/epel/ /data/epel >> /tmp/rsync_epel.log

rsync -avzPH --delete $URL/ceph/ /data/ceph >> /tmp/rsync_ceph.log

echo 完成时间 `date +%F_%H%M%S` >> /tmp/rsync_process.log

echo '###################完 成 时 间 ######################' >> /tmp/rsync_process.log

-----------------------------------------------------------------------------------------

执行同步脚本

sh /root/bin/mirrors.sh

我用了两天才完成同步。

3.配置脚本自动执行

#crontab -euroot

添加任务

查看己添加任务

[root@mirrors html]# crontab -luroot

------------------------------------------------

#* * * * * command

#分 时 日 月 周 命令

#第1列表示分钟1~59 每分钟用*或者 */1表示

#第2列表示小时1~23(0表示0点)

#第3列表示日期1~31

#第4列表示月份1~12

#第5列标识号星期0~6(0表示星期天)

#第6列要运行的命令

#每30分钟执行一次同步

*/30 * * * * sh /root/bin/mirrors.sh

-------------------------------------------------------

4、配置apache服务

------------------------------------------------------​

yum install -y httpd \

&& systemctl enable httpd \

&& ln -sf /data/* /var/www/html/ \

&& cd /etc/httpd/conf.d/ \

&& mv welcome.conf welcome.conf.bak \

&& systemctl restart httpd

​------------------------------------------------------

5、关闭防火墙和selinux

-----------------------------------------------------------------------------------

#OSVERSION

OSVERSION=`cat /etc/redhat-release |awk -F "release " '{print $2}'|awk -F "." '{print $1}'`

echo $OSVERSION

#selinux

echo -n "正在关闭SELinux……"

setenforce 0 > /dev/null 2>&1

sed -i '/^SELINUX=/s/=.*/=disabled/' /etc/selinux/config

if [ $? -eq 0 ];then

echo -n "SELinux初始化完毕!"

fi

#iptables

if [ $OSVERSION -eq 6 ];then

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

service iptables save

fi

if [ $OSVERSION -eq 7 ];then

firewall-cmd --permanent --add-port=80/tcp

firewall-cmd --reload

fi

----------------------------------------------------------------------------------------------

ie上打开

客户端设置脚本(保存在服务器上):

[root@mirrors html]# cat /var/www/html/m.sh

-------------------------------------------------------------------------------------

cat /etc/hosts|grep 192.168.239.241

if [ $? == 1 ]; then

echo 192.168.239.241 mirror.centos.org >> /etc/hosts

echo 192.168.239.241 mirrors.fedoraproject.org >> /etc/hosts

fi

yum clean all && yum makecache

#安装epel

yum install -y epel-release

sed -e "s/^metalink=/#metalink=/g" \

-e "s/^mirrorlist=http/#mirrorlist=http/g" \

-e "s@^#baseurl=@baseurl=@g" \

-i /etc/yum.repos.d/*.repo

yum clean all && rm -rf /var/cache/yum/* && yum makecache

-----------------------------------------------------------------------

客户端配置:

curl 192.168.239.241/m.sh|sh -

---------------------

版权声明:本文为CSDN博主「运维自动化&云计算」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

原文链接:

标签: #centosessentialstechotopia