35 openEuler搭建repo(yum)服务器-创建、更新本地repo源

news2025/7/26 19:55:34

文章目录

    • 35 openEuler搭建repo(yum)服务器-创建、更新本地repo源
      • 35.1 获取ISO发布包
      • 35.2 挂载ISO创建repo源
      • 35.3 创建本地repo源
      • 35.4 更新repo源

35 openEuler搭建repo(yum)服务器-创建、更新本地repo源

使用mount挂载,将openEuler的ISO发布包openEuler-22.03-LTS-everything-x86_64-dvd.iso创建为本地repo源,并能够对repo源进行更新。

35.1 获取ISO发布包

请从如下网址获取openEuler的ISO发布包。

https://repo.openeuler.org/openEuler-22.03-LTS/ISO/

image-20221129203915053

35.2 挂载ISO创建repo源

  • 将openEuler-22.03-LTS-everything-x86_64-dvd.iso上传到/home目录。

  • 在root权限下使用mount命令挂载ISO发布包。

# mount -o loop /home/openEuler-22.03-LTS-everything-x86_64-dvd.iso /mnt

例如示例命令如下:

[root@repo ~]# mount -o loop /home/openEuler-22.03-LTS-everything-x86_64-dvd.iso /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@repo ~]# 
[root@repo ~]# df -h
文件系统                  容量  已用  可用 已用% 挂载点
devtmpfs                  1.7G     0  1.7G    0% /dev
tmpfs                     1.7G   12K  1.7G    1% /dev/shm
tmpfs                     677M  9.1M  668M    2% /run
tmpfs                     4.0M     0  4.0M    0% /sys/fs/cgroup
/dev/mapper/vg00-lv_root   41G   19G   20G   48% /
tmpfs                     1.7G     0  1.7G    0% /tmp
/dev/sda1                 974M   88M  819M   10% /boot
/dev/loop0                 16G   16G     0  100% /mnt
[root@repo ~]# 
  • 挂载好的mnt目录如下:
# tree -d /mnt

例如示例命令如下:

[root@repo ~]# tree -d /mnt
/mnt
├── docs
├── EFI
│   └── BOOT
│       └── fonts
├── images
│   └── pxeboot
├── isolinux
├── ks
├── Packages
└── repodata

10 directories
[root@repo ~]# 

其中,Packages为rpm包所在的目录,repodata为repo源元数据所在的目录,RPM-GPG-KEY-openEuler为openEuler的签名公钥。

35.3 创建本地repo源

  • 可以拷贝ISO发布包中相关文件至本地目录以创建本地repo源。
# mount -o loop /home/openEuler-22.03-LTS-everything-x86_64-dvd.iso /mnt
# mkdir -p /home/repo
# cp -r /mnt/* /home/repo/

例如示例命令如下:

[root@repo ~]# mount -o loop /home/openEuler-22.03-LTS-everything-x86_64-dvd.iso /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@repo ~]# 
[root@repo ~]# mkdir -p /home/repo
[root@repo ~]# 
[root@repo ~]# cp -r /mnt/* /home/repo/
[root@repo ~]# 
  • 从而本地repo目录如下:
# tree -d /home/repo

例如示例命令如下:

[root@repo ~]# tree -d /home/repo
/home/repo
├── docs
├── EFI
│   └── BOOT
│       └── fonts
├── images
│   └── pxeboot
├── isolinux
├── ks
├── Packages
└── repodata

10 directories
[root@repo ~]# 

Packages为rpm包所在的目录,repodata为repo源元数据所在的目录,RPM-GPG-KEY-openEuler为openEuler的签名公钥。

35.4 更新repo源

更新repo源有两种方式:

  • 通过新版本的ISO更新已有的repo源,与创建repo源的方式相同,即挂载ISO发布包或重新拷贝ISO发布包至本地目录。
  • 在repo源的Packages目录下添加rpm包,然后通过createrepo命令更新repo源。
# createrepo --update --workers=10 /home/repo

其中,–update表示更新,–workers表示线程数,可自定义。

image-20221219190513462 说明:
若命令打印信息为“createrepo:未找到命令”,则表示未安装createrepo软件,可在root权限下执行dnf install createrepo进行安装。

例如示例命令如下:

[root@repo ~]# createrepo --update --workers=10 /home/repo
-bash: createrepo:未找到命令
[root@repo ~]#
[root@repo ~]# dnf install createrepo -y
Last metadata expiration check: 1:11:41 ago on 2022年11月29日 星期二 20时22分38秒.
Dependencies resolved.
=============================================================================================================================
 Package                        Architecture             Version                              Repository                Size
=============================================================================================================================
Installing:
 createrepo_c                   x86_64                   0.17.6-1.oe2203                      OS                       137 k
Installing dependencies:
 drpm                           x86_64                   0.5.0-2.oe2203                       update                    60 k

Transaction Summary
=============================================================================================================================
Install  2 Packages

Total download size: 197 k
Installed size: 535 k
Downloading Packages:
(1/2): drpm-0.5.0-2.oe2203.x86_64.rpm                                                        331 kB/s |  60 kB     00:00    
(2/2): createrepo_c-0.17.6-1.oe2203.x86_64.rpm                                               539 kB/s | 137 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------------
Total                                                                                        722 kB/s | 197 kB     00:00     
retrieving repo key for OS unencrypted from http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler
OS                                                                                            14 kB/s | 2.1 kB     00:00    
Importing GPG key 0xB25E7F66:
 Userid     : "private OBS (key without passphrase) <defaultkey@localobs>"
 Fingerprint: 12EA 74AC 9DF4 8D46 C69C A0BE D557 065E B25E 7F66
 From       : http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                     1/1 
  Installing       : drpm-0.5.0-2.oe2203.x86_64                                                                          1/2 
  Installing       : createrepo_c-0.17.6-1.oe2203.x86_64                                                                 2/2 
  Running scriptlet: createrepo_c-0.17.6-1.oe2203.x86_64                                                                 2/2 
  Verifying        : createrepo_c-0.17.6-1.oe2203.x86_64                                                                 1/2 
  Verifying        : drpm-0.5.0-2.oe2203.x86_64                                                                          2/2 

Installed:
  createrepo_c-0.17.6-1.oe2203.x86_64                               drpm-0.5.0-2.oe2203.x86_64                              

Complete!
[root@repo ~]# 
[root@repo ~]# createrepo --update --workers=10 /home/repo
Directory walk started
Directory walk done - 16818 packages
type group added to list from path: /home/repo/repodata/93612b651befaec659f6700eab197afbbd9380df1bb302f73621ed1f4764940b-normal.xml 
type group_gz added to list from path: /home/repo/repodata/c2a33c2e9423b23416c587e201ad7c690ef870f29998f4387f1cc9bea816d62e-normal.xml.gz 
Loaded information about 16818 packages
Temporary output repo path: /home/repo/.repodata/
Preparing sqlite DBs
Pool started (with 10 workers)
Pool finished
[root@repo ~]#

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image-20230307220814760

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/394748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openpnp - 为贴片工程中的PCB上的mark点元件创建openpnp可识别的定位封装

文章目录openpnp - 为贴片工程中的PCB上的mark点元件创建openpnp可识别的定位封装概述做自己PCB视觉识别用的Mark点封装ENDopenpnp - 为贴片工程中的PCB上的mark点元件创建openpnp可识别的定位封装 概述 建立openpnp Job, brd之后, 载入坐标文件, 精确定位3个mark点, 精确定位…

C++基础了解-03-C++变量类型

C变量类型 一、变量类型 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有指定的类型&#xff0c;类型决定了变量存储的大小和布局&#xff0c;该范围内的值都可以存储在内存中&#xff0c;运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。…

C++ Butterworth N阶滤波器设计

介绍一个 Butterworth Nth 滤波器设计系数的函数&#xff0c;像 Matlab 函数一样的&#xff1a; [bl,al]butter(but_order,Ws); 和 [bh,ah]butter(but_order,2*bandwidth(1)/fs,high);rtfilter 在 Ububtu 中&#xff0c;容易找到&#xff1a; $ aptitude search ~dbutterwo…

Linux安装Oracle数据库

Linux安装Oracle数据库 文章目录Linux安装Oracle数据库0. 写在前面1. Oracle 数据库1.1 简介1.2 Oracle 与 MySQL 的SQL 区别2. 前置准备2.1 安装依赖包2.2 配置用户组2.3 上传安装包并解压2.4 修改配置文件 sysctl.conf2.5 修改配置文件 limits.conf2.6 设置环境变量3. Linux最…

基于层次分析法的轴间预瞄和轴距预瞄俯仰半车LQR控制仿真分析(重型汽车)

目录 前言 1. 半车悬架模型 2. LQR最优控制原理简述 3. 基于LQR的半车悬架轴间预瞄和轴距预瞄仿真分析 3.1仿真模型 3.2仿真结果 4.总结 前言 上篇文章简谈了轴距预瞄和轴间预瞄的原理以及仿真分析&#xff0c;可以发现对于轴间预瞄和轴距预瞄其控制效果相对于不带预瞄…

Fluter MMKV 初始化失败 Failed to load dynamic library ‘libmmkv.so‘

出现一个bug&#xff1a;vivo y66 &#xff08;android 6.0&#xff09;的一个手机&#xff0c;在被杀死进程后&#xff0c;重新进入&#xff0c;mmkv初始化失败&#xff0c;会报找不到so库的错追到代码是在这一行出了问题也查了很多&#xff0c;包括mmkv的issue里面也找了很多…

【阿里云】Apsara Clouder云计算专项技能认证-云服务器ECS入门,考试真题分享

以下是阿里云Apsara Clouder云计算专项技能认证-云服务器ECS入门真题汇总篇分享&#xff1a; 1.下列哪一个不是重置ECS密码的步骤? A. 查看实例详情 B.进入控制台 C.远程连接ECS D.点击控制台“概览” 2.针对云服务器ECS安全组说法正确的是 A.是一种物理防火墙 B.仅用于控制…

testng+reportng进行单元测试并生成好看的报告

TestNg的来源: JUnit 框架是 Java 语言单元测试当前的一站式解决方案。这个框架值得称赞&#xff0c;因为它把测试驱动的开发思想介绍给 Java 开发人员并教给他们如何有效地编写单元测试。但是&#xff0c;在过去的几年中&#xff0c;JUnit 的改进不大&#xff1b;所以&#x…

领域驱动设计-架构篇

目录 1、软件架构概述 1.1 软件架构概念 1.2 软件架构分类 1.3 软件架构模式 1.4 软件架构风格 2、领域驱动软件架构 2.1 架构风格 六边行架构&#xff08;领域驱动设计首选&#xff09; 为什么选择REST架构 松耦合 可伸缩性 易用性 约束性 2.2 架构模型 命令和…

TOUGH系列软件建模及在地下水、CO2地质封存、水文地球化学、地热等多相多组分系统多过程耦合

TOUGH2系列软件传统地下水模拟软件Feflow和Modflow不同&#xff0c;TOUGH2系列软件采用模块化设计和有限积分差网格剖分方法&#xff0c;通过配合不同EOS模块&#xff0c;软件可以处理各种复杂地质条件下&#xff0c;诸如地热能开发&#xff0c;非饱和带水气运移、油气运移&…

HBase---浅谈HBase原理

浅谈HBase原理 文章目录浅谈HBase原理HBase定义HBase逻辑结构HBase物理存储结构TimeStampType数据模型NaneSpaceRegionRowColumnTineStampCellHBase架构MasterMaster 架构Meta 表格介绍Region ServerRegionServer 架构MemStoreWALBlockCacheZookeeperHDFSHBase写数据流程HBase读…

设计模式中的UML类图

在线绘图工具&#xff1a; https://app.diagrams.net/ https://www.processon.com/ 第一个需要挂梯子&#xff0c;但很好用&#xff0c;本文用它绘制样例图 最近在看Head First一书&#xff0c;即使在软件工程的课程中学习过UML类图如何绘制&#xff0c;但显然已经忘掉很多了…

1、介绍与环境安装

文章目录前言主要特征安装安装检查查看httprunner版本创建项目创建新项目运行脚手架项目前言 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架&#xff0c;只需编写维护一份 YAML/JSON 脚本&#xff0c;即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。 …

Vue3电商项目实战-购物车模块6【16-登录后-合并购物车、17-登录后-商品列表、18-登录后-加入购物车、19-登录后-删除操作】

文章目录16-登录后-合并购物车17-登录后-商品列表18-登录后-加入购物车19-登录后-删除操作16-登录后-合并购物车 目的&#xff1a;登录后需要把把本地购物车合并&#xff0c;且清空本地购物车。 大致步骤&#xff1a; 编写合并购物车的API接口函数编写设置购物车数据的mutatio…

Containers--array类

Array 类 简介 Array 类是一个固定大小的数组&#xff0c;它的大小在编译时就已经确定了。Array 类的大小是固定的&#xff0c;因此它的大小不能改变。 数组是固定大小的序列容器:它们以严格的线性顺序保存特定数量的元素。 在内部&#xff0c;数组除了包含的元素之外不保留…

第十三届蓝桥杯省赛C++ A组 爬树的甲壳虫(简单概率DP)

题目如下&#xff1a; 思路 or 题解&#xff1a; 概率DP 状态定义&#xff1a; dp[i]dp[i]dp[i] 表示从树根到第 iii 层的期望 状态转移&#xff1a; dp[i](dp[i−1]1)∗11−pdp[i] (dp[i - 1] 1) * \frac{1}{1-p}dp[i](dp[i−1]1)∗1−p1​ 这个式子的意思是&#xff1a;…

Unity3D Shader系列之模板测试

一、 模板测试原理模板测试位于GPU渲染流水线的逐片元操作阶段&#xff0c;片元着色器完成之后就会进入模板测试&#xff0c;模板测试通过后再进入深度测试。我们的GPU中有一个模板缓冲区(Stencil Buffer)(Stencil即是模板的意思)&#xff0c;其大小为整个屏幕大小*8位&#xf…

Pytorch基础语法学习2——argparse模块

一、基本介绍 argparse 模块是 Python 内置的用于命令行参数解析的模块&#xff0c;可以通过少数代码中变量或者参数的改变以实现对整个代码项目的操控。对于大型代码项目(如代码超过1000行)&#xff0c;十分便捷 argparse 模块可以让人轻松编写用户友好的命令行接口&#xf…

企业级信息系统开发学习笔记1.7 基于XML配置方式使用Spring MVC

文章目录零、本节学习目标一、Spring MVC概述1、MVC架构2、Spring MVC3、使用Spring MVC的两种方式二、基于XML配置与注解的方式使用Spring MVC&#xff08;一&#xff09;创建Spring项目【SpringMVCDemo01】&#xff08;二&#xff09;在pom文件里添加相关依赖&#xff08;三&…

ConvMixer:Patches Are All You Need

Patches Are All You Need 发表时间&#xff1a;[Submitted on 24 Jan 2022]&#xff1b; 发表期刊/会议&#xff1a;Computer Vision and Pattern Recognition&#xff1b; 论文地址&#xff1a;https://arxiv.org/abs/2201.09792&#xff1b; 代码地址&#xff1a;https:…