替换阿里源、搭建本地yum源
- 本章学习目标
- 内容简介
- 阿里外网源核心功能
- 本地yum核心功能
- 操作演示
- 替换阿里外网源
- 备份原有yum源
- 清理冲突配置
- 下载阿里源配置文件
- 添加EPEL扩展源
- 清理缓存重建索引
- 验证源状态
- 测试安装软件
- 使用镜像搭建本地仓库
- 准备ISO镜像
- 创建挂载点目录
- 挂载iso文件
- 验证挂载结果
- 备份原有yum源
- 创建本地仓库配置文件
- 更新yun缓存
- 检查仓库状态
- 测试安装软件
- 配置开机自动挂载
本章学习目标
本章学习Linux系统软件仓库管理相关使用
-
理解更换源的必要性
-
熟练下载与配置阿里云源
-
理解本地源适用场景
-
准备镜像文件与挂载
-
配置本地源repo文件 搭建HTTP私有镜像源
内容简介
阿里外网源核心功能
-
加速软件下载
- 替换国外官方源为 阿里云国内镜像,下载速度提升 5~10 倍,解决
yum install
卡顿问题 - 支持 HTTP/HTTPS 协议,适配企业防火墙环境。
- 替换国外官方源为 阿里云国内镜像,下载速度提升 5~10 倍,解决
-
提升系统稳定性
- 阿里源 每日同步官方更新,确保软件包版本一致且无兼容性问题
- 自动解析
$releasever
(系统版本)和$basearch
(CPU 架构),避免手动配置错误。
-
扩展资源丰富性
- 通过 EPEL 源集成 6000+ 第三方软件(如
htop
、nginx
),覆盖开发/运维常用工具
- 通过 EPEL 源集成 6000+ 第三方软件(如
-
安全验证机制
- 默认启用
gpgcheck=1
,校验软件包 GPG 签名(需配置gpgkey
),防止篡改
- 默认启用
本地yum核心功能
- 离线软件部署
- 将 ISO 镜像作为本地软件仓库,无需互联网连接即可安装/更新 RPM 包(如
httpd
、nginx
) - 解决内网服务器、安全隔离环境下的依赖管理问题。
- 将 ISO 镜像作为本地软件仓库,无需互联网连接即可安装/更新 RPM 包(如
- 资源隔离与性能优化
- 独立于网络 YUM 源,避免公网延迟或镜像站不可用风险。
- 本地读取速度显著高于网络下载,适合批量部署环境。
注意事项
- ISO 完整性:损坏的镜像可能导致挂载失败或安装异常,需校验 SHA256/MD5 值
- 存储空间:确保挂载点目录(如
/mnt/centos
)有足够空间容纳解压后的镜像文件。 - 依赖覆盖:Everything ISO 包含全量软件包,而 Minimal ISO 可能缺失部分依赖,需按需选择镜像类型
- 卸载流程:卸载前需确保无进程占用挂载点(
lsof /mnt/centos
),否则umount
会失败
操作演示
- 常用国内软件源地址
- 阿里云镜像源:mirrors.aliyun.com
- 清华大学镜像源:mirrors.tuna.tsinghua.edu.cn
- 网易镜像源:mirrors.163.com
- 华为云镜像源:mirrors.huaweicloud.com
- 腾讯云镜像源:mirrors.cloud.tencent.com
替换阿里外网源
将系统软件源替换为阿里外网源
演示命令 | 功能描述 |
---|---|
cp /etc/yum.repos.d/CentOS-Base.repo ...repo.bak | 备份原配置文件(安全回退) |
rm -f /etc/yum.repos.d/*.repo | 清理旧配置(避免冲突) |
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/... | 下载阿里云源配置 |
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo | 添加 EPEL 扩展源 |
yum clean all && yum makecache | 清除缓存并重建索引 |
yum repolist | 验证源状态(URL 含 aliyun ) |
yum install -y vim | 测试软件安装功能 |
备份原有yum源
[root@localhost ~]# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 备份原配置文件,防止操作失误
清理冲突配置
[root@localhost ~]# rm -f /etc/yum.repos.d/*.repo
# 删除所有旧配置,避免源冲突
下载阿里源配置文件
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 下载阿里云官方配置,覆盖默认源
添加EPEL扩展源
[root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 补充第三方软件支持(如 Nginx、Python 工具)
清理缓存重建索引
[root@localhost ~]# yum clean all && yum makecache
# 清除历史缓存,生成新元数据加速后续操作
验证源状态
[root@localhost ~]# yum repolist
# 检查仓库列表,确认源 URL 包含aliyun
测试安装软件
[root@localhost ~]# yum install -y vim
# 验证阿里源可用性(安装常用工具)
使用镜像搭建本地仓库
开始搭建本地yum源
演示命令 | 关键选项/参数 | 功能描述 |
---|---|---|
mkdir -p /mnt/centos | -p | 创建挂载点目录(递归创建) |
mount -o loop,ro /data/iso/CentOS-...iso /mnt/centos | -o loop,ro | 挂载ISO镜像(只读模式) |
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ | 通配符 *.repo | 备份原有YUM源配置 |
tee /etc/yum.repos.d/local.repo <<EOF [配置内容] EOF | <<EOF (Here Document) | 创建本地仓库配置文件 |
yum clean all && yum makecache | clean all makecache | 清除旧缓存并生成新元数据 |
yum repolist enabled | repolist enabled | 验证本地仓库状态 |
echo "ISO路径 /mnt/centos iso9660 loop,ro 0 0" >> /etc/fstab | /etc/fstab | 配置开机自动挂载 |
准备ISO镜像
# 假设 ISO 文件已上传至 /data/iso/CentOS-7.9-x86_64-DVD-2009.iso
[root@localhost ~]# ls -lh /data/iso/
-rw-r--r--. 1 root root 9.5G Jul 16 21:10 CentOS-7.9-x86_64-DVD-2009.iso
创建挂载点目录
[root@localhost ~]# mkdir -p /mnt/centos # 创建空目录作为挂载点
挂载iso文件
[root@localhost ~]# mount -o loop,ro /data/iso/CentOS-7.9-x86_64-DVD-2009.iso /mnt/centos
# -o loop: 将文件视为块设备;ro: 只读模式防止误修改
验证挂载结果
[root@localhost ~]# df -hT | grep centos
/dev/loop0 iso9660 9.5G 9.5G 0 100% /mnt/centos # 挂载成功
[root@localhost ~]# ls /mnt/centos
CentOS_BuildTag EFI EULA GPL images isolinux Packages repodata RPM-GPG-KEY-CentOS-7 # 关键目录存在
备份原有yum源
[root@localhost ~]# mkdir /etc/yum.repos.d/backup
[root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ # 避免冲突
创建本地仓库配置文件
[root@localhost ~]# tee /etc/yum.repos.d/local.repo <<EOF
[centos-local]
name=CentOS Local ISO Repository
baseurl=file:///mnt/centos
enabled=1
gpgcheck=0 # 禁用签名检查(镜像内无GPG签名)
EOF
更新yun缓存
[root@localhost ~]# yum clean all # 清除旧缓存
[root@localhost ~]# yum makecache # 生成新元数据
检查仓库状态
[root@localhost ~]# yum repolist enabled
repo id repo name status
centos-local CentOS Local ISO Repository 10,072 packages # 成功识别软件包
测试安装软件
[root@localhost ~]# yum install -y httpd # 从本地源安装Apache
Dependencies Resolved
→ Package httpd.x86_64 0:2.4.6-93.el7 will be installed # 依赖自动解决
配置开机自动挂载
[root@localhost ~]# echo "/data/iso/CentOS-7.9-x86_64-DVD-2009.iso /mnt/centos iso9660 loop,ro 0 0" >> /etc/fstab
[root@localhost ~]# mount -a # 立即生效