• 制作本地SCLo-scl镜像仓库(reposync下载rpm包、createrepo制作镜像仓库、httpd发布服务)


    记录:327

    场景:在CentOS 7.9操作系统上,使用reposync从开源镜像站下载sclo镜像仓库的rpm包;使用createrepo制作本地SCLo-scl镜像仓库;使用httpd发布服务。解决内网中使用yum命令安装软件时,缺少依赖包的需求。

    版本:

    操作系统:CentOS 7.9

    名词:

    SCL,Software Collections的简称。软件集合使您能够构建、安装和使用同一系统上的多个软件版本,无影响系统范围内安装的软件包。

    Software Collections,在SCL中收录了许多程序的各版本以及新版本,是非常实用的一个软件工具集。

    EPEL:Extra Packages for Enterprise Linux,适用于Enterprise Linux的额外软件包。

    Software Collections官网:https://www.softwarecollections.org/

    1.基础环境

    1.1基础工具准备

    (1)安装reposync工具

    命令:yum install -y yum-utils

    解析:yum-utils包括了很多yum功能,比如reposync下载工具。默认安装在/usr/bin/reposync。

    (2)安装createrepo工具

    命令:yum install -y createrepo

    解析:使用createrepo生成yum源镜像仓库元数据。

    (3)安装httpd工具

    命令:yum install -y httpd

    解析:安装httpd后可以使用httpd发布服务,把yum源镜像仓库提供给内网其它机器使用。

    (4)配置httpd服务

    安装httpd完成后,会生成httpd发布服务的目录,把需要httpd发布的内容移动此目录,就可以实现http访问。

    httpd默认端口:80

    httpd默认生成的目录: /var/www/html/

    httpd启动命令:systemctl start httpd

    httpd开机自启动命令:systemctl enable httpd

    查看httpd启动状态命令:systemctl status httpd.service

    查看httpd发布端口命令:netstat -atunlp | grep httpd

    1.2镜像网站

    (1)官网镜像站

    地址:http://mirror.centos.org/centos/7/sclo

    直接使官网镜像站命令:yum install -y centos-release-scl centos-release-scl-rh

    在/etc/yum.repos.d目录下生成yum源配置文件:CentOS-SCLo-scl.repo和CentOS-SCLo-scl-rh.repo。

    (2)国内镜像站

    阿里云开源镜像站:https://mirrors.aliyun.com/centos/7/sclo

    1.3机器规划

    (1)外网主机hadoop200

    主机hadoop200,可连接公网,下载公网rpm包。

    (2)内网主机hadoop201

    主机hadoop201,内网主机,无法下载公网rpm包。

    2.使用reposync下载scl镜像仓库的rpm包

    2.1下载地址

    载CentOS 7.9操作系统对应的sclo镜像仓库包,从阿里云镜像站下载。

    scl地址:https://mirrors.aliyun.com/centos/7.9.2009/sclo/x86_64/sclo/

    scl-rh地址:https://mirrors.aliyun.com/centos/7.9.2009/sclo/x86_64/rh/

    2.2配置镜像站yum源文件

    在主机hadoop200操作。

    (1)配置CentOS-SCLo-scl-7-9.repo

    修改命令:vi /etc/yum.repos.d/CentOS-SCLo-scl-7-9.repo

    修改内容:

    1. [CentOS-SCLo-scl]
    2. name=CentOS-SCLo-scl
    3. baseurl=https://mirrors.aliyun.com/centos/7.9.2009/sclo/x86_64/sclo/
    4. gpgcheck=0
    5. enabled=1

    (2)配置CentOS-SCLo-scl-7-9.repo

    修改命令:vi /etc/yum.repos.d/CentOS-SCLo-scl-rh-7-9.repo

    修改内容:

    1. [CentOS-SCLo-scl-rh]
    2. name=CentOS-SCLo-scl-rh
    3. baseurl=https://mirrors.aliyun.com/centos/7.9.2009/sclo/x86_64/rh
    4. gpgcheck=0
    5. enabled=1

    2.3清空和刷新yum源元数据缓存

    命令:yum clean all && yum makecache

    解析:yum clean all,清空历史yum源元数据;yum makecache,创建yum源元数据缓存。

    2.4使用reposync下载镜像仓库的rpm包

    使用reposync下载scl镜像仓库的rpm包,是把整个镜像仓库得rpm包下载到本地。

    (1)下载CentOS-SCLo-scl镜像仓库

    下载命令:reposync -r CentOS-SCLo-scl -p /home/mirror

    解析:reposync下载指令;-r,是指定镜像仓库的标识;CentOS-SCLo-scl,是在CentOS-SCLo-scl-7-9.repo文件中的CentOS-SCLo-scl是镜像仓库标识;-p,是指定下载的目录;/home/mirror,下载的目录。

    (2)下载CentOS-SCLo-scl-rh镜像仓库

    下载命令:reposync -r CentOS-SCLo-scl-rh -p /home/mirror

    解析:reposync下载指令;-r,是指定镜像仓库的标识;CentOS-SCLo-scl-rh,是在CentOS-SCLo-scl-rh-7-9.repo文件中的CentOS-SCLo-scl-rh是镜像仓库标识;-p,是指定下载的目录;/home/mirror,下载的目录。

    (3)下载完成后

    下载完成后,数据目录。

    CentOS-SCLo-scl的rpm包目录:/home/mirror/CentOS-SCLo-scl

    CentOS-SCLo-scl-rh的rpm包目录:/home/mirror/CentOS-SCLo-scl-rh

    3.使用createrepo制作镜像仓库和httpd发布镜像仓库服务

    3.1在httpd默认目录创建目录

    在主机hadoop201,在httpd默认目录下创建目录。。

    目录一:mkdir -p /var/www/html/sclo/sclo

    目录二:mkdir -p /var/www/html/sclo/rh

    3.2已下载包移到httpd发布的目录

    (1)已下载包

    在主机hadoop200,包对应目录。

    CentOS-SCLo-scl的rpm包目录:/home/mirror/CentOS-SCLo-scl

    CentOS-SCLo-scl-rh的rpm包目录:/home/mirror/CentOS-SCLo-scl-rh

    (2)把rpm把移到httpd目录

    在主机hadoop201,包对应目录。

    CentOS-SCLo-scl的rpm包移到目录:/var/www/html/sclo/sclo

    CentOS-SCLo-scl-rh的rpm包移到目录:/var/www/html/sclo/rh

    (3)拷贝指令

    如果具备系统之间拷贝可参考如下命令,不具备则使用其它方式拷贝。

    拷贝命令1:scp -r /home/mirror/CentOS-SCLo-scl/* root@192.168.19.201:/var/www/html/sclo/sclo

    拷贝命令2:scp -r /home/mirror/CentOS-SCLo-scl-rh/* root@192.168.19.201:/var/www/html/sclo/rh

    3.3使用createrepo生成镜像仓库元数据

    在主机hadoop201,生成镜像仓库元数据。

    生成sclo仓库:createrepo -v /var/www/html/sclo/sclo

    生成rh仓库:createrepo -v /var/www/html/sclo/rh

    解析:createrepo,生成镜像仓库元数据;在目录下回生成repodata目录,镜像仓库元数据在此目录。

    3.4使用httpd发布镜像仓库的地址

    使用httpd发布镜像仓库目的,就是为了是内网机器或者集群机器都能使用。

    sclo镜像仓库地址:http://192.168.19.201/sclo/sclo

    rh镜像仓库地址:http://192.168.19.201/sclo/rh

    可以在浏览器查看,验证地址可用。

    3.5新增镜像仓库yum源配置文件

    (1)sclo镜像仓库的yum源配置文件

    编辑文件:vi /etc/yum.repos.d/Local-CentOS-SCLo-scl.repo

    编辑内容:

    1. [local-centos-sclo-scl]
    2. name=local-centos-sclo-scl
    3. baseurl=http://192.168.19.201/sclo/sclo
    4. enabled=1
    5. gpgcheck=0

    解析:[local-centos-sclo-scl],本地镜像仓库的唯一标识;name,本地镜像仓库名称;baseurl,本地镜像仓库使用httpd发布的地址;enabled=1,启动镜像仓库,为0则不启用;gpgcheck=0,不校验。

    (2)rh镜像仓库的yum源配置文件

    编辑文件:vi /etc/yum.repos.d/Local-CentOS-SCLo-scl-rh.repo

    编辑内容:

    1. [local-centos-sclo-scl-rh]
    2. name=local-centos-sclo-scl-rh
    3. baseurl=http://192.168.19.201/sclo/rh
    4. enabled=1
    5. gpgcheck=0

    解析:[local-centos-sclo-scl-rh],本地镜像仓库的唯一标识;name,本地镜像仓库名称;baseurl,本地镜像仓库使用httpd发布的地址;enabled=1,启动镜像仓库,为0则不启用;gpgcheck=0,不校验。

    3.6清空和刷新yum源元数据缓存

    命令:yum clean all && yum makecache

    解析:yum clean all,清空历史yum源元数据;yum makecache,创建yum源元数据缓存。

    3.7应用本地镜像仓库

    (1)查看仓库信息

    查看local-centos-sclo-scl仓库:yum repolist local-centos-sclo-scl

    查看local-centos-sclo-scl-rh仓库:yum repolist local-centos-sclo-scl-rh

    解析:能看到仓库信息和参考包数量。

    (2)搜索仓库中的包

    命令:yum search --showduplicates devtoolset

    (3)安装仓库中的包

    命令:yum install -y devtoolset

    解析:默认安装仓库中最新的包;如需安装特定版本,需在包名后面指定版本号。

    3.8其它机器使用本地镜像仓库

    部署本地镜像仓库主要目的:内网集群使用本地镜像仓库。

    (1)把yum源配置文件拷贝的目标机器

    拷贝命令1:scp -r /etc/yum.repos.d/Local-CentOS-SCLo-scl.repo root@192.168.19.161:/etc/yum.repos.d/

    拷贝命令2:scp -r /etc/yum.repos.d/Local-CentOS-SCLo-scl-rh.repo root@192.168.19.161:/etc/yum.repos.d/

    (2)目标机器清空和刷新yum源元数据缓存

    命令:yum clean all && yum makecache

    解析:yum clean all,清空历史yum源元数据;yum makecache,创建yum源元数据缓存。

    (3)目标机器使用yum命令

    搜索仓库中的包:yum search --showduplicates devtoolset

    以上,感谢。

    2022年11月23日

  • 相关阅读:
    如何计算股票程序化交易系统的收益率?
    【使用matplotlib】使用函数绘制matplotlib的图片组成元素
    vuex--共享状态(数据)管理
    一个库帮你轻松的创建漂亮的.NET控制台应用程序
    Nginx+Tomcat 搭建负载均衡、动静分离(tomcat多实例)
    MySQL表的增删查改(嘎嘎详细~
    操作系统之《PV操作》【知识点+详细解题过程】
    铁威马NAS之如何利用docker安装Jellyfin媒体服务器
    .NET周刊【5月第4期 2024-05-26】
    一文搞懂传统单节点网站的 Serverless 上云
  • 原文地址:https://blog.csdn.net/zhangbeizhen18/article/details/128007944