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

news2024/11/20 11:49:31

目录

一、回顾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-release

yum的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.repo
  1 [http]
  2 name=http
  3 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=ftp
  3 baseurl=ftp://192.168.20.10/centos7
  4 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)

 

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

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

相关文章

Sa-Token 整合Java17和SpringBoot

目录 前言引入项目开启登录认证路由拦截鉴权解决兼容问题总结 前言 之前无意中发现Sa-Token权限认证框架,项目十分好用。 项目地址: https://github.com/dromara/sa-token 官网地址: https://sa-token.cc/doc.html#/start/example 我的个人…

64位ATT汇编语言使用bss段.skip指令储存字符,并使用系统调用输出字符

.global main .section .data .section .bss# 需要输出的字符数组,还没有初始化mystring: .skip 4 .section .text main:# 将mystring这个字符串的地址存入到rbx寄存器中leaq mystring,%rbx# 将a放入到mystring第一个字节里边movb $a,(%rbx)# 将地址往后边移动一个字…

C语言的由来与发展历程

C语言的起源可以追溯到上世纪70年代,由Dennis Ritchie在贝尔实验室开发出来。C语言的设计目标是提供一种简洁、高效、可移植的编程语言,以便于开发底层的系统软件。在那个时代,计算机技术正在迅速发展,出现了多种高级编程语言&…

Python接口自动化测试之token参数关联!

前言 在做自动化接口测试时,有时候会遇到token的动态关联,例如查询余额接口,需要关联登录接口的token动态值,如何利用python脚本进行接口token关联呢?今天我们爱学习一下吧! 一:获取登录接口返回的token…

掌握深度学习利器——TensorFlow 2.x实战应用与进阶

掌握深度学习利器——TensorFlow 2.x实战应用与进阶 摘要:随着人工智能技术的飞速发展,深度学习已成为当下最热门的领域之一。作为深度学习领域的重要工具,TensorFlow 2.x 备受关注。本文将通过介绍TensorFlow 2.x的基本概念和特性&#xff…

面向未来的自动化:拥抱机器人即服务(RaaS)

01. RaaS是什么? 对于希望实现业务流程自动化的公司来说,机器人通常是一笔巨大的资本支出。由于机器人非常昂贵,公司可能需要等待数年才能看到投资回报。正是由于这一现实,许多较小的组织无法投资机器人。 但一些机器人公司正在采…

2023.11.18 每日一题(AI自生成应用)【C++】【Python】【Java】【Go】 动态路径分析

目录 一、编程挑战:动态时间序列分析 实际应用: 实现提示: 二、实现 1. C 2. Python 3. JAVA 4. Go 一、编程挑战:动态时间序列分析 问题描述: 假设你是一名软件工程师,需要开发一个应用来分析和预…

springboot项目中获取业务功能的导入数据模板文件

场景: 在实际业务场景中,经常会遇到某些管理功能需要数据导入共功能,但既然是导入数据,肯定会有规则限制,有规则就会有数据模板,但这个模板一般是让客户自己下载固定规则模板,而不是让客户自己随便上传模板。下面介绍直接下载模板 一、下载模板示例 1、在项目的…

最短路问题

单源最短路 Dijkstra算法 力扣 743.网络延迟时间 const int N 7777; int INF 0x3f3f3f3f; class Solution {struct edge {int v, w;};vector<edge> e[N];int d[N], vis[N]; //d数组存储最短路径长度priority_queue <pair<int, int>, vector<pair<int…

栈的实现及OJ练习(c语言)

目录 前言 栈 栈的实现&#xff08;数组栈&#xff09; 初始化栈 入栈 出栈 获取栈顶元素 获取栈中有效元素个数 检测栈是否为空 销毁栈 最终代码&#xff1a; 选择练习 栈的OJ题 前言 我们在之前已经学习了顺序表和链表的概念&#xff0c;它们有这样的优缺点&a…

周年纪念篇

一周年纪念&#xff01; 凌晨逛手机版csdn时才突然发现已经错过一周年了&#xff0c;但我当闰年来纪念一下不过分吧hhh 浅浅的整些怀念的东西吧&#xff01; 这是人生第一段代码&#xff1a;不是hello world写不起&#xff0c;而是纯爱单推人更有性价比。 有这段代码在&#x…

Zabbix Proxy分布式监控

目录 Zabbix Proxy简介 实验环境 proxy端配置 1.安装仓库 2.安装zabbix-proxy 3.创建初始数据库 4.导入初始架构和数据&#xff0c;系统将提示您输入新创建的密码 5.编辑配置文件 /etc/zabbix/zabbix_proxy.conf&#xff0c;配置完成后要重启。 agent客户端配置 zabbix…

可燃气体监测仪|燃气管网监测解决办法

可燃气体监测仪是城市生命线中&#xff0c;燃气监测运行系统的前端监测设备&#xff0c;其主要作用是对燃气管网的安全状况进行实时监测。燃气管道在使用过程中&#xff0c;由于老化、裂纹、锈蚀等问题&#xff0c;容易导致燃气出现泄漏问题&#xff0c;从而引发一系列的安全事…

强烈 推荐 13 个 Web前端在线代码IDE

codesandbox.io&#xff08;国外&#xff0c;提供免费空间&#xff09; 网址&#xff1a;https://codesandbox.io/ CodeSandbox 专注于构建完整的 Web 应用程序&#xff0c;支持多种流行的前端框架和库&#xff0c;例如 React、Vue 和 Angular。它提供了一系列增强的功能&…

GSVA,GSEA,KEGG,GO学习

目录 GSVA 1&#xff1a;获取注释基因集 2&#xff1a;运行 GSEA 1,示例数据集 2,运行 GSEA_KEGG富集分析 GSEA_GO富集分析 DO数据库GSEA MSigDB数据库选取GSEA KEGG 1&#xff1a;运行 2&#xff1a;绘图 bar图 气泡图 绘图美化 GO GSVA 1&#xff1a;获取注…

springboot实现在线人数统计

在线人数统计 笔者做了一个网站&#xff0c;需要统计在线人数。 在线有两种&#xff1a; 一、如果是后台系统如果登录算在线&#xff0c;退出的时候或者cookie、token失效的时候就算下线 二、如果是网站前台&#xff0c;访问的时候就算在线 今天我们来讲一下第2种情况&…

【论文解读】FFHQ-UV:用于3D面部重建的归一化面部UV纹理数据集

【论文解读】FFHQ-UV 论文地址&#xff1a;https://arxiv.org/pdf/2211.13874.pdf 0. 摘要 我们提出了一个大规模的面部UV纹理数据集&#xff0c;其中包含超过50,000张高质量的纹理UV贴图&#xff0c;这些贴图具有均匀的照明、中性的表情和清洁的面部区域&#xff0c;这些都是…

损失函数(Loss Function)与代价函数(Cost Function)、目标函数(Objective Function)区别

损失函数定义在单个样本上&#xff0c;算的是一个样本的误差。 代价函数定义在整个训练集上&#xff0c;是所有样本误差的平均&#xff0c;也就是损失函数的平均。 目标函数定义为最终需要优化的函数&#xff0c;等于经验风险 结构风险&#xff08;也就是Cost Function 正则化…

Windows10下Mysql8.0安装教程

文章目录 1.下载Mysql8.02.解压Mysql安装包到指定目录3.初始化Mysql服务4.安装Mysql服务5.启动Mysql服务6.登录Mysql服务7.修改Mysql密码8.重启Mysql服务停止服务启动服务 1.下载Mysql8.0 链接&#xff1a;https://pan.baidu.com/s/1uP2xZj8g05xg-oHX_nfnmA 提取码&#xff1a;…

基于SSM的在线投稿系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…