300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Redhat7.4 同步阿里云镜像rpm包并自建本地yum仓库

Redhat7.4 同步阿里云镜像rpm包并自建本地yum仓库

时间:2022-09-19 01:24:02

相关推荐

Redhat7.4 同步阿里云镜像rpm包并自建本地yum仓库

环境介绍

环境准备

1. 查看系统版本

[root@yum-server ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.4 (Maipo)

2. 关闭防火墙

[root@yum-server ~]# systemctl stop ebtables firewalld

[root@yum-server ~]# systemctl disable ebtables firewalld

3. 关闭selinux

[root@yum-server ~]# sed -i 's/enforcing/disabled/g' /etc/sysconfig/selinux

[root@yum-server ~]# setenforce 0

操作步骤

1. 备份系统自带的yum源

[root@yum-server ~]# tar -zcvf Centos-bak.tar.gz /etc/yum.repos.d/*

2. 修改yum源为阿里云yum源

[root@yum-server ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo

[root@yum-server ~]# wget -O /etc/yum.repos.d/epel.repo /repo/epel-7.repo

或者

[root@yum-server ~]# curl -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo

[root@yum-server ~]# curl -O /etc/yum.repos.d/epel.repo /repo/epel-7.repo

3. 检测阿里云仓库源是否正常

[root@yum-server~]#yumrepolist

Loadedplugins:fastestmirror,product-id,search-disabled-repos,subscription-manager

Thissystemisnotregisteredwithanentitlementserver.Youcanusesubscription-managertoregister.

Loadingmirrorspeedsfromcachedhostfile

*base:

*extras:

*updates:

repoidreponamestatus

base/$releasever/x86_64CentOS-$releasever-Base-10,019

epel/x86_64ExtraPackagesforEnterpriseLinux7-x86_6413,341

extras/$releasever/x86_64CentOS-$releasever-Extras-435

updates/$releasever/x86_64CentOS-$releasever-Updates-2,500

repolist:26,295

4. 安装相关需要软件

[root@yum-server ~]# yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel createrepo yum-utils

yum-utils:reposync同步工具

createrepo:编辑yum库工具

plugin-priorities:控制yum源更新优先级工具,这个工具可以用来控制进行yum源检索的先后顺序,建议可以用在client端。

注:由于很多人喜欢最小化安装,上边软件是一些常用环境。

5. 创建本地目录

[root@yum-server ~]# mkdir /mirrors/

6. 同步到本地目录

[root@yum-server ~]# reposync -r base -p /mirrors/

注:不用担心没有创建相关目录,系统自动创建相关目录,并下载,时间较长请耐心等待。

可以用 repo -r --repoid=repoid指定要查询的repo id,可以指定多个(# reposync -r base -p /mirror #这里同步base目录到本地)

7. 创建索引

createrepo语法:

格式:createrepo -po 源目录 索引元数据的输出位置目录

[root@yum-server ~]# createrepo -po /mirrors/base/ /mirrors/base/

[root@yum-server ~]# createrepo -po /mirrors/epel/ /mirrors/epel/

8. 更新源数据

[root@yum-server ~]# createrepo --update /mirrors/base

[root@yum-server ~]# createrepo --update /mirrors/epel

[root@yum-server ~]# createrepo --update /mirrors/extras

[root@yum-server ~]# createrepo --update /mirrors/updates

9. 创建定时任务脚本

[root@yum-server ~]# vim /mirrors/centos_yum_update.sh

#!/bin/bash

echo 'Updating Aliyum Source'

DATETIME=`date +%F_%T`

exec > /var/log/aliyumrepo_$DATETIME.log

reposync -np /mirrors

if [ $? -eq 0 ];then

createrepo --update /mirrors/base

createrepo --update /mirrors/extras

createrepo --update /mirrors/updates

createrepo --update /mirrors/epel

echo "SUCESS: $DATETIME aliyum_yum update successful"

else

echo "ERROR: $DATETIME aliyum_yum update failed"

fi

10. 给脚本添加执行权限

[root@yum-server ~]# chmod a+x /mirrors/centos_yum_update.sh

11. 将脚本加入到定时任务中

[root@yum-server ~]# crontab -e

# Updating Aliyum Source

00 22 * * 6 /bin/bash /mirrors/centos_yum_update.sh

解释:每月第一个周六的22点更新阿里云yum源

12. 安装nginx,提供

[root@yum-server ~]# yum -y install nginx

13. 配置nginx的服务,让其家目录为:/mirrors

[root@yum-server ~]# vim /etc/nginx/nginx.conf

user nginx;

worker_processes auto;

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

pid /var/run/nginx.pid;

events {

worker_connections 1024;

}

http {

include /etc/nginx/mime.types;

default_type application/octet-stream;

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;

keepalive_timeout 65;

gzip on;

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

}

server {

listen 80;

server_name localhost;

root /mirrors;

index index.html index.htm;

#charset koi8-r;

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

location / {

autoindex on;

autoindex_exact_size off;

autoindex_localtime on;

charset utf-8,gbk;

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

}

14. 启动nginx服务

[root@yum-server ~]# systemctl restart nginx

[root@yum-server ~]# systemctl enable nginx

客户端测试

1. 修改客户端yum源,并指向本地搭建的yum源主机

[root@jump01 ~]# vim /etc/yum.repos.d/centos_local.repo

[base]

name=base

baseurl=http://192.168.10.21/base/

failovermethod=priority

enabled=1

gpgcheck=0

[extras]

name=extras

baseurl=http://192.168.10.21/extras/

failovermethod=priority

enabled=1

gpgcheck=0

[updates]

name=updates

baseurl=http://192.168.10.21/updates/

failovermethod=priority

enabled=1

gpgcheck=0

[epel]

name=epel

baseurl=http://192.168.10.21/epel/

failovermethod=priority

enabled=1

gpgcheck=0

2. 生成yum缓存

[root@jump01 ~]# yum makecache

3. 安装memcached测试

[root@jump01 ~]# yum -y install memcached

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。