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

Linux 配置YUM源(FTP方式获取软件源、使用阿里云yum源、同时使用本地源与在线源)YUM获取安装包并生成YUM软件仓库

YUM介绍

YUM(yellow dog updater modified)

基于RPM包构建的软件更新机制

自动解决依赖关系

yum软件仓库集中管理软件包

RPM软件包的来源

  • centos发布的RPM包集合
  • 第三方组织发布的RPM包集合
  • 用户自定义的RPM包集合

软件仓库的提供方式

  • FTP服务:baseurl=ftp://......
  • HTTP服务:baseurl=http://.......
  • 本地目录:baseurl= file://....... 

YUM源配置

 FTP方式获取软件源(配置yum源)

本地目录配置yum源在之前的博客中已经演示

        这里展示一下FTP配置方式

安装ftp服务

yum install vsftpd
systemctl start vsftpd

在ftp目录中创建centos7文件夹,用于存放从系统光盘印象中复制的软件包文件

cd /var/ftp
mkdir centos7mount /dev/sr0 /mnt #挂载系统光盘
ls /mnt #查看光盘文件
#软件包就位于Packages文件夹中 repodata为yum仓库索引表(依赖关系等)
#并且存在GPGkey[RPM-GPG-KEY-CentOS-7]可供调用
cp -r /mnt/* centos7 #拷贝光盘文件到cd /var/ftp/centos7

文件目录结构:

创建/etc/yum.repos.d/ftp.repo yum库文件

cd /etc/yum.repos.d
mkdir bak
mv *.repo bakvim ftp.repo[ftp]name=ftpbaseurl=ftp://192.168.80.101/centos7    #ftp服务默认路径从/var/ftp开始 绝对路径相应为/var/ftp/centos7enabled=1gpgcheck=1 #开不开gpg检查都可以 此处开启 下面跟上gpykey位置gpgkey=ftp://192.168.80.101/centos7/RPM-GPG-KEY-CentOS-7yum clean all && yum makecache

 此时可将本yum配置文件传递给其他主机使用

scp ftp.repo 192.168.80.102:`pwd`
yum clean all && yum makecache

若出现,关闭防火墙记得systemctl stop firewalld

  

直接使用阿里云的yum配置文件从阿里云获取yum软件仓库(将yum替换为国内源)

wget -O /etc/yum.repo.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/CentOS-7.repo
#或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
​
yum clean all && yum makecache

同时使用本地源与网络源

使用本地源速度更快,而使用网络源版本更新。可以通过安装yum-plugin-priorities插件同时使用本地源与网络源,文体两开花

安装yum-plugin-priorities插件

yum install -y yum-plugin-priorities.noarch

编辑ftp.repo配置文件添加优先级

yum install -y epel-release 
#安装在线源扩展包 等会测试用的nginx需要用扩展源才能下载
#生成/etc/yum.repos.d/epel.repo​​​​​​​vim /etc/yum.repos.d/ftp.repopriority=1 #✨添加优先级 越小越优先
#从/etc/yum.repos.d/epel.repo扩展源拷贝配置,添加在下方[epel]name=Extra Packages for Enterprise Linux 7 - $basearch# It is much more secure to use the metalink, but if you wish to use a local mirror# place its address here.#baseurl=http://download.example/pub/epel/7/$basearchmetalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch&infra=$infra&content=$contentdirfailovermethod=priorityenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7priority=2  #✨添加优先级

将无关的配置移除以便测试

mv *.repo bak
mv bak/ftp.repo . 
#将所有repo文件除了刚刚设置的ftp.repo都移入bak文件夹,以免生效
[root@xue yum.repos.d]# ls
bak  ftp.repo    #文件夹结构应该是这样

  开启插件(默认已经启动)

vim /etc/yum/pluginconf.d/priorities.conf[main]enabled = 1  #默认已经启动

测试

yum install -y httpd #本地源有的,使用本地源
yum install -y nginx #本地源没有,使用在线源


通过yum获取软件安装包,并且创建依赖关系表以生成软件仓库

1 通过安装完后查找缓存获取软件安装包

 yum缓存位置

yum clean all清除的缓存正是这里

cd /var/cache/yum/x86_64/7/

修改yum配置文件,修改缓存设置

若要安装完软件缓存不被清空,修改keepcache=1 

vim /etc/yum.confcachedir=/var/cache/yum/$basearch/$releasever #缓存位置keepcache=1  #保存缓存

安装mariadb数据库并查找缓存中安装包

yum install -y mariadb mariadb-server #安装
find /var/cache/yum/x86_64/7/ -name "*.rpm" #查找缓存中安装包cd /var/cache/yum/x86_64/7/
mkdir pkgs                    #将找到的安装包全部移动到pkgs文件夹中方便查看
find /var/cache/yum/x86_64/7/ -name "*.rpm" -exec cp {} pkgs/ \;

  

2 通过yum命令获取软件安装包

使用yum install -y --downloadonly

cd /optmkdir pkg
yum install -y --downloadonly tomcat --downloaddir=/opt/pkg
#yum仅下载tomcat安装包 不安装 下载到/opt/pkgls pkg #查看

使用yumdownloader

cd /optmkdir package
yumdownloader --destdir=/opt/package httpd --resolve
# --resolve 同时下载依赖包ls package#查看

  

 

createrepo 创建依赖关系表以生成软件仓库

将刚刚下载的多个安装包执行createrepo目录,会生成依赖关系表。这时软件包文件夹才能作为yum仓库使用。

createrepo ./pkg #刚刚下载软件包的目录
ls pkg #查看 会生成一个repodata依赖关系表

 

相关文章:

Linux 配置YUM源(FTP方式获取软件源、使用阿里云yum源、同时使用本地源与在线源)YUM获取安装包并生成YUM软件仓库

YUM介绍 YUM(yellow dog updater modified) 基于RPM包构建的软件更新机制 自动解决依赖关系 yum软件仓库集中管理软件包 RPM软件包的来源 centos发布的RPM包集合第三方组织发布的RPM包集合用户自定义的RPM包集合 软件仓库的提供方式 FTP服务:…...

Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…...

养老保障金查询系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设!!! 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址:https://download.csdn.net/download/qq_50954361/87700421 更多系统资源库…...

国考省考行测:词句理解,词的对象指代,就近原则,主语一致法,语意语境分析上下文找出指代含义

国考省考行测:词句理解,词的对象指代,就近原则,主语一致法,语意语境分析上下文找出指代含义 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国…...

部署YUM仓库

部署YUM仓库 YUM概述软件仓库的提供方式RPM软件包的来源FTP源的配置方法本地源配置方法在线源配置方法本地源和在线源一起使用的方法数据包缓存方法 自己配置本地yum源时需要使用createrepo来生成依赖关系库 YUM概述 YUM(Yellow dog Updater Modified) 基于RPM包构建的软件更…...

SpringBoot框架(邮件发送Mail|持久层框架JPA|Extra前后端分离跨域处理|接口管理Swagger)这一篇就够了(超详细)

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:老茶icon 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,计…...

chatGPT对话R语言

文章目录 R语言介绍R语言基本语法R语言常用函数有哪些R语言数据结构向量矩阵数组和列表数组列表 数据框因子 R如何导入数据如何在R语言中导出数据?R语言图形绘制描述性统计描述统计也可以这样来计算 统计推断配对设计t检验样本均数和总体均数t检验两(独立…...

代码随想录--字符串--替换空格题型

①这道题可以直接申请一个临时数组,然后遍历字符串,是空格则加入20%,最后再把临时数组转化为字符串。 怎么把一个数组转化为字符串? 如数组arry[], string newstr new string(arry,0,arry.size()-1); return newstr; 而且临时数…...

Spring JDBC和事务控制

目录 Spring JDBC 和 事务控制主要内容Spring 整合 JDBC 环境构建项目添加依赖坐标添加 jdbc 配置文件编写 spring 配置文件配置数据源C3P0 数据源配置DBCP 数据源配置 模板类配置Spring JDBC 测试 (入门)创建指定数据库创建数据表使用 JUnit 测试JUnit …...

【音视频第16天】详解STUN协议

一个webRTC传输协议搞得自己云里雾里的。现在主动攻克一下。先看看STUN协议。好,我们开始吧 目录 1.讲讲什么是NAT?2.NAT有啥问题?3.四种NAT类型4.STUN Server5.TURN ServerSTUN和TURN的实现:什么是STUN?为什么需要ST…...

C++算法初级11——01背包问题(动态规划2)

C算法初级11——01背包问题(动态规划2) 文章目录 C算法初级11——01背包问题(动态规划2)问题引入0-1背包问题分析0-1背包问题的形式化分析优化 问题引入 辰辰采药 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大…...

Python 库大全(下)

格式化输出 模块 reprlib 提供了一份定制的 repr(),用于简洁 地展示各种大的或者多层嵌套的容器变量: >>> import reprlib >>> reprlib.repr(set(\supercalifragilisticexpialidocious\)) "{\a\, \c\, \d\, \e\, \f\, \g\, ...…...

如何用链表实现LRU缓存淘汰算法

链表学习 一、 缓存1.1缓存介绍1.2 缓存策略 二、链表结构2.1 单链表2.2 循环链表2.3 双向链表2.4 双向循环链表2.5 链表与数组性能对比 三、如何基于链表实现LRU缓存淘汰算法 一、 缓存 1.1缓存介绍 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有…...

【01】数据结构与算法基础-数据、数据元素、数据项和数据对象 | 数据类型和抽象数据类型 | 抽象数据类型的表示和C++实现

目录) 0.数据结构的研究内容1.数据、数据元素、数据项和数据对象1.1数据1.2数据元素(Data element)和数据项1.3数据项1.4数据对象1.5数据结构(Data Structure)1.6逻辑结构的种类1.7存储结构的种类2.数据类型和抽象数据类型2.1数据类型(Data Type)2.2抽象数据类型(Abstract …...

PHP匿名类的使用场景有哪些?PHP匿名类怎么用?有什么好处?PHP匿名类如何在运行时动态生成?

以下是一些使用匿名类的场景: 2. 简单的工厂模式:当需要在运行时动态创建一些简单的对象时,可以使用匿名类替代创建不必要的类定义和文件。 function createGreeter($name) {return new class($name) {private $name;public function __cons…...

【并发基础】一篇文章带你彻底搞懂Java线程中断的底层原理——interrupt()、interrupted()、isInterrupted()

目录 〇、Java线程中断与阻塞的区别 0.1 线程中断 0.2 线程阻塞 一、线程的中断 二、中断方法 2.1 void interrupt() 2.1.1 可中断的阻塞 2.1.2 不可中断的阻塞 2.1.3 实践案例 2.2 boolean isInterrupted() 2.3 boolean interrupted() 2.4 代码案例 三、源码分析…...

【c语言】函数的数据传递原理 | 数组传入函数方法

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ…...

vue3源码(3)——computed

Vue3中的computed底层源码主要是通过使用Proxy对象来实现的。下面是对Vue3中computed底层源码的详细解读&#xff1a; 在Vue3中&#xff0c;computed的实现是通过使用createComputed函数来创建的。createComputed函数接收两个参数&#xff1a;getter和setter。 在createComput…...

数学建模第七天:数学建模算法篇之插值及MATLAB实现

目录 一、前言 1、引例 2、拟合定义 3、拟合与插值的关系 二、拟合 1、线性最小二乘法求解 ①思路 ②解法 2、MATLAB对线性最小二乘拟合的实现 ①函数说明 ②求解例题 3、MATLAB实现非线性曲线拟合 ①lsqcurvefit函数 ②代码求解 4、MATLAB实现非线性最小二乘拟…...

RUST 每日一省:生命周期作用域

生命周期 一个变量的生命周期就是它从创建到销毁的整个过程。 作用域 我们声明的每个变量都有作用域。作用域其实是变量和值存在的环境。作用域是由一对花括号表示的。例如&#xff0c;使用块表达式会创建一个作用域&#xff0c;即任何以花括号开头和结尾的表达式。此…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...