CentOS7 yum源修改为阿里,配置阿里epel源

article/2025/9/29 5:55:36

一、概念/区分:

yum源

什么是yum源:

yum是一个在CentOS、RedHat和Fedora操作系统中使用的Shell前端软件包管理器。yum主要管理基于rpm的软件包,Centos先将发布的软件放置到YUM服务器内,然后分析这些软件的依赖属性问题,将软件内的记录信息写下来(header)。然后再将这些信息分析后记录成软件相关性的清单列表。这些列表数据与软件所在的位置可以称为仓库(repository)。当客户端有软件安装的需求时,客户端主机会向网络上面的YUM服务器的仓库网址上下载清单,然后通过清单列表的数据与本机RPM数据库已存在的软件数据相比较,就可以安装所有需要的具有依赖属性的软件了。

yum的基本工作流程:

服务器端:

在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。

客户端:

如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

yum客户端的配置文件:

repo文件是CentOS、RedHat和Fedora操作系统中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件源。

yum 的客户端配置文件分为两部分main 和repository:
main:
定义了全局配置选项,整个yum 配置文件应该只有一个main,常位于/etc/yum.conf ,这个文件为所有仓库提供公共配置,包括yum下载的RPM包的缓存目录,日志所在位置,是否允许更新不同版本的RPM包等等。
repository:定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d目录下的各文件中,这个文件为仓库的指向提供配置。

yum 的配置方式也分两种:

直接配置/etc目录下的yum.conf文件,增加repository片段
在/etc/yum.repos.d目录下增加.repo文件

/etc/yum.conf文件详解:

[main]
cachedir=/var/cache/yum  # cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum
debuglevel=2   # debuglevel:除错级别,0──10,默认是2 貌似只记录安装和删除记录
logfile=/var/log/yum.log  # 日志路
pkgpolicy=newest  # pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。
distroverpkg=centos-release  # 指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。
tolerant=1  # tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。
exactarch=1  # exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。
retries=20 # retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。
obsoletes=1 # 这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包
gpgcheck=1 # gpgchkeck= 有1和0两个选择,分别代表是否进行gpg校验,以确定rpm 包的来源是有效和安全的,如果没有这一项,默认是检查的。
exclude=xxx  #exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
keepcache=[1 or 0]  #设置 keepcache=1,yum 在成功安装软件包之后保留缓存的头文件 (headers) 和软件包。默认值为 keepcache=0 不保存
reposdir=[包含 .repo 文件的目录的绝对路径]  # 该选项用户指定 .repo 文件的绝对路径。.repo 文件包含软件仓库的信息 (作用与 /etc/yum.conf 文件中的 [repository] 片段相同)。

repo文件详解:

我们以Centos-Base.repo仓库基础配置文件为例一个标准的centos的repo文件内容如下:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

各个选项说明如下:
[base]:代表仓库的名字,中括号一定要存在,里面的名称可以随意,但是不能有两个相同的容器名称。
name:说明一下仓库的意义。
mirrorlist:这个是仓库的镜像站点列表。一般情况下默认是使用此选项。
baseurl:这个最重要,因为后面接的就是仓库的实际地址。mirrorlist是由yum程序自行去找镜像站点,baseurl则是指定固定的一个仓库网址。一个repo文件可以定义多个软件源。
enable=1:就是让这个容器启动,如果不想启动可以使用enable=0.
gpgcheck=1:指定是否需要查阅RPM文件内的数字证书。
gpgkey:就是数字证书的公钥文件所在的位置。

在Centos-Base.repo中还定义的其它的名称的仓库,如:[updates]、[extras]、[centosplus]等等,这些仓库都为YUM服务器额外附加或者是升级是用到的软件仓库,分别指向不同的路径软件仓库。

epel源

EPEL源是什么:

EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。说白了,有些组件yum源没有,epel里面有

如何获取 EPEL 的软件包:

EPEL 包含一个叫做 ‘epel-release’ 的包,其中包含了用于软件包签名的 gpg 密钥和软件源的信息。安装这个包到您的企业版 Linux 上之后,您将可以通过使用类似于 yum 的工具来安装软件包和它们的依赖。在默认情况下,EPEL 仓库的稳定版本是开启的。除了 epel-release 源,还有一个叫做 ‘epel-testing’ 仓库 包含尚未被视作稳定的软件,请自行斟酌开启的风险。 CentOS 用户可以直接通过 yum install epel-release 安装并启用 EPEL 源。

二、部署

部署阿里yum源

1.备份本地yum源

[root@75-124 yum.repos.d]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

2.获取阿里yum源配置文件

[root@75-124 yum.repos.d]#  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.如果是最小化安装,没有wget命令

[root@75-124 yum.repos.d]#  curl http://mirrors.163.com/.help/CentOS7-Base-163.repo >/etc/yum.repos.d/CentOS-Base.repo

CentOS7
[root@75-124 yum.repos.d]#  curl http://mirrors.163.com/.help/CentOS7-Base-163.repo
CentOS6
[root@75-124 yum.repos.d]#  curl http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS5
[root@75-124 yum.repos.d]#  curl http://mirrors.163.com/.help/CentOS5-Base-163.repo

部署阿里epel(RHEL 7)源

两种方案:
一、yum安装

1.安装 epel 配置包

[root@75-124 yum.repos.d]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

2.将 repo 配置中的地址替换为阿里云镜像站地址

sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

多了两个文件:epel.repo 和epel-testing.repo

二、wget下载直接用

[root@75-124 yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

两个都要更新yum缓存

[root@75-124 yum.repos.d]# yum clean all   
[root@75-124 yum.repos.d]# yum makecache

讲解:

yum clean all:清除YUM缓存,清除所有已下载的包文件。yum 会把下载的软件包和header存储在cache中,而不会自动删除。并且如果觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all 全部清除

yum makecache:就是把服务器的包信息下载到本地电脑缓存起来,yum安装的时候,会先从本地缓存中调用,其实即使没有yum makecache,yum检测本地无包,会从yum拉取,所以可执行可不执行,不过最好还是再执行一下yum makecache命令。其实即使没有yum makecache,如果yum安装的时候会将安装包进行缓存,不过最好还是再执行一下yum makecache命令

4.(可不执行) yum源更新命令

[root@75-124 yum.repos.d]# yum update -y(升级所有包同时也升级软件和系统内核)

讲解:

其实更推荐用yum upgrade取代yum update,yum update只更新系统中已有的软件包,不会更新内核软件包(kernel-这个包),yum upgrade是更彻底的update,会分析包的废弃关系,可以跨小版本升级(比如从centos 7.1升级到centos 7.4),除了做了yum update完全相同的事之外,还会更新kernel-的包,也会卸载掉已经废弃的包。

新部署系统需要yum update/upgrade是因为yum不会给你解决依赖冲突(但是apt会)。所以yum update 是为了解决跟换yum源之后,rpm包之间的依赖关系,以免后面yum 安装某些服务报错。
因为拿到的服务器都是软件包版本比较低的操作系统,安装上层应用的时候可能会告诉你依赖不能满足,此时你需要用yum update/upgrade更新下系统的软件包,以满足安装依赖

举个例子,你的系统中已经安装了kernel-2.6.32.500,但是你要安装的某个软件包依赖于kernel-2.6.32.600,此时yum会报错退出,告诉你依赖不满足,并不会升级kernel包(只是举个例子而已,实际上几乎没有软件包直接依赖于kernel包),所以你只能yum update/upgrade一次,把系统中所有的软件包全部更新,这样满足新部署的软件包的依赖。

在debian/ubuntu的系统中,apt会对这种情况自动处理,会自动升级依赖的软件包。
换句话来说,对于新部署的服务器,也是推荐upgrade全部的软件包,已获得最新的安全补丁。即使对于已经上线的服务器,也是推荐定期打安全漏洞补丁,减少漏洞带来的侵害。

5.查看当前yum源

[root@75-124 yum.repos.d]# yum repolist


http://chatgpt.dhexx.cn/article/aXlsxOKr.shtml

相关文章

配置EPEL 源

EPEL (Extra Packages for Enterprise Linux) 是由 Fedora Special Interest Group 为企业 Linux 创建、维护和管理的一个高质量附加包集合,适用于但不仅限于 Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL), Oracle Linux (OL)。 我们可以很容易…

RHEL / CentOS 配置epel源

epel 是什么? epel的全称叫 Extra Packages for Enterprise Linux。 EPEL 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。 装上了 EPEL 之后,就相当于添加了一个第三方源。 为什么需…

Centos7配置阿里云yum源及epel源

Background 踩坑记录吧。下次可以直接复制粘贴,不用再去排查是哪个字母字符少了多了,我这都是执行成功的命令粘贴过来的。 1、基础知识简介 yum: 全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器…

Pixhawk RPi CM4 Baseboard 树莓派CM4安装Ubuntu20.04 server 配置ros mavros mavsdk

文章目录 硬件安装Ubuntu Server20.04下载rpiboot工具下载imager刷写系统配置USB配置WIFI 开机安装桌面配置wifi配置串口安装ROS安装mavros安装MAVSDK-PythonInternet设置最后 参考: https://docs.holybro.com/autopilot/pixhawk-baseboards/pixhawk-rpi-cm4-basebo…

Pixhawk系列飞控状态通知

转载自:https://blog.csdn.net/weixin_44917390/article/details/107413663 多旋翼飞行器设计与控制Pixhawk系列飞控状态通知(笔记003) 手可摘星辰不敢高声语 2020-07-17 18:51:23 572 收藏 5 分类专栏: PX4 最后发布:2020-0…

PixHawk飞控和QGroundControl地面站安装调试

QGroundControl下载https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html本博主下载及安装的为Mac OSX版本:QGroundControl.dmg. 一、PixHawk飞控配置安装及配置 switch 安全开关; buzzer 蜂鸣器,telem1数传; gpsl2C GPS ,power …

Pixhawk Support Package

一、 https://ww2.mathworks.cn/hardware-support/px4-autopilots.html 二、 https://download.csdn.net/download/jonelly/11504800 此版本的支持包与MatlabR2017a和R2017b兼容。它也工作在MatlabR2018a的外部模式功能的限制。若要使用此支持包,请遵循以下说明&…

树莓派与pixhawk串口通信

一、Pixhawk部分 1.读取数据测试 步骤: 在Firmware/src/modules中添加一个新的文件夹,命名为rw_uart在rw_uart文件夹中创建CMakeLists.txt文件,并输入以下内容: px4_add_module(MODULE modules__rw_uartMAIN rw_uartCOMPILE_F…

【四旋翼】pixhawk2.4.8-地面站配置-APM固件-四旋翼从装机到试飞

文章目录 整体流程图:相关网址汇总:入门常识:一、硬件准备二、软件准备1 已实飞测试2 MP地面站 任意版本下载:3 APM固件 任意版本下载: 三、飞控校准1 刷固件2 机架选择3 加速度计校准4 指南针校准5 遥控器校准6 飞行模…

TFmini Plus 在开源飞控 pixhawk 上的应用

TFmini Plus 在开源飞控 pixhawk 上的应用 TFmini Plus 可以直接连接 Pixhawk 的串口使用。飞行器可以使用 TFmini Plus 来实现定高或 者避障功能。本文档适用于 pixhawk ArduCopter V3.6.2 或更高版固件(注:雷达在 V3.6.2 及以上 固件使用标准输出格式即可,无需使用 PIX 模…

Windows下的pixhawk环境搭建

官网详细介绍:http://ardupilot.org/dev/docs/editing-the-code-with-eclipse.html 提示:GitHub没有写使用过程,如何而简历仓库。具体网上有教程,如果英语好可以去官网自行翻译,安装适合自己操作系统的开发环境&#…

Pixhawk参数调整

Pixhawk copter固件的默认参数是为3DR QUAD COPTER设计的。如果你想获得一个最佳的飞行表现的话。你需要对一些参数做一些调整。调整的参数主要是Extended Tuning下面的Roll和Pitch的PID,来获得稳定的姿态。 在copter的参数调整里边比较重要的参数主要是Roll、Pitch、yaw、…

飞控pixhawk硬件框架

本文转载于:https://blog.csdn.net/csshuke/article/details/78952026  1.Phxhawk连接线路 2.Phxhawk硬件芯片列表 处理器 STM32F427 VIT6 (168 Mhz/256 KB RAM/2 MB 闪存 100Pin)32位 STM32F100C8T6 (48Pin)故障保…

Pixhawk的历史

发展历程:APM-->PX4FMU/IO-->Pixhawk: 1、Arduino简介 Arduino就是主要以以AVR单片机为核心控制器的单片机应用开发板(当然也有其他核心的例如STM32版本的但是不是官方的,还有intel的伽利略),或者是学…

pixhawk 学习笔记

1.pixhawk4硬件: Main FMU Processor: STM32F765 32 Bit Arm Cortex-M7, 216MHz, 2MB memory, 512KB RAMIO Processor: STM32F100 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAMOn-board sensors: Accel/Gyro: ICM-20689Accel/Gyro: BMI055Magnetometer: IST8310Baromete…

pixhawk计算机无法识别,PIXHAWK教程 3.1.2 连接你的遥控输入和电机(Pixhawk)

连接你的遥控输入和电机(Pixhawk) 目录 连接你的遥控输入和电机(Pixhawk) 连接蜂鸣器和安全开关 连接其他外部设备 连接遥控输入 连接电机输入 安装螺旋桨 顺时针和逆时针桨的识别 连接蜂鸣器和安全开关 蜂鸣器和安全开关依附于Pixhawk。 分别连接到蜂鸣器和开关端口。 连接其他…

pixhawk连接到nvidia xavier

实物是bluerov。固件是ardusub, https://www.ardusub.com/ 上图中右下角蓝usb一端接pixhawk,另外一端接xavier。xavier上运行 $ls /dev/ttyA* 会增加设备/dev/ttyACM0 在xavier端安装好各种mavlink mavproxy 软件包。 $ xargs -a "/home/pcl/mavproxy…

Pixhawk6c编译

以前一直用pixhawk4以及4mini,版本1.11,这两款目前停产,6x也快停产,没什么货源了。只能试试6c。 一:下载 流程:按照官网的流程,先git clone 输入: git clone https://github.com/…

pixhawk使用WiFi模块

pixhawk使用WiFi 前期准备刷固件安装刷固件软件进入刷固件模式下载固件刷固件 使用接线飞控参数更改使用方法 在使用pixhawk的时候有时候在无人机上不方便搭载处理器,这个时候进行外部控制。或者QGC有线方式连接无人机不方便的时候就需要通过WiFi来连接了。 使用ESP…

pixhawk学习

原文转载至https://blog.csdn.net/u013181595/article/details/80976610 1硬件架构分析 Pixhawk是一款基于ARM芯片的32位开源飞控,由ETH的computer vision and geometry group的博士生Lorenz Meier开发。最初采用的是分体式的设计即px4(由px4fmu和px4io…