CentOS 8.X 安装软件时报错 No available modular metadata for modular package
问题描述
由于部署环境有诸多限制,只能在纯内网(无法跟公网互通)环境下安装软件,所以需要把软件包下载下来放在服务器本地进行安装。
系统版本为 CentOS 8.2,使用 createrepo
命令创建 repodata 后,在进行部分软件安装时,会出现 Error: No available modular metadata for modular package
报错,详情如下图:
为解决以上问题,需要安装 modulemd-tools 等软件来生成 modular metadata。所以可以在有网络的相同系统版本的服务器下进行操作,最后将生成好的 repo package 目录打包压缩上传到此服务器,最后配置好repo源即可。
安装 modular metadata 生成工具
安装相关依赖
$ sudo dnf install gcc gcc-c++ python3 python3-devel python3-createrepo_c python3-libdnf python3-libmodulemd libmodulemd |
下载 modulemd-tools 源码包并安装
$ git clone https://github.com/rpm-software-management/modulemd-tools.git |
创建 repodata 和 modular metadata
# 进入 packages 目录 |
以上步鄹执行完成后,会在 repodata 目录下生成一个以 -modules.yaml.gz
为后缀的文件。
此时,再进行软件包安装时就已经可以正常安装了。
参考文档
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DevOps Technology Stack!
评论