CentOS7.9 搭建内部yum源服务器同步阿里yum源

centos7,搭建,内部,yum,服务器,同步,阿里 · 浏览次数 : 1913

小编点评

**内容生成步骤** 1. 创建服务器端的yum源仓库索引文件(CentOS-Base.repo) 2. 将CentOS-Base.repo文件的内容复制到/mirror/repo/CentOS-Base.repo中 3. 创建/mirror/repo/目录 4. 将/etc/yum.repos.d/文件的内容复制到/mirror/repo/etc/yum.repos.d/backup/CentOS-Base.repo中 5. 创建/mirror/repo/backup目录 6. 将/etc/yum.repos.d/文件的内容复制到/mirror/repo/backup/CentOS-Base.repo中 7. 创建/mirror/base/目录 8. 将/etc/yum.repos.d/文件的内容复制到/mirror/base/etc/yum.repos.d/backup/CentOS-Base.repo中 9. 创建/mirror/extras/目录 10. 将/etc/yum.repos.d/文件的内容复制到/mirror/extras/etc/yum.repos.d/backup/CentOS-Base.repo中 11. 创建/mirror/updates/目录 12. 将/etc/yum.repos.d/文件的内容复制到/mirror/updates/etc/yum.repos.d/backup/CentOS-Base.repo中 13. 创建/mirror/updates/CentOS-Base.repo文件 14. 将/etc/yum.repos.d/文件的内容复制到/mirror/updates/CentOS-Base.repo中 15. 创建/mirror/updates/extras/目录 16. 将/etc/yum.repos.d/文件的内容复制到/mirror/updates/extras/etc/yum.repos.d/backup/CentOS-Base.repo中 17. 创建/mirror/updates/extras/CentOS-Base.repo文件 18. 创建/mirror/updates/extras/epel/目录 19. 将/etc/yum.repos.d/文件的内容复制到/mirror/updates/extras/etc/yum.repos.d/backup/CentOS-Base.repo中 20. 创建/mirror/updates/extras/CentOS-Base.repo文件 21. 创建/mirror/updates/extras/epel/CentOS-Base.repo文件 22. 创建/mirror/updates/extras/epel/CentOS-Base.repo文件

正文

CentOS7.9 搭建内部yum源服务器同步阿里yum源

环境说明:

1、企业内网需求:企业内部许多服务器是不能连接互联网,但每台centos主机安装软件包时都配置本地yum源很麻烦,也缺少第三方yum源,因此在内网搭建一台yum源服务器满足这一需求,同时网络层面策略只允许此yum源服务器每周日晚限时联网同步阿里云的yum源。

参考连接:http://blog.itpub.net/70004783/viewspace-2790196/

2、准备两台测试主机,一台用作yum源服务器(能连互联网),一台用作客户端。

3、系统版本:CentOS 7.9

 

实操步骤:

一、添加阿里云yum

备份原系统的repo

[root@yumserver ~]# mkdir /etc/yum.repos.d/backup
[root@yumserver ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup

添加阿里云yum源并缓存(Centos-7.repo是软件仓库配置文件,epel-7.repo是扩展源、提供额外的软件包)

[root@yumserver ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@yumserver ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@yumserver ~]# yum makecache
[root@yumserver ~]# yum repolist

 二、安装相关软件

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

备注:

yum-utils:yum-utils是yum的工具包集合,reposync一个同步工具。
createrepo:createrepo是一个对rpm文件进行索引建立的工具,就是对指定目录下的rpm文件进行检索,把每个rpm文件的信息存储到指定的索引文件中,这样方便远程yum命令在安装更新时进行检索。
httpd:通过Apache软件提供web服务,也可以使用nginx。

三、同步阿里云yum源软件包到本地服务器指定目录/mirror(自定义目录) 

创建存放软件包目录/mirror,(chown设置文件所有者和文件关联组,chmod控制用户对文件的权限)

[root@yumserver ~]# mkdir -p /mirror
[root@yumserver ~]# chown -R apache:apache /mirror
[root@yumserver ~]# chmod -R 755 /mirror

 同步阿里云yum源软件包

###参数-n指下载最新软件包,-p指定目录,指定本地的源--repoid(如果不指定就同步本地服务器所有的源),下载过程比较久(10个小时左右)
[root@yumserver ~]# reposync -n --repoid=extras --repoid=updates --repoid=base --repoid=epel -p /mirror

[root@yumserver ~]# du -sh /mirror/*
9.0G    /mirror/base
16G     /mirror/epel
323M    /mirror/extras
3.3G    /mirror/updates

四、创建仓库索引

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 --update /mirror/base/
createrepo --update /mirror/extras/
createrepo --update /mirror/updates/
createrepo --update /mirror/epel/

六、启动并配置Apache服务

6.1、启动Apache(httpd)服务(如果没有httpd,需要yum install -y httpd 安装一下)

[root@yumserver ~]# systemctl start httpd
[root@yumserver ~]# systemctl enable httpd
[root@yumserver ~]# systemctl status httpd

6.2、系统防火墙放行80端口(apache服务使用的是80端口)

[root@yumserver ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
success
[root@yumserver ~]# firewall-cmd --reload
success

 备注:必要时可以运行 systemctl restart httpd 重启一下服务。

6.3、关闭selinux(SELINUX=disabled)

[root@yumserver ~]# vi /etc/selinux/config 

6.4、配置httpd.conf文件

[root@yumserver ~]# vi /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.conf文件,需要找到如下图DocumentRoot字样的行进行更改,而不是直接复制粘贴插入。

6.5、修改web界面的 index.html 文件

###修改Apache默认首页index.html,直接复制粘贴执行
cat << EOF > /usr/share/httpd/noindex/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CentOS 7 镜像</title>

<script>document.createElement("myHero")</script>
<style>
myHero {
        display: block;
        background-color: #ddd;
        padding: 10px;
        font-size: 20px;
} 
</style> 

</head>
<body>
    <h1>简介</h1>
    <hr>
    <p>CentOS,是基于 Red Hat Linux 提供的可自由使用源代码的企业级 Linux 发行版本,是一个稳定,可预测,可管理和可复制的免费企业级计算平台。</p>
    <hr>
    <br>
    <br>

        <h1>CentOS 7 配置内部YUM源</h1>
    <br>
        <h2>1、备份</h2>
        <myHero>mkdir /etc/yum.repos.d/backup</myHero>
        <myHero>mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/</myHero>
    <br>
        <h2>2、下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/ </h2>
        <myHero>curl -o /etc/yum.repos.d/CentOS-Base.repo http://xx.xx.xx.xx/repo/CentOS-Base.repo</myHero>
    <br>
        <h2>3、运行 yum makecache 生成缓存</h2>
    <br>
        <h2>4、运行 yum repolist   查看已经生成缓存</h2>
    <br>
    <br>

</body>
</html>
EOF

注意: 上文中的 http://xx.xx.xx.xx 填写自身yum源服务器的ip地址。

七、编写yum源客户端配置文件

创建repo文件夹

[root@yumserver ~]# mkdir -p /mirror/repo/
###复制粘贴执行,注意:xx.xx.xx.xx需要更改为服务器ip地址。

[root@yumserver ~]# cat << EOF > /mirror/repo/CentOS-Base.repo

[base]
name=CentOS- Base - xx.xx.xx.xx
failovermethod=priority
baseurl=http://xx.xx.xx.xx/base/
enable=1
gpgcheck=0
 
#released updates 
[updates]
name=CentOS- Updates - xx.xx.xx.xx
failovermethod=priority
baseurl=http://xx.xx.xx.xx/updates/
enable=1
gpgcheck=0
 
#additional packages that may be useful
[extras]
name=CentOS- Extras - xx.xx.xx.xx
failovermethod=priority
baseurl=http://xx.xx.xx.xx/extras/
enable=1
gpgcheck=0
 
#additional packages that may be useful
[epel]
name=CentOS- Epel - xx.xx.xx.xx
failovermethod=priority
baseurl=http://xx.xx.xx.xx/epel/
enable=1
gpgcheck=0
EOF

八、客户端配置yum 

登录客户端操作系统执行以下命令(注意:xx.xx.xx.xx为yum源服务器的ip地址)

[root@client ~]# mkdir /etc/yum.repos.d/backup/
[root@client ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/backup/
[root@client ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://xx.xx.xx.xx/repo/CentOS-Base.repo
[root@client ~]# yum makecache

 用户也可以用浏览器访问 http://xx.xx.xx.xx 查看配置客户端yum源的方法

 九 、设置定时同步yum源的任务

编辑脚本

[root@yumserver ~]# cat  /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点执行 

[root@yumserver ~]# crontab -l
0 1 * * 1 /bin/bash /mirror/script/centos_yum_update.sh

至此,结束。。。

 

问题:有时服务器端的yum源仓库索引没有更新成功。
手动更新:
[root@yumserver ~]# createrepo --update /mirror/base/
[root@yumserver ~]# createrepo --update /mirror/extras/
[root@yumserver ~]# createrepo --update /mirror/updates/
[root@yumserver ~]# createrepo --update /mirror/epel/

与CentOS7.9 搭建内部yum源服务器同步阿里yum源相似的内容:

CentOS7.9 搭建内部yum源服务器同步阿里yum源

CentOS7.9 搭建内部yum源服务器同步阿里yum源 环境说明: 1、企业内网需求:企业内部许多服务器是不能连接互联网,但每台centos主机安装软件包时都配置本地yum源很麻烦,也缺少第三方yum源,因此在内网搭建一台yum源服务器满足这一需求,同时网络层面策略只允许此yum源服务器每周日晚

一台服务器上部署 Redis 伪集群

哈喽大家好,我是咸鱼 今天这篇文章介绍如何在一台服务器(以 CentOS 7.9 为例)上通过 `redis-trib.rb` 工具搭建 Redis cluster (三主三从) `redis-trib.rb` 是一个基于 Ruby 编写的脚本,其功能涵盖了创建、管理以及维护 Redis 集群的各个

centos7.9 扩容swap分区

情况说明:在VMware vsphere的虚拟化平台下,为了快速部署虚拟服务器,我们常常使用模板部署虚拟机。但真实业务有时要求的文件系统分区和大小常常与模板不同,这时便需要自定义硬件资源和使用 LVM 方式扩容。在定义硬盘的时候我们可以在原有的硬盘上直接增加,然后虚拟机创建完成后再进入系统进行扩容,

centos7.9 时间相关整理

centos中对于时间查看和处理指令的简单整理

[转帖]CentOS-7-x86_64-DVD-2009 rpm包列表(centos7.9)

https://www.cnblogs.com/hiyang/p/14803391.html 文件数 4071 个,共3.8G 复制389-ds-base-1.3.10.2-6.el7.x86_64.rpm 389-ds-base-libs-1.3.10.2-6.el7.x86_64.rpm Cen

[转帖]CentOS-7-x86_64-Everything-2009 rpm包列表(CentOS7.9)

CentOS-7-x86_64-Everything-2009 rpm包列表(CentOS7.9) 共10073个文件 复制389-ds-base-1.3.10.2-6.el7.x86_64.rpm 389-ds-base-devel-1.3.10.2-6.el7.x86_64.rpm 389-ds

安装nodejs易遇到的坑

@目录背景描述流程步骤小结 背景描述 我的服务器是centos7.9,打算先直接通过yum安装,但是yum不能指定node版本,我直接指定显示404找不到,然后我设置了下node下载的源,还是不行。那我走手动下载安装的方式吧 流程步骤 首先根据这篇文章要安装前置扩展 yum install cent

MySQL8 概述、下载、安装、使用(Windows2019和centos7.9)

MySQL8 概述、下载、安装、使用(Windows2019和centos7.9) 1、MySQL概述 1.1 数据库相关概念在这一部分,先了解三个概念:数据库、数据库管理系统、SQL。 名称 全称 简称 数据库 存储数据的仓库,数据是有组织的进行存储 DataBase(DB) 数据库管理系统 操纵

[转帖]openGauss单机部署

作者:可达 openGauss单机部署 一、安装环境 1.操作系统:虚拟机VMware、CentOS7.9 2.环境设置: (1)虚拟机内存3G、磁盘100G (2)系统版本修改 一开始使用了centos8,无法安装,因此降低版本,选用7.9后依然存在一些问题,因此修改/etc/redhat-rel

[转帖]【最佳实践】瀚高数据库安全版v4.5.8安装

瀚高数据库安全版v4.5.8已发布,功能和安装方式都有所不同。下面先跟我一起安装上吧。 操作系统环境:Centos7.9,处理器:x86_64 (说明:以下每一节的命令操作,均可以复制粘贴直接执行) 1. 安装软件 将软件包上传到root用户的目录下,执行以下命令校验安装包完整性,然后执行安装: m