centos8系module软件包管理仓库部署

2023-05-16

简述

CentOS8 引入新的module软件包管理机制,下面将介绍如何部署搭建本地module源。

部署流程:

思路:

先制作nginx-1.14的module.yaml(需要微调),然后同法制作nginx-1.16的module.yaml(需要微调)。
然后将nginx-1.14与nginx-1.16的repodata都删除,去正在一个完整的repodata
然后将nginx-1.16的module.yaml去掉” document: modulemd-defaults”那部分信息,其他皆最加至nginx-1.14 module.yaml配置文件中。
最后在repodate同级目录下执行createrepo_mod . 去生成module索引。

在这里插入图片描述

1) 先制作nginx-1.14的module:

createrepo -v nginx-1.14/

在这里插入图片描述

2) 给nginx-1.14生成module.yaml文件

注意:repo2module执行前提需要确保和repodata的同级目录下:

repo2module命令再centos8已经集成了rpm默认yum安装即可, 如无请参考官方文档: https://github.com/rpm-software-management/modulemd-tools

cd nginx-1.14/
repo2module .  --module-name nginx1-wei --module-stream 1.14  --module-version 123   --module-context xyz
【参数解析】
--module-name设置module的名
--module-stream 1.14 设置module-stream
--module-version 设置module-version
--module-context xyz 设置--module-context

执行完上面操作后会在当前目录下生成modules.yaml文件 module.yaml微调修改如下

[root@iZ2xxxxxxacZ module]# cat modules.yaml
---
document: modulemd-defaults
version: 1
data:
  module: nginx-wei
  stream: "1.14"        #这里设置的话,就决定在dmf module list的显示1.14 [d]
  profiles:
  1.14: [everything]  #这里的everthing需要改成对应的流,例如guding或者devel
                      #如果还有的其他版本的module可以设置例如:1.16: [xuanzhe]

在这里插入图片描述

...  #<上面这些设置不同nginx的不同版本>
---
document: modulemd
version: 2
data:
  name: nginx-wei
  stream: "1.14"
  version: 123
  context: xyz
  summary: <auto-generated module summary>
  description: >-
    <auto-generated module description>
  license:
    module:
    - MIT
    content:
    - <FILL THIS IN>
  profiles:
    everything:  #这里erverthing改成guding(流)
      rpms:
      - nginx
      - nginx-all-modules
      - nginx-filesystem
      - nginx-mod-http-image-filter
      - nginx-mod-http-perl
      - nginx-mod-http-xslt-filter
      - nginx-mod-mail
      - nginx-mod-stream
  api:
    rpms:
    - nginx
    - nginx-all-modules
    - nginx-filesystem
    - nginx-mod-http-image-filter
    - nginx-mod-http-perl
    - nginx-mod-http-xslt-filter
    - nginx-mod-mail
    - nginx-mod-stream
  components:
    rpms:
      nginx:
        rationale: Present in the repository
  artifacts:
    rpms:
    - nginx-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-all-modules-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
    - nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
    - nginx-mod-http-image-filter-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-mod-http-perl-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-mod-mail-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-mod-stream-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
...

3) 制作nginx-1.16的module(方法同上):

4) 合并nginx-1.14与module-1.16的module:

  删除nginx-1.14/repodate nginx-1.16/repodata
  重新生成两仓库的yum索引
  将nginx-1.16的module.yaml配置去掉” document: modulemd-defaults”那部分信息,其他的配置都追加到nginx-1.14的module.yaml配置文件中,完整如下
[root@icbbbbbxxx module]# cat /root/module/modules.yaml
---
document: modulemd-defaults
version: 1
data:
  module: nginx-wei
  stream: "1.14"
  profiles:
    1.14: [guding]
    1.16: [xuanze]
...
---
document: modulemd
version: 2
data:
  name: nginx-wei
  stream: "1.14"
  version: 123
  context: f32
  summary: <auto-generated module summary>
  description: >-
    <auto-generated module description>
  license:
    module:
    - MIT
    content:
    - <FILL THIS IN>
  profiles:
    guding:
      rpms:
      - nginx
      - nginx-all-modules
      - nginx-filesystem
      - nginx-mod-http-image-filter
      - nginx-mod-http-perl
      - nginx-mod-http-xslt-filter
      - nginx-mod-mail
      - nginx-mod-stream
  api:
    rpms:
    - nginx
    - nginx-all-modules
    - nginx-filesystem
    - nginx-mod-http-image-filter
    - nginx-mod-http-perl
    - nginx-mod-http-xslt-filter
    - nginx-mod-mail
    - nginx-mod-stream
  components:
    rpms:
      nginx:
        rationale: Present in the repository
  artifacts:
    rpms:
    - nginx-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-all-modules-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
    - nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
    - nginx-mod-http-image-filter-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-mod-http-perl-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-mod-mail-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
    - nginx-mod-stream-1:1.14.1-9.module_el8.0.0+184+e34fea82.aarch64
...
---   #nginx-1.16的mudule.yaml配置信息加入了下面
document: modulemd
version: 2
data:
  name: nginx-wei
  stream: "1.16"
  version: 456
  context: j23
  summary: <auto-generated module summary>
  description: >-
    <auto-generated module description>
  license:
    module:
    - MIT
    content:
    - <FILL THIS IN>
  profiles:
    xuanze:  #如果想增加类似common devel这样的流,就在api上面在新增数据就行
      rpms:
      - nginx
      - nginx-all-modules
      - nginx-filesystem
      - nginx-mod-http-image-filter
      - nginx-mod-http-perl
      - nginx-mod-http-xslt-filter
      - nginx-mod-mail
      - nginx-mod-stream
  api:
    rpms:
    - nginx
    - nginx-all-modules
    - nginx-filesystem
    - nginx-mod-http-image-filter
    - nginx-mod-http-perl
    - nginx-mod-http-xslt-filter
    - nginx-mod-mail
    - nginx-mod-stream
  components:
    rpms:
      nginx:
        rationale: Present in the repository
  artifacts:
    rpms:
    - nginx-1:1.16.1-2.module_el8.4.0+820+127618ce.1.aarch64
    - nginx-all-modules-1:1.16.1-2.module_el8.4.0+820+127618ce.1.noarch
    - nginx-filesystem-1:1.16.1-2.module_el8.4.0+820+127618ce.1.noarch
    - nginx-mod-http-image-filter-1:1.16.1-2.module_el8.4.0+820+127618ce.1.aarch64
    - nginx-mod-http-perl-1:1.16.1-2.module_el8.4.0+820+127618ce.1.aarch64
    - nginx-mod-http-xslt-filter-1:1.16.1-2.module_el8.4.0+820+127618ce.1.aarch64
    - nginx-mod-mail-1:1.16.1-2.module_el8.4.0+820+127618ce.1.aarch64
    - nginx-mod-stream-1:1.16.1-2.module_el8.4.0+820+127618ce.1.aarch64
...

5) 生成module索引:

在repodata的同级目录下执行createrepo_mod . 来生成module索引
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos8系module软件包管理仓库部署 的相关文章

随机推荐

  • kali 卡在 started gnome display manager(更新gnome导致,非磁盘满)

    手贱更新到gnome3 解决方案 xff1a 1 进入急救模式 xff0c 我的是在grub选择界面选择advanced 那个选项里面进入的 2 先卸载桌面环境 http www cnblogs com wanghuixi p 787580
  • Pyhton语音播放

    用Pyhton实现语音播放的功能 我们都知道python比较简单 xff0c 能够实现的功能比较全面 xff0c 而且 xff0c 他还有一些你可能想不到的功能呢 xff01 今天我就来说一说如何用python实现语音播放的功能 首先呢 x
  • 控制台运行java

    控制台执行java 新建java代码 新建一个记事本文件 xff0c 将文件名改为HelloWorld java xff0c 注意 xff1a 后缀是 java 若没有显示文件后缀 xff0c 可以在资源管理器打开显示后缀 xff0c 然后
  • Ubuntu系统主机如何免密登录服务器

    一 主机端操作 Ubuntu系统主机终端执行 cd 命令 xff0c 切换到用户目录下 在用户目录下执行 ll a 执行 cat ssh id rsa pub 获取公钥并复制公钥准备粘贴到服务器 二 服务器端操作 登录服务器后 xff0c
  • 【报错】GitHub 配置域名但是显示 Domain does not resolve to the GitHub Pages server... 怎么办

    应该只是域名解析需要时间 xff0c 反正我1小时后看就正常了 xff08 提示变绿了 xff09 xff0c 等等吧 xff08 24小时内都正常 xff09
  • 计算机论文常见词汇

    quantization kw nt ze n n 量子 量子化 xff1b 分层 xff1b 数字化 differentiating 英 d f ren e t 美 d f r n et v 区别 xff0c 区分 xff1b 使不同 x
  • 每日固定时间执行一次的shell实现

    在不使用crontab定时任务的情况下 xff0c 我们如何去实现每日定时执行某个任务的工作呢 xff1f 我遇到了类似问题 xff0c 遂转换思路 xff0c 花几分钟写了个小脚本实现如下 xff1a bin bash 每日7点执行 ct
  • FTPClient上传文件storeFile失败,没有异常,切换目录操作可以成功

    FTPClient上传文件storeFile失败 xff0c 没有异常 xff0c 切换目录操作可以成功 解决方法 xff1a 有没有设置被动模式 防火墙 有没有设置被动模式 要执行下面的语句 ftpClient span class to
  • 知识图谱-命名实体-关系-免费标注工具-快速打标签-Python3

    知识图谱 命名实体 关系 免费标注工具 快速打标签 Python3 一 功能介绍1 代码文件夹结构2 运行环境3 自定义命名实体 关系模板4 导入文件5 选择自定义实体和关系文件6 文本标注7 撤销和取消标注8 导出和导出并退出系统9 导出
  • Ubuntu报错:Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

    之前在Ubuntu系统安装Navicat的时候出现了这样的问题 xff0c 难为自己半天 首先是下载文件 xff0c 出现报错 xff1a navicat16 mysql cs AppImage error while loading sh
  • linux中crontab的jar文件定时任务失败原因记录

    本文章作为备忘 xff0c 若能解决朋友们的遇到的问题 xff0c 再好不过 在创建定时任务时 xff0c 所有的路径都需要写绝对路径 xff0c 包括配置文件 若定时文件为定时执行sh文件 xff0c 而sh文件中需要的配置文件也需要写绝
  • docker安装MongoDB以及redis

    一 安装Redis 以redis 4 0 9版本为例 docker pull redis 4 0 9 span class token function mkdir span usr local docker redis data span
  • linux安装好的mysql rpm -qa |grep mysql不见

    输入 xff1a rpm qa grep i mysql
  • MariaDB导入XXX.sql文件

    使用的 MariaDB5 5 52 开启数据库服务 xff1a systemctl start mariadb 要使用该脚本 xff0c 登录数据 xff0c mysql u root p 根据提示输入你安装数据库时需设置密码 xff0c
  • BaseOs之:Error: No available modular metadata for modular package

    文章目录 Error No available modular metadata for modular package先下载rpm包 xff1a 安装modular metadata生成工具 随便找一个目录 xff0c 执行git clo
  • BaseOs之:网络yum源部署

    文章目录 参考阿里mirror aliyum源 x86 arm source站点目录结构 简单分析 每个目录站点详细结构 x86 64为例 简单分析 制作x86 64的yum源 创建Packages与debug目录 复制x86 64 noa
  • Shell脚本加入开机自启动的方法:

    Shell脚本加入开机自启动的方法 xff1a Linux中脚本设定开机自启动 方法一 xff1a 1 xff0c 在某个目录下创建脚本 xff1a 例如 xff1a root hello wei sh span class token p
  • createrepo

    createrepo 是一个对rpm 文件进行索引建立的工具 大体功能就是对指定目录下的rpm文件进行检索 xff0c 把每个rpm文件的信息存储到指定的索引文件中 xff0c 这样方便远程yum命令在安装更新时进行检索 看下creater
  • 自动汇报错误工具(ABRT)

    ABRT 是一套抱著三个目标而开发出来的规模工具 xff1a 简化用户汇报软件问题的程序 在提交给开发者的报告中提供全面的信息 提供重要的故障数据以便排列优先次序及安排支持 假如你有兴趣协助开发者排列他们的工作的优先次序 xff0c 而你愿
  • centos8系module软件包管理仓库部署

    简述 CentOS8 引入新的module软件包管理机制 下面将介绍如何部署搭建本地module源 部署流程 xff1a 思路 xff1a 先制作nginx 1 14的module yaml xff08 需要微调 xff09 xff0c 然