当前位置: 首页 > news >正文

yum仓库的制作与使用

目录

前言:

1 查看系统内核  

2 获取网络源

3 搭建yum网络仓库

4 rpm包的下载

4.1 将rpm包下载至本地

4.2 对下载的rpm包进行备份

5 制作本地yum源

5.1 软件仓库制作工具createrepo

5.2 使用createrepo创建本地yum仓库

6 搭建docker本地仓库


前言:

此次实验使用的系统为 openEuler 22.03,制作docker-ce的yum仓库。

问题来了yum仓库的制作首先前提是得有rpm软件包为基础。

这个时候得去哪里获取呢?

1 查看系统内核  

这里能很清楚地看出来openEuler22.03他的Linux内核使用的为 Linux-5.10.0

同样RHEL 9 使用的内核也是 Linux-5,所以软件是互为通用的

[root@localhost yum.repos.d]# hostnamectl Static hostname: n/a                                      
Transient hostname: localhostIcon name: computer-vmChassis: vmMachine ID: 052542e981c9468b9a0cc82cb54dccc9Boot ID: 874f2ac2da7a4c089bbc5ee2108e4816Virtualization: vmwareOperating System: openEuler 22.03 (LTS-SP4)Kernel: Linux 5.10.0-216.0.0.115.oe2203sp4.x86_64Architecture: x86-64Hardware Vendor: VMware, Inc.Hardware Model: VMware Virtual Platform

2 获取网络源

阿里云镜像站icon-default.png?t=N7T8https://developer.aliyun.com/mirror/

此次使用的为阿里云的镜像源,搭建docker-ce软件的网络源,使用网络源将rpm包下载到本地并制作本地yum仓库

3 搭建yum网络仓库

[root@localhost yum.repos.d]# vim docker-ce.repo
[docker]
name=docker-ce
baseurl=https://mirrors.aliyun.com/docker-ce/linux/rhel/9/x86_64/stable/
gpgcheck=0

4 rpm包的下载

4.1 将rpm包下载至本地

yum 有一个选项是能将rpm包下载到当前目录:

--downloaddir   与 --downloadonly  配合使用

[root@localhost ~]# yum install docker-ce --downloaddir=/usr/local/src/docker --downloadonlyLast metadata expiration check: 0:26:30 ago on 2024年08月02日 星期五 15时42分17秒.
Dependencies resolved.
============================================================================================Package                         Architecture Version                    Repository    Size
============================================================================================
Installing:docker-ce                       x86_64       3:27.1.1-1.el9             docker        27 M
Installing dependencies:container-selinux               noarch       2:2.138-5.oe2203sp4        OS            33 kcontainerd.io                   x86_64       1.7.19-3.1.el9             docker        43 Mdocker-ce-cli                   x86_64       1:27.1.1-1.el9             docker       7.8 Mfuse-overlayfs                  x86_64       1.12-1.oe2203sp4           EPOL          54 kfuse3                           x86_64       3.10.5-9.oe2203sp4         OS           111 klibslirp                        x86_64       4.7.0-2.oe2203sp4          OS            66 kslirp4netns                     x86_64       1.2.0-1.oe2203sp4          EPOL          43 k
Installing weak dependencies:docker-buildx-plugin            x86_64       0.16.1-1.el9               docker        14 Mdocker-ce-rootless-extras       x86_64       27.1.1-1.el9               docker       4.0 Mdocker-compose-plugin           x86_64       2.29.1-1.el9               docker        13 Mfuse3-help                      x86_64       3.10.5-9.oe2203sp4         OS           8.9 kTransaction Summary
============================================================================================
Install  12 PackagesTotal download size: 109 M
Installed size: 423 M
YUM will only download packages for the transaction.
Is this ok [y/N]: y
Downloading Packages:
(1/12): docker-buildx-plugin-0.16.1-1.el9.x86_64.rpm        489 kB/s |  14 MB     00:28    
(2/12): docker-ce-cli-27.1.1-1.el9.x86_64.rpm               481 kB/s | 7.8 MB     00:16    
(3/12): docker-ce-27.1.1-1.el9.x86_64.rpm                   518 kB/s |  27 MB     00:52    
(4/12): docker-ce-rootless-extras-27.1.1-1.el9.x86_64.rpm   453 kB/s | 4.0 MB     00:09    
(5/12): container-selinux-2.138-5.oe2203sp4.noarch.rpm      104 kB/s |  33 kB     00:00    
(6/12): fuse3-3.10.5-9.oe2203sp4.x86_64.rpm                 1.3 MB/s | 111 kB     00:00    
(7/12): fuse3-help-3.10.5-9.oe2203sp4.x86_64.rpm            217 kB/s | 8.9 kB     00:00    
(8/12): libslirp-4.7.0-2.oe2203sp4.x86_64.rpm               1.3 MB/s |  66 kB     00:00    
(9/12): fuse-overlayfs-1.12-1.oe2203sp4.x86_64.rpm          193 kB/s |  54 kB     00:00    
(10/12): slirp4netns-1.2.0-1.oe2203sp4.x86_64.rpm           731 kB/s |  43 kB     00:00    
(11/12): docker-compose-plugin-2.29.1-1.el9.x86_64.rpm      489 kB/s |  13 MB     00:28    
(12/12): containerd.io-1.7.19-3.1.el9.x86_64.rpm            485 kB/s |  43 MB     01:31    
--------------------------------------------------------------------------------------------
Total                                                       1.2 MB/s | 109 MB     01:32     
retrieving repo key for OS unencrypted from http://repo.openeuler.org/openEuler-22.03-LTS-SP4/OS/x86_64/RPM-GPG-KEY-openEuler
OS                                                           15 kB/s | 3.0 kB     00:00    
Importing GPG key 0xB675600B:Userid     : "openeuler <openeuler@compass-ci.com>"Fingerprint: 8AA1 6BF9 F2CA 5244 010D CA96 3B47 7C60 B675 600BFrom       : http://repo.openeuler.org/openEuler-22.03-LTS-SP4/OS/x86_64/RPM-GPG-KEY-openEuler
Is this ok [y/N]: y
Key imported successfully
Complete!
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'yum clean packages'.

查看是否下载成功

4.2 对下载的rpm包进行备份

制作仓库之前首先需要对rpm包进行备份

[root@localhost docker]# cp /usr/local/src/docker/* /usr/local/src/docker-bak/
[root@localhost docker]# ls ../docker-bak/
containerd.io-1.7.19-3.1.el9.x86_64.rpm
container-selinux-2.138-5.oe2203sp4.noarch.rpm
docker-buildx-plugin-0.16.1-1.el9.x86_64.rpm
docker-ce-27.1.1-1.el9.x86_64.rpm
docker-ce-cli-27.1.1-1.el9.x86_64.rpm
docker-ce-rootless-extras-27.1.1-1.el9.x86_64.rpm
docker-compose-plugin-2.29.1-1.el9.x86_64.rpm
fuse3-3.10.5-9.oe2203sp4.x86_64.rpm
fuse3-help-3.10.5-9.oe2203sp4.x86_64.rpm
fuse-overlayfs-1.12-1.oe2203sp4.x86_64.rpm
libslirp-4.7.0-2.oe2203sp4.x86_64.rpm
slirp4netns-1.2.0-1.oe2203sp4.x86_64.rpm

5 制作本地yum源

5.1 软件仓库制作工具createrepo

[root@localhost docker]# yum install createrepo
Last metadata expiration check: 0:36:15 ago on 2024年08月02日 星期五 15时42分17秒.
Dependencies resolved.
=====================================================================================================================================================Package                               Architecture                    Version                                     Repository                   Size
=====================================================================================================================================================
Installing:createrepo_c                          x86_64                          0.17.6-3.oe2203sp4                          OS                          133 k
Installing dependencies:drpm                                  x86_64                          0.5.1-1.oe2203sp4                           OS                           56 kTransaction Summary
=====================================================================================================================================================
Install  2 Packages

5.2 使用createrepo创建本地yum仓库

[root@localhost src]# ls docker
containerd.io-1.7.19-3.1.el9.x86_64.rpm         docker-ce-cli-27.1.1-1.el9.x86_64.rpm              fuse3-help-3.10.5-9.oe2203sp4.x86_64.rpm
container-selinux-2.138-5.oe2203sp4.noarch.rpm  docker-ce-rootless-extras-27.1.1-1.el9.x86_64.rpm  fuse-overlayfs-1.12-1.oe2203sp4.x86_64.rpm
docker-buildx-plugin-0.16.1-1.el9.x86_64.rpm    docker-compose-plugin-2.29.1-1.el9.x86_64.rpm      libslirp-4.7.0-2.oe2203sp4.x86_64.rpm
docker-ce-27.1.1-1.el9.x86_64.rpm               fuse3-3.10.5-9.oe2203sp4.x86_64.rpm                slirp4netns-1.2.0-1.oe2203sp4.x86_64.rpm[root@localhost src]# createrepo -v /usr/local/src/docker
16:23:53: Version: 0.17.6 (Features: DeltaRPM LegacyWeakdeps )
16:23:53: Signal handler setup
16:23:53: Thread pool ready
Directory walk started
16:23:53: Adding pkg: /usr/local/src/docker/docker-ce-cli-27.1.1-1.el9.x86_64.rpm
16:23:53: Adding pkg: /usr/local/src/docker/container-selinux-2.138-5.oe2203sp4.noarch.rpm
16:23:53: Adding pkg: /usr/local/src/docker/docker-buildx-plugin-0.16.1-1.el9.x86_64.rpm
16:23:53: Adding pkg: /usr/local/src/docker/slirp4netns-1.2.0-1.oe2203sp4.x86_64.rpm
16:23:53: Adding pkg: /usr/local/src/docker/containerd.io-1.7.19-3.1.el9.x86_64.rpm
16:23:53: Adding pkg: /usr/local/src/docker/libslirp-4.7.0-2.oe2203sp4.x86_64.rpm
16:23:53: Adding pkg: /usr/local/src/docker/fuse3-3.10.5-9.oe2203sp4.x86_64.rpm
16:23:53: Adding pkg: /usr/local/src/docker/fuse-overlayfs-1.12-1.oe2203sp4.x86_64.rpm
16:23:53: Adding pkg: /usr/local/src/docker/docker-ce-27.1.1-1.el9.x86_64.rpm
16:23:53: Dir to scan: /usr/local/src/docker/.repodata
16:23:53: Adding pkg: /usr/local/src/docker/docker-compose-plugin-2.29.1-1.el9.x86_64.rpm
16:23:53: Adding pkg: /usr/local/src/docker/docker-ce-rootless-extras-27.1.1-1.el9.x86_64.rpm
16:23:53: Adding pkg: /usr/local/src/docker/fuse3-help-3.10.5-9.oe2203sp4.x86_64.rpm
16:23:53: Package count: 12
Directory walk done - 12 packages
Temporary output repo path: /usr/local/src/docker/.repodata/
16:23:53: Creating .xml.gz files
16:23:53: Setting number of packages
Preparing sqlite DBs
16:23:53: Creating databases
16:23:53: Thread pool user data ready
Pool started (with 5 workers)
Pool finished
16:23:53: Generating repomd.xml
16:23:53: Old repodata doesn't exists: Cannot rename /usr/local/src/docker/repodata/ -> /usr/local/src/docker/repodata.old.2366.20240802162353.139730: No such file or directory
16:23:53: Renamed /usr/local/src/docker/.repodata/ -> /usr/local/src/docker/repodata/
16:23:53: Memory cleanup
16:23:53: All done[root@localhost src]# ls docker
containerd.io-1.7.19-3.1.el9.x86_64.rpm         docker-ce-rootless-extras-27.1.1-1.el9.x86_64.rpm  libslirp-4.7.0-2.oe2203sp4.x86_64.rpm
container-selinux-2.138-5.oe2203sp4.noarch.rpm  docker-compose-plugin-2.29.1-1.el9.x86_64.rpm      repodata
docker-buildx-plugin-0.16.1-1.el9.x86_64.rpm    fuse3-3.10.5-9.oe2203sp4.x86_64.rpm                slirp4netns-1.2.0-1.oe2203sp4.x86_64.rpm
docker-ce-27.1.1-1.el9.x86_64.rpm               fuse3-help-3.10.5-9.oe2203sp4.x86_64.rpm
docker-ce-cli-27.1.1-1.el9.x86_64.rpm           fuse-overlayfs-1.12-1.oe2203sp4.x86_64.rpm

6 搭建docker本地仓库

将yum仓库源切换为本地制作的yum仓库

[root@localhost ~]# vim /etc/yum.repos.d/docker-ce.repo[docker]
name=docker-ce
# baseurl=https://mirrors.aliyun.com/docker-ce/linux/rhel/9/x86_64/stable/
baseurl=file:///usr/local/src/docker
gpgcheck=0

重新加载yum仓库 

[root@localhost ~]# yum makecache

使用自己制作的本地仓库下载docker-ce 

成功启动并使用

相关文章:

yum仓库的制作与使用

目录 前言&#xff1a; 1 查看系统内核 2 获取网络源 3 搭建yum网络仓库 4 rpm包的下载 4.1 将rpm包下载至本地 4.2 对下载的rpm包进行备份 5 制作本地yum源 5.1 软件仓库制作工具createrepo 5.2 使用createrepo创建本地yum仓库 6 搭建docker本地仓库 前言&#x…...

牛客周赛54:D.清楚姐姐跳格子(bfs)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 \,\,\,\,\,\,\,\,\,\,老妪遂递一羊皮卷轴&#xff0c;上面什么都没有&#xff0c;清楚欲问&#xff0c;老妪却缄口不言。           \,\,\,\,\,\,\,\,\,\,清楚性格刚直&…...

用户空间 lmkd

用户空间 lmkd 1、概览1.1 配置lmkd 2、lmkd2.1 lmkd启动2.2 时序图 Android LowMemoryKiller原理分析 AOSP>文档>核心主题低内>存终止守护程序 1、概览 Android Low Memory Killer Daemon &#xff1a;system/memory/lmkd/README.md Android 低内存终止守护程序 (lm…...

二叉树专题

Leetcode 104. 二叉树的最大深度 class Solution { public:int maxDepth(TreeNode* root) {if(!root) return 0;int leftd maxDepth(root -> left) 1;int rightd maxDepth(root -> right) 1;return max(leftd, rightd);} }; Leetcode 100. 相同的树 class Solution…...

Spring MVC 之简介及常见注解

一、什么是 Spring MVC Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架&#xff0c;从一开始就包含在 Spring 框架中。它的正式名称 “Spring Web MVC” 来自其源模块的名称 (Spring-webmvc)&#xff0c;但它通常被称为"Spring MVC"。 什么是Servlet呢? S…...

除了使用本地存储,还有哪些方法可以实现只出现一次的弹窗?

除了使用本地存储&#xff0c;还有以下几种方法可以实现只出现一次的弹窗&#xff1a; 1.使用 Cookie&#xff1a;可以将一个标识符存储在浏览器 Cookie 中&#xff0c;下次用户访问页面时检查 Cookie 中是否存在该标识符&#xff0c;从而判断是否需要显示弹窗。 2.使用服务器端…...

微软蓝屏事件揭示的网络安全深层问题与未来应对策略

目录 微软蓝屏事件揭示的网络安全深层问题与未来应对策略 一、事件背景 二、事件影响 2.1、跨行业连锁反应 2.2、经济损失和社会混乱 三、揭示的网络安全问题 3.2、软件更新管理与风险评估 3.2、系统复杂性与依赖关系 3.3、网络安全意识与培训 四、未来的网络安全方向…...

C#:通用方法总结—第11集

大家好&#xff0c;今天继续分享我们的通用方法系列。 下面是今天要分享的通用方法&#xff1a; &#xff08;1&#xff09;这个通用方法为Ug’校验选中体的个数&#xff1a; /// <summary> /// 输出选中体个数 /// </summary> public int CheckOneBody() { int …...

Web开发-html篇-下

这篇是接着上篇的内容&#xff0c;接着介绍html的其他标签及属性的用法&#xff0c;感兴趣的可以从我的html上篇看起 1. 超链接示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport&…...

【C++从小白到大牛】多态那些事儿(上)

一、多态的概念 1.1概念: 通俗来说&#xff0c;就是多种形态&#xff0c;具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 二、 多态的定义及实现 2.1多态的构成条件 多态是在不同继承关系的类对象&#xff0c;去调用同一函数&#xff0c;产…...

网站在线查询工具箱源码分享

终极网络工具系统”(SAAS)&#xff0c;是一款功能强大的PHP脚本在线查询工具。本版集合了超过470种快速且易用的Web工具&#xff0c;为日常任务处理和开发人员提供了极大的便利。作为一款综合性的网络工具系统&#xff0c;66toolkit不仅满足了用户的基本网络需求&#xff0c;更…...

SSH简写且免密登陆终端设备

问题 通常使用ssh连接远程设备时&#xff0c;需要先执行ssh <username><ip>&#xff0c;然后再输入终端设备的用户密码。比较麻烦。 解决 可以用如下方法设置命令缩写以及免密登陆&#xff1a; 免密 首先在本地生成私钥&#xff1a; ssh-keygen -t rsa # or …...

算力共享中神经网络切片和算力分配策略

目录 神经网络切片 按照算力的分布进行网络层数切片;就是算力越强,运算神经网络层数越多 神经网络切片和算力占比进行映射 算力分配策略 get_current_shard 神经网络切片 按照算力的分布进行网络层数切片;就是算力越强,运算神经网络层数越多 神经网络切片和算力占比进…...

3章4节:R的逻辑运算和矩阵运算

逻辑运算和矩阵运算是R语言中两个重要的功能模块,前者用于逻辑判断和条件筛选,后者用于处理多维数据结构和执行线性代数运算。本文章详细介绍R语言中的逻辑运算和矩阵运算,帮助读者掌握这两类运算的基本概念、操作方法和实际应用。 一、逻辑运算 逻辑运算在编程语言中扮演着…...

使用EasyAR打包安卓操作注意

EasyAR for Scene 4.6.3 丨Unity2020.3.15f2 打包Unity注意事项 一、默认渲染管线 官方参考链接&#xff1a;ARFoundation 简单注意 1.打包设置为Android平台 2.PackageName和EasyAR中保持一致 3.Scripting Backend设置为IL2CPP&#xff0c;以及设置为ARM64 4.取消Auto …...

驾驭PyCharm:破解环境配置的迷宫

驾驭PyCharm&#xff1a;破解环境配置的迷宫 PyCharm&#xff0c;作为Python开发者的首选IDE之一&#xff0c;以其强大的功能和用户友好的界面而广受好评。然而&#xff0c;即便是最强大的工具&#xff0c;环境配置问题也可能成为开发者的拦路虎。本文将带你深入探索PyCharm中…...

大数据技术原理-Hadoop的安装

摘要 随着大数据时代的到来&#xff0c;Hadoop作为一项重要的分布式计算框架&#xff0c;其安装与配置是大数据技术学习者必须掌握的技能。本文通过实验报告的形式&#xff0c;详细记录了在虚拟机环境下安装Hadoop并配置其为伪分布式模式的全过程。实验过程中&#xff0c;遇到…...

从根儿上学习spring 八 之run方法启动第四段(2)

图2 我们接着上一篇接着来看refresh方法&#xff0c;我们上一小节说完了invokeBeanFactoryPostProcessors(beanFactory)方法&#xff0c;这一节我们来看registerBeanPostProcessors(beanFactory)方法。 从方法名称定义我们就能看出这个方法主要是用来注册BeanPostProcesor的。…...

牛顿插值法代替泰勒公式

引入 例题 近似函数&#xff1a; 通过这个近似函数可以看出&#xff0c;若要证的函数超过二阶可导&#xff0c;那么就不适合用牛顿插值法代替泰勒公式 因为&#xff0c;后面的操作非常复杂&#xff0c;不划算了… 总结 我们可以通过牛顿插值法生成一个逼近曲线的直线&#xf…...

为 Laravel 提供生产模式下的容器化环境:打造现代开发环境的终极指南

为 Laravel 提供生产模式下的容器化环境&#xff1a;打造现代开发环境的终极指南 在现代开发中&#xff0c;容器化已经成为一种趋势。使用 Docker 可以让我们轻松地管理和部署应用程序。本文将带你一步步构建一个高效的 Laravel 容器化环境&#xff0c;确保你的应用程序在开发…...

Visual Studio 和 VSCode 哪个好?

​ 您好&#xff0c;我是程序员小羊&#xff01; 前言 想要对Visual Studio 和 VSCode 进行比较&#xff0c;就要充分了解Visual Studio (VS) 和 Visual Studio Code (VSCode) 各有其优势和适用场景进行分析。Visual Studio (VS) 和 Visual Studio Code (VSCode) 都是由微软开发…...

百款精选的HTML5小游戏源码,你可以下载并直接运行在你的小程序或者自己的网站上

今天我带来了一份特别的礼物——百款精选的HTML5小游戏源码&#xff0c;你可以下载并直接运行在你的小程序或者自己的网站上&#xff0c;只需双击index.html即可开始。无论你是在寻找创意引流&#xff0c;还是想为你的网站增添互动性&#xff0c;这些小游戏都能帮你实现&#x…...

01 LVS负载均衡群集

集群 在互联网应用中&#xff0c;随着站点对硬件的性能、响应速度、服务稳定性、数据可靠性等要求越来越高&#xff0c;单台服务器越来越力不从心 集群的含义 Cluster&#xff0c;集群也叫群集由多台主机构成&#xff0c;但对外只表现为一个整体 集群分类 类型 负载均衡集…...

Redis结合Lua脚本的简单使用

我们就拿购物车举例子 现在有5个东西免费送&#xff0c;我们只能选择1个 例如 可乐 美年达 香蕉 苹果 薯片 我们选择后就放进redis里面 然后我们不能选重复&#xff0c;只能选不同 Lua脚本 我们redis使用lua脚本的时候&#xff0c;会传两个参数进去 一个是List<Strin…...

Java使用zip4j加密压缩和解压文件与文件夹

最近项目中有个需求需要对文件夹进行压缩后传输&#xff0c;考虑数据泄露安全性问题&#xff0c;需要对压缩包进行加密&#xff0c;特地查找了下开源压缩加密类库&#xff0c;找到了Java语言开发的zip4j库&#xff0c;觉得挺好用的&#xff0c;在这分享给大家&#xff01; Jav…...

一款好用的开源网站内容管理系统

今天给大家介绍的是一款开源网站内容管理系统&#xff08;灵活、易用&#xff0c;性能良好、运行稳定&#xff0c;轻松管理建设网站&#xff09; 官网&#xff1a;https://www.ujcms.com/ 介绍 客户端兼容Edge&#xff08;Chromium版&#xff09;、谷歌浏览器&#xff08;Chro…...

Qt Modbus 寄存器读写实例

一.线圈状态寄存器读写 项目效果如下 1. 写单个寄存器 MODBUS_API int modbus_write_bit(modbus_t *ctx, int coil_addr, int status); int addrui->spinBoxwirte_addr->value();int dataui->spinBoxwirte_data->value();int ret modbus_write_bit(mb,addr,d…...

centos安装es、kibana、ik

这里es使用的是7.10.2版本的es&#xff0c;物料包下载地址如下 #注意安装的插件需和es版本保持一致 #es https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz #kibana https://artifacts.elastic.co/downloads/kibana/kibana-7.10…...

调试工具之GDB的基本使用

GDB基本使用 GDB是Linux下一款非常强大的调试软件&#xff0c;其实就是GNU Debugger的缩写。接下来我们学习一下他的基本使用。 例子函数&#xff0c;其中只有一个ds18b20的采集温度函数和一个主函数&#xff1a; #include <stdio.h> #include <errno.h> #includ…...

C++ //练习 16.14 编写Screen类模板,用非类型参数定义Screen的高和宽。

C Primer&#xff08;第5版&#xff09; 练习 16.14 练习 16.14 编写Screen类模板&#xff0c;用非类型参数定义Screen的高和宽。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 template <int H, int W> class Screen{…...