CentOS 8.X 安装软件报错 No available modular metadata for modular package

问题描述

由于部署环境有诸多限制,只能在纯内网(无法跟公网互通)环境下安装软件,所以需要把软件包下载下来放在服务器本地进行安装。

系统版本为 CentOS 8.2,使用 createrepo 命令创建 repodata 后,在进行部分软件安装时,会出现 Error: No available modular metadata for modular package 报错,详情如下图:

centos8.x-dnf-install-error-no-modular-metadata.png

 

安装 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/

 

参考文档

点赞

发表评论