在生产环境中,尤其是政府项目中为了数据安全,服务器一般只会有政务内网,没有互联网~
也就是安装服务器需要组件的时候 不能直接通过yum install 来下载相关组件并解决对应依赖问
题。手动上传的RPM包往往会缺失很多依赖,即便所需RPM包和依赖都有,但是安装不清楚依赖
关系顺序又是一个头疼的问题,这时就需要搭建离线的yum源进行安装了,话不多少,直接上步骤
1.有外网的服务器相关操作
避坑指南:选择有外网的服务器的操作系统和CPU架构必须和无外网服务器的一致
#创建iscsi文件夹存放下载的RPM包和依赖
mkdir -p /opt/iscsi
#仅下载iscsi到/opt/iscsi,不安装
yum install iscsi --downloadonly --downloaddir=/opt/iscsi
#下载createrepo 用于创建本地仓库
yum install createrepo
#会用之前/opt/iscsi路径下的软件包和依赖创建本地仓库,并会生成repomd文件
createrepo /opt/iscsi
repomd文件对于理解和管理Yum仓库至关重要。它是一个XML文件,包含有关Yum存储库的元数据信息,如仓库名称、仓库类型、仓库路径、包含的软件包列表以及每个软件包的属性信息等。
repomd文件中的元数据信息能够帮助我们更精确地维护和诊断Yum仓库,提高工作效率。它包含了仓库中所有软件包的详细信息,包括软件包的名称、版本号、大小、依赖关系等。这些信息可以用于在安装、更新、卸载软件包时,进行依赖关系的自动解决和验证,确保只有符合依赖关系的软件包才能被正确安装。
此外,repomd文件还提供了仓库中所有软件包的摘要信息,包括每个软件包的名称、版本号、安装大小、依赖关系等。这些信息可以用于在Yum仓库中进行软件包的搜索和过滤,帮助用户快速找到需要的软件包并了解其详细信息。
总之,repomd文件是Yum仓库中非常重要的一个文件,它提供了关于仓库中软件包的详细信息和摘要信息,用于维护和诊断仓库,并帮助用户快速找到需要的软件包。
2.无外网的服务器相关操作
将之前/opt/iscsi文件夹手动上传到无外网的服务器,之后进行如下操作
#创建yum源文件
vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl= file:///opt/iscsi/
gpgcheck=0
enable=1
# /etc/yum.repos.d 路径下只能有local.repo一个repo结尾的文件
mv *./bak
mv ./bak/local.repo ./
# 清空缓存,重建缓存
yum clean all
yum makecache
#离线yum源安装
yum install iscsi --enablerepo=local