问题描述
由于部署环境有诸多限制,只能在纯内网(无法跟公网互通)环境下安装软件,所以需要把软件包下载下来放在服务器本地进行安装。
系统版本为 CentOS 8.2,使用 createrepo
命令创建 repodata 后,在进行部分软件安装时,会出现 Error: No available modular metadata for modular package
报错,详情如下图:
安装 modular metadata 生成工具
安装相关依赖
$ sudo dnf install gcc gcc-++ python3 python3-devel python3-createrepo_c python3-libdnf python3-libmodulemd libmodulemd
下载 modulemd-tools 源码包并安装
$ git clone https://github.com/rpm-software-management/modulemd-tools.git
$ cd modulemd-tools/repo2module/
$ sudo python3 setup.py install --user
创建 repodata 和 modular metadata
# 进入本地 repo packages 目录
$ sudo cd /mnt/packages
# 创建 repodata
$ sudo createrepo_c .
# 生成 modular metadata
$ sudo /root/.local/bin/repo2module -s stable ./
$ sudo modifyrepo_c --mdtype=modules modules.yaml repodata/
参考文档