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

【Linux网络】详解使用http和ftp搭建yum仓库,以及yum网络源优化

目录

一、回顾yum的原理

1.1yum简介

yum安装的底层原理:

yum的好处:

二、学习yum的配置文件及命令

1、yum的配置文件

2、yum的相关命令详解

3、yum的命令相关案例

三、搭建yum仓库的方式

1、本地yum仓库建立

2、通过http搭建内网的yum仓库

3、通过ftp搭建内网的yum仓库

4、创建本地的国内的网络源


一、回顾yum的原理

1.1yum简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间 为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

yum安装的底层原理:

之前有博客专门详细讲解了rpm、yum、编译安装:详解三大安装方式的原理和使用情况

yum需要依赖于环境,依赖于服务端和客户端,允许跨网络

服务器:

  • RPM包 (Packages文件夹中)

  • 元数据(repodata文件夹:软件的依赖关系,软件的位置)

yum的好处:

与rpm相比,能解决依赖关系

二、学习yum的配置文件及命令

1、yum的配置文件

[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0                                   //是否保存缓存  0代表不保存,1代表保存
debuglevel=2                                  //调试级别了解即可
logfile=/var/log/yum.log					 // 日志文件位置
exactarch=1								     //是否允许不同版本的rpm安装
obsoletes=1									//update 的一个参数是否可以允许旧版本的运行	
gpgcheck=1                                  //验证秘钥
plugins=1                                   //是否允许插件1代表可以
installonly_limit=5                         //保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-releaseyum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

yum的日志存放位置/var/log/yum.log

2、yum的相关命令详解

yum命令学习不加关键字添加关键字或者包名,举例
yum  list查看有哪些如yum list http 表示与其相关的包,可以跟包名,跟包组
yum info显示所有可用包的信息可以用通配符模糊匹配
yum search不可以模糊查找与这个相关的软件包
yum provides不可以精确查找这个包来源于哪个yum服务端
yum history查看当前yum操作历史/
yum history undo 数字加入序号卸载序号里安装的软件(可以卸载干净)/
yum history redo 数字加入序号重新执行序号里的操作/
yum remove  软件包卸载不干净
yum install -y --downloadonly --downloaddir=/opt bind只下载不安装,将bind以及相关的依赖关系都下载到/opt目录下

3、yum的命令相关案例

3.1yum list(支持通配符)

3.2yum info (支持通配符)

3.3yum search 模糊查询软件包

3.4yum provides 软件包 精确查询哪些yum库可提供vsftpd的软件包

如果精确查找匹配不到,可以添加通配符“*/软件名”

3.5 yum history的使用(undo 编号反悔,redo编号,再次执行)

3.6 yum install -y --downloadonly --downloaddir=/opt bind(举例)

三、搭建yum仓库的方式

软件仓库的提供方式

FTP服务:ftp://ip地址/站点里路径

HTTP服务:http://域名或者ip地址/站点里的路径

本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)

1、本地yum仓库建立

这里有详解操作,不演示了

2、通过http搭建内网的yum仓库

第一步:关闭防火墙和安全机制,安装httpd服务

第二步:挂载光盘镜像至httpd服务端(/var/www/html)并启动服务

第三步:备份网络yum源,手写http.repo配置文件

[root@localhost ~]#cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]#mkdir bak
[root@localhost yum.repos.d]#mv *.repo bak
[root@localhost yum.repos.d]#ls
bak
[root@localhost yum.repos.d]#vim http.repo1 [http]2 name=http3 baseurl=http://192.168.20.18/   ##指明httpd服务端的位置,也是yum服务端的位置,光盘镜像挂载点4 gpgcheck=0[root@localhost yum.repos.d]#ls
bak  http.repo
[root@localhost yum.repos.d]#yum clean all && yum makecache 

第四步:验证结果

3、通过ftp搭建内网的yum仓库

第一步:关闭防火墙和安全机制,安装httpd服务

第二步:挂载光盘镜像至FTP服务端(/var/ftp/自定义目录如centos7)

第三步:备份网络yum源,手写ftp.repo配置文件

1 [ftp]2 name=ftp3 baseurl=ftp://192.168.20.10/centos74 gpgcheck=0

第四步:验证结果

4、创建本地的国内的网络源

[root@localhost yum.repos.d]#vim total.repo
[base]
name=base
baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/7/os/x86_64/https://mirrors.aliyun.com/centos/7/os/x86_64/https://repo.huaweicloud.com/centos/7/os/x86_64/https://mirrors.cloud.tencent.com/centos/7/os/x86_64/
gpgcheck=0[epel]
name=epel
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0[root@localhost yum.repos.d]#yum clean all && yum makecache 
已加载插件:fastestmirror, langpacks
正在清理软件源: base epel
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
已加载插件:fastestmirror, langpacks
base                                                                                          | 3.6 kB  00:00:00     
epel                                                                                          | 4.7 kB  00:00:00     
(1/10): epel/group_gz                                                                         |  99 kB  00:00:00     
(2/10): base/group_gz                                                                         | 153 kB  00:00:01     
(3/10): base/filelists_db                                                                     | 7.2 MB  00:00:04     
(4/10): base/primary_db                                                                       | 6.1 MB  00:00:04     
(5/10): epel/prestodelta                                                                      |  994 B  00:00:00     
(6/10): base/other_db                                                                         | 2.6 MB  00:00:09     
(7/10): epel/filelists_db                                                                     |  12 MB  00:00:12     
(8/10): epel/primary_db                                                                       | 7.0 MB  00:00:09     
(9/10): epel/other_db                                                                         | 3.4 MB  00:00:00     
(10/10): epel/updateinfo                                                                      | 1.0 MB  00:00:13     
Determining fastest mirrors* base: repo.huaweicloud.com* epel: mirrors.aliyun.com
元数据缓存已建立
[root@localhost yum.repos.d]#

 

四、总结

可以查看一些官方网址,也是提供了镜像的下载方式

 如阿里镜像官网:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)

 

相关文章:

【Linux网络】详解使用http和ftp搭建yum仓库,以及yum网络源优化

目录 一、回顾yum的原理 1.1yum简介 yum安装的底层原理: yum的好处: 二、学习yum的配置文件及命令 1、yum的配置文件 2、yum的相关命令详解 3、yum的命令相关案例 三、搭建yum仓库的方式 1、本地yum仓库建立 2、通过http搭建内网的yum仓库 3、…...

算法设计与分析算法实现——动态规划最大子段

输入:整数序列a1,a2,…,an 输出:序列的一个子段,其和Σak最大 注意:当所有整数都为负数时,定义最大子段和为0 使用动态规划,输入数组是a[n]; 状态转移方程dp[i]max(dp[i-1]a[i],a[i])——这个状…...

JavaWeb-JVM内存管理机制

JavaWeb-JVM内存管理机制 一、JVM内存管理概述1.1 什么是JVM内存管理1.2 物理内存与虚拟内存1.3 内核空间与用户空间二、java中哪些组建需要使用内存2.1 Java堆2.2 线程2.3 类和类加速器2.4 NIO2.5 JNI三、JVM内存结构3.1 PC寄存器3.2 Java栈3.3 堆3.4 方法区3.5 运行时常量池3…...

阿里云oss存储文件上传功能实现(保姆级教程)

先登录: 点击进入控制台 点击左上角导航栏按钮 搜索oss,点击进入 进入之后点击立即开通oss按钮,开通之后点击下图立即创建,弹出创建Bucket 填上Bucket名称,读写权限改为公共读。其他不变点击确定创建,完成…...

centos7配置 局域网自动解析hostname

这样可以让局域网别的电脑直接通过hostname来连接这台电脑。 如果不是windows系统,可以用hostname.local来连接 主要是用到了mdns的功能,需要安装nss-mdns。 vmware下nat模式下,宿主机也可以通过连接hostname使用。 yum install epel-releas…...

wireshark 过滤设置

gpt: Wireshark 是一个网络分析工具,可以用来捕获和分析网络数据包。你可以使用过滤器来筛选并查看你感兴趣的数据包。Wireshark 使用的是基于BPF(Berkeley Packet Filter)语法的过滤器。以下是一些常见的 Wireshark 过滤器设置:…...

SpringBoot-过滤器Filter+JWT令牌实现登录验证

登录校验-Filter 分析 过滤器Filter的快速入门以及使用细节我们已经介绍完了,接下来最后一步,我们需要使用过滤器Filter来完成案例当中的登录校验功能。 我们先来回顾下前面分析过的登录校验的基本流程: 要进入到后台管理系统,我…...

VMware——WindowServer2012R2环境安装mysql5.7.14解压版_互为主从(图解版)

目录 一、服务器信息二、192.168.132.35服务器上安装mysql(主)2.1、环境变量配置2.2、安装2.2.1、修改配置文件内容2.2.2、初始化mysql并指定超级用户密码2.2.3、安装mysql服务2.2.4、启动mysql服务2.2.5、登录用户管理及密码修改2.2.6、开启远程访问 三…...

python 实现蚁群算法(simpy带绘图)

这里使用了蚁群算法求解了旅行商问题,同时结合了simpy来绘图 选择下一个食物的函数为: probability[i] pheromone[self.now][self.not_to_foods[i]] ** pheromone_w (1 / distance[self.now][self.not_to_foods[i]]) ** distance_w 该条路概率权重该点…...

OpenAI 董事会宫斗始作俑者?一窥伊尔亚·苏茨克维内心世界

OpenAI 董事会闹剧应该是暂告一个段落了,Sam Altman和Greg Brockman等一众高管均已加入微软,还有员工写联名信逼宫董事会的戏码,关注度已经降下来了。 但是,这场宫斗闹剧的中心人物Ilya Sutskever大家关注度不算太高。他本人是纯粹的技术男,极少抛头露面透露其内心世界。…...

Android App 启动状态有几种?

startup state Android 启动状态(startup state)1.1、冷启动(Cold Start)1.2、温启动(Warm Start)1.3、热启动(Hot Start)1.4、后台启动(Background Start) 优…...

Spring Cloud Alibaba Sentinel 简单使用

Sentinel Sentinel 主要功能Sentinel 作用常见的流量控制算法计数器算法漏桶算法 令牌桶算法Sentinel 流量控制Sentinel 熔断Sentinel 基本使用添加依赖定义资源定义限流规则定义熔断规则如何判断熔断还是限流自定义 Sentinel 异常局部自定义异常全局自定义异常系统自定义异常…...

nvm切换node后,没有npm

当我们想要在不同的 Node.js 版本之间切换的时候,通常会使用 nvm(Node Version Manager) 来完成。但是,当我们在使用 nvm 切换 Node.js 版本的时候,可能会遇到没有 npm 的情况。这种情况通常发生在我们在新环境或者重新…...

Redis-高性能原理剖析

redis安装 下载地址:http://redis.io/download 安装步骤: # 安装gcc yum install gcc# 把下载好的redis-5.0.3.tar.gz放在/usr/local文件夹下,并解压 wget http://download.redis.io/releases/redis-5.0.3.tar.gz tar -zxvf redis-5.0.3.tar…...

ORA-00600 【3948】,ORA-00600 【3949】

前言 这个报错没有从ORA600那个tool中查到。 回顾 环境 环境是windows 11203 rac环境,非归档数据库 有部分数据文件建到了本地文件系统。目标是将部分数据文件通过switch to copy的形式移动到diskgroup里 流程 srvctl关闭双节点, 启动单节点到moun…...

flink 查看写入starrocks的数据量 总行数

针对该connector: https://github.com/StarRocks/docs.zh-cn/blob/main/loading/Flink-connector-starrocks.md...

全链路压测的步骤及重要性

全链路压测是一种系统性的性能测试方法,旨在模拟真实用户场景下的完整操作流程,全面评估软件系统在不同压力下的性能表现。这种测试方法对于保证应用程序的高可用性、稳定性和可扩展性至关重要。 1. 全链路压测概述 全链路压测是在模拟实际用户使用场景的…...

使用Python实现几种底层技术的数据结构

使用Python实现几种底层技术的数据结构 数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这…...

前端面试题【72道】

文章目录 1. 说说你对盒子模型的理解2. css选择器有哪些?优先级?哪些属性可以继承?3. 元素水平垂直居中的方法有哪些?如果元素不定宽高呢?4. 怎么理解回流跟重绘?什么场景下会触发?5. 什么是响应…...

OpenGL 绘制文本(QPainter)

文章目录 一、简介二、实现代码三、实现效果一、简介 OpenGL中并没有绘制文本的相关函数,因此这里仍然用的是Qt中的QPainter工具来绘制文本,但是其相关的定位这里仍然会用OpenGL中的坐标转换。这里对其也进行封装一下,方便后续使用。 二、实现代码 TextDrawable.h #ifndef T…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...