记录: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
修改内容:
[CentOS-SCLo-scl]
name=CentOS-SCLo-scl
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
(2)配置CentOS-SCLo-scl-7-9.repo
修改命令:vi /etc/yum.repos.d/CentOS-SCLo-scl-rh-7-9.repo
修改内容:
[CentOS-SCLo-scl-rh]
name=CentOS-SCLo-scl-rh
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/sclo/x86_64/rh
gpgcheck=0
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
编辑内容:
[local-centos-sclo-scl]
name=local-centos-sclo-scl
baseurl=http://192.168.19.201/sclo/sclo
enabled=1
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
编辑内容:
[local-centos-sclo-scl-rh]
name=local-centos-sclo-scl-rh
baseurl=http://192.168.19.201/sclo/rh
enabled=1
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日