# CentOS 修改yum
源
# 什么是yum
YUM(全称Yellowdog Updater,Modified)是一个在类Unix系统中,特别是Red Hat系列的发行版(如Centos、RHEL、Fedora)中,常用的包管理工具。它用来自动的安装、更新、删除和管理软件包,可以简化系统管理员的工作。
# yum
的工作原理
- 依赖管理:
yum
会自动处理软件包的依赖关系,确保所需要的库文件和包都能一起安装。 - 软件包安装:
yum
使用命令来管理软件包,比如yum install
来安装软件包,yum update
来更新软件包,yum remove
来删除软件包。 - 远程仓库:
yum
通过配置软件源yum Repository
来获取软件包,这些软件源可以是本地的,也可以是远程的,比如CentOS官方的软件源,或者第三方的软件源。
# 什么是yum
源
YUM源(Yum Repository)是一个存放软件包(RPM包)和相关元数据(如安装的依赖信息、包的描述信息等)的存储位置。它可以是一个本地的目录、FTP服务器、HTTP服务器等或者是一个远程仓库。通过配置不同的软件源,yum
可以方便的从这些仓库中下载所需的软件包。
# yum
源的特点:
- 仓库位置:源地址通常是一个URL,指向包含
RPM
包的服务器。 - 元数据:仓库中会存放关于软件包的元数据,
yum
会通过这些元数据来了解有哪些软件包、版本、依赖等信息。 - 配置文件:
yum
源通常保存在/etc/yum.repos.d/
目录下面的.repo
文件中。
例如,一个典型的yum
源配置文件如下:
[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
这段表示yum
会从http://mirror.centos.org/centos/$releasever/os/$basearch/
这个地址下载软件包,并且会验证软件包的签名。其中$releasever
和$basearch
是变量,会根据当前的操作系统版本和架构来替换。
通过yum
源,用户可以轻松的安装和管理软件,而无需自己手动下载和管理软件包。
# 为什么要修改yum
源
替换国内yum
源的原因主要有:
- 网络访问速度慢:CentOS官方的yum源服务器在国外,访问速度较慢,而国内的一些yum源服务器在国内,访问速度较快。
- 提高下载稳定性:国内的一些yum源服务器通常有更好的网络带宽和更稳定的访问速度,可以保证软件包的下载速度和稳定性。
- 规避网络封锁:有些网络环境可能会封锁国外的一些网站,导致无法访问CentOS官方的yum源,而国内的一些yum源服务器则通常不会被封锁。
- 国内YUM源维护与更新:国内的一些yum源服务器通常会有更好的维护和更新,可以提供更及时和稳定的软件包更新。
# yum
源的选择
国内的一些大厂和大学都提供了稳定的yum
源,比如阿里云、网易、清华大学等。这些源通常会有更好的网络带宽和更稳定的访问速度,可以保证软件包的下载速度和稳定性。它们会同步CentOS官方的yum源,并添加一些常用的软件包,方便用户使用。
# 常见的国内yum
源:
- 阿里云:https://developer.aliyun.com/mirror/centos (opens new window)
- 网易:http://mirrors.163.com/.help/centos.html (opens new window)
- 清华大学:https://mirrors.tuna.tsinghua.edu.cn/help/centos/ (opens new window)
- 中科大:https://mirrors.ustc.edu.cn/help/centos.html (opens new window)
- 华为云:https://mirrors.huaweicloud.com/centos/ (opens new window)
# 如何修改yum
源
我们以阿里云的yum
源为例,介绍如何修改yum
源。
# 步骤:
- 备份源有的
yum
源配置文件:
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 下载阿里云的
yum
源配置文件:
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
- 清理缓存:
sudo yum clean all
- 生成新的缓存:
sudo yum makecache
- 查看源是否修改成功:
yum repolist
如果看到阿里云的yum
源已经添加到列表中,说明修改成功。