在Linux系统运维和日常使用中,网络镜像源常常会因为带宽限制、网络波动等问题导致软件包下载缓慢,甚至安装失败。设置本地镜像源可以将软件包资源存储在本地,让系统直接从本地获取安装文件,有效避免网络问题带来的影响,同时还能减少对外网带宽的占用。

准备工作
在设置本地镜像源之前,需要先准备好对应Linux发行版的镜像文件,比如Ubuntu的iso镜像、CentOS的iso镜像等。同时需要确认本地有足够的磁盘空间存放镜像文件和解压后的软件包,一般建议预留至少10G以上的空间。
通用前置步骤:挂载镜像文件
首先需要把下载好的镜像文件挂载到系统的指定目录,这里以挂载到/mnt/local_repo目录为例,操作步骤如下:
# 创建挂载目录 sudo mkdir -p /mnt/local_repo # 挂载镜像文件,假设镜像路径为/root/ubuntu-22.04.iso sudo mount -o loop /root/ubuntu-22.04.iso /mnt/local_repo # 查看挂载是否成功 df -h | grep local_repo
如果是RedHat系发行版,镜像挂载后还需要检查镜像内是否包含repodata目录,该目录是yum/dnf识别仓库的必要条件。
Debian/Ubuntu系系统设置本地镜像源
Debian和Ubuntu系统使用apt作为包管理工具,配置文件存放在/etc/apt/sources.list和/etc/apt/sources.list.d/目录下。
备份原有源配置
修改配置前先备份原有文件,避免操作失误后无法恢复:
# 备份sources.list文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
修改源配置文件
清空原有sources.list内容,添加本地镜像源配置:
# 编辑sources.list文件 sudo vim /etc/apt/sources.list
在文件中添加以下内容,注意路径要和之前挂载的镜像路径一致:
# 本地镜像源配置 deb file:///mnt/local_repo jammy main restricted universe multiverse deb file:///mnt/local_repo jammy-updates main restricted universe multiverse deb file:///mnt/local_repo jammy-security main restricted universe multiverse
其中jammy是Ubuntu 22.04的版本代号,不同版本需要替换成对应的代号,比如Ubuntu 20.04对应focal。
更新apt缓存
配置完成后更新apt缓存,让系统识别新的本地源:
sudo apt clean sudo apt update
RedHat/CentOS系系统设置本地镜像源
RedHat、CentOS、Fedora等系统使用yum或者dnf作为包管理工具,仓库配置文件存放在/etc/yum.repos.d/目录下。
备份原有仓库配置
# 创建备份目录 sudo mkdir /etc/yum.repos.d/bak # 移动原有repo文件到备份目录 sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
创建本地仓库配置文件
新建一个local.repo文件:
sudo vim /etc/yum.repos.d/local.repo
添加以下配置内容:
[local_base] name=Local Base Repository baseurl=file:///mnt/local_repo enabled=1 gpgcheck=0
如果是CentOS 8及以上版本,使用dnf作为默认包管理工具,配置逻辑和yum一致,上述配置同样适用。
更新仓库缓存
# 清除原有缓存 sudo yum clean all # 生成新的缓存 sudo yum makecache
注意事项
- 如果镜像文件更新,需要重新挂载镜像并再次更新包管理工具的缓存,否则无法获取新的软件包。
- 若需要系统开机自动挂载镜像,可以把挂载命令添加到/etc/fstab文件中,避免重启后镜像挂载失效。
- 本地镜像源一般只包含系统基础的软件包,部分第三方软件可能还是需要配置网络源才能安装。
- 设置完本地源后如果要恢复原来的网络源,只需要把备份的配置文件还原即可。
验证配置是否生效
可以通过安装一个常用软件来验证本地源是否正常工作,比如安装vim:
Debian系执行:
sudo apt install vim -y
RedHat系执行:
sudo yum install vim -y
如果软件能正常从本地源下载安装,说明本地镜像源配置成功。