# CentOS 修改yum

# 什么是yum

YUM(全称Yellowdog Updater,Modified)是一个在类Unix系统中,特别是Red Hat系列的发行版(如Centos、RHEL、Fedora)中,常用的包管理工具。它用来自动的安装、更新、删除和管理软件包,可以简化系统管理员的工作。

# yum的工作原理
  1. 依赖管理yum会自动处理软件包的依赖关系,确保所需要的库文件和包都能一起安装。
  2. 软件包安装yum使用命令来管理软件包,比如yum install来安装软件包,yum update来更新软件包,yum remove来删除软件包。
  3. 远程仓库yum通过配置软件源yum Repository来获取软件包,这些软件源可以是本地的,也可以是远程的,比如CentOS官方的软件源,或者第三方的软件源。

# 什么是yum

YUM源(Yum Repository)是一个存放软件包(RPM包)和相关元数据(如安装的依赖信息、包的描述信息等)的存储位置。它可以是一个本地的目录、FTP服务器、HTTP服务器等或者是一个远程仓库。通过配置不同的软件源,yum可以方便的从这些仓库中下载所需的软件包。

# yum源的特点:
  1. 仓库位置:源地址通常是一个URL,指向包含RPM包的服务器。
  2. 元数据:仓库中会存放关于软件包的元数据,yum会通过这些元数据来了解有哪些软件包、版本、依赖等信息。
  3. 配置文件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源的原因主要有:

  1. 网络访问速度慢:CentOS官方的yum源服务器在国外,访问速度较慢,而国内的一些yum源服务器在国内,访问速度较快。
  2. 提高下载稳定性:国内的一些yum源服务器通常有更好的网络带宽和更稳定的访问速度,可以保证软件包的下载速度和稳定性。
  3. 规避网络封锁:有些网络环境可能会封锁国外的一些网站,导致无法访问CentOS官方的yum源,而国内的一些yum源服务器则通常不会被封锁。
  4. 国内YUM源维护与更新:国内的一些yum源服务器通常会有更好的维护和更新,可以提供更及时和稳定的软件包更新。

# yum源的选择

国内的一些大厂和大学都提供了稳定的yum源,比如阿里云、网易、清华大学等。这些源通常会有更好的网络带宽和更稳定的访问速度,可以保证软件包的下载速度和稳定性。它们会同步CentOS官方的yum源,并添加一些常用的软件包,方便用户使用。

# 常见的国内yum源:
  1. 阿里云https://developer.aliyun.com/mirror/centos (opens new window)
  2. 网易http://mirrors.163.com/.help/centos.html (opens new window)
  3. 清华大学https://mirrors.tuna.tsinghua.edu.cn/help/centos/ (opens new window)
  4. 中科大https://mirrors.ustc.edu.cn/help/centos.html (opens new window)
  5. 华为云https://mirrors.huaweicloud.com/centos/ (opens new window)

# 如何修改yum

我们以阿里云的yum源为例,介绍如何修改yum源。

# 步骤:
  1. 备份源有的yum源配置文件:
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  1. 下载阿里云的yum源配置文件:
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  1. 清理缓存:
sudo yum clean all
  1. 生成新的缓存:
sudo yum makecache
  1. 查看源是否修改成功:
yum repolist

如果看到阿里云的yum源已经添加到列表中,说明修改成功。