什么是yum源?如何对其进行配置?
哈喽,大家好呀!这里是码农后端。今天来聊一聊Linux下的yum源及其配置相关的内容。简单来说,yum源就相当于一个管理软件的工具,可以想象成一个很大的仓库,里面存放着各种我们所需要的软件包及其依赖。

一、Linux下软件包的管理
1、软件安装方式
1)RPM包管理
需要单独解决依赖问题。
2)YUM包管理
需要有网络及YUM仓库的支持,会自动联网下载软件,自动解决依赖
3)源码安装
安装过程较复杂,但定制性很强。
2、源码安装的配置过程
在Linux系统中,源码安装一共分为三步(三步走):
1)配置过程(配置软件的安装路径)
2)编译过程(把软件由源代码编译成可以安装的程序)
3)安装过程(把编译后的程序进行安装)
# 配置 && 编译 && 安装
./configure && make && make install 3、源码安装配置过程详解
配置过程体现了较强的定制型,而非编译安装
# 进入软件源码包
cd 软件源码包
# 配置
# ./configure [选项]
# 查看选项帮助
./configure --help
# 最常用的选项
--prefix=... Directories to put files in /usr/local 软件家目录
# 其他
--bindir=... $prefix/bin 命令的目录
--etcdir=... $prefix/etc 配置文件的目录 httpd => /etc/httpd/httpd.conf
--mandir=... $prefix/share/man man 文档路径
--locale=... $prefix/share/locale 语言编码
... 4、编译过程详解
make 在Linux操作系统中,make主要功能就是将其他语言的源代码打包成Linux可以识别安装的程序。编译过程需要一个gcc或gcc++软件(开发工具)的支持!
5、安装过程
make install 6、源码安装软件的卸载
# 第一步:进入到源码的安装包中(以axel-2.4为例)
cd axel-2.4
# 删除软件的安装包等程序
make uninstall
# 卸载编译与配置过程
make distclean
# 第二步:删除软件的目录(举例目录为 /opt/axel)
rm -rf /opt/axel 二、YUM源概述
1、yum源作用
作用:软件包管理器,类似360的软件管家。

2、yum源优点
三种软件安装方式回顾:
1)RPM安装(下载软件、单独安装、需要解决依赖关系)
2)源码安装(下载软件的源码包,解压,进入目录=>配置+编译+安装)
3)yum源:可以理解为rpm软件包管理的升级版
优点:能够解决软件包之间的依赖关系,提高运维人员的工作效率。
注:yum源底层还是基于RPM进行软件安装操作的,所以yum安装软件后,也可以通过
rpm -qa |grep 软件名称来查询软件包是否已安装。
3、yum源分类
3.1 本地yum源
yum仓库在本地(系统光盘/镜像文件) => 不需要网络的支持
3.2 网络yum源
yum仓库不在本地,在远程。
1)国内较知名的网络源(aliyun源,163源,腾讯源,知名大学开源镜像等)
阿里源:https://opsx.alibaba.com/mirror
网易源:http://mirrors.163.com/
腾讯源:https://mirrors.cloud.tencent.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/
2)国外较知名的网络源(centos源、redhat源等)
3)特定软件相关的网络源(Nginx、MySQL、Zabbix等)
4、本机yum源备份(重要)
第一步:使用cd命令切换到/etc/yum.repos.d目录
cd /etc/yum.repos.d/ 第二步:对所有的仓库文件(以.repo结尾)进行备份
tar -zcf repo.tar.gz *.repo 第三步:删除所有的以.repo结尾的仓库文件
rm -rf *.repo 
三、本地YUM源配置
1、本地YUM配置
1)方式1:使用光盘镜像作为YUM源仓库
2)方式2:下载很多软件,使用软件包作为YUM源仓库
2、使用光盘镜像作为YUM源仓库
第一步:在VMware系统中装载CentOS7.6系统的光盘镜像

第二步:把光盘挂载到某个目录下
# 回到家目录
cd ~
# 清空 mnt目录
rm -rf /mnt/*
# 以只读的方式将光驱挂载到 mnt目录上
mount -o ro /dev/sr0 /mnt
# 挂载完成后,使用 lsblk列出块设备的信息(这里查询挂载点的信息)
lsblk# 选项说明:
-o :挂载方式,ro(readonly) =>代表以只读的方式进行挂载rw(read/write)=>代表以读写的方式进行挂载 
卸载或解挂可以使用 umount /mnt
第三步:把光盘挂载添加到开机启动文件中
# 7版本中,需要先给文件增加一个可执行权限
chmod +x /etc/rc.local
# 把挂载命令追加到开机启动文件中
echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local 注:/etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行该文件
第四步:编写本地YUM仓库文件
# 进入默认目录
cd /etc/yum.repos.d/
# 创建一个以*.repo结尾的文件,名称任意
vim local.repo[local]
name=local yum
baseurl=file:///mnt
gpgcheck=0
enabled=1 注:file://本地协议路径,后面跟仓库的具体路径
配置完成后,运行以下命令让其生效:
# 清除所有缓存
yum clean all
# 重新给本地仓库建立缓存
yum makecache
# 列出所有仓库信息
yum repolist all 重点:yum仓库的标准格式:
1)[仓库标识名称],名称任意,在一个文件中可以拥有多个标识
2)name=仓库名称
3)baseurl=仓库的路径,支持多种格式,file://本地路径,ftp://,http:// 或 https://
4)gpgcheck=gpg密钥,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥连接)
5)enabled=是否启动当前仓库,值可以0,也可以是1(默认为1,代表启动仓库)
第五步:测试本地YUM仓库是否可用
yum install httpd -y 3、man 5扩展
背景:在Linux系统中,给定一个配置文件,如何查询这个文件中每一个选项的作用?
# 以前我们使用的是 man命令
man 命令 扩展:man 5 配置文件名称
man 5 yum.conf 四、网络YUM源配置
1、网络YUM源的分类
1)使用比较知名平台的YUM源(阿里云、腾讯、清华)
2)有些特定软件(如Nginx、MySQL、Zabbix等)需要根据官网文档自定义网络YUM源
2、知名平台的YUM源
阿里源:https://opsx.alibaba.com/mirror
腾讯源:https://mirrors.cloud.tencent.com/
网易源:http://mirrors.163.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/
百度搜索 => 腾讯源 mirror镜像源
举例:使用腾讯mirror镜像源
1)备份系统旧配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2)获取对应版本的CentOS-Base.repo 到/etc/yum.repos.d/目录
以CentOS7为例:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo 3)更新缓存
yum clean all
yum makecache 3、扩展:EPEL源配置
什么是EPEL源?
EPEL是对官网源的一个扩展。
CentOS-Base.repo文件 => 基础源(官方自带的YUM源)
epel.repo文件 => 扩展源,是对官方YUM源的一个补充
yum install epel-release -y eg:会跑的小火车就是在epel源中
yum install sl -y
sl 
4、特定软件的YUM源配置
如特殊的几个软件,Nginx、MySQL、Zabbix
Nginx:http://www.nginx.org
MySQL:https://www.mysql.com/
Zabbix:https://www.zabbix.com/
以安装nginx为例:
1)找到官方文档,配置YUM源,写入到以下文件中(repo文件)
# 切换到默认yum目录
cd /etc/yum.repos.d
# 新建并编辑配置文件(名称任意)
vim nginx.repo[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true 2)清理缓存:
yum clean all
yum makecache 3)安装Nginx:
yum install nginx -y 五、自建YUM源仓库
1、缓存安装软件包
什么时候需要缓存软件?
下次还需要安装相同版本的软件包
由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库
2、如何缓存软件安装包
# 打开配置文件
vim /etc/yum.conf 
3、把软件及依赖软件全部下载到某个路径
1)只下载不安装:
yum install --downloadonly --downloaddir=保存路径 软件名称 eg:下载samba软件及依赖软件
# 创建一个文件夹用于保存文件
mkdir /soft
# 下载samba及依赖软件
yum install --downloadonly --downloaddir=/soft samba 4、自定义YUM仓库
第一步:在系统中安装制作仓库的软件createrepo
yum install createrepo -y 第二步:把/soft文件夹做成一个本地的自建仓库
createrepo /soft 第三步:在/etc/yum.repos.d目录中创建一个soft.repo的仓库
cd /etc/yum.repos.d/vim soft.repo
[soft]
name=soft yum
baseurl=file:///soft
gpgcheck=0
enabled=1 第四步:清理缓存+重建缓存
yum clean all
yum makecache 好了,以上就是今天这篇文章的全部内容了。如果你想及时看到我的文章,只需做这几个动作:点星标、点在看(包括赞)、评论、分享,我就会经常出现在您的常读列表,后面更新都会提醒。感谢大家的关注和支持,祝大家生活美满,学业有成,事业蒸蒸日上!
往期精彩文章推荐(点击下方蓝字即可阅读!)
往期推荐
Linux有哪些常用的高级扩展命令?
腾讯元宝,它来了!!
2分钟带你快速了解与网络相关的硬件有哪些?
相关文章:
什么是yum源?如何对其进行配置?
哈喽,大家好呀!这里是码农后端。今天来聊一聊Linux下的yum源及其配置相关的内容。简单来说,yum源就相当于一个管理软件的工具,可以想象成一个很大的仓库,里面存放着各种我们所需要的软件包及其依赖。 一、Linux下软件包…...
Node.js全栈指南:认识MIME和HTTP
MIME,全称 “多用途互联网邮件扩展类型”。 这名称相当学术,用人话来说就是: 我们浏览一个网页的时候,之所以能看到 html 文件展示成网页,图片可以正常显示,css 样式能正常影响网页效果,js 脚…...
基于weixin小程序智慧物业系统的设计
管理员账户功能包括:系统首页,个人中心,管理员管理,用户管理,员工管理,房屋管理,缴费管理,车位管理,报修管理 工作人员账号功能包括:系统首页,维…...
成功解决TypeError: __call__() got an unexpected keyword argument ‘first_int‘
成功解决TypeError: __call__() got an unexpected keyword argument first_int 目录 解决问题 解决思路 解决方法 T1、直接调用原始函数 T2、检查装饰器实现 T3、使用不同的调用方式 解决问题 result = multiply(**arguments) File "D:\ProgramData\Anaconda3\Li…...
vue3用自定义指令实现按钮权限
1,编写permission.ts文件 在src/utils/permission.ts import type { Directive } from "vue"; export const permission:Directive{// 在绑定元素的父组件被挂载后调用mounted(el,binding){// el:指令所绑定的元素,可以用来直接操…...
Nuxt3:当前页面滚动到指定位置
在Nuxt 3中,如果你想让当前页面跳转到指定位置,可以使用scrollIntoView方法。你需要给目标位置的元素添加一个ref引用,然后通过程序调用该ref来执行滚动。 以下是一个简单的例子: <template><div><!-- 其他内容 …...
word图题表题公式按照章节编号(不用题注)
预期效果: 其中3表示第三章,4表示第3章里的第4个图。标题、公式编号也是类似的。 为了达到这种按照章节编号的效果,原本可以用插入题注里的“包含章节编号” 但实际情况是,这不仅需要一级标题的序号是用“开始->多级列表”自动…...
最小生成树模型
文章目录 题单最小生成树模型1.[最短网络(prim)](https://www.acwing.com/problem/content/1142/)2. [局域网(kruskul)](https://www.acwing.com/problem/content/1143/)3. [繁忙的都市](https://www.acwing.com/problem/content/1144/)4. [ 联络员 ](https://www.acwing.com/p…...
基于盲信号处理的声音分离-基于改进的信息最大化的ICA算法
基于信息最大化的ICA算法的主要依据是使输入端与输出端的互信息达到最大,且输出各个分量之间的相关性最小化,即输出各个分量之间互信息量最小化,其算法的系统框图如图所示。 基于信息最大化的ICA算法的主要依据是使输入端与输出端的互信息达到…...
如何在Qt Designer中管理QSplitter
问题描述 当按下按钮时,我希望弹出一个对话框,用户可以在其中选择内容并最终按下 ‘Ok’ 按钮。我想在这个对话框中放置一个 QSplitter,左侧面板将显示树状结构,右侧将显示其他内容。如何正确实现这一点? 从 Qt 的示…...
关于新零售的一些思考
本文作为2024上半年大量输入之后的核心思考之一。工作到一定阶段之后,思考的重要性越来越高,后续会把自己的个人思考记录在这个新系列《施展爱思考》。背景是上半年面临业务转型从电商到新零售,本文是相关大量输入之后的思考,对新…...
C++初学者指南-2.输入和输出---从输入流错误中恢复
C初学者指南-2.输入和输出—从输入流错误中恢复 文章目录 C初学者指南-2.输入和输出---从输入流错误中恢复怎么了?解决方案:出错后重置输入流 怎么了? 示例:连续输入 int main () {cout << "i? ";int i 0;cin…...
毫秒级响应!清科优能应用 TDengine 建设虚拟电厂运营管理平台
小T导读:在清科优能的虚拟电厂运营管理平台建设中,项目初期预计涉及约一万台设备、总数据采集量达数十万,在数据库选择上,其希望能支持至少两千台设备的并发数据处理。本文介绍了清科优能的数据库选型经验以及最终应用效果&#x…...
【Ubuntu noble】apt 无法安装软件 Unable to locate package vim
宿主机以及 docker 无法定位软件包 将 /etc/apt/sources.list.d/ubuntu.sources 修改为以下内容(主要是 Suites 字段增加了noble noble-updates) Types: deb URIs: http://archive.ubuntu.com/ubuntu/ Suites: noble noble-updates noble-backports Com…...
Instagram APIj接口——快速获取Ins帖子媒体内容下载链接
一、引言 在社交媒体蓬勃发展的今天,Instagram已成为用户分享照片、视频和精彩瞬间的首选平台。然而,对于很多用户来说,想要保存或分享Instagram上的精彩内容却常常遇到困扰。为了解决这个问题,我们精心打造了一款全新的Instagra…...
Java基础(四)——字符串、StringBuffer、StringBuilder、StringJoiner
个人简介 👀个人主页: 前端杂货铺 ⚡开源项目: rich-vue3 (基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL) 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 …...
吐血推荐!3款视频生成工具,全部国产,都免费
AI视频大模型的爆发,让创作爆款视频不再是专业人士的能力。 今天二师兄给大家推荐3款免费的视频生成工具。 01 可灵 推荐指数 : 五颗星 先看效果 可灵大模型测试 可灵大模型是快手AI团队自主研发的视频生成大模型,具备强大的视频创作能力&a…...
【Web3】Web3.js 启动!并解决Web3 is not a constructor报错
苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 本节教大家如何启动Web3.js 目录 Web3 启动! 于是很愉快的报错 创建实例! 出来了 Web3:模块…...
算法训练营第六十七天 | 卡码网110 字符串接龙、卡码网105 有向图的完全可达性、卡码网106 岛屿的周长
卡码网110 字符串接龙 这题一开始用的邻接表dfs,不幸超时 #include <iostream> #include <list> #include <string> #include <vector> using namespace std;int minLen 501;bool count(string a, string b) {int num 0;for (int i 0; …...
搭建 MySQL MHA
搭建 MySQL MHA 搭建 MySQL MHA实验拓扑图实验环境实验思路MHA架构故障模拟 实验部署数据库安装主从复制部署时间同步主服务器配置从服务器配置创建链接 MHA搭建安装依赖的环境安装 node 组件安装 manager 组件配置无密码认证在 manager 节点上配置 MHA管理 mysql 节点服务器创…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
