部署YUM仓库
目录
一.YUM
1.1yum概述
1.2yum的实现
1.3yum服务的组成
1.4yum服务实现过程
1.5yum配置文件位置
二.yum相关命令
三.搭建yum仓库的方式
3.1使用HTTP方式搭建yum仓库
准备工作(服务端和客户端都需要做)
服务端
客户端
3.2使用ftp方式搭建yum仓库
服务端
客户端
测试
3.3搭载本地yum仓库
补充:
搭载本地apt仓库
一.YUM
1.1yum概述
yum(Yellowdog Updater, Modified)是 RPM 系列 Linux 发行版(如 CentOS、RHEL、Fedora)中的 包管理工具,用于自动化安装、更新、删除软件包及其依赖项。
1.2yum的实现
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
1.3yum服务的组成
yum服务是C/S模式
服务器:
-
RPM包 (Packages文件夹中)
-
元数据(repodata文件夹:目录(软件的目录),1.软件的依赖关系,2.软件的位置)
最终形成两个文件夹Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)
客户端
-
编写客户端配置文件
仓库类型 | 适用场景 | 典型仓库 |
---|---|---|
官方仓库 | 系统基础软件、安全更新。 | Base, Updates, AppStream |
第三方仓库 | 扩展软件(如开发工具、新版应用)。 | EPEL, Remi, RPM Fusion |
本地仓库 | 离线环境、企业内部分发。 | 自建仓库或 ISO 镜像。 |
特殊仓库 | 调试、源码编译、测试软件。 | Debuginfo, Source |
1.4yum服务实现过程
1.5yum配置文件位置
服务端:/etc/yum.conf
客户端 :/etc/yum.repos.d/*.repo
日志:/var/log/yum.log
二.yum相关命令
一.安装
yum install 软件名 -y #通过yum方式安装软件二.查询
1.yum list [软件名] #显示可用的安装包,不加软件名是显示所有的可用包#举例#
[root@localhost ~]# yum list #显示所有可用安装包
[root@localhost ~]# yum list httpd #显示关于httpd的包2.yum info [软件名] #显示指定安装包详细信息,不加软件名是显示所有包的详细信息#举例#
yum info httpd #显示httpd的详细信息3.yum search 关键词 #根据关键字查找软件安装包#举例#
yum search ftp #查找包含ftp的软件包4.yum provides 命令 #根据命令名查找对应的软件包5.yum grouplist [包组名] #安装包组的查询 不加包组名 就是显示所有6.yum groupinfo [包组名] #显示包组的详细信息#举例#
yum groupinfo "GNOME Desktop" #显示名为 "GNOME Desktop" 的软件包组的详细信息三.升级
1.yum update 软件名 #仅升级包,不会自动删除 旧版本的依赖2.yum uograde 软件名 #升级包后,会移除新版本不再需要的旧依赖包3.yum groupupdate [包组名] #包组更新四.卸载
1.yum remove 软件名2.yum groupremove 包组名 #注意:卸载软件,依赖关系是不会一起卸载的五.其他
1.yum history #查看yum 的历史记录2.yum history undo 编号 #撤销yum操作3.yum history redo 编号 #恢复误撤销的操作。
只下载,不安装
yum install <包> --downloadonly --downloaddir=<路径>--downloadonly #只下载相关包默认至某一目录
--downloaddir=绝对目录路径 #下载到某一目录 #举例#
yum install nginx --downloadonly --downloaddir=/data/
#仅下载 nginx 及其依赖包到 /data/ 目录,不安装。yum install nginx --downloadonly --downloaddir=/nginx/
#仅下载 nginx 及其依赖包到 /nginx/ 目录,不安装。
三.搭建yum仓库的方式
3.1使用HTTP方式搭建yum仓库
服务端的IP地址:192.168.52.100
客户端的IP地址:192.168.52.101
准备工作(服务端和客户端都需要做)
sudo systemctl stop firewalld # 停止防火墙服务sudo setenforce 0 # 临时关闭selinux
服务端
yum install -y httpd #安装httpd服务mount /dev/sr0 /var/www/html #挂载光盘镜像至httpd服务端 提供安装包systemcl start httpd #启动服务
客户端
cd /etc/yum.repos.d #切换至系统存放YUM软件仓库配置文件的核心目录mkdir backup #创建一个名为 backup 的新目录。mv *.repo backup #将当前目录下所有 .repo 文件移动到 backup/ 目录中 vim http.repo #编辑一个YUM软件源配置文件1 [http]
2 name=http
3 baseurl=http://192.168.52.100/ #指定软件仓库的实际存储位置
4 gpgcheck=0yum clean all #彻底清理YUM的本地缓存yum makecache #下载并生成最新的仓库元数据缓存yum install -y tree
#安装任意软件 观察能否安装成功 观察安装源的变化
3.2使用ftp方式搭建yum仓库
服务端的IP地址:192.168.52.100
客户端的IP地址:192.168.52.101
服务端
systemctl stop firewalld
setenforce 0yum install -y vsftpd #安装ftp服务cd /var/ftp/mkdir test #新建目录作为挂载点mount /dev/sr0 /var/ftp/test #挂载systemctl start vsftp #启动服务
客户端
systemctl stop firewalld
setenfore 0 cd /etc/yum.repos.d mkdir backup mv *.repo backup #备份网络源vim http.repo #编辑 http.repo文件[ftp]
name=ftp
baseurl=ftp://192.168.52.100/test #挂载目录
gpgcheck=0 #关闭校验:wq #退出并保存yum clean all
yum makecache #清除网络源缓存,建立本地源数据
测试
yum install -y tree #安装tree以测试源的变化
3.3搭载本地yum仓库
具体讲解在“Linux系统安装软件的方式”这一章
mount /dev/sr0 /mntcd /etc/yum.repos.d/makir bakmv *.repo bak/vim local.repo[dhf]
name=local
baseurl=file:///mnt/
gpgcheck=0yum clean allyum makecacheyum install tree -y #验证实验似乎否成功
补充:
搭载本地apt仓库
mkdir -p /var/www/html/apt
cd /var/www/html/apt #创建本地APT仓库的存储目录,并进入该目录。把压缩文件拖入指令界面
#要完成这一步需要下载apt install -y iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev gcc openssh-server iotop unzip zip net-toolstar -xzvf apt.tar.gz #解压缩apt install dpkg-dev -y #安装 dpkg-scanpackages 工具,用于生成APT仓库元数据apt install apache2 -y #安装Apache HTTP服务器,用于通过HTTP共享仓库。cd /var/www/html/
dpkg-scanpackages apt/ > Packages #生成仓库元数据mv /etc/apt/sources.list /etc/apt/sources.list.ali
vim /etc/apt/sources.list
deb [trusted=yes] http://192.168.52.105(你自己的ip地址)/ / 是什么意思
#替换APT源为本地仓库apt update #验证
相关文章:
部署YUM仓库
目录 一.YUM 1.1yum概述 1.2yum的实现 1.3yum服务的组成 1.4yum服务实现过程 1.5yum配置文件位置 二.yum相关命令 三.搭建yum仓库的方式 3.1使用HTTP方式搭建yum仓库 准备工作(服务端和客户端都需要做) 服务端 客户端 3.2使用ftp方式搭建yu…...
中位数学习(低估它了)
-----------------------------------------------------------------中位数------------------------------------------------------- 中位数有一个很好的性质:假设有一批数据,你想找一个数,使得这批数据与它差的绝对值的和最小࿰…...
音视频转换器 AV 接口静电保护方案
方案简介 音视频转换器是将音视频(AV)信号转换成其他格式或信号类型的设备或软件。 它能够实现大多数视频、音频以及图像格式之间的转换,包括但不限于 RMVB、AVI、 MP4、MOV 等常见格式,同时也支持将不同采样率、位深度、声道数…...
蓝桥杯嵌入式第十二届省赛程序设计1(超简单版)
此程序只需要会C语言数组,结构体(struct),for , if , switch(也可以用if)就能够实现。 引脚设置: 引脚配置(参照笔记): 代码部分: /* USER CODE END Header */ /* Includes ------------------…...
CSS 链接样式学习笔记
在网页设计中,链接(<a> 标签)是不可或缺的元素,通过 CSS 可以对链接进行丰富的样式设置,从而提升用户体验和页面美观度。以下是关于 CSS 链接样式的详细学习笔记。 一、链接的四种状态 链接有四种不同的状态&a…...
有ts文件却无法ts出来解决办法
一开始报错是报这个,但是我其实完全看不懂为什么 原因是这个 打开某个test就行了...
javaSE.Lambda表达式
如果一个接口中有且只有一个待实现的抽象方法,那么我们可以将匿名内部类简写为Lambda表达式。 简写规则 标准格式: (【参数类型 参数名称,】...) -> {代码语句, 包括返回值} 只有一行花括号{}可以省略。…...
Web渗透之文件包含漏洞
文件包含漏洞原理 1、源代码 <?php$filename $_GET[filename]; include $filename; //或include_once,require,require_onceecho "欢迎来到PHP的世界.";?> 2、利用条件 php.ini中alllow_url_fopenOn(默认开启)和allow_url_includeOff(默认关闭)要开启…...
费马引理和罗尔定理
cheer 向……欢呼,使高兴,欢呼,欢呼,愉快 前言区间平均值费马引理罗尔三步万能构造原函数的方法什么时候用罗尔定理计划拉格朗日需要记忆的不等式柯西中值定理泰勒高阶导数判断极值最后 前言 继续学习。今天争取把讲义和作业题都…...
【合新通信】浸没式液冷中低成本冷媒开发的最新进展
浸没式液冷光模块是一种结合高效散热技术与光通信的新型解决方案,主要用于数据中心、超算中心等高密度计算场景。其核心特点是通过将光模块直接浸入绝缘冷却液中(如矿物油、氟化液等),实现高效散热和节能降耗。低成本冷却液的研发…...
【开发记录】服务外包大赛记录
参加服务外包大赛的A07赛道中,最近因为频繁的DEBUG,心态爆炸 记录错误 以防止再次出现错误浪费时间。。。 2025.4.13 项目在上传图片之后 会自动刷新 没有等待后端返回 Network中的fetch /upload显示canceled. 然而这是使用了VS的live Server插件才这样&…...
智能指针之设计模式1
本文探讨一下智能指针和GOF设计模式的关系,如果按照设计模式的背后思想来分析,可以发现围绕智能指针的设计和实现有设计模式的一些思想体现。当然,它们也不是严格意义上面向对象的设计模式,毕竟它们没有那么分明的类层次体系&…...
Spring Boot 中应用的设计模式
Spring Boot 中应用的设计模式详解 Spring Boot 作为 Spring 框架的扩展,广泛使用了多种经典设计模式。以下是主要设计模式及其在 Spring Boot 中的具体应用: 一、创建型模式 1. 工厂模式 (Factory Pattern) 应用场景: BeanFactory 和 Ap…...
23种GoF设计模式
GoF(Gang of Four)设计模式是由四位计算机科学家 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著的书籍《Design Patterns: Elements of Reusable Object-Oriented Software》中提出的设计模式 目录 一、创建型模式(Cre…...
Python实例题:Python实现中文错别字高亮系统
目录 Python实例题 题目 安装依赖库 代码实现 代码解释 运行思路 注意事项 Python实例题 题目 Python实现中文错别字高亮系统 安装依赖库 在开始之前,你需要安装 pycorrector 和 rich 库。可以使用以下命令进行安装: pip install pycorrecto…...
【第三十一周】ViT 论文阅读笔记
ViT 摘要Abstract文章信息引言方法Patch EmbeddingPatch Position EmbeddingTransformer EncoderMLP Head整体架构CNN的归纳偏置 代码实现实验结果总结 摘要 本篇博客介绍了Vision Transformer(ViT),这是一种突破性的图像分类模型ÿ…...
射频(RF)静电放电防护方案
方案简介 射频(RF)是 Radio Frequency 的缩写,表示可以辐射到空间的电磁频率,频率 范围从 300kHz~300GHz 之间。射频就是射频电流,简称 RF,它是一种高频交流变化 电磁波的简称。射频天线是一…...
【redis进阶三】分布式系统之主从复制结构(1)
目录 一 为什么要有分布式系统? 二 分布式系统涉及到的非常关键的问题:单点问题 三 学习部署主从结构的redis (1)创建一个目录 (2)进入目录拷贝两份原有redis (3)使用vim修改几个选项 (4)启动两个从节点服务器 (5)建立复制,要想配…...
排序(1)
排序(1) 日常生活中,有很多场景都会用到排序。比如你买东西,在购物软件就有几种展现方式,按照评论数量给你排序出来,让你选,还是说按照价钱高低排序出来让你选。 排序其实是一种为了更好解决问…...
NR 5G中的N5接口
N5接口的定义: Reference point between the PCF and an AF or TSN AF. 即N5 PCF和AF之间的参考点。 AF Application Function 应用功能,指应用层的各种服务,可以是运营商内部的应用如Volte AF(类似4G的Volte As)、也可以是第三方的AF&…...
STM32自学进阶指南:从入门到精通的成长路径 | 零基础入门STM32第九十九步
主题内容教学目的/扩展视频自学指导通过数据手册和搜索引擎查找资料,独立解决问题以积累经验和提升能力。自学过程中应保持敬畏之心,不断总结未知领域,持续进步。师从洋桃电子,杜洋老师 📑文章目录 一、自学指导全景图1.1 学习路线对比1.2 关键学习策略二、待探索技术领域…...
利用 Python 进行股票数据可视化分析
在金融市场中,股票数据的可视化分析对于投资者和分析师来说至关重要。通过可视化,我们可以更直观地观察股票价格的走势、交易量的变化以及不同股票之间的相关性等。 Python 作为一种功能强大的编程语言,拥有丰富的数据处理和可视化库…...
用 Vue.js 构建基础购物车:从 0 到 1 的实战解析
在当今数字化购物的浪潮中,购物车功能已成为电商平台不可或缺的一部分。它不仅承担着记录用户所选商品的重任,还需提供流畅的交互体验和精准的计算逻辑。本文将深入探讨如何利用 Vue.js 这一强大的 JavaScript 框架,逐步搭建一个基础但功能完…...
MapSet常用的集合类(二叉搜索树,哈希表)
Set集合 Set的核心特点: Set继承了Collection。 保存的元素不会重复。 保存的元素不能修改。 保存的元素无序,和List不同,如果有两个:List {1,2,3},List {2,1,3}&…...
五种IO模型
1、通信的本质: 通过网络通信的学习,我们能够理解网络通信的本质是进程间通信,而进程间通信的本质就是IO。 IO也就是input和output。当读取条件不满足的时候,recv会阻塞。write写入数据时,会将数据拷贝到缓冲区中&am…...
路由器开启QOS和UPNP的作用
QOS 的作用 保障关键业务带宽:可根据网络应用的重要性分配带宽。比如在家庭网络中,当多人同时使用网络时,将视频会议等实时性要求高的关键业务设置为高优先级,确保其能获得足够带宽,避免卡顿,而文件下载等…...
学习MySQL的第九天
纸上得来终觉浅 绝知此事要躬行 数据处理的增删查改 一、添加数据 添加数据有两种方式,一种是一条一条的添加数据,另一种是通过对其他表的查询,将查询的结果插入到表中;第一种方式又可以分为三种方式:…...
怎么免费下载GLTF/GLB格式模型文件,还可以在线编辑修改
现在非常流行glb格式模型,和gltf格式文件,可是之类模型网站非常非常少 1,咱们先直接打开http://glbxz.com 官方glb下载网站 glbxz.com 2 可以搜索,自己想要的模型关键词 3,到自己想下载素材页面 4,…...
高效数据拷贝方法总结
1.系统/语言层面的高效拷贝 内存拷贝优化 使用memcpy(C/C)或类似函数进行大块内存拷贝 利用SIMD指令(如AVX/SSE)进行向量化拷贝 2.零拷贝技术 文件映射(mmap) - 将文件映射到内存空间 发送文件描述符而非数据本身(Unix域套接字) 使用sendfile系统调用(文件到套接字直接传…...
C 语言 第八章 文件操作
目录 文件操作 文件和流的介绍 C 输入 & 输出 C 文件的读写 创建/打开文件 写入文件 fputc 函数 fputs 函数 fprintf 函数 实例: 读取文件 fgets函数 实例: 关闭文件 文件操作 文件和流的介绍 变量、数组、结构体等数据在运行时存储于内存…...
开发一款游戏需要哪些岗位角色参与?
常见分类 1. 游戏策划(Game Designer) 核心职责:设计游戏的玩法、规则、内容和整体体验。 具体工作: 系统设计:设计游戏的战斗、经济、成长、社交等核心系统。 数值设计:平衡角色属性、装备数值、经济系…...
大模型面经 | 手撕多头注意力机制(Multi-Head Attention)
大家好,我是皮先生!! 今天给大家分享一些关于大模型面试常见的面试题,希望对大家的面试有所帮助。 往期回顾: 大模型面经 | 春招、秋招算法面试常考八股文附答案(RAG专题一) 大模型面经 | 春招、秋招算法面试常考八股文附答案(RAG专题二) 大模型面经 | 春招、秋招算法…...
二叉树的初步学习
前言 对于二叉树的学习不想其他数据结构一样,直接学习他的结构的构建。单纯的一个二叉树在实际中没什么作用,除非是加了限制条件的,比如大名鼎鼎的红黑树。但是对于初学者而言,刚开始就学习红黑树,会让你刚接触就想放…...
Tkinter菜单和工具栏的设计
在这一章中,我们将深入探讨如何在Tkinter应用程序中设计菜单和工具栏。菜单和工具栏是桌面应用程序中常见的界面元素,它们为用户提供了便捷的操作方式。通过这一章的学习,您将能够在您的Tkinter应用中添加菜单栏和工具栏,提升用户体验。 6.1 菜单栏的设计 菜单栏是应用程…...
windows中搭建Ubuntu子系统
windows中搭建虚拟环境 1.配置2.windows中搭建Ubuntu子系统2.1windows配置2.1.1 确认启用私有化2.1.2 将wsl2设置为默认版本2.1.3 确认开启相关配置2.1.4重启windows以加载更改配置 2.2 搭建Ubuntu子系统2.2.1 下载Ubuntu2.2.2 迁移位置 3.Ubuntu子系统搭建docker环境3.1安装do…...
Docker 部署 Kafka 完整指南
Docker 部署 Kafka 完整指南 本指南将详细介绍如何使用 Docker 部署 Kafka 消息队列系统,包括单节点和集群模式的部署方式。 1. 单节点部署 (Zookeeper Kafka) 1.1 创建 docker-compose.yml 文件 version: 3.8services:zookeeper:image: bitnami/zookeeper:3.8…...
java学习总结(if switch for)
一.基本结构 1.单分支if int num 10; if (num > 5) {System.out.println("num 大于 5"); } 2.双分支if-else int score 60; if (score > 60) {System.out.println("及格"); } else {System.out.println("不及格"); } 3.多分支 int…...
解释:指数加权移动平均(EWMA)
指数加权移动平均(EWMA, Exponential Weighted Moving Average) 是一种常用于时间序列平滑、异常检测、过程控制等领域的统计方法。相比普通移动平均,它对最近的数据赋予更高权重,对旧数据逐渐“淡化”。 ✅ 一、通俗理解 想象你…...
open harmony多模组子系统分析
multimodalinput是open harmony的核心输入子系统,负责统一管理触摸屏,键盘,鼠标,手势,传感器等多种 输入源,提供标准化事件分发机制。其核心 目标是通过统一的事件处理框架,实现跨设备ÿ…...
Hello Java!
1. Java发展史 1.1 计算机编程语言分类 机器语言:电子机器能够直接识别的语言,无需经过翻译,计算机内部就有相应的电路来完成它;从使用的角度来看,机器语言是最低级的语言。 机器语言。指令以二进制代码形式存在。 汇…...
vue 入门:生命周期
文章目录 vue组件的生命周期创建阶段更新阶段销毁阶段生命周期钩子函数 vue组件的生命周期 创建阶段、销毁阶段:只会执行一次更新阶段:会执行多次 创建阶段 beforeCreate 在实例初始化之后,数据观测(data observer)…...
C#容器源码分析 --- Dictionary<TKey,TValue>
Dictionary<TKey, TValue> 是 System.Collections.Generic 命名空间下的高性能键值对集合,其核心实现基于哈希表和链地址法(Separate Chaining)。 .Net4.8 Dictionary<TKey,TValue>源码地址: dictionary…...
yum的基本操作和vim指令
在我们的手机端或者Windows上下载软件,可以在相应的应用商店或者官网进行下载,这样对于用户来说十分的方便和便捷。而在Linux上,也有类似的安装方式,我们来一一了解一下。 Linux安装软件的3种方法 源代码安装 在Linux下安装软件…...
MCU刷写——HEX与S19文件互转详解及Python实现
工作之余来写写关于MCU的Bootloader刷写的相关知识,以免忘记。今天就来聊聊Hex与S19这这两种文件互相转化,我是分享人M哥,目前从事车载控制器的软件开发及测试工作。 学习过程中如有任何疑问,可底下评论! 如果觉得文章内容在工作学习中有帮助到你,麻烦点赞收藏评论+关注走…...
深入探讨避免MQ消息重复消费的策略与实现
引言 随着微服务架构的流行,消息队列(Message Queue, MQ)作为系统间异步通信的重要手段,被广泛应用于各种场景。然而,在使用MQ的过程中,一个不容忽视的问题是消息可能被重复消费。这不仅可能导致数据不一致…...
定制一款国密浏览器(8):SM3 摘要算法
上一章我们讲到了铜锁和 BoringSSL,本章从最简单的国密算法 SM3 摘要算法入手,说明一下 SM3 算法的移植要点。 SM3 算法本身并不复杂,详细算法说明参考《GB∕T 32905-2016信息安全技术 SM3密码杂凑算法》这份文档。因为铜锁开源项目有实现代码,直接照搬过来。 将 crypto/…...
【Docker基础】Compose 使用手册:场景、文件与命令详解
文章目录 一、什么是 Docker Compose二、为什么需要 Docker Compose三、Docker Compose 使用步骤 / 核心功能步骤核心功能: 四、Docker Compose 的使用场景五、Docker Compose 文件(docker-compose.yml)文件语法版本文件基本结构及常见指令常…...
RT-2论文深度解读:视觉-语言-动作统一模型的机器人泛化革命
1. 核心问题与挑战 传统机器人学习存在两大瓶颈: 数据效率低下:依赖特定场景的机器人操作数据(如抓取、推压),收集成本高泛化能力局限:模型仅能完成训练中出现过的任务,无法应对长尾场景 RT-…...
git 提交标签
Git 提交标签 提交消息格式: <type>: <description> (示例:git commit -m "feat: add user login API") 标签适用场景feat新增功能(Feature)。fix修复 Bug(Bug fix&…...
学习率(Learning Rate)
学习率(Learning Rate)是深度学习中最关键的超参数之一,它控制模型在每次参数更新时的“步长大小”。简单来说:它决定了模型从错误中学习的“速度”。 直观比喻 想象你在山顶蒙眼下山(找最低点)࿱…...