互联网同步yum服务器阿里云 reposync createrepo

参考文章:

https://www.cnblogs.com/lldsn/p/10479493.html

系统版本centos 7.5 最小化安装

修改主机名

hostnamectl set-hostname yum.local

安装wget软件包

yum install wget -y

修改yum源

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

验证阿里云是否正常

yum repolist

安装依赖包

yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel createrepo yum-utils

创建本地目录

mkdir /mirror

同步rpm包到本地的

reposync -p /mirror

更新新的rpm包

reposync -np /mirror

创建索引

createrepo -po /mirror/base/ /mirror/base/

createrepo -po /mirror/extras/ /mirror/extras/

createrepo -po /mirror/updates/ /mirror/updates/

createrepo -po /mirror/epel/ /mirror/epel/

createrepo -po /mirror/epel/ /mirror/centosplus/

更新数据源

createrepo --update /mirror/base

createrepo --update /mirror/extras

createrepo --update /mirror/updates

createrepo --update /mirror/epel

createrepo --update /mirror/centosplus

安装nginx

yum install nginx -y

修改nginx的配置文件

vi /etc/nginx/nginx.conf

nginx.conf配置文件内容如下

user nginx;

worker_processes auto;

error_log /var/log/nginx/error.log;

pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {

worker_connections 1024;

}

http {

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;

tcp_nopush on;

tcp_nodelay on;

keepalive_timeout 65;

types_hash_max_size 2048;

include /etc/nginx/mime.types;

default_type application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.

# See http://nginx.org/en/docs/ngx_core_module.html#include

# for more information.

include /etc/nginx/conf.d/*.conf;

server {

listen 80 default_server;

listen [::]:80 default_server;

server_name _;

root /mirror; #修改未mirro目录

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

location / {

autoindex on; #打开目录浏览功能

autoindex_exact_size off; # off:以可读的方式显示文件大小

autoindex_localtime on; # on、off:是否以服务器的文件时间作为显示的时间

charset utf-8,gbk; #展示中文文件名

index index.html;

}

error_page 404 /404.html;

location = /40x.html {

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}

}

}

重启nginx服务

systemctl restart nginx.service

将nginx添加到开机启动

systemctl enable nginx.service

使用浏览器访问测试nginx是否能被成功访问。

yum客户端配置

cd /etc/yum.repos.d/

备份系统自带的yum源

tar -zcvf yum.bak.tar.gz /etc/yum.repos.d/CentOS-*

删除系统自带的repo文件

rm -rf CentOS-*

创建yum配置文件

vi local.repo

local.repo配置文件的内容如下

[base]

name=CentOS-Base(GDS)

baseurl=http://192.168.197.20/base

path=/

enabled=1

gpgcheck=0

[updates]

name=CentOS-Updates(GDS)

baseurl=http://192.168.197.20/updates

path=/

enabled=1

gpgcheck=0

[extras]

name=CentOS-Extras(GDS)

baseurl=http://192.168.197.20/extras

path=/

enabled=1

gpgcheck=0

[epel]

name=CentOS-Epel(GDS)

baseurl=http://192.168.197.20/epel

path=/

enabled=1

gpgcheck=0

清除

测试安装一个rpm包

yum install vim -y

服务器端周期性的更新rpm包,手工命令如下

更新rpm包

reposync -np /mirror

更新之后需要重新更新数据源

createrepo --update /mirror/base

createrepo --update /mirror/extras

createrepo --update /mirror/updates

createrepo --update /mirror/epel

也可以创建定时更新的脚本

#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

将脚本加入到定时任务中

# crontab -e

# Updating Aliyum Source

00 13 * * 6 [ $(date +%d) -eq $(cal | awk 'NR==3{print $NF}') ] && /bin/bash /mirror/script/centos_yum_update.sh

每月第一个周六的13点更新阿里云yum源

上一篇:React-setState的那些事儿


下一篇:react第三节-基础概念梳理